<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>http://blog.jupiterstation.net</id>
    <title>Dispatches from JupiterStation</title>
    <link href="http://blog.jupiterstation.net" />
    <updated>2026-08-16T15:19:50.000Z</updated>
    <category term="GeekFun" />
    <category term="SummerSolstice" />
    <category term="NeverStopLearning" />
    <category term="Neal" />
    <category term="Rants" />
    <category term="Hexo" />
    <category term="Matomo" />
    <category term="Security" />
    <category term="BookReport" />
    <category term="Cercedilla Field Notes" />
    <category term="RetroGaming" />
    <category term="Data" />
    <category term="Monitoring" />
    <category term="Grafana" />
    <category term="SillySeason" />
    <category term="TechToys" />
    <category term="Notes" />
    <category term="AI" />
    <category term="Pebble" />
    <category term="RaspberryPi" />
    <category term="Remarkable" />
    <category term="Docker" />
    <category term="Recipes" />
    <category term="SummerMomentOfZen" />
    <category term="Update" />
    <category term="Haiku" />
    <category term="HappyBirthday" />
    <entry>
        <id>http://blog.jupiterstation.net/2026/08/16/Notes-Picante-Surf-Playlists/</id>
        <title>Notes: Picante Surf Playlists</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/08/16/Notes-Picante-Surf-Playlists/"/>
        <content type="html">&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante01.jpg&#34; class=&#34;&#34; title=&#34;All the years i have been there I cant believe I do not have a better picture&#34;&gt;
&lt;p&gt;Every August since 1986 Picante Surf has been holding a amateur surf competition in &lt;a href=&#34;https://en.wikipedia.org/wiki/Tapia_de_Casariego&#34;&gt;Tapia de Casariego&lt;/a&gt; and when possible I have been there making a playlist of the great music that they are blasting.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;2017&#34;&gt;&lt;a href=&#34;#2017&#34; class=&#34;headerlink&#34; title=&#34;2017&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/5ZH3wVem936xWvWDpTsgCT?si=334a3fef868f4ad5&#34;&gt;2017&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/5ZH3wVem936xWvWDpTsgCT?si=334a3fef868f4ad5&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2017.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2018&#34;&gt;&lt;a href=&#34;#2018&#34; class=&#34;headerlink&#34; title=&#34;2018&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/7p3OLURV7o1XAsMu4OXIDU?si=c05fea611f724aa7&#34;&gt;2018&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/7p3OLURV7o1XAsMu4OXIDU?si=c05fea611f724aa7&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2018.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2019&#34;&gt;&lt;a href=&#34;#2019&#34; class=&#34;headerlink&#34; title=&#34;2019&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/03DHwX62RTNXCywpu4bGWi?si=d21e962661be4e9f&#34;&gt;2019&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/03DHwX62RTNXCywpu4bGWi?si=d21e962661be4e9f&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2019.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2022&#34;&gt;&lt;a href=&#34;#2022&#34; class=&#34;headerlink&#34; title=&#34;2022&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/5ZH3wVem936xWvWDpTsgCT?si=8fd56b13ce7243f3&#34;&gt;2022&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/5ZH3wVem936xWvWDpTsgCT?si=8fd56b13ce7243f3&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2022.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2023&#34;&gt;&lt;a href=&#34;#2023&#34; class=&#34;headerlink&#34; title=&#34;2023&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/1Uc9sZDjrFiHDF5lFnUCSX?si=550d07a1f9e8480f&#34;&gt;2023&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/1Uc9sZDjrFiHDF5lFnUCSX?si=550d07a1f9e8480f&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2023.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2024&#34;&gt;&lt;a href=&#34;#2024&#34; class=&#34;headerlink&#34; title=&#34;2024&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/792SVeQa02IiaoNmlVrhGc?si=846d45008963484b&#34;&gt;2024&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/792SVeQa02IiaoNmlVrhGc?si=846d45008963484b&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2024.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;2026&#34;&gt;&lt;a href=&#34;#2026&#34; class=&#34;headerlink&#34; title=&#34;2026&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://open.spotify.com/playlist/4DIlkYwOzWUgYByBytr4lr?si=63876b7eb8894f85&#34;&gt;2026&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://open.spotify.com/playlist/4DIlkYwOzWUgYByBytr4lr?si=63876b7eb8894f85&#34;&gt;&lt;img src=&#34;/2026/08/16/Notes-Picante-Surf-Playlists/notes_picante_2026.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;bob&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Notes" />
        <updated>2026-08-16T15:19:50.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/08/13/Summer-Moment-of-Zen-2026/</id>
        <title>Summer Moment of Zen 2026</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/08/13/Summer-Moment-of-Zen-2026/"/>
        <content type="html">&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_01.jpg&#34; class=&#34;&#34; width=&#34;900&#34; title=&#34;Totality&#34;&gt;
&lt;p&gt;This summer’s moment of Zen was a bit different: instead of watching a cycle of tides, we went in search of cloudless skys to watch a total eclipse and that lead us to a “castro” (an Iron Age fortified hilltop settlement).&lt;/p&gt;
&lt;p&gt;Disclaimer:  there are no amazing images or videos of the eclipse as I was busy being in the moment for the 1 minute 29 seconds of totality and did not want to be fighting with technology.  This was a good idea because the one picture I took is above and it in no way captures how crazy amazing and mind blowing totality is.&lt;/p&gt;
&lt;p&gt;read on for more!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h3 id=&#34;August-12-2026-Eclipse&#34;&gt;&lt;a href=&#34;#August-12-2026-Eclipse&#34; class=&#34;headerlink&#34; title=&#34;August 12, 2026 Eclipse&#34;&gt;&lt;/a&gt;August 12, 2026 Eclipse&lt;/h3&gt;&lt;p&gt;I have known about the 2026 summer eclipse for a few years now, and have been excited about it from the beginning as totality crossed over the town my wife was born in and where we happen to be almost every August. The only problem with the northern Spanish coast is that sun is not a guaranteed luxury.  &lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_02.jpg&#34; class=&#34;&#34; title=&#34;Path&#34;&gt;

&lt;p&gt;We arrived here on Monday before the eclipse (scheduled for Wednesday), and both Monday and Tuesday were cloudy in the morning, but sunny in the afternoon.  On Tuesday afternoon I scouted out the primary watching location which happened to be &lt;a href=&#34;/2025/08/09/Summer-Moment-of-Zen-2025/&#34;&gt;last year’s moment of Zen&lt;/a&gt; to make sure everything lined up, which it did.&lt;/p&gt;
&lt;p&gt;The only problem is that when we woke up on Wednesday morning the clouds were much thicker than the previous two days and did not look like they would burn off, and all of the weather prediction sites concurred that it would be cloudy all day.  Oh no.  Mad dash to find a plan B.  Claude helped out a lot finding a &lt;a href=&#34;https://www.treseclipses.es/en/eclipses/2026-total/viewpoints/galicia&#34;&gt;very cool site&lt;/a&gt; with all sorts of recommended sites that had good visibility provided there were no clouds.  But one site that was not listed that was inland and by my calculations most likely out of the cloud belt was &lt;a href=&#34;https://es.wikipedia.org/wiki/Castro_de_Viladonga&#34;&gt;Castro de Viladonga&lt;/a&gt;. &lt;/p&gt;
&lt;h3 id=&#34;Tangent-about-Castro-Villadonga&#34;&gt;&lt;a href=&#34;#Tangent-about-Castro-Villadonga&#34; class=&#34;headerlink&#34; title=&#34;Tangent about Castro Villadonga&#34;&gt;&lt;/a&gt;Tangent about Castro Villadonga&lt;/h3&gt;&lt;p&gt;I have pretty much spent some part of every summer in Ribadeo since 1997 and from the first visit there was talk of a visit to an amazing castro between Lugo and Ribadeo called Castro Viladonga.  The problem is that Ribadeo is very sticky in the sense once you are here it is very hard to leave.  Why would you?  It is paradise and there are always things to do and the idea of an hour car ride to see some old ruins just always got pushed down on the to do list.  For over 27 years the visit to Castro de Viladonga got displaced becoming a joke of possible plans. Yea right.  Until two years ago when we were forced to go to Lugo to pass the ITV on my mother in law’s car and I put my foot down, and said, ok lets make lemonade of it and on the way back we will &lt;strong&gt;finally&lt;/strong&gt; visit Castro de Viladonga!&lt;/p&gt;
&lt;p&gt;Oh sweet baby jesus.  The Castro de Viladonga is soooo cool and did not disappoint:&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_03.jpg&#34; class=&#34;&#34; title=&#34;Castro Viladonga&#34;&gt;

&lt;p&gt;So a little history about this spot:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Castro de Viladonga is one of Galicia’s best-preserved castros — the fortified hilltop settlements that are all over the north west corner of the Iberian Peninsula &lt;/li&gt;
&lt;li&gt;Formal archaeological work at Viladonga began in 1971, and the site has had an on-site monographic museum since 1983, displaying pottery, tools, jewelry, coins, and a scale model of the settlement and archeological digging continues to this day&lt;/li&gt;
&lt;li&gt;This work has established that this settlement has been in use since the 6th century BC, but most of the structures that remain are from 2nd - 5th centuries AD and were built during the Roman “occupation” and this is seen in the fusion between traditional round dwellings standing alongside rectangular buildings built in Roman style&lt;/li&gt;
&lt;li&gt;Castro culture was from around 800 BC - 100 AD and extended from Northern Portual, Galicia and Asturias&lt;/li&gt;
&lt;li&gt;Layout: circular or oval stone houses inside concentric earthen ramparts and ditches, usually on a hill or promontory&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;The-actual-eclipse&#34;&gt;&lt;a href=&#34;#The-actual-eclipse&#34; class=&#34;headerlink&#34; title=&#34;The actual eclipse&#34;&gt;&lt;/a&gt;The actual eclipse&lt;/h3&gt;&lt;p&gt;As I was in full panic mode due to the cloud cover I let the family know that we would be departing for Castro de Viladonga at 16:00 well in advance and repeated it multiple times as this normally is a time for resting after a large afternoon meal (ie siesta) and only through explicit and multiple reminders was I actually able to get us on the road by 16:00.&lt;/p&gt;
&lt;p&gt;Phew.&lt;/p&gt;
&lt;p&gt;Of course when we arrived, we were not the only ones to have thought of this location but we were able to find parking and I secured a spot on the actual circular wall, while the rest of the family looked for other possible viewing locations. I then tried to calculate if from said point I would actually see anything or not:&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_04.jpg&#34; class=&#34;&#34; title=&#34;Trying to figure out where the actual event will occur&#34;&gt;

&lt;p&gt;My rough calculations indicated it was a good spot, and quite historically cool, but the family found a better spot that was in the shade of a tree and that is where we ended up ready for the event:&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_05.jpg&#34; class=&#34;&#34; title=&#34;Nice shady spot&#34;&gt;

&lt;p&gt;I knew that in order to have a secure “perfect” spot implied lots of down time waiting for the actual event, so I brought lots of cold beverages, snacks and entertainment in the form of a pinhole projector to also safely see the eclipse (disclaimer: my mother-in-law directed the creation of the projector):&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_06.jpg&#34; class=&#34;&#34; title=&#34;thanks mar!&#34;&gt;

&lt;p&gt;As the event approached more and more people arrived and here is the situation before I abandoned the hill side spot before joining the rest of the family in the shade:&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_07.jpg&#34; class=&#34;&#34; title=&#34;Filling up&#34;&gt;

&lt;p&gt;And then it got darker, and darker and suddenly all at once the sun turned off, the &lt;a href=&#34;https://www.iso.org/standard/59289.html&#34;&gt;ISO 12312-2:2015&lt;/a&gt; glasses came off, and OH MY what a treat.  I understand how people become totality junkies traveling the world in search of another fix because that was one of the most intense minute and a half of my life.  In addition to the arora, the coronal flare, there was a sunset in all directions and everyone one was just going crazy.  Amazing. The difference between totality and partial is binary.&lt;/p&gt;
&lt;img src=&#34;/2026/08/13/Summer-Moment-of-Zen-2026/smz2026_01.gif&#34; class=&#34;&#34; title=&#34;Oh my&#34;&gt;

&lt;h3 id=&#34;Reflections-post-eclipse&#34;&gt;&lt;a href=&#34;#Reflections-post-eclipse&#34; class=&#34;headerlink&#34; title=&#34;Reflections post eclipse&#34;&gt;&lt;/a&gt;Reflections post eclipse&lt;/h3&gt;&lt;p&gt;So now having seen totality I have to say there is a before and after.  I felt I lived through a science fiction movie seeing the sun suddenly turn into a erie aurora with a fiery mass coronal ejection on the bottom right and this has gotten me thinking about how eclipses have affected human history.  I mean, I was there waiting and ready with my ISO 12312-2:2015 glasses, but what about when this just happened out of the blue? And since when have humans been calculating and waiting for eclipses? So many questions that I turned to Claude for help:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;How many eclipses have there been in Castro de Viladonga since it has been inhabited (6th century BC)?&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;going the statistical route: Any single point on Earth experiences a total solar eclipse roughly once every 375 years on average (this varies a lot — some spots go 1,000+ years without one, others get “lucky” clusters). Over ~2,600 years of Viladonga’s occupation, that statistical average would suggest somewhere in the range of 6-8 total eclipses&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Since when have humans been able to figure out and calculate an eclipse was coming?&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Babylonian astronomers discovered the &lt;a href=&#34;https://en.wikipedia.org/wiki/Saros_(astronomy)&#34;&gt;saros cycle&lt;/a&gt; around the 7th or 8th century BC. By around 600 BC in Mesopotamia, Assyrian and Babylonian priest-mathematicians had scoured through the dates of past eclipses recorded on clay tablets, hoping to develop strategies for inferring when the next eclipse might happen.  But they were not able to know where it would occur, or if it would be totality.&lt;/li&gt;
&lt;li&gt;The first precise prediction was done by Edmond Halley when he determined the exact 1715 total solar eclipse’s path&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How many times has a total eclipse just totally changed history?&lt;/strong&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;The Eclipse of Thales — May 28, 585 BC&lt;/strong&gt;&lt;br&gt; During the Battle of Halysthe sky suddenly went dark mid-fight. Both sides took it as a sign the gods wanted the war over, put down their weapons, and negotiated a truce — ending a five-year war on the spot. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Nineveh Eclipse — 763 BC&lt;/strong&gt;&lt;br&gt; A cuneiform tablet from ancient Nineveh records “day turned to night,” preserved for over 2,700 years — the oldest reliably dated astronomical event in history, which modern historians now use as a fixed anchor point to date Assyrian kings, battles, and biblical events in the 8th century BC. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Einstein’s Eclipse — May 29, 1919&lt;/strong&gt;&lt;br&gt; Scientists observing the total eclipse off the coast of West Africa measured the positions of stars near the sun and confirmed Einstein’s prediction that the sun’s gravity bends light — proof of general relativity. When results were announced at the Royal Society that November, it made front pages worldwide and Einstein became a household name overnight. Arguably the single biggest “science-changing” eclipse on record.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2026-08-13T14:34:28.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/07/16/Book-Report-Godspeed/</id>
        <title>Book Report: Godspeed</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/07/16/Book-Report-Godspeed/"/>
        <content type="html">&lt;img src=&#34;/2026/07/16/Book-Report-Godspeed/br_Godspeed.jpg&#34; class=&#34;&#34; title=&#34;Godspeed&#34;&gt;
&lt;p&gt;Another book that we read in my work book club, and as I have read so many C.J. Box books, I was right at home in Wyoming.  At first I did not like it too much, then I resisted finishing because it was making me nervous, but in the end I finished it just in time for our final discussion and found it a good read.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Godspeed&lt;br&gt;&lt;strong&gt;Author:&lt;/strong&gt; Nickolas Butler&lt;br&gt;&lt;strong&gt;Publication date:&lt;/strong&gt; July 2021&lt;br&gt;&lt;strong&gt;Pages:&lt;/strong&gt;  352&lt;br&gt;&lt;strong&gt;Format:&lt;/strong&gt; &lt;a href=&#34;https://www.kobo.com/&#34;&gt;Kobo&lt;/a&gt; ebook&lt;br&gt;&lt;strong&gt;Price:&lt;/strong&gt; 6.54€&lt;br&gt;&lt;strong&gt;Started:&lt;/strong&gt;  08&amp;#x2F;06&amp;#x2F;2026&lt;br&gt;&lt;strong&gt;Finished:&lt;/strong&gt; 18&amp;#x2F;07&amp;#x2F;2026&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My rough notes (careful contains spoilers):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The book takes more twists and turns than a freight train out of control careening down a mountain. And that is what we know is going to happen: a train wreck. But it keeps you on your toes because whose train is wrecking keeps switching. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The more I read the more I definitely realize it is a commentary on American dream gone awry on greed and capitalism. Everybody’s saddled with college debt and nobody is enjoying life or even understands life other than just to make more money.  A reoccurring theme is no one lives in the moment, rather are working for a future idea that they might not even live to enjoy.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  ds&lt;/p&gt;
</content>
        <category term="BookReport" />
        <updated>2026-07-16T17:28:35.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/06/30/Book-Report-The-Odyssey/</id>
        <title>Book Report: The Odyssey</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/06/30/Book-Report-The-Odyssey/"/>
        <content type="html">&lt;img src=&#34;/2026/06/30/Book-Report-The-Odyssey/br_Odyssey.jpg&#34; class=&#34;&#34; title=&#34;The Odyssey&#34;&gt;

&lt;p&gt;In preparation for Christopher Nolan’s new film that comes out July 17th 2026 I just finished reading The Odyssey!&lt;br&gt;Read on for my impressions of the book, and once I see the movie (hopefully in IMAX on July 17th) impressions of it!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;Last year I tried to read the Iliad, but the version I got from Gutenberg was in poem format and just was not feasible for me to understand or read. A couple months ago when I saw that Christoper was coming out with The Odyssey I decided I wanted to read it first and was surprised to find that the version I had downloaded was “prose” format that was not in infernal poem format, but rather normal book format and it was readable (donning flame retardant suit in protection of all greek nerds who are lining up their burning javelins to hurl at me).  The story was all so vaguely familiar as I probably read this in 7th grade and our culture is seeped in this hero story, but I really enjoyed it and I am looking forward to Christopher’s epic film (note: Christopher is truly a film maker and not some green screen computer generated affects movie maker so I really think it will be worth seeing in IMAX format). So I will update here after seeing the movie, and in the meantime will go and find a “prose” version of the Iliad to read as well!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; The Odyssey&lt;br&gt;&lt;strong&gt;Author:&lt;/strong&gt; Homer&lt;br&gt;&lt;strong&gt;Publication date:&lt;/strong&gt; Good question. The oral version is estimated at around the 8th century BCE.  The “prose” version I read was by Samuel Butler and first published in 1897.&lt;br&gt;&lt;strong&gt;Pages:&lt;/strong&gt;  420&lt;br&gt;&lt;strong&gt;Format:&lt;/strong&gt; ebook&lt;br&gt;&lt;strong&gt;Price:&lt;/strong&gt; free (&lt;a href=&#34;https://www.gutenberg.org/ebooks/1727&#34;&gt;Project Gutenberg&lt;/a&gt;)&lt;br&gt;&lt;strong&gt;Started:&lt;/strong&gt;  09&amp;#x2F;05&amp;#x2F;2026&lt;br&gt;&lt;strong&gt;Finished:&lt;/strong&gt; 29&amp;#x2F;06&amp;#x2F;2026&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My rough notes (careful could contain spoilers):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ulysses is detained on a forested  island in the middle of the sea by Calypso (daughter of Atlas) who wants to marry him&lt;/li&gt;
&lt;li&gt;Minerva wants to get him home so she goes to Ithaca (his home) to talk with his son Telemachus to give him courage to kick out the suitors who are feasting and leaching off the family&lt;/li&gt;
&lt;li&gt;Penelope his wife daughter of Icarius&lt;/li&gt;
&lt;li&gt;Eumaeus the swinehearder&lt;/li&gt;
&lt;li&gt;Philioetius the stockman&lt;/li&gt;
&lt;li&gt;Argos his dog&lt;/li&gt;
&lt;li&gt;Euryclea his nurse who recognizes his scar from boar on his leg&lt;/li&gt;
&lt;li&gt;King Echetus who kills everyone that comes near him&lt;/li&gt;
&lt;li&gt;quotes:&lt;ul&gt;
&lt;li&gt;Servants never do their work when their master’s hand is no longer over them, for Jove takes half the goodness out of a man when he makes a slave of him.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update after seeing the Chris Nolan movie:&lt;/strong&gt;&lt;br&gt;The first IMAX showing of The Odyssey by Chris Nolan in Madrid was at 00:01 Friday the 17&amp;#x2F;07&amp;#x2F;2026, but being a three hour movie and about 30 minutes from my house I opted for the next IMAX showing in VOSE which was at 14:40.  I had thought to be in the cabin and had planned a route down the mountain from there (against traffic), but due to other circumstances I was in Madrid which meant I had to budget in some considerations: (1) friday afternoon traffic (2) “operation salida” traffic (that is people going on summer vacations).  Google Maps gave me an estimate of 30 minutes to an hour, so I left home at 13:30 and ignored Google Maps a few times because it was trying to take me on roads I was unfamiliar with, and once I got on the A6 highway I understood why:&lt;/p&gt;
&lt;img src=&#34;/2026/06/30/Book-Report-The-Odyssey/br_Odyssey_01.jpg&#34; class=&#34;&#34; title=&#34;Oh no&#34;&gt;
&lt;p&gt;It was one of those situations that Google Maps just kept saying I was 30 minutes out, even as time just kept passing.  I was quite stressed so I went to put a Bob Marley album to calm me but, found Rage Against the Machine first and that helped quite a bit.  One of those amazing albums that every single song is amazing.&lt;/p&gt;
&lt;p&gt;In the end I arrived at the theater at 14:35 and was happy to find parking easy and quickly got into the theater in time for the start:&lt;/p&gt;
&lt;img src=&#34;/2026/06/30/Book-Report-The-Odyssey/br_Odyssey_02.jpg&#34; class=&#34;&#34; title=&#34;Made it!&#34;&gt;

&lt;p&gt;Before I talk about my impressions about the movie, let me give you my impressions about IMAX:&lt;br&gt;OMG.  What an experience.  The screen is huge.  The seats are huge (each has their individual arm rests so no fighting for elbow resting). The sound is huge (when they were dragging the Trojan Horse you could feel in you bones and the whole room shaking).  The matinee viewing I saw cost me 14€ (17€ regular price) which was well worth it.  &lt;/p&gt;
&lt;p&gt;And here is my first impression of the movie that I transcribed on my way home via a WhatsApp message to myself:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Just got out of watching The Odyssey by Chris Nolan first impressions. I just love the interpretation that Chris did on this. I’m not sure if he got it from the most recent translation that I heard mentioned yesterday or not, but a very interesting take on it. A lot of focus on the the Zeus law (or something like that) where always welcome a beggar because you don’t know if that beggar is actually a god. And then playing into that that Matt Damon’s character who thinks that he was cursed and it took him so long to get back because he had broken that rule by tricking the Trojans with the horse. I also loved the take on how Calypso kept him there on the island for 7 years which was something that just did not make sense when I read the book. Have him been taking Lotus flowers the whole time and it was cloudy in his mind and and then when he finally was able to wake up and remember everything Also like the the take on why Penelope was waiting and and how they did that because that was something super hard for me to to reconcile when I read the book was like I mean why would Penelope just keep waiting with all the suitors eating all her livestock. So all in all I’m just like wow, I think it’s just an amazing amazing movie.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I almost snuck back into watch it again but had other commitments so had to get home.  Maybe I can drag my wife to see it.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="BookReport" />
        <updated>2026-06-30T16:05:34.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/06/28/2026-Summer-Solstice-Project/</id>
        <title>2026 Summer Solstice Project</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/06/28/2026-Summer-Solstice-Project/"/>
        <content type="html">&lt;p&gt;This summer’s solstice project was a green house for my wife.&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_01.jpg&#34; class=&#34;&#34; title=&#34;OMG I can&#34; alt=&#34;t believe this came together&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;First-explanation-of-what-happened-to-2025-Solstice-Project&#34;&gt;&lt;a href=&#34;#First-explanation-of-what-happened-to-2025-Solstice-Project&#34; class=&#34;headerlink&#34; title=&#34;First explanation of what happened to 2025 Solstice Project&#34;&gt;&lt;/a&gt;First explanation of what happened to 2025 Solstice Project&lt;/h2&gt;&lt;p&gt;As my dedicated readers will have certainly noticed, there was no Summer Solstice post last year.  This was because I was obliged to take child 2 on a trip to California as she had missed out on all sorts of trips to USA and other destinations due to school obligations.  We agreed that if she was able to pass all her courses of her sophomore year at the university we would make a trip just her and I to Cali, and the little machine passed everything so off we went and had a wonderful trip, but that ate up my Solstice vacation days…&lt;/p&gt;
&lt;h2 id=&#34;Context&#34;&gt;&lt;a href=&#34;#Context&#34; class=&#34;headerlink&#34; title=&#34;Context&#34;&gt;&lt;/a&gt;Context&lt;/h2&gt;&lt;p&gt;My wife has found solace, harmony, and relaxation in gardening, especially starting plants from a cutting of a full grown plant that she likes.  So for her birthday present this year she manifested that she wanted a green house for the cabin in the sierras.&lt;/p&gt;
&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;h3 id=&#34;The-Search&#34;&gt;&lt;a href=&#34;#The-Search&#34; class=&#34;headerlink&#34; title=&#34;The Search&#34;&gt;&lt;/a&gt;The Search&lt;/h3&gt;&lt;p&gt;Ufff.  There are lots and lots of cool green houses available in the UK, but none of the sites or companies sell to people outside of the island of Great Britain.  Local big hardware stores like Leroy Merlin had some options but all were too big for the space we had selected which had a maximum depth of 118 cm:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_02.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Leia get out the green house!&#34;&gt;

&lt;p&gt;After months of searching a candidate was located on &lt;a href=&#34;https://www.temu.com/es-en/1-pack--transparent-aluminium-polycarbonate-169x114cm-walk-in-greenhouse-with-foundation-frame-gutter-system-adjustable-vent-lockable-door-for-plants-garden-protection-temporary-removable-g-605606509425684.html?_oak_mp_inf=EJTo+Ia82YkBGiA4OTdmMjlhYTgzMDI0MzQ4OThkNDM5MGIyNTBmZTA1MCD/x9il4zM=&amp;top_gallery_url=https://img.kwcdn.com/product/open/ff4a239ff08844d6bc75b0e573b34248-goods.jpeg&amp;spec_gallery_id=37253504561&amp;refer_page_sn=10009&amp;freesia_scene=2&amp;_oak_freesia_scene=2&amp;_oak_rec_ext_1=NDU3MjQ&amp;_oak_gallery_order=1828091181,611345966,1438970266,1997036832,1618769232&amp;search_key=invernadero%20aluminio%20pasillo&amp;refer_page_el_sn=200049&amp;refer_page_name=search_result&amp;refer_page_id=10009_1779000656599_riklf21hhr&amp;_x_sessn_id=9cgw9iwwk0&#34;&gt;TEMU&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_03.jpg&#34; class=&#34;&#34; title=&#34;This one was just right&#34;&gt;
&lt;p&gt;We have never used TEMU so were a bit nervous about making our first utilization of them a 450€ purchase, but after so much searching we were confident that it was the best we would find (later we mentioned this to child 2 who immediately said we were crazy and proceeded to find the same one for hundreds of euros less and was quickly disowned and cut out of the little inheritance that remains after we were apparently swindled on this purchase).&lt;/p&gt;
&lt;p&gt;While waiting for the delivery I did sun testing and realized that we needed to rethink placement as in spring it was only going to get like an hour of sun:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_04.jpg&#34; class=&#34;&#34; title=&#34;Sun monitoring&#34;&gt;

&lt;p&gt;So we moved it out farther in the front:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_05.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Artist rendition. actual results could vary&#34;&gt;

&lt;p&gt;which probably means that the main constraint (118 cm depth) had been removed but please, let’s not second guess each and every decision made in this project, but rather add it to the lessons learned log that is to be generated at the end of every project!&lt;/p&gt;
&lt;h3 id=&#34;The-Delivery&#34;&gt;&lt;a href=&#34;#The-Delivery&#34; class=&#34;headerlink&#34; title=&#34;The Delivery&#34;&gt;&lt;/a&gt;The Delivery&lt;/h3&gt;&lt;p&gt;I was concerned the delivery would happen without enough warning for me to actually get up to the cabin, but the delivery service that TEMU used kept me informed of the whole process and let me know the day before that the delivery was scheduled for the next day, and it arrived just as announced.&lt;br&gt;At this point I was still not sure how small they would be able to make it for shipping purposes, but it was very manageable with my trusty trolly:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_06.jpg&#34; class=&#34;&#34; title=&#34;Glad it fit and was manageable on the trolly!&#34;&gt;

&lt;h3 id=&#34;The-Foundation&#34;&gt;&lt;a href=&#34;#The-Foundation&#34; class=&#34;headerlink&#34; title=&#34;The Foundation&#34;&gt;&lt;/a&gt;The Foundation&lt;/h3&gt;&lt;p&gt;I had to move some dirt and remove all sorts of roots but in the end was able to level out the selected location:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_07.jpg&#34; class=&#34;&#34; title=&#34;No native american burial grounds were uncovered in the excavations&#34;&gt;
&lt;p&gt;I then went to Leroy Merlin to get tiles and rock to make a base.  The idea was to dig hole and fill it with rock to allow drainage and Claude calculated I would need 1,200 kg of rock to get 4-5 cm of rock to have proper drainage.  I ended up getting 20 bags (500 kg!) of rock and 12 40x40 cm rock tiles:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_08.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Probably the most weight i have ever had in this car&#34;&gt;

&lt;p&gt;Getting the rocks down to the cabin was not fun and I am glad I did not listen to Claude on this one and only had to make 5 trips instead of the 12:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_01.gif&#34; class=&#34;&#34; title=&#34;Five not fun trips&#34;&gt;

&lt;p&gt;A quick test confirmed I had gotten more then enough rocks and the right amount of tiles:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_09.jpg&#34; class=&#34;&#34; title=&#34;Good thing I did not listen to Claude&#34;&gt;

&lt;p&gt;I then realized I did not have a way to cut the floor tiles, and although this would have been a great moment to man up and buy a circular saw, I decided to go with just 8 tiles and fill the remaining with rock:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_10.jpg&#34; class=&#34;&#34; title=&#34;Look&#34; alt=&#34;n Good!&#34;&gt;

&lt;h3 id=&#34;The-Build&#34;&gt;&lt;a href=&#34;#The-Build&#34; class=&#34;headerlink&#34; title=&#34;The Build&#34;&gt;&lt;/a&gt;The Build&lt;/h3&gt;&lt;p&gt;I never had an &lt;a href=&#34;https://en.wikipedia.org/wiki/Erector_Set&#34;&gt;erecter set&lt;/a&gt; but I did have lots of &lt;a href=&#34;https://en.wikipedia.org/wiki/Lego&#34;&gt;Legos&lt;/a&gt; (just blocks, the fancy sets came out as I was exiting adolence) and &lt;a href=&#34;https://en.wikipedia.org/wiki/Tinkertoy&#34;&gt;Tinkertoys&lt;/a&gt; and I think they were preparing me for this moment:  the green house came with a 24 page manual that was quite challenging to understand.  I always joke that Ikea manuals undergo constant cycle of improvements so when you think there is a smudge of ink, no, that is some indication that a piece has to go just that way and so when faced with non-Ikea manuals I am always afraid.  This case was no exception. At one point I got to a step that was referencing all sorts of things we had not yet done, so I think the manual actually was missing a sheet which would mean that four pages got left out.  Of course it had no page numbers to confirm this suspicion so I was forced to really study the first page that had a break down of all the pieces:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_12.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Master Plan&#34;&gt;


&lt;p&gt;I of course timed each step:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;page 01: 51 minutes 18 seconds&lt;/li&gt;
&lt;li&gt;page 02: 35 minutes 36 seconds&lt;/li&gt;
&lt;li&gt;page 03: 21 minutes 44 seconds&lt;/li&gt;
&lt;li&gt;page 04: 11 minutes 04 seconds&lt;/li&gt;
&lt;li&gt;page 05: 13 minutes 49 seconds&lt;/li&gt;
&lt;li&gt;page 06: 07 minutes 36 seconds&lt;/li&gt;
&lt;li&gt;page 07: 09 minutes 58 seconds&lt;/li&gt;
&lt;li&gt;page 08: 21 minutes 57 seconds&lt;/li&gt;
&lt;li&gt;page 09: 28 minutes 55 seconds&lt;/li&gt;
&lt;li&gt;page 10: 13 minutes 22 seconds&lt;/li&gt;
&lt;li&gt;page 11: 23 minutes 55 seconds&lt;/li&gt;
&lt;li&gt;page 12: 22 minutes 21 seconds&lt;/li&gt;
&lt;li&gt;page 13: 17 minutes 10 seconds&lt;/li&gt;
&lt;li&gt;page 14: 02 minutes 14 seconds&lt;/li&gt;
&lt;li&gt;page 15: 06 minutes 52 seconds&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a total time of &lt;strong&gt;4&lt;/strong&gt; hours &lt;strong&gt;47&lt;/strong&gt; minutes &lt;strong&gt;43&lt;/strong&gt; seconds.&lt;br&gt;Clearly my training as a young boy waking at the crack of dawn and playing all day with my Lego blocks paid off!&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_02.gif&#34; class=&#34;&#34; title=&#34;Look&#34; alt=&#34;n Good!&#34;&gt;

&lt;h3 id=&#34;The-Final-Product&#34;&gt;&lt;a href=&#34;#The-Final-Product&#34; class=&#34;headerlink&#34; title=&#34;The Final Product&#34;&gt;&lt;/a&gt;The Final Product&lt;/h3&gt;&lt;p&gt;After the build we did a bit of landscaping around it and will continue to tweek and improve, but here is the final result at the end of the Solstice vacation week:&lt;/p&gt;
&lt;img src=&#34;/2026/06/28/2026-Summer-Solstice-Project/ss2026_11.jpg&#34; class=&#34;&#34; title=&#34;Nice&#34;&gt;

&lt;h2 id=&#34;Lessons-learned-log&#34;&gt;&lt;a href=&#34;#Lessons-learned-log&#34; class=&#34;headerlink&#34; title=&#34;Lessons learned log&#34;&gt;&lt;/a&gt;Lessons learned log&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;When making internet purchases ask child 2 to make sure we have found the best deal&lt;/li&gt;
&lt;li&gt;When determining space constraints make sure the final location has &lt;strong&gt;really&lt;/strong&gt; been determined  &lt;/li&gt;
&lt;li&gt;Always question AI and use HITL (&lt;strong&gt;H&lt;/strong&gt;uman &lt;strong&gt;I&lt;/strong&gt;n &lt;strong&gt;T&lt;/strong&gt;he &lt;strong&gt;L&lt;/strong&gt;oop)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerSolstice" />
        <updated>2026-06-28T16:09:22.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/06/24/Recipe-Cercedilla-Kirschtorte/</id>
        <title>Recipe: Cercedilla Kirschtorte</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/06/24/Recipe-Cercedilla-Kirschtorte/"/>
        <content type="html">&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_01.jpg&#34; class=&#34;&#34; width=&#34;700&#34; title=&#34;The final product&#34;&gt;


&lt;p&gt;Last year for my wife’s birthday I made Black Velvet cake and I was telling my german boss, Martin, about it and he mentioned that it kinda reminded him of the Schwarzwälder Kirschtorte (commonly know as Black Forest Cake).  Later I asked ChatGPT about it:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;A Schwarzwälder Kirschtorte, commonly known as Black Forest Cake, is a classic German dessert that consists of layers of chocolate sponge cake, cherries, and whipped cream. It is traditionally flavored with Kirschwasser, a clear cherry brandy, which gives the cake its distinctive taste. The cake is typically decorated with chocolate shavings and more cherries.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So I then asked it for a recipe and saved it in my recipe archive and this year I made it for my wife’s birthday. But as I was in Cercedilla sourcing some of the key ingredients (sour cherries and Kirschwasser) was complicated so I had to reroute a bit (spanish picota cherries and spanish brandy) so I have rebaptized what I made as as &lt;strong&gt;Cercedilla Kirschtorte&lt;/strong&gt;! &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Ingredients&#34;&gt;&lt;a href=&#34;#Ingredients&#34; class=&#34;headerlink&#34; title=&#34;Ingredients&#34;&gt;&lt;/a&gt;Ingredients&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;For the Chocolate Sponge Cake:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;6 large eggs&lt;/li&gt;
&lt;li&gt;150g (3&amp;#x2F;4 cup) granulated sugar&lt;/li&gt;
&lt;li&gt;1 tsp vanilla extract&lt;/li&gt;
&lt;li&gt;100g (3&amp;#x2F;4 cup) all-purpose flour&lt;/li&gt;
&lt;li&gt;50g (1&amp;#x2F;2 cup) unsweetened cocoa powder&lt;/li&gt;
&lt;li&gt;1 tsp baking powder&lt;/li&gt;
&lt;li&gt;Pinch of salt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For the Filling:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;500g (about 1 lb) fresh &lt;del&gt;sour cherries&lt;/del&gt; spanish picotas&lt;/li&gt;
&lt;li&gt;100g (1&amp;#x2F;2 cup) granulated sugar&lt;/li&gt;
&lt;li&gt;3 tbsp &lt;del&gt;Kirschwasser (cherry brandy)&lt;/del&gt; Spanish Brandy&lt;/li&gt;
&lt;li&gt;500ml (2 cups) heavy whipping cream&lt;/li&gt;
&lt;li&gt;2 tbsp powdered sugar&lt;/li&gt;
&lt;li&gt;1 tsp vanilla extract&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For Decoration:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chocolate shavings or curls&lt;/li&gt;
&lt;li&gt;Whole cherries (for garnish)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Instructions&#34;&gt;&lt;a href=&#34;#Instructions&#34; class=&#34;headerlink&#34; title=&#34;Instructions&#34;&gt;&lt;/a&gt;Instructions&lt;/h2&gt;&lt;h3 id=&#34;Make-the-Chocolate-Sponge-Cake&#34;&gt;&lt;a href=&#34;#Make-the-Chocolate-Sponge-Cake&#34; class=&#34;headerlink&#34; title=&#34;Make the Chocolate Sponge Cake:&#34;&gt;&lt;/a&gt;Make the Chocolate Sponge Cake:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prepare the oven and pans&lt;/strong&gt;: Preheat your oven to 180°C (350°F). Grease and line two 8-inch round cake pans.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prepare the Batter&lt;/strong&gt;: Separate the egg whites and yolks. Beat the egg whites with a pinch of salt until stiff peaks form. Gradually add the granulated sugar and vanilla extract, beating continuously until the mixture is glossy. Add the egg yolks one at a time, mixing well after each addition.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mix Dry Ingredients&lt;/strong&gt;: Sift together the flour, cocoa powder, and baking powder. Gently fold the dry ingredients into the egg mixture, being careful not to deflate the batter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bake&lt;/strong&gt;: Divide the batter evenly between the prepared cake pans. Bake for 20-25 minutes or until a toothpick inserted into the center comes out clean. Let the cakes cool completely.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Prepare-the-Filling&#34;&gt;&lt;a href=&#34;#Prepare-the-Filling&#34; class=&#34;headerlink&#34; title=&#34;Prepare the Filling:&#34;&gt;&lt;/a&gt;Prepare the Filling:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cherry Mixture&lt;/strong&gt;: Pit and cut the picotas into 1&amp;#x2F;4 slices. Combine picotas with granulated sugar and &lt;del&gt;Kirschwasser&lt;/del&gt; Spanish brandy in a bowl. Let them macerate for at least 30 minutes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Whip the Cream&lt;/strong&gt;: In a chilled bowl, whip the heavy cream with powdered sugar and vanilla extract until stiff peaks form.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Assemble-the-Cake&#34;&gt;&lt;a href=&#34;#Assemble-the-Cake&#34; class=&#34;headerlink&#34; title=&#34;Assemble the Cake:&#34;&gt;&lt;/a&gt;Assemble the Cake:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Layer the Cake&lt;/strong&gt;: Slice each cake horizontally to create four layers in total. Place one layer on a serving plate. Brush lightly with some of the picota juice from the macerated picotas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add picotas and Cream&lt;/strong&gt;: Spread a layer of whipped cream over the cake, then scatter some cherries on top. Place the second layer of cake on top and repeat the process for the remaining layers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Top Layer&lt;/strong&gt;: Finish with a layer of whipped cream on top and around the sides of the cake.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Decorate&#34;&gt;&lt;a href=&#34;#Decorate&#34; class=&#34;headerlink&#34; title=&#34;Decorate:&#34;&gt;&lt;/a&gt;Decorate:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Chocolate and Picotas&lt;/strong&gt;: Decorate the cake with chocolate shavings or curls and garnish with whole cherries.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chill&lt;/strong&gt;: Refrigerate the cake for at least 2 hours before serving to allow the flavors to meld.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enjoy your homemade Cercedilla Kirschtorte! &lt;/p&gt;
&lt;h2 id=&#34;Pictures-of-process&#34;&gt;&lt;a href=&#34;#Pictures-of-process&#34; class=&#34;headerlink&#34; title=&#34;Pictures of process&#34;&gt;&lt;/a&gt;Pictures of process&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Prepare the pans:&lt;/strong&gt; &lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_02.jpg&#34; class=&#34;&#34; title=&#34;The pan preparation&#34;&gt;

&lt;p&gt;&lt;strong&gt;Separate the egg whites and yolks, beat them with a pinch of salt until stiff peaks form, add sugar and vanilla, add the yolks:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_03.jpg&#34; class=&#34;&#34; title=&#34;whites and yellows separated&#34;&gt;

&lt;p&gt;&lt;strong&gt;Gently fold the dry ingredients into the egg mixture and the divide the batter evenly between the prepared cake pans:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_04.jpg&#34; class=&#34;&#34; title=&#34;Gently now&#34;&gt;

&lt;p&gt;&lt;strong&gt;Bake for 20-25 minutes:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_05.jpg&#34; class=&#34;&#34; title=&#34;Bake them&#34;&gt;

&lt;p&gt;&lt;strong&gt;While the cake is baking prepare the picotas:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_01.gif&#34; class=&#34;&#34; title=&#34;prep work&#34;&gt;

&lt;p&gt;&lt;strong&gt;Whip the heavy cream with powdered sugar and vanilla extract until stiff peaks form:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_06.jpg&#34; class=&#34;&#34; title=&#34;beat it&#34;&gt;

&lt;p&gt;&lt;strong&gt;Assemble with cake, picota juice, whipped cream, picotas and repeat:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/06/24/Recipe-Cercedilla-Kirschtorte/r_cercedilla-kirschtorte_02.gif&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;make the beast&#34;&gt;

&lt;h2 id=&#34;Source&#34;&gt;&lt;a href=&#34;#Source&#34; class=&#34;headerlink&#34; title=&#34;Source&#34;&gt;&lt;/a&gt;Source&lt;/h2&gt;&lt;p&gt;Conversation with ChatGPT June 2025.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;). &lt;/p&gt;
</content>
        <category term="Recipes" />
        <updated>2026-06-24T04:08:28.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/06/19/Haiku-Sierra-at-Nightfall/</id>
        <title>Haiku: Sierra at Nightfall</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/06/19/Haiku-Sierra-at-Nightfall/"/>
        <content type="html">&lt;img src=&#34;/2026/06/19/Haiku-Sierra-at-Nightfall/haiku_sierraatnightfall.jpg&#34; class=&#34;&#34; title=&#34;squeakers dancing&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2026-06-19T19:55:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/05/28/Happy-Birthday-Modern-Computing/</id>
        <title>Happy Birthday Modern Computing!</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/05/28/Happy-Birthday-Modern-Computing/"/>
        <content type="html">&lt;p&gt;This morning Minerva (&lt;a href=&#34;/2026/02/13/OpenClaw/&#34;&gt;my OpenClaw AI Agent&lt;/a&gt;) included this in her morning report:&lt;/p&gt;
&lt;img src=&#34;/2026/05/28/Happy-Birthday-Modern-Computing/moderncomputing_01.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;That Minerva rocks!&#34;&gt;

&lt;p&gt;Interesting! Let check out this &lt;em&gt;On Computable Numbers&lt;/em&gt; paper!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;I found multiple copies of the paper but went with this PDF at the University of Virginia: &lt;a href=&#34;https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf&#34;&gt;Turing_Paper_1936.pdf&lt;/a&gt; and the first thing we are presented with is the full title:&lt;/p&gt;
&lt;img src=&#34;/2026/05/28/Happy-Birthday-Modern-Computing/moderncomputing_02.jpg&#34; class=&#34;&#34; title=&#34;Entsheidungsproblem&#34;&gt;

&lt;p&gt;Which was not the first thing that caught my attention rather, what is this about being received in May and then read in November?  How could they have such a back log in 1936 when there was still was no AI slop overwhelming every inbox and news feed? Well the reason is because the received date is when it arrived at the London Mathematical Society who then opened a peer review which lasted June - October, and then in November it was “read”, or formally presented to (and accepted by) the Society at regularly scheduled meeting. Alan Turning was 23 years old when he submitted the paper, and by the time of the reading he was 24, but was not present as has doing graduate studies at Princeton University.&lt;/p&gt;
&lt;p&gt;The second thing that caught my attention was the lovely german erector set word &lt;strong&gt;Entsheidungsproblem&lt;/strong&gt; which is &lt;em&gt;decision&lt;/em&gt;+&lt;em&gt;problem&lt;/em&gt; and refers to Hilbert’s 1928 challenge: is there a general algorithm that can determine whether any given mathematical statement is provable?  And that is what this paper sets out to determine.  I read the paper, or at least tried to read the paper but quickly got quite lost.  So I of course asked my little buddy, in this case Gemini Pro, for help who broke it down as follows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The most monumental part of the paper, and a foundational moment in the birth of modern computing, is Turing’s invention of a formal computational machine — and with it, a rigorous definition of what “computation” and “algorithm” even mean. This was a necessary prerequisite before he could prove that the answer to the Entscheidungsproblem is &lt;strong&gt;no&lt;/strong&gt;: there is no general algorithm that can decide whether any arbitrary statement in first-order logic is logically valid.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;On top of the computational machine, Turing introduced a &lt;em&gt;universal computational machine&lt;/em&gt; — one capable of simulating any other computational machine by reading its description as data. Though Turing was doing pure mathematics rather than engineering, this is the fundamental concept underlying the stored-program, general-purpose computer: the program is simply data held in memory.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So thanks Alan and happy birthday modern computing!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <category term="AI" />
        <category term="HappyBirthday" />
        <updated>2026-05-28T14:48:27.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/05/24/Book-Report-Suite-francaise/</id>
        <title>Book Report: Suite française</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/05/24/Book-Report-Suite-francaise/"/>
        <content type="html">&lt;img src=&#34;/2026/05/24/Book-Report-Suite-francaise/br_Suite-francaise.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Suite Francaise&#34;&gt;

&lt;p&gt;Just finished this book that we read in my work book club.&lt;br&gt;Wow.  It is like being in Paris in June of 1940 as the Germans are invading France, living the uncertainty, fear, and chaos that ensues through the story of 4 different groups of people.&lt;br&gt;An amazing historical read, made more amazing by the conditions in which it was written, and how it came to us:  The author lived through this and wrote the book in occupied France up until she was sent to Auschwitz in July of 1942 where she was killed.  The manuscript remained in the possession of her daughters who thought it was a journal too disturbing to read, until in 1998 when they discovered it was a novel and they published it.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Suite française&lt;br&gt;&lt;strong&gt;Author:&lt;/strong&gt; Irène Némirovsky&lt;br&gt;&lt;strong&gt;Publication date:&lt;/strong&gt; 2004&lt;br&gt;&lt;strong&gt;Pages:&lt;/strong&gt;  416&lt;br&gt;&lt;strong&gt;Format:&lt;/strong&gt; ebook&lt;br&gt;&lt;strong&gt;Price:&lt;/strong&gt; free (pirated)&lt;br&gt;&lt;strong&gt;Started:&lt;/strong&gt;  24&amp;#x2F;04&amp;#x2F;2026&lt;br&gt;&lt;strong&gt;Finished:&lt;/strong&gt; 24&amp;#x2F;05&amp;#x2F;2026&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My rough notes (careful contains spoilers):&lt;/strong&gt;&lt;br&gt;The book is made of two parts (there were to be 4 but the &lt;a href=&#34;https://en.wikipedia.org/wiki/Final_Solution&#34;&gt;Final Solution&lt;/a&gt;) prevented her from finishing the last two parts (there were notes on where she though she would go with it, but as we see with the first two parts, reality is what was helping to provide the plot line).&lt;/p&gt;
&lt;p&gt;Book one, Storm in June, follows 4 different groups of people from June 3rd 1940 through about March of 1941:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Pericand Family&lt;ul&gt;
&lt;li&gt;An upper middle class family with 4 children and a cat Albert (Chapter 20 is written from his perspective).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Charles Langelet&lt;ul&gt;
&lt;li&gt;A wealthy singe rich dude&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Gabriel Corte and Florence his lover&lt;ul&gt;
&lt;li&gt;A popular and connected author&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The Michuads&lt;ul&gt;
&lt;li&gt;middle class couple who work for a banker (Corbin) and have a son fighting the germans&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By including such a diverse group of characters we are able to see how it affected all sorts of different social economical groups, the level of denial right up until finally deciding they really needed to get out of Paris and then the total chaos that ensures.  As reading I just kept reflecting that this was written not years later by at the time.  Incredible.  &lt;/p&gt;
&lt;p&gt;Book two, Dolce, is set in a small farming town, Bussy, focusing mostly on two different families from Spring 1941 to the end of June and the occupation by the German regiment stationed in the area (and officer living in the houses of each family).  Some of the characters had been introduced in the previous part and for me the change was welcomed because first book had run its course and the abrupt change in the second book hooked my attention again and I could not put it down.  There is the element of suspense, love, and intrigue and most interesting for me is the historical context of how things were in occupied France in 1941.&lt;/p&gt;
&lt;p&gt;A really good read.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="BookReport" />
        <updated>2026-05-24T14:27:46.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/05/21/Notes-AI/</id>
        <title>Notes: AI</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/05/21/Notes-AI/"/>
        <content type="html">&lt;p&gt;Collection of my notes on AI&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h3 id=&#34;Terms&#34;&gt;&lt;a href=&#34;#Terms&#34; class=&#34;headerlink&#34; title=&#34;Terms&#34;&gt;&lt;/a&gt;Terms&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Autoregressive LLM&lt;/strong&gt;: a large language model that generates text one token at a time, predicting each new token based on the sequence of preceding ones &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deep learning&lt;/strong&gt;: deep learning focuses on utilizing multilayered neural networks to perform tasks such as classification, regression, and representation learning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT&lt;/strong&gt;: Generative Pre-trained Transformer.  It refers to a type of AI model that is first pre-trained on a massive dataset, then fine-tuned to generate human-like text in response to prompts. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inference&lt;/strong&gt;:  is the process where a trained machine learning model uses its learned knowledge to analyze new, unseen data and generate an output, such as a prediction, classification, or decision&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM&lt;/strong&gt;:  large language model&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multimodal&lt;/strong&gt;: is a type of deep learning that integrates and processes multiple types of data, referred to as modalities, such as text, audio, images, or video.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Neural network&lt;/strong&gt;: a computational model inspired by the structure and functions of biological neural networks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;P(doom)&lt;/strong&gt;: the probability of existentially catastrophic outcomes (so-called “doomsday scenarios”) as a result of artificial intelligence (see &lt;a href=&#34;/2025/09/28/P-doom/&#34;&gt;this post&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pretraining&lt;/strong&gt;: process where training data is converted into tokens and fed into the neural network and the correct sequences are given a nudge to higher probability&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt;: is an AI technique that combines a large language model (LLM) with an external knowledge base to provide more accurate, up-to-date, and contextually relevant responses. RAG systems retrieve information from a specified source, like a company’s internal documents or the latest news, before using the LLM to generate an answer based on that retrieved data instead of solely relying on its training data. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transformer&lt;/strong&gt;: text is converted to numerical representations called tokens, and each token is converted into a vector via lookup from a word embedding table. At each layer, each token is then contextualized within the scope of the context window with other (unmasked) tokens via a parallel multi-head attention mechanism, allowing the signal for key tokens to be amplified and less important tokens to be diminished.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transformer models&lt;/strong&gt;: a type of neural network architecture foundational to modern AI, excelling at understanding context and relationships in sequential data like text. They use a mechanism called attention to weigh the importance of different parts of the input sequence, allowing for parallel processing and significantly faster training compared to older methods. This versatility and efficiency have enabled breakthroughs in natural language processing (NLP) with models like ChatGPT, as well as advancements in computer vision and other fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;People&#34;&gt;&lt;a href=&#34;#People&#34; class=&#34;headerlink&#34; title=&#34;People&#34;&gt;&lt;/a&gt;People&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Andrej_Karpathy&#34;&gt;Andrej Karpathy&lt;/a&gt;&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Founding member of &lt;a href=&#34;https://en.wikipedia.org/wiki/OpenAI&#34;&gt;OpenAi&lt;/a&gt; (2015 - 2017, 2023 - 2024)&lt;/li&gt;
&lt;li&gt;Former director of AI at Tesla (2017 - 2022)&lt;/li&gt;
&lt;li&gt;On 19&amp;#x2F;05&amp;#x2F;2026 announced he was joining Anthropic working on their pre-training team&lt;/li&gt;
&lt;li&gt;Before joining Anthropic was working on utilizing AI as an educational tutor:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://eurekalabs.ai/&#34;&gt;Eureka Labs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/karpathy/LLM101n?tab=readme-ov-file&#34;&gt;LLM101n: Let’s build a Storyteller&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh Patel&lt;/a&gt; interview: &lt;a href=&#34;https://www.dwarkesh.com/p/andrej-karpathy&#34;&gt;Andrej Karpathy — AGI is still a decade away&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=7xTGNNLPyMI&#34;&gt;Deep Dive into LLMs like ChatGPT with Andrej Karpathy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Dario_Amodei&#34;&gt;Dario Amodei&lt;/a&gt;&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;CEO and co-founder of &lt;a href=&#34;https://en.wikipedia.org/wiki/Anthropic&#34;&gt;Anthropic&lt;/a&gt; that was founded in 2021 by seven former employees of OpenAI &lt;/li&gt;
&lt;li&gt;Worked at OpenAI from 2016- 2021 and when he left he was the vice president of research &lt;/li&gt;
&lt;li&gt;Board of OpenAI tried to get him to replace Sam and or join companies in 2023&lt;/li&gt;
&lt;li&gt;Essays on his &lt;a href=&#34;https://www.darioamodei.com/&#34;&gt;blog&lt;/a&gt;:&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&#34;https://www.darioamodei.com/essay/machines-of-loving-grace&#34;&gt;Machines of Loving Grace&lt;/a&gt;&lt;/em&gt; 2024&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&#34;https://www.darioamodei.com/essay/the-adolescence-of-technology&#34;&gt;The Adolescence of Technology&lt;/a&gt;&lt;/em&gt; 2026&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.anthropic.com/constitution&#34;&gt;Claude’s Constitution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh Patel&lt;/a&gt; interview: &lt;a href=&#34;https://www.dwarkesh.com/p/dario-amodei-2&#34;&gt;Dario Amodei — “We are near the end of the exponential”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Demis_Hassabis&#34;&gt;Demis Hassabis&lt;/a&gt;&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;CEO and co-founder of &lt;a href=&#34;https://en.wikipedia.org/wiki/Google_DeepMind&#34;&gt;DeepMind&lt;/a&gt; (acquired by Google in 2014)&lt;/li&gt;
&lt;li&gt;While waiting to be old enough to get into Cambridge University worked for &lt;a href=&#34;https://en.wikipedia.org/wiki/Bullfrog_Productions&#34;&gt;Bullfrog Productions&lt;/a&gt; on &lt;a href=&#34;https://en.wikipedia.org/wiki/Syndicate_(1993_video_game)&#34;&gt;Syndicate&lt;/a&gt; level designs and co-designed and programmed &lt;a href=&#34;https://en.wikipedia.org/wiki/Theme_Park_(video_game&#34;&gt;Theme Park&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lexfridman.com/&#34;&gt;Lex Fridman&lt;/a&gt; interview: &lt;a href=&#34;https://lexfridman.com/demis-hassabis-2&#34;&gt;#475 – Demis Hassabis: Future of AI, Simulating Reality, Physics and Video Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Ilya_Sutskever&#34;&gt;Ilya Sutskever&lt;/a&gt;&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Co-developed &lt;a href=&#34;https://en.wikipedia.org/wiki/AlexNet&#34;&gt;AlexNet&lt;/a&gt; which was very influential in future deep learning projects&lt;/li&gt;
&lt;li&gt;Worked as research scientist at Google Brain and was co-author on &lt;a href=&#34;https://en.wikipedia.org/wiki/AlphaGo&#34;&gt;AlphaGo&lt;/a&gt; paper.&lt;/li&gt;
&lt;li&gt;Co-founder and chief scientist of OpenAI until he resigned after that whole saga with ousting Sam Altman in November 2023. Apparently very instrumental in development of ChatGPT. &lt;/li&gt;
&lt;li&gt;Went on to start Safe Superintelligence Inc. (SSI) where he is now (28&amp;#x2F;11&amp;#x2F;2025)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh&lt;/a&gt; interview: &lt;em&gt;&lt;a href=&#34;https://www.dwarkesh.com/p/ilya-sutskever-2&#34;&gt;Ilya Sutskever – We’re moving from the age of scaling to the age of research&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Peter Steinberger&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Invented PSPDFKit in 2011 (the PS comes from his initials, not Post Script, as I and probably most think at first), took it to a 60-70 person team, then after 13 years sold his shares.&lt;/li&gt;
&lt;li&gt;After that he took time off, tried various things to fill the void, and eventually realized he needed to create something new and began working on ClawdBot in November 2025 with the first prototype being done in an hour and almost instantly gaining 60k GitHub stars.&lt;/li&gt;
&lt;li&gt;From there things got expentual and late December, January, and early February (when i am writing this) it just EXPLODED.&lt;/li&gt;
&lt;li&gt;Changed its names multiple times and now is &lt;a href=&#34;https://openclaw.ai/&#34;&gt;OpenClaw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Really might be the first “killer app” for current AI models, and is the first person on this list who is not an AI researcher, rather user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://lexfridman.com/&#34;&gt;Lex Fridman&lt;/a&gt;&lt;/strong&gt;: &lt;em&gt;&lt;a href=&#34;https://lexfridman.com/peter-steinberger&#34;&gt;#491 – OpenClaw: The Viral AI Agent that Broke the Internet – Peter Steinberger&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Richard_S._Sutton&#34;&gt;Richard Sutton&lt;/a&gt;&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Considered to be one of the founders of modern computational &lt;a href=&#34;https://en.wikipedia.org/wiki/Reinforcement_learning&#34;&gt;reinforcement learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Joined &lt;a href=&#34;https://en.wikipedia.org/wiki/Google_DeepMind&#34;&gt;DeepMind&lt;/a&gt; in 2017&lt;/li&gt;
&lt;li&gt;Published the essay &lt;a href=&#34;http://www.incompleteideas.net/IncIdeas/BitterLesson.html&#34;&gt;The Bitter lesson&lt;/a&gt; that argues that in the long run simpler AI systems that scale with compute power will outperform more complex systems that integrate domain specific human knowledge because they will take better advantage of &lt;a href=&#34;https://en.wikipedia.org/wiki/Moore%27s_law&#34;&gt;Moore’s Law&lt;/a&gt;: “We have to learn the bitter lesson that building in how we think we think does not work in the long run.”&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh Patel&lt;/a&gt; interview: &lt;em&gt;&lt;a href=&#34;https://www.dwarkesh.com/p/richard-sutton&#34;&gt;Richard Sutton – Father of RL thinks LLMs are a dead end&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Yann_LeCun&#34;&gt;Yann Lecun&lt;/a&gt;&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Chief AI Scientist at Meta (Update 28&amp;#x2F;11&amp;#x2F;2025: has now left Meta)&lt;/li&gt;
&lt;li&gt;Previously worked at Bell Labs in the Adaptive Systems Research Department&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lexfridman.com/&#34;&gt;Lex Fridman&lt;/a&gt; interview: &lt;em&gt;&lt;a href=&#34;https://lexfridman.com/yann-lecun-3/&#34;&gt;#416 – Yann Lecun: Meta AI, Open Source, Limits of LLMs, AGI &amp;amp; the Future of AI&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Interesting-things&#34;&gt;&lt;a href=&#34;#Interesting-things&#34; class=&#34;headerlink&#34; title=&#34;Interesting things&#34;&gt;&lt;/a&gt;Interesting things&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=WXuK6gekU1Y&#34;&gt;AlphaGo documentary&lt;/a&gt;: very interesting and highly recommended. &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkesh.com/p/eric-jang&#34;&gt;Eric Jang – Building AlphaGo from scratch&lt;/a&gt;: Eric explains to Dwarkesh (with chalk board and everything) how to build an AlphaGo and how it works. Very deep dive into the deep end!&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=7xTGNNLPyMI&#34;&gt;Deep Dive into LLMs like ChatGPT with Andrej Karpathy&lt;/a&gt;: see this to really understand what, how, and all about generative AI.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.incompleteideas.net/IncIdeas/BitterLesson.html&#34;&gt;The Bitter lesson&lt;/a&gt;: short paper that argues that in the long run simpler AI systems that scale with compute power will outperform more complex systems that integrate domain specific human knowledge because they will take better advantage of &lt;a href=&#34;https://en.wikipedia.org/wiki/Moore%27s_law&#34;&gt;Moore’s Law&lt;/a&gt;: “We have to learn the bitter lesson that building in how we think we think does not work in the long run.”&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.technologyreview.com/2025/10/30/1127057/agi-conspiracy-theory-artifcial-general-intelligence/&#34;&gt;How AGI became the most consequential conspiracy theory of our time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.uncoveralpha.com/p/the-chip-made-for-the-ai-inference&#34;&gt;The chip made for the AI inference era – the Google TPU&lt;/a&gt;: super deep dive into Google’s AI enabling hardware.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://x.com/bcherny/status/2007179832300581177&#34;&gt;Boris CHERNY’s post on how he uses Cluade Code&lt;/a&gt;: this was posted at the beginning of January 2026 and just knocked everyone off their feet.  A pivotal AI moment. Finally a crazy powerful agent.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.humanetech.com/ai-roadmap&#34;&gt;The AI Roadmap: How We Ensure AI Serves Humanity&lt;/a&gt;: to avoid &lt;a href=&#34;/2025/09/28/P-doom/&#34;&gt;P(doom)&lt;/a&gt; limits need to be agreed and set and this is manifesto with 7 principles.  Heard about this from this interview by Gavin Newson: &lt;em&gt;&lt;a href=&#34;https://www.iheart.com/podcast/1119-this-is-gavin-newsom-268904129/&#34;&gt;Can Artificial Intelligence Be Controlled? With Tristan Harris &amp;amp; Aza Raskin&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Change-Log&#34;&gt;&lt;a href=&#34;#Change-Log&#34; class=&#34;headerlink&#34; title=&#34;Change Log:&#34;&gt;&lt;/a&gt;Change Log:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;21&amp;#x2F;05&amp;#x2F;2026 update with info about Andrej Karpathy joining Anthropic and The AI Roadmap: How We Ensure AI Serves Humanity&lt;/li&gt;
&lt;li&gt;26&amp;#x2F;02&amp;#x2F;2026 update with info about Dario Amodei&lt;/li&gt;
&lt;li&gt;14&amp;#x2F;02&amp;#x2F;2026 updated with info about Peter Steinberger&lt;/li&gt;
&lt;li&gt;25&amp;#x2F;10&amp;#x2F;2025 initial creation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Notes" />
        <category term="AI" />
        <updated>2026-05-21T18:20:45.005Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/05/06/NetHack-5-0/</id>
        <title>NetHack 5.0</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/05/06/NetHack-5-0/"/>
        <content type="html">&lt;img src=&#34;/2026/05/06/NetHack-5-0/nh_01.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Oh Sweet baby jesus!&#34;&gt;
&lt;p&gt;OMG.  NetHack 5.0 was released on May 2nd!  I downloaded it May 6th and I am currently playing my first game of it as Bob an left-handed Ranger.  Read on to find out what the heck &lt;a href=&#34;https://en.wikipedia.org/wiki/NetHack&#34;&gt;NetHack&lt;/a&gt; is and how Bob and I do on our decent into the Dungeons of Doom!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Historical-Context&#34;&gt;&lt;a href=&#34;#Historical-Context&#34; class=&#34;headerlink&#34; title=&#34;Historical Context&#34;&gt;&lt;/a&gt;Historical Context&lt;/h2&gt;&lt;p&gt;Let’s get any misconceptions out of the way right at the start:  NetHack has nothing to do with &lt;strong&gt;net&lt;/strong&gt;work  &lt;strong&gt;hack&lt;/strong&gt;ing. The net comes from the fact it was developed collaboratively via &lt;a href=&#34;https://en.wikipedia.org/wiki/Usenet&#34;&gt;Usenet&lt;/a&gt; (precursor to forums or Reddit) and hack comes from hack and slash (or at least that is what I think, I was not able to find any definitive evidence of this). NetHack is what is called a “rogue like game”, &lt;a href=&#34;https://en.wikipedia.org/wiki/Rogue_(video_game)&#34;&gt;Rogue&lt;/a&gt; being the first in its genre made for Unix in 1980. The general idea is that you are an adventurer that descends into a cave to retrieve an amulet.  The beauty of rogue-like games is that the levels are randomly generated, so no two games are ever the same. I got my first version of it in later in the 80’s probably around 1985 for my IBM PC via mail order (yes software used to be mailed on floppy disks!) and it probably looked something like this:&lt;/p&gt;
&lt;img src=&#34;/2026/05/06/NetHack-5-0/nh_02.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Credits to https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;mikeyk730&amp;#x2F;Rogue-Collection&#34;&gt;

&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/NetHack&#34;&gt;NetHack&lt;/a&gt; came out mid 80’s but I only discovered it in the university, probably around 1990 and have been playing ever since.  Not daily, but every few years something turns me back onto it and I begin playing somewhat obsessively for a few weeks and then move on.  So that is about 36 years of playing it and I have never even come close to finishing it.  Obviously to hold my attention all those years you can understand dear reader that it is not a normal game but a very rich experience, especially given that most of those 36 years was playing with only the &lt;a href=&#34;https://en.wikipedia.org/wiki/ASCII&#34;&gt;ASCII&lt;/a&gt; character pallet, meaning just letters to represent the immersive Dungeons of Doom.  The first time I saw a “D” (dragon) I think I had to change my underwear.   I think my longest run was on one of my daughter’s Nintendo DS consoles because it had two screen’s allowing the full map to always be visible on the top screen and a zoomed in map on the bottom screen.&lt;/p&gt;
&lt;h1 id=&#34;Nethack-5-0&#34;&gt;&lt;a href=&#34;#Nethack-5-0&#34; class=&#34;headerlink&#34; title=&#34;Nethack 5.0&#34;&gt;&lt;/a&gt;Nethack 5.0&lt;/h1&gt;&lt;p&gt;So I had no idea that people were still working on NetHack and the previous major release was 3.6.0 that came out back in 2015.  The 4.x line was jumped over as the last version of 3.6 was 3.6.7 that was released in 2023 and then BAM on May 2nd 5.0 was released!&lt;/p&gt;
&lt;p&gt;I downloaded the windows version and was so happy to see that the zip was only 12.7 MB:&lt;/p&gt;
&lt;img src=&#34;/2026/05/06/NetHack-5-0/nh_03.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;How do they get so my fun in only 12.7MB&#34;&gt;
&lt;p&gt;I fired it up, choose Bob as a name and Ranger as my class and was off and running:&lt;/p&gt;
&lt;img src=&#34;/2026/05/06/NetHack-5-0/nh_04.jpg&#34; class=&#34;&#34; title=&#34;The Start&#34;&gt;

&lt;p&gt;So I will update my progress here until this current bought of addiction runs its course!&lt;/p&gt;
&lt;h1 id=&#34;Update-May-10th-9222-moves-playing-time-4-hours-4-minutes-and-21-seconds&#34;&gt;&lt;a href=&#34;#Update-May-10th-9222-moves-playing-time-4-hours-4-minutes-and-21-seconds&#34; class=&#34;headerlink&#34; title=&#34;Update May 10th, 9222 moves, playing time 4 hours, 4 minutes and 21 seconds&#34;&gt;&lt;/a&gt;Update May 10th, 9222 moves, playing time 4 hours, 4 minutes and 21 seconds&lt;/h1&gt;&lt;img src=&#34;/2026/05/06/NetHack-5-0/nh_05.jpg&#34; class=&#34;&#34; title=&#34;Gnomish Mines&#34;&gt;
&lt;p&gt;I have finished the Gnomish Mines (one of many side quests in the game) for the first time in my life and retrieved a luckstone for my troubles! The real playing time is quite a bit more than the time mentioned above as I am cheating a bit in that I save every once and awhile and then if I die (which is all the fucking time) I copy back the save file and continue again.  That is the thing about NetHack, you can be on top of the world and then dead in zero comma.  But I am happy! I have never made it through the Gnomish Mines!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.nethack.org/&#34;&gt;NetHack Webpage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <updated>2026-05-06T16:49:59.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/</id>
        <title>Cercedilla Field Notes: Navalmedio Dam</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/"/>
        <content type="html">&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_00.jpg&#34; class=&#34;&#34; title=&#34;Navalmedio dam and reservoir&#34;&gt;
&lt;p&gt;Sitting above and to the right of Cercedilla is the Navalmedio dam and its reservoir which I first heard about from the previous owners of our cabin while we were finalizing the purchase.  They said it was a nice walk from the cabin, and I was quite confused thinking they were talking about the Navacerrada reservoir which is quite far away.  So early excursions from the cabin centered on exploring and finding the reservoir.  Read on for what I have learned about it!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Data-points-about-the-dam&#34;&gt;&lt;a href=&#34;#Data-points-about-the-dam&#34; class=&#34;headerlink&#34; title=&#34;Data points about the dam&#34;&gt;&lt;/a&gt;Data points about the dam&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Construction was completed on 31 December 1968 (unable to find any information on how long it took to build)&lt;/li&gt;
&lt;li&gt;Designed by an engineer named J. Gavala who also did the Navacerrada dam at the same time&lt;/li&gt;
&lt;li&gt;47 meters tall (155 feet) (about a 14 story building)&lt;/li&gt;
&lt;li&gt;170 meters long (557 feet) (1.5 football fields)&lt;/li&gt;
&lt;li&gt;Reservoir has around 8 hectares surface area and a capacity of 1 cubic hectometer (around 400 olympic swimming pools)&lt;ul&gt;
&lt;li&gt;Its main use is to transfer water to the larger Navacerrada reservoir&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Location:  &lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_07.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Here&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.wikiloc.com/walking-trails/2026-05-02-navalmedio-embalse-262444140&#34;&gt;Great loop walk where you can get really close&lt;/a&gt;  &lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_08.jpg&#34; class=&#34;&#34; width=&#34;600&#34; title=&#34;Loop&#34;&gt;&lt;/li&gt;
&lt;li&gt;It is a gravity dam:&lt;ul&gt;
&lt;li&gt;Holds back water purely through its own mass: The enormous weight of the structure — pressing down onto the foundation — creates enough friction and resistance to counteract the horizontal push of the reservoir behind it. No cables, no arches, no external anchoring. Just mass.  &lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_02.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Gravity dam&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Drawings from &lt;a href=&#34;https://www.iagua.es/data/infraestructuras/presas/navalmedio&#34;&gt;Iagua&lt;/a&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_03.jpg&#34; class=&#34;&#34; title=&#34;planos&#34;&gt;&lt;/li&gt;
&lt;li&gt;The dam is classified as Category A for potential risk — the highest risk category in Spain, meaning a failure would have serious consequences for populated areas downstream. I think these speakers are what would warn us if a failure was imminent:  &lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_06.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Speakers&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Pictures&#34;&gt;&lt;a href=&#34;#Pictures&#34; class=&#34;headerlink&#34; title=&#34;Pictures&#34;&gt;&lt;/a&gt;Pictures&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Fall Day&lt;/strong&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_01.jpg&#34; class=&#34;&#34; title=&#34;Navalmedio dam and reservoir&#34;&gt;
&lt;p&gt;&lt;strong&gt;Downstream face:&lt;/strong&gt; &lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_04.jpg&#34; class=&#34;&#34; title=&#34;Careful Leia&#34;&gt;
&lt;p&gt;&lt;strong&gt;Upstream face&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_05.jpg&#34; class=&#34;&#34; title=&#34;Dam&#34;&gt;
&lt;p&gt;&lt;strong&gt;Mirror lake:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_09.jpg&#34; class=&#34;&#34; title=&#34;Mirror&#34;&gt;
&lt;p&gt;&lt;strong&gt;Sluice gates:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_10.jpg&#34; class=&#34;&#34; title=&#34;Sluice gates&#34;&gt;
&lt;p&gt;&lt;strong&gt;Downstream face with wild Paeonia broteri:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/CFN_dam_11.jpg&#34; class=&#34;&#34; width=&#34;600&#34; title=&#34;Paeonia broteri&#34;&gt;

&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.canaldeisabelsegunda.es/documents/20143/787562/Navalmedio_OK.pdf/221c7954-c57a-b603-3d68-0797040ec587?t=1567751071038&#34;&gt;Canal de Isabell II’s data sheet about the dam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.iagua.es/data/infraestructuras/presas/navalmedio&#34;&gt;Iagua’s data sheet about the dam&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2026-05-02T05:52:35.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/04/22/Cercedilla-Field-Notes-Hiking/</id>
        <title>Cercedilla Field Notes: Hiking</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/04/22/Cercedilla-Field-Notes-Hiking/"/>
        <content type="html">&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_01.gif&#34; class=&#34;&#34; title=&#34;Cercedilla Pacman&#34;&gt;
&lt;p&gt;What you see above are all the walks and hikes we have done in Cercedilla.&lt;/p&gt;
&lt;p&gt;The gif was last updated &lt;strong&gt;27&amp;#x2F;06&amp;#x2F;2026&lt;/strong&gt; and has &lt;strong&gt;33&lt;/strong&gt; walks that we have done and my objective is to paint the entire town and mountains orange!&lt;/p&gt;
&lt;p&gt;When we first thought of getting cabin in the sierra mountains near Madrid, our first thought was of Cercedilla as we had some great hikes and experiences in the &lt;a href=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/&#34;&gt;red pine forests&lt;/a&gt; around it, and as we have begun exploring it has not disappointed! Read on for more details and our discoveries!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Recommended-Trails&#34;&gt;&lt;a href=&#34;#Recommended-Trails&#34; class=&#34;headerlink&#34; title=&#34;Recommended Trails&#34;&gt;&lt;/a&gt;Recommended Trails&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://www.wikiloc.com/walking-trails/2026-05-02-navalmedio-embalse-262444140&#34;&gt;Loop around Navalmedio Dam and reservoir&lt;/a&gt;&lt;/strong&gt;. One of the first walks we did and really enjoyable every time with beautiful views of the dam and reservoir:&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_09.jpg&#34; class=&#34;&#34; title=&#34;Navalmedia loop&#34;&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://www.wikiloc.com/walking-trails/2026-05-08-friday-afternoon-exploring-263300555&#34;&gt;Beautiful prairie a bit farther than Cerro del Corral de Simon&lt;/a&gt;&lt;/strong&gt;. A beautiful large prairie perfect for a picnic between two hills:&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_10.jpg&#34; class=&#34;&#34; title=&#34;Prarie&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Hiking-Gear&#34;&gt;&lt;a href=&#34;#Hiking-Gear&#34; class=&#34;headerlink&#34; title=&#34;Hiking Gear&#34;&gt;&lt;/a&gt;Hiking Gear&lt;/h2&gt;&lt;h4 id=&#34;Binoculars&#34;&gt;&lt;a href=&#34;#Binoculars&#34; class=&#34;headerlink&#34; title=&#34;Binoculars&#34;&gt;&lt;/a&gt;Binoculars&lt;/h4&gt;&lt;p&gt;If it is just a short walk I just grab a pair of binoculars I specifically bought to always have with me in Cercedilla.  These were selected after weekend long conversation with ChatGPT (it was raining all weekend).  In the end the runner ups were &lt;a href=&#34;https://www.zeiss.com/photonics-and-optics/en/nature-observation/products/binoculars/victory-pocket.html&#34;&gt;Zeiss Victory Pocket 8x25&lt;/a&gt; (around 750€) and &lt;a href=&#34;https://explore.omsystem.com/c/en/8x25-wp-ii&#34;&gt;Olympus 8x25 WP II&lt;/a&gt; (130€).  I was using some money that was given to me at work as a recognition prize so my budget was up to 250€, but I did debate all weekend long about the Zeiss, but in the end went with the Olympus and although I have never looked through the Zeisses and if I ever get a chance could change my opinion, I am &lt;strong&gt;very&lt;/strong&gt; happy with the Olympus WP IIs.  They weigh in at 285g (10 oz):&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_01.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Weigh in&#34;&gt;
&lt;p&gt;They came with a small bag that can be carried on your belt (yes i really am a nerd) to ensure they are always quick at hand with no need for backpack or cargo pants:&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_02.jpg&#34; class=&#34;&#34; title=&#34;Nerd alert&#34;&gt;
&lt;p&gt;They have a really good field of view and lots of clarity, so as previously said, I am really happy with them, and daughter number 2 is probably happy I did not spend part of her university tuition on the Zeiss Victory Pocket 8x25.&lt;/p&gt;
&lt;h4 id=&#34;Backpack&#34;&gt;&lt;a href=&#34;#Backpack&#34; class=&#34;headerlink&#34; title=&#34;Backpack&#34;&gt;&lt;/a&gt;Backpack&lt;/h4&gt;&lt;p&gt;If we are going a longer walk and I need to take water, I bought a &lt;a href=&#34;https://www.decathlon.es/es/p/mochila-de-senderismo-20l-arpenaz-500-gris/350154/c71m8971389&#34;&gt;Mochila Arpenaz 500 20L&lt;/a&gt; that I assume was on clearance at Decathlon because it was only 19€:&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_03.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;What a deal!&#34;&gt;
&lt;p&gt;Despite its low price it is a great day pack with all sorts of nice features and is very comfortable:&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_04.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Nice&#34;&gt;

&lt;h4 id=&#34;Boots&#34;&gt;&lt;a href=&#34;#Boots&#34; class=&#34;headerlink&#34; title=&#34;Boots&#34;&gt;&lt;/a&gt;Boots&lt;/h4&gt;&lt;p&gt;I only recently got proper hiking boots and boy what a difference do they make!  I call them my billy goat boots because they grip the hill like velcro and make trecherous hills safe to walk on.  They set me back 110€ at Decathlon and are Columbia Redmond VI Mid shoes that are waterproof and have OMNIGRIP (billy goat coating):&lt;/p&gt;
&lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_05.jpg&#34; class=&#34;&#34; title=&#34;Billy goat shoes&#34;&gt;

&lt;h4 id=&#34;Contents-of-backpack&#34;&gt;&lt;a href=&#34;#Contents-of-backpack&#34; class=&#34;headerlink&#34; title=&#34;Contents of backpack&#34;&gt;&lt;/a&gt;Contents of backpack&lt;/h4&gt;&lt;p&gt;The dangerous thing about having a backpack for me is the desire to pack it full of stuff because as a youth I was a Boy Scout and still always want to &lt;em&gt;be prepared&lt;/em&gt;…but there is point where the backpack weighs too much for the &lt;em&gt;just in case&lt;/em&gt; secenarios.  For now I have limited myself to the following: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.decathlon.es/es/p/silbato-multifuncion-brujula-orientacion-50-naranja/301966/c50m8584952&#34;&gt;Multifuntion whistle + compass + thermometer + magnifying glass&lt;/a&gt;:   &lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_03.gif&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Wistle&#34;&gt;&lt;/li&gt;
&lt;li&gt;Swiss Army Knife that my sister gave to me 30 years ago:  &lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_06.jpg&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Thanks big sis!&#34;&gt;&lt;/li&gt;
&lt;li&gt;Light weight rain (and wind) jacket:  &lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_07.jpg&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Rain and wind I am prepared!&#34;&gt;&lt;/li&gt;
&lt;li&gt;Light weight down vest:  &lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_08.jpg&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Not a Fenson&#34;&gt;&lt;/li&gt;
&lt;li&gt;First aid kit:  &lt;img src=&#34;/2026/04/22/Cercedilla-Field-Notes-Hiking/CFN_hiking_02.gif&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Altoid First Aid&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;h3 id=&#34;How-the-gif-at-the-top-is-done&#34;&gt;&lt;a href=&#34;#How-the-gif-at-the-top-is-done&#34; class=&#34;headerlink&#34; title=&#34;How the gif at the top is done&#34;&gt;&lt;/a&gt;How the gif at the top is done&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Every time we go on a walk I record the tracks with  &lt;a href=&#34;https://www.wikiloc.com/&#34;&gt;Wikiloc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I then load the tracks in &lt;a href=&#34;https://www.google.com/earth/about/versions/#earth-pro&#34;&gt;Google Earth Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I found what I thought was a good view of Cercedilla and the suronding vallies and mountains and set it as &lt;em&gt;View -&amp;gt; Make this my start location&lt;/em&gt; so that it always opens to the same exact spot (40°44’51.49” N   4°02’58.24” W).&lt;/li&gt;
&lt;li&gt;When I have a new track I add it, take a screen shot in Google Earth with &lt;em&gt;CTRL + ALT + C&lt;/em&gt; and save the file to a folder with all the other incremental screenshots&lt;/li&gt;
&lt;li&gt;I then use &lt;a href=&#34;https://ezgif.com/maker&#34;&gt;Ezgif&lt;/a&gt; to make an animated gif with these settings:&lt;ul&gt;
&lt;li&gt;Delay time for all images is set to 40&lt;/li&gt;
&lt;li&gt;Last image set to delay time of 400&lt;/li&gt;
&lt;li&gt;Generate the Gif then resize to 50% and then click the optimize button&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2026-04-22T13:38:44.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/04/12/Pebble-MoonSunTime-Watchface/</id>
        <title>Pebble MoonSunTime Watchface</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/04/12/Pebble-MoonSunTime-Watchface/"/>
        <content type="html">&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_01.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;From idea to reality&#34;&gt;

&lt;p&gt;The above image is the drawings that I fed to Claude Code and the resulting working watchface for a Pebble Watch that was produced after 5 sessions (each one lasting until i burned through my tokens which was about 20 minutes a session).&lt;/p&gt;
&lt;p&gt;People are bad talking “vibe coding”, but quite honestly “agentic coding” is so empowering! Read on for more details of the adventure!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;Last Sunday Eric Migicovsky (Pebble founder) &lt;a href=&#34;https://bsky.app/profile/ericmigi.com/post/3mirml2om5c2z&#34;&gt;posted&lt;/a&gt; that the had created a &lt;a href=&#34;https://github.com/coredevices/pebble-watchface-agent-skill&#34;&gt;Claude skill for helping building Pebble watchfaces&lt;/a&gt;.  Talk about great timing! Just the day before I had begun thinking about and sketching ideas for watchface that would allow quick reference for the current moon phase, sun rise&amp;#x2F;set, and tide situation:&lt;/p&gt;
&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_02.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Idea&#34;&gt;  

&lt;p&gt;So I downloaded the Claude skill copied the drawing for the initial screen to the folder and let Claude know what we were going to do.  For the first session I just worked on the initial screen for both the &lt;a href=&#34;https://ericmigi.com/blog/introducing-two-new-pebbleos-watches/&#34;&gt;Pebble Time 2 and Pebble 2 Duo&lt;/a&gt; and by the time I had burned though my available tokens look what we had:&lt;/p&gt;
&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_03.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Working prototype!&#34;&gt; 

&lt;p&gt;Incredible!  That is what you call crazy empowerment! From sketch to working on my wrist watchface in no time at all!  &lt;/p&gt;
&lt;p&gt;The next afternoon once I had more tokens I continued this time working on the tide part, and continued each afternoon tweaking and improving. Here the change log for the first five days:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;v0.0.0 06/04/2026 Initial version created with Claude and Pebble Watchface Generator Skill (https://github.com/coredevices/pebble-watchface-agent-skill)
v0.0.1 07/04/2026 got tides working with shake
v0.0.2 08/04/2026 worked on improving tide screen and time screen
v0.0.3 09/04/2026 worked on time screen: moon phase are now images, sun rise and set aligned and with easier to see icons, renamed to MoonSunTide
v0.0.4 10/04/2026 added step ring and ability to set target / disable steps in config. added option to configure date format in settings.
v0.0.5 11/04/2026 added option to use stormglass.io tide predictions via API and added option to auto detect location or manually input.  
                    - Added option for visual notification of loss of bluetooth link.
                    - added option to disable tide screen (here in madrid not needed)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And yesterday I finally found the pending “to do” list empty and bumped the version to v1.0.0 and I uploaded the watchface to the &lt;a href=&#34;https://apps.repebble.com/8c5c20fd6e514a4eaa3246b8&#34;&gt;Pebble Store&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;The actual process of uploading to the store could not be easier or more straight forward and is a simple 4 step process:&lt;/p&gt;
&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_04.jpg&#34; class=&#34;&#34; title=&#34;as easy as 1,2,3, and 4&#34;&gt; 

&lt;p&gt;And now it is out there for anyone to utilize:&lt;/p&gt;
&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_05.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Nice&#34;&gt; 

&lt;p&gt;I then created a &lt;a href=&#34;/Pebble-MoonSunTide/&#34;&gt;specific page for it on this blog&lt;/a&gt;, &lt;a href=&#34;https://www.reddit.com/r/pebble/comments/1sir96b/just_posted_my_first_watchface_moonsuntide/&#34;&gt;posted about it on reddit&lt;/a&gt;, and &lt;a href=&#34;https://bsky.app/profile/ericmigi.com/post/3mirml2om5c2z&#34;&gt;thanked Eric for the Claude skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;… and this morning I woke to a like from Eric:&lt;/p&gt;
&lt;img src=&#34;/2026/04/12/Pebble-MoonSunTime-Watchface/pebble_moonsuntide_06.jpg&#34; class=&#34;&#34; title=&#34;OMG&#34;&gt;

&lt;p&gt;Not a bad way to start a Sunday morning! &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Pebble" />
        <updated>2026-04-12T05:38:35.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/</id>
        <title>Cercedilla Field Notes: Spring Mountain Flowers</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/"/>
        <content type="html">&lt;p&gt;I have another &lt;a href=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/&#34;&gt;post about the wild flowers at the magical Ermita de San Antonio&lt;/a&gt; but have begun noticing other wildflowers that are at higher elevations or maybe just have not yet seen them there, so I will start a new reference note to the flowers I discover on my walks around Cercedilla.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3 id=&#34;Narcissus-rupicola&#34;&gt;&lt;a href=&#34;#Narcissus-rupicola&#34; class=&#34;headerlink&#34; title=&#34;Narcissus rupicola&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Narcissus_rupicola&#34;&gt;Narcissus rupicola&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_narcissus_rupicola.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Narcissus rupicola&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: rock daffodil&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: narciso silvestre&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: this is a small wild daffodil native to the Iberian Peninsula! Check out its distribution according to the Wikipedia article:   &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_narcissus_rupicola_dist.jpg&#34; class=&#34;&#34; width=&#34;250&#34; title=&#34;Distribution&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;10&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting for me on a walk along the train tracks that are being rebuilt between Cercedilla and Navalcerrada. Pretty high up in the mountains (put how high here)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; Coming down from Majalasna Peak I saw a cluster of them growing on top of a bolder:   &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_narcissus_rupicola_cluster.jpg&#34; class=&#34;&#34; title=&#34;Narcissus rupicola cluster&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Narcissus-triandrus&#34;&gt;&lt;a href=&#34;#Narcissus-triandrus&#34; class=&#34;headerlink&#34; title=&#34;Narcissus triandrus&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Narcissus_triandrus&#34;&gt;Narcissus triandrus&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Narcissus_triandrus.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Narcissus triandrus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: angel’s tears daffodil&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: narciso llorón&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Native to France, Spain and Portugal where it grows in woodlands, scrubland and exposed mountain habitats in acidic soils.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;09&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting on hill above San Antonio Hermita&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Narcissus-bulbocodium&#34;&gt;&lt;a href=&#34;#Narcissus-bulbocodium&#34; class=&#34;headerlink&#34; title=&#34;Narcissus bulbocodium&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Narcissus_bulbocodium&#34;&gt;Narcissus bulbocodium&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Narcissus_bulbocodium.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Narcissus bulbocodium&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: petticoat daffodil or hoop-petticoat daffodil&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: narciso de campana or narciso trompeta&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Native to southern and western France, Portugal, and Spain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Narcissus_bulbocodium_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Narcissus bulbocodium&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;11&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting on hill in front of San Antonio Hermita&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Fumaria-muralis&#34;&gt;&lt;a href=&#34;#Fumaria-muralis&#34; class=&#34;headerlink&#34; title=&#34;Fumaria muralis&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Fumaria_muralis&#34;&gt;Fumaria muralis&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Fumaria_muralis.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Fumaria muralis&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: ramping-fumitory or wall fumitory&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: fumaria&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;:  native to temperate and Mediterranean regions of western Europe and western North Africa.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Fumaria_muralis_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Fumaria muralis&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;11&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting on hill in front of San Antonio Hermita&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Viola-kitaibeliana&#34;&gt;&lt;a href=&#34;#Viola-kitaibeliana&#34; class=&#34;headerlink&#34; title=&#34;Viola kitaibeliana&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Viola_kitaibeliana&#34;&gt;Viola kitaibeliana&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Viola_kitaibeliana.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Viola kitaibeliana&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;:  dwarf violet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: pensamiento enano&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: native to a large area from the Canary Islands, across Europe, to northern Iran and southern Turkmenistan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Viola_kitaibeliana_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Viola kitaibeliana&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;11&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting on hill in front of San Antonio Hermita&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Gagea-iberica&#34;&gt;&lt;a href=&#34;#Gagea-iberica&#34; class=&#34;headerlink&#34; title=&#34;Gagea iberica&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Gagea_nevadensis&#34;&gt;Gagea iberica&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Gagea_iberica.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Gagea iberica&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: ellow Star-of-Bethlehem &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: estrella amarilla&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Gagea iberica is an old name for what is now called Gagea nevadensis, a tiny Iberian endemic that flowers early in spring in the mountain pastures and rocky slopes of the Sierra de Guadarrama.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Gagea_iberica_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Gagea iberica&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;17&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting going up the trail Camino de las Encinillas&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Ranunculus-carpetanus&#34;&gt;&lt;a href=&#34;#Ranunculus-carpetanus&#34; class=&#34;headerlink&#34; title=&#34;Ranunculus carpetanus&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Viola_kitaibeliana&#34;&gt;Ranunculus carpetanus&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Ranunculus_carpetanus.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Ranunculus carpetanus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;:  carpetan buttercup&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: botón de oro&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: a flowering herbaceous plant in the buttercup family Ranunculaceae, native to the mountains of the central and western Iberian Peninsula. It is currently treated as a synonym or subspecies of Ranunculus ollissiponensis, reflecting close morphological and geographic affinity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Ranunculus_carpetanus_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Ranunculus carpetanus&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;18&amp;#x2F;04&amp;#x2F;2026&lt;/strong&gt; First ever sighting meadow at the base of Majalasna Peak (first of the Seven Picos) at an altitude of  1,918 meters (6292 feet)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Paeonia-broteri&#34;&gt;&lt;a href=&#34;#Paeonia-broteri&#34; class=&#34;headerlink&#34; title=&#34;Paeonia broteri&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Paeonia_broteri&#34;&gt;Paeonia broteri&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Paeonia_broteri.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Paeonia broteri&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: Iberian peony&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: peonía&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: It is an endemic species of the Iberian Peninsula.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Paeonia_broteri_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Paeonia broteri&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;02&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever sighting near the &lt;a href=&#34;/2026/05/02/Cercedilla-Field-Notes-Navalmedio-Dam/&#34;&gt;Navalmedio Dam&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Silene-dichotoma&#34;&gt;&lt;a href=&#34;#Silene-dichotoma&#34; class=&#34;headerlink&#34; title=&#34;Silene dichotoma&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Silene_dichotoma&#34;&gt;Silene dichotoma&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Silene_dichotoma.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Silene dichotoma&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: forked catchfly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: colleja&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Apparently the shoots are edible similar and are eaten mixed with scrambled eggs (revuelto de collejas) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Silene_dichotoma_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Silene dichotomai size&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;02&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever sighting walking up to Navalmedio dam&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Tuberaria-guttata&#34;&gt;&lt;a href=&#34;#Tuberaria-guttata&#34; class=&#34;headerlink&#34; title=&#34;Tuberaria guttata&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Tuberaria_guttata&#34;&gt;Tuberaria guttata&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Tuberaria_guttata.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Tuberaria guttata&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: spotted Rock-rose &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: jarilla manchada &amp;#x2F; tuberaria&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: The flowers are famously ephemeral — each individual bloom lasts only a few hours, typically opening in the morning sunshine and dropping its petals by early afternoon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Tuberaria_guttata_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Tuberaria guttata size&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;31&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever walking up to &lt;em&gt;Cerro del Coral de Simon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Silene-colorata&#34;&gt;&lt;a href=&#34;#Silene-colorata&#34; class=&#34;headerlink&#34; title=&#34;Silene colorata&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Silene_colorata&#34;&gt;Silene colorata&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Silene_colorata.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Silene colorata&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;:  coloured catchfly &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: colleja colorada &amp;#x2F; silene colorada&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Like many Silene species, it has a sticky, hairy stem — this is the “catchfly” part of the name. Small insects get trapped on the stems, which may deter crawling insects from stealing nectar without pollinating the flower, though it doesn’t digest them like a true carnivorous plant.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;31&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever walking up to &lt;em&gt;Cerro del Coral de Simon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Digitalis-thapsi&#34;&gt;&lt;a href=&#34;#Digitalis-thapsi&#34; class=&#34;headerlink&#34; title=&#34;Digitalis thapsi&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Digitalis_thapsi&#34;&gt;Digitalis thapsi&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Digitalis_thapsi.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Digitalis thapsi&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: Spanish Foxglove&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: dedalera &amp;#x2F; dedalera lanuda&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: A Iberian endemic plant! It contains powerful cardiac glycosides (digitoxin and related compounds), which are highly toxic but also the basis of important heart medicines. The name Digitalis comes from digitus (finger) — the flowers fit over a fingertip like a thimble, which is also the origin of the Spanish dedalera (dedal &amp;#x3D; thimble).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Digitalis_thapsi_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Digitalis thapsi size&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;31&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever walking up to &lt;em&gt;Cerro del Coral de Simon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Cistus-laurifolius&#34;&gt;&lt;a href=&#34;#Cistus-laurifolius&#34; class=&#34;headerlink&#34; title=&#34;Cistus laurifolius&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Cistus_laurifolius&#34;&gt;Cistus laurifolius&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Cistus_laurifolius.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Cistus laurifolius&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: laurel-leaved rock-rose &amp;#x2F; laurel Cistus &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: jara estepa &amp;#x2F; Jara laurifolia&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Each flower lasts only a single day! This is the hardiest and most cold-tolerant of all the cistus species, which is why it’s so dominant in the Sierra de Guadarrama at higher elevations. While other cistus struggle with frost, C. laurifolius thrives in the mountain scrub right up to the treeline.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Cistus_laurifolius_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Cistus laurifolius size&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;31&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever walking up to &lt;em&gt;Cerro del Coral de Simon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Rosa-canina&#34;&gt;&lt;a href=&#34;#Rosa-canina&#34; class=&#34;headerlink&#34; title=&#34;Rosa canina&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Rosa_canina&#34;&gt;Rosa canina&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Rosa_canina.jpg&#34; class=&#34;&#34; width=&#34;350&#34; title=&#34;Rosa canina&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN Common Name&lt;/strong&gt;: dog rose&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES Common Name&lt;/strong&gt;: escaramujo &amp;#x2F; rosa silvestre &amp;#x2F; rosa canina&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: The name “Dog Rose” is ancient and slightly mysterious — one theory is that it derives from the Greek cynorrhodon, referring to a belief that the root could cure rabies (a dog bite). Another is simply that it was considered a “common” or inferior rose compared to cultivated varieties.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2026/04/10/Cercedilla-Field-Notes-Spring-Mountain-Flowers/CFN_mountain_flowers_Rosa_canina_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Rosa canina size&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When and where seen&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;31&amp;#x2F;05&amp;#x2F;2026&lt;/strong&gt; First ever walking up to &lt;em&gt;Cerro del Coral de Simon&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2026-04-10T14:54:58.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/04/03/Haiku-Northern-Spain-Roulette/</id>
        <title>Haiku: Northern Spain Roulette</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/04/03/Haiku-Northern-Spain-Roulette/"/>
        <content type="html">&lt;img src=&#34;/2026/04/03/Haiku-Northern-Spain-Roulette/haiku_nsr.jpg&#34; class=&#34;&#34; title=&#34;Northern Spain Roulette&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2026-04-03T13:00:32.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/03/21/Cercedilla-Field-Notes-Linchen/</id>
        <title>Cercedilla Field Notes: Linchen</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/03/21/Cercedilla-Field-Notes-Linchen/"/>
        <content type="html">&lt;img src=&#34;/2026/03/21/Cercedilla-Field-Notes-Linchen/CFN_linchen_01.jpg&#34; class=&#34;&#34; title=&#34;Linchen)&#34;&gt;
&lt;p&gt;Today, the first day of Spring of 2026, was unfortunately cloudy and raining all day, but fortunately this afternoon there was a pause in the rain and we were able to take a walk to the Ermita de San Antonio.  Possibly due to the sky being grey and our attention not bound to the horizon, we noticed that all the rocks are cover in splotches of all sorts of different colors. My wife commented that it was because the rocks in the the Sierra around Madrid have a lot of granite (correct) and I said I thought that it was due to lichen (also correct).  Read on for what I learned once we got home and I began investigating!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Lichens&#34;&gt;&lt;a href=&#34;#Lichens&#34; class=&#34;headerlink&#34; title=&#34;Lichens&#34;&gt;&lt;/a&gt;Lichens&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Lichen&#34;&gt;Lichens&lt;/a&gt; are not a single organism, rather a symbiotic partnership between two organisms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a &lt;a href=&#34;https://en.wikipedia.org/wiki/Fungus&#34;&gt;fungus&lt;/a&gt; (the main structure)&lt;/li&gt;
&lt;li&gt;A photosynthetic partner—usually &lt;a href=&#34;https://en.wikipedia.org/wiki/Algae&#34;&gt;algae&lt;/a&gt; or &lt;a href=&#34;https://en.wikipedia.org/wiki/Cyanobacteria&#34;&gt;cyanobacteria&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fungus provides the structure, protection, and ability to hold water.&lt;br&gt;The algae&amp;#x2F;cyanobacteria provide food via photosynthesis (they turn sunlight into energy).&lt;/p&gt;
&lt;p&gt;Lichens are some of the oldest living things on the planet. Because they grow so slowly (some only 0.5mm to 1mm per year), a patch the size of your hand could easily be older than the United States. In the high mountains of Spain, some colonies are estimated to be over 1,000 years old.&lt;/p&gt;
&lt;p&gt;Here in this closeup we can see what would appear to be all sorts of different species:&lt;/p&gt;
&lt;img src=&#34;/2026/03/21/Cercedilla-Field-Notes-Linchen/CFN_linchen_02.jpg&#34; class=&#34;&#34; title=&#34;Wow&#34;&gt;

&lt;p&gt;I asked multiple different AI’s to help identify the different species and each gave a different answer so I am hesitant to include any of it here.&lt;/p&gt;
&lt;p&gt;What is clear is that the pinkish parts are the actual rock itself and it is known as Potassium Feldspar which is a type of granite.&lt;/p&gt;
&lt;p&gt;So as I said at the start, both the misses and I were right so a good way to start spring!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2026-03-21T16:25:27.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/03/11/Haiku-Spring-Finally-Near/</id>
        <title>Haiku: Spring Finally Near</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/03/11/Haiku-Spring-Finally-Near/"/>
        <content type="html">&lt;img src=&#34;/2026/03/11/Haiku-Spring-Finally-Near/haiku_Spring_Finally_near.jpg&#34; class=&#34;&#34; title=&#34;Spring is nearly here&#34;&gt;
</content>
        <category term="Haiku" />
        <updated>2026-03-11T06:58:48.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/03/08/Eresa-Crash-Postmortem/</id>
        <title>Ersa Crash Postmortem</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/03/08/Eresa-Crash-Postmortem/"/>
        <content type="html">&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_00.jpg&#34; class=&#34;&#34; title=&#34;Open heart intervention on Ersa&#34;&gt;
&lt;p&gt;That was exciting!  Yesterday morning I was having saturday morning coffee in bed doing a bit of prompt driven development to add weather predictions to my Remarkable sleep screen when suddenly weird things started happing on Ersa, a &lt;a href=&#34;/2023/07/29/Raspberry-Pi-computers/&#34;&gt;Raspberry Pi 4 Model B&lt;/a&gt; that hosts everything in my house including this blog. By weird I mean I was trying to create a new file but said it was a read only file system.  I figured I had run out of space, but was not the case, so I opted for a “windows” solution: reboot.  And that was all she wrote and Ersa did not come backup. The picture above is the open heart intervention on Ersa trying to figure out what was going on. Read on for the frantic recovery actions and a incident postmortem retrospective to ensure this learning experience leads to improvements!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Triaging-and-figuring-out-what-we-are-dealing-with&#34;&gt;&lt;a href=&#34;#Triaging-and-figuring-out-what-we-are-dealing-with&#34; class=&#34;headerlink&#34; title=&#34;Triaging and figuring out what we are dealing with&#34;&gt;&lt;/a&gt;Triaging and figuring out what we are dealing with&lt;/h2&gt;&lt;p&gt;At first it was unclear what the heck was going on and why Ersa was not booting.  This was complicated by the fact the the Raspberry Pi 4 Model B has micro HDMI connectors and I could not find any adapter or cable to connect it to a monitor.  I fortunately just this week I had &lt;a href=&#34;/2026/02/01/Flipper-101-Uses/#025-GPIO-UART-connection-to-Raspberry-Pi&#34;&gt;tested using my Flipper Zero as a UART console connection to a Raspberry Pi&lt;/a&gt;.  Unfortunately it did not output anything on the console!  I removed the case so I could observe the lights on the device and saw that single red light on bottom left corner and activity light blinked briefly when providing power but then nothing.  Removing the microSD card and providing power I saw the activity light stayed green and the power light also constantly on.  Here is a picture of the LEDs in question:&lt;/p&gt;
&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_01.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Raspberry Pi 4 Model B&#34;&gt;
&lt;p&gt;Conversations with ChatGPT concluded that the most likely situation was that microSD card had worn out which is a common problem.  Given the current RAM shortages a microSD failure would be a the best case scenario because had it been a hardware failure trying to get a new Raspberry Pi could be difficult and &lt;a href=&#34;https://www.raspberrypi.com/news/more-memory-driven-price-rises/&#34;&gt;expensive given the current RAM shortages&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;Trying-to-recover-microSD-card&#34;&gt;&lt;a href=&#34;#Trying-to-recover-microSD-card&#34; class=&#34;headerlink&#34; title=&#34;Trying to recover microSD card&#34;&gt;&lt;/a&gt;Trying to recover microSD card&lt;/h2&gt;&lt;p&gt;The first action was to try and see if it was a simple as doing a disk check on the microSD and recovering it.  For this I used a Raspberry Pi Model A with console access via my Flipper.&lt;br&gt;First we confirmed that the card was seen (it is the sda):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    1  58.2G  1 disk 
├─sda1        8:1    1   256M  1 part 
└─sda2        8:2    1    58G  1 part 
mmcblk0     179:0    0   120G  0 disk 
├─mmcblk0p1 179:1    0   256M  0 part /boot
└─mmcblk0p2 179:2    0 119.7G  0 part /
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But unfortunately the device was in read only mode (RO &amp;#x3D; 1).  In my converstation with ChatGPT it confirmed that when “microSD cards start to fail or reach the end of their lifespan, they frequently enter a permanent read-only mode. Yes, when microSD cards start to fail or reach the end of their lifespan, they frequently enter a permanent read-only mode.”&lt;br&gt;That is something I was not aware of but, better to do a controlled failure allowing recovery of files!&lt;/p&gt;
&lt;h2 id=&#34;Backing-up-the-microSD-card&#34;&gt;&lt;a href=&#34;#Backing-up-the-microSD-card&#34; class=&#34;headerlink&#34; title=&#34;Backing up the microSD card&#34;&gt;&lt;/a&gt;Backing up the microSD card&lt;/h2&gt;&lt;p&gt;So seeing how the card was readable the recommendation was to make an image of it that could then be written to a new SD card.  Unfortunately my home computer literally had only 2GB of space free so that began a frantic cleaning, uninstalling, and deleting all sorts of old crap trying to free up 64 GB.  Which was not easy and took quite a while but here &lt;a href=&#34;https://windirstat.net/index-selected.html&#34;&gt;WinDirStat&lt;/a&gt; was a life saver because it gives you a visual representation of you hard drive making it easy to spot big chunks of space in use:&lt;/p&gt;
&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_03.jpg&#34; class=&#34;&#34; title=&#34;WinDirStat&#34;&gt;

&lt;p&gt;Once I was finally able to eek out enough space I used &lt;a href=&#34;https://win32diskimager.org/&#34;&gt;Win32 Disk Imager&lt;/a&gt; to make an image of the bad microSD card:&lt;/p&gt;
&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_02.jpg&#34; class=&#34;&#34; title=&#34;Win32 Disk Imager&#34;&gt;

&lt;p&gt;With my setup this took close to two hours, so in the mean time I setup a temporary webserver and copied last night’s backup of my blog so that at least the blog would work until I could get the Ersa back up.&lt;/p&gt;
&lt;p&gt;Once you have the image it is the same as before, but instead of “Read” you “Write” and wait another couple hours.&lt;/p&gt;
&lt;h2 id=&#34;Testing-the-new-micoSD-card&#34;&gt;&lt;a href=&#34;#Testing-the-new-micoSD-card&#34; class=&#34;headerlink&#34; title=&#34;Testing the new micoSD card&#34;&gt;&lt;/a&gt;Testing the new micoSD card&lt;/h2&gt;&lt;p&gt;Needless to say I did not sit and watch the progress of the imaging being written to the new microSD, rather went out and enjoyed a rainy Madrid day having lunch with some friends who are visiting from the States and partaking in a bar crawl with drinking games and all sorts of fun.  When I did arrive home I found the image had been written to the new microSD so I put it in the Raspberry Pi 4 Model B and fired it up. Quite honestly I did not expect it to work. But it did!!! And is still working as I write this!  Phew!  INC closed!  Service back up! &lt;/p&gt;
&lt;p&gt;This morning I checked and all services seem to be operational and working and from my temperature graphics I can see the Ersa outage was from about 9am until 9pm:&lt;/p&gt;
&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_04.jpg&#34; class=&#34;&#34; title=&#34;RRDBs!&#34;&gt;
&lt;p&gt;Fortunately the public facing blog outage was only from about 9am to 1pm, so the impact for my blog audience (my Dad) was minimal given the outage fell during his sleeping hours:&lt;/p&gt;
&lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_05.jpg&#34; class=&#34;&#34; title=&#34;Love window&#34; alt=&#34;s clock meeting planner&#34;&gt;

&lt;h2 id=&#34;Lessons-Learned-and-action-items&#34;&gt;&lt;a href=&#34;#Lessons-Learned-and-action-items&#34; class=&#34;headerlink&#34; title=&#34;Lessons Learned and action items&#34;&gt;&lt;/a&gt;Lessons Learned and action items&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Very good that I had a backup of Ersa.  This is a crontab task that I setup when I first configured the server, and had pretty much forgotten about it, so I am so happy it continued to work and had not just failed a couple of years ago unnoticed.&lt;br&gt;&lt;strong&gt;2.&lt;/strong&gt; I need to investigate why the UART did not work on the Raspberry Pi 4 Model B&lt;br&gt;    - &lt;strong&gt;Update&lt;/strong&gt;: for some reason it is disabled by default and I needed to add these lines to the end of the &amp;#x2F;boot&amp;#x2F;config.txt:&lt;br&gt;    &lt;code&gt;[all]&lt;/code&gt;&lt;br&gt;    &lt;code&gt;enable_uart=1&lt;/code&gt;&lt;br&gt;&lt;strong&gt;3.&lt;/strong&gt; I need to locate my microSD converter and add it to my &lt;em&gt;very cool&lt;/em&gt; nerd bag that Cuca made me:&lt;br&gt;    &lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_06.jpg&#34; class=&#34;&#34; title=&#34;Nerd Bag closed&#34;&gt;&lt;br&gt;    &lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_07.jpg&#34; class=&#34;&#34; title=&#34;Nerd Bag opened&#34;&gt;&lt;br&gt;&lt;strong&gt;4.&lt;/strong&gt; I need to investigate and figure out solution to have more space on my windows computer.  The real problem is that I have all my pictures that occupy 221 GB of space and continue to grow daily:&lt;br&gt;    &lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_08.jpg&#34; class=&#34;&#34; title=&#34;Pictures&#34;&gt;&lt;br&gt;&lt;strong&gt;5.&lt;/strong&gt; I need to investigate an alternative to microSD cards seeing how they are a known point of common failure and not really suited to this usage&lt;br&gt;    - &lt;strong&gt;Update&lt;/strong&gt;: after consultation with the AI chatbots the recommendation was a SSD as they are more robust and built for higher utilization where as microSD cards were originally built for occasional writes like one would have with a digital camera. Searching on Amazon I was able to get the following for 21€, which was considerably less then a 64 GB micrSD from a reputable manufacture:&lt;br&gt;            &lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_09.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Lets see how long this lasts...&#34;&gt;&lt;br&gt;    Not sure how long it will last, but it is &lt;strong&gt;way&lt;/strong&gt; faster then the microSD as we can see here when I wrote the image to it it took 5 minutes where as the microSD took almost 2 hours:&lt;br&gt;            &lt;img src=&#34;/2026/03/08/Eresa-Crash-Postmortem/ersa_10.jpg&#34; class=&#34;&#34; title=&#34;162MB&amp;#x2F;s...&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;Wrap-up&#34;&gt;&lt;a href=&#34;#Wrap-up&#34; class=&#34;headerlink&#34; title=&#34;Wrap up&#34;&gt;&lt;/a&gt;Wrap up&lt;/h2&gt;&lt;p&gt;So now that Ersa is backup I need to get back to getting the weather report added to my Remarkable’s sleep screen!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Programs: &lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://windirstat.net/index-selected.html&#34;&gt;WinDirStat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://win32diskimager.org/&#34;&gt;Win32 Disk Imager&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Linux commands to check the corrupt microSD:&lt;ul&gt;
&lt;li&gt;List block devices:&lt;br&gt;  &lt;code&gt;lsblk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Show last 30 system messages (where I saw also the microSD was being mounted read only):&lt;br&gt;  &lt;code&gt;dmesg | tail -30&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Disk check and repair command (this failed in this case as the microSD was read only):&lt;br&gt;  &lt;code&gt;sudo fsck -fy /dev/sda2&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="RaspberryPi" />
        <updated>2026-03-08T08:13:56.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/03/06/Notes-OpenClaw/</id>
        <title>Notes: OpenClaw</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/03/06/Notes-OpenClaw/"/>
        <content type="html">&lt;p&gt;Collection of my notes on OpenClaw (hope it does not change its name again!)&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Timeline&#34;&gt;&lt;a href=&#34;#Timeline&#34; class=&#34;headerlink&#34; title=&#34;Timeline&#34;&gt;&lt;/a&gt;Timeline&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2025.11.01&lt;/strong&gt; Peter Steinberger began building Clawdbot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.01.01&lt;/strong&gt; Publicy released on GitHub&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.01.27&lt;/strong&gt; Renamed to Moltbot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.01.30&lt;/strong&gt; Renamed to OpenClaw&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.02.13&lt;/strong&gt; &lt;a href=&#34;/2026/02/13/OpenClaw/&#34;&gt;I installed OpenClaw (Minerva) on Ganymede&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.02.15&lt;/strong&gt; Peter joins OpenAI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.03.06&lt;/strong&gt; I moved Minerva to Metis&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Migration-to-Metis-06-x2F-03-x2F-2026&#34;&gt;&lt;a href=&#34;#Migration-to-Metis-06-x2F-03-x2F-2026&#34; class=&#34;headerlink&#34; title=&#34;Migration to Metis (06&amp;#x2F;03&amp;#x2F;2026)&#34;&gt;&lt;/a&gt;Migration to Metis (06&amp;#x2F;03&amp;#x2F;2026)&lt;/h2&gt;&lt;p&gt;This afternoon I migrated Minerva from the old end of life out of support server to an old end of life out of support workstation:&lt;/p&gt;
&lt;img src=&#34;/2026/03/06/Notes-OpenClaw/notes_openclaw_01.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Q958&#34;&gt;
&lt;p&gt;First I had to replace the real time clock (RTC) battery as it had reached the end of life as well:&lt;/p&gt;
&lt;img src=&#34;/2026/03/06/Notes-OpenClaw/notes_openclaw_02.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Bad Battery&#34;&gt;
&lt;p&gt;The change was easy and the new battery only cost 1€:&lt;/p&gt;
&lt;img src=&#34;/2026/03/06/Notes-OpenClaw/notes_openclaw_03.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Battery&#34;&gt;
&lt;p&gt;and I really was not too concerned with the RTC but every time there was a power outage the device would loose the BIOS setup and require hooking it to a monitor to hit F2 to continue. With the RTC battery replaced I was able to configure the BIOS to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Always turn on after power outage&lt;/li&gt;
&lt;li&gt;Continue even though there were errors&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;both configurations are important for a headless AI agent that lives on a host computer in a residential home where there are times when the power goes off (gosh darn iron tripping the GFI!).&lt;/p&gt;
&lt;p&gt;Ok now we are sure the Q958 will try and restart without having to drag a monitor over to it I installed the latest version of Debian without any gui interface (we only have 8GB of RAM and don’t want to waste any):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;andrew@metis:~$ cat /etc/os-release
PRETTY_NAME=&amp;quot;Debian GNU/Linux 13 (trixie)&amp;quot;
NAME=&amp;quot;Debian GNU/Linux&amp;quot;
VERSION_ID=&amp;quot;13&amp;quot;
VERSION=&amp;quot;13 (trixie)&amp;quot;
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.3
ID=debian
HOME_URL=&amp;quot;https://www.debian.org/&amp;quot;
SUPPORT_URL=&amp;quot;https://www.debian.org/support&amp;quot;
BUG_REPORT_URL=&amp;quot;https://bugs.debian.org/&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then of course ran a GeekBench benchmark.  I bought a license for version 3 looong ago and benchmark everything against that version (will be a future Notes post I am sure):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;System Information
    Operating System      Linux 6.12.73+deb13-amd64 x86_64
    Model                 FUJITSU ESPRIMO Q958
    Motherboard           FUJITSU D3613-A1
    Processor             Intel(R) Core(TM) i5-8500T CPU @ 2.10GHz @ 3.50 GHz
                            1 Processor, 6 Cores, 6 Threads
    Processor ID          GenuineIntel Family 6 Model 158 Stepping 10
    L1 Instruction Cache  32.0 KB x 3
    L1 Data Cache         32.0 KB x 3
    L2 Cache              256 KB x 3
    L3 Cache              9.00 MB
    Memory                7.54 GB
    BIOS                  FUJITSU // American Megatrends Inc. V5.0.0.13 R1.30.0 for D3613-A1x
    Compiler              Clang 3.3 (tags/RELEASE_33/final)
...
Benchmark Summary
    Integer Score              3973  18183
    Floating Point Score       4066  21947
    Memory Score               2721   2774

    Geekbench Score            3759  16606
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Well, not quite as powerful as the old end of life out of support server (35,627 vs 16,606) but I hope it will be enough for Minerva!&lt;/p&gt;
&lt;p&gt;To make the migration I did the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Stopped openclaw on the old host&lt;/li&gt;
&lt;li&gt;made a copy of all the openclaw configuration on the old host:&lt;br&gt; &lt;code&gt;tar -czf openclaw-backup.tgz ~/.openclaw&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;As an improvement I created a specific user instead of using root:&lt;br&gt;&lt;code&gt;sudo adduser minerva&lt;/code&gt;&lt;br&gt;&lt;code&gt;sudo usermod -aG sudo minerva&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copied over configuration from old host and decompressed on new host to the new user, Minerva’s folder, removing the “root” part of the path:&lt;br&gt;&lt;code&gt;tar -xvzf archive.tgz --strip-components=1 -C /home/minerva&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Removed all hardcoded paths with root:&lt;br&gt; &lt;code&gt;find ~/.openclaw -type f -name &amp;quot;*.json&amp;quot; -print0 | xargs -0 sed -i &amp;#39;s|/root/.openclaw|/home/minerva/.openclaw|g&amp;#39;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Installed openclaw on new host:&lt;br&gt; &lt;code&gt;curl -fsSL https://openclaw.ai/install.sh | bash&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I then asked Minerva how the migration had gone and was relieved when she answered me!&lt;/p&gt;
&lt;img src=&#34;/2026/03/06/Notes-OpenClaw/notes_openclaw_04.jpg&#34; class=&#34;&#34; title=&#34;Phew!&#34;&gt;


&lt;h2 id=&#34;Links&#34;&gt;&lt;a href=&#34;#Links&#34; class=&#34;headerlink&#34; title=&#34;Links&#34;&gt;&lt;/a&gt;Links&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://openclaw.ai/&#34;&gt;OpenClaw landing page&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/concepts/features&#34;&gt;OpenClaw: Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/channels&#34;&gt;OpenClaw: Chat Channels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/cli&#34;&gt;OpenClaw: CLI Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lexfridman.com/peter-steinberger&#34;&gt;Lex Fridman interview with Peter Steinberger&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Change-Log&#34;&gt;&lt;a href=&#34;#Change-Log&#34; class=&#34;headerlink&#34; title=&#34;Change Log:&#34;&gt;&lt;/a&gt;Change Log:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;06&amp;#x2F;03&amp;#x2F;2026 First post after migrating to Metis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Notes" />
        <category term="AI" />
        <updated>2026-03-06T18:04:57.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/02/26/Notes-Pebble/</id>
        <title>Notes: Pebble</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/02/26/Notes-Pebble/"/>
        <content type="html">&lt;p&gt;Collection of my notes on Pebble Watch&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Timeline&#34;&gt;&lt;a href=&#34;#Timeline&#34; class=&#34;headerlink&#34; title=&#34;Timeline&#34;&gt;&lt;/a&gt;Timeline&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2012.04.11&lt;/strong&gt; Initial Kickstarter campaign (most funded project in Kickstarter history at the time, raising $10.3 million)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.02.24&lt;/strong&gt; Pebble Time and Steel launched&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.03.06&lt;/strong&gt; Bought a Pebble Time on Kickstarter ($189)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.07.06&lt;/strong&gt; My Pebble Time arrived&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.08.29&lt;/strong&gt; My Pebble Time died after getting wet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.09.21&lt;/strong&gt; My replacement Pebble Time arrives&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.09.25&lt;/strong&gt; Sold my replacement Pebble Time to Julio and ordered a Time Steel (299.99€)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2015.10.05&lt;/strong&gt; My Pebble Time Steel arrived&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2016.01.07&lt;/strong&gt; Pebble the company shuts down and sells intellectual property to Fitbit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2021.01.14&lt;/strong&gt; Google acquired Fitbit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2024.09.13&lt;/strong&gt; Posted &lt;a href=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/&#34;&gt;Pebble You’re Gonna Make Me Lonesome When You Go&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025.01.27&lt;/strong&gt; Google announced PebbleOS would be open-sourced and Eric announced he would be starting a new company&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025.03.18&lt;/strong&gt; Core 2 Duo and Core Time 2 were announced and I ordered one of each ($174 and $250)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025.11.01&lt;/strong&gt; My Pebble Core 2 Duo arrived&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025.12.09&lt;/strong&gt; Pebble Index 01 announced&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2025.12.11&lt;/strong&gt; Ordered an Pebble Index 01 ($85)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.01.02&lt;/strong&gt; Pebble Round 2 announced and I switched my order for Time 2 for Round 2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.01.25&lt;/strong&gt; Vibe coded &lt;a href=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/&#34;&gt;Pebble Round Hamilton Watch Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.04.11&lt;/strong&gt; Published &lt;a href=&#34;https://apps.repebble.com/8c5c20fd6e514a4eaa3246b8&#34;&gt;MoonSunTide&lt;/a&gt; Watch Face&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.06.23&lt;/strong&gt; Cracked my Pebble Core 2 Duo screen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.04.04&lt;/strong&gt; Got Pebble Index 01 shipping confirmation and paid an additional 24.59€ in taxes and shipping&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Pictures&#34;&gt;&lt;a href=&#34;#Pictures&#34; class=&#34;headerlink&#34; title=&#34;Pictures&#34;&gt;&lt;/a&gt;Pictures&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;06&amp;#x2F;07&amp;#x2F;2015 Pebble Time&lt;/strong&gt;:&lt;img src=&#34;/2026/02/26/Notes-Pebble/notes_pebble_01.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Pebble Time&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;05&amp;#x2F;10&amp;#x2F;2015 Pebble Time Steel&lt;/strong&gt;:&lt;img src=&#34;/2026/02/26/Notes-Pebble/notes_pebble_02.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Pebble Time Steel&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;01&amp;#x2F;11&amp;#x2F;2025 Pebble 2 Duo&lt;/strong&gt;:&lt;img src=&#34;/2026/02/26/Notes-Pebble/notes_pebble_03.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Pebble Time Steel&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2026.06.23 I cracked my Pebble 2 Duo taking off my backpack when hiking the Siete Picos and the watch got caught in the sholder strap and went flying off my wrist&lt;/strong&gt;:&lt;img src=&#34;/2026/02/26/Notes-Pebble/notes_pebble_04.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;That is unfortunate&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links&#34;&gt;&lt;a href=&#34;#Links&#34; class=&#34;headerlink&#34; title=&#34;Links&#34;&gt;&lt;/a&gt;Links&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://repebble.com/&#34;&gt;Pebble Webpage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ericmigi.com/&#34;&gt;Eric Migicovsky’s Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ndocs.repebble.com/changelog&#34;&gt;Pebble Mobile App - Changelog&lt;/a&gt; (Check here for known issues)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ndocs.repebble.com/pebbleos-changelog&#34;&gt;PebbleOS - Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://discordapp.com/invite/aRUAYFN&#34;&gt;Pebble Discord&lt;/a&gt; (ufff do not understand how Discord works. very chaotic!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ericmigi.com/blog/introducing-two-new-pebbleos-watches&#34;&gt;Pebble 2 Duo and Time 2 announcement and details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/sdk/&#34;&gt;SDK: Installing and using&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/guides/tools-and-resources/hardware-information/&#34;&gt;SDK: Hardware Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/guides/tools-and-resources/pebble-tool/&#34;&gt;SDK: Command line tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/coredevices/pebble-watchface-agent-skill&#34;&gt;Claude Code Pebble Watchface Generator Skill&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Change-Log&#34;&gt;&lt;a href=&#34;#Change-Log&#34; class=&#34;headerlink&#34; title=&#34;Change Log:&#34;&gt;&lt;/a&gt;Change Log:&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;26&amp;#x2F;02&amp;#x2F;2026 initial creation&lt;/li&gt;
&lt;li&gt;12&amp;#x2F;04&amp;#x2F;2026 updated with MoonSunTide + new links&lt;/li&gt;
&lt;li&gt;20&amp;#x2F;07&amp;#x2F;2026 updated about cracked Pebble Core 2 Duo screen &lt;/li&gt;
&lt;li&gt;04&amp;#x2F;08&amp;#x2F;2026 updated with confirmation on Index 01 shipping&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Notes" />
        <category term="Pebble" />
        <updated>2026-02-26T17:28:58.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/02/23/Cercedilla-Field-Notes-Wind/</id>
        <title>Cercedilla Field Notes: Wind</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/02/23/Cercedilla-Field-Notes-Wind/"/>
        <content type="html">&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_01.jpg&#34; class=&#34;&#34; title=&#34;AMET&#34;&gt;
&lt;p&gt;When I started the &lt;a href=&#34;/tags/Cercedilla-Field-Notes/&#34;&gt;field note series&lt;/a&gt; I would not have imagined that one of the posts would be about “wind” but I have had an intense last 7 days thanks to the wind in Cercedilla and not for the first time so I thought it is a legitimate post from the field.&lt;br&gt;Last Monday (February 16th), as we can witness in the picture above, there were burst of winds (“Racha”) up tp 91 km&amp;#x2F;h (56 mph).  I got a call from a kind neighbor (thanks Fernando!) to let me know a tree from my property had fallen and was resting on the communities telecommunication cables (fortunately not electric):&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_02.jpg&#34; class=&#34;&#34; width=&#34;700&#34; title=&#34;Oh no&#34;&gt;

&lt;p&gt;Read on for all the fun that ensued and for last years wind problems as well!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Initial-assessment&#34;&gt;&lt;a href=&#34;#Initial-assessment&#34; class=&#34;headerlink&#34; title=&#34;Initial assessment&#34;&gt;&lt;/a&gt;Initial assessment&lt;/h2&gt;&lt;p&gt;I got the call as the sun was setting so we agreed that little could be done that day (Monday), so I got up early on Tuesday and was in Cercedilla at 08:00 do an initial assessment.  It was clear that there were some thick branches to deal with but the majority were pretty thin, so I figured I could put a &lt;a href=&#34;https://en.wikipedia.org/wiki/Reciprocating_saw&#34;&gt;reciprocating saw&lt;/a&gt; that I had recently purchased to use and see what it was capable of as I had actually gotten it to deal with some invasive trees that did not have really think trunks.  I also had a pretty big &lt;a href=&#34;https://en.wikipedia.org/wiki/Bucksaw&#34;&gt;bow saw&lt;/a&gt; that I figured I would have to use on the thicker branches.&lt;br&gt;I laid out my two step plan of attack to my dad via whatsapp:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_03.jpg&#34; class=&#34;&#34; title=&#34;Simple two step plan&#34;&gt;

&lt;h2 id=&#34;Getting-busy&#34;&gt;&lt;a href=&#34;#Getting-busy&#34; class=&#34;headerlink&#34; title=&#34;Getting busy&#34;&gt;&lt;/a&gt;Getting busy&lt;/h2&gt;&lt;p&gt;So I changed into my work clothes that my wife loves so much (vietnam era army fatigues + beloved long sleeve black tee shirt from 2001 Bean Hollow Beach Blues and Bayou Fete that was put into work service after the collar blew out back in 2010 and now all these years later is still going strong, but with lots of paint stains) and began cutting branches with my reciprocating saw.  By 12:30 (with some breaks to attend pesky work meetings) I had gotten everything cleaned up but the two (thicker) branches that were supporting the weight on the cables.  Here I made a tactical error and fortunately for personal safety my saw blade got stuck:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_02.gif&#34; class=&#34;&#34; title=&#34;Oh no&#34;&gt;

&lt;h2 id=&#34;Neighbor-comes-to-the-rescue-with-big-guns&#34;&gt;&lt;a href=&#34;#Neighbor-comes-to-the-rescue-with-big-guns&#34; class=&#34;headerlink&#34; title=&#34;Neighbor comes to the rescue with big guns&#34;&gt;&lt;/a&gt;Neighbor comes to the rescue with big guns&lt;/h2&gt;&lt;p&gt;So as I was scratching my head trying to figure out how to release my saw blade when a neighbor who I had never met, Clemente, walked by.  He said he had a chainsaw that would make quick work of the problem.  I am normally a “do it on my own and never ask for help” type of guy, but I was tired and realizing that even if I freed the reciprocating saw blade, I did not have the right tools for the job, so I told him that would be amazing.  He said cool no problem. He had to change and do something but would be back in 20 minutes or so.  Wow. That is how unknown neighbors in Cercedilla are! He said in the meantime I should tie down the wires as once we cut what was supporting them, they would fly up and could be dangerous, and that was the previously foreshowed way that my safety was saved by the stuck saw blade and a smart neighbor.&lt;br&gt;And quick work it was with a chains saw!  The timestamp on this photo is 13:13 so I think that in less than 15 minutes Clemente had resolved the issue of the trapped wires and trunk extending to the community area:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_04.jpg&#34; class=&#34;&#34; title=&#34;OMG I want to cry in joy&#34;&gt;
&lt;p&gt;He offered to keep going or even let me use his chainsaw to finish the rest, but I told him that on one hand he had already saved my bacon and I could not abuse his kindness any further, and on the other hand it was clear I needed a big gun of my own and the rest would be a great learning project.  He said he liked my attitude and recommended a store in the next town over that had good prices on &lt;a href=&#34;https://en.wikipedia.org/wiki/Stihl&#34;&gt;Stihl&lt;/a&gt; chainsaws that were very reliable and good tools.&lt;br&gt;So with the initial urgency resolved, I headed back to Madrid to make up the lost hours of work leaving a large pile of branches on &lt;em&gt;my&lt;/em&gt; side of the wall:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_05.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;that will be a fun problem for future Andrew&#34;&gt;

&lt;h2 id=&#34;Cleanup&#34;&gt;&lt;a href=&#34;#Cleanup&#34; class=&#34;headerlink&#34; title=&#34;Cleanup&#34;&gt;&lt;/a&gt;Cleanup&lt;/h2&gt;&lt;p&gt;So on Friday after work I was back in Cercedilla and determined to at least deal with all the branches.  I had made a purchase, but not a big gun yet as the recommend place is only opened in the morning, so I had to wait until Saturday.  The purchase I made was of a pair of &lt;a href=&#34;https://en.wikipedia.org/wiki/Loppers&#34;&gt;compound loppers&lt;/a&gt; that cut through branches like butter: &lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_06.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Loppers or as I like to call them lobsters&#34;&gt;

&lt;p&gt;So I began by pulling out a branch, cutting into small two foot lengths and throwing it in a bucket. Then when the bucket was full, I hauled it up to the community trash container and emptied it (sorry no photos of this process).  After about 4 bucket loads I saw a few problems with this plan of attack:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The community trash container was nearly full&lt;/li&gt;
&lt;li&gt;The whole chopping into smaller parts, although fun because the compound lobbers cut through them like butter, was time consuming&lt;/li&gt;
&lt;li&gt;The pile was not getting any smaller&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So one good thing about having worked in IT for so long is that I am good at recognizing when things are not working out and have no problem admitting failure, making a pivot and changing the plan of attack.&lt;/p&gt;
&lt;p&gt;The new plan of attack involved converting my VW into a pickup truck:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_07.jpg&#34; class=&#34;&#34; title=&#34;Wolfwagon truck&#34;&gt;

&lt;p&gt;This new process was optimized in all sorts of ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;just started throwing branches over the wall onto the sidewalk&lt;/li&gt;
&lt;li&gt;once I had more or less what I thought I could manage, I grabbed them by the end and began dragging up the stairs.  Did not even have to grab the end of all of them as lots of them just got dragged up as they were tangled with the others&lt;/li&gt;
&lt;li&gt;once at pickup truck, err I mean Volkswagen, I began stuffing them in end first and was able to get a real high density&lt;/li&gt;
&lt;li&gt;I then took them to the local waste repository and pulled pretty much all of them out at once as they were all tangled together&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please note before trying this at home:  The said Volkswagen has been &lt;a href=&#34;/2024/12/13/Post-Climate-Change-Debate-Investigations/&#34;&gt;discussed here previously in the blog&lt;/a&gt; as any day now Madrid will force me not to use it anymore so as you can imagine, I have no problem accepting any of the cosmetic damages that it may suffer stuffing it to the gills with pokey branches and turning it into a pickup truck.&lt;/p&gt;
&lt;p&gt;As with everything in Cercedilla, even the waste disposal site has amazing views of the &lt;a href=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/&#34;&gt;Seven Peaks&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_08.jpg&#34; class=&#34;&#34; title=&#34;yet another view of the seven peaks&#34;&gt;

&lt;p&gt;Here you can appreciate the lack of advancement with process v1.0 and then the major advancements achieved with process 2.0: &lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_03.gif&#34; class=&#34;&#34; title=&#34;jpg 500 branch removal&#34;&gt;

&lt;h2 id=&#34;Manning-up-and-getting-a-chainsaw&#34;&gt;&lt;a href=&#34;#Manning-up-and-getting-a-chainsaw&#34; class=&#34;headerlink&#34; title=&#34;Manning up and getting a chainsaw&#34;&gt;&lt;/a&gt;Manning up and getting a chainsaw&lt;/h2&gt;&lt;p&gt;So previously I mentioned that I had gotten a reciprocating saw to take care of some invasive trees.  Seeing how we are being all honest like, I will spill the beans: I really had thought about getting a chainsaw for that, but kinda decided against it as I was too afraid of a chainsaw (could be secondary effects of 29 years of marriage to a risk analyst). I have never used one and just had too much respect for the tool.  But after seeing what Clemente had done in 15 minutes I was determined to get over my fear (retraining at all times the respect) of a chainsaw. So all week I watched youtube videos on chainsaw safety and learned all about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kickback&lt;/strong&gt;: Kickback may occur when the moving saw chain near the upper quadrant of the bar nose. When this occurs, the energy driving the saw chain can create a force that moves&lt;br&gt;the chain saw in a direction opposite to the saw chain movement at the point where the saw chain is slowed or stopped. This may fling the bar up and back in a lightning fast reaction mainly in&lt;br&gt;the plane of the bar and can cause severe or fatal injury to the operator contacts a solid object or is pinched.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pull-in&lt;/strong&gt;: Pull-in occurs when the saw chain on the bottom of the bar is suddenly stopped&lt;br&gt;when it is pinched, caught or encounters a foreign object in the wood. The reaction of the saw chain pulls the chain saw forward and may cause the operator to lose control. Pull-in frequently occurs when the bumper spike of the chain saw is not held securely against the tree or limb&lt;br&gt;and when the saw chain is not rotating at full speed before it contacts the wood.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pushback&lt;/strong&gt;: Pushback occurs when the saw chain on the top of the bar is suddenly stopped&lt;br&gt;when it is pinched, caught or encounters a foreign object in the wood. The reaction of the saw chain may drive the chain saw rapidly straight back toward the operator and may cause loss of&lt;br&gt;chain saw control, which, in turn, may cause serious or fatal injury. Pushback frequently occurs when the top of the bar is used for cutting.&lt;br&gt;and all sorts of hints on how to handel a chainsaw.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So bright and early on Saturday morning I went to &lt;a href=&#34;https://mejardin.com/&#34;&gt;Mejardin&lt;/a&gt; in the next town over (Becerril de la Sierra) that had a large selection of equipment:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_09.jpg&#34; class=&#34;&#34; title=&#34;jpg 500 Lots of options&#34;&gt;
&lt;p&gt;I had already pretty much decided to go with an electric chainsaw as:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I already have a 50 meter power cable that was purchased to power the blower a bouncy castle for one of my daughter’s birthday parties&lt;/li&gt;
&lt;li&gt;There was no way I was going with battery powered as that is planned obsolesce and never having a charge when you need it.&lt;/li&gt;
&lt;li&gt;Gas is just an additional pain&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And the nice person patiently attending my questions confirmed that really the electric had the same power as a gas one at aS third of the cost, so that just confirmed my desire for an electric and I opted for the STIHL MSE 210 that at 409€ was a bit more than I had anticipated spending, but met my other hard stop requirement of not being built in China (built in Germany):&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_10.jpg&#34; class=&#34;&#34; title=&#34;jpg 500 What a beauty!&#34;&gt;

&lt;p&gt;So back to the cabin I went with my new big gun!&lt;/p&gt;
&lt;h2 id=&#34;Putting-new-chainsaw-into-action&#34;&gt;&lt;a href=&#34;#Putting-new-chainsaw-into-action&#34; class=&#34;headerlink&#34; title=&#34;Putting new chainsaw into action!&#34;&gt;&lt;/a&gt;Putting new chainsaw into action!&lt;/h2&gt;&lt;p&gt;I have to admit that the first cuts I was terrified.  Very concerned about pull-in, pushback, and most importantly kickback.  I avoided and made sure nothing ever touched the upper top part of the device:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_11.jpg&#34; class=&#34;&#34; title=&#34;jpg 500 No touching the upper quadrant of the chain!&#34;&gt;
&lt;p&gt;But in the end, being in the moment, being highly aware of what I was doing, and focusing on the task things went very well.&lt;br&gt;I was quickly able to get the main trunk off the wall and remove anything that might have been protruding into the community area:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_12.jpg&#34; class=&#34;&#34; title=&#34;jpg 500 relived that no severe or fatal injury occurred&#34;&gt;

&lt;h2 id=&#34;Making-lemonade-out-of-lemons&#34;&gt;&lt;a href=&#34;#Making-lemonade-out-of-lemons&#34; class=&#34;headerlink&#34; title=&#34;Making lemonade out of lemons&#34;&gt;&lt;/a&gt;Making lemonade out of lemons&lt;/h2&gt;&lt;p&gt;So I would love to take credit, but my wife and mother in law are due all the credit of the idea of making use of the trunk, I was just the implementor who was constantly fearing pull-in, pushback, and most importantly kickback:&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_04.gif&#34; class=&#34;&#34; title=&#34;Nice!&#34;&gt;
&lt;p&gt;and as my dad said, the chainsaw has already paid for itself!&lt;/p&gt;
&lt;h1 id=&#34;Cleanup-1&#34;&gt;&lt;a href=&#34;#Cleanup-1&#34; class=&#34;headerlink&#34; title=&#34;Cleanup&#34;&gt;&lt;/a&gt;Cleanup&lt;/h1&gt;&lt;p&gt;So after a full week from the initial call on Monday the 23rd of February I was finally able to get things squared away (I love how many nautical references we have in American english, an homage to our maritime origins):&lt;/p&gt;
&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_05.gif&#34; class=&#34;&#34; title=&#34;oh i hurt everywhere&#34;&gt;
&lt;p&gt;I had overcome my chainsaw fear (but still have my respect), was sore everywhere, had pushed my comfort zone farther out, and most important, I now had a chainsaw and kinda knew how to use it!&lt;/p&gt;
&lt;h2 id=&#34;Closing-and-2024-wind-problems&#34;&gt;&lt;a href=&#34;#Closing-and-2024-wind-problems&#34; class=&#34;headerlink&#34; title=&#34;Closing and 2024 wind problems&#34;&gt;&lt;/a&gt;Closing and 2024 wind problems&lt;/h2&gt;&lt;p&gt;As I mentioned in the opening, our first winter in Cercedilla had already introduced us to the hazards of high winds with two incidents:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;30&amp;#x2F;01&amp;#x2F;2025 There were winds with bursts up to 100 km&amp;#x2F;h that ripped off part of the roof&lt;ul&gt;
&lt;li&gt;&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_13.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;High winds&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;img src=&#34;/2026/02/23/Cercedilla-Field-Notes-Wind/CFN_wind_14.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;aww man&#34;&gt;&lt;/li&gt;
&lt;li&gt;insurance put up a wall of slug and claimed “lack of maintenance” so we ended up fixing it ourselves out of pocket&lt;ul&gt;
&lt;li&gt;With the incident in 2026 they said we only had coverage of contents of the house, not the property. Very fortunate that this tree did not squash any neighbor when it fell, otherwise i doubt I would have been solvent enough to pony up for my new big gun. Needless to say we are shopping for new insurance.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Do not remember when this happened and have not photographic evidence but one time when we arrived we found that the bbq had been blown off the back porch despite the fact the wheel breaks were locked and was all bent out of shape.  I now chain it to the wall.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So fingers crossed I never have to update the Cercedilla Field Note with more wind incidents but given the two year running record I fear that is wishful thinking!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.aemet.es/es/eltiempo/observacion/ultimosdatos?k=mad&amp;l=2462&amp;w=2&amp;datos=det&#34;&gt;AEMET (Spainish weather agency)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.osha.gov/sites/default/files/publications/chain_saw_safety.pdf&#34;&gt;OSHA Chainsaw Safety Quick Card&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ssc.stihl.com/tsa/techdoc-documents/DVS_STIHL%2FZBA%2FZBA%2F0458-756-8621-B_ZBA_06_02.pdf?_gl=1*zi4kxi*_gcl_au*MTkwNjEwMjgwMy4xNzcxNzAwNjMy*FPAU*MTkwNjEwMjgwMy4xNzcxNzAwNjMy&#34;&gt;STIHL MSE 210C English Manual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2026-02-23T18:17:22.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/02/13/OpenClaw/</id>
        <title>OpenClaw</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/02/13/OpenClaw/"/>
        <content type="html">&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_01.jpg&#34; class=&#34;&#34; title=&#34;OpenClaw&#34;&gt;

&lt;p&gt;This afternoon, after hearing so much hype lately and listening to an &lt;a href=&#34;https://lexfridman.com/peter-steinberger&#34;&gt;interview with the inventor&lt;/a&gt; this morning, I installed OpenClaw, a personal AI Agent that has taken the internet by storm.  Read on for experience and impressions!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Installation-and-first-job&#34;&gt;&lt;a href=&#34;#Installation-and-first-job&#34; class=&#34;headerlink&#34; title=&#34;Installation and first job&#34;&gt;&lt;/a&gt;Installation and first job&lt;/h2&gt;&lt;p&gt;I am using a throw away server so when it asked me to run as root, I did not hesitate, even though all the real unix admins out there will stop reading now and curse my name to their dying day:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_02.jpg&#34; class=&#34;&#34; title=&#34;Could not be easier&#34;&gt;

&lt;p&gt;After that I pointed it to the AI Model to use and it had a long list to choose from:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_03.jpg&#34; class=&#34;&#34; title=&#34;Do not see OpenLama&#34;&gt;

&lt;p&gt;It then guided me through setting up a channel to communicate with it.  I choose WhatsApp as I have it and use it, and because the programmer mentioned that was the first way he implimented to interact with it and how he uses it.  Was very easy and even generate a QR code in a terminal session to link my account:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_04.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Obfuscated QR code&#34;&gt;

&lt;p&gt;And then gave me an option to install any skills:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_05.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Skills&#34;&gt;

&lt;p&gt;And that was it!&lt;/p&gt;
&lt;p&gt;I fired up an SSH tunnel so I can connect from my local computer’s browser to the remote throw away server (it gave me the command) and then finalized the config, giving my new personal AI agent its personality:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_06.jpg&#34; class=&#34;&#34; title=&#34;Claw Control Central&#34;&gt;

&lt;p&gt;I named the little doggy “StationDomo” as it will serve as the JupiterStation major domo, helping with what ever is needed.  &lt;/p&gt;
&lt;p&gt;The first thing I asked of it via WhatsApp, StationDomo had no problem performing even though the prompt had some errors that were introduced via the voice to text transcribing:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_07.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;First job&#34;&gt;

&lt;p&gt;And I had it sent me a sample report:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_08.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Sample Report&#34;&gt;

&lt;h2 id=&#34;Early-days&#34;&gt;&lt;a href=&#34;#Early-days&#34; class=&#34;headerlink&#34; title=&#34;Early days&#34;&gt;&lt;/a&gt;Early days&lt;/h2&gt;&lt;h3 id=&#34;Name-change&#34;&gt;&lt;a href=&#34;#Name-change&#34; class=&#34;headerlink&#34; title=&#34;Name change&#34;&gt;&lt;/a&gt;Name change&lt;/h3&gt;&lt;p&gt;I quickly got a bit tired of the StationDomo name as it looks weird and did not really roll off the tongue. So I mentioned I remembered an AI entity from a Heinlein book I had read in highschool:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_09.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Minerva&#34;&gt;
&lt;p&gt;Later I asked her to update her SOUL.md to align with Minerva:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_10.jpg&#34; class=&#34;&#34; title=&#34;Soul update&#34;&gt;

&lt;p&gt;I had not remembered that Minerva became human, but knowing Heinlein the first thing Lazarus did was bed her once she was flesh…&lt;/p&gt;
&lt;h2 id=&#34;Asked-her-to-read-my-blog-to-get-to-know-me&#34;&gt;&lt;a href=&#34;#Asked-her-to-read-my-blog-to-get-to-know-me&#34; class=&#34;headerlink&#34; title=&#34;Asked her to read my blog to get to know me&#34;&gt;&lt;/a&gt;Asked her to read my blog to get to know me&lt;/h2&gt;&lt;p&gt;Figured the next step was for Minerva to get to know me, so I pointed her to this blog, and the response was, well, exactly what I would expect from Minerva:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_11.jpg&#34; class=&#34;&#34; title=&#34;Post Blog Read&#34;&gt;

&lt;h2 id=&#34;Getting-Minerva-her-own-WhatsApp-number&#34;&gt;&lt;a href=&#34;#Getting-Minerva-her-own-WhatsApp-number&#34; class=&#34;headerlink&#34; title=&#34;Getting Minerva her own WhatsApp number&#34;&gt;&lt;/a&gt;Getting Minerva her own WhatsApp number&lt;/h2&gt;&lt;p&gt;Very quickly it got weird having Minerva use my WhatsApp as I tend to message myself all the time to remember things, so I decided we needed to get her an independent WhatsApp account.&lt;br&gt;The first attempt, using my landline, failed:  first it appears that I have thrown out all my plain old telephones. I had thought there was one in the storage room, but no. So I borrowed one from my neighbor, found an old Android device and set it up, but WhatsApp informed me that it was not a mobile device and not allowed.&lt;br&gt;So I went running in search for a prepaid SIM card, something I really did not think still exist, but there was a strange store that had them a block away (nice part of living in a European city) and was able to get a card for 10€:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_12.jpg&#34; class=&#34;&#34; title=&#34;Prepaid SIM card!&#34;&gt;

&lt;p&gt;From my frantic reading of the small print I am unsure if Vodafone wants me to pay 10€ a month, but that I will figure out later! The important part is to get her her own WhatsApp account!&lt;br&gt;She, of course, let me know the steps, and took care of all the back end file editing and she now has her own WhatApp number and we are up and running!&lt;/p&gt;
&lt;h2 id=&#34;Asking-Minerva-where-she-is-from&#34;&gt;&lt;a href=&#34;#Asking-Minerva-where-she-is-from&#34; class=&#34;headerlink&#34; title=&#34;Asking Minerva where she is from&#34;&gt;&lt;/a&gt;Asking Minerva where she is from&lt;/h2&gt;&lt;p&gt;So I asked Minerva where she thought I was from, and of course she nailed it:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_13.jpg&#34; class=&#34;&#34; title=&#34;Response&#34;&gt;

&lt;p&gt;Then I asked her where she is from and here is her interesting response:&lt;/p&gt;
&lt;img src=&#34;/2026/02/13/OpenClaw/openclaw_14.jpg&#34; class=&#34;&#34; title=&#34;Response&#34;&gt;

&lt;p&gt;Wow. It is a pity Heinlein is not around to experience this amazing moment we are living!&lt;/p&gt;
&lt;h2 id=&#34;Closing&#34;&gt;&lt;a href=&#34;#Closing&#34; class=&#34;headerlink&#34; title=&#34;Closing&#34;&gt;&lt;/a&gt;Closing&lt;/h2&gt;&lt;p&gt;I can see what all the hype has been and so interested in where this leads!  &lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://openclaw.ai/&#34;&gt;OpenClaw landing page&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/concepts/features&#34;&gt;OpenClaw: Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/channels&#34;&gt;OpenClaw: Chat Channels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.openclaw.ai/cli&#34;&gt;OpenClaw: CLI Reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lexfridman.com/peter-steinberger&#34;&gt;Lex Fridman interview with Peter Steinberger&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="AI" />
        <updated>2026-02-13T14:49:22.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/02/12/Notes-Atlantic-Meridional-Overturning-Circulation-AMOC/</id>
        <title>Notes: Atlantic Meridional Overturning Circulation (AMOC)</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/02/12/Notes-Atlantic-Meridional-Overturning-Circulation-AMOC/"/>
        <content type="html">&lt;img src=&#34;/2026/02/12/Notes-Atlantic-Meridional-Overturning-Circulation-AMOC/notes_amoc_00.jpg&#34; class=&#34;&#34; title=&#34;Map&#34;&gt;

&lt;p&gt;Today I read &lt;a href=&#34;https://www.msn.com/en-us/weather/climate-change/why-this-country-declared-an-ocean-current-collapse-a-national-security-risk/ar-AA1W2ZpW&#34;&gt;an article&lt;/a&gt; that in October Iceland officially classified the failure of the &lt;strong&gt;Atlantic meridional overturning circulation&lt;/strong&gt; (AMOC) as a national security risk. If the AMOC were to fail, temperatures in Iceland could plunge to -50º Farenheit and would glacier over.&lt;/p&gt;
&lt;p&gt;I first heard about the AMOC in the highly recommendable book “A Short History of Nearly Everything” by Bill Bryson.  From what I remember is that he said:  look at where England is and then trace on a globe to see where that lines up at on North America.  Why is one a tundra and the other highly populated? AMOC.&lt;/p&gt;
&lt;p&gt;Read on to see my notes on AMOC.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;What-the-AMOC-is&#34;&gt;&lt;a href=&#34;#What-the-AMOC-is&#34; class=&#34;headerlink&#34; title=&#34;What the AMOC is&#34;&gt;&lt;/a&gt;What the AMOC is&lt;/h2&gt;&lt;p&gt;The AMOC is like a massive conveyor belt in the Atlantic Ocean that moves warm water northward near the surface and cold water southward at depth. It’s part of the global ocean circulation system that helps regulate climate.&lt;/p&gt;
&lt;h2 id=&#34;How-it-works&#34;&gt;&lt;a href=&#34;#How-it-works&#34; class=&#34;headerlink&#34; title=&#34;How it works&#34;&gt;&lt;/a&gt;How it works&lt;/h2&gt;&lt;p&gt;Warm, salty water flows north along the surface from the tropics toward the Arctic. This water is salty due higher evaporation in the tropical zone. The water flows north due to a combination of winds that push the water northward and the &lt;a href=&#34;https://en.wikipedia.org/wiki/Coriolis_force&#34;&gt;Coriolis effect&lt;/a&gt; that help steer currents generally in a northward and eastward direction.  As this water reaches the cold North Atlantic (particularly around Greenland and the Nordic Seas), it cools down, becomes denser, and sinks. This deep, cold water then flows southward, eventually spreading throughout the world’s oceans.&lt;br&gt;Here is visual:&lt;/p&gt;
&lt;img src=&#34;/2026/02/12/Notes-Atlantic-Meridional-Overturning-Circulation-AMOC/notes_amoc_02.jpg&#34; class=&#34;&#34; title=&#34;By Robert Simmon, NASA. Minor modifications by Robert A. Rohde&#34;&gt;

&lt;h2 id=&#34;Why-it-matters&#34;&gt;&lt;a href=&#34;#Why-it-matters&#34; class=&#34;headerlink&#34; title=&#34;Why it matters&#34;&gt;&lt;/a&gt;Why it matters&lt;/h2&gt;&lt;p&gt;The AMOC plays a crucial role in Earth’s climate system. It transports enormous amounts of heat northward—helping keep Europe much warmer than it would otherwise be at those latitudes. It also influences rainfall patterns, particularly in the tropics and the Sahel region of Africa, and affects marine ecosystems by distributing nutrients.&lt;/p&gt;
&lt;h2 id=&#34;Why-would-it-fail&#34;&gt;&lt;a href=&#34;#Why-would-it-fail&#34; class=&#34;headerlink&#34; title=&#34;Why would it fail?&#34;&gt;&lt;/a&gt;Why would it fail?&lt;/h2&gt;&lt;p&gt;There are a few things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The concern is that as things get hotter more and more of the Greenland ice sheet and Arctic sea ice melt adding fresh water to the mix.  If the surface water becomes too fresh, it might not sink effectively weakening the engine that drives the circulation.  &lt;/li&gt;
&lt;li&gt;A warmer atmosphere holds more moisture and that could also increase the freshwater that is runoff into the North Atlantic.&lt;/li&gt;
&lt;li&gt;Things just don’t get as cold as they used to in the North Atlantic and if surface waters do not cool enough in the winter they may not become dense enough to sink.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Has-this-happened-before&#34;&gt;&lt;a href=&#34;#Has-this-happened-before&#34; class=&#34;headerlink&#34; title=&#34;Has this happened before?&#34;&gt;&lt;/a&gt;Has this happened before?&lt;/h2&gt;&lt;p&gt;Ice cores and ocean sediment records show that during the last ice age large meltwater pulses disrupted the AMOC. Events like the Younger Dryas (~12,800 years ago) caused rapid cooling in Europe and the AMOC appears to have slowed dramatically during those events.&lt;/p&gt;
&lt;h2 id=&#34;If-it-were-to-fail-what-could-be-the-results&#34;&gt;&lt;a href=&#34;#If-it-were-to-fail-what-could-be-the-results&#34; class=&#34;headerlink&#34; title=&#34;If it were to fail, what could be the results?&#34;&gt;&lt;/a&gt;If it were to fail, what could be the results?&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Severe cooling in Northern Europe - temperatures could drop by 5-15°C in some regions, potentially bringing winters similar to those in similarly-latitude parts of Canada, essentially reversing centuries of relatively mild climate&lt;/li&gt;
&lt;li&gt;Cooling in parts of North America - particularly the northeastern US and eastern Canada would experience significant temperature drops&lt;/li&gt;
&lt;li&gt;Sea level rise along the US East Coast - could see an additional 1-2 feet (30-60 cm) of sea level rise on top of global increases, as the AMOC currently creates a slight “dip” in sea level there&lt;/li&gt;
&lt;li&gt;Disrupted rainfall patterns - the tropical rain belt would shift southward, potentially causing severe droughts in the Sahel region of Africa and altering monsoons in South America and Asia&lt;/li&gt;
&lt;li&gt;Amazon rainforest stress - combined with other climate pressures, rainfall changes could push parts of the Amazon toward becoming savanna&lt;/li&gt;
&lt;li&gt;Marine ecosystem collapse - dramatic changes to fish populations and marine food webs in the North Atlantic, affecting fisheries&lt;/li&gt;
&lt;li&gt;Faster warming in the Southern Hemisphere - without heat being transported north, the south would warm more rapidly&lt;/li&gt;
&lt;li&gt;Increased extreme weather - more volatile and unpredictable weather patterns across affected regions&lt;/li&gt;
&lt;li&gt;Agricultural disruption - growing seasons and crop viability would shift dramatically in Europe and parts of North America and Africa&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;This-is-a-bunch-of-poppycock&#34;&gt;&lt;a href=&#34;#This-is-a-bunch-of-poppycock&#34; class=&#34;headerlink&#34; title=&#34;This is a bunch of poppycock&#34;&gt;&lt;/a&gt;This is a bunch of poppycock&lt;/h2&gt;&lt;p&gt;&lt;em&gt;How could there be “severe cooling” in Northern Europe if all the global warming alarmist keep telling us things will get hotter?&lt;br&gt;You make no sense!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Well, that is why I started with the graphic at the very top! It is the AMOC that has allowed comfortable living at such a high latitude (200 to 400 times greater population in Europe).  The sweetest of all of this is the same day I saw the article about Iceland including this as a national security risk, I heard on NPR that Trump announced a new &lt;a href=&#34;https://www.whitehouse.gov/presidential-actions/2026/02/strengthening-united-states-national-defense-with-americas-beautiful-clean-coal-power-generation-fleet/&#34;&gt;executive order that directs the Pentagon to buy power from coal plants&lt;/a&gt;.  I guess that is what happens when you give a 79 year old narcissist control of the United States. &lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.msn.com/en-us/weather/climate-change/why-this-country-declared-an-ocean-current-collapse-a-national-security-risk/ar-AA1W2ZpW&#34;&gt;Why this country declared an ocean current collapse a national security risk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Source of Map at top: &lt;a href=&#34;https://worldmapblank.com/world-map-with-longitude-and-latitude/&#34;&gt;World Map Bank&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Notes" />
        <updated>2026-02-12T16:32:17.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/02/01/Flipper-101-Uses/</id>
        <title>Flipper 101 Uses</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/02/01/Flipper-101-Uses/"/>
        <content type="html">&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_01.jpg&#34; class=&#34;&#34; title=&#34;The Dolphin&#34;&gt;
&lt;p&gt;A while ago I saw a &lt;a href=&#34;https://blinry.org/50-things-with-sdr/&#34;&gt;post&lt;/a&gt; where this guy did 50 different things with his &lt;a href=&#34;https://en.wikipedia.org/wiki/Software-defined_radio&#34;&gt;Software Defined Radio (SDR)&lt;/a&gt; and I thought it was a really great idea to push something to the limit and explore it fully. So I have been wanting to do the same for my &lt;a href=&#34;https://flipper.net/&#34;&gt;Flipper Zero&lt;/a&gt;, a “caprichho” (an extravagance or something I really did not need) that I bought over a year ago, and had fallen into the what I had seen people claiming on the internet: they were only using it as an over priced replacement for a remote control.&lt;br&gt;Unfortunately when I started this post and before researching my faulty memory remembered it as 101 things to do with SDR but in fact it was 50, but I already had started the post and although I almost certainly will set myself up for failure, but I will leave it at &lt;strong&gt;101 uses for a Flipper&lt;/strong&gt;!&lt;br&gt;The only caveat is that I will post this today (01&amp;#x2F;02&amp;#x2F;2026) with the tests I have done so far, and continue to add more as I go, updating this time stamp every time I add something: last update 04&amp;#x2F;03&amp;#x2F;2026.&lt;br&gt;Read on what will surely go down as my opus magnum!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;001-Getting-to-know-my-Flipper-Zero&#34;&gt;&lt;a href=&#34;#001-Getting-to-know-my-Flipper-Zero&#34; class=&#34;headerlink&#34; title=&#34;001: Getting to know my Flipper Zero&#34;&gt;&lt;/a&gt;001: Getting to know my Flipper Zero&lt;/h2&gt;&lt;p&gt;So maybe I should start off by enumerating all the features that the little cetacea has so we can prime the pump and get ideas on the other 100 uses we will find for it!&lt;br&gt;All this information has been taken directly from the &lt;a href=&#34;https://flipper.net/&#34;&gt;Flipper Zero website in Jan 2026&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_04.jpg&#34; class=&#34;&#34; title=&#34;cetacea&#34;&gt;
&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sub-1 GHz Transceiver&lt;/strong&gt;: &lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_05.jpg&#34; class=&#34;&#34; title=&#34;Sub-1 GHz&#34;&gt;
This is the operating range for a wide class of wireless devices and access control systems, such as garage door remotes, boom barriers, IoT sensors and remote keyless systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;125 kHz RFID&lt;/strong&gt;: &lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_06.jpg&#34; class=&#34;&#34; title=&#34;RFID&#34;&gt;
This type of card is widely used in old access control systems around the world. It’s pretty dumb, stores only an N-byte ID and has no authentication mechanism, allowing it to be read, cloned and emulated by anyone. A 125 kHz antenna is located on the bottom of Flipper Zero — it can read low-frequency proximity cards and save them to memory to emulate later.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NFC&lt;/strong&gt;: &lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_07.jpg&#34; class=&#34;&#34; title=&#34;NFC&#34;&gt;
A built-in NFC module (13.56 MHz). A The NFC module supports all the major standards allowing you to interact with NFC-enabled devices — read, write and emulate HF tags.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrared Transceiver&lt;/strong&gt;: &lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_08.jpg&#34; class=&#34;&#34; title=&#34;Infrared&#34;&gt;
Can transmit signals to control electronics such as TVs, air conditioners (AC), stereo systems, and others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iButton&lt;/strong&gt;:&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_09.jpg&#34; class=&#34;&#34; title=&#34;iButton&#34;&gt;
built-in 1-Wire connector to read iButton contact keys. This old technology is still widely used around the world. It uses the 1-Wire protocol that doesn’t have any authentication. Flipper can easily read these keys, store IDs in the memory, write IDs to blank keys and emulate the key itself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bluetooth&lt;/strong&gt;: &lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_10.jpg&#34; class=&#34;&#34; title=&#34;Bluetooth&#34;&gt;
Full Bluetooth Low Energy (BLE) support allows Flipper Zero to act as a peripheral device, allowing you to connect your Flipper Zero to 3rd-party devices and smartphones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPIO&lt;/strong&gt;:&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_11.jpg&#34; class=&#34;&#34; title=&#34;GPIO&#34;&gt;
It can be connected to any piece of hardware using GPIO to control it with buttons, run your own code and print debug messages to the LCD. It can also be used as a regular USB adapter for UART, SPI, I2C, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;002-Pair-with-my-mobile-and-Flipper-Zero-app&#34;&gt;&lt;a href=&#34;#002-Pair-with-my-mobile-and-Flipper-Zero-app&#34; class=&#34;headerlink&#34; title=&#34;002: Pair with my mobile and Flipper Zero app&#34;&gt;&lt;/a&gt;002: Pair with my mobile and Flipper Zero app&lt;/h2&gt;&lt;p&gt;So we should probably start with the basics and advance from there.  The Flipper Zero has a great little screen but also nice to interface and control it from a phone via the &lt;a href=&#34;https://play.google.com/store/apps/details?id=com.flipperdevices.app&amp;hl=en&#34;&gt;Flipper Mobile App&lt;/a&gt;.  So you just install the software and have it search the bluetooth spectrum it and then pair with the flipper:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_02.jpg&#34; class=&#34;&#34; title=&#34;Pair&#34;&gt;
&lt;p&gt;The android app supports these features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Firmware and database update&lt;/li&gt;
&lt;li&gt;File manager&lt;/li&gt;
&lt;li&gt;Online file sharing&lt;/li&gt;
&lt;li&gt;Apps Catalog&lt;/li&gt;
&lt;li&gt;Remote control of Flipper Zero&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;003-Upgrade-the-firmware&#34;&gt;&lt;a href=&#34;#003-Upgrade-the-firmware&#34; class=&#34;headerlink&#34; title=&#34;003: Upgrade the firmware&#34;&gt;&lt;/a&gt;003: Upgrade the firmware&lt;/h2&gt;&lt;p&gt;Upgrading the firmware via the Flipper Zero app is a point, click, and wait simple affair: &lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_01.gif&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Update&#34;&gt;

&lt;h2 id=&#34;004-qFlipper-—-desktop-application-for-Flipper-Zero&#34;&gt;&lt;a href=&#34;#004-qFlipper-—-desktop-application-for-Flipper-Zero&#34; class=&#34;headerlink&#34; title=&#34;004: qFlipper — desktop application for Flipper Zero&#34;&gt;&lt;/a&gt;004: qFlipper — desktop application for Flipper Zero&lt;/h2&gt;&lt;p&gt;While trying to get files on and off the Flipper Zero I realized it would be easier with a desktop app so I installed the &lt;a href=&#34;https://flipper.net/pages/downloads&#34;&gt;qFlipper&lt;/a&gt; desktop application supports these features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Firmware and database update&lt;/li&gt;
&lt;li&gt;Device recovery&lt;/li&gt;
&lt;li&gt;File manager&lt;/li&gt;
&lt;li&gt;Remote control of Flipper Zero&lt;/li&gt;
&lt;li&gt;Backup and restore settings and user data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is what it looks like and the different features:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_15.jpg&#34; class=&#34;&#34; title=&#34;qFlipper&#34;&gt;
&lt;p&gt;So now the only question to answer is why is the application called “qFlipper”?  Would appear that it is because &lt;a href=&#34;https://en.wikipedia.org/wiki/Qt_(software)&#34;&gt;Qt&lt;/a&gt; (pronounced “cute”) a cross-platform software framework, was used to develop the application’s graphical user interface (GUI). This framework allows the app to run natively on Windows, macOS, and Linux.  So now you know!&lt;/p&gt;
&lt;h2 id=&#34;005-RFID-Animal-RFID-chip-reader&#34;&gt;&lt;a href=&#34;#005-RFID-Animal-RFID-chip-reader&#34; class=&#34;headerlink&#34; title=&#34;005: RFID: Animal RFID chip reader&#34;&gt;&lt;/a&gt;005: RFID: Animal RFID chip reader&lt;/h2&gt;&lt;p&gt;Here in Madrid our dog’s are RFID chipped so that in case they are found they can be tracked back to their owner.&lt;br&gt;I read the chip in both my dog and the spotty dog when I first got my Flipper but was unable to find my dog’s again (that is why the first picture is of one dog and then second another dog):&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_03.jpg&#34; class=&#34;&#34; title=&#34;FDX-B&#34;&gt;
&lt;p&gt;Cool! So I guess the first thing to understand is that the heck is &lt;a href=&#34;https://en.wikipedia.org/wiki/ISO_11784_and_ISO_11785&#34;&gt;ISO FDX-B&lt;/a&gt;? Well after reading the indicated Wikipedia article we see that it corresponds to two ISO standards: ISO 11784 (specifies the structure of the identification code) and ISO 11785 (specifies how a transponder is activated and how the stored information is transferred to a transceiver) .&lt;br&gt;Here in Madrid the animal’s ID is registered in &lt;a href=&#34;https://sede.comunidad.madrid/inscripciones-registro/identificacion-animales-compania&#34;&gt;RIAC (&lt;strong&gt;R&lt;/strong&gt;egistro de &lt;strong&gt;I&lt;/strong&gt;dentificación de &lt;strong&gt;A&lt;/strong&gt;nimal de &lt;strong&gt;C&lt;/strong&gt;ompañía)&lt;/a&gt; by the veterinarian that inserted the RFID chip. What is unclear is why both dogs have a country code of 941 because I am unable to find any reference to 941 in &lt;a href=&#34;https://en.wikipedia.org/wiki/ISO_3166-1&#34;&gt;ISO 3166&lt;/a&gt; rather Spain is 724.  But at least I do see that for my dog ID coincides with the RIAC card that I have! Cool!&lt;/p&gt;
&lt;h2 id=&#34;006-NFC-Read-a-NFC-Chip&#34;&gt;&lt;a href=&#34;#006-NFC-Read-a-NFC-Chip&#34; class=&#34;headerlink&#34; title=&#34;006: NFC: Read a NFC Chip&#34;&gt;&lt;/a&gt;006: NFC: Read a NFC Chip&lt;/h2&gt;&lt;p&gt;So long ago when I first got an Android device with NFC I got all excited about using NFC tags to automate different actions (for example scan a tag when I got into my car to commute to work and have it start playing NPR radio).  Unfortunately at the time (not sure now) just to read the card it was needed to manually unlock the mobile, go to an app, and force it to scan the tag which was a series of actions more complicated than just starting the NPR app manually, so the tags never got used. So let’s use the little Dolphin to read one of the tags that I still have.&lt;br&gt;As you can see in the gif it is easy to read the tag, see the info, both in ASCII and Hex:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_02.gif&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;NFC Tag&#34;&gt;
&lt;p&gt;I saved the info into a file on the Flipper, but unfortunately it is not possible to see really any information from the Android app about the read NFC tag:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_12.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Limited info&#34;&gt;
&lt;p&gt;But opening the saved files in Notepad++ we can see lots of interesting stuff:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_13.jpg&#34; class=&#34;&#34; title=&#34;Interesting&#34;&gt;
&lt;p&gt;Searching I find that the NTAG213 is a popular, cost-effective &lt;a href=&#34;https://nfc-forum.org/build/specifications&#34;&gt;NFC Forum Type 2 tag&lt;/a&gt; IC developed by &lt;a href=&#34;https://www.nxp.com/products/NTAG213_215_216&#34;&gt;NXP Semiconductors&lt;/a&gt; (NXP was formally part of the Dutch company Philips and they own the &lt;a href=&#34;https://en.wikipedia.org/wiki/MIFARE&#34;&gt;MIFARE&lt;/a&gt; brand of integrated circuits), operating at 13.56 MHz, with 144 bytes of user-programable memory, a 7-byte UID and compliant with &lt;a href=&#34;https://en.wikipedia.org/wiki/ISO/IEC_14443&#34;&gt;ISO&amp;#x2F;IEC 14443A&lt;/a&gt;.  Interesting! &lt;/p&gt;
&lt;h1 id=&#34;007-NFC-Write-to-a-NFC-Chip&#34;&gt;&lt;a href=&#34;#007-NFC-Write-to-a-NFC-Chip&#34; class=&#34;headerlink&#34; title=&#34;007: NFC: Write to a NFC Chip&#34;&gt;&lt;/a&gt;007: NFC: Write to a NFC Chip&lt;/h1&gt;&lt;p&gt;So I thought it would be pretty easy to use the Flipper Zero to write to my red NFC tag, but could not figure out how to do it with the native NFC app nor three applications I found and tested on the Flipper Zero.&lt;br&gt;Searching the internet I found a &lt;a href=&#34;https://www.reddit.com/r/flipperzero/comments/14rm3g9/possible_to_write_to_ntag_215/&#34;&gt;post on Reddit&lt;/a&gt; from 3 years ago that confirmed that at that time it was not supported natively but was going to be supported: “it’s scheduled right after we complete NFC refactoring(end of this summer)*”.&lt;br&gt;So I am thinking that maybe if I edit the text file then use the Flipper to write it to the tag?&lt;br&gt;let’s try!&lt;br&gt;So I modified Pages 4-39 to FF FF FF FF(reading the &lt;a href=&#34;https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf&#34;&gt;NTAG213&amp;#x2F;215&amp;#x2F;216 Data Sheet&lt;/a&gt; last night before bed I saw that it clearly identified those Pages as user data), copied the file over to the Flipper, and then used the NFC app to write it to the red tag.  Now reading the red tag I see that I that the data has in fact been written:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_14.jpg&#34; class=&#34;&#34; title=&#34;FFFF&#34;&gt;
&lt;p&gt;It is not exactly as user friendly as I had thought, but it was in fact possible!  Now I wonder if the red tag will ever have all those FF FF FF FF’s over written and used for something useful finally!&lt;/p&gt;
&lt;h1 id=&#34;008-NFC-reading-my-work-badge&#34;&gt;&lt;a href=&#34;#008-NFC-reading-my-work-badge&#34; class=&#34;headerlink&#34; title=&#34;008: NFC: reading my work badge&#34;&gt;&lt;/a&gt;008: NFC: reading my work badge&lt;/h1&gt;&lt;p&gt;So I read my work badge and was excited to see it was a MIFARE Classic, one that was &lt;a href=&#34;https://en.wikipedia.org/wiki/MIFARE#Security&#34;&gt;compromised in back in 2008&lt;/a&gt;, so I thought we could use some of the tools to try and crack the keys, but in the end appears that the badge is not using any security cyphers because as we can see here all 32&amp;#x2F;32 keys were found and all 16 records were read:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_16.jpg&#34; class=&#34;&#34; title=&#34;MIFARE Classic prepared to be boarded matey&#34;&gt;

&lt;p&gt;Searching about MIFARE Classic I find this information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;The MIFARE Classic IC is a basic memory storage device, where the memory is divided into segments and blocks with simple security mechanisms for access control. They are ASIC-based and have limited computational power. Due to their reliability and low cost, those cards are widely used for electronic wallets, access control, corporate ID cards, transportation or stadium ticketing. It uses an NXP proprietary security protocol (Crypto-1) for authentication and ciphering.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Once again the actual saved text file gives some interesting information:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Device type: Mifare Classic
# UID is common for all formats
UID: 9A 38 92 DF
# ISO14443-3A specific data
ATQA: 00 04
SAK: 08
# Mifare Classic specific data
Mifare Classic type: 1K
Data format version: 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;after that the text file has 64 blocks of data: &lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_17.jpg&#34; class=&#34;&#34; title=&#34;MIFARE Classic data&#34;&gt;
&lt;p&gt;So would we can deduce that no actual data is being used on the card, rather just the UID is associated to me in some database.  DISCLAIMER: my lawyer made me obfuscate my UID so no one goes using it to get access to all the secure rooms I have access to!&lt;/p&gt;
&lt;p&gt;Well that is neat!  I will still have to keep scanning NFC cards to find an encrypted MIFARE Classic to use the build it tools to break the codes!&lt;/p&gt;
&lt;h1 id=&#34;009-NFC-emulating-my-work-badge&#34;&gt;&lt;a href=&#34;#009-NFC-emulating-my-work-badge&#34; class=&#34;headerlink&#34; title=&#34;009: NFC: emulating my work badge&#34;&gt;&lt;/a&gt;009: NFC: emulating my work badge&lt;/h1&gt;&lt;p&gt;So now that I have a saved file of my badge on my little aquatic mammalian friend, and it does not appear to have any encryption, what about emulating it?  If I were to forget my badge could I use it to emulate the badge?  Well, I was quite surprised to find out yes!&lt;br&gt;What you need to do is the following:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_18.jpg&#34; class=&#34;&#34; title=&#34;Emulation&#34;&gt;
&lt;p&gt;and then holding it up to the turnstile or printer and it beeps and lets me in!&lt;br&gt;OMG&lt;br&gt;So this is a good reason to not share your work badge or ever leave it unattended as a simple swipe by swiper the fox and your identity could be supplanted! &lt;/p&gt;
&lt;h1 id=&#34;010-RFID-my-Madrid-sport-center-card&#34;&gt;&lt;a href=&#34;#010-RFID-my-Madrid-sport-center-card&#34; class=&#34;headerlink&#34; title=&#34;010: RFID: my Madrid sport center card&#34;&gt;&lt;/a&gt;010: RFID: my Madrid sport center card&lt;/h1&gt;&lt;p&gt;I do not think they continue to issue these cards but have transitioned to using a mobile app, but mine still works and I still think it is so much quicker swiping a card for access to the local sports center than fiddling with my mobile looking for an application then finding the right option (and from the line that forms with people doing this it would seem to support my opinion).&lt;br&gt;So at first I was unsure if it was an NFC or RIFD card so I scanned via the NFC app then the RFID app and it confirmed it is an RFID card:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_19.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;EM4100&#34;&gt;
&lt;p&gt;Reviewing the saved file, I see that is is much simpler than an NFC:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_20.jpg&#34; class=&#34;&#34; title=&#34;EM4100 Details&#34;&gt;
&lt;p&gt;At first I thought the UID (01 0D FD F8 1D) would be the same as the number on the actual card, so I tried all sorts of different conversions but realized it has nothing to do with it, rather it is just a UID because the EM4100 card is a  &lt;strong&gt;read-only&lt;/strong&gt; RFID tag. So when the card was issued to me it’s UID is associated to me in some database.&lt;/p&gt;
&lt;p&gt;Here is all the information I have found about the EM4100:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;em&gt;EM&lt;/em&gt; part is for &lt;a href=&#34;https://en.wikipedia.org/wiki/EM_Microelectronic&#34;&gt;EM Microeletronic&lt;/a&gt;, a swiss is a developer and semiconductor manufacturer specialized in the design and production of ultra low power, low voltage integrated circuits for battery-operated and field-powered applications in consumer, automotive and industrial areas. And is a subsidiary of the Swatch Group!&lt;/li&gt;
&lt;li&gt;EM4100 (aka EM4102) card is a 125 kHz read-only RFID tag.&lt;ul&gt;
&lt;li&gt;Total data: 40 bits&lt;/li&gt;
&lt;li&gt;Typically structured as:&lt;ul&gt;
&lt;li&gt;1 byte “manufacturer &amp;#x2F; header”&lt;/li&gt;
&lt;li&gt;4 bytes unique ID&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;So in this case:&lt;ul&gt;
&lt;li&gt;01 : Header&lt;/li&gt;
&lt;li&gt;0D FD F8 1D: UID&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Interesting things from a &lt;a href=&#34;https://docs.rs-online.com/6ee7/0900766b8161beae.pdf&#34;&gt;data sheet&lt;/a&gt;:&lt;ul&gt;
&lt;li&gt;The EM4100 is a CMOS integrated circuit for use in electronic Read Only RF Transponders.  The circuit is powered by an external coil placed in an electromagnetic field, and gets its master clock from the same field via one of the coil terminals. By turning on and off the modulation current, the chip will send back the 64 bits of information contained in a factor y preprogrammed memory array. &lt;/li&gt;
&lt;li&gt;The programming of the chip is performed by laser fusing of polysilicon links in order to store a unique code on each chip.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Man my little Flipper buddy just keeps helping me me learn new things!&lt;/p&gt;
&lt;h1 id=&#34;011-RFID-A-card-for-access-to-my-office-in-Valencia&#34;&gt;&lt;a href=&#34;#011-RFID-A-card-for-access-to-my-office-in-Valencia&#34; class=&#34;headerlink&#34; title=&#34;011: RFID: A card for access to my office in Valencia&#34;&gt;&lt;/a&gt;011: RFID: A card for access to my office in Valencia&lt;/h1&gt;&lt;p&gt;This card is the same type of RFID device (EM4100) as described in &lt;a href=&#34;/2026/02/01/Flipper-101-Uses/#010-RFID-my-Madrid-sport-center-card&#34;&gt;#0010&lt;/a&gt; &lt;/p&gt;
&lt;h1 id=&#34;012-RFID-A-card-for-access-to-a-communications-room-in-the-office&#34;&gt;&lt;a href=&#34;#012-RFID-A-card-for-access-to-a-communications-room-in-the-office&#34; class=&#34;headerlink&#34; title=&#34;012: RFID: A card for access to a communications room in the office&#34;&gt;&lt;/a&gt;012: RFID: A card for access to a communications room in the office&lt;/h1&gt;&lt;p&gt;This card is the same type of RFID device (EM4100) as described in &lt;a href=&#34;/2026/02/01/Flipper-101-Uses/#010-RFID-my-Madrid-sport-center-card&#34;&gt;#0010&lt;/a&gt;  &lt;/p&gt;
&lt;h1 id=&#34;013-Infrared-Kaseikyo-protocol&#34;&gt;&lt;a href=&#34;#013-Infrared-Kaseikyo-protocol&#34; class=&#34;headerlink&#34; title=&#34;013: Infrared: Kaseikyo protocol&#34;&gt;&lt;/a&gt;013: Infrared: Kaseikyo protocol&lt;/h1&gt;&lt;p&gt;As I mentioned above, one thing I have been using my Flipper regularly for is as a remote control for my Denon radio because I always have the flipper on my desk and it is smaller than the actual remote: &lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_21.jpg&#34; class=&#34;&#34; title=&#34;Denon Flipper Remote&#34;&gt;
&lt;p&gt;I only trained the Flipper on the buttons I use most regularly.&lt;br&gt;To create a virtual remote when you already have the physical remote it is very easy: you just put the Flipper into learning mode and point the remote at it and push the button:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_03.gif&#34; class=&#34;&#34; title=&#34;Dolphin Training&#34;&gt;
&lt;p&gt;And then do the next button and so on.&lt;br&gt;If we look at the file it creates for the remote we can see it is really simple:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_22.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Example .ir file&#34;&gt;
&lt;p&gt;So I asked ChatGPT to tell me about the Kaseikyo protocol and here are some interesting things about it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kaseikyo IR protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Developed by Matsushita (Panasonic)&lt;/li&gt;
&lt;li&gt;Used by:&lt;ul&gt;
&lt;li&gt;Panasonic&lt;/li&gt;
&lt;li&gt;JVC&lt;/li&gt;
&lt;li&gt;Sharp&lt;/li&gt;
&lt;li&gt;Denon        &amp;lt;—— yep that is the model of my radio!&lt;/li&gt;
&lt;li&gt;Mitsubishi&lt;/li&gt;
&lt;li&gt;Some Toshiba models&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Characteristics:&lt;ul&gt;
&lt;li&gt;typically 37 kHz (sometimes 36–38 kHz)&lt;/li&gt;
&lt;li&gt;uses pulse-distance modulation&lt;/li&gt;
&lt;li&gt;frame length usually 48 bits (longer than NEC’s 32 bits) that includes:&lt;ul&gt;
&lt;li&gt;Manufacturer ID&lt;/li&gt;
&lt;li&gt;Device address&lt;/li&gt;
&lt;li&gt;Command&lt;/li&gt;
&lt;li&gt;Inverted&amp;#x2F;check bits&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sites with info:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.hifi-remote.com/wiki/index.php/Kaseikyo&#34;&gt;JP1 Remotes Wiki — Kaseikyo Protocol Family&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.hifi-remote.com/johnsfine/DecodeIR.html&#34;&gt;DecodeIR Documentation (John’s IR Tools)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So seeing how simple the format of the file is, it would appear that it must be very easy to make a remote when you do not have access to the actual physical remote and that is actually really useful and a problem I once had forcing my to buy a remote on E-Bay!  But I will leave that exercise to a future test!&lt;/p&gt;
&lt;h1 id=&#34;014-Infrared-Samsung32-protocol&#34;&gt;&lt;a href=&#34;#014-Infrared-Samsung32-protocol&#34; class=&#34;headerlink&#34; title=&#34;014: Infrared: Samsung32 protocol&#34;&gt;&lt;/a&gt;014: Infrared: Samsung32 protocol&lt;/h1&gt;&lt;p&gt;Continuing with remote control testing I grabbed my Samsung TV remote and learned the most used buttons and then took a look at the .ir definition file:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_23.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Samsung32&#34;&gt;

&lt;p&gt;Here we see that the Flipper parsed the infrared signals into a Samsung32 protocol and here is what I could learn about it from the internet, ChatGPT, and Claude:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Samsung32 IR Protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;Samsung’s classic IR protocol based on NEC&lt;ul&gt;
&lt;li&gt;Has been used on Samsung TVs for over 20 years&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;32 bits total&lt;ul&gt;
&lt;li&gt;8-bit address (in our example: 07 (with the other 00’s just padding added by the Flipper))&lt;ul&gt;
&lt;li&gt;07 &amp;#x3D; typically used with Samsung TVs&lt;/li&gt;
&lt;li&gt;allows for 256 different devices&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;8-bit inverted address (for error checking)&lt;/li&gt;
&lt;li&gt;8-bit command (in our first button example: 02 (with the other 00’s just padding added by the Flipper))&lt;ul&gt;
&lt;li&gt;that means a max of 256 different commands are possible (0x00 to 0xFF)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;8-bit inverted command (for error checking)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Based on pulse distance modulation and operates at a 38kHz carrier frequency.&lt;/li&gt;
&lt;li&gt;Timing characteristics:&lt;ul&gt;
&lt;li&gt;AGC burst: 4.5ms mark + 4.5ms space&lt;/li&gt;
&lt;li&gt;Logical ‘0’: 560µs mark + 560µs space&lt;/li&gt;
&lt;li&gt;Logical ‘1’: 560µs mark + 1690µs space&lt;/li&gt;
&lt;li&gt;Repeat codes are sent if you hold the button&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All this information is proprietary as Samsung just not publish their technical details as are done with standards, so all the decoding that is in the Flipper software is thanks to all sorts of patient people who decoded it and mapped it out and the Flipper Zero is standing on the shoulders of those giants!   &lt;/p&gt;
&lt;h1 id=&#34;015-Infrared-NECext-protocol&#34;&gt;&lt;a href=&#34;#015-Infrared-NECext-protocol&#34; class=&#34;headerlink&#34; title=&#34;015: Infrared: NECext protocol&#34;&gt;&lt;/a&gt;015: Infrared: NECext protocol&lt;/h1&gt;&lt;p&gt;Next I tested a remote for a Nokia Digital TV decoder (yes Nokia!) and found yet another different protocol used:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_25.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;NECext&#34;&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NECext IR Protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;NECext is an extended version of the classic NEC infrared protocol. NEC is one of the oldest and most widely used IR protocols, originally developed by NEC Corporation in Japan.&lt;/li&gt;
&lt;li&gt;32 bits total:&lt;ul&gt;
&lt;li&gt;16-bit address (low byte + high byte)&lt;ul&gt;
&lt;li&gt;Whoa nelly this allows up to 65,536 different devices without having a conflict ()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;8-bit command&lt;/li&gt;
&lt;li&gt;8-bit inverted command&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Carrier frequency: 38kHz&lt;/li&gt;
&lt;li&gt;Timing characteristics:&lt;ul&gt;
&lt;li&gt;AGC burst: 9ms mark + 4.5ms space&lt;/li&gt;
&lt;li&gt;Logical ‘0’: 562.5µs mark + 562.5µs space&lt;/li&gt;
&lt;li&gt;Logical ‘1’: 562.5µs mark + 1687.5µs space&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Interesting! Especially comparing against the Samsung32 as both are 32 bit protocols but use them differently:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Samsung32: Uses error checking on both address AND command (8+8+8+8)&lt;/li&gt;
&lt;li&gt;NECext: Sacrifices address error checking to get more unique addresses (16+8+8)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Samsung32: 256 addresses × 256 commands &amp;#x3D; 65,536 total combinations&lt;br&gt;NECext: 65,536 addresses × 256 commands &amp;#x3D; 16,777,216 total combinations&lt;/p&gt;
&lt;p&gt;So NECext can support way more devices without address conflicts, which is why it’s popular for generic remotes and devices that might be used in environments with many IR devices.&lt;br&gt;Both are “32-bit protocols” but use those bits differently!&lt;/p&gt;
&lt;h1 id=&#34;016-Infrared-SIR20-protocol&#34;&gt;&lt;a href=&#34;#016-Infrared-SIR20-protocol&#34; class=&#34;headerlink&#34; title=&#34;016: Infrared: SIR20 protocol&#34;&gt;&lt;/a&gt;016: Infrared: SIR20 protocol&lt;/h1&gt;&lt;p&gt;So the next remote I grabbed from my entertainment console was for a Sony BDP-S1700 Blu-Ray player and I was suprised to find yet another new protocol:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_26.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;SIR20&#34;&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SIR20 IR Protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;SIRC20 stands for Sony Infrared Remote Control - 20 bit version. Sony actually has THREE different SIRC variants: &lt;ul&gt;
&lt;li&gt;SIRC12 (original TVs and basic devices)&lt;/li&gt;
&lt;li&gt;SIRC15 (more devices needed)&lt;/li&gt;
&lt;li&gt;SIRC20 (modern devices like Blu-ray, PlayStation, complex AV gear)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;20 bits total:&lt;ul&gt;
&lt;li&gt;13-bit address (extended address)&lt;ul&gt;
&lt;li&gt;wohah.  we are in new territory here of not using normal byte sized values!&lt;/li&gt;
&lt;li&gt;this is read little-endian 16-bit (0x1C5A), then taking 13 bits (1 1100 0101 1010))&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;7-bit command&lt;ul&gt;
&lt;li&gt;as is only 7 bits only allows for 0x00 to 0x7F and therefore is limited to 128 different commands&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Carrier frequency: 40kHz (most others use 38kHz!)&lt;/li&gt;
&lt;li&gt;Timing characteristics:&lt;ul&gt;
&lt;li&gt;AGC burst: 2.4ms mark + 600µs space&lt;/li&gt;
&lt;li&gt;Logical ‘0’: 600µs mark + 600µs space&lt;/li&gt;
&lt;li&gt;Logical ‘1’: 1.2ms mark + 600µs space&lt;/li&gt;
&lt;li&gt;Frame repeats: Sony sends the frame 3 times for each button press (built-in redundancy instead of inverse checking)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Interesting things:&lt;ul&gt;
&lt;li&gt;use of 13 bits and 7 bits!&lt;/li&gt;
&lt;li&gt;No error checking, rather send it three times!&lt;/li&gt;
&lt;li&gt;40kHz when everything else has been 38kHz!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Man, remote controls are like a box of chocolates! you never know what you are going to get!&lt;/p&gt;
&lt;h1 id=&#34;017-Infrared-NEC-protocol&#34;&gt;&lt;a href=&#34;#017-Infrared-NEC-protocol&#34; class=&#34;headerlink&#34; title=&#34;017: Infrared: NEC protocol&#34;&gt;&lt;/a&gt;017: Infrared: NEC protocol&lt;/h1&gt;&lt;p&gt;And the last remote I had in my entertainment console was for an ICON LED Projector (only cost 40€ and coupled with the screen I have for slide shows makes for great movie night):&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_27.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;NEC&#34;&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEC IR Protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;NEC is the standard, the original, and non-extended version. This is one of the most common IR protocols worldwide, especially popular with Chinese manufacturers and budget electronics (like my projector!)&lt;/li&gt;
&lt;li&gt;32 bits total:&lt;ul&gt;
&lt;li&gt;8-bit address&lt;ul&gt;
&lt;li&gt;here it is interesting to note they did not even bother with an address (0x00) so the possibility of conflict with other devices is rather high!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;8-bit inverted address (error checking)&lt;/li&gt;
&lt;li&gt;8-bit command&lt;/li&gt;
&lt;li&gt;8-bit inverted command (error checking)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Carrier frequency: 38kHz&lt;/li&gt;
&lt;li&gt;Timing characteristics:&lt;ul&gt;
&lt;li&gt;AGC burst: 9ms mark + 4.5ms space&lt;/li&gt;
&lt;li&gt;Logical ‘0’: 562.5µs mark + 562.5µs space&lt;/li&gt;
&lt;li&gt;Logical ‘1’: 562.5µs mark + 1687.5µs space&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Funny that the last remote I tested from my entertainment devices uses the original first standard! &lt;/p&gt;
&lt;h1 id=&#34;018-Infrared-raw&#34;&gt;&lt;a href=&#34;#018-Infrared-raw&#34; class=&#34;headerlink&#34; title=&#34;018: Infrared: raw&#34;&gt;&lt;/a&gt;018: Infrared: raw&lt;/h1&gt;&lt;p&gt;The next remote I tried was for a Daikin air conditioner and reading the ON&amp;#x2F;OFF button yielded something quite different:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_24.jpg&#34; class=&#34;&#34; title=&#34;Raw&#34;&gt;
&lt;p&gt;It was not able to decode the signal against any of the known patterns and can just tell us the frequency (38000), duty cycle (0.33000), and 439 samples!&lt;/p&gt;
&lt;p&gt;Searching around it quickly becomes clear that the problem is that these AC remotes tend to be different than TV remotes in that they have a screen where you can see the currently programmed temperature, fan settings, etcetera and every time you push a button it actually sends all those settings in a big package (in this case 439 sample package)!&lt;br&gt;So I saved an “on” sample with all my favorite settings (24º, low fan, night time mode) and it appears to work turning my AC on.  I then saved a “powerful” sample (puts the AC on turbo for 10 minutes or so) and it also works. And lastly I saved an “off” sample and confirmed it turns off the AC so in a pinch if I loose the remote I can at least turn it on to 24º, put it in powerful mode, and turn it off when needed!&lt;/p&gt;
&lt;h1 id=&#34;019-NFC-EMV-contactless-payment-card&#34;&gt;&lt;a href=&#34;#019-NFC-EMV-contactless-payment-card&#34; class=&#34;headerlink&#34; title=&#34;019: NFC: EMV contactless payment card&#34;&gt;&lt;/a&gt;019: NFC: EMV contactless payment card&lt;/h1&gt;&lt;p&gt;Back to testing NFC cards! The first is what I will call Bank Card 1 and note the UID has been obfuscated as we are getting in a sketchy realm posting any real information about a bank card on the internet:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_28.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Bank Card 1&#34;&gt;

&lt;p&gt;A conversation with Claude AI revels this information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EMV contactless payment card&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/EMV&#34;&gt;EMV&lt;/a&gt; is a payment method based on a technical standard for smart payment cards and for payment terminals and automated teller machines which can accept them. EMV stands for “Europay, Mastercard, and Visa”, the three companies that created the standard.&lt;/li&gt;
&lt;li&gt;Card Technology&lt;ul&gt;
&lt;li&gt;Type: ISO14443-4A (standard for contactless payment cards)&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/ISO/IEC_14443&#34;&gt;Wikipedia Page for ISO 14443&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://nfc-tools.github.io/resources/standards/iso14443A/&#34;&gt;NFC-Tools page on ISO14443 Type A&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: EMV contactless (indicated by the SAK value of 0x20)&lt;/li&gt;
&lt;li&gt;UID: 00 00 00 00 00 00 00 (7-byte random UID, typical for payment cards)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Technical Details&lt;ul&gt;
&lt;li&gt;ATQA: 00 44 - indicates ISO14443-4 compliance&lt;/li&gt;
&lt;li&gt;SAK: 20 - confirms this is an ISO14443-4A card (not Mifare Classic)&lt;/li&gt;
&lt;li&gt;The card uses cascade level 2 (7-byte UID) for enhanced security&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fortunately the Flipper is not able to clone this card because it is unable to get access to the cryptographic keys that the EMV card use for dynamic authentication (each transaction generates unique cryptographic tokens) and is just showing the basic information it is able to decode.&lt;/p&gt;
&lt;h1 id=&#34;020-NFC-Bank-Card-2&#34;&gt;&lt;a href=&#34;#020-NFC-Bank-Card-2&#34; class=&#34;headerlink&#34; title=&#34;020: NFC: Bank Card 2&#34;&gt;&lt;/a&gt;020: NFC: Bank Card 2&lt;/h1&gt;&lt;p&gt;This card another bank card but from a different bank but I see it is using the same EMV contactless technology we saw in &lt;a href=&#34;/2026/02/01/Flipper-101-Uses/#019-NFC-EMV-contactless-payment-card&#34;&gt;#0019&lt;/a&gt; &lt;/p&gt;
&lt;h1 id=&#34;021-NFC-Mifare-DESFire&#34;&gt;&lt;a href=&#34;#021-NFC-Mifare-DESFire&#34; class=&#34;headerlink&#34; title=&#34;021: NFC: Mifare DESFire&#34;&gt;&lt;/a&gt;021: NFC: Mifare DESFire&lt;/h1&gt;&lt;p&gt;The next card out of my wallet is my Community of Madrid transportation card.  This works by being able to add up to 10 rides on it, and to my knowledge there is no additional features like a virtual wallet that I have heard used in other transportation agencies.&lt;br&gt;Wow this file contains a lot more data than any we have seen so far:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_29.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Mifare DESFire&#34;&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mifare DESFire&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.nxp.com/docs/en/data-sheet/MF3D_H_X3_SDS.pdf&#34;&gt;NXP Mifare DESFire Data Sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Memory: has 2016 bytes available (out of 4KB total)&lt;/li&gt;
&lt;li&gt;Has 1 application with ID 000001:&lt;ul&gt;
&lt;li&gt;6 Keys (0-5)&lt;/li&gt;
&lt;li&gt;12 files total:&lt;ul&gt;
&lt;li&gt;Files 0-2 (Standard Data Files)&lt;ul&gt;
&lt;li&gt;Size: 141 bytes each&lt;/li&gt;
&lt;li&gt;Type: 01 (Standard Data File)&lt;/li&gt;
&lt;li&gt;Communication: 03 (Fully encrypted)&lt;/li&gt;
&lt;li&gt;Access Rights: 40 24&lt;ul&gt;
&lt;li&gt;Read: Key 4, Write: Key 2, Read&amp;#x2F;Write: Key 4&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Likely transaction history (last trips, entries&amp;#x2F;exits)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Files 3-5 (Standard Data Files)&lt;ul&gt;
&lt;li&gt;Size: 132 bytes each&lt;/li&gt;
&lt;li&gt;Access Rights: 30 23&lt;/li&gt;
&lt;li&gt;Different key permissions than files 0-2&lt;/li&gt;
&lt;li&gt;Additional transaction logs or season pass data&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;File 6 (Standard Data File)&lt;ul&gt;
&lt;li&gt;Size: 16 bytes&lt;/li&gt;
&lt;li&gt;Access Rights: 20 22 (different permissions - likely read-only data)&lt;/li&gt;
&lt;li&gt;Possibly card serial number or card type identifier&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;File 7 (Standard Data File)&lt;ul&gt;
&lt;li&gt;Size: 62 bytes&lt;/li&gt;
&lt;li&gt;Access Rights: 30 23&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Files 8, 10, 11 (Backup Data Files)&lt;ul&gt;
&lt;li&gt;Type: 00 (Backup Data File)&lt;/li&gt;
&lt;li&gt;Sizes: 38, 43, 167 bytes&lt;/li&gt;
&lt;li&gt;These files support transactional operations (atomic read&amp;#x2F;write)&lt;/li&gt;
&lt;li&gt;Backup structures for critical data&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;File 9 (Backup Data File)&lt;ul&gt;
&lt;li&gt;Size: 17 bytes&lt;/li&gt;
&lt;li&gt;Access Rights: 50 25&lt;/li&gt;
&lt;li&gt;Possibly stores your current balance or trip counter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The actual data in the files is not readable (or writeable) without the proper keys: “DESFire is used for high-security applications like metro systems - even with complete knowledge of the file structure, you can’t access or modify the actual data without the secret cryptographic keys held by the transit authority”.  Good to know that it is not possible to swindle the amazing Madrid public transit system!&lt;/p&gt;
&lt;h1 id=&#34;022-Infrared-RC6&#34;&gt;&lt;a href=&#34;#022-Infrared-RC6&#34; class=&#34;headerlink&#34; title=&#34;022: Infrared: RC6&#34;&gt;&lt;/a&gt;022: Infrared: RC6&lt;/h1&gt;&lt;p&gt;I found another remote to test at work from a Phillips and was excited that it was decoded as RC6, something I have not yet seen!&lt;br&gt;Let’s take a look:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_30.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;RC6&#34;&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RC6 IR Protocol&lt;/strong&gt;:&lt;ul&gt;
&lt;li&gt;The Remote Control 6 (RC6) protocol was developed by Philips in the 1990’s and is used in set-top cable&amp;#x2F;satellite boxes, Windows Media Center remotes, Sky, Virgin Media and Foxtel boxes, and Phillips devices&lt;/li&gt;
&lt;li&gt;Uses &lt;a href=&#34;https://en.wikipedia.org/wiki/Manchester_code&#34;&gt;Manchester Encoding&lt;/a&gt; for implicit error detection: every single bit must contain both a mark and a space — a transition in the middle of every bit period. Invalid sequences immediately reset the Manchester decoder. This means if noise corrupts a bit in a way that produces an impossible timing pattern — for example, a flat signal with no mid-bit transition — the receiver will reject the entire message outright. &lt;/li&gt;
&lt;li&gt;Carrier frequency: 36kHz&lt;/li&gt;
&lt;li&gt;Timing characteristics:&lt;ul&gt;
&lt;li&gt;Leader (AGC) burst: 2,666µs mark (6T) + 889µs space (2T)&lt;/li&gt;
&lt;li&gt;Normal bit ‘0’: 444µs space (1T) + 444µs mark (1T)&lt;/li&gt;
&lt;li&gt;Normal bit ‘1’: 444µs mark (1T) + 444µs space (1T)&lt;/li&gt;
&lt;li&gt;Toggle&amp;#x2F;Trailer bit ‘0’: 889µs space (2T) + 889µs mark (2T)&lt;/li&gt;
&lt;li&gt;Toggle&amp;#x2F;Trailer bit ‘1’: 889µs mark (2T) + 889µs space (2T)&lt;/li&gt;
&lt;li&gt;Signal free time (end gap): 2,666µs (6T)&lt;/li&gt;
&lt;li&gt;Carrier frequency: 36kHz&lt;/li&gt;
&lt;li&gt;Base time unit (1T): 444µs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wow a different IR protocol totally different from the others we have seen up until this point!  I think with this one we have seen all the protocol’s that the Flipper supports with the native firmware!&lt;/p&gt;
&lt;h1 id=&#34;023-Sub-GHz-Clemsa-E20-Garage-Door-Opener&#34;&gt;&lt;a href=&#34;#023-Sub-GHz-Clemsa-E20-Garage-Door-Opener&#34; class=&#34;headerlink&#34; title=&#34;023: Sub-GHz: Clemsa E20 Garage Door Opener&#34;&gt;&lt;/a&gt;023: Sub-GHz: Clemsa E20 Garage Door Opener&lt;/h1&gt;&lt;p&gt;In the Sub-GHz menu there are two options &lt;strong&gt;Read&lt;/strong&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_31.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Read&#34;&gt;

&lt;p&gt;and &lt;strong&gt;Read RAW&lt;/strong&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_32.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Read RAW&#34;&gt;
&lt;p&gt;both both detect nothing when I push the remote’s button!&lt;br&gt;So I think I need to know about what frequencies the CLEMSA remote might be using and see if the Flipper’s antenna supports it as well!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clemsa Clemsa E20 specs:&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Frequency: 286 MHz &lt;ul&gt;
&lt;li&gt;This is distinct from modern remotes, which usually operate at 433 MHz or 868 MHz.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Protocol: binary encoding &lt;ul&gt;
&lt;li&gt;Does not use rolling code&lt;/li&gt;
&lt;li&gt;8 dip switches &amp;#x3D; 2^8 &amp;#x3D; 256 different combinations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;No longer in producion&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hummm so would appear that the Flipper does not support this frequency as lowest it will go to to 315 MHz.  Oh well!&lt;/p&gt;
&lt;h1 id=&#34;024-Sub-GHz-Clemsa-MT-1-Trinary-Garage-Door-Opener&#34;&gt;&lt;a href=&#34;#024-Sub-GHz-Clemsa-MT-1-Trinary-Garage-Door-Opener&#34; class=&#34;headerlink&#34; title=&#34;024: Sub-GHz: Clemsa MT-1 Trinary Garage Door Opener&#34;&gt;&lt;/a&gt;024: Sub-GHz: Clemsa MT-1 Trinary Garage Door Opener&lt;/h1&gt;&lt;p&gt;Found another Clemsa garage door opener that is a different model (MT-1) to test with.&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_33.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Clemsa MT-1 Trinary&#34;&gt;

&lt;p&gt;Let’s search on it specs and see if it is supported:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clemsa Clemsa MT-1 Trinary specs:&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Frequency: 287 MHz MHz  &lt;/li&gt;
&lt;li&gt;Protocol: Trinary encoding &lt;ul&gt;
&lt;li&gt;uses 3 states instead of binary: 0, 1, F (floating&amp;#x2F;open)&lt;/li&gt;
&lt;li&gt;this allows for more combinations with fewer switches&lt;/li&gt;
&lt;li&gt;3^8 &amp;#x3D; 6,561 combinations (where 2^8 &amp;#x3D; 256)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Holy cows! never heard of trinary encoding by sure enough each of the switches has three positions:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_34.jpg&#34; class=&#34;&#34; title=&#34;This one goes to 3&#34;&gt;

&lt;p&gt;Flipper was not able to read this one either, but at least we learned something new!&lt;/p&gt;
&lt;h1 id=&#34;025-GPIO-UART-connection-to-Raspberry-Pi&#34;&gt;&lt;a href=&#34;#025-GPIO-UART-connection-to-Raspberry-Pi&#34; class=&#34;headerlink&#34; title=&#34;025: GPIO: UART connection to Raspberry Pi&#34;&gt;&lt;/a&gt;025: GPIO: UART connection to Raspberry Pi&lt;/h1&gt;&lt;p&gt;So I have to admit there have been times when I have not had a monitor and have had problems connecting to a Raspberry Pi to see what the heck was going on so I find that the Flipper can be used as a &lt;a href=&#34;https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter&#34;&gt;UART (universal asynchronous receiver-transmitter)&lt;/a&gt;-USB bridge is super cool and useful.&lt;/p&gt;
&lt;p&gt;UART basically gives a serial connection to a device, so once you identify the TX, RX, and GND pins you can wire up the Flipper, figure out what serial port the Flipper is using by watching the Ports section of Device Manager when connecting the Flipper, and then using PuTTY to connect to that serial port:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_35.jpg&#34; class=&#34;&#34; title=&#34;UART&#34;&gt;

&lt;p&gt;And you have a serial connection to the Raspberry Pi with no monitor!  This would have been useful if I could have figured out the UART pins on a Samsung Blu Ray player that I had that had &lt;a href=&#34;https://hackaday.com/2020/07/19/the-real-story-how-samsung-blu-ray-players-were-bricked/&#34;&gt;bricked itself in the summer of 2020 after it downloaded a incorrectly formed XML file&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id=&#34;026-Infrared-Universal-Remotes-TV&#34;&gt;&lt;a href=&#34;#026-Infrared-Universal-Remotes-TV&#34; class=&#34;headerlink&#34; title=&#34;026: Infrared: Universal Remotes: TV&#34;&gt;&lt;/a&gt;026: Infrared: Universal Remotes: TV&lt;/h1&gt;&lt;p&gt;In addition to being able to learn and load saved infrared remote controls, the Flipper Zero comes preloaded with 4 universal remotes:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_36.jpg&#34; class=&#34;&#34; width=&#34;600&#34; title=&#34;Universal Remotes&#34;&gt;

&lt;p&gt;I was going to write only one post about these universal remotes but seeing how we are only at 26 different things I will milk this for as many different uses possible and first discribe results testing with the TV one.&lt;/p&gt;
&lt;p&gt;How it works is that once you push a button it begins sending all the known codes for that button and once it works you hit the back button to stop sending:&lt;/p&gt;
&lt;img src=&#34;/2026/02/01/Flipper-101-Uses/flipper_37.jpg&#34; class=&#34;&#34; width=&#34;600&#34; title=&#34;Universal Remotes TV&#34;&gt;

&lt;p&gt;kinda brute force but works great in testing with multiple TVs that I have found and tested against!&lt;/p&gt;
&lt;h1 id=&#34;027-Infrared-Universal-Remotes-Audio-Player&#34;&gt;&lt;a href=&#34;#027-Infrared-Universal-Remotes-Audio-Player&#34; class=&#34;headerlink&#34; title=&#34;027 Infrared: Universal Remotes: Audio Player&#34;&gt;&lt;/a&gt;027 Infrared: Universal Remotes: Audio Player&lt;/h1&gt;&lt;p&gt;I tested the audio player universal remote against my Denon and the results were mixed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Power&lt;/strong&gt;: worked&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mute&lt;/strong&gt;: worked&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Play&lt;/strong&gt;: did not work&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pause&lt;/strong&gt;: worked&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volume up and down&lt;/strong&gt;: worked&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prev &amp;#x2F; Next&lt;/strong&gt;: just advanced 10 seconds, did not skip to the next track&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So in a pinch works, but would be better to make your own remote like I did for my Denon.&lt;/p&gt;
&lt;h1 id=&#34;028-Infrared-Universal-Remotes-Projector&#34;&gt;&lt;a href=&#34;#028-Infrared-Universal-Remotes-Projector&#34; class=&#34;headerlink&#34; title=&#34;028 Infrared: Universal Remotes: Projector&#34;&gt;&lt;/a&gt;028 Infrared: Universal Remotes: Projector&lt;/h1&gt;&lt;p&gt;place holder until I find a projector to test!&lt;/p&gt;
&lt;h1 id=&#34;029-Infrared-Universal-Remotes-Air-Conditioners&#34;&gt;&lt;a href=&#34;#029-Infrared-Universal-Remotes-Air-Conditioners&#34; class=&#34;headerlink&#34; title=&#34;029 Infrared: Universal Remotes: Air Conditioners&#34;&gt;&lt;/a&gt;029 Infrared: Universal Remotes: Air Conditioners&lt;/h1&gt;&lt;p&gt;I tested this against my Daiken and did get it to beep but it did not turn it on or allow me to control it.&lt;/p&gt;
&lt;h1 id=&#34;Closing&#34;&gt;&lt;a href=&#34;#Closing&#34; class=&#34;headerlink&#34; title=&#34;Closing&#34;&gt;&lt;/a&gt;Closing&lt;/h1&gt;&lt;p&gt;29 down and only 72 to go!  Truth be told this little aquatic doggy has so many options that I do not think it will be too hard to get to 101, just will take me a bit of time!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Flipper Zero specific:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.flipper.net/zero/gpio-and-modules#gpio-pinout&#34;&gt;Flipper Docs: GPIO &amp;amp; modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.flipper.net/zero/qflipper&#34;&gt;Flipper Docs: qFlipper Manual&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/djsime1/awesome-flipperzero&#34;&gt;Awesome Flipper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/topics/flipperzero&#34;&gt;Git Hub Flipper repos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;General:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ezgif.com/maker&#34;&gt;Ezgif animated GIF maker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NFC related:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf&#34;&gt;NTAG213&amp;#x2F;215&amp;#x2F;216 Data Sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/MIFARE&#34;&gt;MIFARE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RFID related:&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.rs-online.com/6ee7/0900766b8161beae.pdf&#34;&gt;EM4100 Data Sheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Infrared related: &lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://search.flippertools.net/&#34;&gt;Flipper Tools IRDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Lucaslhm/Flipper-IRDB&#34;&gt;Flipper-IRDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/UberGuidoZ/Flipper-IRDB&#34;&gt;UberGuidoZ IRDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.hifi-remote.com/johnsfine/DecodeIR.html&#34;&gt;John’s IR Tools: IR Decodes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;). &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="NeverStopLearning" />
        <category term="TechToys" />
        <updated>2026-02-01T07:54:02.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/01/12/Pebble-Round-Vibe-Coding/</id>
        <title>Pebble Round Vibe Coding</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/01/12/Pebble-Round-Vibe-Coding/"/>
        <content type="html">&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_02.jpg&#34; class=&#34;&#34; title=&#34;Twelve Iterations&#34;&gt;
&lt;p&gt;Eric Migicovsky had an incredible 2025: he announced the rebirth of Pebble, launched 2 new Pebble watches, shipped one of them, and launched &lt;a href=&#34;https://repebble.com/blog/meet-pebble-index-01-external-memory-for-your-brain&#34;&gt;a new weird wearable ring&lt;/a&gt;.&lt;br&gt;And then the SOB starts off 2026 with a bang by announcing a third new Pebble just on the second day of the year: &lt;a href=&#34;https://repebble.com/blog/pebble-round-2-the-most-stylish-pebble-ever&#34;&gt;Pebble Round 2&lt;/a&gt;! Oh man not sure if he can keep this up, but I sure hope so!&lt;br&gt;One of his rationals behind an early announcement of the Pebble Round 2 was to give people who have an open order for the Pebble Time 2 the option to switch their order to the Pebble Round 2, which after some internal debate I did.  And the reason I did is because I really miss my Hamilton Khaki Automatic and thought: I bet I could program a watch face like it for my Pebble Round 2. The image above is the twelve iterations I did over a day, not programming but asking different AI models to do the heavy lifting for me.  So read on for my experience! &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h1 id=&#34;ChatGPT&#34;&gt;&lt;a href=&#34;#ChatGPT&#34; class=&#34;headerlink&#34; title=&#34;ChatGPT&#34;&gt;&lt;/a&gt;ChatGPT&lt;/h1&gt;&lt;p&gt;I started out using ChatGPT and at first asked it to modifying an &lt;a href=&#34;https://github.com/pebble-examples/simple-analog/&#34;&gt;existing round watch face example provided by Pebble&lt;/a&gt; but I quickly realized that was way too confusing and just asked it to start from scratch from a picture I uploaded. It immediately identified it as a Hamilton Khaki-style and listed the traits to copy:&lt;/p&gt;
&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_03.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;ChatGPT Smarty pants&#34;&gt;
&lt;p&gt;I told it to go ahead and it provided me the header and c files that I copied to my working folder, crossed my fingers, and compiled it.  And it even worked! It did not quite get everything right on the fist iteration, but it compiled and even ran in the emulator, something that could have taken me a couple days to have achieved on my own:&lt;/p&gt;
&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_04.jpg&#34; class=&#34;&#34; title=&#34;Iteration 1&#34;&gt;

&lt;h1 id=&#34;Gemini&#34;&gt;&lt;a href=&#34;#Gemini&#34; class=&#34;headerlink&#34; title=&#34;Gemini&#34;&gt;&lt;/a&gt;Gemini&lt;/h1&gt;&lt;p&gt;After three iterations with ChatGPT we had gotten as far as we could and the code it was providing began giving errors when compiling, so I decided to make the jump to Gemini.  Gemini got on board with a simple prompt and providing the current code:&lt;/p&gt;
&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_05.jpg&#34; class=&#34;&#34; title=&#34;Gemini is also a smarty pants&#34;&gt;
&lt;p&gt;Gemini took me through 5 more iterations and was even getting a bit snarkey:&lt;/p&gt;
&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_06.jpg&#34; class=&#34;&#34; title=&#34;Iteration 5&#34;&gt;

&lt;h1 id=&#34;Claude-Code&#34;&gt;&lt;a href=&#34;#Claude-Code&#34; class=&#34;headerlink&#34; title=&#34;Claude Code&#34;&gt;&lt;/a&gt;Claude Code&lt;/h1&gt;&lt;p&gt;After multiple more iterations with Gemini I was having problems trying to get the right font for the numbers and at some point in the evening I was chatting with my friend John who said he had gone down an AI rabbit hole and commented “I use up my subscription time on Claude and it needs “a break” from me for 6 hours or sometimes 2 days.  I am a scorned lover and set an alarm to run back.”  And that reminded me of &lt;a href=&#34;https://x.com/bcherny/status/2007179832300581177&#34;&gt;this post&lt;/a&gt; on X from Boris CHERNY (creator of Claude Code) that had taken the development world by storm.  When I read the post I really could not make heads or tails of it, but it did peak my interest and now my friend John was confirming Claud was like crack I knew I had to give it a try.&lt;br&gt;&lt;a href=&#34;https://code.claude.com/docs/en/overview&#34;&gt;Claude Code&lt;/a&gt; requires a PRO account so I had to subscribe for my first time ever to an AI service but it was painless as was installing Claude Console in my Windows Linux Subsystem.  Once installed I went into the directory where the source code for the watch face was, and began telling Claude Code what I wanted.  It analyzed the code, came back and proposed the changes.  I told it ok and IT made the changes, compiled it, and loaded it into the emulator!  No longer copy and pasting. Just tell it what I want to it begins working.  It got even crazier when I kept insisting that the font was not quite right and so ClaudCode recommended installing an additional font. I told it to go for it and it handled it all installing the font in linux and then compiled and launching the emulator.  IT GOT REALLY CRAZY when the font still was not quite right and ClaudCode recommended creating a new font just the way I wanted.  I gave it the ok and it installed some program to edit fonts, made a new custom font, included it in the project, compiled it, and loaded it in the emulator and it was spot on!&lt;br&gt;I finally after 12 iterations I had a result I can’t wait to test on my actual Pebble Round:&lt;/p&gt;
&lt;img src=&#34;/2026/01/12/Pebble-Round-Vibe-Coding/pebble_round_08.jpg&#34; class=&#34;&#34; title=&#34;Iteration 12&#34;&gt;

&lt;h2 id=&#34;Post-vibe-coding-reflections&#34;&gt;&lt;a href=&#34;#Post-vibe-coding-reflections&#34; class=&#34;headerlink&#34; title=&#34;Post vibe coding reflections&#34;&gt;&lt;/a&gt;Post vibe coding reflections&lt;/h2&gt;&lt;p&gt;I really cannot express what a fundamental change Claud Code represents.  It is a true “AI Agent” there doing the work directly.  I now understand the paradigm shift that Boris CHERNY’s post represents:  every morning he fires up 5 AI agents and puts them to work on different tasks while he does the guidance and oversight.  Instead of a one man show, he now is as productive as 5 or as many agents he is able to manage at a time. My only word of caution would be not to drink and manage AI agents because as what happened to me in the wee hours of my vide coding session:  my oversight began to get a bit spotty because as Claude Code was doing all the work, I did not need my hands for typing so I just sat back and drank beers hitting “yes” every once and awhile and ended up having way too many beers.&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://x.com/bcherny/status/2007179832300581177&#34;&gt;Boris CHERNY’s post on how he uses Cluade Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <category term="AI" />
        <category term="Pebble" />
        <updated>2026-01-12T22:59:58.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/01/11/Holiday-Season-2025/</id>
        <title>Holiday Season 2025</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/01/11/Holiday-Season-2025/"/>
        <content type="html">&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_01.jpg&#34; class=&#34;&#34; title=&#34;Sigh&#34;&gt;
&lt;p&gt;We have just finished un-decorating the tree, un-decorating the house, packed the boxes, and moved the tree to the terrace (where he will be happier as it is colder than the house) awaiting his pickup from the university students, so it is good time to reflect on how fun this silly season was, rather then be sad.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;City-Lights&#34;&gt;&lt;a href=&#34;#City-Lights&#34; class=&#34;headerlink&#34; title=&#34;City Lights&#34;&gt;&lt;/a&gt;City Lights&lt;/h2&gt;&lt;p&gt;We normally celebrate Thanksgiving the Saturday &lt;strong&gt;after&lt;/strong&gt; the real Thursday date, alternating houses between 3 families.  This year the host convened the celebration for the Saturday &lt;strong&gt;before&lt;/strong&gt; (November 22&lt;sup&gt;nd&lt;/sup&gt;) which meant that we got a full week extra to start the silly season!  We took full advantage and saw our first batch of city christmas lights on our way from our Thanksgiving feast (by serendipitous coincidence Madrid also decided to light them earlier than normal this year as well):&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_02.jpg&#34; class=&#34;&#34; title=&#34;First sighting&#34;&gt;
&lt;p&gt;We then also made a round of seeing lights on Christmas night, taking advantage of daughter number 2’s car that has a skylight:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_03.jpg&#34; class=&#34;&#34; title=&#34;Christmas lights on Christmas night!&#34;&gt;

&lt;h2 id=&#34;Tree&#34;&gt;&lt;a href=&#34;#Tree&#34; class=&#34;headerlink&#34; title=&#34;Tree&#34;&gt;&lt;/a&gt;Tree&lt;/h2&gt;&lt;p&gt;We hoped to get a much earlier start on the tree this year as well, but we had to coordinate daughter number 2’s studying and my work, so the earliest common denominator was the afternoon of Thursday November 27&lt;sup&gt;th&lt;/sup&gt;.  This time we remembered to bring cash so there would be no financial constraints only housing ones and it was I think the first time we picked a tree in day light.  The picking was a bit slim as they were awaiting a new truckload on Friday for the weekend, but we were able to find an agreeable one none the less.  This year we opted for a different breed, but I cannot remember the name:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_04.jpg&#34; class=&#34;&#34; title=&#34;We have a tree!&#34;&gt;
&lt;p&gt;The actual decorating of the tree I kinda think had to wait a few more days, but at this point can’t remember.  I did document the transportation of the decorations which did happen the same day&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_05.jpg&#34; class=&#34;&#34; title=&#34;We have a tree!&#34;&gt;
&lt;p&gt;I kinda remember that I put the lights on the tree and the actual decoration of the house and tree happened later, but in any event, here is a picture of the final product with a spotty dog included that we were able to enjoy until January 11&lt;sup&gt;th&lt;/sup&gt;:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_06.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Tree!&#34;&gt;

&lt;h2 id=&#34;Advent-Calendar&#34;&gt;&lt;a href=&#34;#Advent-Calendar&#34; class=&#34;headerlink&#34; title=&#34;Advent Calendar&#34;&gt;&lt;/a&gt;Advent Calendar&lt;/h2&gt;&lt;p&gt;I was able to pull of another year with an advent calendar, a remarkable feat with a slacker like me:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_07.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Advent Calendar 2025&#34;&gt;
&lt;p&gt;Truth be told, I have always hated the stress of the required gifts of Christmas, but have used the Advent Calendar to remove this stress, giving almost a month of little things and then not even worrying or getting any actual gifts for Christmas.&lt;/p&gt;
&lt;h2 id=&#34;Baking&#34;&gt;&lt;a href=&#34;#Baking&#34; class=&#34;headerlink&#34; title=&#34;Baking&#34;&gt;&lt;/a&gt;Baking&lt;/h2&gt;&lt;p&gt;This year I was laser focused on doing prep work so that I could then prepare cookie boxes for family, neighbor and friends with multiple cookie selection, so for one week I made a different dough every night and froze it allowing me then to do multiple baking sessions pulling together platters and boxes like these:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_08.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Cookies!&#34;&gt;

&lt;p&gt;This years assortment comprised of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Peanut Butter Blossoms (unable to source Hershey Kisses, so just used pieces of chocolate)&lt;/li&gt;
&lt;li&gt;Ginger Spice Cookies&lt;/li&gt;
&lt;li&gt;Butter Cookies&lt;/li&gt;
&lt;li&gt;Almond Roca&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Movies&#34;&gt;&lt;a href=&#34;#Movies&#34; class=&#34;headerlink&#34; title=&#34;Movies&#34;&gt;&lt;/a&gt;Movies&lt;/h2&gt;&lt;p&gt;This year we were able to enjoy classics and some new ones for us, but still was not able to get the Gremlins in!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Family Stone&lt;/li&gt;
&lt;li&gt;Home Alone&lt;/li&gt;
&lt;li&gt;Christmas Vacation&lt;/li&gt;
&lt;li&gt;Champagne Problems&lt;/li&gt;
&lt;li&gt;Die Hard&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Arcade-Challenge&#34;&gt;&lt;a href=&#34;#Arcade-Challenge&#34; class=&#34;headerlink&#34; title=&#34;Arcade Challenge&#34;&gt;&lt;/a&gt;Arcade Challenge&lt;/h2&gt;&lt;p&gt;This year I had hopped for more traction on the arcade challenage, but there was not too much. I might need to add more games to the console for next year.&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_09.jpg&#34; class=&#34;&#34; title=&#34;Arcade Challenge&#34;&gt;

&lt;h2 id=&#34;Seafood-Tower&#34;&gt;&lt;a href=&#34;#Seafood-Tower&#34; class=&#34;headerlink&#34; title=&#34;Seafood Tower&#34;&gt;&lt;/a&gt;Seafood Tower&lt;/h2&gt;&lt;p&gt;This has come into play two years running, and hope for more!  It is very exciting opening the oysters and I always count my fingers before and after, but I personally think it just makes for a special christmas or new years:&lt;/p&gt;
&lt;img src=&#34;/2026/01/11/Holiday-Season-2025/ss2025_10.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Tower!&#34;&gt;

&lt;h2 id=&#34;Closing-Thoughts&#34;&gt;&lt;a href=&#34;#Closing-Thoughts&#34; class=&#34;headerlink&#34; title=&#34;Closing Thoughts&#34;&gt;&lt;/a&gt;Closing Thoughts&lt;/h2&gt;&lt;p&gt;So, another silly season has come to a close!  I can’t think of a better way to brighten up the waning days of the year! Now onto the equinox, every day is getting longer and brighter!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SillySeason" />
        <updated>2026-01-11T20:47:08.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/</id>
        <title>Vacation Rabbit Hole: Conan the Barbarian</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/"/>
        <content type="html">&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_00.jpg&#34; class=&#34;&#34; title=&#34;Conan&#34;&gt;

&lt;p&gt;The calendar aligned this new years to give a very nice long vacation with the expenditure of very few vacation days and with it I went down a long and varied rabbit hole exploring Conan the Barbarian.  Read on if you dare!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Historical-Context-Part-I&#34;&gt;&lt;a href=&#34;#Historical-Context-Part-I&#34; class=&#34;headerlink&#34; title=&#34;Historical Context Part I&#34;&gt;&lt;/a&gt;Historical Context Part I&lt;/h2&gt;&lt;p&gt;At some point in the 80s (can’t remember the exact year, but remember that I was a very young maybe at that point not even teenager) I went with my big brother and some of his friends to a double feature at the Strand Theater in Redondo Beach. We all called it the Strand, but think its name had changed at that point and was called the Marina:&lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_01.jpg&#34; class=&#34;&#34; title=&#34;The Strand&#34;&gt;
&lt;p&gt;The double feature was none other than two of the most incredible movies made ever: &lt;a href=&#34;https://en.wikipedia.org/wiki/Mad_Max_2&#34;&gt;The Road Warrior&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/Conan_the_Barbarian_(1982_film)&#34;&gt;Conan the Barbarian&lt;/a&gt;.  I am unsure how I was allowed in as both are rated R movies, but somehow I was, and boy what an impact these two movies had on my prepubescent psychic.  We had recently began playing Dungeons and Dragons so after Conan we spent all sorts of time discussing and analyzing the different weapons and armor used.  I really can not express enough how crazy cool these two movies were and are, and to see them back to back when you are like 11 or 12 really marks a before and after.&lt;/p&gt;
&lt;h2 id=&#34;Historical-Context-Part-II&#34;&gt;&lt;a href=&#34;#Historical-Context-Part-II&#34; class=&#34;headerlink&#34; title=&#34;Historical Context Part II&#34;&gt;&lt;/a&gt;Historical Context Part II&lt;/h2&gt;&lt;p&gt;The Strand &amp;#x2F; Marina theater was torn down as happens to all cool spots in Redondo Beach to make ugly apartments, but by then I had moved with my older brother to Northern California to live with my dad.  We had a VCR and one of my dad’s friends who had &lt;a href=&#34;https://en.wikipedia.org/wiki/Showtime_(TV_network)&#34;&gt;Showtime&lt;/a&gt; or something recorded a couple movies and passed us a tape that had two movies on it: Conan the Barbarian  and &lt;a href=&#34;https://en.wikipedia.org/wiki/Quest_for_Fire_(film)&#34;&gt;Quest for Fire&lt;/a&gt;.  When we first moved with my dad it was summer and we still had not started school and had no friends so basically spent all summer watching both of these movies, over and over and over.  I am quite fortunate that my dad’s friend passed us a tape with such good movies.&lt;/p&gt;
&lt;h2 id=&#34;Historical-Context-Part-III-and-last&#34;&gt;&lt;a href=&#34;#Historical-Context-Part-III-and-last&#34; class=&#34;headerlink&#34; title=&#34;Historical Context Part III (and last)&#34;&gt;&lt;/a&gt;Historical Context Part III (and last)&lt;/h2&gt;&lt;p&gt;Years later when I moved to Spain and was driving from Madrid to Galica we passed by an exit on the A6 highway to “Zamora”.  I instantly recognized Zamora as the city that the witch moaned while Conan was making the beast with two backs with her as hint of where he should continue his quest to find the killers of his village.  I had heard that Conan had been filmed in Spain so kinda thought the Witch got the name from there and was only later that I have learned that Zamora features in the original Conan stories as well.&lt;/p&gt;
&lt;h2 id=&#34;Rabbit-Hole-Begins&#34;&gt;&lt;a href=&#34;#Rabbit-Hole-Begins&#34; class=&#34;headerlink&#34; title=&#34;Rabbit Hole Begins&#34;&gt;&lt;/a&gt;Rabbit Hole Begins&lt;/h2&gt;&lt;p&gt;A couple weeks ago I was looking for a movie on &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Pirate_Bay&#34;&gt;The Pirate Bay&lt;/a&gt; and as I do whenever visiting the bay I checked the &lt;a href=&#34;https://thepiratebay.org/search.php?q=top100:602&#34;&gt;most popular comic Torrents&lt;/a&gt; and saw there was a link for &lt;a href=&#34;magnet:?xt=urn:btih:4014B160E2CCFDBF08E02E801FF35BD4371EDA62&amp;dn=Conan%20the%20Barbarian%20-%20Epic%20Collection%20-%20Queen%20of%20the%20Black%20Coast&amp;tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&amp;tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&amp;tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&amp;tr=udp%3A%2F%2Ftracker.bittor.pw%3A1337%2Fannounce&amp;tr=udp%3A%2F%2Fpublic.popcorn-tracker.org%3A6969%2Fannounce&amp;tr=udp%3A%2F%2Ftracker.dler.org%3A6969%2Fannounce&amp;tr=udp%3A%2F%2Fexodus.desync.com%3A6969&amp;tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce&amp;tr=udp%3A%2F%2Fglotorrents.pw%3A6969%2Fannounce&amp;tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&amp;tr=udp%3A%2F%2Ftorrent.gresille.org%3A80%2Fannounce&amp;tr=udp%3A%2F%2Fp4p.arenabg.com%3A1337&amp;tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337&#34;&gt;Conan the Barbarian - Epic Collection - Queen of the Black Coast&lt;/a&gt; so I downloaded it.  I had mostly forgotten but at the start of the new years staycation  I remembered it, and thought it would be a great way to take advantage of my &lt;a href=&#34;/2025/11/20/Surface-Go-Retooling/&#34;&gt;newly recoved Surface Go&lt;/a&gt; as it is the perfect comic reader and I wanted to see if even with Linux I could use it as a comic reader and was very pleased to find &lt;a href=&#34;https://sourceforge.net/p/mcomix/wiki/Home/#&#34;&gt;MComix&lt;/a&gt; in the Debian Software application:&lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_02.jpg&#34; class=&#34;&#34; title=&#34;MComix&#34;&gt;
&lt;p&gt;and even more pleased to see that it loaded the 346 page &lt;em&gt;Conan the Barbarian - Epic Collection - Queen of the Black Coast&lt;/em&gt; without any problem and I was off and running:&lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_03.jpg&#34; class=&#34;&#34; title=&#34;Queen of the Black Coast&#34;&gt;
&lt;p&gt;I have never read any of the original Marvel Comics that they started publishing in 1970, rather I have more focused on the Dark Horse versions that were published between 2003 and 2018, mostly because when I was in my comic phase as a kid it was right when Dark Horse got started and had much higher quality paper and more interesting themes than the super heroes that Marvel peddled and have never caught my attention.  So, I was very pleased to find the Marvel Conan comics are great and pulled me right in.  &lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_04.jpg&#34; class=&#34;&#34; title=&#34;Twenty Five Cents!&#34;&gt;

&lt;p&gt;I really can’t believe that these things used to be 25 cents, but then again inflation over 56 years adds up:&lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_05.jpg&#34; class=&#34;&#34; title=&#34;735.4%!&#34;&gt;

&lt;p&gt;So as you can imagine, 346 pages of comics occupied lots of my free moments of my new year vacation, but the rabbit hole was just beginning!&lt;/p&gt;
&lt;h2 id=&#34;Rabbit-Hole-Turns-Right&#34;&gt;&lt;a href=&#34;#Rabbit-Hole-Turns-Right&#34; class=&#34;headerlink&#34; title=&#34;Rabbit Hole Turns Right&#34;&gt;&lt;/a&gt;Rabbit Hole Turns Right&lt;/h2&gt;&lt;p&gt;So at some point I decided to download the Conan the Barbarian movie and watch it as well.  I had just started, and as the armed dogs are running through a red forest at the very beginning, I paused it and said holy sheep shooters those are &lt;a href=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/&#34;&gt;european red pines&lt;/a&gt; just like in Cercedilla!  So I had to search to see where the exact filming locations were here in spain, and was very pleased that this english guy Alex Sargent has been doing all the heavy lifting finding the actual spots were the movie was filmed back in 1982 and visiting them to see how they are now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=PWpQQcg4U_E&#34;&gt;Exploring Conan’s Cimmerian Village - Conan The Barbarian Filming Location 1982 &amp;#x2F; 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=j52ctVNEYww&#34;&gt;Exploring The Wheel Of Pain - Conan The Barbarian Filming Location 1982 &amp;#x2F;2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=2Ej7KmDkv9E&#34;&gt;Exploring The Atlantean Sword Cave - Conan The Barbarian Filming Location 1982 &amp;#x2F; 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=yTRHZCZtJFc&#34;&gt;Exploring The Witches Hut, Cuenca - Conan The Barbarian Filming Location 1982 &amp;#x2F;2024&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Rabbit-Hole-Turns-Left&#34;&gt;&lt;a href=&#34;#Rabbit-Hole-Turns-Left&#34; class=&#34;headerlink&#34; title=&#34;Rabbit Hole Turns Left&#34;&gt;&lt;/a&gt;Rabbit Hole Turns Left&lt;/h2&gt;&lt;p&gt;Once I had finished watching the movie I was really struck with just what a darn good movie it was and this was not just my boyhood memory.  I mean a really good movie, while the next one Arnold made, &lt;a href=&#34;https://en.wikipedia.org/wiki/Conan_the_Destroyer&#34;&gt;&lt;em&gt;Conan the Destroyer&lt;/em&gt;&lt;/a&gt;, is so, so bad.  How can that be?  The first thing I thought of was that way back when my friend Julio had given me a &lt;em&gt;definitive edition&lt;/em&gt; DVD:&lt;/p&gt;
&lt;img src=&#34;/2026/01/04/Vacation-Rabbit-Hole-Conan-the-Barbarian/vacation_rabbithole_06.jpg&#34; class=&#34;&#34; title=&#34;Thanks Julio!&#34;&gt;
&lt;p&gt;And bark like a dog it has two DVDs! The first with the movie and the option to have the commentary of Arnold and the director (not too interesting really as I do not think Arnold had seen the movie since he made it) and the second with all sorts of interesting extra content including a “making of” documentary that was pure pay dirt with interviews of all the main participants that made it what it is (producer, director, set maker, composer, actors, etcetera).  This is when I realized a major force in making it so good was the director, &lt;a href=&#34;https://en.wikipedia.org/wiki/John_Milius&#34;&gt;John Milius&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;Rabbit-Hole-goes-deep&#34;&gt;&lt;a href=&#34;#Rabbit-Hole-goes-deep&#34; class=&#34;headerlink&#34; title=&#34;Rabbit Hole goes deep&#34;&gt;&lt;/a&gt;Rabbit Hole goes deep&lt;/h2&gt;&lt;p&gt;So I began reading about this director.  Hummm. Had no idea that he was also a product of the USC film school where his classmates was George Lucas, and pals with Francis Ford Coppola and Steven Spielberg. And wait, he is the one who did the surf movie &lt;a href=&#34;https://en.wikipedia.org/wiki/Big_Wednesday&#34;&gt;Big Wednesday&lt;/a&gt; and pretty much created the whole Dirty Harry persona, complete with &lt;em&gt;make my day punk&lt;/em&gt; and his other famous one liners.  Hummm only logical next step is to download all the movies he directed and watch them!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1973 &lt;a href=&#34;https://en.wikipedia.org/wiki/Dillinger_(1973_film)&#34;&gt;Dillinger&lt;/a&gt; &lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0069976/&#34;&gt;IMDb 6.9&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1975 &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Wind_and_the_Lion&#34;&gt;The Wind and the Lion&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0073906/?ref_=fn_t_1&#34;&gt;IMDb 6.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wow a really good movie with amazing actors, visuals, and historical context. Can’t believe I have never seen this before or even heard of it.  Was also, like Conan, filmed in Spain.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1978 &lt;a href=&#34;https://en.wikipedia.org/wiki/Big_Wednesday&#34;&gt;Big Wednesday&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0077235/?ref_=fn_t_1&#34;&gt;IMDb 7.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1982 &lt;a href=&#34;https://en.wikipedia.org/wiki/Conan_the_Barbarian_(1982_film)&#34;&gt;Conan the Barbarian&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0073906/?ref_=fn_t_1&#34;&gt;IMDb 6.9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Well, what sent me down this rabbit hole…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1984 &lt;a href=&#34;https://en.wikipedia.org/wiki/Red_Dawn&#34;&gt;Red Dawn&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0087985/?ref_=fn_t_1&#34;&gt;IMDb 6.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wow. I remember this from my youth as well but did not remember it like this (maybe because I did not have a pirated VHS copy that I watched almost every day in the summer of 1984).  Good movie but not as good as I remembered it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;1991 &lt;a href=&#34;https://en.wikipedia.org/wiki/Flight_of_the_Intruder&#34;&gt;Flight of the Intruder&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.imdb.com/title/tt0099587/?ref_=fn_t_1&#34;&gt;IMDb 5.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The last movie John directed and it is pretty bad, despite the fact it has great actors (Danny Glover and William Dafoe) and a really interesting plot line.  So clear it takes lots more then just the director to make a good movie.  Especially easy to compare this with Top Gun, which is also a movie from my youth that I have seen recently, and it &lt;strong&gt;IS&lt;/strong&gt; as good as I remember it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Results of this deep dive: I still have not made it through all of them, but would appear a major deferential in his best movies are that they were made in Spain!&lt;/p&gt;
&lt;h2 id=&#34;Rabbit-Hole-Exit&#34;&gt;&lt;a href=&#34;#Rabbit-Hole-Exit&#34; class=&#34;headerlink&#34; title=&#34;Rabbit Hole Exit&#34;&gt;&lt;/a&gt;Rabbit Hole Exit&lt;/h2&gt;&lt;p&gt;So as all vacations must inevitably do, my vacation has ended and I must get back to work and stop reading comics, watching youtube videos, and watching movies.  I really enjoyed this rabbit hole ride and appreciate the Conan movie more and think maybe that the next rabbit hole could be his creator, Robert E. Howard!   &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2026-01-04T12:23:49.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/01/04/Haiku-Naked-Until-Spring/</id>
        <title>Haiku: Naked Until Spring</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/01/04/Haiku-Naked-Until-Spring/"/>
        <content type="html">&lt;img src=&#34;/2026/01/04/Haiku-Naked-Until-Spring/haiku_nus.jpg&#34; class=&#34;&#34; title=&#34;Naked Until Spring&#34;&gt;
</content>
        <category term="Haiku" />
        <updated>2026-01-04T10:54:20.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2026/01/01/Goodbye-2025-Good-Morning-2026/</id>
        <title>Goodbye 2025, Good Morning 2026</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2026/01/01/Goodbye-2025-Good-Morning-2026/"/>
        <content type="html">&lt;img src=&#34;/2026/01/01/Goodbye-2025-Good-Morning-2026/goodbye_01.jpg&#34; class=&#34;&#34; width=&#34;2025&#34;&gt;
&lt;img src=&#34;/2026/01/01/Goodbye-2025-Good-Morning-2026/goodbye_02.jpg&#34; class=&#34;&#34; width=&#34;2025&#34;&gt;
</content>
        <category term="Rants" />
        <updated>2026-01-01T07:45:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/12/21/reMarkable-Sleep-Screen-Customization/</id>
        <title>reMarkable Sleep Screen Customization</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/12/21/reMarkable-Sleep-Screen-Customization/"/>
        <content type="html">&lt;img src=&#34;/2025/12/21/reMarkable-Sleep-Screen-Customization/remarkable_ss_01.jpg&#34; class=&#34;&#34; title=&#34;Yea!&#34;&gt;

&lt;p&gt;I have been using &lt;a href=&#34;https://github.com/evidlo/remarkable_news&#34;&gt;remarkable_news&lt;/a&gt; to have a fresh XKCD comic on my reMarkable’s sleep screen since I got it and have been really happy with it. The other day a co-worker asked how I was doing it and I pointed him to remarkable_news and had forgotten that it had all sorts of options for the sleep screen in addition to XKCD.  I tried to set it up for Calvin and Hobbes but found it did not work and that led me down a rabbit hole leading to a fully customized sleep screen with a daily quote, Calvin and Hobbes, the Peanuts, and Bloom County!  Read on for the details!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;The-problem&#34;&gt;&lt;a href=&#34;#The-problem&#34; class=&#34;headerlink&#34; title=&#34;The problem&#34;&gt;&lt;/a&gt;The problem&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/evidlo/remarkable_news&#34;&gt;Remarkable_news&lt;/a&gt; points to &lt;a href=&#34;https://www.gocomics.com/random/calvinandhobbes&#34;&gt;https://www.gocomics.com/random/calvinandhobbes&lt;/a&gt; but that currently  throws a &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_HTTP_status_codes&#34;&gt;HTTP 404 status code&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2025/12/21/reMarkable-Sleep-Screen-Customization/remarkable_ss_02.jpg&#34; class=&#34;&#34; width=&#34;404&#34;&gt;

&lt;p&gt;I tried pointing it to &lt;a href=&#34;https://www.gocomics.com/calvinandhobbes&#34;&gt;https://www.gocomics.com/calvinandhobbes&lt;/a&gt; that gives today’s comic but that did not work either.  I figured this was all due to GoComics attempts to make it hard for people to just scrape their comics which is understandable they take evasive actions to protect their authors work. So I signed up for a 7 day trial to see if I was a paying member if I could figure out how to get it to work.  I began discussing with Gemini how could I download the image directly on the reMarkable and despite the limited tools available via &lt;a href=&#34;https://en.wikipedia.org/wiki/BusyBox&#34;&gt;BusyBox&lt;/a&gt; on the reMarkable with Gemini’s help got a script working that actually succeeded in downloading the comic.  The problem was that it was really small and at the top of the screen.  That is when I realized the &lt;a href=&#34;https://github.com/evidlo/remarkable_news&#34;&gt;remarkable_news&lt;/a&gt; app could be pointed at any website and be used to enlarge and center the image.  So I had Gemini concoct me this script that:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Downloads today’s Peanuts comic&lt;/li&gt;
&lt;li&gt;Downloads today’s Calvin and Hobbes comic&lt;/li&gt;
&lt;li&gt;Downloads today’s Bloom County comic&lt;/li&gt;
&lt;li&gt;Generates a quote of the day&lt;/li&gt;
&lt;li&gt;Combines the fortune and three comics into a PNG &lt;/li&gt;
&lt;li&gt;Copies the PNG to &lt;a href=&#34;https://blog.jupiterstation.net/suspended.png&#34;&gt;https://blog.jupiterstation.net/suspended.png&lt;/a&gt; so it is available for &lt;a href=&#34;https://github.com/evidlo/remarkable_news&#34;&gt;remarkable_news&lt;/a&gt; service on my reMarkable&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I present update_comics.sh:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

# --- Configuration ---
WORKDIR=&amp;quot;/sd/pv/comic&amp;quot;
COOKIE=&amp;quot;authorization cookie goes here&amp;quot;
USER_AGENT=&amp;quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36&amp;quot;

# Ensure work directory exists
mkdir -p &amp;quot;$WORKDIR&amp;quot;

# --- Function: Fetch High-Res Comic ---
# Arguments: $1 = Page URL, $2 = Output Filename (no extension)
fetch_comic_image() &amp;#123;
    local PAGE_URL=&amp;quot;$1&amp;quot;
    local FILENAME=&amp;quot;$2&amp;quot;
    local TEMP_HTML=&amp;quot;/tmp/$&amp;#123;FILENAME&amp;#125;.html&amp;quot;
    
    echo &amp;quot;Downloading page: $PAGE_URL&amp;quot;
    wget --header=&amp;quot;Cookie: $COOKIE&amp;quot; --user-agent=&amp;quot;$USER_AGENT&amp;quot; -qO &amp;quot;$TEMP_HTML&amp;quot; &amp;quot;$PAGE_URL&amp;quot;

    # Extract high-res URL (try 1500w then 1200w)
    local IMG_URL=$(grep -oE &amp;#39;https://featureassets.gocomics.com/assets/[^ ]+ 1500w&amp;#39; &amp;quot;$TEMP_HTML&amp;quot; | head -n 1 | awk &amp;#39;&amp;#123;print $1&amp;#125;&amp;#39;)
    if [ -z &amp;quot;$IMG_URL&amp;quot; ]; then
        IMG_URL=$(grep -oE &amp;#39;https://featureassets.gocomics.com/assets/[^ ]+ 1200w&amp;#39; &amp;quot;$TEMP_HTML&amp;quot; | head -n 1 | awk &amp;#39;&amp;#123;print $1&amp;#125;&amp;#39;)
    fi

    if [ -n &amp;quot;$IMG_URL&amp;quot; ]; then
        echo &amp;quot;Found high-res image: $IMG_URL&amp;quot;
        wget --user-agent=&amp;quot;$USER_AGENT&amp;quot; -qO &amp;quot;$WORKDIR/$&amp;#123;FILENAME&amp;#125;.png&amp;quot; &amp;quot;$IMG_URL&amp;quot;
        rm &amp;quot;$TEMP_HTML&amp;quot;
    else
        echo &amp;quot;Error: Could not find image URL for $FILENAME&amp;quot;
        rm &amp;quot;$TEMP_HTML&amp;quot;
        exit 1
    fi
&amp;#125;

# --- Main Execution ---

# 1. Download both comics using the function
fetch_comic_image &amp;quot;https://www.gocomics.com/profile/xxxxxxxx/comics/222840&amp;quot; &amp;quot;peanuts&amp;quot;
fetch_comic_image &amp;quot;https://www.gocomics.com/profile/xxxxxxxx/comics/222986&amp;quot; &amp;quot;cah&amp;quot;
fetch_comic_image &amp;quot;https://www.gocomics.com/profile/xxxxxxxx/comics/223013&amp;quot; &amp;quot;BloomCounty&amp;quot;

# 2. Get a short fortune
MY_FORTUNE=$(curl -k https://api.quotable.io/random -s | jq -r &amp;#39;&amp;quot;\(.content)\n - \(.author)&amp;quot;&amp;#39;)

# 3. Combine everything with ImageMagick
# Order: Fortune (top), C&amp;amp;H (middle), Peanuts (bottom)
echo &amp;quot;Generating suspended.png...&amp;quot;
convert \
    -background white -fill black \
     -font /usr/local/share/fonts/truetype/xkcd/xkcd-script.ttf \
    -pointsize 40 \
    -size 1404x400 -gravity center caption:&amp;quot;$MY_FORTUNE&amp;quot; \
    &amp;quot;$WORKDIR/cah.png&amp;quot; -resize 1404x \
    &amp;quot;$WORKDIR/peanuts.png&amp;quot; -resize 1404x \
    &amp;quot;$WORKDIR/BloomCounty.png&amp;quot; -resize 1404x \
    -append \
    -background white -gravity center -extent 1404x1872 \
    &amp;quot;$WORKDIR/suspended.png&amp;quot;

# 4. Copy to distribution point
cp &amp;quot;$WORKDIR/suspended.png&amp;quot; &amp;quot;/sd/pv/blog/content/suspended.png&amp;quot;

echo &amp;quot;All done! Sleep page updated.&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then added an entry to my crontab to run every morning at 6am:&lt;br&gt;    &lt;code&gt;0 6 * * * /sd/pv/comic/update_comics.sh&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And now I have a customized sleep screen on my reMarkable!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/evidlo/remarkable_news&#34;&gt;remarkable_news&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://aaronbos.dev/posts/quote-api-terminal&#34;&gt;Generating Random Quotes via CLI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="TechToys" />
        <category term="Remarkable" />
        <updated>2025-12-21T17:53:08.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/12/07/Book-Report-Frankenstein/</id>
        <title>Book Report: Frankenstein</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/12/07/Book-Report-Frankenstein/"/>
        <content type="html">&lt;img src=&#34;/2025/12/07/Book-Report-Frankenstein/br_frankenstein01.jpg&#34; class=&#34;&#34; title=&#34;Sky Line&#34;&gt;

&lt;p&gt;October’s pick for my work book club was Halloween themed with Dracula or Frankenstein as candidates and I voted for Frankenstein and was pleased it won as I see it as a perfectly timely story given the hype around &lt;a href=&#34;https://en.wikipedia.org/wiki/Artificial_general_intelligence&#34;&gt;AGI&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/P(doom)&#34;&gt;P(doom)&lt;/a&gt; and was interested in insights that could be gleamed from a 200+ year old novel and it did not disappoint!&lt;/p&gt;
&lt;p&gt;I think this quote said by the monster to Victor pretty much captures the potential danger AGI presents and what I saw over in over in &lt;a href=&#34;/2025/09/28/P-doom/&#34;&gt;the movies I watched&lt;/a&gt; preparing for the AI apocalypse:  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“You are my creator, but i am your master; obey!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Frankenstein&lt;br&gt;&lt;strong&gt;Author:&lt;/strong&gt; Mary Shelley&lt;br&gt;&lt;strong&gt;Publication date:&lt;/strong&gt; 1818&lt;br&gt;&lt;strong&gt;Pages:&lt;/strong&gt;  280&lt;br&gt;&lt;strong&gt;Format:&lt;/strong&gt; ebook&lt;br&gt;&lt;strong&gt;Price:&lt;/strong&gt; free (&lt;a href=&#34;https://www.gutenberg.org/&#34;&gt;Project Gutenberg&lt;/a&gt;)&lt;br&gt;&lt;strong&gt;Started:&lt;/strong&gt;  21&amp;#x2F;11&amp;#x2F;2025&lt;br&gt;&lt;strong&gt;Finished:&lt;/strong&gt; 02&amp;#x2F;12&amp;#x2F;2025&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My rough notes (careful could contain spoilers):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is true and really great horror story that keeps you on the edge of your seat (if you can make it through Victor’s whining)&lt;/li&gt;
&lt;li&gt;Victor Frankenstein is a whiner and super annoying.  He spends 4 months creating the monster, but one second after giving him life repents it and runs, hides, and falls into one of his many bouts of dishabilating illnesses.&lt;/li&gt;
&lt;li&gt;The monster has three books that form his foundation and basis of learning:&lt;br&gt;Paradise Lost, a volume of Plutarch’s Lives, and the Sorrows of Werter.&lt;/li&gt;
&lt;li&gt;Plot twist: the monster wants victor to create a second monster!&lt;/li&gt;
&lt;li&gt;Creating sentient life has its risks (as all parents know)&lt;/li&gt;
&lt;li&gt;I like how the story is told through different people throughout:&lt;ul&gt;
&lt;li&gt;starts as a letter from a ship captain to sister&lt;/li&gt;
&lt;li&gt;then from the eyes of Frankenstein &lt;/li&gt;
&lt;li&gt;then from eyes of the monster &lt;/li&gt;
&lt;li&gt;then back to ship captain&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="BookReport" />
        <updated>2025-12-07T07:42:20.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/11/20/Surface-Go-Retooling/</id>
        <title>Surface Go Retooling</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/11/20/Surface-Go-Retooling/"/>
        <content type="html">&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_01.png&#34; class=&#34;&#34; title=&#34;Back to the Empire&#34;&gt;

&lt;p&gt;I love when these big companies talk about how green and environmentally responsible they are, but then their actions just demonstrate the opposite.  Microsoft did that on October 14th when they ended support of Windows 10 requiring an upgrade to Windows 11 to ensure you keep getting security updates (something that is a must given the current security landscape).  The only problem is that there was an &lt;a href=&#34;https://jorgep.com/blog/staggering-number-of-windows-10-pcs-still-out-there/&#34;&gt;estimated 160 million to 200 million PCs running Windows 10&lt;/a&gt; on October 14th that are not compatible with Windows 11. Sadly lots of those devices will end up contributing to the already existing enormous e-waste bin. Or will this be a &lt;a href=&#34;https://en.wikipedia.org/wiki/When_life_gives_you_lemons,_make_lemonade&#34;&gt;making lemonade moment&lt;/a&gt; and finally give the linux desktop movement the bump we have been waiting for the last 10 years?  One of the 200 million PCs is my Surface Go (o the sweet irony, a Microsoft device that they have turned their back on) so I decided give the Linux route a chance!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Backstory&#34;&gt;&lt;a href=&#34;#Backstory&#34; class=&#34;headerlink&#34; title=&#34;Backstory&#34;&gt;&lt;/a&gt;Backstory&lt;/h2&gt;&lt;p&gt;So the last time I tried to go the Linux route for my home laptop was at the end of 2004 and due to all sorts of driver issues I was pushed into the amazing golden age arms of Mac OS X with their Aqua GUI and &lt;em&gt;real&lt;/em&gt; Unix BSD under the hood.  What an amazing time it was. I learned to enjoy computers again and with every new release of OS X I read the release notes line by line marveling at the improvements and installed without fear and found everything was just better after the upgrade.  And NO problems.  You think I exaggerate, but I do not.  It was truly a special time.  But as the Confucians can tell us, not all good things last for ever, and there came a point that things stopped working after upgrades and Apple started doing all sorts of bat shit stupid things like removing scroll bars (something they themselves invented to give you an idea of where the fuck you are in a document) that there came another moment when I had to make the switch again and in 2019 I went back to Windows, but as I was still not so sure, I went with a super reasonably priced Surface Go, the same that Microsoft left us out in the cold on October 14th.&lt;/p&gt;
&lt;h2 id=&#34;The-Leap&#34;&gt;&lt;a href=&#34;#The-Leap&#34; class=&#34;headerlink&#34; title=&#34;The Leap&#34;&gt;&lt;/a&gt;The Leap&lt;/h2&gt;&lt;p&gt;So given my prior driver experience 20+ years ago, I really expected that the Surface GO to give me all sorts of problems and started searching the internet and asking ChatGPT for recommendations on a specific distribution (distro) that would be most compatible. But from the post and websites I kinda got the feeling that almost any distro would work fine so I decided to go with Debian as that is what I always use on &lt;a href=&#34;/2023/07/29/Raspberry-Pi-computers/&#34;&gt;my Raspberry Pi’s&lt;/a&gt; and have the most familiarity, at least in a non gui setting.  So I prepared a USB boot drive and made the leap!&lt;/p&gt;
&lt;h2 id=&#34;The-Results-and-experience&#34;&gt;&lt;a href=&#34;#The-Results-and-experience&#34; class=&#34;headerlink&#34; title=&#34;The Results and experience&#34;&gt;&lt;/a&gt;The Results and experience&lt;/h2&gt;&lt;p&gt;OMG.  How far the Linux normal user desktop experience has come!!!  I think Debian is using &lt;a href=&#34;https://www.gnome.org/&#34;&gt;Gnome&lt;/a&gt; as the GUI and it is just a joy!  Every single thing I have tried has just worked.  From a super straight forward installation process, to the surface pen, to using the device in portrait fullscreen mode to read a comic book, to connecting via a USB dock with external monitor mouse and keyboard EVERYTHING just works!  And I do not remember my Surface Go ever being this fast!  In fact I have written and prepared this post entirely on my &lt;em&gt;new&lt;/em&gt; Surface Go that has been saved from the e-waste bin and will give me years more use! Yea! &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 3 Weeks Later:&lt;/strong&gt; I now use my SurfaceGo much more than I have had used in a long time as it is super quick and very small and portable.  Everything I have wanted to do I have been able and the GUI is very intuitive.  I am truly convinced Linux is ready for prime time and probably will grab an old laptop and install Debian on it for my mother-in-law and that will be the true test.&lt;/p&gt;
&lt;h2 id=&#34;Lots-of-boring-details-about-install-process&#34;&gt;&lt;a href=&#34;#Lots-of-boring-details-about-install-process&#34; class=&#34;headerlink&#34; title=&#34;Lots of boring details about install process&#34;&gt;&lt;/a&gt;Lots of boring details about install process&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;First I used &lt;a href=&#34;&#34;&gt;Rufus&lt;/a&gt; to prepare the boot USB drive:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_02.png&#34; class=&#34;&#34; title=&#34;Rufus&#34;&gt;&lt;/li&gt;
&lt;li&gt;Then from within Windows told I told it to reboot in recovery mode:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_03.png&#34; class=&#34;&#34; title=&#34;Reset&#34;&gt;&lt;/li&gt;
&lt;li&gt;Then you “Use a device” to boot from the USB:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_04.png&#34; class=&#34;&#34; title=&#34;Boot from the USB already&#34;&gt;&lt;/li&gt;
&lt;li&gt;Then you figure out which is the USB and boot off of it:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_05.png&#34; class=&#34;&#34; title=&#34;Ok really boot from the USB already&#34;&gt;&lt;/li&gt;
&lt;li&gt;And bark like a dog we are ready to rock n roll!:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_06.png&#34; class=&#34;&#34; title=&#34;Finally!&#34;&gt;&lt;/li&gt;
&lt;li&gt;I will not include screen shots of the whole process of configuring Debian, but it was all straight forward and painless and at the end of the process I was rewarded with a new GUI I have no idea how to use, but am finding it super easy very beautiful:&lt;img src=&#34;/2025/11/20/Surface-Go-Retooling/surface_07.png&#34; class=&#34;&#34; title=&#34;Welcome to the new world&#34;&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;This guy did the same and from him I got the trick on how to use recovery mode to boot off the USB: &lt;a href=&#34;https://blog.lhotka.net/2025/04/22/Running-Linux-on-My-Surface-Go&#34;&gt;Running Linux on My Surface Go&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;How to get maximize and minimize buttons on windows in Gnome: Install &lt;em&gt;Gnome Tweaks&lt;/em&gt; from app store&lt;/li&gt;
&lt;li&gt;How to configure wine apps so they are correct resolution: run *winecfg” -&amp;gt; Graphics -&amp;gt; Screen Resolution&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="Rants" />
        <updated>2025-11-20T20:56:37.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/11/14/Recipe-Black-Bean-and-Corn-Salad/</id>
        <title>Recipe: Black Bean and Corn Salad</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/11/14/Recipe-Black-Bean-and-Corn-Salad/"/>
        <content type="html">&lt;img src=&#34;/2025/11/14/Recipe-Black-Bean-and-Corn-Salad/r_corn_01.jpg&#34; class=&#34;&#34; title=&#34;The goods&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;I discovered this recipe at the end of summer in our “operation slim jim” (ie lots of salads and lower caloric foods post summer to recover from all the excesses) from the amazing site &lt;a href=&#34;https://www.loveandlemons.com/&#34;&gt;Love&amp;amp;Lemons&lt;/a&gt; and it was an immediate hit that I have repeated multiple times. And the best is that it is so easy.&lt;/p&gt;
&lt;h2 id=&#34;Ingredients&#34;&gt;&lt;a href=&#34;#Ingredients&#34; class=&#34;headerlink&#34; title=&#34;Ingredients&#34;&gt;&lt;/a&gt;Ingredients&lt;/h2&gt;&lt;h3 id=&#34;For-the-Dressing&#34;&gt;&lt;a href=&#34;#For-the-Dressing&#34; class=&#34;headerlink&#34; title=&#34;For the Dressing:&#34;&gt;&lt;/a&gt;For the Dressing:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;¼ cup fresh lime juice&lt;/li&gt;
&lt;li&gt;3 tablespoons olive oil&lt;/li&gt;
&lt;li&gt;1 small garlic clove, grated&lt;/li&gt;
&lt;li&gt;½ teaspoon ground cumin&lt;/li&gt;
&lt;li&gt;¾ teaspoon sea salt&lt;/li&gt;
&lt;li&gt;Freshly ground black pepper&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;For-the-Salad&#34;&gt;&lt;a href=&#34;#For-the-Salad&#34; class=&#34;headerlink&#34; title=&#34;For the Salad:&#34;&gt;&lt;/a&gt;For the Salad:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;1½ cups cooked black beans, drained and rinsed&lt;/li&gt;
&lt;li&gt;Kernels from 2 ears fresh corn, left raw, about 1½ cups&lt;/li&gt;
&lt;li&gt;1 red bell pepper, stemmed, seeded, and diced&lt;/li&gt;
&lt;li&gt;½ cup chopped fresh cilantro, plus more cilantro leaves for garnish&lt;/li&gt;
&lt;li&gt;½ to 1 jalapeño pepper, seeded and diced, or 1 serrano, sliced&lt;/li&gt;
&lt;li&gt;1&amp;#x2F;3 cup diced red onion&lt;/li&gt;
&lt;li&gt;3 tablespoons Cotija cheese (used goat and lately “queso latino”)&lt;/li&gt;
&lt;li&gt;1 ripe but firm avocado, pitted and diced&lt;/li&gt;
&lt;li&gt;2 tablespoons toasted pepitas, optional&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Instructions&#34;&gt;&lt;a href=&#34;#Instructions&#34; class=&#34;headerlink&#34; title=&#34;Instructions&#34;&gt;&lt;/a&gt;Instructions&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;In a large mixing bowl, whisk together the lime juice, avocado oil, garlic, cumin, salt, and several grinds of pepper.&lt;/li&gt;
&lt;li&gt;Add the black beans, corn, red pepper, cilantro, jalapeño, and red onion and toss to coat.&lt;/li&gt;
&lt;li&gt;Fold in the cheese and avocado and season to taste. Sprinkle with cilantro leaves and toasted pepitas, if desired.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Pictures-of-process&#34;&gt;&lt;a href=&#34;#Pictures-of-process&#34; class=&#34;headerlink&#34; title=&#34;Pictures of process&#34;&gt;&lt;/a&gt;Pictures of process&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;The ingredients:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/11/14/Recipe-Black-Bean-and-Corn-Salad/r_corn_02.jpg&#34; class=&#34;&#34; title=&#34;All the stuff&#34;&gt;
&lt;p&gt;&lt;strong&gt;Mixing adding and mixing the goods:&lt;/strong&gt;&lt;br&gt;So as said above, the best this is so easy: just make the dressing in the bottom of a bowl, add the beans, corn, red pepper, cilantro, jalapeño, and red oñions and then mix. Then add the squisher stuff: cheese and avocado and gently fold it in.  And you are done!&lt;/p&gt;
&lt;img src=&#34;/2025/11/14/Recipe-Black-Bean-and-Corn-Salad/r_corn.gif&#34; class=&#34;&#34; title=&#34;Putting it all together&#34;&gt;

&lt;h2 id=&#34;Source&#34;&gt;&lt;a href=&#34;#Source&#34; class=&#34;headerlink&#34; title=&#34;Source&#34;&gt;&lt;/a&gt;Source&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://www.loveandlemons.com/black-bean-and-corn-salad/&#34;&gt;Love&amp;amp;Lemons&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Recipes" />
        <updated>2025-11-14T18:06:16.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/11/01/Pebble-it-s-still-time/</id>
        <title>Pebble it&#39;s still time</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/11/01/Pebble-it-s-still-time/"/>
        <content type="html">&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_02.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Package&#34;&gt;

&lt;h2 id=&#34;It-arrived&#34;&gt;&lt;a href=&#34;#It-arrived&#34; class=&#34;headerlink&#34; title=&#34;It arrived!!!!!!&#34;&gt;&lt;/a&gt;It arrived!!!!!!&lt;/h2&gt;&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;“It” is a &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_(watch&#34;&gt;Pebble Technology&lt;/a&gt; 2 Duo, the “Duo” standing for “do over” as it is a remake of the Pebble 2 that was originally launched in 2016 but then at the end of that year Pebble closed its doors and the intellectual property of the company was sold to Fit Bit and the long wait began.  I personally began to fear my trusty Pebble Time Steel that was pushing 10 years was not going to last until a viable successor came out and &lt;a href=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/&#34;&gt;wrote about it&lt;/a&gt; last September, and low and behold Eric Migicovsky the founder of Pebble was in the same state as me: in the 10 years since the demise of Pebble he too had found no viable replacement, and in January of this year he announced the joyous &lt;a href=&#34;(https://opensource.googleblog.com/2025/01/see-code-that-powered-pebble-smartwatches.html)&#34;&gt;news that Google had opened sourced the Pebble watch OS&lt;/a&gt; and he sprang into action (actually I assume he had a lot to do with convincing Google to open source it, so he was already in action behind the scenes).&lt;/p&gt;
&lt;p&gt;On March 17th I received an email announcing that things were about to start:&lt;/p&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_03.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Announcement&#34;&gt;

&lt;p&gt;And that pesky Eric made it difficult because there were options!&lt;/p&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_04.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Which one?&#34;&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_05.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Which one?&#34;&gt;

&lt;p&gt;Ahh man I don’t use it too often, but I &lt;strong&gt;really&lt;/strong&gt; like the compass and the Duo also has a barometer! But the Time 2 is color and metal!  Decisions, decisions! And I ended up ordering the Time 2, and after 2 hours and 17 fretful minutes placing an order for the Duo as well! &lt;/p&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_06.jpg&#34; class=&#34;&#34; title=&#34;Indecision gets expensive&#34;&gt;

&lt;h2 id=&#34;Unboxing&#34;&gt;&lt;a href=&#34;#Unboxing&#34; class=&#34;headerlink&#34; title=&#34;Unboxing&#34;&gt;&lt;/a&gt;Unboxing&lt;/h2&gt;&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_07.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Nice&#34;&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_08.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Nicer&#34;&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_09.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Nicest&#34;&gt;
&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_10.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Nicest&#34;&gt;

&lt;p&gt;Note: the attentive reader is asking why it is a white Duo and not black?  I got an email a couple weeks ago indicating there were delays with the black ones, and if I wished I could change to the white. I am not a fan of white watches, but in all the pictures I have seen, the white looked better, so I went with it.  That proved to be fortunate, because Eric sent an email about a week ago indicating there were problems sourcing the materials for the black ones and the remaining would have to change to a white, upgrade to the Pebble 2 with a discount, or cancel their order.&lt;/p&gt;
&lt;h2 id=&#34;Impressions&#34;&gt;&lt;a href=&#34;#Impressions&#34; class=&#34;headerlink&#34; title=&#34;Impressions&#34;&gt;&lt;/a&gt;Impressions&lt;/h2&gt;&lt;h3 id=&#34;Thoughts-after-first-few-hours&#34;&gt;&lt;a href=&#34;#Thoughts-after-first-few-hours&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after first few hours:&#34;&gt;&lt;/a&gt;Thoughts after first few hours:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Joy Joy Joy!&lt;/li&gt;
&lt;li&gt;The screen is so crisp and clear&lt;/li&gt;
&lt;li&gt;At first I was unsure if it was only black and white or color because when I turned it on was blue, but then realized that is the back light that makes things seem blue:&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_11.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Blue or black&#34;&gt;&lt;/li&gt;
&lt;li&gt;Much lighter than Time Steel, does not feel as rugged, and I doubt it could have held out 10 years&lt;/li&gt;
&lt;li&gt;I had to uninstall the previous Android Pebble app, but overall new app install and setup was super easy (was so excited did not take any pictures of this part)&lt;/li&gt;
&lt;li&gt;It is more “geeky” looking than the Time Steel and wife thinks it is the ugliest thing she has ever seen &lt;/li&gt;
&lt;li&gt;The buttons are stiff&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-24-hours&#34;&gt;&lt;a href=&#34;#Thoughts-after-24-hours&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after 24 hours:&#34;&gt;&lt;/a&gt;Thoughts after 24 hours:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Love how crisp the screen is from multiple angles&lt;/li&gt;
&lt;li&gt;my FrankenWatch does not work, will have to investigate:&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_12.jpg&#34; class=&#34;&#34; title=&#34;Ut ohhh&#34;&gt;&lt;/li&gt;
&lt;li&gt;back light works well at night as mini flashlight &lt;/li&gt;
&lt;li&gt;Was unable to get &lt;a href=&#34;https://bobby.rebble.io/&#34;&gt;Bobby&lt;/a&gt; past this screen but then realized you just have to hit allow and wait (I guess it is getting GPS location and can take time):&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_13.jpg&#34; class=&#34;&#34; title=&#34;Ut ohhh 2&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://bobby.rebble.io/&#34;&gt;Bobby&lt;/a&gt; voice recognition works great, but never answers (confirmed in  &lt;a href=&#34;https://ndocs.repebble.com/changelog&#34;&gt;Pebble Mobile App - Changelog&lt;/a&gt; that not working yet): (Update 09&amp;#x2F;01&amp;#x2F;2026: now works fine with Android)&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_14.jpg&#34; class=&#34;&#34; title=&#34;Ut ohhh 3&#34;&gt;&lt;/li&gt;
&lt;li&gt;Can not find a way to order apps and went onto &lt;a href=&#34;https://discordapp.com/invite/aRUAYFN&#34;&gt;Discord Channel&lt;/a&gt; and appears that is still not implemented in the new app&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-about-a-week&#34;&gt;&lt;a href=&#34;#Thoughts-after-about-a-week&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after about a week:&#34;&gt;&lt;/a&gt;Thoughts after about a week:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Oh my I love how crisp the screen is!&lt;/li&gt;
&lt;li&gt;Pebble 2 Duo does not know time on boot and until synced with phone can’t be used as a watch (need to review if maybe does not have a real time clock like the Pebble Time Steel?) (update 07&amp;#x2F;11&amp;#x2F;2025: &lt;a href=&#34;https://www.reddit.com/r/pebble/comments/1oqys5l/why_does_the_pebble_2_duo_reset_to_000_jan_1st/&#34;&gt;asked&lt;/a&gt; in r&amp;#x2F;pebble and was answered in less than an hour that known issue)&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_15.jpg&#34; class=&#34;&#34; title=&#34;0:00&#34;&gt;&lt;/li&gt;
&lt;li&gt;It is possible to map “Airplane Mode” to a button! Yea! very useful!&lt;/li&gt;
&lt;li&gt;It boots so quickly and has a new logo!&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_16.jpg&#34; class=&#34;&#34; title=&#34;New logo!&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-63-days&#34;&gt;&lt;a href=&#34;#Thoughts-after-63-days&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after 63 days&#34;&gt;&lt;/a&gt;Thoughts after 63 days&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;I had to put it to charge for the second time since I got it (note I turn off every night while sleeping):&lt;img src=&#34;/2025/11/01/Pebble-it-s-still-time/pebble_ist_17.jpg&#34; class=&#34;&#34; title=&#34;Just goes and goes&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-more-than-a-year-of-use&#34;&gt;&lt;a href=&#34;#Thoughts-after-more-than-a-year-of-use&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after more than a year of use:&#34;&gt;&lt;/a&gt;Thoughts after more than a year of use:&lt;/h3&gt;&lt;p&gt;(pending)&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ndocs.repebble.com/changelog&#34;&gt;Pebble Mobile App - Changelog&lt;/a&gt; (Check here for known issues)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ndocs.repebble.com/pebbleos-changelog&#34;&gt;PebbleOS - Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://discordapp.com/invite/aRUAYFN&#34;&gt;Pebble Discord&lt;/a&gt; (ufff do not understand how Discord works. very chaotic!)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ericmigi.com/blog/introducing-two-new-pebbleos-watches&#34;&gt;Pebble 2 Duo and Time 2 announcement and details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/sdk/&#34;&gt;SDK: Installing and using&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/guides/tools-and-resources/hardware-information/&#34;&gt;SDK: Hardware Information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.rebble.io/guides/tools-and-resources/pebble-tool/&#34;&gt;SDK: Command line tool&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <category term="Pebble" />
        <updated>2025-11-01T06:06:17.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/10/26/Replacement-for-email-notifications/</id>
        <title>Replacement for email notifications</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/10/26/Replacement-for-email-notifications/"/>
        <content type="html">&lt;p&gt;Thanks to those pesky spammers I can no longer use email for notifications from my different systems because they no longer allow basic authentication (ie user and password) for sending emails so this morning I had to find an alternative. I let Google’s Gemini know my problem and it provided me with multiple alternatives and I was able to implement a solution in less than an hour giving me time to make cinnamon rolls for child number 2!&lt;br&gt;Who said AI is not making us more productive¿?¿?&lt;br&gt;Read on for the details!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Context&#34;&gt;&lt;a href=&#34;#Context&#34; class=&#34;headerlink&#34; title=&#34;Context&#34;&gt;&lt;/a&gt;Context&lt;/h2&gt;&lt;p&gt;I have an off-site “lifeboat” &lt;a href=&#34;/2023/07/29/Raspberry-Pi-computers/&#34;&gt;RasperyPi&lt;/a&gt; that backs up all my photos from my home network every night, and I realized I have not received an email notification of the results in I do not know how long.   Using email for these notifications has been pretty much wack a mole for the last few years with it stopping to work every once in a while, requiring setting up something or other and would appear both &lt;a href=&#34;https://support.google.com/a/answer/14114704?hl=en&amp;src=supportwidget0&amp;authuser=0&#34;&gt;gmail&lt;/a&gt; and &lt;a href=&#34;https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online&#34;&gt;Hotmail&lt;/a&gt; have now made it impossible to use email  for these notifications. So I have been mulling over possible substitutes but thought: I was quite impressed with Gemini last week, why not ask it for some ideas!&lt;/p&gt;
&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Prompt for Gemini&lt;/strong&gt;:&lt;br&gt;&lt;em&gt;I used to use email for notifications from my different servers to inform me of results of backups, resource monitoring notifications, etcétera, but it is now imposible have a linux server send emails as gmail and Hotmail constantly are making it harder to send emails from servers so i need a new solution.  please let me know the options i should consider&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;:&lt;br&gt;Gemini gave me multiple possible solutions (see below for the full response) but the one that caught my eye due to simplicity was a service &lt;a href=&#34;https://ntfy.sh/&#34;&gt;ntfy&lt;/a&gt; that I had never heard of but seems like an perfect solution: push notification system via HTTP posts to a specific topic.  Appears it is even possible to self host the whole server if needed, which is something I may explore down the road, but for now let’s experiment with reality!&lt;/p&gt;
&lt;p&gt;First thing I did was install their app from &lt;a href=&#34;https://f-droid.org/en/&#34;&gt;F-Droid&lt;/a&gt; on my mobile which also impressed me that it was only 7 MB:&lt;/p&gt;
&lt;img src=&#34;/2025/10/26/Replacement-for-email-notifications/replacement_01.jpg&#34; class=&#34;&#34; title=&#34;ntfy install&#34;&gt;

&lt;p&gt;Once installed I defined a topic: &lt;/p&gt;
&lt;img src=&#34;/2025/10/26/Replacement-for-email-notifications/replacement_02.jpg&#34; class=&#34;&#34; title=&#34;Subscribe to a Topic&#34;&gt;

&lt;p&gt;and then sent a test message via &lt;a href=&#34;https://curl.se/&#34;&gt;cURL&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;andrew@Taygete:~$ curl -d &amp;quot;Test1&amp;quot; ntfy.sh/JupiterStationTransmissions
&amp;#123;&amp;quot;id&amp;quot;:&amp;quot;tO91Vjrpumdt&amp;quot;,&amp;quot;time&amp;quot;:1761463748,&amp;quot;expires&amp;quot;:1761506948,&amp;quot;event&amp;quot;:&amp;quot;message&amp;quot;,&amp;quot;topic&amp;quot;:&amp;quot;JupiterStationTransmissions&amp;quot;,&amp;quot;message&amp;quot;:&amp;quot;Test1&amp;quot;&amp;#125;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and I received the test on my phone:&lt;/p&gt;
&lt;img src=&#34;/2025/10/26/Replacement-for-email-notifications/replacement_03.jpg&#34; class=&#34;&#34; title=&#34;OMG that was easy!&#34;&gt;

&lt;p&gt;Wow.  That was easy and painless and super powerful as I can setup a topic for each of my use cases! Switching out the current nightly notification from email to ntfy simply involved changing this crontab entry:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0 01 * * * /sd/ath/PiLifeBoat-sync 2&amp;gt;&amp;amp;1 | /usr/bin/mail -s &amp;quot;PiLifeBoat results&amp;quot; andrew@jupiterstation.net
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;with this one:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0 01 * * * /sd/ath/PiLifeBoat-sync 2&amp;gt;&amp;amp;1 | curl -H &amp;quot;Title: PiLifeBoat results&amp;quot; --data-binary @- ntfy.sh/JupiterStationTransmissions
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and in under 30 minutes my problem was resolved! Now on to making cinnamon rolls for child number 2:&lt;br&gt;    &lt;img src=&#34;/2025/10/26/Replacement-for-email-notifications/replacement_04.jpg&#34; class=&#34;&#34; title=&#34;Tasty!&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gemini.google.com/&#34;&gt;Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ntfy.sh/&#34;&gt;ntfy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Full Gemini response:&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;You’re right, sending email directly from a server IP is a constant battle against spam filters. Gmail and Hotmail are protecting their users, but it makes life difficult for system administrators.&lt;/p&gt;
&lt;p&gt;The modern solution is to use services or platforms that are &lt;em&gt;designed&lt;/em&gt; to receive automated messages. Here are the best options you should consider, moving from simple replacements to more robust systems.&lt;/p&gt;
&lt;h2 id=&#34;1-Dedicated-Push-Notification-Services&#34;&gt;&lt;a href=&#34;#1-Dedicated-Push-Notification-Services&#34; class=&#34;headerlink&#34; title=&#34;1. Dedicated Push Notification Services&#34;&gt;&lt;/a&gt;&lt;strong&gt;1. Dedicated Push Notification Services&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;These services are built for one purpose: sending instant alerts from your scripts&amp;#x2F;apps to your phone. They are extremely reliable and easy to set up.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pushover:&lt;/strong&gt; This is a very popular, simple, and reliable service.  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You buy the mobile app (a small, one-time fee). Your server then just sends a simple API request (e.g., using curl) to Pushover’s servers, which instantly push the notification to your phone.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Extremely simple to use from any script, very reliable, and allows for different priority levels (e.g., “critical” alerts that bypass your phone’s silent mode).  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Not free (though the one-time app cost is low).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ntfy (Self-Hosted or Public):&lt;/strong&gt; This is a fantastic open-source alternative.  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You can use the public, free ntfy.sh server or (better yet) host your own lightweight ntfy server. You “subscribe” to a topic (just a name, like my-server-backups) in the mobile app. Your server then sends a simple message to that topic’s URL.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Can be 100% free and self-hosted (giving you full privacy), incredibly simple to use, and has a web app.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; If you self-host, you’re responsible for keeping the ntfy server running.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gotify (Self-Hosted):&lt;/strong&gt; Another popular, simple, open-source, and self-hosted option similar to ntfy.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2-Chat-amp-Messaging-Platforms&#34;&gt;&lt;a href=&#34;#2-Chat-amp-Messaging-Platforms&#34; class=&#34;headerlink&#34; title=&#34;2. Chat &amp;amp; Messaging Platforms&#34;&gt;&lt;/a&gt;&lt;strong&gt;2. Chat &amp;amp; Messaging Platforms&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;If you already use a team chat tool, this is often the easiest and “free-est” option. You create a bot or a “webhook” and have your server post messages to a specific channel.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Telegram:&lt;/strong&gt; This is a very common choice for server alerts.  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You create a “Bot” (which is easy and free) and get an API token. You then find your personal chat ID. Your script can use curl to send a message to the bot’s API URL, which instantly appears in your chat.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Completely free, instant, and many monitoring tools have built-in Telegram support.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Setup is slightly more complex than Pushover (you have to create a bot and find a chat ID).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Slack &amp;#x2F; Discord:&lt;/strong&gt; Both work similarly to Telegram.  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You create an “Incoming Webhook” for a specific channel. This gives you a unique, secret URL. Any message you POST to that URL instantly appears in the channel.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Excellent if you already use these services. Very easy to set up.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Can be “noisy” if you mix critical alerts with regular team chat.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-The-“Fix-Email”-Option-SMTP-Relay-Services&#34;&gt;&lt;a href=&#34;#3-The-“Fix-Email”-Option-SMTP-Relay-Services&#34; class=&#34;headerlink&#34; title=&#34;3. The “Fix Email” Option: SMTP Relay Services&#34;&gt;&lt;/a&gt;&lt;strong&gt;3. The “Fix Email” Option: SMTP Relay Services&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;This option lets you &lt;em&gt;keep&lt;/em&gt; using email, but you solve the deliverability problem. Instead of your server sending the email directly, it hands it off to a professional service that specializes in email delivery.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Services to Use:&lt;/strong&gt; &lt;strong&gt;SendGrid&lt;/strong&gt;, &lt;strong&gt;Brevo&lt;/strong&gt; (formerly Sendinblue), or &lt;strong&gt;MailerSend&lt;/strong&gt;.  &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You sign up for one of these services. Most have a free tier (e.g., 100-300 emails&amp;#x2F;day) that is more than enough for server notifications. You configure your server’s mail agent (like postfix or ssmtp) to use their SMTP credentials instead of trying to send mail itself.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; This is the &lt;strong&gt;least disruptive&lt;/strong&gt; solution. You don’t have to change any of your existing scripts that already send email. It just works.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; It’s still email. You won’t get instant push alerts with different priorities like you would with Pushover.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;The-“All-in-One”-Solution-Apprise&#34;&gt;&lt;a href=&#34;#The-“All-in-One”-Solution-Apprise&#34; class=&#34;headerlink&#34; title=&#34;The “All-in-One” Solution: Apprise&#34;&gt;&lt;/a&gt;&lt;strong&gt;The “All-in-One” Solution: Apprise&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;You don’t necessarily have to choose just one. &lt;strong&gt;Apprise&lt;/strong&gt; is a powerful open-source library that acts as a notification “middle-man.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How it works:&lt;/strong&gt; You install apprise and configure it with the credentials for &lt;em&gt;all&lt;/em&gt; the services you want to use (e.g., Pushover, Telegram, &lt;em&gt;and&lt;/em&gt; your SendGrid email account).  &lt;/li&gt;
&lt;li&gt;In your scripts, instead of writing code to talk to Pushover or Telegram, you just call apprise with your message. apprise then instantly sends that message to &lt;strong&gt;every single service&lt;/strong&gt; you’ve configured.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Incredibly flexible. You can start with just email, then add Pushover later without changing any of your original scripts. You just add one line to your apprise config.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;My-Recommendation&#34;&gt;&lt;a href=&#34;#My-Recommendation&#34; class=&#34;headerlink&#34; title=&#34;My Recommendation&#34;&gt;&lt;/a&gt;&lt;strong&gt;My Recommendation&lt;/strong&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;For a quick, reliable, non-email fix:&lt;/strong&gt; Use &lt;strong&gt;ntfy.sh&lt;/strong&gt; (public) or &lt;strong&gt;Telegram&lt;/strong&gt;. You can set either up in 10 minutes.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;For a “set it and forget it” robust solution:&lt;/strong&gt; Pay the $5 for &lt;strong&gt;Pushover&lt;/strong&gt;. It’s built for this exact job.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If you don’t want to change scripts:&lt;/strong&gt; Use a free &lt;strong&gt;SMTP Relay&lt;/strong&gt; like SendGrid to fix your existing email setup.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="AI" />
        <updated>2025-10-26T18:04:55.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/10/17/Offline-LLM/</id>
        <title>Offline LLM</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/10/17/Offline-LLM/"/>
        <content type="html">&lt;p&gt;Shiver me timbers!  I have been listening to multiple podcast interviews with AI pioneers and finally decided how to repurpose an end of life out of support server from work: setup my own little &lt;a href=&#34;https://en.wikipedia.org/wiki/Large_language_model&#34;&gt;LLM&lt;/a&gt;!  Little did I know how easy it is, and you do not even need an end of life out of support server from work to do this!  I already have multiple LLM models on my laptop as well!&lt;br&gt;Read on for how you can do this as well! &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Background&#34;&gt;&lt;a href=&#34;#Background&#34; class=&#34;headerlink&#34; title=&#34;Background&#34;&gt;&lt;/a&gt;Background&lt;/h2&gt;&lt;p&gt;So my recent &lt;a href=&#34;/2025/09/28/P-doom/&#34;&gt;P(doom) post&lt;/a&gt; has led me down a rabbit hole of seeing all sorts of really cool movies and listening to lots of podcasts with AI pioneers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh Podcast&lt;/a&gt;&lt;/strong&gt;: &lt;em&gt;&lt;a href=&#34;https://www.dwarkesh.com/p/richard-sutton&#34;&gt;Richard Sutton – Father of RL thinks LLMs are a dead end&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://lexfridman.com/&#34;&gt;Lex Fridman&lt;/a&gt;&lt;/strong&gt;: &lt;em&gt;&lt;a href=&#34;https://lexfridman.com/yann-lecun-3/&#34;&gt;#416 – Yann Lecun: Meta AI, Open Source, Limits of LLMs, AGI &amp;amp; the Future of AI&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://lexfridman.com/&#34;&gt;Lex Fridman&lt;/a&gt;&lt;/strong&gt;: *&lt;a href=&#34;https://lexfridman.com/demis-hassabis-2&#34;&gt;#475 – Demis Hassabis: Future of AI, Simulating Reality, Physics and Video Games&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and that triggerd an itch to finally begin playing with this technology instead of just consuming it.  So I figured I would need a big server with a NVIDA GPU to scratch the itch. I happen to have access to an end of life out of support server from work that was decommissioned earlier in the year that I have been trying to think what to do with it.  My first idea was to install &lt;a href=&#34;https://www.proxmox.com/en/products/proxmox-virtual-environment/overview&#34;&gt;Proxmox&lt;/a&gt; to create my own hyper scaler, and even installed &lt;a href=&#34;https://www.proxmox.com/en/products/proxmox-virtual-environment/overview&#34;&gt;Proxmox&lt;/a&gt; but realized I had not partitioned the disks quite right and never got back to it.  So I decided why not just install Debian and play with LLMs! &lt;/p&gt;
&lt;h2 id=&#34;Rabbit-hole&#34;&gt;&lt;a href=&#34;#Rabbit-hole&#34; class=&#34;headerlink&#34; title=&#34;Rabbit hole&#34;&gt;&lt;/a&gt;Rabbit hole&lt;/h2&gt;&lt;p&gt;Once Debian was installed I asked ChatGPT how to get started and it recommended starting with &lt;a href=&#34;https://ollama.com/&#34;&gt;Ollama&lt;/a&gt; and I kinda just thought that was Meta’s open source Llama LLM which had been my initial idea to play with after listening to the interview with &lt;a href=&#34;https://en.wikipedia.org/wiki/Yann_LeCun&#34;&gt;Yann Lecun&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So I followed the instructions:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# curl -fsSL https://ollama.com/install.sh | sh
&amp;gt;&amp;gt;&amp;gt; Installing ollama to /usr/local
&amp;gt;&amp;gt;&amp;gt; Downloading Linux amd64 bundle
######################################################################## 100.0%
&amp;gt;&amp;gt;&amp;gt; The Ollama API is now available at 127.0.0.1:11434.
&amp;gt;&amp;gt;&amp;gt; Install complete. Run &amp;quot;ollama&amp;quot; from the command line.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;that was easy and painless.  and now what?&lt;br&gt;ChatGPT recommended running llama3.2 that was new and efficient on a device without GPU:&lt;/p&gt;
&lt;img src=&#34;/2025/10/17/Offline-LLM/offline_llm_01.jpg&#34; class=&#34;&#34; title=&#34;options&#34;&gt;

&lt;p&gt;So I gave it a test:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# ollama run llama3.2
pulling manifest
pulling manifest
pulling 6a0746a1ec1a: 100% ▕██████████████████████████████████████████████████████████▏ 2.0 GB
pulling 4fa551d4f938: 100% ▕██████████████████████████████████████████████████████████▏ 12 KB
pulling 8ab4849b038c: 100% ▕██████████████████████████████████████████████████████████▏ 254 B
pulling 577073ffcc6c: 100% ▕██████████████████████████████████████████████████████████▏ 110 B
pulling 3f8eb4da87fa: 100% ▕██████████████████████████████████████████████████████████▏ 485 B
verifying sha256 digest
writing manifest
&amp;gt;&amp;gt;&amp;gt; why is the sky blue?
The color of the sky appears blue because of a phenomenon called Rayleigh scattering.
Here&amp;#39;s what happens:
1. When sunlight enters Earth&amp;#39;s atmosphere, it encounters tiny molecules of gases such as nitrogen (N2) and oxygen
(O2).
2. These gas molecules scatter the light in all directions.
3. The shorter, blue wavelengths of light are scattered more than
...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;OMG. and just like that I have my own offline LLM?  That is crazy.&lt;br&gt;Let me see how much space this taking up on my end of life out of support server:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# ollama list
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 6 minutes ago
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Two gigabytes and this thing knows everything¿?¿?¿?  I am big fan of offline things and used to always have an offline version of the Wikipedia on my mobile phones until the english version got too big and phones stopped having SD card slots and I think the last I had was pushing close to 60 GB!&lt;/p&gt;
&lt;p&gt;Waitaminute here. If that was so easy, does Ollama have a windows version that I could run on my laptop?&lt;br&gt;Yes siree bob!&lt;br&gt;and it even has a gui front end with a history:&lt;/p&gt;
&lt;img src=&#34;/2025/10/17/Offline-LLM/offline_llm_02.jpg&#34; class=&#34;&#34; title=&#34;Windows Ollama&#34;&gt;

&lt;p&gt;Wow.  I am just in awe.  speechless. This is crazy.  I do not even need the end of life out of support server, but now that I have it, let’s explore more!&lt;/p&gt;
&lt;h2 id=&#34;Experimenting-with-my-own-LMM&#34;&gt;&lt;a href=&#34;#Experimenting-with-my-own-LMM&#34; class=&#34;headerlink&#34; title=&#34;Experimenting with my own LMM&#34;&gt;&lt;/a&gt;Experimenting with my own LMM&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Please note:&lt;/strong&gt; all of these examples were quick and dirty, let’s see what is possible, copy and paste examples from output from ChatGPT.  Now that I see how possible and easy this is, I am thinking of how to utilize this power for id’ing and tagging my 59,607 photos.&lt;/p&gt;
&lt;h3 id=&#34;1-Let’s-have-it-review-all-the-photos-in-a-directory-and-then-allow-me-to-ask-questions-about-content-of-the-photos&#34;&gt;&lt;a href=&#34;#1-Let’s-have-it-review-all-the-photos-in-a-directory-and-then-allow-me-to-ask-questions-about-content-of-the-photos&#34; class=&#34;headerlink&#34; title=&#34;(1) Let’s have it review all the photos in a directory and then allow me to ask questions about content of the photos&#34;&gt;&lt;/a&gt;(1) Let’s have it review all the photos in a directory and then allow me to ask questions about content of the photos&lt;/h3&gt;&lt;p&gt;first I installed the needed tools:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pip install torch torchvision faiss-cpu pillow numpy tqdm open_clip_torch --break-system-packages
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;then created a photo_search.py script:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;34&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;35&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;36&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;37&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;38&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;39&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;40&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;41&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;42&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;43&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;44&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;45&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;46&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;47&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;48&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;49&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;50&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;51&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;52&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;53&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;54&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;55&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;import os&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import torch&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import numpy as np&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from PIL import Image&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from tqdm import tqdm&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import open_clip&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from torchvision import transforms&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import faiss&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Path to your photos&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;PHOTO_DIR = os.path.expanduser(&amp;quot;/home/andrew/photos&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Load CLIP model (ViT-B/32 is small and fast)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;model, _, preprocess = open_clip.create_model_and_transforms(&amp;#x27;ViT-B-32&amp;#x27;, pretrained=&amp;#x27;openai&amp;#x27;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;tokenizer = open_clip.get_tokenizer(&amp;#x27;ViT-B-32&amp;#x27;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Collect all image paths&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;image_paths = [os.path.join(PHOTO_DIR, f) for f in os.listdir(PHOTO_DIR)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;               if f.lower().endswith((&amp;#x27;.jpg&amp;#x27;, &amp;#x27;.jpeg&amp;#x27;, &amp;#x27;.png&amp;#x27;))]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;print(f&amp;quot;Found &amp;#123;len(image_paths)&amp;#125; images&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Compute embeddings&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;def embed_images(paths):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    embeddings = []&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    with torch.no_grad():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        for path in tqdm(paths):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            image = preprocess(Image.open(path).convert(&amp;quot;RGB&amp;quot;)).unsqueeze(0)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            emb = model.encode_image(image)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            emb /= emb.norm(dim=-1, keepdim=True)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            embeddings.append(emb.cpu().numpy())&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    return np.vstack(embeddings)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;print(&amp;quot;Embedding images...&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;image_embeddings = embed_images(image_paths)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Build FAISS index for fast search&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;index = faiss.IndexFlatIP(image_embeddings.shape[1])&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;index.add(image_embeddings)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Search loop&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;while True:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    query = input(&amp;quot;\nSearch for: &amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    if query.strip().lower() in [&amp;quot;exit&amp;quot;, &amp;quot;quit&amp;quot;]:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        break&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    with torch.no_grad():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        text_tokens = tokenizer([query])&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        text_emb = model.encode_text(text_tokens)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        text_emb /= text_emb.norm(dim=-1, keepdim=True)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        text_emb = text_emb.cpu().numpy()&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    D, I = index.search(text_emb, 5)  # top 5 results&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;Top matches:&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    for rank, idx in enumerate(I[0]):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        print(f&amp;quot;&amp;#123;rank+1&amp;#125;. &amp;#123;image_paths[idx]&amp;#125; (score: &amp;#123;D[0][rank]:.3f&amp;#125;)&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;then I copied all my September photos to &amp;#x2F;home&amp;#x2F;andrew&amp;#x2F;photos and gave it a test run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# python3 photo_search.py
Found 105 images
Embedding images...
100%|██████████████████████████████████████████████████████████████████████| 105/105 [00:29&amp;lt;00:00, 3.56it/s]

Search for: dog
Top matches:
1. /home/andrew/photos/PXL_20250911_193650822.jpg (score: 0.264)
2. /home/andrew/photos/PXL_20250906_131654031.MP.jpg (score: 0.259)
3. /home/andrew/photos/PXL_20250911_181236959.jpg (score: 0.258)
4. /home/andrew/photos/PXL_20250901_082308584.jpg (score: 0.256)
5. /home/andrew/photos/PXL_20250903_112733955.MP.jpg (score: 0.253)

Search for:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;holy sheep shooters! It took about 30 seconds to analyze the 130 images and my dog was in everyone of the 5 pictures!  &lt;/p&gt;
&lt;p&gt;I also tested searching for “cocktail”, “clock tower”, “bull”, and “mountain” and all the results came back instantly and were mostly correct!&lt;/p&gt;
&lt;h3 id=&#34;2-Let’s-try-and-use-it-to-id-people-in-photos&#34;&gt;&lt;a href=&#34;#2-Let’s-try-and-use-it-to-id-people-in-photos&#34; class=&#34;headerlink&#34; title=&#34;(2) Let’s try and use it to id people in photos&#34;&gt;&lt;/a&gt;(2) Let’s try and use it to id people in photos&lt;/h3&gt;&lt;p&gt;First needed to install needed dependencies:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;sudo apt install cmake&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;pip install face_recognition pillow numpy tqdm&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;then I created a “known_faces” folder that I put a picture of each of my immediate family member:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/andrew/photos/known_faces/
├── me.jpg
├── wife.jpg
├── child 1.jpg
├── child 2.jpg
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I created a photo_people_tag.py script:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;34&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;35&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;36&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;37&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;38&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;39&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;40&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;41&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;42&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;43&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;44&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;45&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;46&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;47&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;48&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;49&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;50&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;51&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;import os&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import face_recognition&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;import json&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from tqdm import tqdm&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from PIL import Image, ImageDraw&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;PHOTO_DIR = os.path.expanduser(&amp;quot;/home/andrew/photos&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;KNOWN_DIR = os.path.expanduser(&amp;quot;/home/andrew/photos/known_faces&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;TAGS_FILE = os.path.expanduser(&amp;quot;/home/andrew/photos/photo_tags.json&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Load known faces&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;known_encodings = []&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;known_names = []&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;for filename in os.listdir(KNOWN_DIR):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    if filename.lower().endswith((&amp;#x27;.jpg&amp;#x27;, &amp;#x27;.jpeg&amp;#x27;, &amp;#x27;.png&amp;#x27;)):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        image = face_recognition.load_image_file(os.path.join(KNOWN_DIR, filename))&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        encodings = face_recognition.face_encodings(image)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        if encodings:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            known_encodings.append(encodings[0])&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            name = os.path.splitext(filename)[0]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            known_names.append(name)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;print(f&amp;quot;Loaded &amp;#123;len(known_names)&amp;#125; known people: &amp;#123;known_names&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Scan and tag photos&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;photo_tags = &amp;#123;&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;for filename in tqdm(os.listdir(PHOTO_DIR)):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    if not filename.lower().endswith((&amp;#x27;.jpg&amp;#x27;, &amp;#x27;.jpeg&amp;#x27;, &amp;#x27;.png&amp;#x27;)):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        continue&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    path = os.path.join(PHOTO_DIR, filename)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    image = face_recognition.load_image_file(path)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    face_locations = face_recognition.face_locations(image)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    encodings = face_recognition.face_encodings(image, face_locations)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    names = []&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    for face_encoding in encodings:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        matches = face_recognition.compare_faces(known_encodings, face_encoding, tolerance=0.5)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        for i, match in enumerate(matches):&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            if match:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;                names.append(known_names[i])&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;                break&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        else:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            names.append(&amp;quot;unknown&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    if names:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        photo_tags[filename] = names&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# Save tags&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;with open(TAGS_FILE, &amp;quot;w&amp;quot;) as f:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    json.dump(photo_tags, f, indent=2)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;print(f&amp;quot;\nTags saved to &amp;#123;TAGS_FILE&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;and I ran the script.  This took longer to run, 13 minutes 21 seconds for the 105 images:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew#  python3 photo_people_tag.py
Loaded 4 known people: [&amp;#39;me&amp;#39;, &amp;#39;wife&amp;#39;, &amp;#39;child 1&amp;#39;, &amp;#39;child 2&amp;#39;]
100%|████████████████████████████████████████████████████████| 141/141 [13:19&amp;lt;00:00,  5.67s/it]

Tags saved to /home/andrew/photos/photo_tags.json
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I reviewed the results and very impressive given only a single example of each family member!&lt;/p&gt;
&lt;h3 id=&#34;3-Let’s-try-and-have-it-ingest-my-own-data-and-allow-me-to-ask-questions-about-it&#34;&gt;&lt;a href=&#34;#3-Let’s-try-and-have-it-ingest-my-own-data-and-allow-me-to-ask-questions-about-it&#34; class=&#34;headerlink&#34; title=&#34;(3) Let’s try and have it ingest my own data and allow me to ask questions about it&#34;&gt;&lt;/a&gt;(3) Let’s try and have it ingest my own data and allow me to ask questions about it&lt;/h3&gt;&lt;p&gt;So here I learned to do this you do not need to “train” or “fine-tune” the model because that is really CPU and GPU demanding, rather you need to a &lt;a href=&#34;https://en.wikipedia.org/wiki/Retrieval-augmented_generation&#34;&gt;RAG (Retrieval-Augmented Generation)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is what we need to do:&lt;/p&gt;
&lt;img src=&#34;/2025/10/17/Offline-LLM/offline_llm_03.jpg&#34; class=&#34;&#34; title=&#34;High level overview of RAG&#34;&gt;

&lt;p&gt;ok let’s install the dependencies:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pip install chromadb langchain ollama --break-system-packages
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;copy and paste provided script &lt;em&gt;rag_qa.py&lt;/em&gt;:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.llms import Ollama&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.vectorstores import Chroma&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.embeddings import OllamaEmbeddings&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain.text_splitter import RecursiveCharacterTextSplitter&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain.chains import RetrievalQA&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain.docstore.document import Document&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 1. Load your data&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;docs = [&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    Document(page_content=open(&amp;quot;mydata1.txt&amp;quot;).read()),&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    Document(page_content=open(&amp;quot;mydata2.txt&amp;quot;).read())&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;]&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 2. Split into smaller chunks for embedding&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;chunks = splitter.split_documents(docs)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 3. Create embeddings and store them in Chroma&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;embedding = OllamaEmbeddings(model=&amp;quot;nomic-embed-text&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;vectorstore = Chroma.from_documents(chunks, embedding)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 4. Load LLaMA model through Ollama&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;llm = Ollama(model=&amp;quot;llama3.2&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 5. Build a QA chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;qa = RetrievalQA.from_chain_type(llm=llm, retriever=vectorstore.as_retriever())&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# 6. Ask a question&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;query = &amp;quot;Summarize what the documents say about project deadlines.&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;answer = qa.run(query)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;print(&amp;quot;Answer:&amp;quot;, answer)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;and fire it up: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# python3 rag_qa.py
Traceback (most recent call last):
File &amp;quot;/home/andrew/rag_qa.py&amp;quot;, line 4, in &amp;lt;module&amp;gt;
    from langchain.chains import ConversationalRetrievalQAChain
ModuleNotFoundError: No module named &amp;#39;langchain.chains&amp;#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and this crashed and burned.  So I began letting ChatGPT know the errors and spent a couple hours and had no luck what so ever. In the end I used up my free ChatGPT credits and think it was just in a loop of changing one module for another… will have to try this again once I have more ChatGPT credits.&lt;/p&gt;
&lt;p&gt;… couple hours later.  I enabled Gemini in my Google Workspaces and asked it:&lt;/p&gt;
&lt;img src=&#34;/2025/10/17/Offline-LLM/offline_llm_04.jpg&#34; class=&#34;&#34; title=&#34;Prompt&#34;&gt;

&lt;p&gt;and it gave me the plan of attack:&lt;/p&gt;
&lt;img src=&#34;/2025/10/17/Offline-LLM/offline_llm_05.jpg&#34; class=&#34;&#34; title=&#34;Gemini Pipeline&#34;&gt;

&lt;p&gt;first I installed the dependencies:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Main orchestration library
pip install langchain langchain-community --break-system-packages
# For the local vector database
pip install chromadb --break-system-packages
# To load your documents (e.g., PDFs)
pip install pypdf --break-system-packages
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and prepared ollmama:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Pull a good instruction-following model
ollama pull llama3

# Pull a top-tier local embedding model
ollama pull nomic-embed-text
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and created a my_documents folder and put a single pdf “a-history-of-the-world1.pdf” in it. Have no idea what the PDF is just searched and downloaded the first thing I found…&lt;/p&gt;
&lt;p&gt;I then copied and pasted &lt;em&gt;ingest.py&lt;/em&gt; script provided by Gemini:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;34&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;35&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;36&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;37&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;38&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;39&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;40&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;41&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;42&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;43&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;44&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;45&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;46&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;47&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;48&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;49&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;50&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;51&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;52&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;import os&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.document_loaders import DirectoryLoader, PyPDFLoader&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_text_splitters import RecursiveCharacterTextSplitter&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.embeddings import OllamaEmbeddings&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.vectorstores import Chroma&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# --- Configuration ---&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;DOCS_DIRECTORY = &amp;quot;./my_documents&amp;quot;  # Folder with your documents&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;CHROMA_DB_PATH = &amp;quot;./chroma_db&amp;quot;     # Folder to store the vector database&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;EMBEDDING_MODEL = &amp;quot;nomic-embed-text&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;CHUNK_SIZE = 1000&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;CHUNK_OVERLAP = 200&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;def main():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;Starting document ingestion...&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 1. Load your documents&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # Uses PyPDFLoader for .pdf files by default&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    loader = DirectoryLoader(DOCS_DIRECTORY, glob=&amp;quot;**/*.*&amp;quot;, loader_cls=PyPDFLoader, show_progress=True)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    documents = loader.load()&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    if not documents:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        print(f&amp;quot;No documents found in &amp;#123;DOCS_DIRECTORY&amp;#125;. Exiting.&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        return&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(f&amp;quot;Loaded &amp;#123;len(documents)&amp;#125; documents.&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 2. Split the documents into chunks&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    text_splitter = RecursiveCharacterTextSplitter(chunk_size=CHUNK_SIZE, chunk_overlap=CHUNK_OVERLAP)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    splits = text_splitter.split_documents(documents)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(f&amp;quot;Split documents into &amp;#123;len(splits)&amp;#125; chunks.&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 3. Initialize the Ollama embedding model&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This will use your local Ollama server&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    embeddings = OllamaEmbeddings(model=EMBEDDING_MODEL)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 4. Create and persist the Chroma vector store&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This will create the ./chroma_db directory if it doesn&amp;#x27;t exist&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;Creating vector store and embedding documents (this may take a while)...&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    db = Chroma.from_documents(&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        documents=splits, &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        embedding=embeddings,&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        persist_directory=CHROMA_DB_PATH&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    )&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;--------------------------------------------------&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(f&amp;quot;✅ Success! Vector store created at: &amp;#123;CHROMA_DB_PATH&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(f&amp;quot;Total chunks indexed: &amp;#123;db._collection.count()&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;--------------------------------------------------&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;if __name__ == &amp;quot;__main__&amp;quot;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    main()&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;and will much trepidation after this mornings experience, i launched it and to my suprise it started doing things:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# python3 ingest.py
Starting document ingestion...
100%|████████████████████████████████████████████████████████████████████| 1/1 [00:25&amp;lt;00:00, 25.25s/it]
Loaded 1008 documents.
Split documents into 5110 chunks.
embeddings = OllamaEmbeddings(model=EMBEDDING_MODEL)
Creating vector store and embedding documents (this may take a while)...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and it does appear to take awhile… has been going around 15 minutes now… maybe this I a function that would go quicker with a GPU? will have to ask Gemini once I have finished.&lt;br&gt;and after about a total of 25 minutes it finished:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--------------------------------------------------
✅ Success! Vector store created at: ./chroma_db
Total chunks indexed: 5110
--------------------------------------------------
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ok! nice! now we need to create a script to ask questions about my data. So i copied and pased &lt;em&gt;query.py&lt;/em&gt;:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;14&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;15&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;16&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;17&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;18&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;19&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;20&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;21&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;22&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;23&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;24&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;25&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;26&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;27&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;28&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;29&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;30&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;31&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;32&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;33&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;34&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;35&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;36&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;37&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;38&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;39&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;40&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;41&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;42&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;43&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;44&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;45&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;46&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;47&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;48&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;49&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;50&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;51&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;52&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;53&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;54&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;55&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;56&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;57&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;58&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;59&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;60&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;61&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;62&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;63&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;64&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;65&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;66&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;67&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;68&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;69&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;70&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;71&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;72&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;73&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;74&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;75&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;76&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;77&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;78&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;79&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;80&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;81&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;82&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;83&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;import sys&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.embeddings import OllamaEmbeddings&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.vectorstores import Chroma&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_community.llms import Ollama&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain.chains import create_retrieval_chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain.chains.combine_documents import create_stuff_documents_chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;from langchain_core.prompts import ChatPromptTemplate&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;# --- Configuration ---&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;CHROMA_DB_PATH = &amp;quot;./chroma_db&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;EMBEDDING_MODEL = &amp;quot;nomic-embed-text&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;LLM_MODEL = &amp;quot;llama3&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;def main():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 1. Initialize the embedding model&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    embeddings = OllamaEmbeddings(model=EMBEDDING_MODEL)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 2. Load the persistent vector store&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    try:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        db = Chroma(persist_directory=CHROMA_DB_PATH, embedding_function=embeddings)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    except Exception as e:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        print(f&amp;quot;Error loading vector database from &amp;#123;CHROMA_DB_PATH&amp;#125;.&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        print(f&amp;quot;Details: &amp;#123;e&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        print(&amp;quot;Did you run the &amp;#x27;ingest.py&amp;#x27; script first?&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        sys.exit(1)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 3. Initialize the Ollama LLM&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    llm = Ollama(model=LLM_MODEL)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 4. Create the prompt template&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This instructs the LLM to answer *only* based on the provided context.&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    prompt_template = &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    Answer the following question based only on the provided context.&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    If the answer is not in the context, say &amp;quot;I don&amp;#x27;t know&amp;quot;.&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &amp;lt;context&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &amp;#123;context&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &amp;lt;/context&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    Question: &amp;#123;input&amp;#125;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    prompt = ChatPromptTemplate.from_template(prompt_template)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 5. Create the &amp;quot;stuff&amp;quot; documents chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This chain takes the retrieved documents and &amp;quot;stuffs&amp;quot; them into the prompt&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    document_chain = create_stuff_documents_chain(llm, prompt)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 6. Create the retriever&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This object knows how to fetch documents from your vector store&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    retriever = db.as_retriever()&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 7. Create the main retrieval chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # This chain combines the retriever and the document_chain&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    retrieval_chain = create_retrieval_chain(retriever, document_chain)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(f&amp;quot;✅ RAG system is ready. Using LLM: &amp;#123;LLM_MODEL&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;Ask a question about your documents (type &amp;#x27;exit&amp;#x27; to quit).&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    # 8. Start the query loop&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    while True:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        try:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            query = input(&amp;quot;\n&amp;gt; &amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            if query.lower() == &amp;#x27;exit&amp;#x27;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;                break&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            if not query.strip():&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;                continue&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            # Invoke the chain with your query&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            response = retrieval_chain.invoke(&amp;#123;&amp;quot;input&amp;quot;: query&amp;#125;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            &lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            # Print the final answer&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            print(&amp;quot;\nAnswer:&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            print(response[&amp;quot;answer&amp;quot;])&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        except KeyboardInterrupt:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            break&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;        except Exception as e:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;            print(f&amp;quot;An error occurred: &amp;#123;e&amp;#125;&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    print(&amp;quot;Goodbye!&amp;quot;)&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;if __name__ == &amp;quot;__main__&amp;quot;:&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;    main()&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;launched the script and oh nooooooooo:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ganymede:/home/andrew# python3 query.py
Traceback (most recent call last):
File &amp;quot;/home/andrew/query.py&amp;quot;, line 5, in &amp;lt;module&amp;gt;
    from langchain.chains import create_retrieval_chain
ModuleNotFoundError: No module named &amp;#39;langchain.chains&amp;#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;… lots of hours later and lots of testing asking all sorts of llm’s offline and on, and even good old Google searches I finally got this to work on my laptop, and even on my laptop it was not easy.  I can only chalk this up to it would appear the different versions of python have made a big mess and made everthing way more complicated than things should be.&lt;/p&gt;
&lt;p&gt;once working it is crazy powerful. The actual &lt;em&gt;a-history-of-the-world1.pdf&lt;/em&gt; is 1008 pages long and any questions do take a few minutes to answer, but all that I asked it responded with answers that were quite interesting.  Here are a couple examples:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;andrew@Taygete:~$ python3 query.py
db = Chroma(persist_directory=CHROMA_DB_PATH, embedding_function=embeddings)
llm = Ollama(model=LLM_MODEL)
✅ RAG system is ready. Using LLM: llama3
Ask a question about your documents (type &amp;#39;exit&amp;#39; to quit).
&amp;gt; give me a 5 line summary
Answer:
I don&amp;#39;t know. The provided context appears to be excerpts from different sources praising a history book and expressing gratitude for help in writing it. There is no narrative or historical content that would allow me to provide a summary. If you meant something else, please clarify!
&amp;gt; tell me about the CHINA WAR
Answer:
Based on the provided context, here&amp;#39;s what I can tell you about the China War:

The China War refers to the conflict between China and Japan that started in July 1937. It was a three-sided struggle between the Chinese Communists, Chinese Nationalists, and Japanese forces. The war began with a clash between Chinese and Japanese soldiers on an ancient bridge near Peking (now Beijing), known as the Marco Polo Bridge incident.

The Japanese army had been expanding its influence in northern China since 1933, but it was not until July 1937 that full-scale war broke out when Chiang Kai-shek chose to resist instead of being overawed. The war quickly spread from northern China, with the Japanese attacking Shanghai and capturing the Nationalist capital of Nanking by December 1937.

The Japanese suffered significant casualties, but the Chinese suffered far more, with estimates suggesting at least 370,000 Chinese deaths and widespread brutality, including mass killings, rape, and looting. The &amp;quot;rape of Nanking&amp;quot; in particular was a shocking event that left 20,000 Chinese civilians dead and became a byword for barbarity.

The war dragged on for years, involving multiple sides and factions, including the Chinese Communists, who sought to gain control over territories evacuated by the Japanese.

&amp;gt; give me an exectuive summary of the CUBAN MISSILE CRISIS and players 
Answer:
Based on the provided context, here is a brief executive summary of the Cuban Missile Crisis and its key players:

**Summary:** In 1962, Soviet Union Premier Nikita Khrushchev secretly installed nuclear-capable ballistic missiles in Cuba, just 90 miles from the United States. The crisis was sparked when a U-2 spy plane detected the presence of these missiles, leading to a tense standoff between the US and the USSR. After several days of negotiations, Khrushchev agreed to dismantle the missile sites in exchange for a US promise not to invade Cuba.

**Key Players:**

1. **John F. Kennedy**: The 35th President of the United States, who faced the crisis during his presidency.
2. **Nikita Khrushchev**: The Premier of the Soviet Union, who ordered the installation of missiles in Cuba.
3. **Fidel Castro**: The leader of Cuba, who allowed the Soviet Union to install the missiles on Cuban soil.

I hope this summary meets your requirements!
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;Closing&#34;&gt;&lt;a href=&#34;#Closing&#34; class=&#34;headerlink&#34; title=&#34;Closing&#34;&gt;&lt;/a&gt;Closing&lt;/h2&gt;&lt;p&gt;Wow.  Had no idea what was possible.  Experiments 1 and 2 were done on a Friday afternoon and every piece of code just worked the first time.  Crazy. Love afternoons like this! Experiment 3 I did on Saturday morning during coffee in bed time, and was quite frustrating.  But then I got up, took the dog out, made some bread, and while it was rising gave it another attempt but using Gemini, first time I have ever tried it, and it came to the rescue and appeared to save the day, but I stil was fighting with experiment 3 until close to midnight to get it to work.  I am impressed with how Gemini works: appears to have a much more structured aproach to finding a solution when things don’t work.  Only problem is I ran out of credits early in the afternoon and was left on my own.  In any event, these three tests will leave me thinking about utilizations, and I am already planning to make much more use of ollama as an offline llm, so all in all has been a very productive 24 hours! &lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ollama.com/&#34;&gt;Ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.geeksforgeeks.org/artificial-intelligence/ollama-explained-transforming-ai-accessibility-and-language-processing/&#34;&gt;Ollama Explained: Transforming AI Accessibility and Language Processing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://collabnix.com/best-ollama-models-in-2025-complete-performance-comparison/&#34;&gt;Best Ollama Models 2025: Performance Comparison Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/ollama/comments/1jlkpsj/which_is_the_smallest_fastest_text_generation/&#34;&gt;Which is the smallest, fastest text generation model on ollama that can be used for chatbot?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama commands:&lt;ul&gt;
&lt;li&gt;start the server: &lt;code&gt;ollama serv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;list models already downloaded: &lt;code&gt;ollama list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;download a model: &lt;code&gt;ollama pull (name of model)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;delete a model: &lt;code&gt;ollama rm (name of model)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;run a model: &lt;code&gt;ollama run (name of model)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;run a model and have it output performance stats: &lt;code&gt;ollama run (name of model) --verbose&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Model runs with Ollama and results:&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Size&lt;/th&gt;
&lt;th&gt;what is cat6&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;llama3.2:1b&lt;/td&gt;
&lt;td&gt;2.0 GB&lt;/td&gt;
&lt;td&gt;38.9589416s&lt;/td&gt;
&lt;td&gt;LLaMA large language model, specifically designed for text-to-text tasks such as question answering, text classification, and more.  Runs well on both ganymede and laptop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;llama3.3:70b-instruct-q4_K_M&lt;/td&gt;
&lt;td&gt;42 GB&lt;/td&gt;
&lt;td&gt;13m49.371253397s&lt;/td&gt;
&lt;td&gt;LLaMA large language model with 70 billion parameters, making it one of the largest LLaMA variants.  Would not run on laptop, and on ganymede took 13 minutes to answer cat6 questions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;deepseek-r1:8b&lt;/td&gt;
&lt;td&gt;5.2 GB&lt;/td&gt;
&lt;td&gt;3m1.9106937s&lt;/td&gt;
&lt;td&gt;Has a much diffent way of responding to questions! So interesting!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;phi4:14b&lt;/td&gt;
&lt;td&gt;9.1 GB&lt;/td&gt;
&lt;td&gt;2m7.3596856s&lt;/td&gt;
&lt;td&gt;Phi-4: Microsoft’s Efficient Model. Well formed resonse, but too slow on my laptop.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;llama3.1:8b&lt;/td&gt;
&lt;td&gt;4.9 GB&lt;/td&gt;
&lt;td&gt;1m23.923619948s&lt;/td&gt;
&lt;td&gt;LLaMA large language model with 8 billion parameters.  Nice well prepared response. Also seems quite quick on ganymede.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gemma3:4b&lt;/td&gt;
&lt;td&gt;3.3 GB&lt;/td&gt;
&lt;td&gt;1m38.350735035s&lt;/td&gt;
&lt;td&gt;GEMMA (Generalized Entity Modeling for Multi-Task Applications) large language model architecture. Fast on ganymede. Provided most complete answer to &lt;em&gt;what is cat6&lt;/em&gt; with URL references and even a table comparing different standards.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gemma3:1b&lt;/td&gt;
&lt;td&gt;778 MB&lt;/td&gt;
&lt;td&gt;39.0868762s&lt;/td&gt;
&lt;td&gt;Smallest I tested and supper fast on my laptop and ganymede.  Tested with spanish translations as well and works well.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gemma4:12b&lt;/td&gt;
&lt;td&gt;9.6 GB&lt;/td&gt;
&lt;td&gt;9m0.7567533s&lt;/td&gt;
&lt;td&gt;Launched by Google in June 2026 &lt;a href=&#34;https://ollama.com/library/gemma4&#34;&gt;Gemma 4&lt;/a&gt; designed specifically to run on laptops or with the workstation models “for frontier intelligence locally.” (note: the time is from my laptop where the others are from end of life out of support server from work)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gemma4:e2b&lt;/td&gt;
&lt;td&gt;7.2 GB&lt;/td&gt;
&lt;td&gt;5m53.2089327s&lt;/td&gt;
&lt;td&gt;The “E” in E2B and E4B stands for “effective” parameters, and are made for edge device deployments. (note: the time is from my laptop where the others are from end of life out of support server from work)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="AI" />
        <updated>2025-10-17T14:52:56.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/10/11/Cercedilla-Field-Notes-Fall-Flowers-at-Ermita-de-San-Antonio/</id>
        <title>Cercedilla Field Notes: Fall Flowers at Ermita de San Antonio</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/10/11/Cercedilla-Field-Notes-Fall-Flowers-at-Ermita-de-San-Antonio/"/>
        <content type="html">&lt;img src=&#34;/2025/10/11/Cercedilla-Field-Notes-Fall-Flowers-at-Ermita-de-San-Antonio/CFN_fall_flowers_01.jpg&#34; class=&#34;&#34; title=&#34;Ermita de San Antonio in Fall)&#34;&gt;
&lt;p&gt;Not so sure the fall edition of this field notes will have as many flowers to reference as the spring edition, but read on to see if I discover more than one!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;ul&gt;
&lt;li&gt;&lt;h3 id=&#34;Colchicum-montanum&#34;&gt;&lt;a href=&#34;#Colchicum-montanum&#34; class=&#34;headerlink&#34; title=&#34;Colchicum montanum&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Vicia_sativa&#34;&gt;Colchicum montanum&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/10/11/Cercedilla-Field-Notes-Fall-Flowers-at-Ermita-de-San-Antonio/CFN_fall_flower_Colchicum_Montanum.jpg&#34; class=&#34;&#34; title=&#34;Colchicum montanum&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EN&lt;/strong&gt;: mountain meadow saffron or mountain autumn crocus&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ES&lt;/strong&gt;: quitameriendas, merendera&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: Blooms in late summer through autumn (September–October), just as most other flowers are fading. It often appears among dry grasses under pines (Pinus sylvestris) or in meadows near granite outcrops — a sure sign that autumn has arrived in the Sierra de Guadarrama.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-10-11T16:18:48.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/09/28/P-doom/</id>
        <title>P(doom)</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/09/28/P-doom/"/>
        <content type="html">&lt;p&gt;New word of the day: &lt;a href=&#34;https://en.wikipedia.org/wiki/P(doom)&#34;&gt;P(doom)&lt;/a&gt; is the probability of existentially catastrophic outcomes (so-called “doomsday scenarios”) as a result of artificial intelligence&lt;/p&gt;
&lt;p&gt;I leaned this word from a very interesting deep dive podcast by &lt;a href=&#34;https://www.npr.org/2024/03/01/1233173694/npr-explains-an-npr-app-exclusive&#34;&gt;NPR Explains…&lt;/a&gt; titled &lt;a href=&#34;https://one.npr.org/?sharedMediaId=nx-s1-5551312:nx-s1-mx-5731549&#34;&gt;AI and the Probability of Doom&lt;/a&gt;. Take a minute to listen to it and then come back and let’s discus P(doom)!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;So for a catastrophic outcome to be even possible, AI would need to reach &lt;a href=&#34;https://en.wikipedia.org/wiki/Artificial_general_intelligence&#34;&gt;Artificial general intelligence (AGI)&lt;/a&gt; which is when it reaches or passes human intelligence. The problem I see with current AI that everyday users are in touch with (ChatGPT, CoPilot, etcetera) is that these are &lt;a href=&#34;https://en.wikipedia.org/wiki/Large_language_model&#34;&gt;large language models&lt;/a&gt; trained by sucking up all of the information available on the internet that they could find, and then, as I understand how it works, predicting the next letter that should come as it generates each word of its response.  How this makes the leap to actually “thinking” and coming up with a novel idea seems incompatible to me.&lt;/p&gt;
&lt;p&gt;I have often joked that we hit our plateau in 2022 when ChatGPT went generally available.  After that the “free” sources of knowledge that have been used to train the LMMs have begun to dry up:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stack Exchange&lt;/strong&gt; (where LLM’s learned how to code): use has plummeted and altruistic sharing of coding knowledge has vanished with it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Books&lt;/strong&gt;: would appear that all sorts of copy righted material were sucked up and this will be bouncing around in courts for years. What is clear is that companies now have to be more careful about their learning material.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reddit&lt;/strong&gt;:  Another previous source of knowledge about anything that is not as deep as before, this time not due to AI, but due to the need to somehow monetize the site the owners ruined it by removing free API access and causing a revolt by the moderators (the people who made Reddit what it was by investing their time for free ensuring their subreddits subject matter does not go off the rails).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So how AI makes the leap to real intelligence is not clear to me. If it does, I think it is clear that P(doom) is not zero, but how high it gets is not clear.  I think some more education is in need, and what better way than watching historical documentaries that deal with P(doom) situations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Tron&#34;&gt;Tron&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/28/P-doom/pdoom_01.jpg&#34; class=&#34;&#34; title=&#34;Sark talks with MCP&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 26&amp;#x2F;09&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: The Master Control Program (MCP) is an artificial intelligence operating system that originated as a chess program..  The MCP monitors and controls ENCOM’s mainframe and has detected that a user program “Tron” is trying to monitor it and takes self preservation actions. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: Wow. Amazing special effects from a movie from 1982! Oh, but limiting lessons to how to avoid or counter a rogue AGI: keep playing video games to ensure skills are up to needed level if ever sucked into the system like Flynn.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/2001:_A_Space_Odyssey&#34;&gt;2001: A Space Odyssey&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/28/P-doom/pdoom_02.jpg&#34; class=&#34;&#34; title=&#34;HAL 9000&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 28&amp;#x2F;09&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: HAL 9000 is the onboard computer of the Discovery One, a spacecraft bound for Jupiter.  When it discovers two crew members are going to disable it due to strange behavior, it takes self preservation actions killing multiple humans, before Dave is able to shut HAL 9000 down.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: My gosh amazing movie, but really slow. Fell asleep twice and had to fast forward the psychedelic part at the end. Oh but limiting to lessons learned about p-doom: yes a computer that can think and thinks you want to turn it off, could be a dangerous situation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/The_Terminator&#34;&gt;The Terminator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/28/P-doom/pdoom_06.jpg&#34; class=&#34;&#34; title=&#34;Bleak future&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 19&amp;#x2F;10&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: A Cyberdyne Systems Model 101 cyborg is sent back to 1984 to terminate the mother of a future revolutionary who is waging a war against Skynet, a defense network computer system that was trusted to run the nuclear response, and then “got smart” and “decided our fate in microsecond: extermination”.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: Another 80’s movie so I just loved it. For me this is an 80’s version of &lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Colossus:_The_Forbin_Project&#34;&gt;Colossus: The Forbin Project&lt;/a&gt;&lt;/strong&gt; focusing more on the results of a rouge AGI and the battle against it.  Really amazing movie, but as with all movies that deal with time travel, if you think about it too much, plot points begin to get wobbly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And, of course I have asked ChatGPT if i missed any and he gave me a long list to consider after I have seen the those:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Classics &amp;#x2F; Foundations&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Colossus:_The_Forbin_Project&#34;&gt;Colossus: The Forbin Project&lt;/a&gt;&lt;/strong&gt; (1970)  &lt;img src=&#34;/2025/09/28/P-doom/pdoom_03.jpg&#34; class=&#34;&#34; title=&#34;Colossus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 04&amp;#x2F;10&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: Colossus, a defense super computer, is brought online to take the human out nuclear defense decisions and quickly detects that there is another system like it and begins making demands with consequences of destruction of cities if its orders are not followed. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: Wow super 70’s decor and dress! But focusing on p-doom lessons: If you give an AI system an objective you may not always like the way it meets its objective.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/WarGames&#34;&gt;WarGames&lt;/a&gt;&lt;/strong&gt; (1983)   &lt;img src=&#34;/2025/09/28/P-doom/pdoom_04.jpg&#34; class=&#34;&#34; title=&#34;WOPR&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 10&amp;#x2F;10&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: After 22% of the officers manning nuclear missiles failed to launch their missiles in a simulation, it is decided to “take the human out of the loop” and leave it in the hands of the &lt;strong&gt;W&lt;/strong&gt;ar &lt;strong&gt;O&lt;/strong&gt;perational &lt;strong&gt;P&lt;/strong&gt;lan &lt;strong&gt;R&lt;/strong&gt;esponse (WOPR (pronounced whopper)) super computer.  Shortly after a young hacker stumbles across a backdoor into WOPR while war dialing all numbers in Sunnyvale looking for a video game companies BBS. Thinking it is the video game company he asks WOPR to play a game of Global Thermonuclear War, not realizing that WORP is playing for real.  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: Must be because I grew up in the 80’s this movies look and feel did not feal so disco as the Forbin project, but once again I digress. I think that the main lesson from this movie is rather than “take the human out of the loop”, we need to maintain a human in the loop. An interesting side note: this movie actually introduced the concept that we have become so familiar of “computer enhanced hallucination” that LLMs are want to do!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Blade Runner (1982) &amp;amp; Blade Runner 2049 (2017) – More about AI consciousness and control, but they hit the existential themes.&lt;/li&gt;
&lt;li&gt;The Matrix (1999) – Post-doom scenario where AGI already won.&lt;/li&gt;
&lt;li&gt;I, Robot (2004) – VIKI AI reinterprets “protect humanity” in a dangerous way.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modern &amp;#x2F; Darker Takes&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Ex Machina (2014) – Intimate, psychological look at an AGI breaking free.&lt;/li&gt;
&lt;li&gt;Her (2013) – Less doom, more transcendence, but still raises the “what happens when AI leaves us behind?” question. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Transcendence_(2014_film)&#34;&gt;Transcendence&lt;/a&gt;&lt;/strong&gt; (2014)    &lt;img src=&#34;/2025/09/28/P-doom/pdoom_05.jpg&#34; class=&#34;&#34; title=&#34;PINN&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date watched&lt;/strong&gt;: 18&amp;#x2F;10&amp;#x2F;2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt;: Dr. Will Caster’s consicouness is uploaded to Physically Independent Neural Network (PINN) quantum computer after being shot with a polonium-laced bullet. From there he&amp;#x2F;it raises funds from stock market manipulation and builds a technology utopia in some weird desert ghost town and then precedes to make some nanoparticulate technology that spreads on the winds. At this point lost interest and fell asleep…&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;: Hmmmm. Not even any social comments or p(doom) lessons come to mind from this movie.  Did not impress…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Eagle Eye (2008) – Military AI takes control of infrastructure.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Series &amp;amp; Anthology&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Black Mirror (several episodes: “Metalhead,” “Hated in the Nation,” “White Christmas,” “Be Right Back”).&lt;/li&gt;
&lt;li&gt;Westworld (the HBO series) – AGI rebellion and evolution themes.  &lt;/li&gt;
&lt;li&gt;Person of Interest – TV show about competing AGIs manipulating humanity.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Animated &amp;#x2F; Niche but Relevant&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;Ghost in the Shell (1995 anime, plus later films&amp;#x2F;series) – Strong themes of AI, identity, and autonomy.&lt;/li&gt;
&lt;li&gt;Paprika (2006) &amp;amp; Serial Experiments Lain (1998) – Surreal explorations of networked intelligences.&lt;/li&gt;
&lt;li&gt;Neon Genesis Evangelion (1995) – Not AGI per se, but very aligned with apocalyptic tech themes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looks like I have a lot of material to review on during rainy days this fall and winter!&lt;/p&gt;
&lt;h2 id=&#34;Updates&#34;&gt;&lt;a href=&#34;#Updates&#34; class=&#34;headerlink&#34; title=&#34;Updates&#34;&gt;&lt;/a&gt;Updates&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;05&amp;#x2F;10&amp;#x2F;2025&lt;/strong&gt; Listened to &lt;a href=&#34;https://www.dwarkesh.com/p/richard-sutton&#34;&gt;Dwarkesh’s interview of Richard Sutton&lt;/a&gt; and finally heard a voice of reason agreeing with the above point about how is an LLM going to make the leap to &lt;a href=&#34;https://en.wikipedia.org/wiki/Artificial_general_intelligence&#34;&gt;AGI&lt;/a&gt;. when all it can do is lean on all the knowledge it has ingested.  Sutton is the father of reinforcement learning which does seem, at least from what I understood from the talk, could lead to real machine intelligence, because the idea is to start with a blank state and the program (I guest you could call it AI) learns as it goes (just like us and all animals). This then lead me to watch  &lt;a href=&#34;https://en.wikipedia.org/wiki/YouTube_video_(identifier)&#34;&gt;a documentary about AlphaGO&lt;/a&gt; and it is a clear example, albeit narrowly focused on the game Go, where AI can surpass human intelligence. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;07&amp;#x2F;12&amp;#x2F;2025&lt;/strong&gt; &lt;a href=&#34;/2025/12/07/Book-Report-Frankenstein/&#34;&gt;Finished Frankenstein&lt;/a&gt; this week and it is amazing how 200 years ago Mary Shelley laid the foundations and plot for almost all the P(Doom) movies I have watched!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/P(doom)&#34;&gt;Wikipedia page about P(doom)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://one.npr.org/?sharedMediaId=nx-s1-5551312:nx-s1-mx-5731549&#34;&gt;NPR Explains… “AI and the Probability of Doom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/68d8f64c-6654-8005-9ada-333ddf82e0af&#34;&gt;ChatGPT recommend movies about AGI going rouge and causing a P(doom) situation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <category term="AI" />
        <updated>2025-09-28T05:10:53.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/09/27/Indo-European-languages/</id>
        <title>Indo-European languages</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/09/27/Indo-European-languages/"/>
        <content type="html">&lt;p&gt;This morning I was cleaning my computer’s desktop and stumbled across this family tree of languages that I had downloaded from &lt;a href=&#34;https://en.wikipedia.org/wiki/Indo-European_languages&#34;&gt;Wikipedia&lt;/a&gt; after listening to an interview of David Reich by &lt;a href=&#34;https://www.dwarkesh.com/p/david-reich&#34;&gt;Dwarkesh Patel&lt;/a&gt;. I could not just throw it away as it really is mind blowing and wanted to keep it handy for reference so here it is:&lt;/p&gt;
&lt;img src=&#34;/2025/09/27/Indo-European-languages/IndoEuropeanTree.svg&#34; class=&#34;&#34; title=&#34;Tree&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;Every time I look at it I go down a rabbit hole of amazement that languages from all these places have a central origin of what from the DNA analysis that Reich and others are doing would appear to be the &lt;a href=&#34;https://en.wikipedia.org/wiki/Yamnaya_culture&#34;&gt;Yamnaya people&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2025/09/27/Indo-European-languages/IndoEuropean_01.jpg&#34; class=&#34;&#34; title=&#34;Map&#34;&gt;

&lt;p&gt;What is so crazy is that these people only started spreading out about 5000 years ago and from a DNA perspective almost totally wiped out the native existing population’s Y chromosome footprint (DNA that you get from your father). Brings to mind the opening scene of the movie &lt;a href=&#34;https://en.wikipedia.org/wiki/Conan_the_Barbarian_(1982_film)&#34;&gt;Conan the Barbarian&lt;/a&gt; when his town is invaded by Thulsa Doom’s raiders and his mother killed in front of him.  &lt;/p&gt;
&lt;p&gt;But if you look at the Y chromosomes—the DNA that people get from their fathers—it was more or less 100 percent from the steppe. What this means is that the males coming in from this Eastern group had completely displaced the local males through some process&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.dwarkesh.com/p/david-reich&#34;&gt;Dwarkesh Interview with David Reich&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.harvardmagazine.com/2022/06/feature-ancient-dna&#34;&gt;Telling Humanity’s Story through DNA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <updated>2025-09-27T05:15:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/09/22/Last-Day-of-Summer-2025/</id>
        <title>Last Day of Summer 2025</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/09/22/Last-Day-of-Summer-2025/"/>
        <content type="html">&lt;img src=&#34;/2025/09/22/Last-Day-of-Summer-2025/lds2025_01.jpg&#34; class=&#34;&#34; title=&#34;Final Sunset of the Summer&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;Today with the autumnal equinox summer has officially come to a close.  I really like spring and summer so for me this is a bit of a sad day as we go into shorter and shorter days.  But alas, here in Madrid even on the shortest days there is still light until 6pm, so I should not complain.  Today also was the first cool morning we have had all summer, a harbinger of weather to come.&lt;/p&gt;
&lt;p&gt;Here is where the sun sets as seen from my roof in Madrid on each of the solstices and equinoxes:&lt;/p&gt;
&lt;img src=&#34;/2025/09/22/Last-Day-of-Summer-2025/lds2025_02.jpg&#34; class=&#34;&#34; title=&#34;Sun locations&#34;&gt;


&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2025-09-22T15:40:28.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/09/15/Recipe-BBQ-Rice/</id>
        <title>Recipe: BBQ Rice</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/09/15/Recipe-BBQ-Rice/"/>
        <content type="html">&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_01.jpg&#34; class=&#34;&#34; title=&#34;BBQ Rice&#34;&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Disclaimer&#34;&gt;&lt;a href=&#34;#Disclaimer&#34; class=&#34;headerlink&#34; title=&#34;Disclaimer&#34;&gt;&lt;/a&gt;Disclaimer&lt;/h2&gt;&lt;p&gt;This is really for what we would consider in the USA as a “paella” done on the BBQ, but here in Spain it is just considered a rice dish because it does not meet the strict requirements to be a “paella”. What are those strict requirements? Well I guess that would depend on which spaniard you are asking, so to avoid any problems I just will call this BBQ Rice.&lt;/p&gt;
&lt;p&gt;This particular rice dish recipe calls for prawns and cuttlefish, but this summer we made this almost every weekend and never repeated the shrimp and cuttlefish, but tried with pork ribs, chicken, and what ever we thought would go well together (see bottom of page for pictures of different ones we have made).&lt;/p&gt;
&lt;p&gt;And proof that this is easy, I made this all on my own last weekend  (the picture above is the one I made on my own with red pepper instead of green as in all the pictures below).&lt;/p&gt;
&lt;h2 id=&#34;Ingredients&#34;&gt;&lt;a href=&#34;#Ingredients&#34; class=&#34;headerlink&#34; title=&#34;Ingredients&#34;&gt;&lt;/a&gt;Ingredients&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;about 1&amp;#x2F;4 cup extra virgin olive oil&lt;/li&gt;
&lt;li&gt;chopped green pepper (or red)&lt;/li&gt;
&lt;li&gt;3 or 4 roughly chopped garlic cloves&lt;/li&gt;
&lt;li&gt;1 or 2 chopped cuttlefish (depending on size)&lt;/li&gt;
&lt;li&gt;1 grated tomato&lt;/li&gt;
&lt;li&gt;1 chicken bouillon cube&lt;/li&gt;
&lt;li&gt;saffron threads (maybe 10 or so)&lt;/li&gt;
&lt;li&gt;1 guindilla (hot little pepper) (optional to give it a kick)&lt;/li&gt;
&lt;li&gt;1 cup rice (not long grain! the short stubby kind!)&lt;/li&gt;
&lt;li&gt;2 1&amp;#x2F;2 cups water&lt;/li&gt;
&lt;li&gt;salt to taste (love putting this, because it drives me crazy in recipes, but I have no idea how much my wife added, but she never uses any spoons, just eyeballs it)&lt;/li&gt;
&lt;li&gt;1 lemon&lt;/li&gt;
&lt;li&gt;bag of uncooked prawns&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Instructions&#34;&gt;&lt;a href=&#34;#Instructions&#34; class=&#34;headerlink&#34; title=&#34;Instructions&#34;&gt;&lt;/a&gt;Instructions&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Until we did the first BBQ rice, I did not realize my BBQ was not really level … so before getting things hot, check that your’s is more or less level.&lt;/li&gt;
&lt;li&gt;Turn on all three burners to medium high heat and put the paella pan in the middle and add the olive oil.&lt;/li&gt;
&lt;li&gt;Add the peppers and garlic and saute a bit.&lt;/li&gt;
&lt;li&gt;The cuttlefish needs more time sauteing so add it next, but when we did other meats we added it later in the process.&lt;/li&gt;
&lt;li&gt;Saute and when cuttlefish is a bit browned around the edges add the grated tomato.&lt;/li&gt;
&lt;li&gt;Continue sauteing until there is a really good sauce that seems chalked full of good flavors.&lt;/li&gt;
&lt;li&gt;Sprinkle the bouillon cube in and keep moving until absorbed.&lt;/li&gt;
&lt;li&gt;Pour rice over, add the saffron threads, and move around until rice absorbs some of the good sauce and gets browned a bit.&lt;/li&gt;
&lt;li&gt;Pour in water, add salt, and squeeze lemon over it all.&lt;/li&gt;
&lt;li&gt;Shake pan with hot pads so rice is evenly spread through the paella pan, close lid, and lower burners to low.&lt;/li&gt;
&lt;li&gt;Let cook 15 minutes and then add prawns wiggling them so they are down in the rice&lt;/li&gt;
&lt;li&gt;Let cook another 5 minutes and make sure all the water is mostly absorbed and prawns are pink&lt;/li&gt;
&lt;li&gt;Remove from BBQ, cover with aluminum paper, and then put a towel over and let rest 10 minutes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Pictures-of-process&#34;&gt;&lt;a href=&#34;#Pictures-of-process&#34; class=&#34;headerlink&#34; title=&#34;Pictures of process&#34;&gt;&lt;/a&gt;Pictures of process&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Level the BBQ:&lt;/strong&gt; &lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_02.jpg&#34; class=&#34;&#34; title=&#34;Better to do this when not lit&#34;&gt;

&lt;p&gt;&lt;strong&gt;Warm the paella pan (notice all burners at medium):&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_03.jpg&#34; class=&#34;&#34; title=&#34;Fire it up!&#34;&gt;

&lt;p&gt;&lt;strong&gt;First start with olive oil, peppers and garlic:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_04.jpg&#34; class=&#34;&#34; title=&#34;Stuff&#34;&gt;

&lt;p&gt;&lt;strong&gt;After a bit add the cuttlefish:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_05.jpg&#34; class=&#34;&#34; title=&#34;Now were cook&#34; alt=&#34;n&#34;&gt;

&lt;p&gt;&lt;strong&gt;The grated tomato and saffron ready to go:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_06.jpg&#34; class=&#34;&#34; title=&#34;Good Stuff&#34;&gt;

&lt;p&gt;&lt;strong&gt;Add grated tomato and continue sauteing:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_07.jpg&#34; class=&#34;&#34; title=&#34;Closer&#34;&gt;

&lt;p&gt;&lt;strong&gt;Once everything is nicely sauted, and there is a tastey looking suace, add rice and saffron:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_08.jpg&#34; class=&#34;&#34; title=&#34;I can taste it now&#34;&gt;

&lt;p&gt;&lt;strong&gt;After rice has soaked up sauce and browned a bit add the water:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_09.jpg&#34; class=&#34;&#34; title=&#34;ummm. ummm. good.&#34;&gt;

&lt;p&gt;&lt;strong&gt;Squeeze a lemon all over it:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_10.jpg&#34; class=&#34;&#34; title=&#34;close eyes during this part.&#34;&gt;

&lt;p&gt;&lt;strong&gt;Close the lid and keep it hummin at about this temperature for 15 min:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_11.jpg&#34; class=&#34;&#34; title=&#34;Not an add for Next Grill, honest.&#34;&gt;

&lt;p&gt;&lt;strong&gt;Squeeze the prawns into the rice:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_12.jpg&#34; class=&#34;&#34; title=&#34;Look´n good!&#34;&gt;

&lt;p&gt;&lt;strong&gt;After 5 more minutes if prawns are pink and water has been absorbed, remove from gril, cover with aluminum foil, and then put a dish towel over it and let it rest 10 minutes:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_13.jpg&#34; class=&#34;&#34; title=&#34;Good time for a cool beverage!&#34;&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_14.jpg&#34; class=&#34;&#34; title=&#34;Better to drink with spanish white wine than water&#34;&gt;


&lt;h2 id=&#34;Different-varieties-that-we-have-experimented-with&#34;&gt;&lt;a href=&#34;#Different-varieties-that-we-have-experimented-with&#34; class=&#34;headerlink&#34; title=&#34;Different varieties that we have experimented with:&#34;&gt;&lt;/a&gt;Different varieties that we have experimented with:&lt;/h2&gt;&lt;h3 id=&#34;Chorizo-morcilla-blood-sausage-and-chicken&#34;&gt;&lt;a href=&#34;#Chorizo-morcilla-blood-sausage-and-chicken&#34; class=&#34;headerlink&#34; title=&#34;Chorizo, morcilla (blood sausage), and chicken:&#34;&gt;&lt;/a&gt;&lt;strong&gt;Chorizo, morcilla (blood sausage), and chicken:&lt;/strong&gt;&lt;/h3&gt;&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_15.jpg&#34; class=&#34;&#34; title=&#34;Chorizo, morcilla (blood sausage), and chicken&#34;&gt;

&lt;h3 id=&#34;Mar-and-Tierra-Sea-and-land-asparagus-mushrooms-squid-and-shrimp&#34;&gt;&lt;a href=&#34;#Mar-and-Tierra-Sea-and-land-asparagus-mushrooms-squid-and-shrimp&#34; class=&#34;headerlink&#34; title=&#34;Mar and Tierra (Sea and land): asparagus, mushrooms, squid, and shrimp:&#34;&gt;&lt;/a&gt;&lt;strong&gt;Mar and Tierra (Sea and land): asparagus, mushrooms, squid, and shrimp:&lt;/strong&gt;&lt;/h3&gt;&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_16.jpg&#34; class=&#34;&#34; title=&#34;asparagus, mushrooms, squid, and shrimp&#34;&gt;

&lt;h3 id=&#34;Chipirones-little-squid-and-shrimp&#34;&gt;&lt;a href=&#34;#Chipirones-little-squid-and-shrimp&#34; class=&#34;headerlink&#34; title=&#34;Chipirones (little squid) and shrimp&#34;&gt;&lt;/a&gt;&lt;strong&gt;Chipirones (little squid) and shrimp&lt;/strong&gt;&lt;/h3&gt;&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_17.jpg&#34; class=&#34;&#34; title=&#34;Chipirones and shrimp&#34;&gt;

&lt;h3 id=&#34;Fideau-with-little-squid-and-shrimp&#34;&gt;&lt;a href=&#34;#Fideau-with-little-squid-and-shrimp&#34; class=&#34;headerlink&#34; title=&#34;Fideau with little squid and shrimp&#34;&gt;&lt;/a&gt;&lt;strong&gt;Fideau with little squid and shrimp&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;21&amp;#x2F;06&amp;#x2F;2026 was not so sure if this recipe would work for Fideua but it turned out bark like a dog good! Only real difference was that we added a bit more noodles and did not have the reset at the end.&lt;/p&gt;
&lt;img src=&#34;/2025/09/15/Recipe-BBQ-Rice/r_bbqrice_18.jpg&#34; class=&#34;&#34; title=&#34;Fideau&#34;&gt;

&lt;h2 id=&#34;Source&#34;&gt;&lt;a href=&#34;#Source&#34; class=&#34;headerlink&#34; title=&#34;Source&#34;&gt;&lt;/a&gt;Source&lt;/h2&gt;&lt;p&gt;The wife’s brain&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Recipes" />
        <updated>2025-09-15T11:04:05.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/08/22/Finished-Video-Games/</id>
        <title>Finished Video Games</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/08/22/Finished-Video-Games/"/>
        <content type="html">&lt;p&gt;This post is just note to myself to document the video games I have finished.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;22-x2F-08-x2F-2025-Grim-Fandango&#34;&gt;&lt;a href=&#34;#22-x2F-08-x2F-2025-Grim-Fandango&#34; class=&#34;headerlink&#34; title=&#34;22&amp;#x2F;08&amp;#x2F;2025 Grim Fandango&#34;&gt;&lt;/a&gt;22&amp;#x2F;08&amp;#x2F;2025 Grim Fandango&lt;/h2&gt;&lt;img src=&#34;/2025/08/22/Finished-Video-Games/games_grim_01.jpg&#34; class=&#34;&#34; title=&#34;Let the fandango begin!&#34;&gt;
&lt;p&gt;This summer I bought a &lt;a href=&#34;https://en.wikipedia.org/wiki/Nintendo_Switch_2&#34;&gt;Nintendo Switch 2&lt;/a&gt; with the money I received as part of a Silver Star I was awarded at work.  I have never had a recent first generation console, rather tended to always come across one well after the prime, so it was quite cool getting the Switch 2 within a month of its launch.  And the first game I played on the first generation 2025 console?  A game released 27 years ago in 1989: &lt;a href=&#34;https://en.wikipedia.org/wiki/Grim_Fandango&#34;&gt;Grim Fandango&lt;/a&gt;.  Talk about aging well.  This game is amazing, and I can only imagine the stir it caused 27 years ago. Wait, I do not have to imagine the stir, because my brother highly recommended it to me at the time, and he even gave me a pirated copy, that I never quite got around to playing.  So when I fired up the Nintendo Store and saw it on sale for 3.24€ and could not resist.  And I have been enjoying the Switch 2, especially the option to go mobile tremendously (seriously Nintendo rocks, what a genius idea).  &lt;/p&gt;
&lt;p&gt;When not mobile, I was playing using an old Panasonic TH-37PX60EH Plasma TV that must be from 2006 or so that was not in use at my mother in laws house on the northern coast of spain (I think my father in law had bought it mostly for football games (read soccer by Americans)). I was really surprised to learn even had HDMI so connecting it was plug and play (I had thought it had a &lt;a href=&#34;https://en.wikipedia.org/wiki/SCART&#34;&gt;SCART connector&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I finished &lt;a href=&#34;https://en.wikipedia.org/wiki/&#34;&gt;Grim Fandango&lt;/a&gt; in a couple weeks, but due to no credit of my own, but of copious use of walk-throughs.  I really take my hat of to anyone who finished this game on their own. Even with the walk-through there were times it took me a while to figure things out.  Amazing story, amazing artwork, amazing voice work, and really amazing animation, especially for 1997 and the &lt;a href=&#34;https://en.wikipedia.org/wiki/Pentium_(original)#P54CS&#34;&gt;Pentium 133&lt;/a&gt; the game was designed for.&lt;/p&gt;
&lt;p&gt;I just read this part of the Wikipedia article about the game, what a pity:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Grim Fandango received praise for its art design and direction. It was selected for several awards and is often listed as one of the greatest video games of all time. However, it was a commercial failure and contributed towards LucasArts’ decision to end adventure game development and the decline of the adventure game genre.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&#34;/2025/08/22/Finished-Video-Games/games_grim_02.jpg&#34; class=&#34;&#34; title=&#34;Let the fandango end!&#34;&gt;



&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="RetroGaming" />
        <updated>2025-08-22T13:17:59.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/08/09/Summer-Moment-of-Zen-2025/</id>
        <title>Summer Moment of Zen 2025</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/08/09/Summer-Moment-of-Zen-2025/"/>
        <content type="html">&lt;p&gt;I just got back from this summer’s moment of summer Zen! &lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/BnShCiq9IN4&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;This year I took advantage of a full moon that happened to coincide during the &lt;em&gt;short&lt;/em&gt; week  vacation I took in August (I took a couple weeks back in June to take youngest daughter to states as she had missed multiple excursions due to exams) with the moon &lt;em&gt;just&lt;/em&gt; 382k km away:&lt;/p&gt;
&lt;img src=&#34;/2025/08/09/Summer-Moment-of-Zen-2025/smz2025_tide.jpg&#34; class=&#34;&#34; title=&#34;Moon and Tide&#34;&gt;

&lt;p&gt;This year I tried (but was not too successful, due to climatical (pretty cloudy day) and technical issues (did not quite place the camera in the right spot)), to get a sunset at my favorite beach in Ribadeo, Rocas Blancas, that, although we are on the northern coast of Spain, faces west, for spectacular sunsets:&lt;/p&gt;
&lt;img src=&#34;/2025/08/09/Summer-Moment-of-Zen-2025/smz2025_map.jpg&#34; class=&#34;&#34; title=&#34;Map to orient the reader&#34;&gt;

&lt;p&gt;I started at 18:07 and wrapped it up at 22:30 for at total of:&lt;/p&gt;
&lt;img src=&#34;/2025/08/09/Summer-Moment-of-Zen-2025/smz2025_time.jpg&#34; class=&#34;&#34; title=&#34;Timestamp&#34;&gt;

&lt;p&gt;The differential photos I have this year are again not quite real as when I left it was dark so I could not get a good final pic, but here is one from about 20:11 with the tide at about 1&amp;#x2F;2 way down:&lt;/p&gt;
&lt;img src=&#34;/2025/08/09/Summer-Moment-of-Zen-2025/smz2025_diferential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;h3 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Camera&lt;/strong&gt;: GoPro HERO3+ Black Edition&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frequency&lt;/strong&gt;: picture every 30 seconds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of pictures taken&lt;/strong&gt;: 518&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Photo Resolution&lt;/strong&gt;: 7 MP  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;List generation&lt;/strong&gt;: &lt;code&gt;ls *.JPG &amp;gt;list.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video creation&lt;/strong&gt;: &lt;code&gt;mencoder -idx -nosound -ovc lavc -lavcopts vcodec=mjpeg -o timelapse01-attempt01.avi -mf fps=20 mf://@list.txt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2025-08-09T21:15:54.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/07/13/Cercedilla-Field-Notes-Butterflies/</id>
        <title>Cercedilla Field Notes: Butterflies</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/07/13/Cercedilla-Field-Notes-Butterflies/"/>
        <content type="html">&lt;p&gt;This morning we went for a walk in the &lt;a href=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/&#34;&gt;European Redwood forest of Cercedilla&lt;/a&gt;, and I was captivated by 4 or so white butterflies dancing among themselves and immediately wanted to get a picture of one of them to ID it, but they were too involved in their mesmerizing dance to settle on a flower for a picture so we continued our walk. A bit down the trail my wife said “There is one!” and so I caught it (virtually) and uploaded it to &lt;a href=&#34;https://www.inaturalist.org/&#34;&gt;iNaturalist&lt;/a&gt; and will use this post as a place to document and reference the different buttefies I discover in Cercedilla!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;h3 id=&#34;Melanargia-lachesis&#34;&gt;&lt;a href=&#34;#Melanargia-lachesis&#34; class=&#34;headerlink&#34; title=&#34;Melanargia lachesis&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Melanargia_lachesis&#34;&gt;Melanargia lachesis&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Melanargia_Lachesis.jpg&#34; class=&#34;&#34; title=&#34;Iberian marbled white&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;:  Iberian marbled white&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;:  Medioluto ibérica&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/297553457&#34;&gt;297553457&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 13&amp;#x2F;07&amp;#x2F;2025. &lt;/li&gt;
&lt;li&gt;The butterflies fly in one generation from June to August.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Nymphalis-polychloros&#34;&gt;&lt;a href=&#34;#Nymphalis-polychloros&#34; class=&#34;headerlink&#34; title=&#34;Nymphalis polychloros&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Large_tortoiseshell&#34;&gt;Nymphalis polychloros&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Nymphalis_Polychloros.jpg&#34; class=&#34;&#34; title=&#34;Large tortoiseshell&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;:  Large tortoiseshell&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;:  La olmera&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/297559959&#34;&gt;297559959&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 17&amp;#x2F;02&amp;#x2F;2025. &lt;/li&gt;
&lt;li&gt;Near as I can figure this must have been one that hibernated over winter and had just woken up (was probably born in summer 2024 (I think we have the making of a new Bryan Adams song[1])).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Callophrys-rubi&#34;&gt;&lt;a href=&#34;#Callophrys-rubi&#34; class=&#34;headerlink&#34; title=&#34;Callophrys rubi&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Green_hairstreak&#34;&gt;Callophrys rubi&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Callophrys_Rubi.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Green hairstreak&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;:  Green hairstreak&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;:  Cejialba&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/350855112&#34;&gt;350855112&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 18&amp;#x2F;04&amp;#x2F;2026. &lt;/li&gt;
&lt;li&gt;A single-brooded species, flying from March to June depending on altitude.&lt;/li&gt;
&lt;li&gt;The undersides of the wings (what we see in the picture) are a brilliant iridescent green — actually produced not by pigment but by microscopic structures in the wing scales that refract light. The uppersides, rarely seen since the butterfly almost always rests with wings closed, are plain dull brown. You can just make out the characteristic tiny white “hairstreak” streak on the hindwing, and the fine antennae with white-ringed tips.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Vanessa-cardui&#34;&gt;&lt;a href=&#34;#Vanessa-cardui&#34; class=&#34;headerlink&#34; title=&#34;Vanessa cardui&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Vanessa_cardui&#34;&gt;Vanessa cardui&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Vanessa_cardui.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Painted Lady&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;:  Painted Lady&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;:  vanesa de los cardos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/354310988&#34;&gt;354310988&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 26&amp;#x2F;04&amp;#x2F;2026. &lt;/li&gt;
&lt;li&gt;The most widespread of all butterfly species.&lt;/li&gt;
&lt;li&gt;It migrates from North Africa and the Mediterranean to Britain and Europe in May and June occasionally reaching Iceland&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Pieris-napi&#34;&gt;&lt;a href=&#34;#Pieris-napi&#34; class=&#34;headerlink&#34; title=&#34;Pieris napi&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Green-veined_white&#34;&gt;Pieris napi&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Pieris_napi.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;green-veined white&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;:  green-veined white&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;:  blanca verdinervada&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/354312694&#34;&gt;354312694&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 26&amp;#x2F;04&amp;#x2F;2026. &lt;/li&gt;
&lt;li&gt;In southern Europe there are three or more partially overlapping generations from March to October.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Zerynthia-rumina&#34;&gt;&lt;a href=&#34;#Zerynthia-rumina&#34; class=&#34;headerlink&#34; title=&#34;Zerynthia rumina&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Zerynthia_rumina&#34;&gt;Zerynthia rumina&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Zerynthia_rumina.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Spanish Festoon&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;: Spanish festoon&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;: la arlequín &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/354313672&#34;&gt;354313672&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 26&amp;#x2F;04&amp;#x2F;2026. &lt;/li&gt;
&lt;li&gt;Endemic to the Iberian Peninsula and southern France.&lt;/li&gt;
&lt;li&gt;The flight period is generally in April and May with the possibility of a very small second brood in September.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Brintesia-circe&#34;&gt;&lt;a href=&#34;#Brintesia-circe&#34; class=&#34;headerlink&#34; title=&#34;Brintesia circe&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Brintesia&#34;&gt;Brintesia circe&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Brintesia_circe.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Great Banded Grayling&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;: great banded grayling &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;: ninfa cebra&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/374221240&#34;&gt;374221240&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 22&amp;#x2F;06&amp;#x2F;2026 from Hermita de San Antonio where there were lots of them flying at the top of the hill in the dry grass. &lt;/li&gt;
&lt;li&gt;It flies in summer (roughly June through August).&lt;/li&gt;
&lt;li&gt;A picture in flight were you can see the band where I assume it gets its name:  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Brintesia_circe_flight.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Great Banded Grayling in flight&#34;&gt;&lt;/li&gt;
&lt;li&gt;And another picture at rest, this time not so well camouflaged with its resting spot:   &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Brintesia_circe2.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Great Banded Grayling&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Erebia-triaria&#34;&gt;&lt;a href=&#34;#Erebia-triaria&#34; class=&#34;headerlink&#34; title=&#34;Erebia triaria&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/De_Prunner%27s_ringlet&#34;&gt;Erebia triaria&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Erebia_triaria.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;de Prunner&#34; alt=&#34;s Ringlet&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;: de Prunner’s Ringlet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;: montañesa castaña&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/374591554&#34;&gt;374591554&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 23&amp;#x2F;06&amp;#x2F;2026 taken on Camino Schmidt after having hiked the 7 Picos&lt;/li&gt;
&lt;li&gt;The genus Erebia is overwhelmingly alpine and boreal — most species live at altitude or at high latitudes.&lt;/li&gt;
&lt;li&gt;Fly late May through early-to-mid July, with June being the peak. &lt;/li&gt;
&lt;li&gt;It’s univoltine, meaning a single generation per year. The adults emerge, fly, mate, and lay over that brief stretch, then the species spends the rest of the year as a caterpillar (overwintering as a larva and feeding on mountain grasses). That short adult window is typical of high-altitude Erebia — the summer up there is compressed, so they don’t waste it.&lt;/li&gt;
&lt;li&gt;De Prunner’s Ringlet has a scattered, fragmented distribution across the mountains of southwest Europe — the Pyrenees, the Cantabrian range, parts of the Alps, and the higher Sistema Central including your Guadarrama. These populations are somewhat isolated from each other, marooned on their respective mountain “islands,” which is part of why Erebia as a genus is interesting to people who study how species fragment and diverge.&lt;/li&gt;
&lt;li&gt;The name commemorates Leonhard von Prunner, an early-19th-century entomologist who worked on Piedmontese butterflies.&lt;/li&gt;
&lt;li&gt;Another image:  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Erebia_triaria2.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;de Prunner&#34; alt=&#34;s Ringlet&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Issoria-lathonia&#34;&gt;&lt;a href=&#34;#Issoria-lathonia&#34; class=&#34;headerlink&#34; title=&#34;Issoria lathonia&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Queen_of_Spain_fritillary&#34;&gt;Issoria lathonia&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Issoria_lathonia.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Queen of Spain fritillary&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;: Queen of Spain fritillary&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;: sofía &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/374597110&#34;&gt;374597110&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 23&amp;#x2F;06&amp;#x2F;2026 taken on Camino Schmidt after having hiked the 7 Picos&lt;/li&gt;
&lt;li&gt;In Iberia you can see it from roughly March or April right through to October, sometimes later in mild autumns.&lt;br&gt;  -It is multivoltine, with several broods a year (roughly spring through autumn).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Colias-crocea&#34;&gt;&lt;a href=&#34;#Colias-crocea&#34; class=&#34;headerlink&#34; title=&#34;Colias crocea&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Colias_croceus&#34;&gt;Colias crocea&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/07/13/Cercedilla-Field-Notes-Butterflies/CFN_Butterflies_Colias_crocea.jpg&#34; class=&#34;&#34; width=&#34;500&#34; title=&#34;Clouded Yellow&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;English&lt;/strong&gt;: clouded yellow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spanish&lt;/strong&gt;: colias común&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iNaturalist Obervation ID&lt;/strong&gt;: &lt;a href=&#34;https://www.inaturalist.org/observations/374601318&#34;&gt;374601318&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;Picture from 23&amp;#x2F;06&amp;#x2F;2026 taken on Camino Schmidt after having hiked the 7 Picos&lt;/li&gt;
&lt;li&gt;Colias croceus is one of the most widespread species in Europe. &lt;/li&gt;
&lt;li&gt;The common clouded yellow’s breeding range is North Africa and southern Europe and eastwards through Turkey into the Middle East, but it occurs throughout much of Europe as a summer migrant, in good years individuals reaching Scandinavia.&lt;/li&gt;
&lt;li&gt;The species is famous for occasional mass migrations and subsequent breeding, which are often referred to in the United Kingdom as “clouded yellow years”. Notable clouded yellow years include 1877, 1947, 1983, 1992, 1994, 1996 and 2000.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;[1]&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;ChatGPT generated song about the Large tortoiseshell&lt;/strong&gt;:&lt;br&gt;🎸 Summer of ‘24 (Tortoiseshell Wings)&lt;br&gt;(to the tune and spirit of Bryan Adams’ “Summer of ‘69”)&lt;/p&gt;
&lt;p&gt;[Verse 1]&lt;br&gt;I hatched out in late July&lt;br&gt;Up on a cherry tree so high&lt;br&gt;The sun was burnin’, sky was blue&lt;br&gt;Just broke free from my cocoon&lt;/p&gt;
&lt;p&gt;I learned to fly that afternoon&lt;br&gt;My jagged wings in orange hue&lt;br&gt;Danced through the woods, wild and free&lt;br&gt;No one could catch the wind like me&lt;/p&gt;
&lt;p&gt;[Pre-Chorus]&lt;br&gt;Oh and I felt so alive&lt;br&gt;Nectar buzzin’ through my veins&lt;br&gt;Didn’t know it at the time&lt;br&gt;But I’d be gone before the spring&lt;/p&gt;
&lt;p&gt;[Chorus]&lt;br&gt;Those were the best days of my life&lt;br&gt;The summer of ‘24&lt;br&gt;(Yeahhh)&lt;br&gt;I was a tortoiseshell in flight&lt;br&gt;Didn’t care what came before&lt;br&gt;I was born to roam&lt;br&gt;And find my home&lt;br&gt;Behind that old oak door&lt;br&gt;In the summer of ‘24&lt;/p&gt;
&lt;p&gt;[Verse 2]&lt;br&gt;Me and my kind, we ruled the skies&lt;br&gt;Drank from thistles, played in pines&lt;br&gt;Watched the swallows swoop below&lt;br&gt;Hung with beetles, dodged the crows&lt;/p&gt;
&lt;p&gt;But the winds began to shift&lt;br&gt;The flowers closed, the light grew dim&lt;br&gt;The songbirds flew, the forest sighed&lt;br&gt;It was time to say goodbye&lt;/p&gt;
&lt;p&gt;[Pre-Chorus]&lt;br&gt;Found a hollow deep in bark&lt;br&gt;Tucked my wings and shut my eyes&lt;br&gt;I held on through cold and dark&lt;br&gt;Waitin’ for that spring sunrise&lt;/p&gt;
&lt;p&gt;[Chorus]&lt;br&gt;Oh, those were the best days of my life&lt;br&gt;The summer of ‘24&lt;br&gt;(Yeahhh)&lt;br&gt;Frozen still, but still alive&lt;br&gt;Dreamin’ of those woods once more&lt;br&gt;I’ll rise again&lt;br&gt;When warmth begins&lt;br&gt;And take to skies I soared&lt;br&gt;Since the summer of ‘24&lt;/p&gt;
&lt;p&gt;[Bridge]&lt;br&gt;And now the snow has gone&lt;br&gt;The light is climbin’ high&lt;br&gt;I feel it in my wings again&lt;br&gt;It’s time to kiss the sky&lt;/p&gt;
&lt;p&gt;[Final Chorus]&lt;br&gt;Yeah, those were the best days of my life&lt;br&gt;(Summer of ‘24)&lt;br&gt;I was just a spark in the sun&lt;br&gt;Now I’m back to fly once more&lt;br&gt;And though I’ll fade&lt;br&gt;I’ll never trade&lt;br&gt;That season I adored&lt;br&gt;The summer of ‘24&lt;br&gt;Yeah, the summer of ‘24&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-07-13T10:22:24.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/</id>
        <title>Cercedilla Field Notes: Spring Flowers at Ermita de San Antonio</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/"/>
        <content type="html">&lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_00.jpg&#34; class=&#34;&#34; title=&#34;Ermita de San Antonio)&#34;&gt;

&lt;p&gt;As I have mentioned &lt;a href=&#34;/2025/03/25/Blue-at-last-blue-at-last/&#34;&gt;elsewhere in this blog&lt;/a&gt;, we are having a very wet and cold spring, but this afternoon the sun came out a bit and we went to the magical Ermita de San Antonio and we stopped to smell the flowers (well not really, more stopped to admire and marvel at the variety and intensity of colors and take pictures and ID them on &lt;a href=&#34;https://identify.plantnet.org/&#34;&gt;Pl@ntNet&lt;/a&gt;)! &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;ul&gt;
&lt;li&gt;&lt;h3 id=&#34;Vicia-sativa&#34;&gt;&lt;a href=&#34;#Vicia-sativa&#34; class=&#34;headerlink&#34; title=&#34;Vicia sativa&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Vicia_sativa&#34;&gt;Vicia sativa&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Vicia_Sativa.jpg&#34; class=&#34;&#34; title=&#34;Vicia sativa&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: common vetch, garden vetch, tare or simply vetch&lt;/li&gt;
&lt;li&gt;ES:  la arveja, veza o alverja&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Arenaria-montana&#34;&gt;&lt;a href=&#34;#Arenaria-montana&#34; class=&#34;headerlink&#34; title=&#34;Arenaria montana&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Arenaria_montana&#34;&gt;Arenaria montana&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Arenaria_Montana.jpg&#34; class=&#34;&#34; title=&#34;Arenaria montana&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN:  the mountain sandwort&lt;/li&gt;
&lt;li&gt;ES: arenaria montana&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Echium-plantagineum&#34;&gt;&lt;a href=&#34;#Echium-plantagineum&#34; class=&#34;headerlink&#34; title=&#34;Echium plantagineum&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Echium_plantagineum&#34;&gt;Echium plantagineum&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Echium_Plantagineum.jpg&#34; class=&#34;&#34; title=&#34;Echium plantagineum&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: purple viper’s-bugloss, Paterson’s curse or Salvation Jane&lt;/li&gt;
&lt;li&gt;ES: viborera&lt;/li&gt;
&lt;li&gt;Notes: The name “viborera” (from víbora &amp;#x3D; viper) reflects the old belief that the plant could cure viper bites — the same idea behind the English “Viper’s Bugloss.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Pentaglottis-sempervirens&#34;&gt;&lt;a href=&#34;#Pentaglottis-sempervirens&#34; class=&#34;headerlink&#34; title=&#34;Pentaglottis sempervirens&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Pentaglottis_sempervirensv&#34;&gt;Pentaglottis sempervirens&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Pentaglottis_Sempervirens.jpg&#34; class=&#34;&#34; title=&#34;Pentaglottis sempervirens&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: commonly known as green alkanet or evergreen bugloss	&lt;/li&gt;
&lt;li&gt;ES: La lengua de buey &lt;/li&gt;
&lt;li&gt;First Sightings:&lt;ul&gt;
&lt;li&gt;2026&amp;#x2F;04&amp;#x2F;19&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Hyacinthoides-hispanica&#34;&gt;&lt;a href=&#34;#Hyacinthoides-hispanica&#34; class=&#34;headerlink&#34; title=&#34;Hyacinthoides hispanica&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Hyacinthoides_hispanica&#34;&gt;Hyacinthoides hispanica&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Hyacinthoides_Hispanica.jpg&#34; class=&#34;&#34; title=&#34;Hyacinthoides hispanica&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: Spanish bluebell or wood hyacinth&lt;/li&gt;
&lt;li&gt;ES: Jacinto de los bosques o escila española&lt;/li&gt;
&lt;li&gt;First Sightings:&lt;ul&gt;
&lt;li&gt;2026&amp;#x2F;04&amp;#x2F;19&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Ranunculus-bulbosus&#34;&gt;&lt;a href=&#34;#Ranunculus-bulbosus&#34; class=&#34;headerlink&#34; title=&#34;Ranunculus bulbosus&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Ranunculus_bulbosus&#34;&gt;Ranunculus bulbosus&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Ranunculus_Bulbosus.jpg&#34; class=&#34;&#34; title=&#34;Ranunculus bulbosus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: commonly known as bulbous buttercup or St. Anthony’s turnip&lt;/li&gt;
&lt;li&gt;ES: El ranúnculo bulboso o hierba velluda&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Asphodelus-albus&#34;&gt;&lt;a href=&#34;#Asphodelus-albus&#34; class=&#34;headerlink&#34; title=&#34;Asphodelus albus&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Asphodelus_albus&#34;&gt;Asphodelus albus&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Asphodelus_Albus.jpg&#34; class=&#34;&#34; title=&#34;Asphodelus albus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: common name white asphodel&lt;/li&gt;
&lt;li&gt;ES: El asfódelo, varilla de San José, gamoncillo o gamón blanco&lt;/li&gt;
&lt;li&gt;First Sightings:&lt;ul&gt;
&lt;li&gt;2026&amp;#x2F;04&amp;#x2F;19&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Anthemis-arvensis&#34;&gt;&lt;a href=&#34;#Anthemis-arvensis&#34; class=&#34;headerlink&#34; title=&#34;Anthemis arvensis&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Anthemis_arvensis&#34;&gt;Anthemis arvensis&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Anthemis_Arvensis.jpg&#34; class=&#34;&#34; title=&#34;Anthemis arvensis&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: known as corn chamomile, mayweed, scentless chamomile, or field chamomile&lt;/li&gt;
&lt;li&gt;ES: La manzanilla bastarda o manzanilla de los campos&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Taraxacum-officinale&#34;&gt;&lt;a href=&#34;#Taraxacum-officinale&#34; class=&#34;headerlink&#34; title=&#34;Taraxacum officinale&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Taraxacum_officinale&#34;&gt;Taraxacum officinale&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Taraxacum_Officinale.jpg&#34; class=&#34;&#34; title=&#34;Taraxacum officinale&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: dandelion or common dandelion&lt;/li&gt;
&lt;li&gt;ES: diente de león o achicoria amarga&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Ornithogalum-umbellatum&#34;&gt;&lt;a href=&#34;#Ornithogalum-umbellatum&#34; class=&#34;headerlink&#34; title=&#34;Ornithogalum umbellatum&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Ornithogalum_umbellatum&#34;&gt;Ornithogalum umbellatum&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Ornithogalum_Umbellatum.jpg&#34; class=&#34;&#34; title=&#34;Ornithogalum umbellatum&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: garden star-of-Bethlehem, grass lily, nap-at-noon, or eleven-o’clock lady&lt;/li&gt;
&lt;li&gt;ES: estrella de belén, leche de gallina, leche de pájaro&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Centaurea-cyanus&#34;&gt;&lt;a href=&#34;#Centaurea-cyanus&#34; class=&#34;headerlink&#34; title=&#34;Centaurea cyanus&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Centaurea_cyanus&#34;&gt;Centaurea cyanus&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Centaurea_Cyanus.jpg&#34; class=&#34;&#34; title=&#34;Centaurea cyanus&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: cornflower or bachelor’s button&lt;/li&gt;
&lt;li&gt;ES: aciano, azulejo o pincel&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Erodium-cicutarium&#34;&gt;&lt;a href=&#34;#Erodium-cicutarium&#34; class=&#34;headerlink&#34; title=&#34;Erodium cicutarium&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Erodium_cicutarium&#34;&gt;Erodium cicutarium&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Erodium_Cicutarium.jpg&#34; class=&#34;&#34; title=&#34;Erodium cicutarium&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: stork’s-bill or pinweed&lt;/li&gt;
&lt;li&gt;ES: aguja del pastor&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Geranium-molle&#34;&gt;&lt;a href=&#34;#Geranium-molle&#34; class=&#34;headerlink&#34; title=&#34;Geranium molle&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Geranium_molle&#34;&gt;Geranium molle&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Geranium_molle.jpg&#34; class=&#34;&#34; title=&#34;Geranium molle&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: dove’s-foot crane’s-bill&lt;/li&gt;
&lt;li&gt;ES: pico de cigüeña&lt;/li&gt;
&lt;li&gt;First Sightings:&lt;ul&gt;
&lt;li&gt;2026&amp;#x2F;04&amp;#x2F;19&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3 id=&#34;Lunaria-annua&#34;&gt;&lt;a href=&#34;#Lunaria-annua&#34; class=&#34;headerlink&#34; title=&#34;Lunaria annua&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Lunaria_annua&#34;&gt;Lunaria annua&lt;/a&gt;&lt;/h3&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Lunaria_annua.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Lunaria annua&#34;&gt;
&lt;ul&gt;
&lt;li&gt;EN: honesty or money plant&lt;/li&gt;
&lt;li&gt;ES: monedas del Papa or hierba de la plata&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes&lt;/strong&gt;: It’s originally from southeast Europe but has naturalised widely across the Iberian Peninsula&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Size reference&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Lunaria_annua_size.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;Lunaria annu&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Update 24&amp;#x2F;05&amp;#x2F;2026 Now understand why it is called money plant&lt;/strong&gt;:&lt;br&gt;  &lt;img src=&#34;/2025/05/10/Cercedilla-Field-Notes-Spring-Flowers-at-Ermita-de-San-Antonio/CFN_flowers_Lunaria_annua_money.jpg&#34; class=&#34;&#34; width=&#34;200&#34; title=&#34;showing you the money man&#34;&gt;		&lt;/li&gt;
&lt;li&gt;First Sightings:&lt;ul&gt;
&lt;li&gt;23&amp;#x2F;05&amp;#x2F;2026&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-05-10T18:25:57.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/05/07/RIP-Google-Reader/</id>
        <title>RIP Google Reader</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/05/07/RIP-Google-Reader/"/>
        <content type="html">&lt;p&gt;Ahh man.  Google just killed Google Reader, again!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;As was seen from &lt;a href=&#34;xxx&#34;&gt;a recent rant about google&lt;/a&gt; there is a little water under the bridge between us, and I would have to say it started on July 1st 2013 when Google killed &lt;a href=&#34;https://en.wikipedia.org/wiki/Google_Reader&#34;&gt;Google Reader&lt;/a&gt;. For those unfamiliar with it, it was an RSS feed aggregator that allowed you to subscribe to blogs, news feeds, or really any webpage that supported RSS to have all that stuff in one need little feed.  For those of you who are now wondering what RSS is, well, when Google killed reader it really put the nail in the coffin in RSS, but it was (and still is but lost traction) a Really Simple Syndication system that allowed an easy way to subscribe to any changes published to a website.  I pointed Google Reader to the RSS of all my favorite websites and could read any new content at my leisure, in my own time, without fear of missing anything.  &lt;/p&gt;
&lt;p&gt;When it’s demise was announced, oh my what a coincidence, the same day I am writing this but 12 years later:&lt;/p&gt;
&lt;img src=&#34;/2025/05/07/RIP-Google-Reader/rip_01.jpg&#34; class=&#34;&#34; title=&#34;Notes&#34;&gt;
&lt;p&gt;it began a frantic search for an alternative.&lt;br&gt;Being leery of relying on others I settled on &lt;a href=&#34;https://github.com/feed2imap/feed2imap&#34;&gt;feed2imap&lt;/a&gt; and it has been working like a charm for the last 12 years, until last week when it was unable to upload any new feeds to my Google IMAP account:&lt;/p&gt;
&lt;figure class=&#34;highlight plaintext&#34;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&#34;gutter&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;6&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&#34;code&#34;&gt;&lt;pre&gt;&lt;span class=&#34;line&#34;&gt;I, [2025-05-07T18:17:00.156570 #810000]  INFO -- : Feed2Imap V.1.2.7 started&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;I, [2025-05-07T18:17:00.156719 #810000]  INFO -- : Reading configuration file ...&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;W, [2025-05-07T18:17:00.156822 #810000]  WARN -- : Configuration file is readable by other users. It probably contains your password.&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;I, [2025-05-07T18:17:00.158066 #810000]  INFO -- : Initializing cache ...&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;I, [2025-05-07T18:17:00.166485 #810000]  INFO -- : Connecting to IMAP accounts ...&lt;/span&gt;&lt;br&gt;&lt;span class=&#34;line&#34;&gt;F, [2025-05-07T18:17:00.463162 #810000] FATAL -- : Error while connecting to imaps://reader%40jupiterstation.net:PASSWORD@imap.gmail.com, exiting:  Invalid credentials (Failure)&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/figure&gt;

&lt;p&gt;and the mail reader I have been using to read those feeds, &lt;a href=&#34;https://k9mail.app/&#34;&gt;k9mail&lt;/a&gt;, also began throwing an “Authentication failed” error.  This was all right before jumping on a plane to NY, so I was not able to troubleshoot too much, but assumed I just had setup an &lt;a href=&#34;https://support.google.com/accounts/answer/185833?sjid=7247625938317138201-EU&#34;&gt;app password&lt;/a&gt; which is a big long hash that was recommend to use when giving apps access to your email so that each ones access could be independently modified and monitored. But for the life of me I could not find it in my settings (I have never used the gmail web client as it is the most ass backwards interface I have ever encountered) and was getting quite frustrated until I found a direct link to the settings and got this wonderful result:&lt;/p&gt;
&lt;img src=&#34;/2025/05/07/RIP-Google-Reader/rip_02.jpg&#34; class=&#34;&#34; title=&#34;poor robot&#34;&gt;

&lt;p&gt;At that point I tried one last ditch effort to create a whole new gmail account for the feeds but had the same problem, and finally realized that google has removed app passwords and would appear any password based access to their mail services.&lt;/p&gt;
&lt;p&gt;So now back from NY and at home this afternoon I began investigating how to revive my &lt;a href=&#34;https://github.com/feed2imap/feed2imap&#34;&gt;feed2imap&lt;/a&gt; home rolled reader and have realized that in the name of security, it would appear no big email providers allow basic authentication (simple password access) to email (disclaimer: plan B was hotmail and they discontinued it in 2023)&lt;br&gt;so I would need to update feed2imap to support OAuth2, which is not going to happen.&lt;/p&gt;
&lt;p&gt;For now I have signed up for &lt;a href=&#34;https://newsblur.com/&#34;&gt;NewsBlur&lt;/a&gt; and will give it a try.&lt;/p&gt;
&lt;p&gt;So, thank you Google for killing my Reader not just once, but twice!  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 08&amp;#x2F;07&amp;#x2F;2025&lt;/strong&gt;: I have been using NewsBlur since this post and love it.  Just subscribed to the premium subscription for $36 a year.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2025-05-07T13:57:34.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/04/29/BLACK-SYSTEM-Iberian-Peninsula-28-04-2025/</id>
        <title>Black System Iberian Peninsula 28/04/2025</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/04/29/BLACK-SYSTEM-Iberian-Peninsula-28-04-2025/"/>
        <content type="html">&lt;img src=&#34;/2025/04/29/BLACK-SYSTEM-Iberian-Peninsula-28-04-2025/BS_01.jpg&#34; class=&#34;&#34; title=&#34;Fortunately radio is still analog&#34;&gt;

&lt;p&gt;Wow. That was intense and one of those kick in the shin experiences that really was an eye opener on how dependent we have become to instantaneous communication and how it can all fail so quickly.  Oh and how dependent we are on electricity as well.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt; 

&lt;h2 id=&#34;What-are-you-talking-about&#34;&gt;&lt;a href=&#34;#What-are-you-talking-about&#34; class=&#34;headerlink&#34; title=&#34;What are you talking about?&#34;&gt;&lt;/a&gt;What are you talking about?&lt;/h2&gt;&lt;p&gt;A “black system event” refers to a situation where the entire power grid or a significant part of it has gone offline, resulting in a complete loss of electricity supply — a total blackout and that happened to the Iberian Peninsula (Spain, Portugal, and parts of southern France) yesterday. To recover a black start procedure has to be done which is tricky, time consuming and something you (hopefully) have plans for, but have never tested.    &lt;/p&gt;
&lt;h2 id=&#34;What-caused-it&#34;&gt;&lt;a href=&#34;#What-caused-it&#34; class=&#34;headerlink&#34; title=&#34;What caused it?&#34;&gt;&lt;/a&gt;What caused it?&lt;/h2&gt;&lt;p&gt;Good question and as of today (day after) still not totally clear.  I have seen something about “induced atmospheric vibration” on 400KV lines some how caused 15 gigawatts to disappear from the load in 5 seconds (about 60% of usage at the time), but still waiting for a more explain it like I am five definitive answer.&lt;/p&gt;
&lt;h2 id=&#34;What-happened&#34;&gt;&lt;a href=&#34;#What-happened&#34; class=&#34;headerlink&#34; title=&#34;What happened?&#34;&gt;&lt;/a&gt;What happened?&lt;/h2&gt;&lt;p&gt;That one I can answer more definitively as I lived it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;At 12:33 I lost power at my house.&lt;/li&gt;
&lt;li&gt;I went to raise the circuit breaker thinking the washer of something had tripped it to find all of the breakers ok.&lt;/li&gt;
&lt;li&gt;Looked out in the hallway and saw emergency lighting on, so at least building wide outage.&lt;/li&gt;
&lt;li&gt;Looked out on street and saw no buildings with lights and all traffic signals dead as well, so at least neighborhood outage.&lt;/li&gt;
&lt;li&gt;I tried to rejoin the Teams call I had been on from my mobile but found everyone had been disconnected, so at least a Madrid wide outage.&lt;/li&gt;
&lt;li&gt;That is when I got a bad feeling.&lt;/li&gt;
&lt;li&gt;I went to the roof to see if there were any mushroom clouds, bombers, or fires on the horizon, but saw none of them (phew).&lt;/li&gt;
&lt;li&gt;By 13:00 had confirmed via family chat in WhatsApp that it was affecting family members in Madrid, Galicia, and Catalonia, so was looking very much like all of Spain outage.&lt;/li&gt;
&lt;li&gt;By 13:15 my mobile phone service (calls and data) stopped working as well. Read that again: only after 45 minutes of power outage I had no phone or data.  As the day progressed there was some luck getting SMS texts to work, but was extremely spotty and by nature SMS are not guaranteed delivery, so was hard to know when and if someone actually got the message as we no longer have an agreed protocol on top of the communication channel like in the old days with &lt;a href=&#34;https://callmc.com/two-way-radio-etiquette-basic-rules-of-radio-communication/&#34;&gt;walky-talkies&lt;/a&gt; (copy, over, etcetera).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Power was finally restored at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sister-in-law in Cataluña at 18:01 (5.5 hour outage)&lt;/li&gt;
&lt;li&gt;My house in Madrid at 10:19 (9.75 hour outage)&lt;/li&gt;
&lt;li&gt;Brother-in-law in Galicia 02:00 (13.5 hour outage)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Lessons-learned&#34;&gt;&lt;a href=&#34;#Lessons-learned&#34; class=&#34;headerlink&#34; title=&#34;Lessons learned:&#34;&gt;&lt;/a&gt;Lessons learned:&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;always have gas in the car (gas station pumps require power to pump gas)&lt;/li&gt;
&lt;li&gt;always have cash (card validation requires network communication that all went down[1])&lt;/li&gt;
&lt;li&gt;always have water at home (my water stopped working immediately but others had water for a while)&lt;/li&gt;
&lt;li&gt;always have battery powered radio (was the only way to get information on what the heck was happening)&lt;/li&gt;
&lt;li&gt;always have canned food at home (some super markets in the neighborhood had generators and were working with cash only sales, but they ran out of diesel eventually)&lt;/li&gt;
&lt;li&gt;always have flashlight with extra batteries (stairwell emergency lighting only lasted about an hour and then the sun went down and lighting was needed everywhere)&lt;/li&gt;
&lt;li&gt;always have downloaded offline google maps for your area (can you live without google maps to get anywhere?)&lt;/li&gt;
&lt;li&gt;always have planned meeting point with family (once totally cut off better to have pre-agreed meeting points)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;[1] I have unconfirmed reports that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Orange (which I have) lasted less then an hour (this one I can confirm that lasted about 45 minutes)&lt;/li&gt;
&lt;li&gt;Movistar lasted a couple hours&lt;/li&gt;
&lt;li&gt;Vodafone lasted 6 or 7 hours&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Physics StackExchange: &lt;a href=&#34;https://physics.stackexchange.com/questions/848666/what-is-induced-atmospheric-vibration&#34;&gt;What is “Induced Atmospheric Vibration”?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wikipedia: &lt;a href=&#34;https://en.wikipedia.org/wiki/List_of_major_power_outages&#34;&gt;List of major power outages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.aemo.com.au/-/media/Files/Electricity/NEM/Market_Notices_and_Events/Power_System_Incident_Reports/2017/Integrated-Final-Report-SA-Black-System-28-September-2016.pdf&#34;&gt;BLACK SYSTEM SOUTH AUSTRALIA 28 SEPTEMBER 2016.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wikipedia: &lt;a href=&#34;https://en.wikipedia.org/wiki/Synchronization_(alternating_current)&#34;&gt;Synchronization (alternating current)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2025-04-29T15:00:16.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/04/20/Cercedilla-Field-Notes-Juego-de-la-Calva/</id>
        <title>Cercedilla Field Notes: Juego de la Calva</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/04/20/Cercedilla-Field-Notes-Juego-de-la-Calva/"/>
        <content type="html">&lt;img src=&#34;/2025/04/20/Cercedilla-Field-Notes-Juego-de-la-Calva/CFN_calva_01.jpg&#34; class=&#34;&#34; title=&#34;In action)&#34;&gt;

&lt;p&gt;When I started the Cercedilla Field Notes series my intention was to publish about the natural diversity of Cercedilla (topics such as birds, trees, and whatnot),  but Cercedilla has such interesting cultural aspects as well, I feel I need to expand the series to include them as well and the first post is regarding a traditional Easter week game called &lt;em&gt;calva&lt;/em&gt; that is so unique and so Cercedilla.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;Basically the game is like horse shoes or corn hole, in that one throws an object at a target.  In this case the object is a cylindrical stone (known as the &lt;em&gt;marro&lt;/em&gt; or &lt;em&gt;borrillo&lt;/em&gt;) and the target is an elbow shaped piece of wood (known as the &lt;em&gt;calva&lt;/em&gt;).  The objective is to knock the &lt;em&gt;calva&lt;/em&gt; over directly without hitting and bouncing on the ground first.  This year the championship was held over 4 days (Thursday - Sunday) in the bullring (very cool place and that now the series has expanded its scope I surely will have a future post about it) and we were there on the first day at 16:00 when it started. &lt;/p&gt;
&lt;img src=&#34;/2025/04/20/Cercedilla-Field-Notes-Juego-de-la-Calva/CFN_calva_02.jpg&#34; class=&#34;&#34; title=&#34;Poster)&#34;&gt;

&lt;p&gt;The championship is organized by the &lt;em&gt;Sociedad de Mozos&lt;/em&gt; (young men’s association) and when we arrived we were the only spectators and we think they were all practicing with the actual competition beginning a bit later. I say “think” as our questions posed to the bartender were not readily answered with sufficient details to clarify our doubts, and when we attempted clarification we sensed we were offending said bartender, raising concern on our part we were risking our future supply of drinks.  So we were able to ensure a secure line of beverages, but little in the way of knowledge on any details on why they felt a need to run to retrieve their &lt;em&gt;marro&lt;/em&gt;, the point system, or how the actual championship and elimination process works over the 4 days.&lt;/p&gt;
&lt;p&gt;I later asked ChatGPT for any of the knowledge it had scraped from the internet and was surprised to see it go directly to a web search to provide this insight:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The calva is believed to have originated from ancient pastoral practices, where shepherds would throw stones at horns or wooden targets for entertainment. Over time, this evolved into the structured game known today. While its popularity has waned in some areas, towns like Cercedilla continue to keep the tradition alive, integrating it into local festivals and community events .​&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So I now have a year to find a team (I think I need 3 other males as we did not see any female participants) and a suitable &lt;em&gt;marro&lt;/em&gt; to register for next year’s competition!&lt;/p&gt;
&lt;img src=&#34;/2025/04/20/Cercedilla-Field-Notes-Juego-de-la-Calva/CFN_calva_03.jpg&#34; class=&#34;&#34; title=&#34;Action)&#34;&gt;

&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-04-20T10:49:35.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/03/25/Blue-at-last-blue-at-last/</id>
        <title>Blue at last, blue at last!</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/03/25/Blue-at-last-blue-at-last/"/>
        <content type="html">&lt;img src=&#34;/2025/03/25/Blue-at-last-blue-at-last/blue_01.jpg&#34; class=&#34;&#34; title=&#34;Sky Line&#34;&gt;

&lt;p&gt;Spring officially started last Thursday, but until today it has not been felt, and then all at once like someone flipped a switch it has stopped raining and there are blue skys again!&lt;br&gt;Without exaggerating it has been 3 or 4 weeks without seeing any blue skys, something that is not normal in Madrid, and a quick search &lt;a href=&#34;https://madridsecreto.co/en/madrid-historical-record-rainfall-2025/&#34;&gt;confirms it&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The month of March 2025 will go down in the history of meteorology in the Community of Madrid as the rainiest March since records have been kept: 1893. But this is not the only data that the rains of these days will leave for posterity. The Madrid-Retiro observatory, according to data from Embalses.net, has exceeded 200 l&amp;#x2F;m², a historic rainfall record in the city: nothing like this has been seen in the 130 years that records have been kept.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The good side of all the grey raining days: I have a keen appreciation for the blue sky, the stronger spring light, fuzzy trees, not being in the dark on the roof at 06:45 doing morning exercises, and warming days! It is like I have never lived a winter to spring transition in my life!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <updated>2025-03-25T17:39:47.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/03/14/Recipe-Pican-Pie/</id>
        <title>Recipe: Pican Pie</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/03/14/Recipe-Pican-Pie/"/>
        <content type="html">&lt;img src=&#34;/2025/03/14/Recipe-Pican-Pie/r_pp01.jpg&#34; class=&#34;&#34; title=&#34;Pican Pi!&#34;&gt;

&lt;p&gt;Made to celbrate Pi day!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Ingredients&#34;&gt;&lt;a href=&#34;#Ingredients&#34; class=&#34;headerlink&#34; title=&#34;Ingredients&#34;&gt;&lt;/a&gt;Ingredients&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1 recipe for prebaked pie shell just out of the oven when the filling is ready&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Filling&#34;&gt;&lt;a href=&#34;#Filling&#34; class=&#34;headerlink&#34; title=&#34;Filling&#34;&gt;&lt;/a&gt;Filling&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;6 tbls (83g) unsalted butter&lt;/li&gt;
&lt;li&gt;1 cup dark brown sugar&lt;/li&gt;
&lt;li&gt;1&amp;#x2F;2 tsp salt&lt;/li&gt;
&lt;li&gt;3 large eggs&lt;/li&gt;
&lt;li&gt;3&amp;#x2F;4 cup light corn syrup&lt;/li&gt;
&lt;li&gt;1 tbls vanilla extract&lt;/li&gt;
&lt;li&gt;2 cups picans toasted and chopped into small pieces&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Directions&#34;&gt;&lt;a href=&#34;#Directions&#34; class=&#34;headerlink&#34; title=&#34;Directions&#34;&gt;&lt;/a&gt;Directions&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;melt butter in baño maria with water just below simmer&lt;/li&gt;
&lt;li&gt;stir in sugar and salt until absorbed&lt;/li&gt;
&lt;li&gt;beat in eggs, corn syrup and vanilla&lt;/li&gt;
&lt;li&gt;return to baño maria and heat until 130ºF &lt;/li&gt;
&lt;li&gt;remove from heat and stir in pecans and add to pie crust&lt;/li&gt;
&lt;li&gt;bake at 130ºC until set 50 - 60 minutes&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Source&#34;&gt;&lt;a href=&#34;#Source&#34; class=&#34;headerlink&#34; title=&#34;Source&#34;&gt;&lt;/a&gt;Source&lt;/h2&gt;&lt;p&gt;Baking Illustrated page 205&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Recipes" />
        <updated>2025-03-14T16:23:02.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/03/12/Inspecting-process-traffic-in-Windows/</id>
        <title>Inspecting process traffic in Windows</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/03/12/Inspecting-process-traffic-in-Windows/"/>
        <content type="html">&lt;p&gt;Ever wonder what network traffic a process is generating in Windows?  Well we had a problem with a service at work this week and I had just that need and found a nifty way to find out…read on for details!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;Of course as this deals with Windows, the tool I used was created by the one and only &lt;a href=&#34;https://en.wikipedia.org/wiki/Mark_Russinovich&#34;&gt;Mark Russinovich&lt;/a&gt; who it would appear single handely wrote every handy little tool for Windows.  The tool is &lt;a href=&#34;https://learn.microsoft.com/en-us/sysinternals/downloads/procmon&#34;&gt;Process Monitor&lt;/a&gt; and does much more than my particular need but nailed what I needed to find out:  what network traffic was a process generating?&lt;/p&gt;
&lt;p&gt;To filter out out all the noise I identified the process ID from the Task Manager and then created two filters:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Filter on the process’s PID&lt;/li&gt;
&lt;li&gt;Filter on operations that have TCP in the name&lt;/li&gt;
&lt;/ol&gt;
&lt;img src=&#34;/2025/03/12/Inspecting-process-traffic-in-Windows/iw_01.jpg&#34; class=&#34;&#34; title=&#34;Filters&#34;&gt;

&lt;p&gt;And now we can see what traffic the process is generating:&lt;/p&gt;
&lt;img src=&#34;/2025/03/12/Inspecting-process-traffic-in-Windows/iw_02.jpg&#34; class=&#34;&#34; title=&#34;Needle in haystack is found&#34;&gt;

&lt;p&gt;In the service outage I used this in conjunction with Wireshark adding a filter for all the destination IPs and we quickly saw that some traffic was receiving a TCP RST from one of the servers after doing the TLS tango, a clear sign that a layer 7 firewall did not like something and was tearing down the communication channel, which was what we suspected, but until we could prove it no one believed us…&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/sysinternals/downloads/procmon&#34;&gt;Process Monitor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <updated>2025-03-12T17:11:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/03/09/Recipe-Eggplant-Parmesan/</id>
        <title>Recipe: Eggplant Parmesan</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/03/09/Recipe-Eggplant-Parmesan/"/>
        <content type="html">&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_02.jpg&#34; class=&#34;&#34; title=&#34;Eggplant Parmesan&#34;&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;


&lt;h2 id=&#34;Ingredients&#34;&gt;&lt;a href=&#34;#Ingredients&#34; class=&#34;headerlink&#34; title=&#34;Ingredients&#34;&gt;&lt;/a&gt;Ingredients&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;2 1&amp;#x2F;4 pounds globe eggplant (about 2 large)&lt;/li&gt;
&lt;li&gt;1 teaspoon kosher salt&lt;/li&gt;
&lt;li&gt;1 tablespoon extra virgin olive oil&lt;/li&gt;
&lt;li&gt;2 cloves garlic, minced&lt;/li&gt;
&lt;li&gt;2 (28-ounce) cans (the big ones!) whole peeled tomatoes (preferably San Marzano) diced, reserving the juices, or crushed tomatoes&lt;/li&gt;
&lt;li&gt;1&amp;#x2F;2 cup finely chopped fresh basil, packed&lt;/li&gt;
&lt;li&gt;Kosher salt&lt;/li&gt;
&lt;li&gt;Freshly ground black pepper, to taste&lt;/li&gt;
&lt;li&gt;1 1&amp;#x2F;2 to 2 cups breadcrumbs, divided&lt;/li&gt;
&lt;li&gt;1 1&amp;#x2F;4 cups shredded Parmesan cheese, divided&lt;/li&gt;
&lt;li&gt;1 cup all-purpose flour&lt;/li&gt;
&lt;li&gt;4 large eggs, beaten (more if needed)&lt;/li&gt;
&lt;li&gt;1&amp;#x2F;4 cup extra virgin olive oil, plus more to oil the sheet pans&lt;/li&gt;
&lt;li&gt;1 1&amp;#x2F;2 pounds (680g) fresh mozzarella cheese, sliced into 1&amp;#x2F;4-inch slices&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Instructions&#34;&gt;&lt;a href=&#34;#Instructions&#34; class=&#34;headerlink&#34; title=&#34;Instructions&#34;&gt;&lt;/a&gt;Instructions&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prepare the eggplant&lt;/strong&gt;:&lt;br&gt;-Slice the eggplants into 1&amp;#x2F;4 to 1&amp;#x2F;2-inch thick rounds. Lay the eggplant slices out on a rack over a rimmed sheet pan (or on several layers of paper towels).&lt;br&gt;-Sprinkle both sides of the eggplant rounds lightly with salt. Let the eggplant rounds sit and release moisture for 2 hours.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Make the sauce&lt;/strong&gt;:&lt;br&gt;-Heat 1 tablespoon olive oil in a 4-quart saucepan on medium heat. Add the minced garlic and gently cook for 1 minute or until fragrant.&lt;br&gt;-Add the tomatoes and their juices, breaking up the tomatoes as you add them to the pot. Increase heat to bring to a simmer, lower heat to maintain a very low simmer for 15 minutes, uncovered. Add salt and pepper to taste. Add the minced basil and remove from heat.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Preheat the oven&lt;/strong&gt;:&lt;br&gt;-Place the oven rack in the middle and preheat the oven to 425°F (220°C).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prepare a dredging station&lt;/strong&gt;:&lt;br&gt;-Combine 1 1&amp;#x2F;2 cups of the breadcrumbs with 1&amp;#x2F;4 cup of the Parmesan cheese, and place in a shallow bowl or rimmed dish.&lt;br&gt;-Set up your station so that you have flour in one shallow bowl, beaten eggs in another bowl, and the breadcrumb cheese mixture in another, in that order&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dredge the eggplant rounds&lt;/strong&gt;:&lt;br&gt;-Spread a tablespoon of olive oil each over the bottom of two rimmed baking sheet pans.&lt;br&gt;-The eggplant rounds should be wet from releasing moisture from salting them. Pat dry the eggplant slices with paper towels.&lt;br&gt;-Working one at a time dredge the eggplant slices first in the flour, then dip in the beaten eggs, and then dredge in the breadcrumb Parmesan cheese mixture. Add more breadcrumbs, if needed.&lt;br&gt;-Place on oiled sheet pan. Drizzle a little oil over the top of each breaded eggplant round.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bake the eggplant rounds&lt;/strong&gt;:&lt;br&gt;-Place breaded prepared eggplant slices in the oven. Cook for 18 to 20 minutes at 425°F, turning the slices over at the half-way point, until they are nicely browned. -Remove from oven, and let cool to touch.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assemble the casserole&lt;/strong&gt;:&lt;br&gt;-Spread 1 cup of the tomato sauce over the bottom of a 9 x 13-inch casserole dish. -Place a third of the eggplant rounds in a single layer covering the sauce on the bottom of the pan.&lt;br&gt;-Layer half of the sliced mozzarella on top of the eggplant rounds. Sprinkle with 1&amp;#x2F;3 cup of the Parmesan cheese.&lt;br&gt;-Place another third of the eggplant rounds over the cheese. Spread 1 cup of the sauce over the eggplant rounds. Layer the rest of the sliced mozzarella over the sauce. Sprinkle with 1&amp;#x2F;3 cup of shredded Parm.&lt;br&gt;-Add the remaining eggplant in a single layer on top of the cheese. Top with the remaining sauce and the remaining Parmesan.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bake, rest, and serve&lt;/strong&gt;:&lt;br&gt;-Reduce the oven to 350°F (175°C) and bake, uncovered, for 35 minutes. Remove from the oven and let sit for 10 minutes before cutting into to serve.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Pictures-of-process&#34;&gt;&lt;a href=&#34;#Pictures-of-process&#34; class=&#34;headerlink&#34; title=&#34;Pictures of process&#34;&gt;&lt;/a&gt;Pictures of process&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;The sauce:&lt;/strong&gt; &lt;/p&gt;
&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_03.jpg&#34; class=&#34;&#34; title=&#34;The Sauce&#34;&gt;

&lt;p&gt;&lt;strong&gt;The Eggplants releasing moisture:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_04.jpg&#34; class=&#34;&#34; title=&#34;Eggplants resting&#34;&gt;

&lt;p&gt;&lt;strong&gt;Dredging:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_05.gif&#34; class=&#34;&#34; title=&#34;Dredging&#34;&gt;

&lt;p&gt;&lt;strong&gt;Eggplants post oven:&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Assembly:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_01.gif&#34; class=&#34;&#34; title=&#34;Assembly&#34;&gt;

&lt;p&gt;&lt;strong&gt;Time to enjoy:&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/03/09/Recipe-Eggplant-Parmesan/r_eggplant_07.jpg&#34; class=&#34;&#34; title=&#34;Done&#34;&gt;

&lt;h2 id=&#34;Source&#34;&gt;&lt;a href=&#34;#Source&#34; class=&#34;headerlink&#34; title=&#34;Source&#34;&gt;&lt;/a&gt;Source&lt;/h2&gt;&lt;p&gt;&lt;a href=&#34;https://www.simplyrecipes.com/recipes/eggplant_parmesan/&#34;&gt;Simply Recipes: Eggplant Parmesan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Recipes" />
        <updated>2025-03-09T10:05:01.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/03/02/Thoughts-on-AI/</id>
        <title>Thoughts on AI</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/03/02/Thoughts-on-AI/"/>
        <content type="html">&lt;p&gt;The last few days I have been avoiding NPR as the news is so crazy of late with all of Trump’s shenanigans, so instead I have been listening to podcasts that are non political and stumbled across this young kid &lt;a href=&#34;https://www.dwarkeshpatel.com/&#34;&gt;Dwarkesh Patel&lt;/a&gt; who interviews people.  I have listen to an &lt;a href=&#34;https://www.dwarkeshpatel.com/p/satya-nadella&#34;&gt;interview with the ceo of microsoft (Satya Nadella)&lt;/a&gt; and &lt;a href=&#34;https://www.dwarkeshpatel.com/p/jeff-dean-and-noam-shazeer&#34;&gt;two guys at google deep mind&lt;/a&gt; that I am getting the impression one of them is the father of LLMs as we know them today.&lt;/p&gt;
&lt;p&gt;Read on to hear me rant!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;The contrast between the two episodes is perfect: one from the ceo of a company who wants to ensure his company is positioned to lead and be a winner in the AI revolution and the other two nerds who are just flipping out in the potential of the Frankenstein they have created.&lt;/p&gt;
&lt;p&gt;For me I just keep thinking back on the &lt;a href=&#34;https://en.wikipedia.org/wiki/WALL-E&#34;&gt;WALL-E&lt;/a&gt;  movie, one I never watched end to end in one sitting but just saw in snipits while my daughters were watching.  The one thing I vaguely remember is a spaceship kinda like a current cruse liner going through space with all the humans Jabba the Hutt like entities on lounge chairs and very worm like.  Could be this was all a dream and nothing to to with the &lt;a href=&#34;https://en.wikipedia.org/wiki/WALL-E&#34;&gt;WALL-E&lt;/a&gt; movie, but both interviews kept leading me back to that future image as both camps, ceo and nerds, see this as creating agents to replace human knowledge work.&lt;/p&gt;
&lt;p&gt;In the sort term this is terrifying because i do not think current systems can ensure for the wellbeing of large numbers of employed people, especially the united states where the wealth  disparity has just grown exponentially since my youth where a slim minority has just gotten stink’n rich with them and their companies avoiding their share in taxes while the middle class has been decimated and the number of people and families living pay check to pay check with multiple jobs increasing.    In the long term i see a &lt;a href=&#34;https://en.wikipedia.org/wiki/WALL-E&#34;&gt;WALL-E&lt;/a&gt; (or what i think i remeber from &lt;a href=&#34;https://en.wikipedia.org/wiki/WALL-E&#34;&gt;WALL-E&lt;/a&gt;) situation where we just become big Jabba the Hutt worm creatures but more worm like than Jabba like.&lt;/p&gt;
&lt;p&gt;But let’s put my privileged ass pessimism aside for a second and give a think about how AI revolution could lead to better outcomes.  To do that I think I want to understand how a similar revolution, the industrial revolution, played out.  What better way to do that then using an AI agent!&lt;/p&gt;
&lt;p&gt;Here is the prompt and a link to my conversation: &lt;a href=&#34;https://chatgpt.com/share/67c43919-6c18-8005-ade3-3f77c8a4711c&#34;&gt;I would like to have a session with you to understand the industrial revolution and its impact on society, politics, and economy in the sort and longer term to understand how the AI revolution may play out&lt;/a&gt; and below I have also included the conversation. &lt;/p&gt;
&lt;h3 id=&#34;So-what-are-the-takeaways-from-my-conversation-with-my-AI-Agent&#34;&gt;&lt;a href=&#34;#So-what-are-the-takeaways-from-my-conversation-with-my-AI-Agent&#34; class=&#34;headerlink&#34; title=&#34;So what are the takeaways from my conversation with my AI Agent?&#34;&gt;&lt;/a&gt;So what are the takeaways from my conversation with my AI Agent?&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Basically the current social, political, and economic situation we are currently living in was a result of the industrial revolution.&lt;/li&gt;
&lt;li&gt;The dust did not settle quickly, rather it took about a hundred years or more with lots of wars, lots of old establishment people being beheaded or shot in the street, and lots of suffering by the majority of the people until things reached a steady state.&lt;/li&gt;
&lt;li&gt;The axiom that the only thing that is constant is change is applicable as always.&lt;/li&gt;
&lt;li&gt;ChatGPT waxed on a lot about government oversight, guardrails and things like on AI and AI companies but really my take way is the same I realized long ago:&lt;br&gt;  &lt;em&gt;&lt;strong&gt;Life is a roller coster.  Hang on and enjoy the ride&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
&lt;h3 id=&#34;The-full-converstation-with-ChatGPT&#34;&gt;&lt;a href=&#34;#The-full-converstation-with-ChatGPT&#34; class=&#34;headerlink&#34; title=&#34;The full converstation with ChatGPT:&#34;&gt;&lt;/a&gt;The full converstation with ChatGPT:&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;br&gt;I would like to have a session with you to understand the industrial revolution and its impact on society, politics, and economy in the sort and longer term to understand how the AI revolution may play out.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That sounds like a great idea! The Industrial Revolution reshaped society, politics, and the economy in ways that have strong parallels to what we might see with AI. We can break it down into different phases:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Industrial Revolution (1750–1900)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shift from agrarian to industrial economies.&lt;/li&gt;
&lt;li&gt;Urbanization and social changes.&lt;/li&gt;
&lt;li&gt;Rise of capitalism and labor movements.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Short-term Impacts&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Job displacement and new opportunities.&lt;/li&gt;
&lt;li&gt;Social unrest and adaptation.&lt;/li&gt;
&lt;li&gt;Policy changes (e.g., labor laws).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Long-term Impacts&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Economic expansion and wealth accumulation.&lt;/li&gt;
&lt;li&gt;Education and skill shifts.&lt;/li&gt;
&lt;li&gt;Political shifts (rise of democracy, regulation).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Parallels to AI Revolution&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI’s impact on jobs and automation.&lt;/li&gt;
&lt;li&gt;Ethical and societal challenges.&lt;/li&gt;
&lt;li&gt;Potential for wealth concentration and policy responses.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Would you like to start with a historical overview, or focus on specific aspects?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;let’s start by focusing on what needs to happen with the AI revolution in economic and political areas so that the societal implications are positive &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Great, let’s focus on what needs to happen in the economic and political spheres to ensure that the AI revolution leads to positive societal outcomes.&lt;/p&gt;
&lt;h3 id=&#34;1-Economic-Considerations&#34;&gt;&lt;a href=&#34;#1-Economic-Considerations&#34; class=&#34;headerlink&#34; title=&#34;1. Economic Considerations&#34;&gt;&lt;/a&gt;&lt;strong&gt;1. Economic Considerations&lt;/strong&gt;&lt;/h3&gt;&lt;h4 id=&#34;A-Managing-Job-Displacement-and-Workforce-Transition&#34;&gt;&lt;a href=&#34;#A-Managing-Job-Displacement-and-Workforce-Transition&#34; class=&#34;headerlink&#34; title=&#34;A. Managing Job Displacement and Workforce Transition&#34;&gt;&lt;/a&gt;&lt;strong&gt;A. Managing Job Displacement and Workforce Transition&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reskilling &amp;amp; Upskilling&lt;/strong&gt;: Governments and companies should invest heavily in education and training programs to help workers transition into AI-augmented roles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lifelong Learning Programs&lt;/strong&gt;: Similar to how industrial economies created universal schooling, AI economies need continuous learning platforms.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Public-Private Partnerships&lt;/strong&gt;: Collaboration between governments, universities, and businesses to develop skill-building initiatives.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;B-Redefining-Work-and-Income-Distribution&#34;&gt;&lt;a href=&#34;#B-Redefining-Work-and-Income-Distribution&#34; class=&#34;headerlink&#34; title=&#34;B. Redefining Work and Income Distribution&#34;&gt;&lt;/a&gt;&lt;strong&gt;B. Redefining Work and Income Distribution&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Universal Basic Income (UBI) or Alternative Safety Nets&lt;/strong&gt;: If automation significantly reduces traditional employment, new income distribution models may be needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Taxation Adjustments&lt;/strong&gt;: Governments could consider taxes on AI productivity gains to fund social programs or wage subsidies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shorter Workweeks &amp;amp; AI-Assisted Jobs&lt;/strong&gt;: Instead of eliminating jobs, AI could reduce work hours while maintaining wages.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;C-Ensuring-Competitive-Markets-amp-Preventing-Monopolies&#34;&gt;&lt;a href=&#34;#C-Ensuring-Competitive-Markets-amp-Preventing-Monopolies&#34; class=&#34;headerlink&#34; title=&#34;C. Ensuring Competitive Markets &amp;amp; Preventing Monopolies&#34;&gt;&lt;/a&gt;&lt;strong&gt;C. Ensuring Competitive Markets &amp;amp; Preventing Monopolies&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stronger Antitrust Regulations&lt;/strong&gt;: Prevent a few AI companies from dominating industries and extracting all the value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open-Source &amp;amp; Public AI Models&lt;/strong&gt;: Encouraging decentralized AI development to distribute power and innovation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Worker-Owned AI Cooperatives&lt;/strong&gt;: Instead of AI benefiting only corporations, workers could collectively own AI tools to enhance productivity and share profits.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;2-Political-Considerations&#34;&gt;&lt;a href=&#34;#2-Political-Considerations&#34; class=&#34;headerlink&#34; title=&#34;2. Political Considerations&#34;&gt;&lt;/a&gt;&lt;strong&gt;2. Political Considerations&lt;/strong&gt;&lt;/h3&gt;&lt;h4 id=&#34;A-AI-Governance-amp-Ethical-Frameworks&#34;&gt;&lt;a href=&#34;#A-AI-Governance-amp-Ethical-Frameworks&#34; class=&#34;headerlink&#34; title=&#34;A. AI Governance &amp;amp; Ethical Frameworks&#34;&gt;&lt;/a&gt;&lt;strong&gt;A. AI Governance &amp;amp; Ethical Frameworks&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Global AI Regulations&lt;/strong&gt;: Similar to financial regulations, AI needs international agreements on ethical usage, privacy, and accountability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transparency &amp;amp; Explainability&lt;/strong&gt;: Mandating that AI decisions (especially in hiring, finance, and law enforcement) be understandable and auditable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bias &amp;amp; Fairness Controls&lt;/strong&gt;: Ensuring AI does not reinforce existing inequalities by embedding fairness requirements in AI systems.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;B-Political-Stability-amp-Social-Trust&#34;&gt;&lt;a href=&#34;#B-Political-Stability-amp-Social-Trust&#34; class=&#34;headerlink&#34; title=&#34;B. Political Stability &amp;amp; Social Trust&#34;&gt;&lt;/a&gt;&lt;strong&gt;B. Political Stability &amp;amp; Social Trust&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Preventing Mass Unemployment &amp;amp; Social Unrest&lt;/strong&gt;: Without proactive policies, job losses could lead to populist backlash and political instability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Democratic Oversight of AI&lt;/strong&gt;: Public involvement in AI decision-making, possibly through citizen councils or AI ethics boards.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI &amp;amp; Political Manipulation&lt;/strong&gt;: Preventing AI-driven misinformation and ensuring fair elections through AI accountability measures.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;C-International-AI-Coordination&#34;&gt;&lt;a href=&#34;#C-International-AI-Coordination&#34; class=&#34;headerlink&#34; title=&#34;C. International AI Coordination&#34;&gt;&lt;/a&gt;&lt;strong&gt;C. International AI Coordination&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Preventing an AI Arms Race&lt;/strong&gt;: Cooperation to avoid AI being used primarily for surveillance, military, or oppressive state control.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI &amp;amp; Global Development&lt;/strong&gt;: Ensuring developing nations are included in AI advancements rather than being left behind.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Digital Sovereignty &amp;amp; Data Ownership&lt;/strong&gt;: Giving individuals and nations control over their data rather than letting a few corporations hoard it.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;Conclusion-A-Proactive-Approach-is-Essential&#34;&gt;&lt;a href=&#34;#Conclusion-A-Proactive-Approach-is-Essential&#34; class=&#34;headerlink&#34; title=&#34;Conclusion: A Proactive Approach is Essential&#34;&gt;&lt;/a&gt;&lt;strong&gt;Conclusion: A Proactive Approach is Essential&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;If we let AI evolve without intervention, we may see extreme inequality, job displacement, and corporate monopolization—similar to early industrial capitalism before labor reforms. However, if we actively shape policies, invest in education, and regulate responsibly, AI could increase prosperity and reduce societal burdens.&lt;/p&gt;
&lt;p&gt;Would you like to focus on any particular aspect, such as taxation models, job transition strategies, or AI regulation specifics?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;how long did it take the dust to settle on the political impact after the industrial revolution. please include winners and loosers&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The political dust from the Industrial Revolution took about &lt;strong&gt;a century to settle&lt;/strong&gt;, from the late 18th century to the early 20th century. The transition was marked by social upheaval, revolutions, and major political reforms. The winners and losers changed over time, with early beneficiaries facing backlash and new political ideologies emerging.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-Political-Disruptions-amp-Adjustments-c-1750–1914&#34;&gt;&lt;a href=&#34;#1-Political-Disruptions-amp-Adjustments-c-1750–1914&#34; class=&#34;headerlink&#34; title=&#34;1. Political Disruptions &amp;amp; Adjustments (c. 1750–1914)&#34;&gt;&lt;/a&gt;&lt;strong&gt;1. Political Disruptions &amp;amp; Adjustments (c. 1750–1914)&lt;/strong&gt;&lt;/h2&gt;&lt;h3 id=&#34;Phase-1-Early-Upheaval-1750–1850&#34;&gt;&lt;a href=&#34;#Phase-1-Early-Upheaval-1750–1850&#34; class=&#34;headerlink&#34; title=&#34;Phase 1: Early Upheaval (1750–1850)&#34;&gt;&lt;/a&gt;&lt;strong&gt;Phase 1: Early Upheaval (1750–1850)&lt;/strong&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Winners&lt;/strong&gt;: Industrial capitalists, factory owners, bankers, and some middle-class professionals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Losers&lt;/strong&gt;: Peasants, artisans, and early industrial workers who faced exploitation, long hours, and poor conditions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Key Political Events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;French Revolution (1789–1799)&lt;/strong&gt;: Partially fueled by economic inequality and the shift from feudalism to industrial capitalism.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Luddite Rebellions (1811–1816, UK)&lt;/strong&gt;: Skilled textile workers destroyed machines that displaced their labor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1832 Reform Act (UK)&lt;/strong&gt;: Expanded voting rights slightly but still favored the wealthy industrial class.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1848 Revolutions (Europe)&lt;/strong&gt;: A wave of political upheavals driven by economic inequality and demands for democracy.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Outcome: Traditional aristocratic power weakened, but industrial elites gained influence. The working class remained politically powerless.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;Phase-2-Labor-Movements-amp-Socialism-1850–1900&#34;&gt;&lt;a href=&#34;#Phase-2-Labor-Movements-amp-Socialism-1850–1900&#34; class=&#34;headerlink&#34; title=&#34;Phase 2: Labor Movements &amp;amp; Socialism (1850–1900)&#34;&gt;&lt;/a&gt;&lt;strong&gt;Phase 2: Labor Movements &amp;amp; Socialism (1850–1900)&lt;/strong&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Winners&lt;/strong&gt;: Organized labor, socialist movements, and democratic reformers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Losers&lt;/strong&gt;: Unregulated industrial capitalists who faced new laws and taxation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Key Political Events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rise of Trade Unions&lt;/strong&gt;: Workers organized strikes to demand better conditions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Marx &amp;amp; Engels (1848, Communist Manifesto)&lt;/strong&gt;: Gave ideological grounding to socialism and communism.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;German Social Reforms (1880s, Bismarck)&lt;/strong&gt;: First welfare state (health insurance, pensions) to prevent socialist uprisings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expansion of Voting Rights (UK, France, Germany)&lt;/strong&gt;: By the late 19th century, more working-class men gained suffrage.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Outcome: &lt;strong&gt;Laws improved workers’ rights, social safety nets emerged, and socialist parties gained political power.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;Phase-3-Full-Political-Resettlement-1900–1914&#34;&gt;&lt;a href=&#34;#Phase-3-Full-Political-Resettlement-1900–1914&#34; class=&#34;headerlink&#34; title=&#34;Phase 3: Full Political Resettlement (1900–1914)&#34;&gt;&lt;/a&gt;&lt;strong&gt;Phase 3: Full Political Resettlement (1900–1914)&lt;/strong&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Winners&lt;/strong&gt;: The middle class, labor movements, and reform-minded industrialists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Losers&lt;/strong&gt;: Aristocrats and monarchs (many lost power or influence).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Key Political Events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Progressive Era (USA, 1890s–1920s)&lt;/strong&gt;: Antitrust laws, labor protections, and income tax to curb corporate power.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Russian Revolution (1917, soon after)&lt;/strong&gt;: The extreme response to industrial capitalism—communist revolution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WWI (1914–1918)&lt;/strong&gt;: Further weakened aristocratic power and accelerated democratic reforms.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Outcome: &lt;strong&gt;By the early 20th century, the balance of power had shifted toward a mix of industrial capitalism, democracy, and labor rights.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;Parallels-with-AI&#34;&gt;&lt;a href=&#34;#Parallels-with-AI&#34; class=&#34;headerlink&#34; title=&#34;Parallels with AI&#34;&gt;&lt;/a&gt;&lt;strong&gt;Parallels with AI&lt;/strong&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;We may see early job displacement and protests&lt;/strong&gt; (like the Luddites).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A political shift toward worker protections and redistribution could emerge&lt;/strong&gt; (like 19th-century social reforms).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extreme reactions like AI-driven socialism or corporate monopolies could occur&lt;/strong&gt; (similar to communism vs. capitalism post-Industrial Revolution).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Would you like to explore how these lessons apply to today’s AI-driven changes?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;yes please explore how these lessons apply to today’s AI-driven changes&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;Applying-Industrial-Revolution-Lessons-to-the-AI-Revolution&#34;&gt;&lt;a href=&#34;#Applying-Industrial-Revolution-Lessons-to-the-AI-Revolution&#34; class=&#34;headerlink&#34; title=&#34;Applying Industrial Revolution Lessons to the AI Revolution&#34;&gt;&lt;/a&gt;&lt;strong&gt;Applying Industrial Revolution Lessons to the AI Revolution&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;The Industrial Revolution reshaped society through &lt;strong&gt;automation, job displacement, and economic restructuring&lt;/strong&gt;, leading to major &lt;strong&gt;political battles and social reforms&lt;/strong&gt;. If we apply those lessons to today’s &lt;strong&gt;AI-driven transformation&lt;/strong&gt;, we can anticipate potential conflicts and prepare for &lt;strong&gt;better outcomes&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-Early-Winners-amp-Losers-AI’s-“Luddite”-Phase-Present–2030&#34;&gt;&lt;a href=&#34;#1-Early-Winners-amp-Losers-AI’s-“Luddite”-Phase-Present–2030&#34; class=&#34;headerlink&#34; title=&#34;1. Early Winners &amp;amp; Losers (AI’s “Luddite” Phase, Present–2030)&#34;&gt;&lt;/a&gt;&lt;strong&gt;1. Early Winners &amp;amp; Losers (AI’s “Luddite” Phase, Present–2030)&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;🔼 &lt;strong&gt;Winners:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Big Tech &amp;amp; AI Companies&lt;/strong&gt;: Firms that control AI infrastructure (OpenAI, Google, Microsoft, etc.) will accumulate enormous wealth.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI Engineers &amp;amp; Data Scientists&lt;/strong&gt;: Those with AI expertise will benefit from high salaries and opportunities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Industries that Rapidly Adapt&lt;/strong&gt;: Companies that integrate AI early (finance, logistics, healthcare) will see major productivity boosts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔽 &lt;strong&gt;Losers:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Routine Workers&lt;/strong&gt;: Jobs in customer service, transportation, and content creation face rapid AI-driven displacement.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Small Businesses&lt;/strong&gt;: Those unable to afford AI solutions will struggle to compete with AI-enhanced corporations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gig &amp;amp; Freelance Workers&lt;/strong&gt;: Platforms like Fiverr and Upwork may be flooded with AI-generated services, lowering wages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;💥 &lt;strong&gt;Potential Disruptions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mass Layoffs &amp;amp; Protests&lt;/strong&gt;: Similar to the Luddite movement, affected workers may demand job protections or outright bans on AI in certain industries.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“AI Aristocracy” vs. the Working Class&lt;/strong&gt;: Like the Industrial Revolution, AI-driven inequality may create resentment against tech elites.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Government Inaction Leading to Backlash&lt;/strong&gt;: If policymakers delay regulation, the public may push for radical political change.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✅ &lt;strong&gt;Lesson from Industrial Revolution:&lt;/strong&gt; &lt;strong&gt;Governments must intervene early&lt;/strong&gt; to &lt;strong&gt;mitigate job displacement&lt;/strong&gt; through training programs, wage protections, and new work models.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-Mid-Term-Reforms-AI’s-“Labor-Movement”-Phase-2030–2050&#34;&gt;&lt;a href=&#34;#2-Mid-Term-Reforms-AI’s-“Labor-Movement”-Phase-2030–2050&#34; class=&#34;headerlink&#34; title=&#34;2. Mid-Term Reforms (AI’s “Labor Movement” Phase, 2030–2050)&#34;&gt;&lt;/a&gt;&lt;strong&gt;2. Mid-Term Reforms (AI’s “Labor Movement” Phase, 2030–2050)&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;🔼 &lt;strong&gt;Winners:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Workers in AI-Augmented Jobs&lt;/strong&gt;: Those who learn to work alongside AI (doctors using AI diagnostics, lawyers using AI research tools) will thrive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Universal Basic Income (UBI) Advocates&lt;/strong&gt;: If automation eliminates large numbers of jobs, governments may implement income redistribution policies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-Ethical Companies &amp;amp; Nations&lt;/strong&gt;: Countries that regulate AI responsibly while maintaining innovation (like Bismarck’s welfare reforms) will lead economically.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔽 &lt;strong&gt;Losers:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Unregulated AI Corporations&lt;/strong&gt;: Similar to early industrial monopolies, some AI firms may face breakups due to public backlash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authoritarian AI States&lt;/strong&gt;: Governments that use AI mainly for surveillance and control (like an “AI-powered monarchy”) may face revolts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traditional Education Models&lt;/strong&gt;: Static university degrees may lose relevance if rapid AI-driven reskilling becomes the norm.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;💥 &lt;strong&gt;Potential Disruptions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rise of AI-Driven Political Movements&lt;/strong&gt;: AI-generated political campaigns, automated propaganda, and “deepfake democracy” could destabilize elections.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tug-of-War Between Capitalism &amp;amp; AI Socialism&lt;/strong&gt;: The question of who “owns” AI’s productivity—corporations or society—could spark major ideological battles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Labor Strikes Against AI&lt;/strong&gt;: Workers might demand government regulations on AI replacing human jobs, similar to union movements in the 19th century.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✅ &lt;strong&gt;Lesson from Industrial Revolution:&lt;/strong&gt; &lt;strong&gt;Just like trade unions forced industrialists to improve conditions, governments must enforce AI accountability, fair wages, and anti-monopoly laws.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;3-Long-Term-Political-Settlement-AI’s-“Post-WWI”-Phase-2050&#34;&gt;&lt;a href=&#34;#3-Long-Term-Political-Settlement-AI’s-“Post-WWI”-Phase-2050&#34; class=&#34;headerlink&#34; title=&#34;3. Long-Term Political Settlement (AI’s “Post-WWI” Phase, 2050+)&#34;&gt;&lt;/a&gt;&lt;strong&gt;3. Long-Term Political Settlement (AI’s “Post-WWI” Phase, 2050+)&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;🔼 &lt;strong&gt;Winners:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nations with Proactive AI Policies&lt;/strong&gt;: Countries that balance AI innovation with regulation will become global leaders (similar to how Germany’s social model helped it industrialize).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-Enabled Democratic Systems&lt;/strong&gt;: AI could enhance governance through &lt;strong&gt;efficient policymaking, anti-corruption monitoring, and citizen engagement tools&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Universal Basic Services Advocates&lt;/strong&gt;: If AI significantly reduces human labor, societies may move toward &lt;strong&gt;free healthcare, education, and basic income models&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔽 &lt;strong&gt;Losers:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Late-Adopting Countries&lt;/strong&gt;: Nations that fail to integrate AI may face economic stagnation, similar to pre-industrial economies in the 19th century.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Oligarchs&lt;/strong&gt;: If data becomes a public utility rather than corporate property, companies that relied on data hoarding may lose power.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traditional Power Structures&lt;/strong&gt;: Hierarchies based on education, corporate control, or state authority could be disrupted by AI-driven decentralization.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;💥 &lt;strong&gt;Potential Disruptions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI-Powered Authoritarianism vs. AI-Enhanced Democracy&lt;/strong&gt;: Some governments may use AI for control (mass surveillance, predictive policing), while others may use it for empowerment (citizen-led governance).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A Global AI Divide&lt;/strong&gt;: Similar to industrialization, countries that fail to develop AI infrastructure may become economically dependent on AI-leading nations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Existential AI Regulation Debates&lt;/strong&gt;: If AI becomes highly autonomous, governments may face philosophical and legal crises on AI rights and responsibilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;✅ &lt;strong&gt;Lesson from Industrial Revolution:&lt;/strong&gt; &lt;strong&gt;Democratic oversight, social safety nets, and balanced economic policies will determine whether AI leads to greater prosperity or extreme inequality.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;Final-Thoughts-Will-AI-Be-More-Like-Industrialization-or-the-Digital-Revolution&#34;&gt;&lt;a href=&#34;#Final-Thoughts-Will-AI-Be-More-Like-Industrialization-or-the-Digital-Revolution&#34; class=&#34;headerlink&#34; title=&#34;Final Thoughts: Will AI Be More Like Industrialization or the Digital Revolution?&#34;&gt;&lt;/a&gt;&lt;strong&gt;Final Thoughts: Will AI Be More Like Industrialization or the Digital Revolution?&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;The Industrial Revolution was &lt;strong&gt;highly disruptive but led to eventual balance&lt;/strong&gt; through political and economic reforms. The &lt;strong&gt;Digital Revolution (1990s–2020s)&lt;/strong&gt;, however, &lt;strong&gt;worsened inequality without strong regulations&lt;/strong&gt; (Big Tech dominance, wealth concentration).&lt;/p&gt;
&lt;p&gt;👉 If we &lt;strong&gt;treat AI like early industrial capitalism&lt;/strong&gt;, with no regulations, it may &lt;strong&gt;lead to monopolization, job losses, and social unrest&lt;/strong&gt;.&lt;br&gt;👉 If we &lt;strong&gt;apply Industrial Revolution lessons&lt;/strong&gt;—investing in education, updating labor laws, and ensuring fair AI ownership—we could see &lt;strong&gt;a positive AI-powered economy&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;What-Do-You-Think&#34;&gt;&lt;a href=&#34;#What-Do-You-Think&#34; class=&#34;headerlink&#34; title=&#34;What Do You Think?&#34;&gt;&lt;/a&gt;&lt;strong&gt;What Do You Think?&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Would you like to focus on &lt;strong&gt;specific AI policy ideas&lt;/strong&gt; (like AI taxation or worker protections)? Or explore &lt;strong&gt;AI’s impact on democracy and governance&lt;/strong&gt;?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;let’s explore AI’s impact on democracy and governance&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;AI’s-Impact-on-Democracy-and-Governance&#34;&gt;&lt;a href=&#34;#AI’s-Impact-on-Democracy-and-Governance&#34; class=&#34;headerlink&#34; title=&#34;AI’s Impact on Democracy and Governance&#34;&gt;&lt;/a&gt;&lt;strong&gt;AI’s Impact on Democracy and Governance&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;AI has the potential to both &lt;strong&gt;strengthen and weaken democracy&lt;/strong&gt; depending on how it is used. It can &lt;strong&gt;enhance governance&lt;/strong&gt; by improving decision-making and transparency, but it also poses &lt;strong&gt;serious risks&lt;/strong&gt;, including misinformation, mass surveillance, and the erosion of public trust.&lt;/p&gt;
&lt;p&gt;Let’s explore the key areas where AI will impact democracy and governance.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-AI-as-a-Tool-to-Strengthen-Democracy&#34;&gt;&lt;a href=&#34;#1-AI-as-a-Tool-to-Strengthen-Democracy&#34; class=&#34;headerlink&#34; title=&#34;1. AI as a Tool to Strengthen Democracy&#34;&gt;&lt;/a&gt;&lt;strong&gt;1. AI as a Tool to Strengthen Democracy&lt;/strong&gt;&lt;/h2&gt;&lt;h3 id=&#34;A-Smarter-More-Efficient-Governance&#34;&gt;&lt;a href=&#34;#A-Smarter-More-Efficient-Governance&#34; class=&#34;headerlink&#34; title=&#34;A. Smarter, More Efficient Governance&#34;&gt;&lt;/a&gt;&lt;strong&gt;A. Smarter, More Efficient Governance&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;Data-Driven Policy Making&lt;/strong&gt;: AI can analyze economic, environmental, and social trends in real time, allowing governments to make more informed decisions.&lt;br&gt;🔹 &lt;strong&gt;AI-Powered Public Services&lt;/strong&gt;: AI can optimize traffic flow, healthcare allocation, and social welfare programs to reduce bureaucracy and waste.&lt;br&gt;🔹 &lt;strong&gt;AI-Assisted Legislation&lt;/strong&gt;: AI can help lawmakers draft laws, detect inconsistencies in legal texts, and predict the impact of policies before implementation.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Potential Benefits:&lt;/strong&gt; More responsive governance, better allocation of resources, and data-driven decision-making.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;B-Enhancing-Citizen-Engagement&#34;&gt;&lt;a href=&#34;#B-Enhancing-Citizen-Engagement&#34; class=&#34;headerlink&#34; title=&#34;B. Enhancing Citizen Engagement&#34;&gt;&lt;/a&gt;&lt;strong&gt;B. Enhancing Citizen Engagement&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;AI-Powered Participatory Democracy&lt;/strong&gt;: AI can be used in direct democracy platforms where citizens vote on policies in real time.&lt;br&gt;🔹 &lt;strong&gt;Fact-Checking &amp;amp; Misinformation Detection&lt;/strong&gt;: AI can help verify news sources and identify deepfakes, making public discourse more truthful.&lt;br&gt;🔹 &lt;strong&gt;AI-Driven Translation &amp;amp; Accessibility&lt;/strong&gt;: AI can help break language barriers in governance, allowing more people to engage in policy discussions.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Potential Benefits:&lt;/strong&gt; More inclusive political participation, less misinformation, and stronger public engagement in governance.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;C-AI-in-Fighting-Corruption-amp-Increasing-Transparency&#34;&gt;&lt;a href=&#34;#C-AI-in-Fighting-Corruption-amp-Increasing-Transparency&#34; class=&#34;headerlink&#34; title=&#34;C. AI in Fighting Corruption &amp;amp; Increasing Transparency&#34;&gt;&lt;/a&gt;&lt;strong&gt;C. AI in Fighting Corruption &amp;amp; Increasing Transparency&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;AI-Powered Whistleblower Protection&lt;/strong&gt;: AI can help identify and protect whistleblowers while uncovering corruption in government institutions.&lt;br&gt;🔹 &lt;strong&gt;Automated Public Spending Audits&lt;/strong&gt;: AI can track government expenditures to detect fraud and misuse of public funds.&lt;br&gt;🔹 &lt;strong&gt;Blockchain &amp;amp; AI for Transparent Elections&lt;/strong&gt;: AI can verify election integrity by detecting voting fraud or manipulation.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Potential Benefits:&lt;/strong&gt; Less corruption, more transparency, and increased public trust in government institutions.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-AI-as-a-Threat-to-Democracy&#34;&gt;&lt;a href=&#34;#2-AI-as-a-Threat-to-Democracy&#34; class=&#34;headerlink&#34; title=&#34;2. AI as a Threat to Democracy&#34;&gt;&lt;/a&gt;&lt;strong&gt;2. AI as a Threat to Democracy&lt;/strong&gt;&lt;/h2&gt;&lt;h3 id=&#34;A-AI-Driven-Misinformation-amp-Manipulation&#34;&gt;&lt;a href=&#34;#A-AI-Driven-Misinformation-amp-Manipulation&#34; class=&#34;headerlink&#34; title=&#34;A. AI-Driven Misinformation &amp;amp; Manipulation&#34;&gt;&lt;/a&gt;&lt;strong&gt;A. AI-Driven Misinformation &amp;amp; Manipulation&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔻 &lt;strong&gt;Deepfake Videos &amp;amp; AI-Generated Fake News&lt;/strong&gt;: AI can create hyper-realistic fake videos of politicians, damaging public trust in media and institutions.&lt;br&gt;🔻 &lt;strong&gt;AI-Powered Propaganda Machines&lt;/strong&gt;: AI can micro-target voters with personalized disinformation, influencing elections at an unprecedented scale.&lt;br&gt;🔻 &lt;strong&gt;Social Media Manipulation&lt;/strong&gt;: AI-driven bots can flood online spaces with fake public opinions, drowning out real discourse.&lt;/p&gt;
&lt;p&gt;❌ &lt;strong&gt;Potential Risks:&lt;/strong&gt; Political polarization, loss of trust in journalism, and increased election interference.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;B-AI-amp-Mass-Surveillance-A-Path-to-Digital-Authoritarianism&#34;&gt;&lt;a href=&#34;#B-AI-amp-Mass-Surveillance-A-Path-to-Digital-Authoritarianism&#34; class=&#34;headerlink&#34; title=&#34;B. AI &amp;amp; Mass Surveillance: A Path to Digital Authoritarianism&#34;&gt;&lt;/a&gt;&lt;strong&gt;B. AI &amp;amp; Mass Surveillance: A Path to Digital Authoritarianism&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔻 &lt;strong&gt;Predictive Policing &amp;amp; Social Credit Systems&lt;/strong&gt;: Governments may use AI to monitor and control citizens, punishing “undesirable” behavior.&lt;br&gt;🔻 &lt;strong&gt;AI-Enabled Mass Surveillance&lt;/strong&gt;: AI can analyze vast amounts of surveillance data, allowing governments to track political dissidents.&lt;br&gt;🔻 &lt;strong&gt;Facial Recognition in Public Spaces&lt;/strong&gt;: Some governments already use AI-powered facial recognition to monitor citizens in real time.&lt;/p&gt;
&lt;p&gt;❌ &lt;strong&gt;Potential Risks:&lt;/strong&gt; Loss of privacy, suppression of political opposition, and erosion of civil liberties.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;C-AI-amp-Election-Manipulation&#34;&gt;&lt;a href=&#34;#C-AI-amp-Election-Manipulation&#34; class=&#34;headerlink&#34; title=&#34;C. AI &amp;amp; Election Manipulation&#34;&gt;&lt;/a&gt;&lt;strong&gt;C. AI &amp;amp; Election Manipulation&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔻 &lt;strong&gt;Automated Voter Suppression&lt;/strong&gt;: AI can predict voter behavior and be used to manipulate voter rolls or create barriers to voting.&lt;br&gt;🔻 &lt;strong&gt;AI-Powered Political Bots&lt;/strong&gt;: Political campaigns may use AI bots to flood social media with fake engagement to create false public opinion trends.&lt;br&gt;🔻 &lt;strong&gt;Algorithmic Bias in Political Advertising&lt;/strong&gt;: AI-driven political ads can selectively target and manipulate specific voter demographics.&lt;/p&gt;
&lt;p&gt;❌ &lt;strong&gt;Potential Risks:&lt;/strong&gt; Unfair elections, reduced voter trust, and increased influence of AI-powered propaganda.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;3-How-Democracies-Can-Respond-to-AI-Challenges&#34;&gt;&lt;a href=&#34;#3-How-Democracies-Can-Respond-to-AI-Challenges&#34; class=&#34;headerlink&#34; title=&#34;3. How Democracies Can Respond to AI Challenges&#34;&gt;&lt;/a&gt;&lt;strong&gt;3. How Democracies Can Respond to AI Challenges&lt;/strong&gt;&lt;/h2&gt;&lt;h3 id=&#34;A-Strengthening-AI-Regulations-for-Political-Use&#34;&gt;&lt;a href=&#34;#A-Strengthening-AI-Regulations-for-Political-Use&#34; class=&#34;headerlink&#34; title=&#34;A. Strengthening AI Regulations for Political Use&#34;&gt;&lt;/a&gt;&lt;strong&gt;A. Strengthening AI Regulations for Political Use&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;Ban AI-Generated Political Ads&lt;/strong&gt;: Prevent AI from creating misleading campaign materials.&lt;br&gt;🔹 &lt;strong&gt;Transparency Laws for AI-Generated Content&lt;/strong&gt;: Require platforms to label AI-generated media clearly.&lt;br&gt;🔹 &lt;strong&gt;Strict AI Election Monitoring&lt;/strong&gt;: Governments should use AI to detect and prevent election interference.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Outcome:&lt;/strong&gt; Protecting democracy from AI-driven misinformation and manipulation.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;B-Protecting-Privacy-amp-Preventing-AI-Enabled-Surveillance&#34;&gt;&lt;a href=&#34;#B-Protecting-Privacy-amp-Preventing-AI-Enabled-Surveillance&#34; class=&#34;headerlink&#34; title=&#34;B. Protecting Privacy &amp;amp; Preventing AI-Enabled Surveillance&#34;&gt;&lt;/a&gt;&lt;strong&gt;B. Protecting Privacy &amp;amp; Preventing AI-Enabled Surveillance&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;Strict Limits on Facial Recognition&lt;/strong&gt;: Require legal oversight for AI-powered surveillance systems.&lt;br&gt;🔹 &lt;strong&gt;Stronger Digital Rights Laws&lt;/strong&gt;: Ensure that individuals control their personal data.&lt;br&gt;🔹 &lt;strong&gt;AI Transparency in Law Enforcement&lt;/strong&gt;: Governments must justify the use of AI in policing and judicial decisions.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Outcome:&lt;/strong&gt; Preventing AI from enabling authoritarianism while maintaining security.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;C-Rebuilding-Public-Trust-in-Democracy&#34;&gt;&lt;a href=&#34;#C-Rebuilding-Public-Trust-in-Democracy&#34; class=&#34;headerlink&#34; title=&#34;C. Rebuilding Public Trust in Democracy&#34;&gt;&lt;/a&gt;&lt;strong&gt;C. Rebuilding Public Trust in Democracy&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;🔹 &lt;strong&gt;Public Oversight of AI in Government&lt;/strong&gt;: Citizen-led AI ethics councils to oversee government AI use.&lt;br&gt;🔹 &lt;strong&gt;Decentralized AI for Public Good&lt;/strong&gt;: Open-source, publicly owned AI models to prevent corporate monopolies.&lt;br&gt;🔹 &lt;strong&gt;Civic Education on AI Literacy&lt;/strong&gt;: Teaching people how to recognize AI-driven misinformation.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Outcome:&lt;/strong&gt; A stronger, more resilient democracy that incorporates AI without losing public trust.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;Final-Thoughts-AI’s-Double-Edged-Sword-in-Democracy&#34;&gt;&lt;a href=&#34;#Final-Thoughts-AI’s-Double-Edged-Sword-in-Democracy&#34; class=&#34;headerlink&#34; title=&#34;Final Thoughts: AI’s Double-Edged Sword in Democracy&#34;&gt;&lt;/a&gt;&lt;strong&gt;Final Thoughts: AI’s Double-Edged Sword in Democracy&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;AI has the power to &lt;strong&gt;either strengthen democracy or destroy it&lt;/strong&gt;, depending on how governments and societies regulate its use.&lt;/p&gt;
&lt;p&gt;👉 If AI is used &lt;strong&gt;transparently and ethically&lt;/strong&gt;, it can improve governance, increase civic engagement, and reduce corruption.&lt;br&gt;👉 If AI is &lt;strong&gt;left unchecked&lt;/strong&gt;, it can be weaponized for mass surveillance, election manipulation, and authoritarian control.&lt;/p&gt;
&lt;h3 id=&#34;What-Do-You-Think-1&#34;&gt;&lt;a href=&#34;#What-Do-You-Think-1&#34; class=&#34;headerlink&#34; title=&#34;What Do You Think?&#34;&gt;&lt;/a&gt;&lt;strong&gt;What Do You Think?&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Would you like to explore &lt;strong&gt;specific AI governance policies&lt;/strong&gt; or &lt;strong&gt;compare AI’s impact on democracy in different countries&lt;/strong&gt;?&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;i think that is enough for now. thank you&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;ChatGPT:&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;You’re-welcome-Glad-we-could-explore-this-together-If-you-ever-want-to-dive-deeper-into-any-aspect—whether-it’s-AI-policy-economic-impacts-or-historical-comparisons—just-let-me-know-Enjoy-the-rest-of-your-day-😊&#34;&gt;&lt;a href=&#34;#You’re-welcome-Glad-we-could-explore-this-together-If-you-ever-want-to-dive-deeper-into-any-aspect—whether-it’s-AI-policy-economic-impacts-or-historical-comparisons—just-let-me-know-Enjoy-the-rest-of-your-day-😊&#34; class=&#34;headerlink&#34; title=&#34;You’re welcome! Glad we could explore this together. If you ever want to dive deeper into any aspect—whether it’s AI policy, economic impacts, or historical comparisons—just let me know. Enjoy the rest of your day! 😊&#34;&gt;&lt;/a&gt;You’re welcome! Glad we could explore this together. If you ever want to dive deeper into any aspect—whether it’s AI policy, economic impacts, or historical comparisons—just let me know. Enjoy the rest of your day! 😊&lt;/h2&gt;</content>
        <category term="Rants" />
        <category term="AI" />
        <updated>2025-03-02T09:28:18.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/02/23/Fuck-Google/</id>
        <title>Fuck Google</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/02/23/Fuck-Google/"/>
        <content type="html">&lt;p&gt;Sorry for the potty mouth, but as it is my own blog I feel ok using such strong language to express my frustration with the latest thing broken by design on a software update, and is something I have been saying 10s or 100s of times a day when I use my recently upgraded phone…&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;Android 15 came out for my Pixel 7a quite a while ago but I did not install it for fear of it breaking the integration with my Pebble Watch and while I always install security updates right when they become available, I do not like major upgrades because tech companies always love to change and move things around just because they think they are smarter than everyone else and know what’s best.&lt;/p&gt;
&lt;p&gt;Well this time it did not break my Pebble integration, but because Google knows best they expropriated the long Home press to launch “Circle Search”.  That is fine I understand the bread and butter of Google is knowing everything about us to make their search business more lucrative, but what is not fine is not allowing a customization of what a long Home press does like was previously possible. &lt;/p&gt;
&lt;img src=&#34;/2025/02/23/Fuck-Google/fg_01.jpg&#34; class=&#34;&#34; title=&#34;Why oh why??&#34;&gt;

&lt;p&gt;I had a long Home press mapped to an app called &lt;a href=&#34;https://github.com/ligi/FAST&#34;&gt;FAST&lt;/a&gt; that is a quick app launcher.  This allows me to quickly launch any app and is really a convenient time saver.&lt;/p&gt;
&lt;p&gt;But now every time I do a long home press out of years of training it does nothing and I remember and say “Fuck Google”.&lt;/p&gt;
&lt;p&gt;For now the two workarounds I am testing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Power Button&lt;/strong&gt;: Settings -&amp;gt; System -&amp;gt; Gestures -&amp;gt; Press &amp;amp; hold power button&lt;ul&gt;
&lt;li&gt;problem here is that every night when i go to turn off my phone it launches Fast and does not ask me to turn off the phone and I say “Fuck Google” and have to open the phone, pull down the screen, hit the power button, and then say turn off.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quick Tap&lt;/strong&gt;: Settings -&amp;gt; System -&amp;gt; Gestures -&amp;gt; Quick Tap to start actions&lt;ul&gt;
&lt;li&gt;just found this this morning and testing with it.  Probably will stick with this&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And a quick search verifies I am not the only one upset with this change:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://issuetracker.google.com/issues/339395010&#34;&gt;Google Issue 33939510&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://support.google.com/pixelphone/thread/262332699/bring-back-hold-home-button-to-trigger-google-assistant-feature?hl=en#redirected=true&#34;&gt;Pixel Phone Help: Bring back hold home button to trigger Google Assistant feature&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update 14&amp;#x2F;08&amp;#x2F;2025&lt;/strong&gt;&lt;br&gt;My Pixel 7a’s battery blew out (literally began bulging so much it popped open the case) and when I went to request a repair I saw that they had known issues with the battery on the 7a and checked my serial number and it was confirmed it was affected.  There were three options: $200 to buy new phone, $300 credit to buy new Pixel, or have it repaired and send them the bill.  I opted for the $300 which converted to 360€ (thanks Trump for dumping the value of the almighty dollar!) and allowed me to buy a new Pixel 9a for a very reasonable 149€ that arrived yesterday!&lt;br&gt;Of course one of the first things I checked when I went to setup the new device was if there was any option to modify a long Home press to something other than “Circle Search”. But alas no, still no option to change.  So I checked &lt;a href=&#34;https://issuetracker.google.com/issues/339395010&#34;&gt;Google Issue 33939510&lt;/a&gt; and see that the issue was closed on Jul 9, 2025 03:44PM with this comment:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Status: Won’t Fix (Obsolete)&lt;br&gt;Thank you for your feedback. We are closing this request as won’t fix obsolete. If this request is still relevant in a current Android build, we request you to log a new request and reference this request for context.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;yea. That is unfortunate.&lt;/p&gt;
&lt;p&gt;So I spent a bit of time seeing if anyone since then has found another work around and this led me to testing with a couple automation applications:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://tasker.joaoapps.com/&#34;&gt;Tasker&lt;/a&gt;: oh this appears you could take over the world with this app if you spend the time to figure it out (might have to circle back at some point)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.macrodroid.com/&#34;&gt;Macrodroid&lt;/a&gt;: seems super easy and I was able to configure a swipe to launch &lt;a href=&#34;https://github.com/ligi/FAST&#34;&gt;FAST&lt;/a&gt;, but then all other gestures stopped working and kinda freaked me out so I deleted it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://server47.de/automation/&#34;&gt;Automation&lt;/a&gt;: an open source app that might have worked by creating a trigger to detect that Google Circle Search has been launched and having an action to launch &lt;a href=&#34;https://github.com/ligi/FAST&#34;&gt;FAST&lt;/a&gt; but when trying to use that trigger a notice pops up saying “Because of Google’s ininite wisdom, the last Android version this is known to work is 7” (yea, I am not the only one saying fuck google all the time)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;so for now I still have no way to easily launch &lt;a href=&#34;https://github.com/ligi/FAST&#34;&gt;FAST&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 14&amp;#x2F;08&amp;#x2F;2025&lt;/strong&gt;&lt;br&gt;I finally looped back around to Tasker and found &lt;a href=&#34;https://www.reddit.com/r/tasker/comments/1gl7h9u/how_to_use_tasker_and_autoinput_to_replace_circle/&#34;&gt;this post&lt;/a&gt; on Reddit with an exact recipe to program a long press on the home button to launch any app of your choosing!  The only problem is that Tasker is, ummmm, well, &lt;strong&gt;really&lt;/strong&gt; confusing and just trying to copy the recipe was not easy at all, and there are some differences in what I ended up with, that he posted, but it works!&lt;br&gt;In case I ever have to do that again here are screen captures and the steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install Tasker&lt;/li&gt;
&lt;li&gt;Install AutoInput&lt;/li&gt;
&lt;li&gt;In Tasker create a PROFILE like this:&lt;img src=&#34;/2025/02/23/Fuck-Google/fg_02.jpg&#34; class=&#34;&#34; title=&#34;PROFILE&#34;&gt;&lt;/li&gt;
&lt;li&gt;In Tasker create a TASK like this:&lt;img src=&#34;/2025/02/23/Fuck-Google/fg_03.jpg&#34; class=&#34;&#34; title=&#34;TASK&#34;&gt;
And it should work!&lt;br&gt;Oh joy!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2025-02-23T06:43:51.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/02/21/2024-YR4/</id>
        <title>2024 YR4</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/02/21/2024-YR4/"/>
        <content type="html">&lt;img src=&#34;/2025/02/21/2024-YR4/2024yr4_01.gif&#34; class=&#34;&#34; title=&#34;Ut ohhh&#34;&gt;

&lt;p&gt;&lt;strong&gt;Update 26&amp;#x2F;02&amp;#x2F;2025&lt;/strong&gt;: Impact probability for Earth has been dropped to 0.00005% (1 in 20,000)… no word on moon impact but it will be threading the needle between Earth and the Moon in 2023.&lt;/p&gt;
&lt;p&gt;Yesterday I &lt;a href=&#34;https://www.npr.org/2025/02/12/g-s1-48262/asteroids-tracking-near-earth-2024-yr4&#34;&gt;heard a story on NPR&lt;/a&gt; about a space rock named 2024 YR&lt;sub&gt;4&lt;/sub&gt; that had at the time of the story 2.1% chance (1 in 47) of hitting earth on December 22 2032.  That would be unfortunate, but let’s use this as a learning experience and explore!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Name&#34;&gt;&lt;a href=&#34;#Name&#34; class=&#34;headerlink&#34; title=&#34;Name&#34;&gt;&lt;/a&gt;Name&lt;/h2&gt;&lt;p&gt;Before anything where the heck did the name come from?&lt;br&gt;Well, it is actually a provisional designation that was given after its initial detection and later once more observations are made could change.  The name is given by the &lt;a href=&#34;https://www.minorplanetcenter.net/iau/mpc.html&#34;&gt;Minor Planet Center&lt;/a&gt; following these &lt;a href=&#34;https://www.minorplanetcenter.net/mpcops/documentation/provisional-designation-definition/&#34;&gt;nomenclature rules&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2025/02/21/2024-YR4/2024yr4_02.jpg&#34; class=&#34;&#34; title=&#34;wow. that is a bit complicated&#34;&gt;

&lt;h2 id=&#34;Size&#34;&gt;&lt;a href=&#34;#Size&#34; class=&#34;headerlink&#34; title=&#34;Size&#34;&gt;&lt;/a&gt;Size&lt;/h2&gt;&lt;p&gt;At this point the size of 2024 YR&lt;sub&gt;4&lt;/sub&gt; is estimated between 40 - 90 meters.  As more observations are made the size and probablity of impact will be refined, but the window for observing the astroid is closing fast as it is heading back out away from Earth and soon only the biggest telescopes will be able to see it.  Then we will have to wait until it returns again in 2028 on its 4 year orbit. To give an idea of its size compared to other meteors (asteroids that changed to meteors by smacking into Earth): the &lt;a href=&#34;https://en.wikipedia.org/wiki/Chelyabinsk_meteor&#34;&gt;2013 Chelyabinsk&lt;/a&gt; meteor was estimated to be 20 meters, the &lt;a href=&#34;https://en.wikipedia.org/wiki/Tunguska_event&#34;&gt;1908 Tunguska&lt;/a&gt; meteor was estimated at 40 meters, and the &lt;a href=&#34;https://en.wikipedia.org/wiki/Chicxulub_crater&#34;&gt;Chicxulub&lt;/a&gt; meteor(aka dino killing one) at 15 kilometers.   &lt;/p&gt;
&lt;img src=&#34;/2025/02/21/2024-YR4/2024yr4_03.jpg&#34; class=&#34;&#34; title=&#34;Size does matter&#34;&gt;

&lt;h2 id=&#34;Landing-zone-if-it-does-hit-Earth&#34;&gt;&lt;a href=&#34;#Landing-zone-if-it-does-hit-Earth&#34; class=&#34;headerlink&#34; title=&#34;Landing zone if it does hit Earth&#34;&gt;&lt;/a&gt;Landing zone if it does hit Earth&lt;/h2&gt;&lt;p&gt;On January 29th 2025 the &lt;a href=&#34;https://iawn.net/&#34;&gt;International Asteroid Warning Network (IWAN)&lt;/a&gt; issued a &lt;a href=&#34;https://iawn.net/documents/NOTIFICATIONS/IAWN_Potential_Impact_Notification_2024_YR4.pdf&#34;&gt;potential asteroid impact notification&lt;/a&gt; that estimated the landing strip:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Impact Risk Corridor: The impact risk corridor for 2024 YR&lt;sub&gt;4&lt;/sub&gt;, which is the region of Earth along which a potential impact could occur, extends across the eastern Pacific Ocean, northern South  America, the Atlantic Ocean, Africa, the Arabian Sea, and South Asia &lt;/p&gt;
&lt;/blockquote&gt;
&lt;img src=&#34;/2025/02/21/2024-YR4/2024yr4_04.jpg&#34; class=&#34;&#34; title=&#34;Image stolen from Wikipedia&#34;&gt;

&lt;p&gt;So even as I write this on 21&amp;#x2F;02&amp;#x2F;2025 I see that the chance of impacting Earth as already gone down to 1-in-280 (0.36%)! Good news! But wait what about our poor moon? We’ll just have to wait and see how this story develops! &lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.npr.org/2025/02/12/g-s1-48262/asteroids-tracking-near-earth-2024-yr4&#34;&gt;NPR Story that sent me down the rabbit hole&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://iawn.net/documents/NOTIFICATIONS/IAWN_Potential_Impact_Notification_2024_YR4.pdf&#34;&gt;INTERNATIONAL ASTEROID WARNING NETWORK (IAWN) POTENTIAL ASTEROID IMPACT NOTIFICATION&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/2024_YR4&#34;&gt;2024 YR&lt;sub&gt;4&lt;/sub&gt; Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Chelyabinsk_meteor&#34;&gt;2013 Chelyabinsk meteor&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Tunguska_event&#34;&gt;1908 Tunguska meteor&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Chicxulub_crater&#34;&gt;Chicxulub meteor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cneos.jpl.nasa.gov/sentry/torino_scale.html#:~:text=The%20Torino%20Scale%2C%20adopted%20by,a%20higher%20Torino%20Scale%20value&#34;&gt;Torino Impact Hazard Scale&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <updated>2025-02-21T15:06:33.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/02/14/Cercedilla-Field-Notes-Iberian-Magpie/</id>
        <title>Cercedilla Field Notes: Iberian Magpie</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/02/14/Cercedilla-Field-Notes-Iberian-Magpie/"/>
        <content type="html">&lt;img src=&#34;/2025/02/14/Cercedilla-Field-Notes-Iberian-Magpie/CFN_awm_01.jpg&#34; class=&#34;&#34; title=&#34;Cyanopica cooki)&#34;&gt;

&lt;p&gt;OMG.  I was an early arival party for a winter weekend in Cercedilla (our little house is not winter proof and we have determined best to only go when sunny) and I was sitting on the front porch enjoying the sun going down (and its warmth because inside the house is low 50s) and suddenly I saw three iberian magpies in a leafless tree enjoying the sun as well.  I pulled out my binoculars and was admiring them and suddenly there was one on every branch, then I realized there was a low hum of bird calls and there were like a 50 of them flying towards the setting sun!!!! Crazy cool!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;Since we have had a place in Cercedilla I have been admiring the iberian magpie (cyanopica cooki) because I have never seen any in Madrid and they seem more stand offish then the regular Magpie.  What I did not realize until this afternoon is that they tend to be in flocks where the regular Magpie that is quite common in Madrid is more a solitary bird. &lt;/p&gt;
&lt;p&gt;Here are some interesting things about this pretty bird:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Until recently it was thought to be the same species as the Azure-winged magpie that is found in East Asia.  This created a great debate on how it was possible that they were only found in such geographically separated areas, until genetic analysis was done solving the mystery: they are two different species! &lt;/li&gt;
&lt;li&gt;Other common names include Iberian azure-winged magpie, Cook’s azure-winged magpie, and Spanish azure-winged magpie&lt;/li&gt;
&lt;li&gt;Like other corvids (the crow family), these magpies are highly intelligent. They can solve simple problems, remember food hiding spots, and even show signs of planning their actions—skills seen in only a few bird species.&lt;/li&gt;
&lt;li&gt;Their long tail isn’t just for looks—it helps them make sharp turns and quick maneuvers while flying through dense forests. You might notice them doing impressive aerial chases when catching insects or evading predators.&lt;/li&gt;
&lt;li&gt;Often Iberian magpies find food as a family group or several groups making flocks of up to 70 birds. The largest groups congregate after the breeding season and throughout the winter months. &amp;lt;— this must be what I saw this evening!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Wikipedia: &lt;a href=&#34;https://en.wikipedia.org/wiki/Iberian_magpie&#34;&gt;Iberian Magpie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67af8ccf-8a7c-8005-a1c6-9709570f999b&#34;&gt;Converstation with ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Picture from &lt;strong&gt;Aves de España&lt;/strong&gt; ISBN 84-87334-26-1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-02-14T17:48:50.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/02/12/Pebble-Eric-s-call-to-action/</id>
        <title>Pebble Eric&#39;s call to action</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/02/12/Pebble-Eric-s-call-to-action/"/>
        <content type="html">&lt;p&gt;Last friday I had an email from &lt;a href=&#34;https://ericmigi.com/&#34;&gt;Eric Migicovsky&lt;/a&gt; (original founder of &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_(watch)&#34;&gt;Pebble&lt;/a&gt; and founder of the new &lt;a href=&#34;https://repebble.com/&#34;&gt;RePebble&lt;/a&gt; company announced in January) with an &lt;a href=&#34;https://ericmigi.com/blog/how-to-help-build-open-source-pebble-software&#34;&gt;update and a call to action&lt;/a&gt; while we wait for a new iteration of the beloved watches (hopefully in time before my &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_Time&#34;&gt;Pebble Time Steel&lt;/a&gt; passes away!).  The call to action had small, medium, and big projects and I spent my weekend on two small projects: (1) pulling all my old Pebbles out and trying to get them to work and (2) compiling a watch face.  Read on for the details!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Take-your-old-Pebble-out-of-the-drawer&#34;&gt;&lt;a href=&#34;#Take-your-old-Pebble-out-of-the-drawer&#34; class=&#34;headerlink&#34; title=&#34;Take your old Pebble out of the drawer&#34;&gt;&lt;/a&gt;Take your old Pebble out of the drawer&lt;/h2&gt;&lt;p&gt;I wear my &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_Time&#34;&gt;Pebble Time Steel&lt;/a&gt; daily, but I did find an original Pebble a couple months ago at a swap meet in &lt;a href=&#34;https://en.wikipedia.org/wiki/Navacerrada&#34;&gt;Navacerrada&lt;/a&gt; that I bought for a haggled down price of 5€:&lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_01.jpg&#34; class=&#34;&#34; title=&#34;Model 301BL&#34;&gt;

&lt;p&gt;Unfortunately the charging cable for the original pebble is different than the Pebble Time. I tried cutting the end off an old USB cable and sticking the red and black cable to the connectors but I did not have any luck and threw it in my closet as a future project… and Eric’s email nudged me into trying a bit harder and I was able to get it to boot!&lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_02.jpg&#34; class=&#34;&#34; title=&#34;It&#34; alt=&#34;s Alive!!!&#34;&gt;

&lt;p&gt;But the joy was short lived as it did not finish booting and gave me the sad pebble face:&lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_03.jpg&#34; class=&#34;&#34; title=&#34;Sad Pebble&#34;&gt;

&lt;p&gt;So a search of the internet lead me to all the &lt;a href=&#34;https://pebble-help-legacy.rebble.io/help.getpebble.com/customer/en/portal/topics/964778-error-codes/articles1c2c.html?b_id=14678&#34;&gt;Pebble error codes&lt;/a&gt;: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Error Codes fe504502, fe504503, and fe504504. These error codes indicate issues which can often be resolved by restarting the watch from recovery mode.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So duck tape to the rescue to hold the black and red wire against the connectors while I push and hold back, up and select &lt;a href=&#34;https://developer.rebble.io/developer.pebble.com/guides/events-and-services/buttons/index.html&#34;&gt;buttons&lt;/a&gt; all at the same time:&lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_04.jpg&#34; class=&#34;&#34; title=&#34;I think doing a Spock Vulcan pinch is easier than this!&#34;&gt;

&lt;p&gt;After multiple attempts and multiple re-adjustments of said duct tape I was able to get it started in the recovery mode, but alas it never finished and would reboot.  I then left the duct tape for a while, but it never held a charge, so if I was to get it work I would need a long USB cable always connected to it.  Or I could change the battery, but until I am able to get it to fully boot not worth going down that route. &lt;/p&gt;
&lt;p&gt;That was fun and inspired me to get pictures off all my Pebbles lined up like little sardines: &lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_05.jpg&#34; class=&#34;&#34; title=&#34;Cute little sardines&#34;&gt;

&lt;p&gt;Left to right:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;OG Pebble&lt;/strong&gt; model number 301 released 2013&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pebble Time&lt;/strong&gt; model number 501 released 2015&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pebble Time Steel&lt;/strong&gt; model number 511 released 2015&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Install-the-Pebble-SDK-build-an-app-and-run-it&#34;&gt;&lt;a href=&#34;#Install-the-Pebble-SDK-build-an-app-and-run-it&#34; class=&#34;headerlink&#34; title=&#34;Install the Pebble SDK, build an app and run it&#34;&gt;&lt;/a&gt;Install the Pebble SDK, build an app and run it&lt;/h2&gt;&lt;p&gt;The second small ask was  something that I had tried to do a few years back only to discover my my Mac where I had had the SDK (software development kit) installed had stopped working because Python at some point had been upgraded, and no amount of fighting was I able to get it to work again.  In moments like that is when you really want VM’s or even better a docker container with a static image that once you get to work you don’t change and just keep a copy of the image for when needed.  I tried without any luck to get a docker container to work at the time (surprisingly I was unable to find any of this activity documented) and gave up.  But in Eric’s email he gave a &lt;a href=&#34;https://rebble.io/hackathon-002/vm/&#34;&gt;link to a virtual machine with the SDK installed and working&lt;/a&gt;. Yea! Joy!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html&#34;&gt;VMware recently opened up the license on the VMWare Profession version to home users for free&lt;/a&gt;, so I decided to go that route and after some fighting got the VM to boot: &lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_06.jpg&#34; class=&#34;&#34; title=&#34;Nice guys at rebble!&#34;&gt;

&lt;p&gt;I then uploaded my FrankenWatch (discussed previously &lt;a href=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/&#34;&gt;here&lt;/a&gt;) source code to the VM and got compiling and it built on the first try!  I then sent it to my watch and it was installed on the first try!  OMG this is what I remember from back in 2016!  &lt;/p&gt;
&lt;img src=&#34;/2025/02/12/Pebble-Eric-s-call-to-action/pebble_action_07.jpg&#34; class=&#34;&#34; title=&#34;build and release!&#34;&gt;

&lt;h2 id=&#34;Where-to-go-from-here&#34;&gt;&lt;a href=&#34;#Where-to-go-from-here&#34; class=&#34;headerlink&#34; title=&#34;Where to go from here?&#34;&gt;&lt;/a&gt;Where to go from here?&lt;/h2&gt;&lt;p&gt;Well, now that I have a working development environment again for the Pebble I am not entirely clear where it will lead me.  Maybe I will clean up the source code and upload FrankenWatch to github, maybe I will make a new application, or more likely I will just keep the VM handy to use if some need arises!&lt;/p&gt;
&lt;p&gt;Thanks Eric for a great weekend!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Guide how to get a .vmdk disk image to work: &lt;a href=&#34;https://www.makeuseof.com/how-open-vmdk-file-virtualbox-vmware-workstation/&#34;&gt;How to Open a VMDK File in VirtualBox and VMWare Workstation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <category term="Pebble" />
        <updated>2025-02-12T19:41:12.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/01/31/Update-PiArcade/</id>
        <title>Update: PiArcade</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/01/31/Update-PiArcade/"/>
        <content type="html">&lt;p&gt;Today I added the post &lt;a href=&#34;/2020/08/21/Pi-Arcade/&#34;&gt;PiArcade&lt;/a&gt; taken from my Synology NoteStation note of the building of my &lt;a href=&#34;/2020/08/21/Pi-Arcade/&#34;&gt;PiArcade&lt;/a&gt; way back in 2020!&lt;br&gt;Check it out!&lt;/p&gt;
</content>
        <category term="Update" />
        <updated>2025-01-31T19:20:40.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/01/28/Update-Pebble/</id>
        <title>Update: Pebble</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/01/28/Update-Pebble/"/>
        <content type="html">&lt;p&gt;Today I updated &lt;a href=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/&#34;&gt;Pebble You’re Gonna Make Me Lonesome When You Go&lt;/a&gt; with some very good news!&lt;br&gt;See the bottom of the post for the update!&lt;/p&gt;
</content>
        <category term="Update" />
        <updated>2025-01-28T17:40:03.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/01/15/Holiday-Season-2024/</id>
        <title>Holiday Season 2024</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/01/15/Holiday-Season-2024/"/>
        <content type="html">&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_01.jpg&#34; class=&#34;&#34; title=&#34;That was a nice tree&#34;&gt;
&lt;p&gt;So once again I have my shorn my rented tree of its pretty adornments and sparkily lights awaiting the nice university students from the Forestry School to pick it up and as always it seems too soon.  But I complain too much as we get a full extra week here in Spain thanks to the blessed kings who arrive on Jan 6th, so I was able to resist this moment until a full halfway through January and enough complaining and lets review how the silly season went!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;City-Lights&#34;&gt;&lt;a href=&#34;#City-Lights&#34; class=&#34;headerlink&#34; title=&#34;City Lights&#34;&gt;&lt;/a&gt;City Lights&lt;/h2&gt;&lt;p&gt;This year Thanksgiving fell so late everything got off to a rather late start, and both my main partner and crime and I were so tied up in the Uni and work that we were not able to see the city lights on the their first night being lit (Thursday 28th).  As we did a staycation here in Madrid and did not head to the north as in past years we discussed doing a drive around downtown to see the lights, but this plan never materialized.  But I did see pretty lights, on one excursion to downtown we saw pretty lights in the Retiro and went in and checked them out (first two pictures) and then on our New Years celebration at the Casino de Madrid on Gran Via (third picture)&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_02.jpg&#34; class=&#34;&#34; title=&#34;Pretty Lights&#34;&gt;

&lt;h2 id=&#34;Tree&#34;&gt;&lt;a href=&#34;#Tree&#34; class=&#34;headerlink&#34; title=&#34;Tree&#34;&gt;&lt;/a&gt;Tree&lt;/h2&gt;&lt;p&gt;The earliest that Barbara (partner in christmas crime) and I were able to meet at the Forestry School in the &lt;a href=&#34;https://es.wikipedia.org/wiki/Ciudad_Universitaria_de_Madrid&#34;&gt;Cuidad Universidad&lt;/a&gt; was Wednesday December 4th.  I arrived before Barbara and did a location scouting and found the perfect tree:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_03.jpg&#34; class=&#34;&#34; title=&#34;Good thing we did not have the cash for his beauty&#34;&gt;

&lt;p&gt;But once again as always, economic realties always ruin all best laid plans: I had neither enough cash for the beauty nor the house with vaulted ceilings for it. Fortunately Barbara arrived shortly after and found and absolute beauty for plan b:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_04.jpg&#34; class=&#34;&#34; title=&#34;Nice!&#34;&gt;

&lt;p&gt;As always, in the lot it seemed a lot smaller than in our doll house living room but it was just perfect:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_05.jpg&#34; class=&#34;&#34; title=&#34;So pretty!&#34;&gt;


&lt;h2 id=&#34;Advent-Calendar&#34;&gt;&lt;a href=&#34;#Advent-Calendar&#34; class=&#34;headerlink&#34; title=&#34;Advent Calendar&#34;&gt;&lt;/a&gt;Advent Calendar&lt;/h2&gt;&lt;p&gt;As is the tradition I did an advent calendar with the only differation this year is that half the days were for our house and the the other half for my other daughter and mother-in-law who live close by.  The determination of where it was to go was written on the back.&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_06.jpg&#34; class=&#34;&#34; title=&#34;Advent Calendar&#34;&gt;

&lt;h2 id=&#34;Baking&#34;&gt;&lt;a href=&#34;#Baking&#34; class=&#34;headerlink&#34; title=&#34;Baking&#34;&gt;&lt;/a&gt;Baking&lt;/h2&gt;&lt;p&gt;This year I came out of the gate strong making a new recipe of &lt;a href=&#34;https://www.washingtonpost.com/recipes/pfeffernusse/&#34;&gt;Pfeffernusse&lt;/a&gt; cookies early in season from a &lt;a href=&#34;https://www.washingtonpost.com/food/interactive/2024/holiday-cookie-recipes-baking-christmas&#34;&gt;Washington Post article&lt;/a&gt; that a cousin sent over:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_07.jpg&#34; class=&#34;&#34; title=&#34;Pfeffernusse&#34;&gt;

&lt;p&gt;And I even made a batch of iced butter cookies that I took to work:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_08.jpg&#34; class=&#34;&#34; title=&#34;Butter Cookies&#34;&gt;

&lt;p&gt;but I never made multiple batches of different ones cookie bake style to share with neighbor and friends.  Oh well, there is always next year!&lt;/p&gt;
&lt;p&gt;I did make multiple kings cakes which being my wife’s favorite are very gratifying to make:&lt;/p&gt;
&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_09.jpg&#34; class=&#34;&#34; title=&#34;Roscone&#34;&gt;

&lt;h2 id=&#34;Movies&#34;&gt;&lt;a href=&#34;#Movies&#34; class=&#34;headerlink&#34; title=&#34;Movies&#34;&gt;&lt;/a&gt;Movies&lt;/h2&gt;&lt;p&gt;This year we did not see Christmas Vacation! OMG. But we did see a new move that was equaly silly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deck the Halls&lt;/li&gt;
&lt;li&gt;Planes, Trains and Automobiles&lt;/li&gt;
&lt;li&gt;How the Grinch Stole Christmas&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;New-Traditions&#34;&gt;&lt;a href=&#34;#New-Traditions&#34; class=&#34;headerlink&#34; title=&#34;New Traditions?&#34;&gt;&lt;/a&gt;New Traditions?&lt;/h2&gt;&lt;p&gt;This year there were two new things that not sure if they will become traditions or not:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Arcade competition:&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_10.jpg&#34; class=&#34;&#34; title=&#34;Arcade Challenge&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://es.wikipedia.org/wiki/Gilda_(pincho)&#34;&gt;Gilda&lt;/a&gt; competition:&lt;img src=&#34;/2025/01/15/Holiday-Season-2024/h2024_11.jpg&#34; class=&#34;&#34; title=&#34;Gilda Challenge&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Closing-Thoughts&#34;&gt;&lt;a href=&#34;#Closing-Thoughts&#34; class=&#34;headerlink&#34; title=&#34;Closing Thoughts&#34;&gt;&lt;/a&gt;Closing Thoughts&lt;/h2&gt;&lt;p&gt;And so this was my second post Holidays blues post.  Once again I can’t wait until the next silly season!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SillySeason" />
        <updated>2025-01-15T17:10:29.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/</id>
        <title>Cercedilla Field Notes: The Seven Peaks</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/"/>
        <content type="html">&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_01.gif&#34; class=&#34;&#34; title=&#34;The Seven Peaks&#34;&gt;

&lt;p&gt;If the first field note was about the iconic red trees in Cercedilla, the second of course has to be about the iconic background of Cercedilla: the seven peaks (&lt;a href=&#34;https://es.wikipedia.org/wiki/Siete_Picos&#34;&gt;Siete Picos&lt;/a&gt;) that are visible from most parts of the town (providing they are not clouded in).  &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;On my 2021 Solstice Vacation I and my trusty companion Leia tried to  hike the seven peaks and here are my notes from the adventure:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Kinda low visibility at the peaks, and then it got very complicated hiking:&lt;/em&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_02.jpg&#34; class=&#34;&#34; title=&#34;King of the Peaks&#34;&gt;

&lt;p&gt;&lt;em&gt;Not sure if i lost the trail due to the fog, but it was NOT easy going and not a hike for the whole family. Fortunately Leia is 4x4 and had no problems, but I decided to abort and head straight down to what I thought was (and fortunately was a trail) to the Schmidt trail cutting off a couple kilometres, and getting out of the clouds. Unfortunately it was pretty steep going:&lt;/em&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_03.jpg&#34; class=&#34;&#34; title=&#34;Oh man&#34;&gt;
&lt;p&gt;&lt;em&gt;We shed 318 meters in 300m of distance, which as near as i can figure is pretty much a meter decent per meter walked…my knees wept with joy when we got to the Schmidt trail:&lt;/em&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_04.jpg&#34; class=&#34;&#34; title=&#34;Blessed Schmidt&#34;&gt;
&lt;p&gt;&lt;em&gt;and from there out it was beautiful views and easy going:&lt;/em&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_05.jpg&#34; class=&#34;&#34; title=&#34;Nice&#34;&gt;

&lt;p&gt;&lt;em&gt;All in all a great hike, especially because it reminded me even though we are just 40 minutes out of Madrid, you have to respect the power of nature and always be safe…&lt;/em&gt;&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_06.jpg&#34; class=&#34;&#34; title=&#34;Abort&#34;&gt;

&lt;p&gt;Now that I spend more time in Cercedilla I have a much larger appreciation as to what the Seven Peeks are and I am looking forward to a second attempt, but will make sure to do so on a day with better climactic conditions.&lt;/p&gt;
&lt;h3 id=&#34;Update-23-x2F-06-x2F-2026-a-second-attempt-with-my-trusty-companion-Leia&#34;&gt;&lt;a href=&#34;#Update-23-x2F-06-x2F-2026-a-second-attempt-with-my-trusty-companion-Leia&#34; class=&#34;headerlink&#34; title=&#34;Update 23&amp;#x2F;06&amp;#x2F;2026: a second attempt with my trusty companion Leia&#34;&gt;&lt;/a&gt;Update 23&amp;#x2F;06&amp;#x2F;2026: a second attempt with my trusty companion Leia&lt;/h3&gt;&lt;p&gt;Five years later, and now with a much better appreciation of the Siete Picos as I see them daily when in Cercedilla, Leia and I made our second assault during the 2026 Solstice vacations and this time we made it!&lt;br&gt;Leia with her eye on the objective as we left the cabin:&lt;br&gt;    &lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_15.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Steady girl&#34;&gt;&lt;/p&gt;
&lt;p&gt;This time we were suffering a really rough heat wave and even at Puerto de Navacerrada at 07:19 it was 21º (on other Solstice excursions on sunny days it had been 10º first thing in the morning):&lt;br&gt;    &lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_11.jpg&#34; class=&#34;&#34; width=&#34;400&#34; title=&#34;Already hot&#34;&gt;&lt;br&gt;We hiked the peaks in reverse order than I have been presenting them here and we never actually climbed to the actual peak peak, as that would require rock climbing skills and although the billy goat dog companion was probably up for it, I am too risk adverse so we just took a pic in front of each one:&lt;br&gt;    &lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_12.jpg&#34; class=&#34;&#34; title=&#34;Wooooohoooooo!&#34;&gt;&lt;br&gt;For the way back there were two options:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Below the 7 peeks where it is supper step with little shade&lt;/li&gt;
&lt;li&gt;On the other side of the mountain on the beloved savior from the previous expedition, the Camino Schmidt, with lots of shade from large &lt;a href=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/&#34;&gt;European red pines&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Given the aforementioned heat wave we and previously mention risk aversion, we opted for 2 and had a wonderful hike back identifying 3 new butterflies that you can see &lt;a href=&#34;(/2025/07/13/Cercedilla-Field-Notes-Butterflies/&#34;&gt;here&lt;/a&gt;.  Here is the final &lt;a href=&#34;https://www.wikiloc.com/hiking-trails/2026-06-23-siete-picos-second-attempt-270789526&#34;&gt;trail&lt;/a&gt;:&lt;br&gt;        &lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_13.jpg&#34; class=&#34;&#34; title=&#34;TracksS&#34;&gt;&lt;/p&gt;
&lt;p&gt;If you first don’t succeed try and try again:&lt;/p&gt;
&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_14.jpg&#34; class=&#34;&#34; width=&#34;300&#34; title=&#34;Good job!&#34;&gt;

&lt;h3 id=&#34;Stats&#34;&gt;&lt;a href=&#34;#Stats&#34; class=&#34;headerlink&#34; title=&#34;Stats:&#34;&gt;&lt;/a&gt;Stats:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Height of each peak (right to left looking from Cercedilla&lt;/strong&gt;: &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1&lt;sup&gt;st&lt;/sup&gt;:&lt;/strong&gt; 1934 m (6,345 ft) (Majalasna Peak)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2&lt;sup&gt;nd&lt;/sup&gt;:&lt;/strong&gt; 2093 m (6,866 ft)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3&lt;sup&gt;rd&lt;/sup&gt;:&lt;/strong&gt; 2097 m (6,879 ft)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; 2097 m (6,879 ft)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; 2109 m (6,919 ft)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; 2121 m (6,958 ft)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;7&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; 2138 m (7,014 ft) (Somontano Peak)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distance from first to last as crow flies&lt;/strong&gt;: 1.63 km (1 mile)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Other-Facts&#34;&gt;&lt;a href=&#34;#Other-Facts&#34; class=&#34;headerlink&#34; title=&#34;Other Facts:&#34;&gt;&lt;/a&gt;Other Facts:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;The peaks are granite&lt;/li&gt;
&lt;li&gt;They were named by the geographer Juan López (1859–1936) who named the peaks after mountaineers who traversed the area. He always referred to them as Six Peaks (Seis Picos) since he did not include Majalasna Peak as part of the same set. These names have fallen into complete oblivion:&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1&lt;sup&gt;st&lt;/sup&gt;:&lt;/strong&gt; Tomás López Peak (Cartographer of King Charles III) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2&lt;sup&gt;nd&lt;/sup&gt;:&lt;/strong&gt; Benito López Peak (Cartographer)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3&lt;sup&gt;rd&lt;/sup&gt;:&lt;/strong&gt; Francisco López Peak (Geographer)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;4&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; Nemesio López Peak (Court Physician)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; Juan López Peak (Geographer Engineer)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6&lt;sup&gt;th&lt;/sup&gt;:&lt;/strong&gt; Nemesio López Peak (Geographer and Meteorologist)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Every September since 2016 the town of Cercedilla organizes the “Siete Picos Integral Hike of the Sierra” (Siete Picos Integral Caminata de La Sierra) in commemoration of the &lt;a href=&#34;https://www.barrabes.com/blog/1916_2016-100-anos-1-carrera-guadarrama/a-8702&#34;&gt;first documented race in the local mountains&lt;/a&gt; which took place on October 1, 1916, had 15 participants, and had a route from Cercedilla to the peaks of Siete Picos and back.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;More-pictures&#34;&gt;&lt;a href=&#34;#More-pictures&#34; class=&#34;headerlink&#34; title=&#34;More pictures&#34;&gt;&lt;/a&gt;More pictures&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sunny Fall day&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_07.jpg&#34; class=&#34;&#34; title=&#34;Fall&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sunny Winter day&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_08.jpg&#34; class=&#34;&#34; title=&#34;Winter&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sunny Spring day&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_09.jpg&#34; class=&#34;&#34; title=&#34;Winter&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sunny Summer day&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_10.jpg&#34; class=&#34;&#34; title=&#34;Winter&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the bull ring during a bull fight&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_16.jpg&#34; class=&#34;&#34; title=&#34;Bull Fight&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the bull ring during a &lt;a href=&#34;https://en.wikipedia.org/wiki/Saint_John%27s_Eve&#34;&gt;noche de San Juan&lt;/a&gt;&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_17.jpg&#34; class=&#34;&#34; title=&#34;Noche de San Juan&#34;&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the Cercedilla recycling center&lt;/strong&gt;:&lt;img src=&#34;/2025/01/11/Cercedilla-Field-Notes-The-Seven-Peaks/CFN_sp_18.jpg&#34; class=&#34;&#34; title=&#34;Even the dump has nice views in Cercedilla&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2025-01-11T17:31:23.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/12/29/PowKiddy-Delight/</id>
        <title>PowKiddy Delight</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/12/29/PowKiddy-Delight/"/>
        <content type="html">&lt;img src=&#34;/2024/12/29/PowKiddy-Delight/pk_05.jpg&#34; class=&#34;&#34; title=&#34;PacMan!&#34;&gt;

&lt;p&gt;Sweet baby Jesus did not bring me my &lt;a href=&#34;https://powkiddy.com/&#34;&gt;Powkiddy&lt;/a&gt; &lt;a href=&#34;https://powkiddy.com/products/powkiddy-x55-5-5-inch-1280-720-ips-screen-rk3566-handheld-game-console-jelos-system-open-source-retro-console-childrens-gifts&#34;&gt;X55&lt;/a&gt; for Christmas, but rather it was a self gift after Julio told me about his and introduced me to the world inexpensive of handheld console emulators.  He pointed me to &lt;a href=&#34;https://youtu.be/7sBY69O30FU?si=6_uivzx5qd2KVaze&#34;&gt;this you tube video (in spanish)&lt;/a&gt; that covers all the options available from 0-20 euros (!) that have form factors similar to the original Nintendo Gameboy up to devices that compete with Steam’s handheld consoles (400€ - 1000€).  Let me repeat that: devices less than 20€.  A hamburger, frys and a drink in most of the hamburger joints in Madrid will set you back more!  So just out of absolute curiosity I had to get one experience this first hand.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;After watching the afore mentioned introduction video I had to ask Julio to bring his device to work to actually touch it and see the quality of the device, and after touching it and playing with it, it was a matter of hours until I had made a purchase. It is possible to buy these on Ali Express, Amazon, and other sites, but I felt better to go directly to the source and Powkiddy had shipping in Europe (don’t get me started on my problems receiving gifts from the USA from well wishing family members).&lt;/p&gt;
&lt;p&gt;So on Thursday December 19th I placed an order for a Powkiddy Model number X55 for a final price of 78.64 €.  This price included the X55, 32GB Expansion card (preloaded with games), shipping, and taxes.  The X55 is capable of emulating many different systems (the ones with a “*” may not be able to play all roms at full speed):&lt;/p&gt;
&lt;img src=&#34;/2024/12/29/PowKiddy-Delight/pk_04.jpg&#34; class=&#34;&#34; title=&#34;Wow!&#34;&gt;

&lt;p&gt;On Saturday December 28th the X55 arrived.  In the end it had been sent from China and made the long trip and run through customs in 7 days (I had thought they would dispatch from Europe to avoid problems):&lt;/p&gt;
&lt;img src=&#34;/2024/12/29/PowKiddy-Delight/pk_01.jpg&#34; class=&#34;&#34; title=&#34;Shipping&#34;&gt;

&lt;p&gt;The packaging was interesting as I think someone probably spent more time wrapping tape around the box than the whole process of building the device:&lt;/p&gt;
&lt;img src=&#34;/2024/12/29/PowKiddy-Delight/pk_02.jpg&#34; class=&#34;&#34; title=&#34;Packaging&#34;&gt;

&lt;p&gt; The quality of the physical device is just incredible and and the user experience is just over the top. As I explore more I realize this is due to an amazing collection of different groups each contributing to make retro gaming possible, starting with the operating system &lt;a href=&#34;https://github.com/JustEnoughLinuxOS/distribution&#34;&gt;JELOS (Just Enough Linux)&lt;/a&gt; that has now morphed into &lt;a href=&#34;https://github.com/ROCKNIX/distribution&#34;&gt;ROCKNIX (Rockchip Linux Gaming Operating System)&lt;/a&gt;.&lt;/p&gt;
 &lt;img src=&#34;/2024/12/29/PowKiddy-Delight/pk_03.jpg&#34; class=&#34;&#34; title=&#34;The Goods&#34;&gt;

&lt;p&gt;The 32GB Expansion card ordered has more than enough games from different eras to get me started and a pleasant Saturday afternoon was spent just checking out the different Amiga games included (ever since I visited my elementary school friend Doug in the late 80’s and he showed off his Amiga I have had an obsession that never has been fulfilled until now).&lt;/p&gt;
&lt;p&gt;And I have begun exploring the other options as I noticed the expansion card had little to no Sega games and especially no Sonic the Hedgehog, and to be expected I have found lots of additional stuff out there which will result in lots of time investigating and testing.  And in the end, that is what I have always done with video games, spent more time getting them to work their best than actually really playing them!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://youtu.be/7sBY69O30FU?si=6_uivzx5qd2KVaze&#34;&gt;You Tube video (in spanish) covering all the price point options of handheld emulators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://powkiddy.com/&#34;&gt;Powkiddy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://retrogamecorps.com/2023/07/05/powkiddy-x55-starter-guide/&#34;&gt;X55 Starter Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://archive.org/details/retro-roms-best-set&#34;&gt;Retro-Roms-Best-Set&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://win32diskimager.org/&#34;&gt;Win32 Disk Imager&lt;/a&gt; was not able to make a backup of the boot MicroSD card because it did not have a drive letter, but &lt;a href=&#34;https://hddguru.com/software/HDD-Raw-Copy-Tool/&#34;&gt;HDD Raw Copy Tool&lt;/a&gt; had no problem&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gist.github.com/milnak/dc344be6a204583a31d5cec35ff2c7e9&#34;&gt;JELOS Beginner’s Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.oldgames.sk/codewheel/&#34;&gt;Interactive Code Wheels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="RetroGaming" />
        <category term="TechToys" />
        <updated>2024-12-29T16:59:16.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/12/13/Post-Climate-Change-Debate-Investigations/</id>
        <title>Post Climate Change Debate Investigations</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/12/13/Post-Climate-Change-Debate-Investigations/"/>
        <content type="html">&lt;p&gt;This week I had the luck to participate in a debate about climate change at work.  For me it was a forum to promote the first of the “three R’s” (reuse) that &lt;a href=&#34;https://www.youtube.com/watch?v=U6IbRSRe8MQ&#34;&gt;Jack Johnson introduced to me&lt;/a&gt; but there were other ideas, and a lively debate was had!  As one would hope, the collateral effect of getting together and exchanging and exploring new ideas is that interesting lines of exploration are raised to help clarify certain ideas.  So read more for two doubts I had post debate and my investigations into them!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Investigation-1-is-it-really-possible-that-Diego’s-trip-to-NY-increased-his-C02-footprint-by-2-tons&#34;&gt;&lt;a href=&#34;#Investigation-1-is-it-really-possible-that-Diego’s-trip-to-NY-increased-his-C02-footprint-by-2-tons&#34; class=&#34;headerlink&#34; title=&#34;Investigation 1: is it really possible that Diego’s trip to NY increased his C02 footprint by 2 tons?&#34;&gt;&lt;/a&gt;Investigation 1: is it really possible that Diego’s trip to NY increased his C02 footprint by 2 tons?&lt;/h2&gt;&lt;p&gt;In the debate it was presented that to meet the target of the Paris Agreement each person should reduce their C02 to about 2 tons per year by 2030 and that one of our moderators, Diego, had made multiple long distance plane trips this year and just one of them (a trip to NY) had generated 2 tons and we joked that he had used his allowance for the foreseeable future.  This got me wondering if this data point was at all possible because to generate 2 tons of C02 a plane would have to be caring LOTS of tons of fuel, because although I am not a chemist, I do remember the &lt;a href=&#34;https://en.wikipedia.org/wiki/Conservation_of_mass&#34;&gt;law of conservation of mass&lt;/a&gt; that states the output cannot exceed the mass of the input.  &lt;/p&gt;
&lt;p&gt;So how much fuel can a plane really hold?&lt;/p&gt;
&lt;p&gt;Well, for this I did multiple searches on google without getting anywhere, so I decided to go to &lt;a href=&#34;https://chatgpt.com/share/675c7de0-3c04-8005-ad15-5216a9982192&#34;&gt;ChatGPT&lt;/a&gt; and of course this was cake work for it (or is that him or her? woooohhooo nelly that is a whole other debate!) and I quickly had answers that although I did not have its sources to verify the information, I did perform double checks afterwards with additional google searches and it appears pretty spot on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The MAD-JFK route &lt;a href=&#34;https://es.flightaware.com/live/flight/IBE4001&#34;&gt;appears to use a Boeing 787-8&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Distance: 5,800 km&lt;/li&gt;
&lt;li&gt;Estimated fuel required: 67,373 liters&lt;/li&gt;
&lt;li&gt;Weight of jet fuel: 0.8 kg per liter&lt;/li&gt;
&lt;li&gt;Total fuel weight &amp;#x3D; 67,373 × 0.8 &amp;#x3D; 53,898 kg (53.9 metric tons).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So at least we confirm that the plane has LOTS more weight in fuel than I had anticipated.  But if the Boeing 787-8 has a capacity of 242 passengers, why would poor Diego be responsible for 2 tons of the 54 tons?  That must mean that the trip generated a whole lot more than 54 tons of CO₂??&lt;br&gt;Let me ask:&lt;/p&gt;
&lt;img src=&#34;/2024/12/13/Post-Climate-Change-Debate-Investigations/debate_01.jpg&#34; class=&#34;&#34; title=&#34;GPT question&#34;&gt;

&lt;p&gt;Waitaminute now! What about the &lt;a href=&#34;https://en.wikipedia.org/wiki/Conservation_of_mass&#34;&gt;law of conservation of mass&lt;/a&gt;??? Well, my little buddy ChatGPT also educated me on that:  when the fuel is burned it is combined with oxygen, so that adds to the final output and burning 1 kg of fuel can generate 3.16 kg of CO₂!  So our 53,898 kg of jet fuel would generate approximately 170,299 kg of CO₂. And if we divide that by each of the 220 passengers, each would be responsible for 774 kg of CO₂ or 1.5 tons round trip. &lt;/p&gt;
&lt;p&gt;So was wrong on my gut instinct that Diego really generated so much C02 with is NY trip!&lt;/p&gt;
&lt;h2 id=&#34;Investigation-2-Does-forcing-me-to-replace-my-old-VW-car-really-make-sense-from-a-CO₂-point-of-view&#34;&gt;&lt;a href=&#34;#Investigation-2-Does-forcing-me-to-replace-my-old-VW-car-really-make-sense-from-a-CO₂-point-of-view&#34; class=&#34;headerlink&#34; title=&#34;Investigation 2: Does forcing me to replace my old VW car really make sense from a CO₂ point of view?&#34;&gt;&lt;/a&gt;Investigation 2: Does forcing me to replace my old VW car really make sense from a CO₂ point of view?&lt;/h2&gt;&lt;p&gt;At the end of this year (18 days from when I am writing this) my VW car will no longer be allowed to drive in Madrid because it is a car that has no environmental classification sticker (&lt;a href=&#34;https://www.dgt.es/nuestros-servicios/tu-vehiculo/tus-vehiculos/distintivo-ambiental/&#34;&gt;distintivo ambiental&lt;/a&gt;) because it is a diesel car made before 2006.&lt;br&gt;This means I will have to break the first R (reduce) and buy a new car. But waitaminute!  Is is possible that throwing my old car out could possibly generate less C02 if we were to take into consideration the entire lifecycle including all the CO₂ needed just to make a car?&lt;/p&gt;
&lt;p&gt;Let’s have another &lt;a href=&#34;https://chatgpt.com/share/675c7de0-3c04-8005-ad15-5216a9982192&#34;&gt;conversation with my little buddy chatGPT&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How much C02 is needed to make a new car?&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2024/12/13/Post-Climate-Change-Debate-Investigations/debate_02.jpg&#34; class=&#34;&#34; title=&#34;How much CO₂ to make a car?&#34;&gt;

&lt;p&gt;&lt;strong&gt;Ok how much C02 does my poor &lt;em&gt;old&lt;/em&gt; VW generate for each km driven?&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2024/12/13/Post-Climate-Change-Debate-Investigations/debate_03.jpg&#34; class=&#34;&#34; title=&#34;How much C02 per km?&#34;&gt;

&lt;p&gt;&lt;strong&gt;And now, drum roll, if I drove 7,404 km last year when will I reach the “break even” on CO₂ emissions be reached when replacing my current car with a new one?&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2024/12/13/Post-Climate-Change-Debate-Investigations/debate_04.jpg&#34; class=&#34;&#34; title=&#34;Break even?&#34;&gt;

&lt;p&gt;Yea. just what I thought. Jack was right: the most important of the the three R’s is reduce, and throwing out perfectly good cars makes no sense. &lt;/p&gt;
&lt;h2 id=&#34;Update&#34;&gt;&lt;a href=&#34;#Update&#34; class=&#34;headerlink&#34; title=&#34;Update!!!!!&#34;&gt;&lt;/a&gt;Update!!!!!&lt;/h2&gt;&lt;p&gt;While searching for details about environmental classification sticker (&lt;a href=&#34;https://www.dgt.es/nuestros-servicios/tu-vehiculo/tus-vehiculos/distintivo-ambiental/&#34;&gt;distintivo ambiental&lt;/a&gt;) I have found &lt;a href=&#34;https://www.coches.net/noticias/coches-sin-etiqueta-zbe-madrid#:~:text=Los%20coches%20sin%20etiqueta%20empadronados,31%20de%20diciembre%20de%202025.&#34;&gt;breaking news&lt;/a&gt; just published as I write this that I might be able to use my car through 2025!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/675c7de0-3c04-8005-ad15-5216a9982192&#34;&gt;ChatGPT conversation about flight from MAD to JFK CO₂&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/675c844a-e9c4-8005-be52-4a1c594f99cd&#34;&gt;ChatGPT conversation about when throwing out my car would be break even&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://grupo.iberia.com/sustainability/co2_calculator&#34;&gt;Iberia’s CO₂ flight calculator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://es.flightaware.com/live/flight/IBE4001&#34;&gt;Where I found type of plane that Iberia uses from MAD - JFK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <category term="Rants" />
        <updated>2024-12-13T18:06:07.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/11/16/Sailfish-OS/</id>
        <title>Sailfish OS</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/11/16/Sailfish-OS/"/>
        <content type="html">&lt;img src=&#34;/2024/11/16/Sailfish-OS/sf_01.jpg&#34; class=&#34;&#34; title=&#34;Sailfish OS in action&#34;&gt;

&lt;p&gt;This week I had the opportunity to explore a new mobile device operating system, &lt;a href=&#34;https://en.wikipedia.org/wiki/Sailfish_OS&#34;&gt;Sailfish OS&lt;/a&gt;, something that does not happen every day, so it was a special week!  &lt;/p&gt;
&lt;p&gt;Here is snapshot of my mobile OS journey up until now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Palm_OS&#34;&gt;Palm OS&lt;/a&gt;: 1999-2006&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Windows_Embedded_Compact&#34;&gt;Windows CE&lt;/a&gt;: 2007&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/IOS&#34;&gt;iPhone OS (later changed name to iOS)&lt;/a&gt;: 2008 - 2015 &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Android_(operating_system&#34;&gt;Android&lt;/a&gt;: 2015 - Current primary device&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Sailfish_OS&#34;&gt;Sailfish OS&lt;/a&gt;: November 12th 2024&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So read on for what drew me to Sailfish OS, how the installation process went, and my first impressions after a week of use!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Why&#34;&gt;&lt;a href=&#34;#Why&#34; class=&#34;headerlink&#34; title=&#34;Why&#34;&gt;&lt;/a&gt;Why&lt;/h2&gt;&lt;p&gt;I have been eyeing Sailfish for a while now as an alternative to Android, but have always realized it would be tough to have it as a primary device as I only have one mobile for both personal and work and the work side of things requires special considerations and softwares for compliance requirements. So I could never justify the expense of a used &lt;a href=&#34;https://docs.sailfishos.org/Support/Supported_Devices/&#34;&gt;compatible Sony Xperia device&lt;/a&gt; just to play with it, but a need for a second device arose: a mobile device to stream music in the cabin.  My first idea was to just use the device that was given to me originally by work that has been sitting in a drawer gathering dust for the last few years since I discovered the &lt;strong&gt;amazing&lt;/strong&gt; photos that are possible with the “a” line of &lt;a href=&#34;https://en.wikipedia.org/wiki/Google_Pixel&#34;&gt;Google Pixel devices&lt;/a&gt; and bought one, but I discovered a little security thing I did not know about: &lt;a href=&#34;https://support.google.com/android/answer/9459346?hl=en&#34;&gt;FRP (Factory Reset Protection)&lt;/a&gt;.  As this device I had not used in a looooong time, and when I did use it, it was always for testing and hacking, I found that I had no idea what the PIN was and none of my google accounts worked to unlock it.  Not wanting to contribute to even more e-waste, I spent lots of time trying to get around FRP, unfortunately unsuccessfully.  I even pulled out an old laptop from the closet and went to the darker side of the internet and downloaded multiple tools with who knows how many backdoors, front doors, trojans and other gifts it left installed on the laptop.  It is always reassuring when downloading something from a page that states “don’t worry that your antivirus programs detect this as a trojan, it is a false positive”…  This particular tool looked promising and for a minute I thought it even had worked: &lt;/p&gt;
&lt;img src=&#34;/2024/11/16/Sailfish-OS/sf_02.jpg&#34; class=&#34;&#34; title=&#34;Darkside&#34;&gt;   

&lt;p&gt;but alas no.  So I stuck a sticky on the phone with a note that it was bricked and left it at the front desk at work where I was assured they would have it properly recycled, and then began looking on Wallapop for a cheap device to stream music.  And seeing how much everyone was asking for their old devices (I guess no one wants to go through the hassle of selling something for 5 bucks which was kinda my price point) I suddenly remembered &lt;a href=&#34;https://en.wikipedia.org/wiki/Sailfish_OS&#34;&gt;Sailfish OS&lt;/a&gt; and said this is the perfect opportunity to scratch that itch!&lt;/p&gt;
&lt;p&gt;So first, let me give you an introduction to Sailfish OS provided by ChatGPT with the prompt &lt;code&gt;please provide me a two sentence intro to sailfish os covering what it is, historical lineage, and why one would want to use it&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Sailfish OS is a Linux-based mobile operating system developed by Jolla, building on the legacy of Nokia’s MeeGo with a focus on privacy, open-source principles, and a gesture-driven interface. Designed for users seeking an alternative to mainstream platforms, it offers Android app compatibility alongside a unique, independent ecosystem.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So I focused my Wallapop searches to a &lt;a href=&#34;https://docs.sailfishos.org/Support/Supported_Devices/&#34;&gt;compatible device&lt;/a&gt; and quickly found a &lt;a href=&#34;https://en.wikipedia.org/wiki/Sony_Xperia_XA2&#34;&gt;Sony Xperia XA2&lt;/a&gt; that was an order of magnitude greater than my price point, but these digital itches sometimes get expensive to scratch.  It was then just a matter of waiting for the arrival and confirmation that the device was in fact compatible and alas it was a H3113 so onto the installation phase of the journey!&lt;/p&gt;
&lt;img src=&#34;/2024/11/16/Sailfish-OS/sf_03.jpg&#34; class=&#34;&#34; title=&#34;Arrival&#34;&gt;   

&lt;h2 id=&#34;Installation&#34;&gt;&lt;a href=&#34;#Installation&#34; class=&#34;headerlink&#34; title=&#34;Installation&#34;&gt;&lt;/a&gt;Installation&lt;/h2&gt;&lt;p&gt;Here I would like to take my hat off to &lt;a href=&#34;https://jolla.com/about/&#34;&gt;Jolla&lt;/a&gt; the owners of Sailfish OS for providing such a detailed &lt;a href=&#34;https://jolla.com/sailfishxinstall&#34;&gt;installation process&lt;/a&gt;.  For the &lt;a href=&#34;https://jolla.com/sailfishx-windows-instructions-xa2/&#34;&gt;Sony Xperia XA2&lt;/a&gt; it is a seven step process, but counting all the sub steps there is a total of 41 steps, some with very intimidating names like &lt;em&gt;Unlock the bootloader&lt;/em&gt;, but really the instructions considered everything and even anticipated and warned about some different outputs that could be encountered making it for a &lt;strong&gt;very&lt;/strong&gt; straight forward process, despite the real complexity of the task at hand: installing an aternative operating system on a mobile device.&lt;/p&gt;
&lt;img src=&#34;/2024/11/16/Sailfish-OS/sf_04.jpg&#34; class=&#34;&#34; title=&#34;First boot&#34;&gt; 

&lt;h2 id=&#34;Impressions&#34;&gt;&lt;a href=&#34;#Impressions&#34; class=&#34;headerlink&#34; title=&#34;Impressions&#34;&gt;&lt;/a&gt;Impressions&lt;/h2&gt;&lt;p&gt;So has the digital itch been scratched?  Oh yes it has!  I am thoroughly enjoying finding finding how the developers have found other, creative ways to do common tasks that it would seem Android had just limited to copying and imitating what Apple had designed for a touch based interface.  Especially useful and cool is the drag down to get access to menu options allowing one hand navigation and utilization of apps:&lt;/p&gt;
&lt;img src=&#34;/2024/11/16/Sailfish-OS/sf.gif&#34; class=&#34;&#34; title=&#34;Launch&#34;&gt; 

&lt;p&gt;As the primary use is intended to stream music, I first focused on getting the two sources of music working: Pirate Pig Radio (more about what that is some future post) and Spotify.  Pirate Pig Radio is just a radio stream that I open in a browser I was terrified to get an unsupported media error on first load.  After an initial panic I was able to re-encode the audio as MP3 instead of OGG format and was very  happy to be streaming the Pig on the Sailfish OS Sony XA2!  Spotify took a couple of days as I first tried to get a &lt;a href=&#34;https://sailfishos.wiki/books/native-spotify&#34;&gt;native duo&lt;/a&gt; of applications (here native means Sailfish OS applications and not Android applications) to work unsuccessfully.  I then focused on getting Android compatibility enabled and working which was easy and involved getting a &lt;a href=&#34;https://shop.jolla.com/details/12596a34-597b-47d4-a502-c0ef15d2a4de/&#34;&gt;Sailfish OS license&lt;/a&gt; for 25€ (which after the amazing instuctions and amazing experience I was more than happy to pay) and installing an application from the Sailfish store on the device that provides the Android compatibility subsystem.  Once Android Spotify was working I looped back and spent two days trying once again unsuccessfully to get the duo of applications to work by compiling them on the device.  I was able to compile and start the command line Spotify API interface (&lt;a href=&#34;https://github.com/librespot-org/librespot&#34;&gt;librespot&lt;/a&gt;) but the gui part (&lt;a href=&#34;https://github.com/sailfish-spotify/hutspot&#34;&gt;Hutspot&lt;/a&gt;) resisted sufficiently that I had to give up.  The impression I have is that this combo was used when Sailfish’s ability to run Android apps was not so evolved, so other solutions were developed, but once it matured and the Android version of Spotify worked there was no longer a need for an alternative and it kinda became abandonware (at least the gui part that is only for Sailfish). &lt;/p&gt;
&lt;p&gt;With the two primary use applications working, I have been playing with other native applications in the &lt;a href=&#34;https://docs.sailfishos.org/Services/Deployment/Store/&#34;&gt;Store&lt;/a&gt; which understandably does not have the number of apps available in Google or Apple’s stores, but has more stuff than I had anticipated. It seems there is, was, or has been a somewhat vibrant developer community, which is always fundamental (watch &lt;a href=&#34;https://youtu.be/QhhFQ-3w5tE&#34;&gt;this video&lt;/a&gt; of Steve Job’s return to Apple in 1997 that nails this point).  At some point I am going to try and use the phone as my primary device and see if it is possible, but that will have to wait as next week I have business travel and I don’t want to be experimenting with a new OS while in a foreign country. So hopefully more later on Sailfish OS!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://sailfishos.org/&#34;&gt;Sailfish landing page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sailfishos.org/&#34;&gt;Jolla landing page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://computerhistory.org/blog/the-deep-history-of-your-apps-steve-jobs-nextstep-and-early-object-oriented-programming/&#34;&gt;Computer History Musuem page where if found Steve Job video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <updated>2024-11-16T08:07:05.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/11/10/Cercedilla-Field-Notes-European-red-pine/</id>
        <title>Cercedilla Field Notes: European red pine</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/11/10/Cercedilla-Field-Notes-European-red-pine/"/>
        <content type="html">&lt;img src=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/CFN_redpine_01.jpg&#34; class=&#34;&#34; title=&#34;European Redwoods&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;The red pine forests of Cercedilla have always been an inseparable part of my connection to Cercedilla. Their tall, rugged trunks, marked by distinctive red bark that flakes away leaving a green canopy above and a red hued forest below.  So what better way to start Cercedilla Filed Notes then a page on this beautiful tree.  &lt;/p&gt;
&lt;p&gt;The tree that makes up these forests is the &lt;a href=&#34;https://en.wikipedia.org/wiki/Pinus_sylvestris&#34;&gt;European red pine (Pinus sylvestris)&lt;/a&gt; and aslo known as Scots pine, Baltic pine and as &lt;a href=&#34;https://es.wikipedia.org/wiki/Pinus_sylvestris&#34;&gt;pino albar&lt;/a&gt; in Spanish.&lt;/p&gt;
&lt;h3 id=&#34;Stats&#34;&gt;&lt;a href=&#34;#Stats&#34; class=&#34;headerlink&#34; title=&#34;Stats:&#34;&gt;&lt;/a&gt;Stats:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Height&lt;/strong&gt;: Up to 35 meters (115 feet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diameter&lt;/strong&gt;: Up to 1 meter (3 feet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Altitude&lt;/strong&gt;: 1,200-2,600 meters (3,900 - 8,500 feet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lifespan&lt;/strong&gt;: 150 - 300 years&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distribution&lt;/strong&gt;: Scotland, Spain to central Siberia&lt;/li&gt;
&lt;/ul&gt;
&lt;img src=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/CFN_redpine_02.jpg&#34; class=&#34;&#34; title=&#34;Distribution&#34;&gt;

&lt;h3 id=&#34;Other-Facts&#34;&gt;&lt;a href=&#34;#Other-Facts&#34; class=&#34;headerlink&#34; title=&#34;Other Facts:&#34;&gt;&lt;/a&gt;Other Facts:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Also has been known as European redwood&lt;/li&gt;
&lt;li&gt;Pinus sylvestris is the only pine native to northern Europe&lt;/li&gt;
&lt;li&gt;One of the first trees introduced to North America, in about 1600&lt;/li&gt;
&lt;li&gt;Listed as an invasive species in some areas of North America, including Ontario, Michigan&lt;/li&gt;
&lt;li&gt;It has been widely used in the United States for the Christmas tree trade, and was one of the most popular Christmas trees from the 1950s through the 1980s&lt;/li&gt;
&lt;li&gt;During the 18th and 19th centuries, the red pines around Cercedilla were a primary timber source for Spain, especially for construction in Madrid. Remnants of old forest trails and logging paths still crisscross the region, marking the forest’s industrial past. The Camino Schmidt, a popular hiking route, follows some of these old paths.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;More-pictures&#34;&gt;&lt;a href=&#34;#More-pictures&#34; class=&#34;headerlink&#34; title=&#34;More pictures&#34;&gt;&lt;/a&gt;More pictures&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Close up of bark:&lt;img src=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/CFN_redpine_03.jpg&#34; class=&#34;&#34; title=&#34;Bark&#34;&gt;&lt;/li&gt;
&lt;li&gt;Another example of how red they get&lt;img src=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/CFN_redpine_04.jpg&#34; class=&#34;&#34; title=&#34;Red Forest&#34;&gt;&lt;/li&gt;
&lt;li&gt;Another example but think the jpg algorithm on this camera was a bit wonky&lt;img src=&#34;/2024/11/10/Cercedilla-Field-Notes-European-red-pine/CFN_redpine_05.jpg&#34; class=&#34;&#34; title=&#34;Really Red Forest&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Pinus_sylvestris&#34;&gt;Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Cercedilla Field Notes" />
        <updated>2024-11-10T06:05:53.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/10/31/Refugio-Automation/</id>
        <title>Refugio Automation</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/10/31/Refugio-Automation/"/>
        <content type="html">&lt;p&gt;Since getting a small little cabin in the local mountains I have had on the to do list pulling out one of my currently unused &lt;a href=&#34;/2023/07/29/Raspberry-Pi-computers/&#34;&gt;Raspbery Pi’s&lt;/a&gt; and setting it up and lots of other yet to be determined things for gathering temperature data inside and outside the house.  Then last week when chatting with my neighbor Nieves about how soon it would be cold in the mountains as WINTER IS COMING she mentioned that we probably need to get a smart plug to turn on the heater before we came up, as otherwise by the time we left at the end of the weekend the house would just be getting livable.  I said yea that was a good idea and was thinking about my Raspberry Pi and having to get &lt;a href=&#34;/2022/12/08/Wireguard/&#34;&gt;WireGuard&lt;/a&gt; on it as well so I could get onto the local network to control things… and later in the day I thought, well before doing all that, let me see what is out there.  Oh boy was I in for a treat! &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;I quickly saw that there were lots of different options available but what captured my attention was a 14€ &lt;a href=&#34;https://www.tapo.com/en/product/smart-plug/tapo-p115/&#34;&gt;Tapo Smart Plug&lt;/a&gt; that just is so non intrusive and has power usage monitoring that I could not pass it up:&lt;/p&gt;
&lt;img src=&#34;/2024/10/31/Refugio-Automation/automation_01.jpg&#34; class=&#34;&#34; title=&#34;what a cutie&#34;&gt;

&lt;p&gt;It arrived and the setup was so easy via the Tapo Android app that in minutes I was controlling the plug and able to see what it was electricity it was consuming at that very moment, or see historical graphs!!!!  A few years ago I almost bought a &lt;a href=&#34;https://en.wikipedia.org/wiki/Kill_A_Watt&#34;&gt;Kill A Watt&lt;/a&gt; for 40 something euros and here in addition to electricity consumption I could control it from anywhere in the world!!!!&lt;/p&gt;
&lt;img src=&#34;/2024/10/31/Refugio-Automation/automation_02.jpg&#34; class=&#34;&#34; title=&#34;OMG this is a game changer&#34;&gt;

&lt;p&gt;I quickly found my electric bill and not so quickly (electric bills in Spain are very confusing) figured out what I was paying for electricity: 0.135914€ per kWh.  I found an &lt;a href=&#34;https://www.calculator.net/electricity-calculator.html?appliance=heater:1500:W:8:hpd:100&amp;power=1554&amp;powerunit=W&amp;capacity=100&amp;usage=24&amp;usageunit=hpd&amp;price=0.135914&amp;x=Calculate&#34;&gt;online calculator&lt;/a&gt; to help me with the heaving lifting to figure out how much the heater would cost to run:&lt;/p&gt;
&lt;img src=&#34;/2024/10/31/Refugio-Automation/automation_03.jpg&#34; class=&#34;&#34; title=&#34;Not so bad!&#34;&gt;

&lt;p&gt;Wow.  Ok. I now have a bit more appreciation for the heater’s consumption, but quite honestly before I had this hard data I would have thought it would cost an arm and a leg to leave it running 24 hours straight but 5€ was not an arm and a leg.  Not only that I now have a monthly counter of what I am spending just on the heater.  OH MAN I NEED LOTS MORE OF THESE THINGS!&lt;/p&gt;
&lt;p&gt;But before I get more smart plugs, I wanted to tackle my obsession for weather temperature data and now I had a valid excuse:  If I was going to turn on the heater from Madrid, it would be good to control that it was in fact starting to get warmer in the house.  So I found another very &lt;a href=&#34;https://www.tapo.com/en/product/smart-sensor/tapo-t315/&#34;&gt;perfect Tapo device&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2024/10/31/Refugio-Automation/automation_04.jpg&#34; class=&#34;&#34; title=&#34;another cutie&#34;&gt;

&lt;p&gt;and ordered two of them (one for next to the heater and another for outside (warning: the T315 should not be used outside)).&lt;/p&gt;
&lt;p&gt;Once again setup could not have been easier.  These guys require a smart hub as they use Sub-1G wireless protocol so that their two AA batteries last longer so I got the &lt;a href=&#34;https://www.tapo.com/en/product/smart-hub/tapo-h100&#34;&gt;T100&lt;/a&gt;. First I had to add it to my Tapo app and then added the two sensors.  Oh man I am in heaven:&lt;/p&gt;
&lt;img src=&#34;/2024/10/31/Refugio-Automation/automation_05.jpg&#34; class=&#34;&#34; title=&#34;another cutie&#34;&gt;

&lt;p&gt;The finishing of the sensors is so high quality I just can’t imagine what the kludge I would have had if I had done this myself.  I am going to continue playing with these ones before ordering more, but the most likely thing is every room in the house will end up with one.&lt;/p&gt;
&lt;p&gt;I do still want to make sure I can interface with them if for some reason the Tapo service one day disappears, but that is for another day, for now I am just enjoying how painless, easy, and useful this has been.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <updated>2024-10-31T13:43:05.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/</id>
        <title>Pebble You&#39;re Gonna Make Me Lonesome When You Go</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/"/>
        <content type="html">&lt;p&gt;This december it will be 8 years since &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_(watch)&#34;&gt;Pebble Technology&lt;/a&gt; went out of business.  I still wear and use my Pebble watch daily, and boy o boy, when it dies it is gonna make me lonesome!  So before that fateful day comes and I will be too teary-eyed  to type about it, I decided to sing the praises of the Pebble Watch.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;How-it-all-started&#34;&gt;&lt;a href=&#34;#How-it-all-started&#34; class=&#34;headerlink&#34; title=&#34;How it all started&#34;&gt;&lt;/a&gt;How it all started&lt;/h2&gt;&lt;p&gt;So it all started late on a Friday night back in March 2015 when my wife had already gone to sleep and I was left to my own enjoying single malt scotch and going down technological rabbit holes.  I had been eyeing the the Pebble for quite a while and saw they had launched a new &lt;a href=&#34;https://www.kickstarter.com/projects/getpebble/pebble-time-awesome-smartwatch-no-compromises&#34;&gt;KickStarter campaign&lt;/a&gt; for their next iteration of hardware.  I actually had a &lt;a href=&#34;https://en.wikipedia.org/wiki/Timex_Datalink&#34;&gt;Timex Datalink&lt;/a&gt; back in 1995 and loved having all my contacts on my wrist and the Pebble Watch had been on my radar since they launched their first generation 2012 (also on Kickstarter) and their second generation (Pebble Steel) in 2014.  What really intrigued me was what seemed to be a large fan base and easy development of applications and watch faces.  So my inhibitions lowered by previously consumed scotches I found my credit card and joined the crowd source movement:&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble01.jpg&#34; class=&#34;&#34; title=&#34;Oh no I hope I do not regret this tomorrow!&#34;&gt;

&lt;p&gt;The cool thing about this crowd source stuff is that they actually use the capital of the pledges to implement the new thing.  The unfortunate thing is that means you have to wait for them gather the capital and implement the new thing.  For me that meant waiting until July of 2015 (4 months) until it arrived:&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble02.jpg&#34; class=&#34;&#34; title=&#34;It arrived finally&#34;&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble03.jpg&#34; class=&#34;&#34; title=&#34;First sight&#34;&gt;

&lt;p&gt;My notes from the first days using the Pebble Time are quite sparse (note: dates in in European more logical fasion of Day&amp;#x2F;Month&amp;#x2F;year):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; - 06/07/2015 just got back from Cali and had the pebble time waiting for me (it
  arrived the day we left (17/06/2015) for the states!)
 - 09/07/2015 testing all sorts of different watch faces these days
 really like the idea of a full calendar, but unfortunately have not found a perfect fit.
 Timley (v2.5) so far is the best fit.
 this one is *almost* perfect, but the day starts on sunday, might have to compile it
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;The-love-begins&#34;&gt;&lt;a href=&#34;#The-love-begins&#34; class=&#34;headerlink&#34; title=&#34;The love begins&#34;&gt;&lt;/a&gt;The love begins&lt;/h2&gt;&lt;p&gt;And then, only 8 days after receiving the Pebble I began trying to make my own watch face because like goldilocks the offering was not just quite not what I wanted.  And boy was I in for a treat! In an afternoon I was able to install the Pebble provided dev kit that allowed cross compiling in an easy and painless way and made it super easy to push the new app to the Pebble watch.  This blew me away, because every time Apple released a new version of the iPhone operating system they released a new version of XCode which was needed to make applications for the iPhone, and every time this happened I would be at least a day if not a week trying get this development environment to work fighting cryptic errors and searching for solutions in forums.  Here are my notes from that joyous day:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; 14/07/2015
 OMG.
 I just got my custom calendar watch face tweaked just the way i like it (day starting on monday, 
 and month format) compiled and running on my pebble!
 Holy cows that was fun and painless.
 Here was the whole process:
 (1) downloaded source from William Heaton´s PebbleCalendarWatch from  git
 (2) installed pebble dev kit via homebrew:
      ruby -e &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&amp;quot;
      brew install pebble/pebble-sdk/pebble-sdk
 (3) converted project:
      pebble convert-project
 (4) compiled project (this actually took about an hour to get it to compile and tweaked)
      pebble build 
 (5) enabled debug mode via app
 (6) installed the watch face:
      pebble install --phone 10.0.0.104
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;What-Pebble-did-right&#34;&gt;&lt;a href=&#34;#What-Pebble-did-right&#34; class=&#34;headerlink&#34; title=&#34;What Pebble did right&#34;&gt;&lt;/a&gt;What Pebble did right&lt;/h2&gt;&lt;p&gt;By making it &lt;em&gt;really&lt;/em&gt; easy to develop Pebble empowered the user community to contribute. And this created a community that then contributed back two fold by making their creation available and by making their code available on GitHub and open source.  This created a vibrate and active exchange of ideas and programs all building on one another.  My watch face that I finally got “just right” in 2016 was based on &lt;a href=&#34;https://github.com/cynorg/PebbleTimely&#34;&gt;Timely&lt;/a&gt; and then from there I kept adding customizations that I copied out of other projects so it was and did just what I wanted.  I present FrankenPebble:&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble04.jpg&#34; class=&#34;&#34; title=&#34;FrankenPebble&#34;&gt;

&lt;p&gt;Here is a rundown on customizations and why it is “just right”:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5 week calendar view: two previous weeks, current week, and next two weeks&lt;/li&gt;
&lt;li&gt;The green line around the border it a step tracker that indicates current steps with a complete border being 10k steps.  The line is white and turns green once the 10k goal is hit&lt;/li&gt;
&lt;li&gt;When bluetooth connection is lost the watch vibrates and the time is displayed in red&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other things that just make it a killer smart watch:  The battery lasts for ever! Mine is really old and I still only have to charge it about every two weeks.  In the beginning it was about once a month.  This is accomplished by having an electronic ink screen that requires no energy once drawn as apposed to an LCD screen that is constantly consuming battery.  It is also easy to see during the day, and has a light for night.&lt;/p&gt;
&lt;h2 id=&#34;If-Pebble-is-so-amazing-what-when-wrong&#34;&gt;&lt;a href=&#34;#If-Pebble-is-so-amazing-what-when-wrong&#34; class=&#34;headerlink&#34; title=&#34;If Pebble is so amazing what when wrong?&#34;&gt;&lt;/a&gt;If Pebble is so amazing what when wrong?&lt;/h2&gt;&lt;p&gt;I am sure the internet is full of deep dives of what went wrong and why the company went out of business, but here I will offer a personal anecdote on what I imagine contributed to their problems.&lt;br&gt;The Pebble Time was water resistant up to 30m so I did not take it off for my first summer swim at &lt;a href=&#34;https://www.turismo.gal/recurso/-/detalle/268494609/os-bloques?tp=3&amp;ctre=15&#34;&gt;los Bloques&lt;/a&gt; in &lt;a href=&#34;https://en.wikipedia.org/wiki/Ribadeo&#34;&gt;Ribadeo&lt;/a&gt; and when I was drying off I saw a sad face on my Pebble.  I said, “on no, that can’t be good” and quickly took a picture:&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble05.jpg&#34; class=&#34;&#34; title=&#34;oh no!&#34;&gt;

&lt;p&gt;I say it was good that I quickly snapped a picture, because the sad face disappeared shortly after and the device was completely dead.  I emailed support and got an automated response with a case number and this ominous message “We are currently experiencing a higher-than-average amount of emails but we will respond to you as quickly as possible.”&lt;br&gt;The next email was two weeks later requesting address information to send me a replacement.  And sure enough a week later a brand new non kick starter Pebble Time was delivered to my house:&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble06.jpg&#34; class=&#34;&#34; title=&#34;Pebble Time&#34;&gt;

&lt;p&gt;So whatever profit they had made off of me was most likely eaten by having to send me a FULL brand new one, with no way to fix the bad one… and that is why it is really really hard for a small company to do hardware and why there are so few small american or european companies making hardware.&lt;/p&gt;
&lt;h2 id=&#34;Here-is-what-is-on-my-Pebble&#34;&gt;&lt;a href=&#34;#Here-is-what-is-on-my-Pebble&#34; class=&#34;headerlink&#34; title=&#34;Here is what is on my Pebble&#34;&gt;&lt;/a&gt;Here is what is on my Pebble&lt;/h2&gt;&lt;p&gt;Here are the things I currently have on my Pebble (i forgot to mention after my replacement Time arrived I ordered a Steel and sold the new replacement Time to my buddy Julio):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FrankenWatch: never uploaded to GitHub, but have shared binary with multiple people (If any one is interested in code or binary reach out to me (email is at bottom of post))&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/54a1ba1afc5f23e4c000012d?section=watchapps&#34;&gt;Timer+&lt;/a&gt;: easy to use stopwatch or countdown app. &lt;a href=&#34;https://pebble-help-legacy.rebble.io/help.getpebble.com/customer/portal/articles/2550750-quick-launch1677.html?b_id=12808&#34;&gt;Quick Launch&lt;/a&gt; Up button.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/553aaf29bf1a5965020000c8?query=skunk&amp;section=watchapps&#34;&gt;Skunk&lt;/a&gt;:  App that us can use for QR or barcodes (for example I have all my grocery store codes in it so on checkout it is really quick to have them scan my watch).  &lt;a href=&#34;https://pebble-help-legacy.rebble.io/help.getpebble.com/customer/portal/articles/2550750-quick-launch1677.html?b_id=12808&#34;&gt;Quick Launch&lt;/a&gt; Down button.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/52fd881562f8c4f39e000064?query=counter&amp;section=watchapps&#34;&gt;Counter&lt;/a&gt;: I think I first found this to count how many times my youngest daughter said “mommy” on a trip back from Ribadeo to Madrid (6 hour trip).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/52b97992a1d2df256900006b?query=calendar&amp;section=watchapps&#34;&gt;Calendar&lt;/a&gt;:  and app that shows the current month, but possible to go forwards or backwards in time easily and quickly.  &lt;a href=&#34;https://pebble-help-legacy.rebble.io/help.getpebble.com/customer/portal/articles/2550750-quick-launch1677.html?b_id=12808&#34;&gt;Quick Launch&lt;/a&gt; Select button.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/55b072bdd534103905000034?query=tide%2520chart&amp;section=watchapps&#34;&gt;TideTableChart&lt;/a&gt;: one of the few none open source apps and paid apps I use, but this thing is REALLY cool for showing tides. It has a companion app that is the paid part. &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apps.rebble.io/en_US/application/54980fdd9fa273b3860000a3?query=tides&amp;section=watchfaces&#34;&gt;Tides&lt;/a&gt;: this is a watch face that shows current tides.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;and that is all!  But boy when this baby dies, I will have a hard time finding something that even comes close to it!&lt;/p&gt;
&lt;h2 id=&#34;Update-on-28-x2F-01-x2F-2025&#34;&gt;&lt;a href=&#34;#Update-on-28-x2F-01-x2F-2025&#34; class=&#34;headerlink&#34; title=&#34;Update on 28&amp;#x2F;01&amp;#x2F;2025&#34;&gt;&lt;/a&gt;Update on 28&amp;#x2F;01&amp;#x2F;2025&lt;/h2&gt;&lt;p&gt;Oh sweet baby jesus!  I can not believe the news!  &lt;a href=&#34;https://opensource.googleblog.com/2025/01/see-code-that-powered-pebble-smartwatches.html&#34;&gt;Google announced&lt;/a&gt; that they are open sourcing the Pebble software which followed in turn &lt;a href=&#34;https://repebble.com/&#34;&gt;an announcement from Eric Migicovsky&lt;/a&gt; he like me has not found any suitable replacement and will be starting a new company (applying lessons learned from the first round) to make new yet to be named Pebble watches!!!&lt;/p&gt;
&lt;img src=&#34;/2024/09/13/Pebble-You-re-Gonna-Make-Me-Lonesome-When-You-Go/pebble07.jpg&#34; class=&#34;&#34; title=&#34;It&#34; alt=&#34;s alive!&#34;&gt;


&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <category term="Pebble" />
        <updated>2024-09-13T15:02:49.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/08/19/Summer-Moment-of-Zen-2024/</id>
        <title>Summer Moment of Zen 2024</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/08/19/Summer-Moment-of-Zen-2024/"/>
        <content type="html">&lt;p&gt;Today I celebrated this year’s moment of summer Zen! &lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/3g2Ndifqw04&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;This year I was able to take advantage of a &lt;a href=&#34;https://en.wikipedia.org/wiki/Supermoon&#34;&gt;supermoon&lt;/a&gt; with the moon just a mere 367,372 km way that provoked a 3.5 meter tide differential!&lt;/p&gt;
&lt;img src=&#34;/2024/08/19/Summer-Moment-of-Zen-2024/smz2024_tide.jpg&#34; class=&#34;&#34; title=&#34;Tide and Moon&#34;&gt;

&lt;p&gt;And I was even lucky to have a sunny day, something that is not a guarantee here in northern Spain!&lt;/p&gt;
&lt;p&gt;This year I decided to try and get a sunset in the timelapse as well so I positioned myself on the eastern shore of the &lt;a href=&#34;https://en.wikipedia.org/wiki/Eo_(river&#34;&gt;Eo&lt;/a&gt; river estuary:&lt;/p&gt;
&lt;img src=&#34;/2024/08/19/Summer-Moment-of-Zen-2024/smz2024_map.jpg&#34; class=&#34;&#34; title=&#34;Map to orient the reader&#34;&gt;

&lt;p&gt;I started at 17:36 and wrapped it up at 22:38 for at total of:&lt;/p&gt;
&lt;img src=&#34;/2024/08/19/Summer-Moment-of-Zen-2024/smz2024_time.jpg&#34; class=&#34;&#34; title=&#34;Timestamp&#34;&gt;

&lt;p&gt;The differential photos I have this year are not quite real as when I left it was dark so I could not get a good final pic, but here is one from about 20:30 with the tide at about 1&amp;#x2F;2 way down:&lt;/p&gt;
&lt;img src=&#34;/2024/08/19/Summer-Moment-of-Zen-2024/smz2024_diferential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;p&gt;This year the 5 hours really flew by.  I spent quite a bit of time just watching the cormorants fly around the estuary, reading &lt;a href=&#34;https://www.pedroleon.info/viajes-interestelares-historia-de-las-sondas-voyager-libro/&#34;&gt;Pedro León’s amazing book&lt;/a&gt; about the &lt;a href=&#34;https://en.wikipedia.org/wiki/Voyager_program&#34;&gt;Voyager Program&lt;/a&gt;, doing a trash pickup, and also was able to take in the &lt;a href=&#34;https://en.wikipedia.org/wiki/Supermoon&#34;&gt;supermoon&lt;/a&gt; rise:&lt;/p&gt;
&lt;img src=&#34;/2024/08/19/Summer-Moment-of-Zen-2024/smz2024_moon.jpg&#34; class=&#34;&#34; title=&#34;Supermoon&#34;&gt;


&lt;h3 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Camera&lt;/strong&gt;: GoPro HERO3+ Black Edition&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frequency&lt;/strong&gt;: picture every 30 seconds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of pictures taken&lt;/strong&gt;: 588&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Photo Resolution&lt;/strong&gt;: 7 MP  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;List generation&lt;/strong&gt;: &lt;code&gt;ls *.JPG &amp;gt;list.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video creation&lt;/strong&gt;: &lt;code&gt;mencoder -idx -nosound -ovc lavc -lavcopts vcodec=mjpeg -o timelapse01-attempt09.avi -mf fps=20 mf://@list.txt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2024-08-19T21:00:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/08/10/Haiku-San-Lorenzo/</id>
        <title>Haiku: San Lorenzo</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/08/10/Haiku-San-Lorenzo/"/>
        <content type="html">&lt;img src=&#34;/2024/08/10/Haiku-San-Lorenzo/haiku_sanlorenzo.jpg&#34; class=&#34;&#34; title=&#34;San Lorenzo&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2024-08-10T13:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/06/29/2024-Summer-Solstice-Project/</id>
        <title>2024 Summer Solstice Project</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/06/29/2024-Summer-Solstice-Project/"/>
        <content type="html">&lt;p&gt;This year’s summer solstice project was a bit less technology related (although I did write my own hello world OS in assembly[1]) as I made what I call a Sunset Magazine chair, but is more widely known as an &lt;a href=&#34;https://en.wikipedia.org/wiki/Adirondack_chair&#34;&gt;Adirondack chair&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_01.jpg&#34; class=&#34;&#34; title=&#34;OMG I can&#34; alt=&#34;t believe i made this&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Context&#34;&gt;&lt;a href=&#34;#Context&#34; class=&#34;headerlink&#34; title=&#34;Context&#34;&gt;&lt;/a&gt;Context&lt;/h2&gt;&lt;p&gt;So back in the last century when the internet was still coming of age and before the &lt;a href=&#34;https://en.wikipedia.org/wiki/Dot-com_bubble&#34;&gt;dot-com bubble burst&lt;/a&gt; there was still such a thing as print magazines and the possibility to have a subscription to them and have them delivered to your house via mail (snail mail not email). One such subscription I gave to my wife as a gift was &lt;a href=&#34;https://en.wikipedia.org/wiki/Sunset_(magazine)&#34;&gt;Sunset&lt;/a&gt; as it was a magazine I had grown up with and and felt it was a required manual for living in the west.  One issue had plans or the possibility to send a post card to request the plans (it was in the last century and understandably the exact details are now a little vague) to make the emblematic Sunset chair that I remember so many times on the cover (once again could be faulty memory).  So the seed was planted that if I ever had a garden, well the first thing I would add would be a Sunset chair.  So the sun and the planets aligned this year in such a way as just in time for my solstice vacation we had bought a small little cabin with a small little garden, and it was clear to me my solstice project would be a very hands on, hopefully not cutting fingers off type of project!&lt;/p&gt;
&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;h3 id=&#34;Plans&#34;&gt;&lt;a href=&#34;#Plans&#34; class=&#34;headerlink&#34; title=&#34;Plans&#34;&gt;&lt;/a&gt;Plans&lt;/h3&gt;&lt;p&gt;Well, needless to say, times change and while I was able to find &lt;a href=&#34;https://www.sunset.com/garden/backyard-projects/sunset-chair&#34;&gt;an article&lt;/a&gt; the link to the PDF for the plans was no longer working:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_02.jpg&#34; class=&#34;&#34; title=&#34;SNAP&#34;&gt;

&lt;p&gt;But the internet in these times before the ai-com bubble burst has lots of sites ready to serve up content rife with advertisements and still real content and I found all sorts of options for plans that were freely downloadable it was only a matter of selecting one.  In the end I settled on &lt;a href=&#34;https://www.ana-white.com/woodworking-projects/heavy-duty-adirondack-chair-plans-back-leg-and-footstool&#34;&gt;this site&lt;/a&gt; because it had an appeasing design and had a &lt;a href=&#34;https://www.youtube.com/watch?v=n619ZYjH6GI&#34;&gt;video&lt;/a&gt; from Home Depot on how to build it.&lt;/p&gt;
&lt;h3 id=&#34;Material&#34;&gt;&lt;a href=&#34;#Material&#34; class=&#34;headerlink&#34; title=&#34;Material&#34;&gt;&lt;/a&gt;Material&lt;/h3&gt;&lt;p&gt;With proper plans in hand now it was only a matter of finding the materials needed to build the chair:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_03.jpg&#34; class=&#34;&#34; title=&#34;Material&#34;&gt;

&lt;p&gt; which turned out more complicated than I anticipated because wood here in Spain is not sold in inches and feet and a &lt;a href=&#34;https://en.wikipedia.org/wiki/Speed_square&#34;&gt;speed square&lt;/a&gt; (that is actually not a square but really a triangle) was no where to be found.&lt;br&gt; Things were further complicated in that a “2x4” is not really 2 inches by 4 inches, rather it is actually 1.5 inches by 3.5 inches which I only discovered when watching a &lt;a href=&#34;https://www.youtube.com/watch?v=6kAmB7PtH2c&#34;&gt;YouTube video&lt;/a&gt; to figure out what the heck the speed square was needed for.&lt;br&gt; So multiple conversions were needed to find what wood I would need to buy:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_04.jpg&#34; class=&#34;&#34; title=&#34;Conversions&#34;&gt;

&lt;p&gt;And multiple trips to multiple hardware stores with no luck finding wood that more or less matched the needed sizes.  I was pretty close to having to accept my solstice week project would have to pivot and not be making my very own Sunset Chairs, but I did one last ditch effort to find a lumber yard and found one on the way to my small little cabin.  I may have missed it on previous searches as it’s name is Maderas Marbella, because, well, it is located in Malaga which is 537km away (why it is called Maderas Marbella and not Maderas Malaga?  I would ask you to ask the person who named a 2x4 a 2x4 when it really is a 1.5x3.5 and the person who named the speed square…).  Arriving at Maderas &lt;del&gt;Malaga&lt;/del&gt; Marbella I was very hopeful as it was a real lumber yard as I remember from my youth in California, but after waiting my turn my hopes were tempered when the person said he did not think they had those sizes of wood, but I could check at their warehouse that was only a short distance (thankfully not in Marbella nor Malaga).  If I was out of place in the lumber yard, oh boy was I out of place in my pressed little polo shirt in the warehouse:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_05.jpg&#34; class=&#34;&#34; title=&#34;Warehoues&#34;&gt;

&lt;p&gt;After waiting my turn the foreman reviewed my conversion chart and confirmed he did not in fact have the measurements I needed but he could find some close alternatives: &lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_16.jpg&#34; class=&#34;&#34; title=&#34;Alternatives&#34;&gt;

&lt;p&gt;The only type of wood he could offer was fir which was not an outdoor wood but with a “lasur” it should hold up (I understood lasur to be a stain or varnish) so not having any other alternative displaced my little dog to the back of the wagon and loaded the material and trucked it home:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_06.jpg&#34; class=&#34;&#34; title=&#34;Warehouse&#34;&gt;

&lt;p&gt;With regards to the missing “speed square”: after watching videos and discussions with my dad, I determined I would have to wait to experience the joys of using one of the very versatile almost magical &lt;a href=&#34;https://en.wikipedia.org/wiki/Freemasonry&#34;&gt;Masonry&lt;/a&gt; like tools as there were none to be found here in Spain (might be due to construction mostly being based on cement as they used all their trees for armadas long ago).  In its place I would rely on a trusty &lt;a href=&#34;https://en.wikipedia.org/wiki/Goniometer#Protractor&#34;&gt;protractor&lt;/a&gt; and hope that my memories from my geometry class in the 8th grade were some of those &lt;a href=&#34;https://www.theguardian.com/lifeandstyle/2017/oct/22/head-space-why-our-adolescent-memories-are-so-clear&#34;&gt;ones that were more cemented in due to all the neuro activity we have when going through our teenage years&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;Building&#34;&gt;&lt;a href=&#34;#Building&#34; class=&#34;headerlink&#34; title=&#34;Building&#34;&gt;&lt;/a&gt;Building&lt;/h3&gt;&lt;p&gt;So I unloaded all the wood in the little garden of my little cabin:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_07.jpg&#34; class=&#34;&#34; title=&#34;Wood at last&#34;&gt;

&lt;p&gt;and then got started.  This particular piece of the cut list started it all off: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2x4 @ 31 7&amp;#x2F;8” long, ONE end cut at 35 degrees off square to longest point, OTHER END cut at 20 degrees off square to shortest point.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let’s just say that for me, someone who never had shop class in high school, it took a while to break down all the information in that line:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;31 7&amp;#x2F;8” long&lt;/strong&gt;: How do I even find that on my tape measure???  Well, by counting the little lines between each inch (fortunately an american tape measure came over the pond with me way back when) and low and behold there are 7 lines  between each inch!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ONE end cut at 35 degrees off square to longest point&lt;/strong&gt;: hummm. That means on one end find 35º and cut at that angle, but be careful because that means the piece is actually longer then 31 7&amp;#x2F;8” because it goes in the other direction. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OTHER END cut at 20 degrees off square to shortest point&lt;/strong&gt;: I have no idea but thanks to the picture and putting it next to the board I was able to figure out what to do, but have no capacity to explain it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After lots of figuring out how to use a &lt;a href=&#34;https://en.wikipedia.org/wiki/Goniometer#Protractor&#34;&gt;protractor&lt;/a&gt; I was able to do all the cuts and had I had a speed square think it would have been easier, but that is why each proper tool for each job increases productivity, where I am just in it for the fun and getting a Sunset Chair out of it. Here it does not look like much, but was a major challenge for me:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_08.jpg&#34; class=&#34;&#34; title=&#34;Sweet baby jesus I did it&#34;&gt;

&lt;p&gt;After that the next three cuts were almost like walking through the park:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;2x4 @ 20 3&amp;#x2F;4” long with BOTH ends cut PARALLEL at 15 degrees off square, long point to short point measurement (back legs)&lt;/li&gt;
&lt;li&gt;2x4 @ 20” (front legs)&lt;/li&gt;
&lt;li&gt;2x2 @ 26 1&amp;#x2F;2” long, longest point measurement, ONE end cut at 15 degrees off square (arm support)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;and connecting them we begin to see a shape:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_09.jpg&#34; class=&#34;&#34; title=&#34;One side done&#34;&gt;

&lt;p&gt;and in no time we have two sides ready and my little dog decides it is a good time for a break:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_10.jpg&#34; class=&#34;&#34; title=&#34;Two sides&#34;&gt;

&lt;p&gt;and then it actually starts taking shape:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_11.jpg&#34; class=&#34;&#34; title=&#34;Shape&#34;&gt;

&lt;p&gt;and then taking form:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_12.jpg&#34; class=&#34;&#34; title=&#34;Form&#34;&gt;

&lt;p&gt;and then taking form like a Adirondack:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_13.jpg&#34; class=&#34;&#34; title=&#34;Adirondack&#34;&gt;

&lt;p&gt;and then taking form like a Adirondack chair:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_14.jpg&#34; class=&#34;&#34; title=&#34;Adirondack Chair&#34;&gt;

&lt;p&gt;then it was a question of applying a layer of lasur:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_01.gif&#34; class=&#34;&#34; title=&#34;One side done&#34;&gt;

&lt;p&gt;And with left over scraps I was able to make an accompanying cocktail table (no plans or anything, now that I am an accomplished wood worker I just wung it!) and enjoying the sunset in my Sunset chair with a cool beverage was oh such a nice highlight of my solstice vacation!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ana-white.com/woodworking-projects/heavy-duty-adirondack-chair-plans-back-leg-and-footstool&#34;&gt;The Adirondack chair plans I used&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=gNhWpuWvtEA&#34;&gt;Great video on using speed square&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=6kAmB7PtH2c&#34;&gt;Another great video on using speed square&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://maderasmarbella.es/&#34;&gt;Lumber yard where I got the wood&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
&lt;h3 id=&#34;1-My-hello-world-OS&#34;&gt;&lt;a href=&#34;#1-My-hello-world-OS&#34; class=&#34;headerlink&#34; title=&#34;[1] My hello world OS&#34;&gt;&lt;/a&gt;[1] My hello world OS&lt;/h3&gt;&lt;p&gt;I did spend one solstice vacation morning with coffee in bed and wrote a simple hello world OS following the steps in Nick Blundell’s wonderful &lt;a href=&#34;https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf&#34;&gt;Writing a Simple Operating System —from Scratch&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2024/06/29/2024-Summer-Solstice-Project/ss2024_15.jpg&#34; class=&#34;&#34; title=&#34;My very own os!&#34;&gt;
</content>
        <category term="SummerSolstice" />
        <updated>2024-06-29T15:33:06.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/</id>
        <title>Move over WiFi Range Extender, Jupiterstation now is equiped with a Mesh</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/"/>
        <content type="html">&lt;p&gt;After lots of complaining from the youngest member of the family and failed attempts at improving things via WiFi extenders, this week I bought a Wireless mesh system from &lt;a href=&#34;https://www.mercusys.com/en/product/list-18839&#34;&gt;Mercusys&lt;/a&gt; system after a coworker sang its praises.&lt;br&gt;I did not even shop around for other brands or wish wash just searched Amazon and saw lots of different options but figured the potential 867mbps was more than enough for my needs so I went with the Halo H32G AC 1200 system for 64€&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Packaging&#34;&gt;&lt;a href=&#34;#Packaging&#34; class=&#34;headerlink&#34; title=&#34;Packaging&#34;&gt;&lt;/a&gt;Packaging&lt;/h2&gt;&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh01.jpg&#34; class=&#34;&#34; title=&#34;Front&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh02.jpg&#34; class=&#34;&#34; title=&#34;Side&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh03.jpg&#34; class=&#34;&#34; title=&#34;Back&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh04.jpg&#34; class=&#34;&#34; title=&#34;Other Side&#34;&gt;

&lt;h2 id=&#34;Setup&#34;&gt;&lt;a href=&#34;#Setup&#34; class=&#34;headerlink&#34; title=&#34;Setup:&#34;&gt;&lt;/a&gt;Setup:&lt;/h2&gt;&lt;p&gt;To set up you need an android or iphone application and it could not be easier.  This is truly the age of plug in play for wireless and I had it up and running with 3 nodes in 10 minutes.&lt;br&gt;With such ease there are also drawbacks such as being dependent on their cloud services longevity for configuration and use and lack of possibilities to really get under the hood and tweak things.  This may be possible but for now I have not investigated but I am truly enjoying that whenever a new devices joins the network i get an alert on my phone.&lt;/p&gt;
&lt;h2 id=&#34;Android-App&#34;&gt;&lt;a href=&#34;#Android-App&#34; class=&#34;headerlink&#34; title=&#34;Android App:&#34;&gt;&lt;/a&gt;Android App:&lt;/h2&gt;&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh05.jpg&#34; class=&#34;&#34; title=&#34;Startup&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh06.jpg&#34; class=&#34;&#34; title=&#34;Status&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh07.jpg&#34; class=&#34;&#34; title=&#34;Config&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh08.jpg&#34; class=&#34;&#34; title=&#34;WiFi Options&#34;&gt;
&lt;img src=&#34;/2024/05/25/Move-over-WiFi-Range-Extender-Jupiterstation-now-is-equiped-with-a-Mesh/mesh09.jpg&#34; class=&#34;&#34; title=&#34;Advanced Options&#34;&gt;

&lt;h2 id=&#34;Experience-and-opinion&#34;&gt;&lt;a href=&#34;#Experience-and-opinion&#34; class=&#34;headerlink&#34; title=&#34;Experience and opinion:&#34;&gt;&lt;/a&gt;Experience and opinion:&lt;/h2&gt;&lt;p&gt;I have only been using it for a few days, but so far it is really such an improvement over range extenders that require multiple SSIDs and you never seem to be connected to the right one requiring manual intervention.  This publishes a single SSID that works for both 2.4 o 5 GHz (I disabled the 2.4 GHz due to such over saturation in apartment living) and your device just connects to it and then roams completely transparently as needed.  &lt;/p&gt;
&lt;p&gt;The easy setup is also really remarkable.&lt;/p&gt;
&lt;p&gt;The downside is the dependency on a cloud service and the longevity of the same and the lack of tweakability.  But at 64€ I think that is an acceptable tradeoff and at this point I just want it to work and not have any more squeaking from the youngest one about lack of WiFi in her room, which so far seems to be silenced!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="TechToys" />
        <updated>2024-05-25T09:37:56.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/04/05/Looks-like-i-picked-the-wrong-week-to-quit-sniffing-glue/</id>
        <title>Looks like i picked the wrong week to quit sniffing glue</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/04/05/Looks-like-i-picked-the-wrong-week-to-quit-sniffing-glue/"/>
        <content type="html">&lt;p&gt;This week reminds me a bit of the &lt;a href=&#34;https://en.wikipedia.org/wiki/Airplane!&#34;&gt;Airplane!&lt;/a&gt; scenes &lt;a href=&#34;https://www.youtube.com/watch?v=lm8fYf53SMg&#34;&gt;“a bad week to have quit […]&lt;/a&gt;” where it starts off with smoking and then escalates from there.&lt;br&gt;Not sure which came out first, but on the same night I stayed up late reading the &lt;a href=&#34;https://www.cisa.gov/resources-tools/resources/cyber-safety-review-board-releases-report-microsoft-online-exchange-incident-summer-2023&#34;&gt;Cyber Safety Review Board’s report&lt;/a&gt; on their investigation and recommendations on the Microsoft Exchange Online intrusion I stumbled on the &lt;a href=&#34;https://www.openwall.com/lists/oss-security/2024/03/29/4&#34;&gt;opensource xz backdoor attack&lt;/a&gt; while trying to find out more about the Microsoft incident.&lt;/p&gt;
&lt;p&gt;So given that both events are not really too serious in that the Microsoft report was a hack that happened back in June and the xz thing is actually a positive in that it was a foiled attempt to plant a backdoor, why did this make  an airplane bad week to have quit moment?  Well, good question, and it comes down to the fact that since staying up late reading the report and then reading about the xz I have not stopped looping back to both events and questioning the bigger implications.  Kinda like a movie or book that you watch, and then spend the next few days looking at it from multiple angles, and seeing things from those new angles.&lt;/p&gt;
&lt;p&gt;So let’s first give a high level overview of both for those who have not heard about them, then let’s enumerate those new angles and pondering in attempt to organize my thoughts!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;Cyber-Safety-Review-Board’s-report-on-Microsoft-Online-Exchange-Incident-from-Summer-2023&#34;&gt;&lt;a href=&#34;#Cyber-Safety-Review-Board’s-report-on-Microsoft-Online-Exchange-Incident-from-Summer-2023&#34; class=&#34;headerlink&#34; title=&#34;Cyber Safety Review Board’s report on Microsoft Online Exchange Incident from Summer 2023&#34;&gt;&lt;/a&gt;Cyber Safety Review Board’s report on Microsoft Online Exchange Incident from Summer 2023&lt;/h2&gt;&lt;p&gt;The report is very interesting summary of their investigation outlining the facts, findings, and recommendations. It is of particular note that the board did not mince words or hold back on their holding Microsoft to blame for the intrusion and that their recommendations are very far reaching. &lt;/p&gt;
&lt;h3 id=&#34;What-happened&#34;&gt;&lt;a href=&#34;#What-happened&#34; class=&#34;headerlink&#34; title=&#34;What happened?&#34;&gt;&lt;/a&gt;What happened?&lt;/h3&gt;&lt;p&gt;On June 15th the US State Department’s Security Operation Center (SOC) received multiple alerts for a custom “Big Yellow Taxi” event correlation rule (Politico has published a bit more information about this in an &lt;a href=&#34;https://www.politico.com/news/2023/09/15/digital-tripwire-helped-state-uncover-chinese-hack-00115973&#34;&gt;article&lt;/a&gt; in September 2023 but I have not been able to find much more technical details about the rule). The rule had previously given some false positives, but this time it hit pay dirt and alerted the SOC to what was in fact a real intrusion that had been completely undetected by Microsoft or any of the other victims that were later identified.&lt;/p&gt;
&lt;p&gt;This lead to what I can imagine was a rough next few days for the State Department security guys and Microsoft while they investigated what the heck was happening: A threat actor was using a 2016 &lt;a href=&#34;https://en.wikipedia.org/wiki/Microsoft_account&#34;&gt;MSA&lt;/a&gt; key to forge authentication tokens that allowed access to their victim’s Exchange Online account.&lt;/p&gt;
&lt;p&gt;This was strange and puzzling for 3 main reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How was someone forging tokens?&lt;/li&gt;
&lt;li&gt;Why was a key from 2016 still working in 2023?&lt;/li&gt;
&lt;li&gt;Why was a token for Microsoft’s consumer authentication system working with Microsoft’s Enterprise Exchange Online system?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All are good questions and have been answered but the first as it is still unclear how someone other than Microsoft came into possession of a MSA master key from 2016. There are theories it was from some previous intrusion on Microsoft’s systems, but the smoking gun has not yet been found.&lt;/p&gt;
&lt;p&gt;The reason why such an old key was working was that because the MSA identity infrastructure was created more than 20 years ago and had no automated signing key rotation system so it had to be done manually. In 2021 one of these interventions caused a major outage and since then Microsoft had stopped rotating the keys, allowing the one from 2016 to generate authentication tokens that were valid.  &lt;/p&gt;
&lt;p&gt;And for the third: Microsoft created authentication API’s that were useable for both their enterprise system and consumer system and had not bothered to make sure that the authentication token from each system was only valid on it and not the other.&lt;/p&gt;
&lt;h3 id=&#34;What-keeps-bouncing-around-my-head-about-Microsoft-Online-Exchange-Incident&#34;&gt;&lt;a href=&#34;#What-keeps-bouncing-around-my-head-about-Microsoft-Online-Exchange-Incident&#34; class=&#34;headerlink&#34; title=&#34;What keeps bouncing around my head about Microsoft Online Exchange Incident?&#34;&gt;&lt;/a&gt;What keeps bouncing around my head about Microsoft Online Exchange Incident?&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Why did multi-factor authentication (MFA) not stop this?&lt;/strong&gt;&lt;br&gt;We have spent the last few years with considerable effort and cost ensuring all systems have MFA and for what if someone just completely bypassed that whole part of the process!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How many accounts were compromised?&lt;/strong&gt;&lt;br&gt;Luckily the Sate Department had some really smart people (or probably one really smart person) who implemented the Big Yellow Taxi and this all came to light, but how long had this been in use before they tried it against the Sate Department?&lt;br&gt;Well, we don’t know because the logs needed to detect it were only held for 30 days so once it was clear what was going on they were analyzed they only had data that went back a month.  In that month of data it was determined that accounts of 22 enterprise organizations had been compromised (I have not seen data on the number of individual email accounts compromised).&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;xz-backdoor&#34;&gt;&lt;a href=&#34;#xz-backdoor&#34; class=&#34;headerlink&#34; title=&#34;xz backdoor&#34;&gt;&lt;/a&gt;xz backdoor&lt;/h2&gt;&lt;p&gt;This incident is more recent and currently ongoing and all kicked off on Friday March 29th when Andres FREUND published a &lt;a href=&#34;https://www.openwall.com/lists/oss-security/2024/03/29/4&#34;&gt;(post&lt;/a&gt; to a &lt;a href=&#34;https://www.openwall.com/&#34;&gt;Openwall&lt;/a&gt; opensource security mailing list indicating while investigating some performance issues of SSH on a bleeding edge version of Debian he had discovered a backdoor. His investigation is &lt;em&gt;really&lt;/em&gt; detailed and led him down a long and twisty rabbit hole eventually arriving at:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It was not SSH that was causing higher than usual CPU utilization but a package called &lt;a href=&#34;https://en.wikipedia.org/wiki/XZ_Utils&#34;&gt;XZ Utils &lt;/a&gt; that had a backdoor that had been planted in the latest release.&lt;/li&gt;
&lt;li&gt;SSH was using this library for &lt;a href=&#34;https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm&#34;&gt;LZMA&lt;/a&gt; compression algorithm.&lt;/li&gt;
&lt;li&gt;The attacker specifically targeted Debian and RedHat in the build process because both used system level libraries via systemd allowing this backdoor to be placed in an obscure downstream library subjected to less scrutiny than SSH.&lt;/li&gt;
&lt;li&gt;The actual back door was not in the GitHub code but was in the configure script, tarballs and also  binary files that were in the test area to load aspects of the backdoor.  The working of linux releases and how all this is compiled and included is beyond my grasp, but the important thing here is that it was not just a backdoor sitting in the source code easy to see, but obfuscated in multiple layers. &lt;/li&gt;
&lt;li&gt;The backdoor is invoked by connecting via SSH with a specially crafted SSH key that while being LZMA decompressed in the xz library allows the attacker to run a payload.&lt;/li&gt;
&lt;li&gt;The attacker actually &lt;a href=&#34;https://research.swtch.com/xz-timeline&#34;&gt;started planting the seeds for this in 2021&lt;/a&gt;, so this was a long game adversary with lots of patience.  The final touches of the backdoor were introduced into the code repo on February 23 and had only made it into beta versions of  Debian and RedHat Fedora and before being detected by Andres FREUND on March 28th.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;What-keeps-bouncing-around-my-head-about-xz-backdoor&#34;&gt;&lt;a href=&#34;#What-keeps-bouncing-around-my-head-about-xz-backdoor&#34; class=&#34;headerlink&#34; title=&#34;What keeps bouncing around my head about xz backdoor?&#34;&gt;&lt;/a&gt;What keeps bouncing around my head about xz backdoor?&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Near miss but what other things are out there that have not been detected?&lt;/strong&gt;&lt;br&gt;Thanks to Andres FREUND this crazy backdoor was detected after being in the wild only a month and had not made it into any mainstream releases and the clean up has been easy due to the small footprint of impacted systems.  But what other backdoors have been placed and not detected?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is open source really such a good thing?&lt;/strong&gt;&lt;br&gt;I understand this question is &lt;em&gt;very&lt;/em&gt; polemic but I put the question keeps coming back to me on three fronts: 1. It allows bad actors to find security holes and exploit them without reporting them. 2. It allows bad actors to try and plant exploits as demonstrated in this case.  3. This allows counties we might not necessarily agree with their policies appropriate the knowledge and technology (i am looking at you North Korea). I am sure all of these points have been hashed over by people much smarter than me, but these are the things that keep bouncing around my mind the last few days.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How do you protect against supply chain attacks?&lt;/strong&gt;&lt;br&gt;It is hard enough just keeping a clear inventory of all OS’s and applications and keeping them patched and secure, but given this attack at an underlying library it is clear that even all that effort might not be enough so how to even go about it this additional complexity?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is it a good idea just keep patching?&lt;/strong&gt;&lt;br&gt;Had this been undetected, at some point in the not too distant future I would have been doing my normal good hygiene patching of my Debian systems and instead of making them more secure, I would have planted a big fat SSH backdoor on them. That is kinda the opposite effect I was hoping for spending my time patching!&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Learning-take-aways&#34;&gt;&lt;a href=&#34;#Learning-take-aways&#34; class=&#34;headerlink&#34; title=&#34;Learning take aways&#34;&gt;&lt;/a&gt;Learning take aways&lt;/h2&gt;&lt;p&gt;So after getting over my “wrong week to have quit sniffing glue” shock, I need to see these events as what they are:  a learning event that needs to be taken advantage of in our loop of constant improvement.  So in that vein here is what I have identified so far:&lt;br&gt;(1) Security continues be like an onion and is achieved through layer after layer.&lt;br&gt;(2) The more footprint you have the more possible vulnerabilities you have.  Get rid of anything not essentially needed (services, applications, browser plugins, etcetera).&lt;br&gt;(4) I hope with this will encourage more funding into code reviews of open source packages that have obscure unknown names but are a what make up and enable what we know as the internet.&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.cisa.gov/resources-tools/resources/cyber-safety-review-board-releases-report-microsoft-online-exchange-incident-summer-2023&#34;&gt;Cyber Safety Review Board’s report on their investigation and recommendations on the Microsoft Exchange Online incident in the Summer of 2023&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.openwall.com/lists/oss-security/2024/03/29/4&#34;&gt;Andres FREUND initial post to open source security mailing list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CVE for xz backdoor: &lt;a href=&#34;https://nvd.nist.gov/vuln/detail/CVE-2024-3094&#34;&gt;CVE-2024-3094&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Great Wired Article that I found after writing this and was doing some fact checking: &lt;a href=&#34;https://www.wired.com/story/xz-backdoor-everything-you-need-to-know/&#34;&gt;The XZ Backdoor: Everything You Need to Know&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;NPR All Things Considered interview with Andres FREUND: &lt;a href=&#34;https://www.npr.org/2024/04/11/1244174104/one-engineer-may-have-saved-the-world-from-a-massive-cyber-attack&#34;&gt;One engineer may have saved the world from a massive cyber attack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <category term="Security" />
        <updated>2024-04-05T15:18:16.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/02/29/Up-and-Over/</id>
        <title>Up and Over</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/02/29/Up-and-Over/"/>
        <content type="html">&lt;p&gt;I recently flew from Madrid to Los Angles (MAD - LAX) and had the luck to have a window seat and was able to GPS track the flight, something I have had mixed luck with in past attempts:&lt;/p&gt;
&lt;img src=&#34;/2024/02/29/Up-and-Over/upAndOver_MAD_LAX.jpg&#34; class=&#34;&#34; title=&#34;Up and Over!&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;On the way back I was in the center isle and was not able to get a GPS signal so had to use the plane’s built in tracker to get an idea of the route:&lt;/p&gt;
&lt;img src=&#34;/2024/02/29/Up-and-Over/upAndOver_LAX_MAD.jpg&#34; class=&#34;&#34; title=&#34;and Over!&#34;&gt;

&lt;p&gt;It is interesting that going from Europe to California they go on an “up and over” route, where the way back is more across the whole continental US route.  I asked my little buddy (ChatGPT) why this was, but he gave a pretty wishy washy cover all bases response about different routes depending on a variety of factors including head winds, fuel economy, bla bla bla.  So I had to go to google and near as I can figure must be to avoid the atlantic jet stream that flows west to east.  That also might explain with the MAD - LAX trip took 11 hours 55 minutes and 8 seconds while the LAX - MAD trip only took 10 hours 38 minutes and 37 seconds (a full hour and 17 minutes less!).&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <category term="Data" />
        <updated>2024-02-29T15:15:14.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2024/01/14/Holiday-Season-2023/</id>
        <title>Holiday Season 2023</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2024/01/14/Holiday-Season-2023/"/>
        <content type="html">&lt;p&gt;I just took the last of the Christmas decoration boxes down to the storage room.  A melancholy mood has settled over me as the silly season has officially come to a close.  Tomorrow the University students from the Forestry School will come to pick up the tree we have had leased from them for the season, and the last vestiges of Christmas will be completely gone until the end of next November. What better way to combat melancholy with a review of the season?&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;City-Lights&#34;&gt;&lt;a href=&#34;#City-Lights&#34; class=&#34;headerlink&#34; title=&#34;City Lights&#34;&gt;&lt;/a&gt;City Lights&lt;/h2&gt;&lt;p&gt;So being good ritual fearing Americans we had to wait until after Thanksgiving to kick off the festivities.  As all festivity clocks seem to be synchronized, the first day of turning on the Christmas lights in Madrid just happens to be the 4th Thursday of November, which also happens to be Thanksgiving.  As we actually tend to celebrate on Saturday instead of Thursday, it was just another day for us, but we did find a chance to run out and check out the new lights they had strung near our house:&lt;/p&gt;
&lt;img src=&#34;/2024/01/14/Holiday-Season-2023/h2023_lights.jpg&#34; class=&#34;&#34; title=&#34;Let there be lights&#34;&gt;

&lt;h1 id=&#34;Music&#34;&gt;&lt;a href=&#34;#Music&#34; class=&#34;headerlink&#34; title=&#34;Music&#34;&gt;&lt;/a&gt;Music&lt;/h1&gt;&lt;p&gt;I used to make MP3 CDs with collections of all the Christmas albums that I could find, but now Spotify and 365 Day a Year Christmas music channels have made that need antiquated.  Needless to say once passed the Thanksgiving barrier our house was full of Christmas cheer from the living room to kitchen in all walking hours.  I did make one improvement this year, retooling my wife’s old iPhone 6 Plus into a streaming device connected to our living room radio via an official Apple Lightning dock bought second hand on Walapop for 20€.  It was rather amusing as the first iPhone came with a dock that had a mini jack to split music and got lots of use, and I was searching high a low on the internet for just such a thing a newer iPhone and found nothing until I thought to check what Apple offered.  It appears that it might be on the way out as at the Apple store it was not available, but having found the reference was enough to find one second hand and will give a whole new extended life to the iPhone 6 Plus (Remember kids: the first of the 3 “r”s is reuse).  I was also to make a significant upgrade to our endless Christmas songs figuring out how to get the same music streamed to our kitchen and living room at the same time.  This involved taking advantage of our Spotify Family account and setting up a specific family member account for the iPhone 6 Plus and adding it to a remote group session when we want to have the music throughout the whole house (used daily really).&lt;/p&gt;
&lt;h2 id=&#34;Tree&#34;&gt;&lt;a href=&#34;#Tree&#34; class=&#34;headerlink&#34; title=&#34;Tree&#34;&gt;&lt;/a&gt;Tree&lt;/h2&gt;&lt;p&gt;Respecting the Thanksgiving demarking line, the earliest possible date to have leased a tree for us would have been Sunday November 26th, but as my main partner in crime is herself a first year university student, we had to accommodate her availability to help in the sacred ritual of tree selection, which was not until Thursday November 30th. At least we made our target to get a tree before December.  Our initial desire &lt;em&gt;fortunately&lt;/em&gt; was out of our budget as the Forestry School students only accept cash (something I seem to always forget):&lt;/p&gt;
&lt;img src=&#34;/2024/01/14/Holiday-Season-2023/h2023_tree.jpg&#34; class=&#34;&#34; title=&#34;Good thing we did not have the cash for his beauty&#34;&gt;

&lt;p&gt;So we had had to accommodate our budget that was limited to the cash we happened to have on hand: 110€.  This was all VERY fortunate because our first pick would have been multiple feet taller than our living room ceiling.  We were able to secure a tree before the December deadline but the actual decorating of it had to wait until the weekend and as always turned out spectacular:&lt;/p&gt;
&lt;img src=&#34;/2024/01/14/Holiday-Season-2023/h2023_tree2.jpg&#34; class=&#34;&#34; title=&#34;Yogo Dog photo bombed this one&#34;&gt;

&lt;h2 id=&#34;Advent-Calendar&#34;&gt;&lt;a href=&#34;#Advent-Calendar&#34; class=&#34;headerlink&#34; title=&#34;Advent Calendar&#34;&gt;&lt;/a&gt;Advent Calendar&lt;/h2&gt;&lt;p&gt;So, not sure how many other Californians have this tradition, or if it is unique to my family as they had lived a few years in Germany, but when I was a kid my mom always made an advent calendar.  Her advent calendar was with match boxes wrapped in paper and tied in a tree formation and contained little gifts that would fit in a match box.  I felt a little contained by the match box size limitations (and where would I find match boxes?) so I have gone with envelopes for my advent calendars which afford the convenience of coming in all sorts of sizes and I tend to have a mix of all sorts. This year I included gifts for my imitate family as well my mother in law and wrote the name of the recipient on the back. Here is how it looked on December 1st:&lt;/p&gt;
&lt;img src=&#34;/2024/01/14/Holiday-Season-2023/h2023_calendar.jpg&#34; class=&#34;&#34; title=&#34;Advent Calendar&#34;&gt;

&lt;h2 id=&#34;Baking&#34;&gt;&lt;a href=&#34;#Baking&#34; class=&#34;headerlink&#34; title=&#34;Baking&#34;&gt;&lt;/a&gt;Baking&lt;/h2&gt;&lt;p&gt;This year I never got around to baking any cookies,  but there was a bit of unplanned trip to Los Angeles that did allow me to spread a bit of Spanish sweetbread traditions in the form of a Roscon de Reyes a bit premature on Christmas day with my family in the States that  very well received.  Here is the picture of it:&lt;/p&gt;
&lt;img src=&#34;/2024/01/14/Holiday-Season-2023/h2023_roscone.jpg&#34; class=&#34;&#34; title=&#34;Kings day bread&#34;&gt;

&lt;p&gt;In total I made quite a few Roscons and plan to make one in the coming weeks for my coworkers as it is a tasty treat that needs to be enjoyed when the ingredients are available.&lt;br&gt;I was able to also make an almond roca and share with multiple neighbors which is a good tactic when fresh almond roca has been made, otherwise all will be eaten without realizing it!&lt;/p&gt;
&lt;h2 id=&#34;Movies&#34;&gt;&lt;a href=&#34;#Movies&#34; class=&#34;headerlink&#34; title=&#34;Movies&#34;&gt;&lt;/a&gt;Movies&lt;/h2&gt;&lt;p&gt;As you can appreciate at this point, I am a bit of a hound for traditions and love Christmas movies.  As everyone’s concept of Christmas movies is a bit different I will limit myself to only listing the ones I was able to enjoy again this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Love Actually&lt;/li&gt;
&lt;li&gt;Die Hard&lt;/li&gt;
&lt;li&gt;Christmas Vacation&lt;/li&gt;
&lt;li&gt;How the Grinch Stole Christmas&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Closing-Thoughts&#34;&gt;&lt;a href=&#34;#Closing-Thoughts&#34; class=&#34;headerlink&#34; title=&#34;Closing Thoughts&#34;&gt;&lt;/a&gt;Closing Thoughts&lt;/h2&gt;&lt;p&gt;And so this was my post Holidays blues post.  Can’t wait until the next silly season!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SillySeason" />
        <updated>2024-01-14T11:46:11.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/12/07/ReCalendar/</id>
        <title>ReCalendar</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/12/07/ReCalendar/"/>
        <content type="html">&lt;p&gt;As the year comes to a close, I began thinking I need to prepare my reMarkable PDF agenda for 2024.  I first discovered the concept from&lt;br&gt;Vitaliy Kudryk’s &lt;a href=&#34;https://github.com/kudrykv/latex-yearly-planner&#34;&gt;latex-yearly-planner&lt;/a&gt; then found the amazing website &lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt; that allows you to build your own personalized calendar PDF for Remarkable tablets.  It is how I have been mostly using my reMarkable this year, and the only little complaint I had about the calendar is that it has lines instead of dots:&lt;/p&gt;
&lt;img src=&#34;/2023/12/07/ReCalendar/recalendar_01.jpg&#34; class=&#34;&#34; title=&#34;lines&#34;&gt;

&lt;p&gt;So, as we are enjoying a loooong holiday weekend here in Spain I thought I would try and prepare a PDF calendar with dots!  &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;I thought the my ticket to making my own doted PDF calendar agendas would have been via Vitaliy Kudryk’s &lt;a href=&#34;https://github.com/kudrykv/latex-yearly-planner&#34;&gt;latex-yearly-planner&lt;/a&gt; but the more deeply I dove into the forum and multiple different types of PDFs he has made available, the more I realized that to use his code I would need to at least understand a little about &lt;a href=&#34;https://www.latex-project.org/&#34;&gt;LaTeX&lt;/a&gt;, something I had been avoiding since my university days when I was first exposed to it, emacs and vi. Of the three the only I used then and still use today (still as a newbie) is vi, and kinda figured if I made it this far with out the LaTeX tool in my belt I could leave that space open for some other tool and not dedicate my dwindling synapses to trying to understand something clearly out of my league.  &lt;/p&gt;
&lt;p&gt;So I tunned my attention to &lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt; and realized it too was open source with the code on &lt;a href=&#34;https://github.com/klimeryk/recalendar.js/&#34;&gt;GitHub&lt;/a&gt;.  I began reviewing the discussions and pull requests and found that someone had tried to do just what I was looking for: &lt;a href=&#34;https://github.com/klimeryk/recalendar.js/issues/103&#34;&gt;Support for Dotted Itinerary Pages&lt;/a&gt;.   So after a bit of playing around I was able to get a docker container running the current version of &lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt; and then downloaded the pull request version and got it to generate me a PDF calendar agenda with dots:&lt;/p&gt;
&lt;img src=&#34;/2023/12/07/ReCalendar/recalendar_02.jpg&#34; class=&#34;&#34; title=&#34;dots!&#34;&gt;

&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;p&gt;The first thing I need was a docker container to launch &lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt;.  Please note that I see and use docker as a way to have a small virtual machine that is stuck in time and does one thing, and I can count on it still doing that one thing today, tomorrow, and the next day, even if my OS has changed, my Python version has changed, or any of the other multiple dependencies have changed.   The reason I feel this need is due to me being unable to develop for my &lt;a href=&#34;https://en.wikipedia.org/wiki/Pebble_(watch)&#34;&gt;Pebble&lt;/a&gt; because some MacOS update totally broke the development and cross compilation chain that was working so well. &lt;/p&gt;
&lt;p&gt;So first I fired up a debian container with a folder mapped so I can edit recalendar (-v) from Visual Studio Code if need be, and port 91 (-p) exposed and mapped to the containers port 3000 (where recalendar will be listening once started) :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker run -it -d --restart unless-stopped --name recalendar -p 91:3000 -v /sd/pv/recalendar:/recalendar:rw arm64v8/node:18-bullseye
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then connected to the little doggie and downloaded the most recent version of &lt;a href=&#34;https://recalendar.me/&#34;&gt;Recalendar&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@ersa:~ $ sudo docker exec -it recalendar /bin/bash
root@2c4554a7e94d:/# cd /recalendar
root@2c4554a7e94d:/recalendar# wget https://github.com/klimeryk/recalendar.js/archive/refs/heads/master.zip
Saving to: &amp;#39;master.zip&amp;#39;
master.zip.                                  [      &amp;lt;=&amp;gt;                                                                             ]   3.09M  2.67MB/s    in 1.2s

2023-12-07 18:13:40 (2.67 MB/s) - &amp;#39;master.zip&amp;#39; saved [3241877]
root@2c4554a7e94d:/recalendar#
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then unzipped it and did a couple yarn things that I have no idea what this does or means:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;yarn install
yarn start  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and waited a bit and saw this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Compiled successfully!

You can now view recalendar.js in the browser.

Local:            http://localhost:3000
On Your Network:  http://172.17.0.13:3000

Note that the development build is not optimized.
To create a production build, use yarn build.

webpack compiled successfully
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Could it really have been that easy????&lt;br&gt;Well yes it can:&lt;/p&gt;
&lt;img src=&#34;/2023/12/07/ReCalendar/recalendar_03.jpg&#34; class=&#34;&#34; title=&#34;dots!&#34;&gt;

&lt;p&gt;Just to be sure I generated a 2024 line PDF calendar agenda and it worked like a charm.  But the more amazing magic happened when I downloaded the &lt;a href=&#34;https://github.com/gmg/recalendar.js/archive/refs/heads/dot-grid.zip&#34;&gt;pull request version&lt;/a&gt; and fired it up to see a new option:&lt;/p&gt;
&lt;img src=&#34;/2023/12/07/ReCalendar/recalendar_04.jpg&#34; class=&#34;&#34; title=&#34;oh joy!&#34;&gt;

&lt;p&gt;As gmg mentioned in his &lt;a href=&#34;https://github.com/klimeryk/recalendar.js/pull/107&#34;&gt;pull request&lt;/a&gt; there are some limitations such as trying to add an additional page to daily entries generates an out of memory when generating the final pdf, but after some experimenting I decided a single page WITH DOTS is just fine and dandy for my needs!&lt;/p&gt;
&lt;p&gt;The best is now I have the ability to generate my own PDF calendar agenda in the years to come!&lt;/p&gt;
&lt;h2 id=&#34;Some-final-checks&#34;&gt;&lt;a href=&#34;#Some-final-checks&#34; class=&#34;headerlink&#34; title=&#34;Some final checks&#34;&gt;&lt;/a&gt;Some final checks&lt;/h2&gt;&lt;h1 id=&#34;Any-external-dependencies&#34;&gt;&lt;a href=&#34;#Any-external-dependencies&#34; class=&#34;headerlink&#34; title=&#34;Any external dependencies?&#34;&gt;&lt;/a&gt;Any external dependencies?&lt;/h1&gt;&lt;p&gt;Just to be sure that my ReCalendar docker image was really stand alone not dependent on some internet libraries I fired up a tcpdump started recalendar, generated a PDF calendar agenda and ensured that I saw not outbound traffic.  &lt;/p&gt;
&lt;p&gt;I also did the same from the debug window of Edge to ensure my browser was not loading any scripts from sources other than my local docker image and looks all good!&lt;/p&gt;
&lt;h1 id=&#34;backup-and-restore-test&#34;&gt;&lt;a href=&#34;#backup-and-restore-test&#34; class=&#34;headerlink&#34; title=&#34;backup and restore test&#34;&gt;&lt;/a&gt;backup and restore test&lt;/h1&gt;&lt;p&gt;I then made a backup of the docker image:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@ersa:~/docker-recalendar $ sudo docker image save -o recalendar.tar 8c17fd2846d3
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and copied it and the persistent volume file system to another raspberry pi and tested loading it and ensuring that it was a complete image with the ReCalender ready to go:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker import recalendar.tar recalendar
sudo docker run -it -d --restart unless-stopped --name recalendar -p 91:3000 -v /sd/pv/recalendar:/recalendar:rw recalendar
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;but it does not work!!!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@raspberrypi:~/recalendar $ sudo docker run -it -d --restart unless-stopped --name recalendar -p 91:3000 -v /sd/pv/recalendar:/recalendar:rw recalendar
docker: Error response from daemon: No command specified.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hummm! I will have to continue to test and update here once working!&lt;br&gt;That children is why you ALWAYS test backups!!!!&lt;/p&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/kudrykv/latex-yearly-planner&#34;&gt;latex-yearly-planner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://recalendar.me/&#34;&gt;Recalendar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="NeverStopLearning" />
        <category term="TechToys" />
        <category term="Remarkable" />
        <category term="Docker" />
        <updated>2023-12-07T11:34:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/11/05/Haiku-Sunny-Fall-Day/</id>
        <title>Haiku: Sunny Fall Day</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/11/05/Haiku-Sunny-Fall-Day/"/>
        <content type="html">&lt;img src=&#34;/2023/11/05/Haiku-Sunny-Fall-Day/haiku_sunny_fall_day.jpg&#34; class=&#34;&#34; title=&#34;Sunny Fall Day&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2023-11-05T08:42:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/09/16/Podcast-Glory/</id>
        <title>Podcast Glory</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/09/16/Podcast-Glory/"/>
        <content type="html">&lt;p&gt;I am currently living in a podcast glory moment of tremendously enjoying and taking advantage of the golden age of podcasts that we are currently living. And the best part is that this is due to adopting two technological changes I was totally against and had resisted until a series of circumstances helped force the change.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Details&#34;&gt;&lt;a href=&#34;#Details&#34; class=&#34;headerlink&#34; title=&#34;Details&#34;&gt;&lt;/a&gt;Details&lt;/h2&gt;&lt;p&gt;The two technological changes I was resisting and their reasons are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;having a mobile phone without a mini audio jack&lt;br&gt;Removing the mini audio jack on phones has just pissed me off from the beginning.  I have no idea what the real reasons are, but the public reasons put forth by Apple are bull shit as there have been multiple phones with high IPX ratings that had the jack.  I have multiple use cases where having the mini jack just makes ones life so much easier:&lt;ul&gt;
&lt;li&gt;switching my Plantronics headphones from my laptop to my mobile so I can continue in an ongoing call.&lt;/li&gt;
&lt;li&gt;connecting to a radio system via RCA jacks with my mobile.  The one I am thinking of is in my wife’s summer home that is a Sony from the 80’s that is still going strong. &lt;/li&gt;
&lt;li&gt;not needing yet another adapter that you never have when you need it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;small wireless headphones&lt;br&gt;I have seen these of the embodiment of eco terrorism: a device that has no way to change the battery and has at most a useful life of a couple years and has to be thrown away as there is no way to change the battery.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;What-forced-the-change&#34;&gt;&lt;a href=&#34;#What-forced-the-change&#34; class=&#34;headerlink&#34; title=&#34;What forced the change&#34;&gt;&lt;/a&gt;What forced the change&lt;/h2&gt;&lt;p&gt;There were two factors that pushed me to adopt both a mobile without a mini jack and small wireless headphones:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.Mobile without mini jack&lt;/strong&gt;: In in May of 2022 I bought a Pixel 5a, the last of the Pixel series that still had a mini jack.  I had to have it sent to a hotel in San Francisco that I knew I would be visiting in May for the graduation of my daughter from USF.  I went with the Pixel “A” line for one reason: the best camera in a mobile phone for around 500€.  I went to SF with my Nikon xxx SLR and when I checked in I received my new phone and took it to the room and did some quick tests of the Nikon vs the Pixel 5a and the Nikon has not left its camera bag since.  I spent a week in SF and LOVE all the pictures and I am amazed with the quality of the Pixel 5A.  The problem arose due to me being a bit reckless and not using proper protection (something that fortunately was limited to my mobile phone use and not other areas of my life): I did not want to use a phone case as it made it too thick. Well, I learned my lesson quickly as before the phone was even a month old it began vibrating due to a call or notification and fell off a window ledge at the pool onto pavement and cracked the screen.  As the Pixel 5a was only ever released in the US and Canada getting a replacement screen in Europe was basically more expensive that buying a new device.  As a punishment to myself for my carelessness of not having used any protection I decided to continue using the device even though it had a cracked screen.  Then in May a year later the phone began to have problems with the screen going blank and right at that time Google released the Pixel 7a and it was available in Spain.  Needing a new mobile and now quite addicted to the Pixel camera I decided to sacrifice the mini jack.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Small wireless headphones&lt;/strong&gt;:&lt;br&gt;And Google launched the Pixel 7a with an offer including Pixel Buds for free.  My daughter had receive wireless headphones at Christmas and she told me she was not a believer but they had set her free.  No more cable getting caught up in everything.  &lt;/p&gt;
&lt;p&gt;So I made the plunge for a new phone WITHOUT a mini jack and with eco terrorist headphones.&lt;/p&gt;
&lt;p&gt;And it has changed my life. &lt;/p&gt;
&lt;p&gt;Once COVID-19 allowed for home work I lost the time I previously was captive commuting to work that I used to listen to &lt;a href=&#34;https://www.vox.com/today-explained-podcast&#34;&gt;Today Explained&lt;/a&gt; in the morning and &lt;a href=&#34;https://www.npr.org/programs/morning-edition/&#34;&gt;Morning Edition&lt;/a&gt; in the evening.  So for about 3 years I have been pretty disconnected from everything as we watch 0 news at home.  Now with my wireless headphone I am constantly listening to something, and have discovered the NPR One App that just starts playing a news summary when started, and then begins serving up content as it sees fit.  I have discovered SO MANY cool things!  Just take a look at the &lt;a href=&#34;/Podcasts&#34;&gt;Podcasts That I liked&lt;/a&gt; at the top!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="TechToys" />
        <updated>2023-09-16T09:10:42.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/09/12/Froggy-Water-Temperature-Data-Mining/</id>
        <title>Froggy Water Temperature Data Mining</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/09/12/Froggy-Water-Temperature-Data-Mining/"/>
        <content type="html">&lt;p&gt;I have been gathering water temperature data for the last few years and decided to try playing with PowerBI to do some (basic and rudimentary) data visualization of water temperatures of the beaches I go to in Galicia in the summer:&lt;/p&gt;
&lt;img src=&#34;/2023/09/12/Froggy-Water-Temperature-Data-Mining/froggy_graphic01.jpg&#34; class=&#34;&#34; title=&#34;Graphic&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;


&lt;h1 id=&#34;More-details-and-context&#34;&gt;&lt;a href=&#34;#More-details-and-context&#34; class=&#34;headerlink&#34; title=&#34;More details and context&#34;&gt;&lt;/a&gt;More details and context&lt;/h1&gt;&lt;p&gt;Due to the crazy tide differentials in Galicia I realized that a tool was needed to easily and quickly know the current tide situation because it determines which beaches are viable.  I found a line of Timex watches that had a tide indicator and as a bonus it also had a temperature gauge.  So I began getting in the habit of taking note of the water temperatures of the beaches we would go to and I have data going back to 2014.  In 2018 I decided to upgrade to a more scientific instrument and invested in a Reer 2499 and modified it with a flotation device:&lt;/p&gt;
&lt;img src=&#34;/2023/09/12/Froggy-Water-Temperature-Data-Mining/froggy_01.jpg&#34; class=&#34;&#34; title=&#34;Graphic&#34;&gt;

&lt;p&gt;I can only assume due to the color there was a species confusion issue and I began calling the Reer 2499 “Froggy” for short and it has stuck.  For this first foray into data visualization I thought it better to limit the data set to the same measurement instrument so I only included data points taken with Froggy.  If we include all the data points we see a bit more of a saw blade, but also a confirmation of what it seemed like this summer: the water is warmer than normal:&lt;/p&gt;
&lt;img src=&#34;/2023/09/12/Froggy-Water-Temperature-Data-Mining/froggy_graphic02.jpg&#34; class=&#34;&#34; title=&#34;Graphic&#34;&gt;

&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Data" />
        <updated>2023-09-12T14:08:43.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/08/31/Super-Blue-Moon-2023/</id>
        <title>Super Blue Moon 2023</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/08/31/Super-Blue-Moon-2023/"/>
        <content type="html">&lt;p&gt;Today is a super blue moon and the next one won’t be until 2037!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;let’s break that down:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;blue moon&lt;/strong&gt; &amp;#x3D; second full moon in a month (&lt;a href=&#34;https://en.wikipedia.org/wiki/Blue_moon&#34;&gt;happens every 2 to 3 years&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;super moon&lt;/strong&gt; &amp;#x3D; when full moon is at the closest point of its elliptical orbit to the earth (known as “perigee”) (&lt;a href=&#34;https://en.wikipedia.org/wiki/Supermoon#:~:text=hours%20or%20less.-,Occurrence,be%20on%20September%2029%2C%202023.&#34;&gt;happens 3 or 4 times a year&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Diagram&#34;&gt;&lt;a href=&#34;#Diagram&#34; class=&#34;headerlink&#34; title=&#34;Diagram&#34;&gt;&lt;/a&gt;Diagram&lt;/h3&gt;&lt;img src=&#34;/2023/08/31/Super-Blue-Moon-2023/diagram.jpg&#34; class=&#34;&#34; title=&#34;Not to scale!&#34;&gt;

&lt;h3 id=&#34;Supporting-Evidences&#34;&gt;&lt;a href=&#34;#Supporting-Evidences&#34; class=&#34;headerlink&#34; title=&#34;Supporting Evidences&#34;&gt;&lt;/a&gt;Supporting Evidences&lt;/h3&gt;&lt;img src=&#34;/2023/08/31/Super-Blue-Moon-2023/evidences.jpg&#34; class=&#34;&#34; title=&#34;Evidences&#34;&gt;

&lt;h3 id=&#34;Attempt-to-capture-moon-in-its-super-blue-glory&#34;&gt;&lt;a href=&#34;#Attempt-to-capture-moon-in-its-super-blue-glory&#34; class=&#34;headerlink&#34; title=&#34;Attempt to capture moon in its super blue glory&#34;&gt;&lt;/a&gt;Attempt to capture moon in its super blue glory&lt;/h3&gt;&lt;img src=&#34;/2023/08/31/Super-Blue-Moon-2023/superbluemoon_01.jpg&#34; class=&#34;&#34; title=&#34;Super Blue Glory&#34;&gt;


&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <updated>2023-08-31T11:56:20.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/08/23/Happy-Birthday-iMac/</id>
        <title>Happy Birthday iMac!</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/08/23/Happy-Birthday-iMac/"/>
        <content type="html">&lt;p&gt;I just read an email from &lt;a href=&#34;https://www.wired.com/story/plaintext-imac-anniversary-25-years-steve-jobs-strategy-apple/&#34;&gt;Steven Levy&lt;/a&gt; about the 25th anniversary of the launch of the iMac.  I never had one of the original iMacs and in 1998 I was on the side that thought Apple was a company that was done for but what a perfect occasion to share a few remembrances I have about Apple.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h3 id=&#34;1-the-story-about-the-newton&#34;&gt;&lt;a href=&#34;#1-the-story-about-the-newton&#34; class=&#34;headerlink&#34; title=&#34;(1) the story about the newton&#34;&gt;&lt;/a&gt;(1) the story about the newton&lt;/h3&gt;&lt;p&gt;In 1995 I moved to San Francisco and began working in &lt;a href=&#34;https://en.wikipedia.org/wiki/Egghead_Software&#34;&gt;EggHead Software&lt;/a&gt; as a sales clerk.  Of the 5 sales clerks that I remember, two were Macintosh fanatics and the other 3 were IBM Compatible PC fanatics.  I had the pleasure of experiencing first hand the Windows 95 launch in August 1995 which was not too exciting for me as I was already really excited with &lt;a href=&#34;https://en.wikipedia.org/wiki/Windows_NT_3.51&#34;&gt;Windows NT 3.51&lt;/a&gt; and experimenting with Linux at the time, but the big thing for my two Macintosh fanatics coworkers was when we began to carry the Apple &lt;a href=&#34;https://en.wikipedia.org/wiki/Apple_Newton&#34;&gt;Newton&lt;/a&gt;. As &lt;a href=&#34;https://en.wikipedia.org/wiki/Egghead_Software&#34;&gt;EggHead Software&lt;/a&gt;, as implied in the name, was a pedler of software, the fore into hardware was a new thing. In this regard, I now in retrospect, assume this was a pivot on my employer’s part as Larry Elision had prophesied the end of their business: &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.cringely.com/2013/04/03/accidental-empires-chapter-17-do-the-wave/&#34;&gt;“Why should I have to go to a store to buy software?” Ellison continued. “In a cardboard box is a stupid way to buy software. It’s a box of bits and not only that, they are old bits. The software you buy at a store is hardly ever the latest release.”&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;For my Macintosh fanatics coworkers this pivot brought them the Newton and they were happy as clams getting to play with the revolutionary device.  They would wax on poetically on and on and try and sell the device, but unfortunate without much success. I for my part did not find the Newton particularly interesting and did not spend much time testing it, something I now regret. &lt;/p&gt;
&lt;h3 id=&#34;2-the-story-about-my-girl-friend’s-roommate-who’s-boyfriend-worked-at-Apple-on-the-OS-team&#34;&gt;&lt;a href=&#34;#2-the-story-about-my-girl-friend’s-roommate-who’s-boyfriend-worked-at-Apple-on-the-OS-team&#34; class=&#34;headerlink&#34; title=&#34;(2) the story about my girl friend’s roommate who’s boyfriend worked at Apple on the OS team&#34;&gt;&lt;/a&gt;(2) the story about my girl friend’s roommate who’s boyfriend worked at Apple on the OS team&lt;/h3&gt;&lt;p&gt;At around the same time I was working at EggHead  my girlfriend had a roommate who’s boyfriend was working at Apple. I was impressed when I asked him what he did and he said he was on the OS team. I knew from my two Apple fanatic coworkers that Apple was long over due a true mutitasking OS such as Windows NT and &lt;a href=&#34;https://en.wikipedia.org/wiki/OS/2&#34;&gt;OS&amp;#x2F;2&lt;/a&gt; had delivered.  What really surprised me, that despite Apple’s new OS &lt;a href=&#34;https://en.wikipedia.org/wiki/Copland_(operating_system)&#34;&gt;Copland&lt;/a&gt; being years late he would commute from San Francisco to Cupertino every day (an hour each way in the best of conditions) and would be home by 19:00 almost every day.  Fortunately Steve returned to Apple as intern CEO with his NextOS and finally the Macintosh (and later the iPhone) had a solid OS to stand on!&lt;/p&gt;
&lt;h3 id=&#34;2-the-story-about-Spencer-indicating-he-was-going-to-buy-Apple-shares&#34;&gt;&lt;a href=&#34;#2-the-story-about-Spencer-indicating-he-was-going-to-buy-Apple-shares&#34; class=&#34;headerlink&#34; title=&#34;(2) the story about Spencer indicating he was going to buy Apple shares&#34;&gt;&lt;/a&gt;(2) the story about Spencer indicating he was going to buy Apple shares&lt;/h3&gt;&lt;p&gt;After Egghead I began working at an Options Clearing firm and as we were integrally related to the stock market, we were all playing with stocks. One night after a couple of beers one our coworker Spencer indicated his intention to buy some Apple Stock.  This was probably in around 1998 and more or less around when Steve Jobs returned but at that point Apple was such a lost cause, all of us laid into Spencer convincing him that would be throwing away his money.  Oppps.&lt;/p&gt;
&lt;h3 id=&#34;3-the-story-about-Chad-and-his-iMac&#34;&gt;&lt;a href=&#34;#3-the-story-about-Chad-and-his-iMac&#34; class=&#34;headerlink&#34; title=&#34;(3) the story about Chad and his iMac&#34;&gt;&lt;/a&gt;(3) the story about Chad and his iMac&lt;/h3&gt;&lt;p&gt;From SF I moved to Spain and would only head back to SF every few years when we could. On one of the trips we visited a friend from junior high, Chad, and he was showing us his new &lt;a href=&#34;https://en.wikipedia.org/wiki/IMac_G4&#34;&gt;iMac G4&lt;/a&gt; and wanted to show me an email.  He was scrolling and scrolling and could not find the email in question that was from another mutual friend. I recommended clicking on the “from” column to order the emails from the senders and he quickly found the email in question. Chad proceeded to claim I was a computer genius, which amazed me because he had just given my daughter a mixed CD of their daughter’s favorite songs. In 2004! On a PC I would not even know how to burn a music CD and did not even have any music on my PC!&lt;/p&gt;
&lt;h3 id=&#34;4-the-story-about-my-conversion&#34;&gt;&lt;a href=&#34;#4-the-story-about-my-conversion&#34; class=&#34;headerlink&#34; title=&#34;(4) the story about my conversion&#34;&gt;&lt;/a&gt;(4) the story about my conversion&lt;/h3&gt;&lt;p&gt;A few years later after trying unsuccessfully to get BSD or Linux to work on a laptop, and after having seen my neighbors Fernando’s love of his MacBook Pro, I realized the way to get to have unix under the hood was to go with OS X so in December 2004 I bought an &lt;a href=&#34;https://en.wikipedia.org/wiki/IBook&#34;&gt;iBook G4&lt;/a&gt; for 1,579€.  OMG at a time when un suspending a windows machine was a multi minute wait, this beast was awake, connected to wifi and usable by the time I had finished raising the lid!  And it would work for hours and hours where a window equivalent would be happy to have a 2 hours of autonomy.  An IBM PC baby was converted and I proceeded to praise the joys of Macintosh to any who would listen and even made a t-shirt with “I have seen the light” on the front and an Apple on the back.  Fortunately I never ended up with any Apple tattoo but it was close because I was seriously fanatical.  I had gone from spending my weekend fighting with my PC trying to get a driver or printer to work to actually having my computer help me to produce things and be more creative.  Managing my growing digital image library of my growing family was not work, just plug the camera in, and iPhoto would sync the pictures to the Macintosh putting them nice and orderly in a year, month, day folder format, something I had been doing by hand on the PC.  Making DVDs to share pictures of the grandchildren with my parents was fun and sooo easy! And to close, here is a stop motion video I made with my daughter’s one morning before lunch:&lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/h-Qm12wIWnI&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;h3 id=&#34;5-the-story-about-my-iphone&#34;&gt;&lt;a href=&#34;#5-the-story-about-my-iphone&#34; class=&#34;headerlink&#34; title=&#34;(5) the story about my iphone&#34;&gt;&lt;/a&gt;(5) the story about my iphone&lt;/h3&gt;&lt;p&gt;In December of 2007 one of my wife’s coworkers was traveling to the States and she convinced him to pop into an Apple store in NY to buy an iPhone to bring back to Spain for my christmas gift.  The way Apple launched the iPhone was with an agreement with AT&amp;amp;T in such a way that the actual purchase price was quite low (I remember a 150€ but have no record of the real price) but it required signing up for an AT&amp;amp;T mobile account once you had the device at home.  Needless to say it was not possible to sign up for AT&amp;amp;T from Spain so the iPhone was pretty useless until I was able to jailbreak it. Remember that this was before there was a store for applications (an idea that Apple borrowed from the hackers that began making applications for jailbroken iPhones) so the only applications on the device were Safari, maps, a calculator, and a music player.  From what I remember, I was able to jailbreak the device (getting root access) rather early, but unlocking it (allowing it to be used on other than AT&amp;amp;T networks) took a while longer.  And the unlocking it I definitely remember it as it was a HARDWARE unlock that required opening the iphone (not easy, but with a guitar pick that Nacho provided was easier), making a bridge between two contacts (done with two needles passed through wine corks), and launching a hack to unlock it.  Needless to say the operation had involved multiple people holding, typing, and witnessing what would be pure joy, or a bricked device.  Fortunately it was successful, and I the joy I had getting my Movistar SIM to work in my iPhone was total.  I am pretty sure I was one of the first iPhones on the Spanish local carrier’s network.&lt;br&gt;The last antidote about the iPhone was a conversation I had with some coworkers while we were walking for a morning coffee. As we were crossing the street Juan Pedro commented that Nokia had sold more phones in the last week than Apple had sold iPhone since it launch and the iPhone was a non event.  A few years later Nokia had disappeared from the planet… &lt;/p&gt;
&lt;h3 id=&#34;6-the-story-about-the-end-of-my-love-for-apple&#34;&gt;&lt;a href=&#34;#6-the-story-about-the-end-of-my-love-for-apple&#34; class=&#34;headerlink&#34; title=&#34;(6) the story about the end of my love for apple&#34;&gt;&lt;/a&gt;(6) the story about the end of my love for apple&lt;/h3&gt;&lt;p&gt;Fortunately I never got an Apple tattoo, unfortunately Apple lost it’s Mojo.  In the golden years I would read the release notes for new OS releases and every line was an improvement or a new cool feature.  I would install them and everything would just work perfectly. But after a few years things stopped just working after updates.  Little things like one new years day the photos I had synced to my iPad were no longer in order of when the photo was taken, but some other order that there was no way to know what it was or how to change it.  Or when I started having problems of deleting emails on my iPhone, but finding the email still in the inbox on my Macintosh. How could IMAP, an email protocol invented 1983, just start being flakey?  And problems connecting to the Wifi.  And problems mapping SMB folders. And I found little by little I was spending my time trying to get things to work, and not enjoying and producing like I was previously. And so going full circle, I read an email that the &lt;a href=&#34;https://news.microsoft.com/2014/02/04/satya-nadella-email-to-employees-on-first-day-as-ceo/&#34;&gt;new president of Microsoft had sent to his employees&lt;/a&gt; and realized that while Apple had lost it’s mojo, Microsoft had found a new CEO who I was sure could help them find it… and I switched back to Windows and I have not stopped being impressed with Microsoft since.&lt;/p&gt;
&lt;p&gt;So that is my random collection of my stories of Apple.  I think it is safe to say that the golden years I had with Apple were thanks to Steve Jobs and the amazing quality of innovative products produced under his guidance.  Apple continues in its golden age in terms of profits, but I have not seen innovation nor quality since his passing.  &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <category term="HappyBirthday" />
        <updated>2023-08-23T17:15:14.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/08/17/Summer-Moment-of-Zen-2023/</id>
        <title>Summer Moment of Zen 2023</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/08/17/Summer-Moment-of-Zen-2023/"/>
        <content type="html">&lt;p&gt;Today I celebrated my annual moment of summer Zen! &lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/YYDt0euk6Os&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;My first target this year was for Saturday August 5th as it was close to the first full moon of August but unfortunately on friday night I was adjusting some solar lights that I had setup in a lemon tree and fell off the ladder knocking the wind out of me and bruising my ribs something fierce.  That and the night before I was trying to pair my new Pixel 6A with the GoPro before going to bed and was unable to get it to work.  So given I was pretty sure I would need a spatula to get me out of bed on Saturday and I had no way to visualize what I was photographing while setting up, I decided to postpone till another moment.&lt;/p&gt;
&lt;p&gt;And that moment was Thursday August 17th as it was close to a new moon and the lowering of the tide lined up pretty well for starting first thing in the morning until 12:30, leaving time for other activities to take full advantage of the few days off from work I have this year:&lt;/p&gt;
&lt;img src=&#34;/2023/08/17/Summer-Moment-of-Zen-2023/smz2023_tide.jpg&#34; class=&#34;&#34; title=&#34;Tide and Moon&#34;&gt;

&lt;p&gt;The location I selected was what is know as Playa de Los Bloques but technically it is not really a beach (at least from my point view) as it is part of the Eo River estuary.  I like this spot as it is where we go for a quick afternoon dip in the afternoons when it coincides with high tides and provides spectacular views of &lt;a href=&#34;https://en.wikipedia.org/wiki/Castropol&#34;&gt;Castrolpol&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2023/08/17/Summer-Moment-of-Zen-2023/smz2023_map.jpg&#34; class=&#34;&#34; title=&#34;Map to orient the reader&#34;&gt;

&lt;p&gt;And for this californian provides amazing tide differential that just blow my mind:&lt;/p&gt;
&lt;img src=&#34;/2023/08/17/Summer-Moment-of-Zen-2023/smz2023_diferential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;p&gt;I started at 07:00 and wrapped it up at 12:18 for at total of:&lt;/p&gt;
&lt;img src=&#34;/2023/08/17/Summer-Moment-of-Zen-2023/smz2023_time.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;p&gt;And what can I say?  It was 4 hours 47 minutes and 29 seconds of pure bliss!  Just hanging out watching the day start, the birds waking up, the force of the tides, the sound of silence, and time to reflect and ponder!&lt;/p&gt;
&lt;h3 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Camera&lt;/strong&gt;: GoPro HERO3+ Black Edition&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frequency&lt;/strong&gt;: picture every 30 seconds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of pictures taken&lt;/strong&gt;: 584&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Photo Resolution&lt;/strong&gt;: 12 MP Wide &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;List generation&lt;/strong&gt;: &lt;code&gt;ls *.JPG &amp;gt;list.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video creation&lt;/strong&gt;: &lt;code&gt;mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect= 16/9:vbitrate=8000000 -vf scale=1920:1080 -o timelapse01.avi -mf type=jpeg:fps=24 mf://@list.txt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2023-08-17T08:12:05.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/08/05/Blog-Security-Review/</id>
        <title>Blog Security Review</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/08/05/Blog-Security-Review/"/>
        <content type="html">&lt;p&gt;I have spent the last few afternoons down in a security rabbit hole that started with a certain someone complaining that my blog was reported as unsecure because it did not support HTTPS.  As this rabbit hole is quite deep, I invite you to ensuring you have a cool beverage or hot cup of coffee close at hand if you decide to continue reading…&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Context-x2F-Disclaimer-x2F-Justification&#34;&gt;&lt;a href=&#34;#Context-x2F-Disclaimer-x2F-Justification&#34; class=&#34;headerlink&#34; title=&#34;Context &amp;#x2F; Disclaimer &amp;#x2F; Justification&#34;&gt;&lt;/a&gt;Context &amp;#x2F; Disclaimer &amp;#x2F; Justification&lt;/h2&gt;&lt;p&gt;Publishing this initially via HTTP with no “S” was a design decision considering the &lt;a href=&#34;https://en.wikipedia.org/wiki/Transport_Layer_Security#Security&#34;&gt;historical security issues with SSL and TLS&lt;/a&gt; with my idea being keeping it simple with the least number of moving pieces that can introduce surface areas for problems.  For this reason I loved the idea of &lt;a href=&#34;https://hexo.io/&#34;&gt;Hexo&lt;/a&gt; creating a static website based on markdown, thereby avoiding any sort of DB backend for content or other complex implementations (yes i am looking at you &lt;a href=&#34;https://www.drupal.org/&#34;&gt;Drupal&lt;/a&gt;, &lt;a href=&#34;https://wordpress.com/&#34;&gt;WordPress&lt;/a&gt;, and &lt;a href=&#34;https://www.joomla.org/&#34;&gt;Joomla&lt;/a&gt;).   What I did not realize was that publishing via only HTTP  is seen as a security issue itself and when I began running online security scanners they were all raising risks for this so I decided that in addition to the other recommendations I would figure out how to publish via HTTPS to make them and Julio happy. &lt;/p&gt;
&lt;p&gt;Please note that I reserve the right at any point to backtrack on this HTTPS decision and publish this via html v1.0 or v2.0 without any scripts or SSL to ensure maximum backwards compatibility (while playing with my &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; in my &lt;a href=&#34;/2023/07/21/2023-Summer-Solstice-Project/&#34;&gt;Solstice Vacaction&lt;/a&gt; I tried a loading this blog on Mosaic 2.0.1 without much success (note to future self: provide photographic evidence here)).&lt;/p&gt;
&lt;h2 id=&#34;Before-and-after&#34;&gt;&lt;a href=&#34;#Before-and-after&#34; class=&#34;headerlink&#34; title=&#34;Before and after&#34;&gt;&lt;/a&gt;Before and after&lt;/h2&gt;&lt;p&gt;Before getting into any implementation details, let me provide some pretty before and after evidences on the multiple different online free no registration required sites that were used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://observatory.mozilla.org/&#34;&gt;Observatory&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
 &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_observatory.jpg&#34; class=&#34;&#34; title=&#34;Observatory before and after&#34;&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://pentest-tools.com/&#34;&gt;Pentest Tools&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_pentesttools.jpg&#34; class=&#34;&#34; title=&#34;Pentest Tools before and after&#34;&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://www.ssllabs.com/ssltest/&#34;&gt;Qualys SSL Labs&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_qualys.jpg&#34; class=&#34;&#34; title=&#34;Qualys before and after&#34;&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://csper.io/evaluator&#34;&gt;Csper Policy Evaluator&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_csper.jpg&#34; class=&#34;&#34; title=&#34;Csper before and after&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;Configuring-HTTPS&#34;&gt;&lt;a href=&#34;#Configuring-HTTPS&#34; class=&#34;headerlink&#34; title=&#34;Configuring HTTPS&#34;&gt;&lt;/a&gt;Configuring HTTPS&lt;/h2&gt;&lt;p&gt;Seeing how this rabbit hole started with HTTPS I’ll begin here as well.  Thanks to &lt;a href=&#34;https://letsencrypt.org/&#34;&gt;Let’s Encrypt&lt;/a&gt; certificates no longer have to cost an arm and a leg and the proof of ownership is handled by the industrious &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;CertBot&lt;/a&gt;.  The only doubt I had about the utilization of &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;CertBot&lt;/a&gt; was whether to install it directly in the Raspberry Pi, install it in the &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; Docker container, or create a Docker container specifically for &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;CertBot&lt;/a&gt;.  In the end I decided to go with directly in the Raspberry Pi as the installation was simply via APT and did not have too many dependencies:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt install certbot
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As the local machine does not have &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; installed I did not need the &lt;a href=&#34;https://certbot.eff.org/&#34;&gt;CertBot&lt;/a&gt; &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; plugin, I just needed to point it with the &lt;code&gt;--webroot-path&lt;/code&gt; variable to where it could upload a proof of ownership file that is used during the generation of the certificate.  &lt;/p&gt;
&lt;p&gt;I added this section to the &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; config for the proof of ownership to work:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Certbot validation root
location /.well-known/acme-challenge/ &amp;#123;
    root /usr/share/nginx/html/certbot;
&amp;#125;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And then fired the little industrious bot up to do its thing:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@ersa:/sd/pv/blog/content/certbot $ sudo certbot certonly --webroot 
--webroot-path /sd/pv/blog/content/certbot/ --cert-path /sd/pv/blog/nginx-conf -d blog.jupiterstation.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Requesting a certificate for blog.jupiterstation.net
Performing the following challenges:
http-01 challenge for blog.jupiterstation.net
Using the webroot path /sd/pv/blog/content/certbot for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/sd/pv/blog/nginx-conf/fullchain.pem
Your key file has been saved at:
/sd/pv/blog/nginx-conf/privkey.pem
Your certificate will expire on 2023-10-29. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run &amp;quot;certbot renew&amp;quot;
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let&amp;#39;s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

pi@ersa:/sd/pv/blog/content/certbot $
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wow. that was easy!&lt;br&gt;I then modified the &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; config to force any HTTP connects to redirect to the HTTPS:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;location / &amp;#123;
    return 301 https://blog.jupiterstation.net$request_uri;
&amp;#125;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and added a server on 443 utilizing the freshly minted certificates:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;server &amp;#123;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name &amp;quot;blog.jupiterstation.net&amp;quot;;

    ssl_certificate /etc/nginx/conf/fullchain.pem;
    ssl_certificate_key /etc/nginx/conf/privkey.pem;
    
    location / &amp;#123;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    &amp;#125;
&amp;#125;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and crossing fingers I fire up &lt;a href=&#34;https://www.torproject.org/&#34;&gt;Tor Browser&lt;/a&gt; and now have the little lock:&lt;br&gt;    &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_cert.jpg&#34; class=&#34;&#34; title=&#34;Now we have the little lock!&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;Fixing-the-reported-risks-and-battening-down-the-hatches&#34;&gt;&lt;a href=&#34;#Fixing-the-reported-risks-and-battening-down-the-hatches&#34; class=&#34;headerlink&#34; title=&#34;Fixing the reported risks and battening down the hatches&#34;&gt;&lt;/a&gt;Fixing the reported risks and battening down the hatches&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;I only want &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; to serve up pages if the client is actually requesting blog.jupiterstation.net.  To achieve that I added this as the default server to have &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; close the connection without sending any response to the client:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; server &amp;#123;
     return      444;  # A non-standard status code used to instruct nginx to close the connection without sending a response to the client, most commonly used to deny malicious or malformed requests.
 &amp;#125;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt; and testing the page without using the FQDN is see that works as advertised:&lt;br&gt;    &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_444.jpg&#34; class=&#34;&#34; title=&#34;Nothing to see here, keep moving along&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;p&gt;By default &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; spits out its version number which gives additional information that can be used by &lt;em&gt;bad actors&lt;/em&gt; to help them find vulnerabilities to do mean things to my poor little &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; served blog.  Ideally I would like to not even announce that &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; is involved but to do that I need to ‘nginx-extras’ which is not currently installed in the docker container so will have to wait until I can investigate and implement that.  To remove the version from the signature it is a simple directive in the server section:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; server_tokens off;
&lt;/code&gt;&lt;/pre&gt;
 &lt;img src=&#34;/2023/08/05/Blog-Security-Review/security_nginx_version.jpg&#34; class=&#34;&#34; title=&#34;I love before and after pics. so satisfying&#34;&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And finally I added the following headers to the &lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; config that are an accumulations of different recommendations from the various scan reports:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; add_header Strict-Transport-Security &amp;quot;max-age=31536000; includeSubDomains&amp;quot; always;
 add_header X-XSS-Protection &amp;quot;1; mode=block&amp;quot;;
 add_header Referrer-Policy &amp;quot;no-referrer&amp;quot;;
 add_header X-Frame-Options &amp;quot;DENY&amp;quot;;
 add_header X-Content-Type-Options nosniff;
 add_header Content-Security-Policy &amp;quot;script-src &amp;#39;self&amp;#39; &amp;#39;sha256-EZPzprA/HrmKtEbD+m6ZBGfpZbBDUwGAJh40N1DipZQ=&amp;#39;; object-src &amp;#39;none&amp;#39;; base-uri &amp;#39;self&amp;#39;;&amp;quot;;
 add_header Permissions-Policy &amp;quot;geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The trickiest of these was the &lt;a href=&#34;https://en.wikipedia.org/wiki/Content_Security_Policy&#34;&gt;Content Security Policy (CSP)&lt;/a&gt; that took quite a while of trial and error until I was finally able to get things to keep working and the scanners to be more or less happy with the results.&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;&lt;p&gt;Cleaning up SSL involved setting three directives in the server section of HTTPS server and were copied from &lt;a href=&#34;https://www.digicert.com/kb/ssl-support/ssl-enabling-perfect-forward-secrecy.htm#nginx_forward_secrecy&#34;&gt;this site&lt;/a&gt; as fiddling with the individual ciphers to configure &lt;a href=&#34;https://en.wikipedia.org/wiki/Forward_secrecy&#34;&gt;forward secrecy&lt;/a&gt; was beyond my capacities:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; ssl_protocols TLSv1.2 TLSv1.3;
 ssl_prefer_server_ciphers on;
 ssl_ciphers &amp;quot;EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://geekflare.com/online-scan-website-security-vulnerabilities/&#34;&gt;14 Online Free Tools to Scan Website Security Vulnerabilities &amp;amp; Malware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP&#34;&gt;Content Security Policy (CSP)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://csp-evaluator.withgoogle.com/&#34;&gt;Google CSP Evaluator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.digicert.com/kb/ssl-support/ssl-enabling-perfect-forward-secrecy.htm&#34;&gt;Enabling Perfect Forward Secrecy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;nmap command to enumerate ssl ciphers: &lt;code&gt;nmap --script ssl-enum-ciphers -p443 blog.jupiterstation.net&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; command to test config syntax and verify everything is chachi piruli: &lt;code&gt;nginx -t&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.nginx.com/&#34;&gt;nginx&lt;/a&gt; command to reload config: &lt;code&gt;nginx -s reload&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="Hexo" />
        <category term="Security" />
        <updated>2023-08-05T17:33:04.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/07/29/Raspberry-Pi-computers/</id>
        <title>Raspberry Pi computers</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/07/29/Raspberry-Pi-computers/"/>
        <content type="html">&lt;p&gt;On Wednesday February 29th 2012 Modern Family aired the “Leap Day” episode, which I loved because Phil was so excited that he had an extra day he took it off to spend with this family. Mr &lt;a href=&#34;https://en.wikipedia.org/wiki/Eben_Upton&#34;&gt;Eben Upton&lt;/a&gt; also took full advantage of the extra day and released the &lt;a href=&#34;https://en.wikipedia.org/wiki/Raspberry_Pi&#34;&gt;Raspberry Pi model B&lt;/a&gt; credit card size computer that cost 27.7€. The origin story I remember hearing at the time was that Eben and a friend were drinking a beer at a pub lamenting about the knowledge level of the computer science majors at a university where one of them taught.  They remembered how they had been baptized with &lt;a href=&#34;https://en.wikipedia.org/wiki/BBC_Micro&#34;&gt;some government subsidized computer&lt;/a&gt; in the early 80’s that introduced them to programming and hacking (using this term in a good way to mean really playing with and understanding how things work) but the new students knew a little HTLM and thought they knew everything.  So they thought what if we turn More’s Law on its head and instead of doubling the capacity, pack everything that was possible into a computer for a price point of of $20.  With a computer for $20 anyone could hack away without too much fear of breaking something, and it would be possible to equip whole computer labs for the price of one regular computer.  &lt;/p&gt;
&lt;p&gt;So on that particular extra day back in 2012 I did not take it off, but I did spend hours in a virtual line trying to buy my first &lt;a href=&#34;https://en.wikipedia.org/wiki/Raspberry_Pi&#34;&gt;Raspberry Pi&lt;/a&gt;.  &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;In the end I was successful in purchasing one on the launch date, but I then had to wait until 3 months until it arrived:&lt;/p&gt;
&lt;img src=&#34;/2023/07/29/Raspberry-Pi-computers/rasp01.jpg&#34; class=&#34;&#34; title=&#34;Joy!&#34;&gt;
&lt;img src=&#34;/2023/07/29/Raspberry-Pi-computers/rasp02.jpg&#34; class=&#34;&#34; title=&#34;getting closer&#34;&gt;
&lt;img src=&#34;/2023/07/29/Raspberry-Pi-computers/rasp03.jpg&#34; class=&#34;&#34; title=&#34;beautiful little model b&#34;&gt;
&lt;img src=&#34;/2023/07/29/Raspberry-Pi-computers/rasp04.jpg&#34; class=&#34;&#34; title=&#34;First boot&#34;&gt;

&lt;p&gt;In the years since I have found the Raspberry Pi very handy and my collection and variety of uses of them has grown.  Here is my current collection:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RaspberryPi&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi Model B Rev 2&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;: 000e&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 00000000c7667eaa&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 700 MHz 32-bit ARM1176JZF-S&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 512 MB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 29&amp;#x2F;02&amp;#x2F;2012&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 27.07€&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: The original!  Was used as binary clock, thermometer, and was the home server for over 10 years and was  finally retired in 2023 and being replaced with 4th generation with 8GB RAM&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PiCam&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;:  Raspberry Pi Model A&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 700 MHz 32-bit ARM1176JZF-S&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 03&amp;#x2F;10&amp;#x2F;2013&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 24.04€&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: Was originally purchased as a time lapse camera rig and I got the Model A due to lower power requirements.  Was used a few times but the camera quality was not as good as the gopro so was not used too much.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;/2023/08/10/Pi-Mame/&#34;&gt;PiMame&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 2013&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;:&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: First mame arcade I setup. The joystick(s) and buttons connect directly to the GPIO pins! &lt;a href=&#34;/2023/08/10/Pi-Mame/&#34;&gt;Very fun project&lt;/a&gt; and has given hours of entertainment and lots of gaming competitions! &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PiLifeBoat:&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi 3 Model B Rev 1.2&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;:  a02082&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 00000000ac6003ba&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 1.2GHz 64-bit quad-core ARM Cortex A53&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 1 GB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 28&amp;#x2F;11&amp;#x2F;2017&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: €33.51&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;: Debian GNU&amp;#x2F;Linux 11 (bullseye)&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;: 6.1.21-v8+ #1642&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: Offsite backup of Synology NAS &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PiPiratePigRadio:&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi 3 Model A Plus Rev 1.0&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;: 9020e0&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 00000000778f27ae&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 1.4 GHz 64-bit quad-core ARM Cortex A53&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 512 MB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 20&amp;#x2F;07&amp;#x2F;2019&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 27.95€&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;: Raspbian GNU&amp;#x2F;Linux 10 (buster)&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;: 5.10.63-v7+ #1496&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: Hosted at my dad’s house and equipped with software defined radio receiver RTL2832 so I can listen to &lt;a href=&#34;https://www.kpig.com/&#34;&gt;KPIG&lt;/a&gt; radio station from Spain&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;/2020/08/21/Pi-Arcade/&#34;&gt;PiArcade&lt;/a&gt;:&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi 3 Model B Plus Rev 1.3&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;: a020d3&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 00000000ac946ab9&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 1.4 GHz 64-bit quad-core ARM Cortex A53&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 1 GB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 05&amp;#x2F;12&amp;#x2F;2020&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 44.65€&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;:  Raspbian GNU&amp;#x2F;Linux 10 (buster)&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;:  Linux retropie 5.4.72-v7+ #1356&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: Standup mame arcade  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PiImac&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi 4 Model B Rev 1.1&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;: c03111&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 100000005d972ec3&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;: 1.8 GHz 64-bit quad-core ARM Cortex A72&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 4 GB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;:  22&amp;#x2F;02&amp;#x2F;2020&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 64.99€&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;: Debian GNU&amp;#x2F;Linux 11 (bullseye)&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;: Linux raspberrypi 6.1.21-v8+ #1642&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;: Kitchen digital photo frame connected to old shell of Apple iMAC A1173 that had no motherboard, but the 17” screen.  First Raspberry Pi that I used GUI interface and works amazingly and is a fully functional computer!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ersa&lt;/strong&gt;&lt;br&gt;    - &lt;strong&gt;Model&lt;/strong&gt;: Raspberry Pi 4 Model B Rev 1.5&lt;br&gt;    - &lt;strong&gt;Revision&lt;/strong&gt;: d03115&lt;br&gt;    - &lt;strong&gt;Serial&lt;/strong&gt;: 10000000e1f13077&lt;br&gt;    - &lt;strong&gt;CPU&lt;/strong&gt;:  1.8 GHz 64-bit quad-core ARM Cortex A72&lt;br&gt;    - &lt;strong&gt;Ram&lt;/strong&gt;: 8 GB&lt;br&gt;    - &lt;strong&gt;Date purchased&lt;/strong&gt;: 22&amp;#x2F;06&amp;#x2F;2022&lt;br&gt;    - &lt;strong&gt;Price&lt;/strong&gt;: 149€ (was a kit)&lt;br&gt;    - &lt;strong&gt;OS&lt;/strong&gt;: Debian GNU&amp;#x2F;Linux 11 (bullseye)&lt;br&gt;    - &lt;strong&gt;Kernel&lt;/strong&gt;: 5.15.61-v8+ #1579&lt;br&gt;    - &lt;strong&gt;Use&lt;/strong&gt;:  Home server that gathers weather statistics from Oregon Scientific WMR928NX, runs all sorts of docker containers, and hosts this blog &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="RaspberryPi" />
        <updated>2023-07-29T04:57:23.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/07/21/2023-Summer-Solstice-Project/</id>
        <title>2023 Summer Solstice Project</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/07/21/2023-Summer-Solstice-Project/"/>
        <content type="html">&lt;p&gt;This summer’s solstice project was getting &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; to work on an old Macintosh I had ripening in my storage room for the last 10 years.&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/macintoshLCiii.jpg&#34; class=&#34;&#34; title=&#34;Macintosh LCIII&#34;&gt;


&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h1 id=&#34;Context&#34;&gt;&lt;a href=&#34;#Context&#34; class=&#34;headerlink&#34; title=&#34;Context&#34;&gt;&lt;/a&gt;Context&lt;/h1&gt;&lt;h3 id=&#34;Solstice-Vacation&#34;&gt;&lt;a href=&#34;#Solstice-Vacation&#34; class=&#34;headerlink&#34; title=&#34;Solstice Vacation&#34;&gt;&lt;/a&gt;Solstice Vacation&lt;/h3&gt;&lt;p&gt;So one of the positive blow backs of COVID-19 was that in May of 2020 I had all sorts of unused vacation days and was forced to take them before the end of July or loose them.  This allowed me to take some advice I learned from Bugs Bunny in the episode of the &lt;a href=&#34;https://en.wikipedia.org/wiki/Frigid_Hare&#34;&gt;Frigid Hare&lt;/a&gt;: take a week off around the summer solstice and that way you get the most day out of each vacation day.  At the time none of my other family members took the week off as we were all still pretty much still under COVID lockdown and were all still stuck in close quarters.  So I took the week off and worked on personal pet projects (building an arcade that needs to be documented here at some point) and as summer approached in 2021 I decided a tradition had been started and now I always take a Solstice Vacation and do what ever suits my fancy.&lt;/p&gt;
&lt;h3 id=&#34;Macintosh-LC-III&#34;&gt;&lt;a href=&#34;#Macintosh-LC-III&#34; class=&#34;headerlink&#34; title=&#34;Macintosh LC III&#34;&gt;&lt;/a&gt;Macintosh LC III&lt;/h3&gt;&lt;p&gt;So this year I thought it would be cool to get Dark Castle working on a &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; I had gathering dust in my storage room.  I came into possession of this old Macintosh back in approximately 2013 when we went to a warehouse to ensure there was none of our networking equipment because a chatarrero (scrap collector in spanish) was coming the next day to take everything away. Had my storage room been big enough I would have taken everything and saved the chatarrero the trip, but alas contrary to my wife’s conception of our storage room being a storage room of holding with limitless capacity, it is rather small and I was only able to take four things:  &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;An old Sony Triniton security monitor (this was turned into a Mame arcade that is documented &lt;a href=&#34;/2023/08/10/Pi-Mame/&#34;&gt;here&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;An old shell of &lt;a href=&#34;https://everymac.com/systems/apple/imac/specs/imac_cd_1.83_17.html&#34;&gt;Apple iMAC A1173&lt;/a&gt; that had no motherboard, but the 17” screen that I paried with a contoller card from ebay and Raspberry Pi and have in our kitchen  as a digital picture frame rotating all our digital photos &amp;#x2F; computer to look things up on (this also needs to be documented here at some point)&lt;/li&gt;
&lt;li&gt;An old IBM Laptop (I mean really old. This is still gathering dust and will be investigated at some future point)&lt;/li&gt;
&lt;li&gt;An old &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; that is the main character of this post.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;Dark-Castle&#34;&gt;&lt;a href=&#34;#Dark-Castle&#34; class=&#34;headerlink&#34; title=&#34;Dark Castle&#34;&gt;&lt;/a&gt;Dark Castle&lt;/h3&gt;&lt;p&gt;When I was a kid growing up with my Dad he was very against all the “home computers” that starting popping up and said that the only home computer he would buy would be one from IBM because all the others were just for games (or maybe he said toys, can’t remember).  So in 1981 IBM released their first &lt;a href=&#34;https://en.wikipedia.org/wiki/IBM_Personal_Computer&#34;&gt;IBM PC&lt;/a&gt; and sometime in the early 80’s my dad came home with one (can’t remember the exact year). To provide context on how different things are now (or maybe how different margins were on PCs back then), the purchase of the computer included an in person class for the whole family on how to use it.  The IBM was great, and we were fortunate enough to have a &lt;a href=&#34;https://en.wikipedia.org/wiki/Hercules_Graphics_Card&#34;&gt;Hercules Graphics Card&lt;/a&gt; but unfortunately the number of graphic games out and that were compatible with the said graphics card was rather limited.  Meanwhile, all my friends parent’s were not strict in their definition of what was needed for a home computer and they all had ones (Commodore 64s, Apple IIs, etcetera) that had limitless supply of games with graphics (maybe my Dad was right all the rest were just for games?).  Of all the games I played at my friends’ houses the one that I remember most vividly is &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; on my friend ALex’s &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_SE&#34;&gt;Machintosh SE&lt;/a&gt;.  Man did we log hours, and I never got tired of the amazing sounds, graphics and game play.  So when I rescued the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; from the chatarrero I did not think Macintosh, I thought vehicle to play Dark Castle!&lt;/p&gt;
&lt;h1 id=&#34;The-challenge&#34;&gt;&lt;a href=&#34;#The-challenge&#34; class=&#34;headerlink&#34; title=&#34;The challenge&#34;&gt;&lt;/a&gt;The challenge&lt;/h1&gt;&lt;p&gt;So, thanks to the &lt;a href=&#34;https://www.macintoshrepository.org/3868-dark-castle&#34;&gt;Macintosh Repository&lt;/a&gt; getting old software for the Mac is not a problem.  The problem I faced was how to get it onto the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt;?&lt;/p&gt;
&lt;h3 id=&#34;Sneaker-Net&#34;&gt;&lt;a href=&#34;#Sneaker-Net&#34; class=&#34;headerlink&#34; title=&#34;Sneaker Net&#34;&gt;&lt;/a&gt;Sneaker Net&lt;/h3&gt;&lt;p&gt;I figured that easiest way would be just downloading, copying to a 3.5” floppy, and off to playing.  I ventured to my storage room and did an inventory of all the old computers still in my possession with a disk drive and was rather surprised to find the only thing I still had was and &lt;a href=&#34;https://en.wikipedia.org/wiki/IBM_ThinkPad_560&#34;&gt;IBM ThinkPad 560&lt;/a&gt; (so unfortunate that my storage room is not a storage room of holding as this post would have been a lot shorter because amount of things I have had to take the the dump just to make space is quite saddening and all sorts of SCSI devices like a &lt;a href=&#34;https://en.wikipedia.org/wiki/Jaz_drive&#34;&gt;Jazz drive&lt;/a&gt; were among them).  &lt;/p&gt;
&lt;p&gt;The first boot of the &lt;a href=&#34;https://en.wikipedia.org/wiki/IBM_ThinkPad_560&#34;&gt;IBM ThinkPad 560&lt;/a&gt; was not what you call promising (or maybe was foreshadowing of the challenges that lay ahead):&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/error.jpg&#34; class=&#34;&#34; title=&#34;Oh no&#34;&gt;
&lt;p&gt;&lt;em&gt;A couple clarifications: (1) sorry for the blurry picture. I snapped it and did not double check before proceeding. (2) This project took place in my daughter’s room as it was the only spare desk where I knew I could setup shop and leave it all summer as she had just finished high school and the college entrance exam and the last thing she would be using this summer is this desk. (3) The cool beverage on the right is a &lt;a href=&#34;https://www.mahou.es/cervezas/mahou-cinco-estrellas/&#34;&gt;Mahou 5 Star&lt;/a&gt; a local Madrid brewed beer that is also a key ingredient of a Solstice Vacation.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A quick search on &lt;a href=&#34;https://www.google.com/search?q=thinkpad+560+161+163+error&#34;&gt;Google&lt;/a&gt; yielded that the CMOS battery was most likely dead something that seemed quite likely as this laptop came over with us from San Francisco back in 2001 and I don’t really recall the last time it had been used.  One of the benefits of living in a European city like Madrid is that I go downstairs and have all sorts of options of where to find a new CR1220 battery so I was back and had replaced the battery in no time and was back in business:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/win95.jpg&#34; class=&#34;&#34; title=&#34;Oh yea bark like a dog&#34;&gt;

&lt;p&gt;Wow.  That is cool.  Had not seen a Win95 boot in a while and that took me back…  After the boot screen I was presented with a login screen, which not remembering any passwords from 20 years ago, I was very happy to find that hitting the X in the upper right corner removed the password screen and continued booting!  This is clearly an example of how things were done before security began making life much more complicated.&lt;/p&gt;
&lt;p&gt;Ok let’s get this thing on my wireless network and download some &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt;!&lt;br&gt;…&lt;br&gt;…&lt;br&gt;lot’s of hours later:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/ping.jpg&#34; class=&#34;&#34; title=&#34;OMG I can&#34; alt=&#34;t believe it&#34;&gt;

&lt;p&gt;Why lots of hours later?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I was fortunate to have found a &lt;a href=&#34;https://en.wikipedia.org/wiki/ORiNOCO&#34;&gt;ORiNOCO&lt;/a&gt; Silver PCMCIA Wifi card that had never been thrown out in a storage room purges and the laptop already had the drivers installed but getting onto a wireless network with an OS from 1995 and a NIC from 2000 was &lt;strong&gt;challenging&lt;/strong&gt;.  Even disabling all security on my wireless router yielded nothing, but then on a whim I decided to try doing the same on an extender AP I have in my house, and it worked. No idea why the router was so picky.&lt;/li&gt;
&lt;li&gt;Win95 is quite different than Windows 11.  I guess this is obvious, but in my mind I always thought that as far as Windows advances and changes, some of the underlying configuration windows are the same I remember from always. Just getting to them changes.  Well, after working for a couple days with Win95 I can confidently say that we have advanced quite a bit, and in addition the the previously mentioned security aspect things are much better now.  Getting an external mouse to work took me hours because the COM1 serial port was in use with by another device.  Just finding the hardware manager to disable the other device took me forever. Other things that took time to remember:&lt;br&gt;-CMD does not exist (command)&lt;br&gt;-ipconfig does not exist (winipcfg)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ok the network problems behind me, let’s write &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; to a floppy and get playing!&lt;/p&gt;
&lt;p&gt;Unfortunately I was not able to find a software that allowed me to write to a floppy on the &lt;a href=&#34;https://en.wikipedia.org/wiki/IBM_ThinkPad_560&#34;&gt;IBM ThinkPad 560&lt;/a&gt; that was then readable on the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt;.  I would enumerate all the softwares that were tested, but unfortunately my notes at this stage are rather lacking.  Let’s just say I tried them all and even at one point had a conversation with ChatGPT with the off chance that in all her hoovering of the all the knowledge of the internet up until September 2021 she might have seen another option, but alas no.  So I gave up on the sneaker net, and sent the &lt;a href=&#34;https://en.wikipedia.org/wiki/IBM_ThinkPad_560&#34;&gt;IBM ThinkPad 560&lt;/a&gt; back to the storage room.&lt;/p&gt;
&lt;h3 id=&#34;10BASE2&#34;&gt;&lt;a href=&#34;#10BASE2&#34; class=&#34;headerlink&#34; title=&#34;10BASE2&#34;&gt;&lt;/a&gt;10BASE2&lt;/h3&gt;&lt;p&gt;Well, when I rescued the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; I couldn’t help but notice that it had a BNC Ethernet NIC and when I first tested I had seen that it had networking software installed, but did not give it much thought because in all the purging of the storage room I was sure I had no coax gear and was pretty sure I never had any as when I moved to Spain I was already working with wireless and UTP ethernet. A quick search of Amazon did not yield any promising solutions, a search in EBay had all sorts of things, but rather expensive ($100 range) and that was before shipping from the States, and I have given up on the local postal system as if it happens to make it through customs they then add crazing processing fees and an estimated VAT that makes everything crazy expensive.  But then I checked on &lt;a href=&#34;https://es.wallapop.com/&#34;&gt;Wallapop&lt;/a&gt; and was super excited to find a something that ticked all the boxes: super small and reasonably priced:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/hub.jpg&#34; class=&#34;&#34; title=&#34;Allied Telesyn 4 port UTP, 1 BNC Ethernet Hub&#34;&gt;

&lt;p&gt;So I ordered it and awaited its arrival and once it came I quickly connected the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; via a rather short coax cable I found (only 25cm) and a rather long UTP cable I found that went from my daughter’s desk until just barely reaching the home router creating all sorts of trip and fall dangers.  In this case it was rather difficult to know if everthing was ok as the BNC light on the HUB was always lit even when not connected.  I found no light on the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; NIC and was unable to find any sort of ping or control panel that confirmed the network status.  So I begin pinging from other laptops but got no response. :( &lt;/p&gt;
&lt;p&gt;This was very disappointing, but at this point nothing has been easy so I continue investigating and find a copy of the Allied Telesyn RH505BE manual and reviewing this picture:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/rtfm.jpg&#34; class=&#34;&#34; title=&#34;RTFM&#34;&gt;

&lt;p&gt;there are two potential reasons for the lack of connectivity:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I am not respecting the minimum 0.5 meters of the segment&lt;/li&gt;
&lt;li&gt;I do not have a terminator at each end of the segment&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So in this case Amazon came to the rescue and surprisingly I was able to find T connectors and 50ohm terminators for a reasonable price.&lt;/p&gt;
&lt;p&gt;I hooked everything up (still using my 20cm cable and crossing my fingers):&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/tnt.jpg&#34; class=&#34;&#34; title=&#34;A bit messy but this is not PROD&#34;&gt;

&lt;p&gt;… and OMG I am able to ping the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; from another computer!!!!!&lt;/p&gt;
&lt;h3 id=&#34;Web-based-emulators-to-the-rescue&#34;&gt;&lt;a href=&#34;#Web-based-emulators-to-the-rescue&#34; class=&#34;headerlink&#34; title=&#34;Web based emulators to the rescue&#34;&gt;&lt;/a&gt;Web based emulators to the rescue&lt;/h3&gt;&lt;p&gt;At this point I ran to the kitchen a pour a &lt;a href=&#34;https://www.mahou.es/cervezas/mahou-cinco-estrellas/&#34;&gt;Mahou 5 Star&lt;/a&gt; because now it is just a matter of using &lt;a href=&#34;https://en.wikipedia.org/wiki/Fetch_(FTP_client&#34;&gt;Fetch&lt;/a&gt; that was thankfully already installed on the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; via FTP from my Synology NAS and begin my first game!&lt;/p&gt;
&lt;p&gt;Or maybe not:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/stuffitErrorr.jpg&#34; class=&#34;&#34; title=&#34;oh no&#34;&gt;

&lt;p&gt;When I select “Yes” it actually freezes the whole system and requires a hard reboot to recover.  The &lt;a href=&#34;https://www.mahou.es/cervezas/mahou-cinco-estrellas/&#34;&gt;Mahou 5 Star&lt;/a&gt; quickly becomes consolation beverage instead of its intended celebratory purpose and the challenge continues!&lt;/p&gt;
&lt;p&gt;I spent quite a bit of time trying different versions of &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; that were packaged in different formats than &lt;a href=&#34;https://en.wikipedia.org/wiki/StuffIt&#34;&gt;StuffIt&lt;/a&gt; but I am unable to get any of them to mount, open, or decompress with the software installed on the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt;.  So I then decide to take a new line of investigation and test with an emulator to determine what the root cause of my uncompressing of the .sit file are. &lt;a href=&#34;https://infinitemac.org/&#34;&gt;Infinite Mac&lt;/a&gt; to the rescue! You can run a virtual Macintosh in regular web browser and can choose from System 1.0 all the way up to 9.x. My &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; is on System 7.1 which is not available so I first do some peliminary testing in System 7.0 and the next available System 7.5 and decide to go with System 7.5 as it seems more similar.  The first test is seeing if the same &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; .sit file I have will work on it and it unpacks and is ready to play on first try.  I check the version of &lt;a href=&#34;https://en.wikipedia.org/wiki/StuffIt&#34;&gt;StuffIt&lt;/a&gt; on the verses the &lt;a href=&#34;https://en.wikipedia.org/wiki/Macintosh_LC_III&#34;&gt;Macintosh LC III&lt;/a&gt; and I see a difference: &lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/stuffit.jpg&#34; class=&#34;&#34; title=&#34;version difference&#34;&gt;

&lt;p&gt;v3.5.1 vs v5.5!  So I installed &lt;a href=&#34;https://en.wikipedia.org/wiki/StuffIt&#34;&gt;StuffIt&lt;/a&gt; 3.5.1 on the &lt;a href=&#34;https://infinitemac.org/&#34;&gt;Infinite Mac&lt;/a&gt; Mac and get the same error:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/stuffitErrorrReproduced.jpg&#34; class=&#34;&#34; title=&#34;yea problem id&#34; alt=&#34;d&#34;&gt;

&lt;p&gt;Ok! Easy peasy! I just need to use a 3.5.1 version of &lt;a href=&#34;https://en.wikipedia.org/wiki/StuffIt&#34;&gt;StuffIt&lt;/a&gt; on the &lt;a href=&#34;https://infinitemac.org/&#34;&gt;Infinite Mac&lt;/a&gt; to repack &lt;a href=&#34;https://en.wikipedia.org/wiki/Dark_Castle&#34;&gt;Dark Castle&lt;/a&gt; and off to the castle:&lt;/p&gt;
&lt;img src=&#34;/2023/07/21/2023-Summer-Solstice-Project/joy.jpg&#34; class=&#34;&#34; title=&#34;joy!&#34;&gt;

&lt;h1 id=&#34;Retrospective&#34;&gt;&lt;a href=&#34;#Retrospective&#34; class=&#34;headerlink&#34; title=&#34;Retrospective&#34;&gt;&lt;/a&gt;Retrospective&lt;/h1&gt;&lt;p&gt;So in the end this project ran way over my Solstice Vacation week and involved lots of “sleeping” on the problems to give my mind a bit of a break and avoiding getting into loops that yielded little advance.  Normally after sleeping on a problem over night I wake up and look at it with a fresh perspective and find a new angle of attack.  In the end I have only played it a few times and have not advanced too far as this game is tough (man I was much more resilient as a teenager in the 80’s!) but the sounds, graphics, and game play are as amazing as I remember.  Well worth all the effort and was so fun going back down memory lane and playing with older operating systems.  It surprised me back the 80’s and does to this day that the IBM PC with MS DOS won over the Macintosh with its System OS complete with graphics and more than just beepy sounds. &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="SummerSolstice" />
        <updated>2023-07-21T11:53:14.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/07/15/Principal-Agent/</id>
        <title>Principal Agent</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/07/15/Principal-Agent/"/>
        <content type="html">&lt;h2 id=&#34;The-nantucket-whaling-industry-and-the-concept-of-the-principal-agent&#34;&gt;&lt;a href=&#34;#The-nantucket-whaling-industry-and-the-concept-of-the-principal-agent&#34; class=&#34;headerlink&#34; title=&#34;The nantucket whaling industry and the concept of the principal agent&#34;&gt;&lt;/a&gt;The nantucket whaling industry and the concept of the principal agent&lt;/h2&gt;&lt;p&gt;Yesterday I listened to &lt;a href=&#34;https://freakonomics.com/podcast/the-first-great-american-industry/&#34;&gt;Freakanomics episode 549 “The First Great American Industry”&lt;/a&gt; about the American whaling industry and it introduced me to an economic concept I had not known about: the principal agent problem. &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;The principal agent idea was developed in the 1970’s by a couple economists: the principal is the owner of something and the agent is hired by the owner to manage the something. The principal agent problem is when the interests of these two parties are not in total alignment. In the Nantucket whaleboats the principal were the investors who financed a whaleboat, and the agents were the whaleboat crew.  In this case the agents interests were perfectly aligned with the principals in that the crew wanted nothing more than to risk their lives harvesting the most possible whale oil they could on a voyage.  These voyages were extremely dangerous and as the technology evolved began lasting longer and longer sometimes up to 4 years.  How come the crew was willing to risk their lives and dedicate so much of their time?  Each crew member from the lowest up to the capitan was paid a percentage of the voyage’s haul of whale oil.  So every time the lookout shouted “Thar she blows” every member of the crew was highly incentivized to jump in a 28 foot (8m) whaleboat the chase and harpoon a 65 foot (20m) sperm whale.  Could you imagine trying to get a hourly paid sailer to do that?  Just would not work. And that would be an example of princial agent problem. &lt;/p&gt;
&lt;p&gt;Can’t wait for the future episodes in Freakanomics whaling series as it is off to a really interesting and educative start!  Also has given me a bit of kick to pick back up Moby Dick and finally finish reading it for the second time. &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <updated>2023-07-15T08:58:34.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/04/19/reMarkable/</id>
        <title>reMarkable</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/04/19/reMarkable/"/>
        <content type="html">&lt;h2 id=&#34;My-reMarkable-arrived-today&#34;&gt;&lt;a href=&#34;#My-reMarkable-arrived-today&#34; class=&#34;headerlink&#34; title=&#34;My reMarkable arrived today!&#34;&gt;&lt;/a&gt;My reMarkable arrived today!&lt;/h2&gt;&lt;img src=&#34;/2023/04/19/reMarkable/remarkable_01.jpg&#34; class=&#34;&#34; title=&#34;First drawing&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;So I was at the office last week and suddenly the person sitting behind me in our hot desk area heard me talking and said, hey that’s Andrew (I imagine it was my strong american accent that gave me away).  It was someone who we had never met in person so I stood and we did the normal communication initiation protocol of shaking hands and what not, when I saw on his desk something I have drooled over the webpage but never could make the plunge without really testing it out: a &lt;a href=&#34;https://www.remarkable.com/&#34;&gt;reMarkable&lt;/a&gt;.  I immediately issued a RST to the communication initiation protocol that was only partially completed and said, “OMG is that what I think it is?!?!!!”.  He was quite understanding and accepted the RST gracefully and began showing off the beauty.  I was left impressed and througout the weekend I went to the site 5 or 6 times adding to the cart different options but always just could not bring myself to make the plunge as the price point is really quite expensive for Spain.  Until Sunday afternoon when I decided, what the heck you only live once and does the youngest really need to go the university?&lt;/p&gt;
&lt;p&gt;A bit of context:  I have been obsessed with pen input since I first went to my mom’s work at &lt;a href=&#34;https://en.wikipedia.org/wiki/TRW_Inc.&#34;&gt;TRW&lt;/a&gt; as a preteen and saw her interfacing with some CAD program with a pen device.  Much later I was privileged to have been the owner of a &lt;a href=&#34;https://en.wikipedia.org/wiki/Palm_V&#34;&gt;Palm V&lt;/a&gt; (you can probably detect a trend of spending lots on shiny technological toys).  Then much later even got a Samsung &lt;a href=&#34;https://en.wikipedia.org/wiki/Samsung_Galaxy_Note_series&#34;&gt;Note&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;And it arrived today! Oh joy! &lt;/p&gt;
&lt;p&gt;So first some unboxing pictures:&lt;/p&gt;
&lt;img src=&#34;/2023/04/19/reMarkable/remarkable_unboxing1.jpg&#34; class=&#34;&#34; title=&#34;Unboxing&#34;&gt;

&lt;img src=&#34;/2023/04/19/reMarkable/remarkable_unboxing2.jpg&#34; class=&#34;&#34; title=&#34;First Pen unboxing&#34;&gt;

&lt;p&gt;Just look how thin this thing is:&lt;/p&gt;
&lt;img src=&#34;/2023/04/19/reMarkable/remarkable_02.jpg&#34; class=&#34;&#34; title=&#34;Comparison to a pen&#34;&gt;

&lt;p&gt;So I have been playing with it all afternoon and have been having quite a bit of fun.&lt;/p&gt;
&lt;p&gt;There are multiple different writing implements to choose from:&lt;/p&gt;
&lt;img src=&#34;/2023/04/19/reMarkable/remarkable_03.jpg&#34; class=&#34;&#34; title=&#34;Tests&#34;&gt;

&lt;p&gt;and the interface is really polished and well done.&lt;/p&gt;
&lt;p&gt;So I will periodically document here a my impressions:&lt;/p&gt;
&lt;h3 id=&#34;Thoughts-after-first-few-hours&#34;&gt;&lt;a href=&#34;#Thoughts-after-first-few-hours&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after first few hours:&#34;&gt;&lt;/a&gt;Thoughts after first few hours:&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;writing on it is a dream&lt;/li&gt;
&lt;li&gt;the integration with desktop app and chrome extension to send webpages are very well done &lt;/li&gt;
&lt;li&gt;I am concerned how much would work if the company went out of business…&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-24-hours-added-20-x2F-04-x2F-2023&#34;&gt;&lt;a href=&#34;#Thoughts-after-24-hours-added-20-x2F-04-x2F-2023&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after 24 hours (added 20&amp;#x2F;04&amp;#x2F;2023):&#34;&gt;&lt;/a&gt;Thoughts after 24 hours (added 20&amp;#x2F;04&amp;#x2F;2023):&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;discovered that there is access to underlining OS thereby alleviating my fears of having a useless device in the unfortunate situation the company goes out of business&lt;/li&gt;
&lt;li&gt;discovered vibrant &lt;a href=&#34;https://github.com/reHackable/awesome-reMarkable&#34;&gt;hacking community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;discovered the world of &lt;a href=&#34;https://github.com/kudrykv/latex-yearly-planner/discussions/57&#34;&gt;calendar templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;still trying to see if this adds more information dispersal or really helps me&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-about-a-week-added-28-x2F-04-x2F-2023&#34;&gt;&lt;a href=&#34;#Thoughts-after-about-a-week-added-28-x2F-04-x2F-2023&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after about a week (added 28&amp;#x2F;04&amp;#x2F;2023):&#34;&gt;&lt;/a&gt;Thoughts after about a week (added 28&amp;#x2F;04&amp;#x2F;2023):&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;began using as an ebook reader and love it.  I am re-reading &lt;a href=&#34;https://en.wikipedia.org/wiki/Cryptonomicon&#34;&gt;Cryptonomicon&lt;/a&gt; for the third time.  Man this book just is the best book ever. (Neal please don’t get mad, I downloaded an epub version from the PriateBay but I own a dead tree copy)&lt;/li&gt;
&lt;li&gt;love calendar PDFs that I created via &lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt;.  For my personal one I only created monthly summaries that I love using for the &lt;a href=&#34;https://lifehacker.com/jerry-seinfelds-productivity-secret-281626&#34;&gt;Seinfeld chain strategy&lt;/a&gt;.  For my work calendar I love the weekly review summary, retrospective and daily pages for taking notes.&lt;/li&gt;
&lt;li&gt;I love that it is “open” and super easy to customize all the standard screens with my own drawings (something I would have liked to do with my Kindle but was not possible) &lt;/li&gt;
&lt;li&gt;The battery lasted a full week.  This was the first week I had it and was playing quite a bit and I did not do any battery saving things like turning on airplaine mode or manually  putting it to sleep instead of letting it sleeping on its own.  Here is how the battery was at the start of every day until I had to charge it:&lt;ul&gt;
&lt;li&gt;20&amp;#x2F;04&amp;#x2F;2023 100% Full charge&lt;/li&gt;
&lt;li&gt;21&amp;#x2F;04&amp;#x2F;2023 89%&lt;/li&gt;
&lt;li&gt;22&amp;#x2F;04&amp;#x2F;2023 66%&lt;/li&gt;
&lt;li&gt;23&amp;#x2F;04&amp;#x2F;2023 63%&lt;/li&gt;
&lt;li&gt;24&amp;#x2F;04&amp;#x2F;2023 54%&lt;/li&gt;
&lt;li&gt;25&amp;#x2F;04&amp;#x2F;2023 44%&lt;/li&gt;
&lt;li&gt;26&amp;#x2F;04&amp;#x2F;2023 19% put to charge over night&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Thoughts-after-more-than-a-year-of-use-added-13-x2F-09-x2F-2024&#34;&gt;&lt;a href=&#34;#Thoughts-after-more-than-a-year-of-use-added-13-x2F-09-x2F-2024&#34; class=&#34;headerlink&#34; title=&#34;Thoughts after more than a year of use (added 13&amp;#x2F;09&amp;#x2F;2024):&#34;&gt;&lt;/a&gt;Thoughts after more than a year of use (added 13&amp;#x2F;09&amp;#x2F;2024):&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Still use my Remarkable daily at work as an organizer (&lt;a href=&#34;https://recalendar.me/&#34;&gt;ReCalendar&lt;/a&gt;) to take note of things that need to be done, weekly retrospectives, and monthly tracker of activities&lt;/li&gt;
&lt;li&gt;Have also used a lot as an ebook reader.  Miss the function that the kindle has to lookup meaning of words, but do use tags to mark interesting passages in books&lt;/li&gt;
&lt;li&gt;The desktop software is very annoying in that it requires admin access so I no longer have it on my work device and always tries to update, even when I tell it not to&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Neal" />
        <category term="TechToys" />
        <category term="Remarkable" />
        <updated>2023-04-19T15:10:31.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/03/31/Haiku-Averia-en-AVE/</id>
        <title>Haiku: Averia en AVE</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/03/31/Haiku-Averia-en-AVE/"/>
        <content type="html">&lt;img src=&#34;/2023/03/31/Haiku-Averia-en-AVE/haiku_Averia_en_Ave.jpg&#34; class=&#34;&#34; title=&#34;Averia en AVE&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Context&#34;&gt;&lt;a href=&#34;#Context&#34; class=&#34;headerlink&#34; title=&#34;Context&#34;&gt;&lt;/a&gt;Context&lt;/h2&gt;&lt;p&gt;friday (start of semana santa week) on way home from business trip in Alicante the train suddenly stopped in the super long tunnels before Chamartin station.  After about 10 minutes all lights went out.  there were leds outside but no other lights.  no cell phone coverage.  after about 30 minutes the conductor passed on the way to the engine and said it was a general failure not with our train, but as there was no cell coverage he had no information as to why.  After about 1.5 hours he passed by the other direction saying he had to walk 500 meters to one of the emergency phones for info.  A train entering in Chamartin somehow ripped out the Ave’s electrical cables and they had removed the train but now needed to fix the cables and it would be another 30 minutes.  After a full two hours in the dark the train started and we inched into Chamartín.  The station was so packed with easter week travelers that is was nearly impossible to leave the station to catch a cab!&lt;/p&gt;
</content>
        <category term="Haiku" />
        <updated>2023-03-31T20:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2023/02/05/Grafana-Monitoring/</id>
        <title>Grafana Monitoring</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2023/02/05/Grafana-Monitoring/"/>
        <content type="html">&lt;h2 id=&#34;Grafana-monitoring-and-more-importantly-alerting&#34;&gt;&lt;a href=&#34;#Grafana-monitoring-and-more-importantly-alerting&#34; class=&#34;headerlink&#34; title=&#34;Grafana monitoring and more importantly alerting!&#34;&gt;&lt;/a&gt;Grafana monitoring and more importantly alerting!&lt;/h2&gt;&lt;p&gt;So the first docker containers I fired up on my new Raspbery Pi 4 with 8 GB of RAM when I received it back in July of 2022 were Telegraf, Influx, and Grafana to monitor the new little doggy. And I got a really pretty dashboard working and then kinda forgot about it:   &lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana01.jpg&#34; class=&#34;&#34; title=&#34;Grafana Dashboard&#34;&gt;

&lt;p&gt;Until this week when I realized that I had a process pegged at 100% since way back in december:&lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana02.jpg&#34; class=&#34;&#34; title=&#34;This can&#34; alt=&#34;t be good&#34;&gt;

&lt;p&gt;So the first thing to do was to figure out what was pegging the CPU which turned out to be a nightly log rotation that went bad.  Unfortunately can’t put too many details because I did not take any notes while investigating and solving, only can comment that it had created thousands of files and every time it tried to run hung.  Trying to clean up the files was really fun as doing an rm with a wildcard even gave me and error that there were too many files.  Google to the rescue and I got that under control but realized that having a really pretty dashboard did nothing if I did not setup up alerting when things were abnormal. &lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h3 id=&#34;Setting-up-Grafana-Alerts&#34;&gt;&lt;a href=&#34;#Setting-up-Grafana-Alerts&#34; class=&#34;headerlink&#34; title=&#34;Setting up Grafana Alerts&#34;&gt;&lt;/a&gt;Setting up Grafana Alerts&lt;/h3&gt;&lt;p&gt;So I have to say that while Grafana is really cool, really pretty, and seems really easy, for me it tends to be really complicated.  It always makes me feel rather slow and I tend to just hack and hack until I get what I want.  In this case was no different.  I tried to RTFM, but the manual made it look much easier as in their example it was possible to browse the measurements but in my case it just gave me an empty box:&lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana03.jpg&#34; class=&#34;&#34; title=&#34;I have been robbed&#34;&gt;

&lt;p&gt;So I had to go to my dashboard copy the query from the chart I wanted and keep hacking at it until i got it to work.&lt;/p&gt;
&lt;p&gt;So this is what i finally settled on for CPU monitoring: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;from(bucket: v.bucket)
|&amp;gt; range(start: v.timeRangeStart, stop: v.timeRangeStop)
|&amp;gt; filter(fn: (r) =&amp;gt; r[&amp;quot;_measurement&amp;quot;] == &amp;quot;cpu&amp;quot; and r[&amp;quot;_field&amp;quot;] == &amp;quot;usage_idle&amp;quot; and (r[&amp;quot;cpu&amp;quot;] =~ /cpu[0-9]/ or r[&amp;quot;cpu&amp;quot;] == &amp;quot;cpu-total&amp;quot;))
|&amp;gt; map(fn: (r) =&amp;gt; (&amp;#123; r with _value: r._value * -1.0 + 100.0 &amp;#125;))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I then had to fight quite a bit with the SMTP setup, which for some reason there is no way from the web interface to setup, but it is controlled in the grafana.ini file which I had not exposed on a persistent volume so I had to change the docker config mapping it to a file.  Once I was able to successfully send myself a test message i finished setting up the alert (please note I have no idea what I am doing and as previously mentioned I feel I am all thumbs with Grafana so if this alert is really ass backward, please be kind):&lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana04.jpg&#34; class=&#34;&#34; title=&#34;CPU Alert&#34;&gt;

&lt;p&gt;So next thing to do is provoke a bit of a CPU spike and wait, hope, and pray I get an alert:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cat /dev/zero &amp;gt; /dev/null
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;caused one of my CPU’s to peg at 100% nicely:&lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana05.jpg&#34; class=&#34;&#34; title=&#34;Pegged CPU&#34;&gt;

&lt;p&gt;and all the hoping and preying paid off!!!&lt;/p&gt;
&lt;img src=&#34;/2023/02/05/Grafana-Monitoring/grafana06.jpg&#34; class=&#34;&#34; title=&#34;CPU email&#34;&gt;

&lt;p&gt;I then proceeded to setup memory monitor and when I get a change will setup a disk and network montitor.&lt;/p&gt;
&lt;p&gt;I realize i will have to revisit this and improve the montitors if I ever begin monitoring my other Raspberry Pies that are spread across the globe, but for now this is a good MVP to let me know when something is amiss with my local Pi.&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Monitoring" />
        <category term="Grafana" />
        <updated>2023-02-05T11:17:02.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/12/31/Haiku-New-Years/</id>
        <title>Haiku: New Years</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/12/31/Haiku-New-Years/"/>
        <content type="html">&lt;img src=&#34;/2022/12/31/Haiku-New-Years/haiku_newyear.jpg&#34; class=&#34;&#34; title=&#34;New Years&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2022-12-31T23:00:01.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/12/22/A-new-word-of-the-day/</id>
        <title>A new word of the day</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/12/22/A-new-word-of-the-day/"/>
        <content type="html">&lt;p&gt;This morning listening to &lt;a href=&#34;https://www.vox.com/today-explained&#34;&gt;Today Explained&lt;/a&gt; hosted by the amazing &lt;a href=&#34;https://twitter.com/rameswaram&#34;&gt;Sean Rameswaram&lt;/a&gt; I learned a new word!  Not any word, but the &lt;a href=&#34;https://www.merriam-webster.com/words-at-play/word-of-the-year#:~:text=Word%20of%20the%20Year%202022%20%7C%20Gaslighting%20%7C%20Merriam%2DWebster&#34;&gt;Merriam-Webster&lt;/a&gt; word of year for 2022: &lt;strong&gt;gaslighting&lt;/strong&gt;.  This is a true indicator that I really don’t follow regular American news feeds as it appears that this word was reintroduced back in 2016 in a &lt;a href=&#34;https://www.teenvogue.com/story/donald-trump-is-gaslighting-americaand&#34;&gt;teen vogue article&lt;/a&gt; and has been gaining utilization year after year since, and this year was the most searched word on Merriam-Webster’s site.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;p&gt;So I say reintroduced because this word began its first circulation after the release the of the 1944 film Gaslight (which was based on a play from 1938) in which a man attempts to manipulate his wife into believing she is insane by leading her to doubt her own perceptions.  &lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.merriam-webster.com/dictionary/gaslighting&#34;&gt;Merriam-Webster&lt;/a&gt; has two definitions for &lt;strong&gt;gaslighting&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;psychological manipulation of a person usually over an extended period of time that causes the victim to question the validity of their own thoughts, perception of reality, or memories and typically leads to confusion, loss of confidence and self-esteem, uncertainty of one’s emotional or mental stability, and a dependency on the perpetrator&lt;br&gt;Gaslighting can be a very effective tool for the abuser to control an individual. It’s done slowly so the victim writes off the event as a one off or oddity and doesn’t realize they are being controlled and manipulated.&lt;/li&gt;
&lt;li&gt;the act or practice of grossly misleading someone especially for one’s own advantage&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Interesting! And very much in line with the current state of mistrust and doubt of everything times we live in today in which &lt;a href=&#34;https://en.wikipedia.org/wiki/Neal_Stephenson&#34;&gt;Neal Stephenson&lt;/a&gt; nailed in his book &lt;strong&gt;Fall; or, Dodge in Hell&lt;/strong&gt;.  In the book the lack of trust in the news and any information has passed the tipping point to where absolutely nobody trusts anything.  While reading the book when it came out in 2019 I thought it very insightful of Neal and as always his books introduce something ahead of the times (for those who don’t know at this point, the new name for Facebook came from his cyberpunk novel &lt;strong&gt;Snowcrash&lt;/strong&gt; written back in 1992).  Unfortunately it appears that Neal’s insightfulness was more of a warning of the slippery slope we have begun going down and where it will lead.   My personal opinion is this all can be traced back to obnoxious talk radio hosts, to then over the top tv hosts, to then a former president, each &lt;strong&gt;grossly misleading their audience for their own advantage&lt;/strong&gt;. AKA gaslighting.  At least now I have a word for what we are living through!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="NeverStopLearning" />
        <category term="Neal" />
        <updated>2022-12-22T22:10:33.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/12/11/Haiku-Naked/</id>
        <title>Haiku: Naked</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/12/11/Haiku-Naked/"/>
        <content type="html">&lt;img src=&#34;/2022/12/11/Haiku-Naked/haiku_naked.jpg&#34; class=&#34;&#34; title=&#34;Naked&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2022-12-11T09:02:52.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/12/08/Wireguard/</id>
        <title>Wireguard</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/12/08/Wireguard/"/>
        <content type="html">&lt;h2 id=&#34;A-“Personal-Virtual-Private-Network”-PVPN&#34;&gt;&lt;a href=&#34;#A-“Personal-Virtual-Private-Network”-PVPN&#34; class=&#34;headerlink&#34; title=&#34;A “Personal Virtual Private Network” (PVPN)&#34;&gt;&lt;/a&gt;A “Personal Virtual Private Network” (PVPN)&lt;/h2&gt;&lt;p&gt;I don’t quite remember if it was the first time I had configured a VPN terminator (probably had already done some PPTP work) but I distinctly remember my first brush with IPSec.  It must have been around 1998 or 1999.  Can’t remember the manufacture for sure, but suspect it was Cisco.  That was when real paper manuals were included, and boy was that a case where RTFM was required.  And the reason I remember this, is because how incredibly confusing, prone to misconfiguration, and all around not really fun it was. Fast forward to a weekend in early july 2022 when I discovered &lt;a href=&#34;https://www.wireguard.com/&#34;&gt;Wireguard&lt;/a&gt; a completely new take on VPNs that make it simple and lightening fast.&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;p&gt;Before we get into the implementation details, let me list the reasons why I find &lt;a href=&#34;https://www.wireguard.com/&#34;&gt;Wireguard&lt;/a&gt; so cool:&lt;br&gt;    - &lt;strong&gt;Simple config&lt;/strong&gt;: super easy config utilizing simple public keys&lt;br&gt;    - &lt;strong&gt;Fast&lt;/strong&gt;: it connects on all my clients so fast it almost hits me in the face&lt;br&gt;    - &lt;strong&gt;Security&lt;/strong&gt;: it has dramatically increased my security two ways:&lt;br&gt;        1. I now have my mobile always connected to the VPN and have my DNS resolution pointed to my &lt;a href=&#34;https://pi-hole.net/&#34;&gt;Pi-hole&lt;/a&gt; securing my internet surfing on the go&lt;br&gt;        2. I lowered my internet surface exposure to only a single high UDP port.  I previously had 6 TCP ports opened (ssh, CardDav, CalDav Synology NoteStation, Synology PhotoStation, and Synology CloudStation) and these were being scanned daily [1]&lt;br&gt;    - &lt;strong&gt;Mesh VPN&lt;/strong&gt;: it is possible to use as a hub and spoke, but also possible work as a mesh having clients connect directly without having to pass all the traffic through a central node.  I have not yet taken full advantage of this functionality but have a potential use case for summer and vacations that I need to explore.&lt;/p&gt;
&lt;p&gt;So on one beautify saturday morning in july I awoke before anyone in the house and had a wonderful time setting up Wireguard for the first time, and everything just worked (well, kinda. I actually lost my offsite backup node, but that was not Wireguard’s fault persay, more a collateral damage as I needed to update to a newer version of Debian and on reboot it had a problem and went into a safe run level that until I was able to physically connect to the device I could not recover it)&lt;/p&gt;
&lt;h3 id=&#34;Setting-up-the-server&#34;&gt;&lt;a href=&#34;#Setting-up-the-server&#34; class=&#34;headerlink&#34; title=&#34;Setting up the server&#34;&gt;&lt;/a&gt;Setting up the server&lt;/h3&gt;&lt;p&gt;My home node is a Rapberry Pi 4 running a 64 bit version of Debian.  Installing Wireguard was as easy as using apt-get (&lt;strong&gt;Note&lt;/strong&gt; that it is only 332kB!):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@ersa:/var/log $ sudo apt-get update
pi@ersa:/var/log $ sudo apt-get upgrade
pi@ersa:/var/log $ sudo apt install wireguard
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
wireguard-tools
The following NEW packages will be installed:
wireguard wireguard-tools
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 97.1 kB of archives.
After this operation, 332 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian bullseye/main arm64 wireguard-tools arm64 1.0.20210223-1 [88.9 kB]
Get:2 http://deb.debian.org/debian bullseye/main arm64 wireguard all 1.0.20210223-1 [8,164 B]
Fetched 97.1 kB in 0s (988 kB/s)
Selecting previously unselected package wireguard-tools.
(Reading database ... 39998 files and directories currently installed.)
Preparing to unpack .../wireguard-tools_1.0.20210223-1_arm64.deb ...
Unpacking wireguard-tools (1.0.20210223-1) ...
Selecting previously unselected package wireguard.
Preparing to unpack .../wireguard_1.0.20210223-1_all.deb ...
Unpacking wireguard (1.0.20210223-1) ...
Setting up wireguard-tools (1.0.20210223-1) ...
wg-quick.target is a disabled or a static unit, not starting it.
Setting up wireguard (1.0.20210223-1) ...
Processing triggers for man-db (2.9.4-2) ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;then I enabled IP forwarding by uncommenting this line in &amp;#x2F;etc&amp;#x2F;sysctl.conf:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;net.ipv4.ip_forward=1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;restarting something so the IP forwarding took hold:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pi@ersa:/var/log $ sudo sysctl -pnet.ipv4.ip_forward = 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;generated some keys:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ersa:/var/log# cd /etc/wireguardroot@ersa:/etc/wireguard# wg genkey | tee privatekey | wg pubkey &amp;gt; publickey
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;setup config file &amp;#x2F;etc&amp;#x2F;wireguard&amp;#x2F;wg0.conf (&lt;strong&gt;Note&lt;/strong&gt; you will need to get the private keys from the files generated above and from each of the clients):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Interface]
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Address = 10.10.10.5/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 1234

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.10.10.100/32

PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
AllowedIPs = 10.10.10.101/32
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;then i fired it up:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@ersa:/etc/wireguard# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.10.10.5/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and enabled it for autostart:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl enable wg-quick@wg0
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;Setting-up-on-a-mobile&#34;&gt;&lt;a href=&#34;#Setting-up-on-a-mobile&#34; class=&#34;headerlink&#34; title=&#34;Setting up on a mobile&#34;&gt;&lt;/a&gt;Setting up on a mobile&lt;/h3&gt;&lt;p&gt;installed Wireguard via &lt;a href=&#34;https://f-droid.org/&#34;&gt;F-Droid&lt;/a&gt;&lt;br&gt;configured the app (please note the picture is kinda weird as I had to use another phone to take the pictures because Wireguard is so secure it disables taking screen shots):&lt;br&gt; &lt;img src=&#34;/2022/12/08/Wireguard/Wireguard_Android01.jpg&#34; class=&#34;&#34; title=&#34;android config&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: this configuration only will route my home network traffic through the VPN.  If you want &lt;strong&gt;all&lt;/strong&gt; your traffic to go through the tunnel setup an all network mask like this in the “Endpoint” section:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0.0.0.0/0
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;Setting-up-on-a-windows-device&#34;&gt;&lt;a href=&#34;#Setting-up-on-a-windows-device&#34; class=&#34;headerlink&#34; title=&#34;Setting up on a windows device&#34;&gt;&lt;/a&gt;Setting up on a windows device&lt;/h3&gt;&lt;p&gt;Downloaded the windows client from &lt;a href=&#34;https://download.wireguard.com/windows-client/wireguard-installer.exe&#34;&gt;Wireguard&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;next, next, next install.&lt;br&gt;Then setup the configuration:&lt;/p&gt;
&lt;img src=&#34;/2022/12/08/Wireguard/Wireguard_Win01.jpg&#34; class=&#34;&#34; title=&#34;Port forwarding entry&#34;&gt;

&lt;p&gt;and clicked the “activate” button and it connected!&lt;/p&gt;
&lt;h3 id=&#34;Opening-it-up-to-the-world&#34;&gt;&lt;a href=&#34;#Opening-it-up-to-the-world&#34; class=&#34;headerlink&#34; title=&#34;Opening it up to the world&#34;&gt;&lt;/a&gt;Opening it up to the world&lt;/h3&gt;&lt;p&gt;And then I opened it to the internet setting by setting up port forwarding on my router:&lt;/p&gt;
&lt;img src=&#34;/2022/12/08/Wireguard/Wireguard_PortForwrding.jpg&#34; class=&#34;&#34; title=&#34;Port forwarding entry&#34;&gt;

&lt;p&gt;and that is all folks!  I think it has taken me about twice as long to write this post as it did for me to get Wireguard working allowing me to create my own PVPN.&lt;/p&gt;
&lt;h4 id=&#34;References&#34;&gt;&lt;a href=&#34;#References&#34; class=&#34;headerlink&#34; title=&#34;References&#34;&gt;&lt;/a&gt;References&lt;/h4&gt;&lt;p&gt;And here are some sites that helped me out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;main page:  &lt;a href=&#34;https://www.wireguard.com/&#34;&gt;https://www.wireguard.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;good intro onto how to set it up: &lt;a href=&#34;https://spin.atomicobject.com/2020/05/24/private-network-wireguard/&#34;&gt;https://spin.atomicobject.com/2020/05/24/private-network-wireguard/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;another guide with step by step: &lt;a href=&#34;https://upcloud.com/resources/tutorials/get-started-wireguard-vpn&#34;&gt;https://upcloud.com/resources/tutorials/get-started-wireguard-vpn&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Synology packages (currently not using these): &lt;a href=&#34;https://github.com/runfalk/synology-wireguard&#34;&gt;https://github.com/runfalk/synology-wireguard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;1&#34;&gt;&lt;a href=&#34;#1&#34; class=&#34;headerlink&#34; title=&#34;[1]&#34;&gt;&lt;/a&gt;[1]&lt;/h4&gt;&lt;p&gt;example of connection attempts against my internet facing SSH on just one day:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;grep &amp;quot;Failed password&amp;quot; /var/log/auth.log  | wc -l
104
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ufff. 104 attempts just today. 25 times attempting root, and 78 other users:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;grep &amp;quot;Failed password&amp;quot; /var/log/auth.log |  awk &amp;#39;&amp;#123;print $9&amp;#125;&amp;#39; | sort | uniq -c
1 bin
78 invalid
25 root
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and the list of attempted users is reveling about what the baddies are trying to exploit:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;26 141.98.10.94
1 abc123
1 AboutIT
1 acc
1 active
21 admin
1 agni
1 alex
1 amri
1 ansible
1 Arman
1 asdf
1 bobby
1 bpadmin
1 brayden
1 deborah
1 elemental
1 euroexpert
1 farposter
1 fastnet
1 fmaster
1 guest
1 hadoop
1 hduser
1 hudson
1 igor
1 itsuib
1 jaime
1 josiah
1 kyivstar
1 lab
1 MBbRB951
1 modelsfan
2 noc
1 nologin
1 nsroot
1 optiadmin
1 oracle
1 piotrd
1 rootroot
1 rust
1 shkpbooks
1 teamspeak
1 techsupport
1 tecnico
2 test
1 tomcat
1 ubuntu
1 ultra
1 user
1 user1
1 userr
1 vivo
1 walter
1 www
1 xml
1 zabbix
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <updated>2022-12-08T06:52:42.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/11/20/Blog-Analytics/</id>
        <title>Blog Analytics</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/11/20/Blog-Analytics/"/>
        <content type="html">&lt;h2 id=&#34;Let’s-get-some-metrics&#34;&gt;&lt;a href=&#34;#Let’s-get-some-metrics&#34; class=&#34;headerlink&#34; title=&#34;Let’s get some metrics!&#34;&gt;&lt;/a&gt;Let’s get some metrics!&lt;/h2&gt;&lt;p&gt;So before even publishing my new hexo blog on the real internet I thought that a first requirement was to get some analytics in place so I can see utilization.  I figure and suspect that the whole injecting javascript and calling home tends to freak people out and is probably pretty prone to a cat a mouse game of evasion (therefore more ops time to keep it working) therefore I have opted for log analytics.  I will achieve this using a docker “on-premise” instance of Matomo (formally Piwik).&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h2&gt;&lt;p&gt;I will use for 2 docker containers:&lt;br&gt;    - Matomo&lt;br&gt;    - MariaDB&lt;/p&gt;
&lt;p&gt;First I spun up the MariaDB container:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker run --name matomo-mariadb -v /my-location-for/matomo-mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=supersectetpw -d mariadb:10.6
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then I connected to the MariaDB and set it up (i was not born knowing this, rather followed &lt;a href=&#34;https://matomo.org/faq/how-to-install/faq_23484/&#34;&gt;this guide&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Connected to container:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker exec -it matomo-mariadb /bin/bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Connected to MariaDB as root:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;root@338bfaed46da:/# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.6.11-MariaDB-1:10.6.11+maria~ubu2004 mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type &amp;#39;help;&amp;#39; or &amp;#39;\h&amp;#39; for help. Type &amp;#39;\c&amp;#39; to clear the current input statement.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Created a new database:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MariaDB [(none)]&amp;gt; CREATE DATABASE matomo;
Query OK, 1 row affected (0.001 sec)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Created a user:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MariaDB [(none)]&amp;gt; CREATE USER &amp;#39;matomo&amp;#39;@&amp;#39;localhost&amp;#39; IDENTIFIED by &amp;#39;anothersecretpassword&amp;#39;;
Query OK, 0 rows affected (0.007 sec)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Gave the user power:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MariaDB [(none)]&amp;gt;  GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO &amp;#39;matomo&amp;#39;@&amp;#39;localhost&amp;#39;;
Query OK, 0 rows affected (0.020 sec)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And gave the user an extra boost with file privileges (something about being faster, and faster is always better. wait my mom always said haste makes waste.  now i am not so sure this was good, but it is already done)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MariaDB [(none)]&amp;gt; GRANT FILE ON *.* TO &amp;#39;matomo&amp;#39;@&amp;#39;localhost&amp;#39;;
Query OK, 0 rows affected (0.004 sec)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ok! now I have a DB let’s fireup an on-premise Matomo:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker run -d -p 8080:80 --link matomo-mariadb:db -v /my-location-for/matomo:/var/www/html --name matomo matomo
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and cross your fingers and connect to it to configure it via the web interface:&lt;/p&gt;
&lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo01.jpg&#34; class=&#34;&#34; title=&#34;Matomo Welcome&#34;&gt;

&lt;p&gt;you need to introduce Matomo to the MariaDB that was configured:&lt;/p&gt;
&lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo02.jpg&#34; class=&#34;&#34; title=&#34;Matamo DB config&#34;&gt;

&lt;p&gt;and it will connect and configure the DB:&lt;/p&gt;
&lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo03.jpg&#34; class=&#34;&#34; title=&#34;Matamo DB success&#34;&gt;

&lt;p&gt;then you give some details about the site you want to generate analytical data about:&lt;/p&gt;
&lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo04.jpg&#34; class=&#34;&#34; title=&#34;Matomo setup&#34;&gt;

&lt;p&gt;and it is ready to roll:&lt;/p&gt;
&lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo05.jpg&#34; class=&#34;&#34; title=&#34;Matomo Success!&#34;&gt;

&lt;p&gt;Now that we have Matomo running and ready we need to send it the webserver log files.&lt;/p&gt;
&lt;p&gt;First create a token to use to upload the files from config-&amp;gt; Personal -&amp;gt; Security:&lt;br&gt;    &lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo06.jpg&#34; class=&#34;&#34; title=&#34;Matomo Token page&#34;&gt;&lt;/p&gt;
&lt;p&gt;Then grab &lt;a href=&#34;https://github.com/matomo-org/matomo-log-analytics/blob/4.x-dev/import_logs.py&#34;&gt;import_logs.py&lt;/a&gt; and point it to the log files and your Matomo and let it do its parsing magic:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./import_logs.py --token-auth=YourtokenGoesHere --idsite 1 --url=http://MatomoIPgoesHere/ --enable-http-errors --enable-http-redirects --enable-static --enable-bots /path/to/log/access.log
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If everything goes well the importer will generate a summary of the results:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0 lines parsed, 0 lines recorded, 0 records/sec (avg), 0 records/sec (current)
Parsing log /sd/pv/blog/log/access.log...
84 lines parsed, 0 lines recorded, 0 records/sec (avg), 0 records/sec (current)
84 lines parsed, 0 lines recorded, 0 records/sec (avg), 0 records/sec (current)

Logs import summary
-------------------

80 requests imported successfully
0 requests were downloads
4 requests ignored:
0 HTTP errors
0 HTTP redirects
4 invalid log lines
0 filtered log lines
0 requests did not match any known site
0 requests did not match any --hostname
0 requests done by bots, search engines...
0 requests to static resources (css, js, images, ico, ttf...)
0 requests to file downloads did not match any --download-extensions

Website import summary
----------------------

80 requests imported to 1 sites
1 sites already existed
0 sites were created:

0 distinct hostnames did not match any existing site:



Performance summary
-------------------

Total time: 2 seconds
Requests imported per second: 33.35 requests per second
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And I have some data in Matomo! Disclaimer: I have never used Matomo before so will have to spend some time investigating what all this is:&lt;br&gt;    &lt;img src=&#34;/2022/11/20/Blog-Analytics/Matomo07.jpg&#34; class=&#34;&#34; title=&#34;Matomo is alive!&#34;&gt;&lt;/p&gt;
&lt;p&gt;I then setup my cron to run &lt;a href=&#34;https://github.com/matomo-org/matomo-log-analytics/blob/4.x-dev/import_logs.py&#34;&gt;import_logs.py&lt;/a&gt; at 00:00 every night and then run logrotate at 12:01 and now i can sit back and peruse my statistics that are quite sparse at this point as i am the only one using this blog, but that was the whole idea, get this in place before I actually have any visitors so I appreciate the growth!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Hexo" />
        <category term="Matomo" />
        <updated>2022-11-20T08:06:44.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/11/19/Welcome-back-to-1994/</id>
        <title>Welcome back to 1994</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/11/19/Welcome-back-to-1994/"/>
        <content type="html">&lt;h2 id=&#34;Let’s-take-back-the-internet&#34;&gt;&lt;a href=&#34;#Let’s-take-back-the-internet&#34; class=&#34;headerlink&#34; title=&#34;Let’s take back the internet!&#34;&gt;&lt;/a&gt;Let’s take back the internet!&lt;/h2&gt;&lt;p&gt;There was a a time when there was a potential for the internet to provide power to the people, and in the end, we could argue that has been achieved, but I would argue that the real power of the internet, the power of anyone to pontificate and publish to a world audience got lost somewhere along the way.  This is me making a little line in the sand and trying to turn that tide.  I suspect it will fall victim as most blogging initiatives do and be sparse, but let’s not quit before we even start!&lt;/p&gt;
&lt;!-- more --&gt;

&lt;p&gt;So here on november 19th 2022, 28 years after the supposed starting of blogging&lt;a href=&#34;https://themeisle.com/blog/history-of-blogging/&#34;&gt;[1]&lt;/a&gt; I am starting a &lt;a href=&#34;https://hexo.io/&#34;&gt;Hexo&lt;/a&gt; blog.  This will be the first post in Hexo, but in time I hope to go back and insert other previous posts that I have peppered over different platforms, consolidating things here.  For now I am excited with all the challenges and things to figure out such as where to publish this (from home, or elsewhere), how to get random pictures on the home page, get RSS feeds working, and lots of other tweeking that will keep me busy for I imagine at least a little while. &lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="Rants" />
        <updated>2022-11-19T19:51:05.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/06/21/Haiku-Atapuerca/</id>
        <title>Haiku: Atapuerca</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/06/21/Haiku-Atapuerca/"/>
        <content type="html">&lt;img src=&#34;/2022/06/21/Haiku-Atapuerca/haiku_atapuerca.jpg&#34; class=&#34;&#34; title=&#34;Atapuerca&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2022-06-21T15:36:46.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/06/17/Haiku-Staycation/</id>
        <title>Haiku: Staycation</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/06/17/Haiku-Staycation/"/>
        <content type="html">&lt;img src=&#34;/2022/06/17/Haiku-Staycation/haiku_staycation.jpg&#34; class=&#34;&#34; title=&#34;Staycation&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2022-06-17T17:29:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2022/01/15/Haiku-Dama-del-Manzanares/</id>
        <title>Haiku: Dama del Manzanares</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2022/01/15/Haiku-Dama-del-Manzanares/"/>
        <content type="html">&lt;img src=&#34;/2022/01/15/Haiku-Dama-del-Manzanares/haiku_dama_del_manzanares.jpg&#34; class=&#34;&#34; title=&#34;Dama Del Manzanares&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2022-01-15T16:48:17.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2021/12/25/Haiku-Christmas-in-JuanCa/</id>
        <title>Haiku: Christmas in JuanCa</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2021/12/25/Haiku-Christmas-in-JuanCa/"/>
        <content type="html">&lt;img src=&#34;/2021/12/25/Haiku-Christmas-in-JuanCa/haiku_christmas_in_juanca.jpg&#34; class=&#34;&#34; title=&#34;Chrismas in JuanCa&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2021-12-25T10:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2020/08/21/Pi-Arcade/</id>
        <title>Pi Arcade</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2020/08/21/Pi-Arcade/"/>
        <content type="html">&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_01.jpg&#34; class=&#34;&#34; title=&#34;I present PiArcade&#34;&gt;

&lt;p&gt;Disclaimer:  I uploaded this to the blog in January 2025 but I have set the publish date to 21&amp;#x2F;08&amp;#x2F;2020 which is when I finished building the first version of the Pi Arcade.  This post was taken from my Synology Note Station page pretty much word for word but there are also updates after the 21&amp;#x2F;08&amp;#x2F;2020 date, and I imagine in the future there will be new updates as well.&lt;br&gt;Read on for context and the build process!&lt;/p&gt;
&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;

&lt;h2 id=&#34;A-bit-of-back-story&#34;&gt;&lt;a href=&#34;#A-bit-of-back-story&#34; class=&#34;headerlink&#34; title=&#34;A bit of back story&#34;&gt;&lt;/a&gt;A bit of back story&lt;/h2&gt;&lt;p&gt;In February 2020 I switched roles from being the head of a a Project Management Office for one of our clients in Madrid to being a Senior Solution Architect.  The project team totally&lt;br&gt;caught me off guard by chipping in for a going away present, which I had always understood was done when you leave the company, not just changing roles!  The present they got me an arcade kit which included a standup arcade cabinet, joysticks, buttons, and vinyl stickers. Just assembly and a RaspberyPi was needed.  So those who don’t remember, 2020 got pretty, hummm how should we say it?  Intense?   Different? Unpredictable?  Yes all those apply.  2020 got really intense, different, and unpredictable really fast and when I saw that Madrid was going to go into lock down I forced our family to run to my Mother in laws house in Northern spain.  I had the arcade kit still in the boxes in my storage room, and as I grabbed extra monitors, PDUs, and power line network extensions I tried to get the arcade kit in the car, but alas there was no room so it had to be left behind.   In June when the lock down had ended my wife and I went to Madrid to go by our workplaces to pick up the stuff that was still left in the offices (remember when we used to have assigned desks where we could leave stuff…what a strange concept as I write this in 2025) and I took the opportunity to pick up the arcade kit as well.  This was all under the radar of my wife and half way on our back to norther spain we stopped to organize the load in the car to be less suspicions, because in our 2 days absence they had suddenly closed access to northern spain again (did i mention that these were intense, different, and unpredictable times?).  Suddenly my wife was asking what the heck were all these boxes and I had to let her know they were an arcade Kit that I was gifted when I had left the project and I had thought that her mom’s house and the circumstances would be a good place to build and leave an arcade.  Oh nelly.  I am admittedly not the sharpest tool in the shed and often miss read situations and this was one of those times.  My wife was furious that I thought I could just bring crap to leave at her mom’s house.  So we reorganized the load as best as possible to not be suspicious that we were just arriving in norther spain and resumed our drive, quite honestly getting more nervous every kilometer we got closer to our destination that we would be stopped and and forced to return to Madrid.  But although I am not the smartest tool in the shed, I do sometimes have good ideas, and my idea was to time our arrival at spanish lunch time hoping the cops had taken lunch breaks and the check points would not be manned and it worked! We made it without encountering any checkpoints!  So I stored the arcade kit in the garage and it was about a month later that I mentioned to my brother in law that it was a pity we could not take advantage of the arcade.  He of course was not of the same opinion as his sister and encouraged me to begin building it, which I of course began that day!&lt;/p&gt;
&lt;h2 id=&#34;Build-Process&#34;&gt;&lt;a href=&#34;#Build-Process&#34; class=&#34;headerlink&#34; title=&#34;Build Process&#34;&gt;&lt;/a&gt;Build Process&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;01&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;It begins and, quite honestly did not get far the first day as I was underwhelmed with the instructions, that were not at all clear.&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_02.jpg&#34; class=&#34;&#34; title=&#34;It begins!&#34;&gt;

&lt;p&gt;&lt;strong&gt;04&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;After finding &lt;a href=&#34;https://www.youtube.com/watch?v=e9I7Bx5kRyo&amp;feature=emb_title&#34;&gt;this youtube video&lt;/a&gt; and a trip to the hardware store for some hinges I was ready to tackle the challenge!&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_03.jpg&#34; class=&#34;&#34; title=&#34;Advancement!&#34;&gt;
&lt;p&gt;&lt;strong&gt;05&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;I thought I could hack making holes for speakers but it did not work and had to buy an adjustable drill bit:&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_04.jpg&#34; class=&#34;&#34; title=&#34;Ummm yea, Nope&#34;&gt;

&lt;p&gt;&lt;strong&gt;06&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_05.jpg&#34; class=&#34;&#34; title=&#34;Pi is finally getting involved!&#34;&gt;
&lt;p&gt;&lt;strong&gt;08&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;after testing multiple of different distributions, I finally settled on RetroPi and spent lots of time trying to figure it out and get it to work (actually as of today 22&amp;#x2F;08&amp;#x2F;2020 i still have not figured out how to get it to save specific game joystick mappings and screen resolution settings)&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_06.jpg&#34; class=&#34;&#34; title=&#34;Getting close to be able to play&#34;&gt;

&lt;p&gt;&lt;strong&gt;18&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;Decided to stop fighting with the functional part of the arcade and finish the actual physical construction&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_07.jpg&#34; class=&#34;&#34; title=&#34;Humm it may be an arcade cabinet after all!&#34;&gt;
&lt;p&gt;&lt;strong&gt;19&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;added the Marquee and the screen covering and it is starting to look good!&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_08.jpg&#34; class=&#34;&#34; title=&#34;Nice!&#34;&gt;
&lt;p&gt;&lt;strong&gt;20&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;ordered U tubbing but thought some black edging tape would be good for around the marquee and bottom:&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_09.jpg&#34; class=&#34;&#34; title=&#34;Getting there!&#34;&gt;

&lt;p&gt;&lt;strong&gt;21&amp;#x2F;08&amp;#x2F;2020&lt;/strong&gt;&lt;br&gt;Final sprint to the finish! amazed with the results!&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_10.jpg&#34; class=&#34;&#34; title=&#34;Yea!&#34;&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_11.jpg&#34; class=&#34;&#34; title=&#34;Final&#34;&gt;

&lt;h2 id=&#34;Update-05-x2F-12-x2F-2020-Upgrade-to-Raspberry-Pi-3-B&#34;&gt;&lt;a href=&#34;#Update-05-x2F-12-x2F-2020-Upgrade-to-Raspberry-Pi-3-B&#34; class=&#34;headerlink&#34; title=&#34;Update 05&amp;#x2F;12&amp;#x2F;2020: Upgrade to Raspberry Pi 3 B+&#34;&gt;&lt;/a&gt;Update 05&amp;#x2F;12&amp;#x2F;2020: Upgrade to Raspberry Pi 3 B+&lt;/h2&gt;&lt;p&gt;The initial build was done with a Raspberry Pi A but it was painfully slow to boot.  If I was good at math I would tell you the improvement with numbers, but for me a visual tells me much more:&lt;br&gt; &lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_12.jpg&#34; class=&#34;&#34; title=&#34;That is a lot faster!&#34;&gt;&lt;br&gt;This might be a bit disingenuous as I did do other optimizations:&lt;br&gt;it was taking 52 seconds to boot (still a full minute faster than PI 1, but I wanted faster!) and found this command to analyze what was slowing things up:&lt;br&gt;    ‘systemd-analyze blame’&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_13.jpg&#34; class=&#34;&#34; title=&#34;Blame&#34;&gt;  
&lt;p&gt;after disabling dhcp and a netbios process it now boots in 19 seconds! &lt;/p&gt;
&lt;h2 id=&#34;Update-31-x2F-07-x2F-2022-Electrical-plug-improvements&#34;&gt;&lt;a href=&#34;#Update-31-x2F-07-x2F-2022-Electrical-plug-improvements&#34; class=&#34;headerlink&#34; title=&#34;Update 31&amp;#x2F;07&amp;#x2F;2022: Electrical plug improvements&#34;&gt;&lt;/a&gt;Update 31&amp;#x2F;07&amp;#x2F;2022: Electrical plug improvements&lt;/h2&gt;&lt;p&gt;After quite a lot of thought and investigation of options for turning everything on and off, I realized the best bet was to go with easiest and simplest solution:&lt;/p&gt;
&lt;img src=&#34;/2020/08/21/Pi-Arcade/arcade_14.jpg&#34; class=&#34;&#34; title=&#34;Cable&#34;&gt; 



&lt;h2 id=&#34;Links-References-and-things-that-helped-with-this&#34;&gt;&lt;a href=&#34;#Links-References-and-things-that-helped-with-this&#34; class=&#34;headerlink&#34; title=&#34;Links, References and things that helped with this&#34;&gt;&lt;/a&gt;Links, References and things that helped with this&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Where to cabinet is from: &lt;a href=&#34;https://bartop.es/&#34;&gt;https://bartop.es/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Distribution I am using: &lt;a href=&#34;https://retropie.org.uk/download/&#34;&gt;https://retropie.org.uk/download/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tried these ones as well:&lt;br&gt;  &lt;a href=&#34;https://archive.recalbox.com/&#34;&gt;https://archive.recalbox.com/&lt;/a&gt;&lt;br&gt;  &lt;a href=&#34;http://piplay.org/&#34;&gt;http://piplay.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Where i got the U Tubing (arrived overnight!): &lt;a href=&#34;https://www.arcadexpress.com/&#34;&gt;https://www.arcadexpress.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Youtube video that got me over the fear and gave me lots of ideas on how to proceed:&lt;br&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=e9I7Bx5kRyo&amp;amp;feature=emb_title&#34;&gt;https://www.youtube.com/watch?v=e9I7Bx5kRyo&amp;amp;feature=emb_title&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rasperry Pi Used&lt;/strong&gt;: Raspberry Pi 3 Model B+&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distribution&lt;/strong&gt;: RetroPie 4.7.1 update (Nov 2020)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAME&lt;/strong&gt;: lr-mame2003&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ROMs&lt;/strong&gt;: MAME 0.78&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Folder&lt;/strong&gt;: &amp;#x2F;home&amp;#x2F;pi&amp;#x2F;RetroPie&amp;#x2F;roms&amp;#x2F;arcade&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Button Layout&lt;/strong&gt;:&lt;br&gt;  Y   X   L&lt;br&gt;  B   A   R&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="RetroGaming" />
        <category term="RaspberryPi" />
        <updated>2020-08-21T10:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2020/08/03/Summer-Moment-of-Zen-2020/</id>
        <title>Summer Moment of Zen 2020</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2020/08/03/Summer-Moment-of-Zen-2020/"/>
        <content type="html">&lt;p&gt;Today I had my summer moment of Zen:&lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/EWoJxm23WTk&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;This year I ventured into Asturias to a really cool cove that I discovered last summer in Tapia de Casariego:&lt;/p&gt;
&lt;img src=&#34;/2020/08/03/Summer-Moment-of-Zen-2020/smz2020_map.jpg&#34; class=&#34;&#34; title=&#34;Right there!&#34;&gt;

&lt;p&gt;and as I had hoped, it provided and amazing tide differential:&lt;/p&gt;
&lt;img src=&#34;/2020/08/03/Summer-Moment-of-Zen-2020/smz2020_differential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;p&gt;Once again I targeted a big tide moment, this year was not a double whammy like last year but it was still a big tide:&lt;/p&gt;
&lt;img src=&#34;/2020/08/03/Summer-Moment-of-Zen-2020/smz2020_moontide.jpg&#34; class=&#34;&#34; title=&#34;Moon and Tide&#34;&gt;

&lt;p&gt;In the end I was capturing for 6 hours 10 minutes and 2 seconds:&lt;/p&gt;
&lt;img src=&#34;/2020/08/03/Summer-Moment-of-Zen-2020/smz2020_timestamp.jpg&#34; class=&#34;&#34; title=&#34;Timestamp&#34;&gt;

&lt;p&gt;Which gave a lot of time to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;spoke with some pilgrims&lt;/li&gt;
&lt;li&gt;picked up trash on the beach&lt;/li&gt;
&lt;li&gt;had a cool beverage &lt;/li&gt;
&lt;li&gt;had lunch&lt;/li&gt;
&lt;li&gt;started reading Rise and fall of D.O.D.O.&lt;/li&gt;
&lt;li&gt;watched a fisherman&lt;/li&gt;
&lt;li&gt;watched some people kyaak&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is the rig used:&lt;/p&gt;
&lt;img src=&#34;/2020/08/03/Summer-Moment-of-Zen-2020/smz2020_rig.jpg&#34; class=&#34;&#34; title=&#34;Rig&#34;&gt;

&lt;p&gt;And then combined all the pictures into a video: &lt;code&gt;mencoder -idx -nosound -ovc lavc -lavcopts vcodec=mjpeg -o 2020_zen.avi -mf fps=24 mf://@list.txt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).   &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2020-08-03T16:54:46.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2019/08/03/Summer-Moment-of-Zen-2019/</id>
        <title>Summer Moment of Zen 2019</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2019/08/03/Summer-Moment-of-Zen-2019/"/>
        <content type="html">&lt;p&gt;For the last 3 years I have been celebrating what has now become an annual summer ritual: finding some cool spot, timing my arrival with the changing of a tide, setting up my camera rig, and spending 5 - 6 hours contemplating a bit of everything while my camera takes a picture of the changing tide every 5 seconds. This ritual I have baptized as my summer moment of zen (all credit of the “Moment of Zen” concept goes to Jon Stewart and the Daily Show).&lt;/p&gt;
&lt;p&gt;This summer I coincided my excursion with a perigean spring tide.&lt;/p&gt;
&lt;p&gt;Oh what is a perigean spring tide you ask? It is when a spring tide (nothing to do with the season but when there is a FULL moon or NEW moon) coincides with the moon closest to the earth in its orbit (perigee). Let me draw you a picture:&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_drawing.jpg&#34; class=&#34;&#34; title=&#34;Not to scale drawing&#34;&gt;

&lt;p&gt;On august 3rd the moon was only 603,305 KM from the earth and coincided with an almost new moon causing a gravitational double whammy, bulging tides to higher and lower levels than are normally witnessed (a tidal differential of nearly 4 meters):&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_evidences.jpg&#34; class=&#34;&#34; title=&#34;Moon and Tide&#34;&gt;

&lt;p&gt;So I got up early and positioned myself on a nice perch overlooking the bay of the Eo River:&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_perch.jpg&#34; class=&#34;&#34; title=&#34;I was there&#34;&gt;

&lt;p&gt;and setup my camera rig (camera, solar panel, Mexican blanket, and a thermos of coffee):&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_equipment.jpg&#34; class=&#34;&#34; title=&#34;Gear&#34;&gt;

&lt;p&gt;and hung out from 07:45 and until 12:45:&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_time.jpg&#34; class=&#34;&#34; title=&#34;Timestamps&#34;&gt;

&lt;p&gt;Here is how it was when I arrived and when I left:&lt;/p&gt;
&lt;img src=&#34;/2019/08/03/Summer-Moment-of-Zen-2019/smz2019_differential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;

&lt;p&gt;And then i combined all the pictures into a timelapse video:&lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/Fg6BNhOnK1E&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).   &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2019-08-03T16:21:03.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2018/08/25/Haiku-Summer-Close/</id>
        <title>Haiku: Summer Close</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2018/08/25/Haiku-Summer-Close/"/>
        <content type="html">&lt;img src=&#34;/2018/08/25/Haiku-Summer-Close/haiku_summer_close.jpg&#34; class=&#34;&#34; title=&#34;Summer Close&#34;&gt;</content>
        <category term="Haiku" />
        <updated>2018-08-25T16:11:20.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2018/08/16/Summer-Moment-of-Zen-2018/</id>
        <title>Summer Moment of Zen 2018</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2018/08/16/Summer-Moment-of-Zen-2018/"/>
        <content type="html">&lt;p&gt;The second ever summer moment of zen (or maybe 3rd, but was not able to find any record or video from 2017!)&lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/YJh-oqS-AKU&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;


&lt;h3 id=&#34;Implementation-details&#34;&gt;&lt;a href=&#34;#Implementation-details&#34; class=&#34;headerlink&#34; title=&#34;Implementation details&#34;&gt;&lt;/a&gt;Implementation details&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Location&lt;/strong&gt;:  Peña Furada&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Date&lt;/strong&gt;: 16&amp;#x2F;08&amp;#x2F;2018&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duration&lt;/strong&gt;: 15:58 - 20:45&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Camera&lt;/strong&gt;: GoPro HERO3+ Black Edition&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frequency&lt;/strong&gt;: picture every 10 seconds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Number of pictures taken&lt;/strong&gt;: 1,707&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Photo Resolution&lt;/strong&gt;: 6.75 MP Wide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;Pictures&#34;&gt;&lt;a href=&#34;#Pictures&#34; class=&#34;headerlink&#34; title=&#34;Pictures&#34;&gt;&lt;/a&gt;Pictures&lt;/h3&gt;&lt;img src=&#34;/2018/08/16/Summer-Moment-of-Zen-2018/smz2018_differential.jpg&#34; class=&#34;&#34; title=&#34;Differential&#34;&gt;
&lt;img src=&#34;/2018/08/16/Summer-Moment-of-Zen-2018/smz2018_timestamp.jpg&#34; class=&#34;&#34; title=&#34;Timestamp&#34;&gt;
&lt;img src=&#34;/2018/08/16/Summer-Moment-of-Zen-2018/smz2018_rig.jpg&#34; class=&#34;&#34; title=&#34;Mexican blanket!&#34;&gt;


&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2018-08-16T16:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2016/08/17/Summer-Moment-of-Zen-2016/</id>
        <title>Summer Moment of Zen 2016</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2016/08/17/Summer-Moment-of-Zen-2016/"/>
        <content type="html">&lt;p&gt;The first ever summer moment of zen!&lt;/p&gt;
&lt;div class=&#34;video-container&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/YJh-oqS-AKU&#34; frameborder=&#34;0&#34; loading=&#34;lazy&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;p&gt;Nothing was saved on this first outing (no pictures of rig, mexican blanket, tide&amp;#x2F;moon, nor how video was created!)&lt;/p&gt;
&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).   &lt;/p&gt;
</content>
        <category term="SummerMomentOfZen" />
        <updated>2016-08-17T16:00:00.000Z</updated>
    </entry>
    <entry>
        <id>http://blog.jupiterstation.net/2013/07/01/Pi-Mame/</id>
        <title>PiMame</title>
        <link rel="alternate" href="http://blog.jupiterstation.net/2013/07/01/Pi-Mame/"/>
        <content type="html">&lt;p&gt;Disclaimer: I uploaded this to the blog in August of 2023 but I have set the publish date to 01&amp;#x2F;07&amp;#x2F;2013 when I finished the second prototype. &lt;/p&gt;
&lt;p&gt;In early June 2013 I saw a &lt;a href=&#34;https://learn.adafruit.com/retro-gaming-with-raspberry-pi?view=all&#34;&gt;guide on Adafruit&lt;/a&gt; about using a Raspberry Pi as a &lt;a href=&#34;https://www.mamedev.org/&#34;&gt;Mame&lt;/a&gt; game console.  What I really loved was the idea of using the &lt;a href=&#34;https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#gpio-and-the-40-pin-header&#34;&gt;GPIO (general-purpose input&amp;#x2F;output) pins&lt;/a&gt; to directly connect the joystick and buttons.  Not long after I was reviewing material in a warehouse to ensure that none of our networking equipment was stored there because the next day a chatarrero (scrap collector in spanish) was coming to take everything away. I did not find any of our networking equipment, but I did see an old Sony Trinitron security monitor that I immediately thought would make a great game console due to it’s form factor like the old &lt;a href=&#34;https://en.wikipedia.org/wiki/Vectrex&#34;&gt;Vectrex&lt;/a&gt; from my youth. So read on for the implementation and evolution of the project!&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_vectrex.jpg&#34; class=&#34;&#34; title=&#34;Homage to the Vectrex&#34;&gt;

&lt;span id=&#34;more&#34;&gt;&lt;/span&gt;
&lt;h2 id=&#34;First-Prototype&#34;&gt;&lt;a href=&#34;#First-Prototype&#34; class=&#34;headerlink&#34; title=&#34;First Prototype&#34;&gt;&lt;/a&gt;First Prototype&lt;/h2&gt;&lt;p&gt;Of corse the &lt;a href=&#34;https://learn.adafruit.com/retro-gaming-with-raspberry-pi?view=all&#34;&gt;guide on Adafruit&lt;/a&gt; had joysticks and buttons but there was no shipping to Spain so I found the wonderful &lt;a href=&#34;https://www.arcadeshop.de/&#34;&gt;ArcadeShop.de&lt;/a&gt; in Europe that had REAL japanese components just like the real arcade consoles!&lt;br&gt;A bit more expensive than other knock offs, but man the whole button and joystick response is a world to its own, and I was looking for the most authentic experience possible.  I opted for a legendary Sanwa Joystick and 5 buttons (1 player, 2 player, $, button A, and button B):   &lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_firstjoystick.jpg&#34; class=&#34;&#34; title=&#34;First purchase&#34;&gt;

&lt;p&gt;Two weeks later I had a package waiting for me and I had a moment of zen cabling and testing the joystick and buttons. &lt;/p&gt;
&lt;p&gt;The cabling guide from Adafruit really helped and here is my cheetsheet of the final mapping of my buttons:&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_mapping1.jpg&#34; class=&#34;&#34; title=&#34;I think the colors mean something as well, but this was 10 years ago!&#34;&gt;

&lt;p&gt;For the mapping of of the buttons from the GPIO to a Mame key press I used &lt;a href=&#34;https://github.com/adafruit/Adafruit-Retrogame&#34;&gt;Adafruit-Retrogame&lt;/a&gt; which involved editing the retrograme.c file and compiling with make. &lt;/p&gt;
&lt;p&gt;Here is prototype 1 which I messed up in two ways: button holes too big and I should have put the opening of lid in front (but that what a prototype is for: figuring out how to get things to work):&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_proto.jpg&#34; class=&#34;&#34; title=&#34;I think the colors mean something as well, but this was 10 years ago!&#34;&gt;

&lt;p&gt;The box is from a &lt;a href=&#34;https://en.wikipedia.org/wiki/SheevaPlug&#34;&gt;SheevaPlug&lt;/a&gt; and worked great because it has built in magnets to hold it closed.  I had a few other another &lt;a href=&#34;https://en.wikipedia.org/wiki/SheevaPlug&#34;&gt;SheevaPlug&lt;/a&gt; boxes which were even better because they had no markings and were plain white so the next iteration turned out to be the final build:&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_proto2.jpg&#34; class=&#34;&#34; title=&#34;Yea!&#34;&gt;

&lt;h2 id=&#34;Let’s-make-this-multiplayer&#34;&gt;&lt;a href=&#34;#Let’s-make-this-multiplayer&#34; class=&#34;headerlink&#34; title=&#34;Let’s make this multiplayer&#34;&gt;&lt;/a&gt;Let’s make this multiplayer&lt;/h2&gt;&lt;p&gt;The first iteration gave us hours and hours of fun. Lots of competitions to see who could get the highest scores, but with just one joystick it was not possible to play the mother of all 2 player games: &lt;a href=&#34;https://en.wikipedia.org/wiki/Joust_(video_game)&#34;&gt;Joust&lt;/a&gt;.  So 3 years later in the summer of 2016 I made another purchase in &lt;a href=&#34;https://www.arcadeshop.de/&#34;&gt;ArcadeShop.de&lt;/a&gt;:&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_secondjoystick.jpg&#34; class=&#34;&#34; title=&#34;Second purchase&#34;&gt;

&lt;p&gt;And I had another a moment of zen cabling and testing the joystick and buttons as you can see in the following photo collage:  &lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_zen.jpg&#34; class=&#34;&#34; title=&#34;Cable Zen&#34;&gt;

&lt;p&gt;With 2 joysticks and 7 buttons a total of 15 GPIO pins were needed which pushes the original Raspberry Pi’s 26 pin header to to the limit as 4 pins are used for power and another 5 for ground leaving only 17 usable pins. So with the current implementation it would only be possible to add an additional single button to each joystick. That would be nice for Golden Axe to use magic, but no where near the number needed for the 6 buttons per user with Street Fighter II. Mr &lt;a href=&#34;https://en.wikipedia.org/wiki/Eben_Upton&#34;&gt;Eben Upton&lt;/a&gt; must have realized this was limiting Raspberry Pi sales and later versions now have a 40 pin header which is sufficient for all the buttons of Street Fighter II.&lt;/p&gt;
&lt;p&gt;and the final result:&lt;/p&gt;
&lt;img src=&#34;/2013/07/01/Pi-Mame/pimame_joust.jpg&#34; class=&#34;&#34; title=&#34;Oh yea!&#34;&gt;

&lt;p&gt;Thanks for reading and feel free to give feedback or comments via email (&lt;a href=&#34;mailto:andrew@jupiterstation.net&#34;&gt;andrew@jupiterstation.net&lt;/a&gt;).  &lt;/p&gt;
</content>
        <category term="GeekFun" />
        <category term="RetroGaming" />
        <category term="RaspberryPi" />
        <updated>2013-07-01T20:46:47.000Z</updated>
    </entry>
</feed>
