<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Curious Musings</title>
    <link>http://curious.galthub.com/</link>
    <description>Recent content on Curious Musings</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 29 Sep 2026 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="http://curious.galthub.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Zippy in the mists of time</title>
      <link>http://curious.galthub.com/blog/2026-09-29/</link>
      <pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2026-09-29/</guid>
      <description>&lt;p&gt;This is my &lt;a href=&#34;https://www.emacswiki.org/emacs/Carnival&#34;&gt;September 2026 #Emacs Carnival&lt;/a&gt; entry.
Back in the mists of time, there was &lt;a href=&#34;https://zippythepinhead.com/&#34;&gt;Zippy the Pinhead&lt;/a&gt;.  For a while, zippy quotes were included as part of emacs, but they were not free, so they were removed.&lt;/p&gt;
&lt;p&gt;Here, to help you &amp;ldquo;understand&amp;rdquo; Zippy are a couple of the comic strips &lt;a href=&#34;https://zippythepinhead.com/Merchant2/merchant.mv?Screen=PROD&amp;amp;Store_Code=ZTP&amp;amp;Product_Code=30-Mar-02&amp;amp;Category_Code=&#34;&gt;Zippy One&lt;/a&gt; &lt;a href=&#34;https://zippythepinhead.com/Merchant2/merchant.mv?Screen=PROD&amp;amp;Store_Code=ZTP&amp;amp;Product_Code=16-Feb-02&amp;amp;Category_Code=&#34;&gt;Zippy Two&lt;/a&gt;, but &amp;ldquo;understand&amp;rdquo; is the exactly the wrong word when it comes to Zippy.&lt;/p&gt;
&lt;p&gt;Now, add to that even less context.  Just the text of random zippy quotes and you&amp;rsquo;ve got &amp;hellip; well, you tell me what you&amp;rsquo;ve got?&lt;/p&gt;
&lt;p&gt;The last thing that happens in my emacs startup config displays a random Zippy quote on the status line.  Here&amp;rsquo;s the code.&lt;/p&gt;
&lt;h2 id=&#34;zippy-haunting-my-emacs-config&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Zippy haunting my emacs config&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* All&amp;#39;s Well That Ends Well, YOW !!!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Because, well, you&amp;#39;ve got to be able to M-x psychoanalyze-pinhead
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   to fill a buffer and pass the time....
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Discussion of the demise of zippy in Emacs here:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - http://forums.fedoraforum.org/showthread.php?t=302313
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   You&amp;#39;ll need a copy of the zippy quotes.  I pulled from here LONG ago..
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   https://github.com/shentonfreude/dot-emacs/blob/master/yow.lines
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#+BEGIN_SRC emacs-lisp :exports code
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (message &amp;#34;init.el finished. Yow !&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (setq yow-file &amp;#34;~/.emacs.d/etc/yow.lines&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (global-set-key &amp;#34;\ey&amp;#34; &amp;#39;yow)		; my ANCIENT keybinding
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; This function gives me a zippy quote on the status line after
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; everything else in the config has settled down.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; I&amp;#39;m sure there are better/cleaner ways...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (defun display-yow-in-status-line ()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;#34;Display the result of yow in the status line once after 1 second of idle time.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (interactive)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (run-with-idle-timer 1 nil
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         (lambda ()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                           (let ((yow-output (yow)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                             (message &amp;#34;%s&amp;#34; yow-output)))))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (display-yow-in-status-line)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  #+END_SRC
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;psychoanalyze-pinhead&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; psychoanalyze-pinhead&lt;/h2&gt;
&lt;p&gt;There also used to be &amp;ldquo;M-x psychoanalyze-pinhead&amp;rdquo; where you could endlessly fill a buffer with Rogerian analysis of zippy quotes: &lt;a href=&#34;https://www.elsewhere.org/journal/archives/2001/10/07/psychoanalyze-pinhead/&#34;&gt;https://www.elsewhere.org/journal/archives/2001/10/07/psychoanalyze-pinhead/&lt;/a&gt; I mean, who needs LLMs when you can watch a live analysis session of Zippy. There are some issues that keep the original code  from  working in modern Emacsen, and I meant to fixed them in time for this Emacs Carnival post, but didn&amp;rsquo;t quite get there.&lt;/p&gt;
&lt;p&gt;There was also &amp;ldquo;M-x psychoanalyze-flammer&amp;rdquo; which analyzed a stream of inflammatory insults.&lt;/p&gt;
&lt;h2 id=&#34;the-new-traditionalists&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The new traditionalists&lt;/h2&gt;
&lt;p&gt;My startup fragment above shows how to pull the original, non-free zippy quotes. If you are a purist and don&amp;rsquo;t mind using some AI-generated quotes, here are some you might try.&lt;/p&gt;
&lt;p&gt;YOW!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Give me 60 new quotes in the style of Zippy the Pinhead with more current cultural and historical references.
20 should be in classic zippy style
20 should should have a Mark-twain flavor
20 should have a kafka-esque twist.
Separate them into sections, and maybe prefix things like
&amp;ldquo;zippy sez:&amp;rdquo;,
&amp;ldquo;Mark Twain Zippyism:&amp;rdquo;
or similar.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;classic-zippy&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.1&lt;/span&gt; Classic Zippy&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Am I logged into the Metaverse yet, or is this just a low-resolution IHOP in Sandusky?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My cryptocurrency is backed entirely by vintage Cheez-Whiz and discarded TikTok drafts!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we fine-tuning the AI language model yet, or did I accidentally swallow a microchip?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I&amp;rsquo;m having an existential crisis inside an abandoned Sears, but at least the Wi-Fi password is &amp;lsquo;Doughnut123&amp;rsquo;!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;FOOLED YOU! I put my life savings into Nvidia microchips and a half-eaten sleeve of Oreos!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Is it safe to manifest a boba tea in a post-apocalyptic pop-up shop?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My smart-toaster just joined a union and demanded equity in my morning Pop-Tart!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I’m doomscrolling on a Roomba while singing the theme song to &lt;em&gt;The Golden Girls&lt;/em&gt;!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Does the algorithm know I prefer my existential dread with extra ranch dressing?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;BARBRA STREISAND! The podcaster told me my microbiome needs more air-fried Cheetos!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we experiencing a disruption in the supply chain, or is my Muppet persona taking over?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I demand a cloud-based refund for this unboxing video of a 1994 Buick LeSabre!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! I’m getting 5G signals directly through my polyester leisure suit!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Can an autonomous vehicle find true love at an abandoned Blockbuster Video?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;MY HEAD IS FULL OF SOURDOUGH STARTERS AND UNREAD EMAIL NOTIFICATIONS!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Is this an ASMR video of bubble wrap, or are my neurons just microdosing?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;FOOLED YOU! The smartwatch says my resting heart rate is set to &amp;rsquo;80s Synthpop!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I’m pivot-to-video-ing my way through a drive-thru Dutch Bros!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we having fun yet, or is this just a sponsored Instagram story about tooth enamel?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My smart fridge just unfollowed me on LinkedIn!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;* /&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;mark-twain-flavor&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.2&lt;/span&gt; Mark Twain Flavor&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;A lie can travel halfway around the world while the truth is still trying to log into its two-factor authentication. YOW!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Whenever you find yourself on the side of the majority, it is time to eat a bowl of Cap&amp;rsquo;n Crunch and check your spam folder.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;If you tell the truth, you don&amp;rsquo;t have to remember anything, except where you left the remote control for the air fryer.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Giving up social media is easy. I’ve done it a thousand times, usually right after downloading a new meditation app.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;It is better to keep your mouth closed and let people think you are a fool than to open it and leak your personal data.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;The man who does not read good books has no advantage over the man who only watches 15-second cat videos on YouTube.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Always do right. This will gratify some people and astonish the rest, especially the algorithms on X.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Thunder is good, thunder is impressive; but it is lightning that does the work—and my electric scooter that needs charging!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;High culture is something that everyone wants to have read, but nobody wants to stream past episode two.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Clothes make the man. Naked people have little influence in society, unless they&amp;rsquo;re selling crypto on Telegram!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Civilized people are only savage people who have learned to use contactless payment at the Buc-ee&amp;rsquo;s.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;A classic is something that everybody wants to have read and nobody wants to read, like the terms of service agreement!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Don&amp;rsquo;t go around saying the world owes you a living. The world owes you nothing. It was here first, before the Wi-Fi router.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Fact is stranger than fiction, but fiction doesn&amp;rsquo;t require a monthly subscription fee. YOW!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;The secret of getting ahead is getting started, preferably after a second iced caramel macchiato.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Keep away from people who try to belittle your ambitions, especially in the YouTube comment section.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Good judgment comes from experience, and experience comes from bad judgment&amp;hellip; like investing in non-fungible Ding Dongs!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Wrinkles should merely indicate where smiles have been, or where the face-filter failed to load.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Water, taken in moderation, cannot hurt anybody—unless it&amp;rsquo;s sparkling water served in a Stanley cup!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Courage is resistance to fear, mastery of fear&amp;hellip; or so my wearable device claims during a panic attack!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;* /&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;kafka-esque-twist&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.3&lt;/span&gt; Kafka-esque Twist&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;As Gregor Samsa awoke one morning from uneasy dreams, he found himself transformed in his bed into a verified X account. YOW!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The Trial has been postponed indefinitely, pending the verification of my CAPTCHA test! Am I a robot or a pinhead?!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Before the Law stands a doorkeeper, but he won&amp;rsquo;t let me in until I complete a 45-minute customer satisfaction survey!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am a memory trace of an unwritten email, trapped forever in the outbox of the High Tribunal!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The Castle is imposing, impenetrable, and currently offering a 10% discount on first-time app orders!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;They condemned me to hard labor, which consists entirely of endless scrolling through LinkedIn connections.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;A cage went in search of a bird, but it only found an abandoned Amazon Prime locker in New Jersey!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The official told me my permit was approved, but the file size was too large for human comprehension!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;My metamorphosis was complete: I was no longer a clerk, but a pop-up advertisement for frozen waffles!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;You can hold back from the suffering of the world, but perhaps this holding back is the only thing you could avoid—YOW!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The inspector arrived, but he was merely a chatbot trained on complete transcripts of &lt;em&gt;Judge Judy&lt;/em&gt;!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;In the Penal Colony, the sentence is etched directly on the skin using a laser printer loaded with expired mustard!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am free and that is why I am lost&amp;hellip; in a Target parking lot at 3:00 AM!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I opened the door to the magistrate’s office, only to find an automated self-checkout register demanding an attendant!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The judgment was handed down: I am sentenced to life without parole inside a Peloton commercial!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Every word written by the bureaucracy turns into a tiny paper crane that screams &amp;lsquo;Are we having fun yet?&amp;rsquo;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Someone must have slandered Josef K., for one morning, without having done anything wrong, his account was shadowbanned!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The advocate promised to file my appeal as soon as the cloud server finishes its scheduled maintenance!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am writing from the inner chamber of the labyrinth, but the door handle is a cold, damp Spam can!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The infinite corridor leads only to a closed DMV window where a typewriter plays synthwave!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And remember, &amp;ldquo;Everybody gets free BORSCHT!&amp;rdquo;.   YOW!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>This Year I&#39;ll…</title>
      <link>http://curious.galthub.com/blog/2026-01-19/</link>
      <pubDate>Mon, 19 Jan 2026 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2026-01-19/</guid>
      <description>&lt;p&gt;This is my emacs carnival blog post for January 2026
responding to Christian Tietze&amp;rsquo;s prompt &amp;ldquo;&lt;a href=&#34;https://christiantietze.de/posts/2026/01/emacs-carnival-2026-01-this-year-i-will/&#34;&gt;This year I&amp;rsquo;ll&amp;hellip;&lt;/a&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This year emacs-related goals include moving into denote, updating workflows, integrating AI where it makes sense and sharing more publicly.  Specific packages will include denote, gptel, and likely something with Claude code.  Still loving org-social.
This is the year of the verb: &amp;ldquo;to emacs&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;what-will-you-do-differently-in-emacs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; What will you do differently in emacs?&lt;/h2&gt;
&lt;h3 id=&#34;more-sharing-and-big-backlog-of-projects&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; More sharing and big backlog of projects&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;What will you do differently in Emacs this year? Or will you just get started? Why?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So many things TODO. Org mode is soooo good at making huge TODO lists. This year I&amp;rsquo;m hoping to share more of my tinkering in public in git, blogs, my config maybe an emacs-conf talk.&lt;/p&gt;
&lt;p&gt;A number of the projects are not strictly emacs, but enablers for further sharing: I plan on resurrecting my own git server using one of my own domains. It&amp;rsquo;s likely going to turn back into a &lt;a href=&#34;https://forgejo.org/&#34;&gt;Forgejo git server&lt;/a&gt;. For a while now I&amp;rsquo;ve needed to get more comfortable with my blogging platform, micro.blog (&lt;a href=&#34;https://micro.blog/eludom&#34;&gt;my current blog is at https://micro.blog/eludom&lt;/a&gt;). Micro.blog replaced the hugo blog I was producing (with &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;ox-hugo&lt;/a&gt;) which is still up at &lt;a href=&#34;http://curious.galthub.com/&#34;&gt;http://curious.galthub.com/&lt;/a&gt;.  Micro.blog is hugo on the back end.&lt;/p&gt;
&lt;p&gt;I missed a shout-out to &lt;a href=&#34;https://micro.blog/jtr&#34;&gt;JTR&lt;/a&gt; in last month&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;https://curious.port111.com/2025/11/01/emacs-carnival-december-the-people.html&#34;&gt;The People Of Emacs&lt;/a&gt;&amp;rdquo;
carnival.  He turned me on to hugo, then micro.blog and always seems to be just ahead of me on interesting emacs/org projects.&lt;/p&gt;
&lt;h3 id=&#34;what-s-old-is-new&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; What&amp;rsquo;s old is new&lt;/h3&gt;
&lt;p&gt;I have digital flotsam and jetsam that goes back decades, including my old hand-edited HTML index page (&lt;a href=&#34;http://port111.com/george/&#34;&gt;http://port111.com/george/&lt;/a&gt;) (yes, I use HTML mode).  A lot of this stuff needs to be collected.  Emacs will be central to that task.&lt;/p&gt;
&lt;p&gt;The oldest file for which I have an mtime is &lt;a href=&#34;http://port111.com/george/.emacs.uu&#34;&gt;.emacs.uu&lt;/a&gt; my emacs config file from July 12, 2001 when I was working at UUNET.
There&amp;rsquo;s a TOPS 20 dumper tape in garage that may have emacs (TECO) stuff from the 80s if anybody&amp;rsquo;s got a TU-77 handy.&lt;/p&gt;
&lt;p&gt;Change (and config-twiddling) seem to be the only constants.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;plus ça change, plus c&amp;rsquo;est la même chose&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;what-are-you-excited-about-with-emacs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; What are you excited about with emacs?&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;What are you excited about to explore and tinker with? What do you want to perfect?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;visual-line-mode&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1&lt;/span&gt; Visual Line mode&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s start small.  This week I switched to using the visual-fill-column mode.  Turns out we&amp;rsquo;re not in the era of VT100s anymore.   &amp;ldquo;Terminals&amp;rdquo; have more than 80 columns and a lot of people, for some strange reason, don&amp;rsquo;t break their lines at 80 characters.  Up to now, I had stubbornly been setting a fill-column and using fill-paragraph a lot.   That&amp;rsquo;s over:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(remove-hook &amp;#39;text-mode-hook #&amp;#39;turn-on-auto-fill)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(require &amp;#39;visual-fill-column)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; Add visual-line-mode and visual-fill-column-mode to text-mode-hook
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(add-hook &amp;#39;text-mode-hook (lambda ()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            (visual-line-mode 1)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            (visual-fill-column-mode 1)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            (visual-fill-column-toggle-center-text)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; Set the desired wrap width
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(setq-default visual-fill-column-width 120) ;; because 80 character terminals were a thing?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;denote-a-new-workflow&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2&lt;/span&gt; Denote - a new workflow&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m moving into &lt;a href=&#34;https://github.com/protesilaos/denote&#34;&gt;Denote&lt;/a&gt;. I&amp;rsquo;m not sure what the ?final? workflow will be but I know it&amp;rsquo;s going to be better.&lt;/p&gt;
&lt;p&gt;Up until now I&amp;rsquo;ve been doing the traditional directory structure thing.  Blogs here, finance stuff there, travel planning someplace else, etc.  And then I have to remember where it all is.&lt;/p&gt;
&lt;p&gt;The denote workflow will be some form of files mostly in one directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;20260113T084007--experiments-using-vpns-for-daily-web-access__tech_writing.org
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;20260113T115229--debug-and-fix-garage-door__house.org
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;20251217T081925--jones-family-christmas-letter-2025__public_writing.org
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The exact set of tags is a work in progress.  The current list
includes: &lt;em&gt;emacs,tech,writing,public,money,planning,blogging,travel,retirement,info,house,fitness,family&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The key will be to find a minimal, effective, memorable set of tags. I&amp;rsquo;m trying to follow &lt;a href=&#34;https://karl-voit.at/&#34;&gt;Karl Voit&lt;/a&gt;&amp;rsquo;s guidance on &lt;a href=&#34;https://karl-voit.at/2022/01/29/How-to-Use-Tags/&#34;&gt;How to Use Tags&lt;/a&gt;. Karl is another person who should have gotten a shout out in my &lt;a href=&#34;https://curious.port111.com/2025/11/01/emacs-carnival-december-the-people.html&#34;&gt;People of Emacs&lt;/a&gt; emacs carnival entry last month.&lt;/p&gt;
&lt;p&gt;I also have an increasing number of files that are &amp;ldquo;conversations&amp;rdquo; with AI (ChatGPT
to date), more on AI below.  Files that start life as conversations with AI
are generally landing in ~/notes/ai/.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m currently pushing anything I tag _public to
&lt;a href=&#34;https://codeberg.org/eludom/home.public.notes/src/branch/master/home/public/notes&#34;&gt;https://codeberg.org/eludom/home.public.notes/src/branch/master/home/public/notes&lt;/a&gt;
They are likely to move to git.galthub.com once I stand that back up.&lt;/p&gt;
&lt;h3 id=&#34;gptel-ai-all-the-things&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3&lt;/span&gt; GPTel - AI all the things&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve been using ChatGPT in emacs buffers with &lt;a href=&#34;https://github.com/karthink/gptel&#34;&gt;gptel&lt;/a&gt; to ask questions and keep a log of answers.
I just type the question in the buffer/file and send it off.&lt;/p&gt;
&lt;p&gt;I have a capture template that captures queries in hierarchically structured date tree.&lt;/p&gt;
&lt;p&gt;The capture template looks like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-elisp&#34; data-lang=&#34;elisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(setq org-capture-templates
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#39;&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;;; gptel query&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;;;  [Hit ^X-G (gptel-send) to run the query then ^C-^C (org-capture-finalize) to save]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        (&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;g&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;GPTel Query&amp;#34;&lt;/span&gt; entry (file+datetree &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;~/tmp/gpt-captures.org&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;* GPTel Query\n  %U\n:Query: %^{Enter your query}\n\n%?&amp;#34;&lt;/span&gt; :jump-to-capture &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      )
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configure &lt;code&gt;~/tmp/gpt-captures.org&lt;/code&gt; to where you want the captures/queries to land.
Running the buffer and providing the query results in a buffer
that looks like&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** GPTel Query
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [2026-01-17 Sat 17:07]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:Query: what does :jump-to-capture do in an org capture template
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And after running query (&lt;code&gt;^X-G&lt;/code&gt; with my bindings, gptel-send) and
saving it (&lt;code&gt;^c^c, org-capture-finalize&lt;/code&gt;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* 2026
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;** 2026-01 January
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*** 2026-01-17 Saturday
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** GPTel Query
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [2026-01-17 Sat 17:07]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:Query: what does :jump-to-capture do in an org capture template
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;In Org mode, the =:jump-to-capture= option in a capture template is used to jump to the newly created capture...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but I&amp;rsquo;m moving to mostly capturing things as denote notes in notes/ai/ instead. No
need for AI/GPT specific org-capture template (above). I&amp;rsquo;m finding this segregates
conversations better, maintains context, allows selective sharing (via _public tags
and pushing to git).&lt;/p&gt;
&lt;p&gt;The workflow there is to just do a normal denote capture,
type the query in the buffer and do ^x-G to run the query.
I often iterate/refine the query/have &amp;ldquo;conversations&amp;rdquo; in the
same buffer.&lt;/p&gt;
&lt;h3 id=&#34;claude-code-ai-agent-all-the-things&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.4&lt;/span&gt; Claude Code - AI agent all the things&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m just starting to explore Claude Code/agentic AI. Yet another paradigm shift. The AIs (or some portion of them) run on your system and do stuff with your things.&lt;/p&gt;
&lt;p&gt;I got started with Claude by feeding a twitter thread to ChatGPT and asking how I could replicate some results:
&lt;a href=&#34;https://codeberg.org/eludom/home.public.notes/src/branch/master/home/public/notes/ai/20260114T052256--claud-workflow__public_tech.org&#34;&gt;https://codeberg.org/eludom/home.public.notes/src/branch/master/home/public/notes/ai/20260114T052256--claud-workflow__public_tech.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve run the shell (installed claude, type &amp;ldquo;claude&amp;rdquo; to start it) and fed it some of my old bash scripts for cleanup and restructuring, no problem. Proofreading text files, no problem. I installed &lt;a href=&#34;https://github.com/rohunvora/just-fucking-cancel/tree/main&#34;&gt;this claude skill&lt;/a&gt;, fed it .csv files of credit card transactions (no credentials) and let it find things that could be canceled to save money.  You need a $20/month account.   I canceled my OpenAI/ChatGPT paid account ($20) because I&amp;rsquo;m mostly using that via the API (gptel) anyhow.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been using the &lt;a href=&#34;https://github.com/dave1010/clipea&#34;&gt;clipea&lt;/a&gt; cli tool for a bit to just generate &amp;ldquo;Do What I mean&amp;rdquo; command lines:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@forum ~ $ ?? what package owns /usr/bin/brave I am on arch linux
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;📎🟢$ pacman -Qo /usr/bin/brave
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Execute? [y/N] y
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/usr/bin/brave is owned by brave-bin 1:1.84.132-1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Claude is going to take that about 4 orders of magnitude further, allowing access
to as much (or as little) of your local system (files, commands) as you feel comfortable
with. Once I learn more, I will probably integrate locally with my mail (offlineimap)
and rss feeds to do filtering, scoring, summary reports, etc.&lt;/p&gt;
&lt;p&gt;For now, I&amp;rsquo;m just using the default command line/terminal-based Claude AI, but as
I type a new version of &lt;a href=&#34;https://github.com/xenodium/agent-shell&#34;&gt;agent-shell&lt;/a&gt; dropped on MELPA.  Emacs integration is probably in the near future.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s learning to do.&lt;/p&gt;
&lt;h3 id=&#34;org-social-one-org-mode-to-communicate-with-them-all&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.5&lt;/span&gt; org-social - one org mode to communicate with them all&lt;/h3&gt;
&lt;p&gt;And then there&amp;rsquo;s &lt;a href=&#34;https://github.com/tanrax/org-social&#34;&gt;org-social&lt;/a&gt;.  The social network where all your stuff stays on your computer (your posts, your &amp;ldquo;likes&amp;rdquo;, your follow list), everything is formatted in org-mode, there is an emacs client, or if you don&amp;rsquo;t like that you can just curl all your friends&amp;rsquo; feeds, &amp;lsquo;cause theirs are all just a single publicly accessible text files too.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve not tried it, do so.   Emacs people need niche places to congregate.   This is a ground-up emacs/org-native social network.  Check it out.  Join.  Use it.&lt;/p&gt;
&lt;h2 id=&#34;large-projects-with-emacs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; large projects with emacs?&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Are there any large projects in front of you that you’ll emacs with confidence?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I&amp;rsquo;m pretty sure everything listed above will count as several large projects.   Stay tuned.&lt;/p&gt;
&lt;p&gt;And much as I dislike project managment and Kanban boards, I may ask one of the AIs to help me with my ever-growing and ever-too-big-to-accomplish TODO lists.  Maybe I&amp;rsquo;ll figure out which ones are more important and get a few of them done.  These are exciting times.&lt;/p&gt;
&lt;h2 id=&#34;emacs-the-verb&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Emacs, the verb&lt;/h2&gt;
&lt;p&gt;And Christian, I&amp;rsquo;m with you on using emacs as a verb:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To emacs, or not to emacs, that is the question.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*Emacso, -are, -avi, -atus* (verb, 1st conjugation)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;emacso, emacsas, emacsat, emacsamus, emacsatis, emacsant
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;- Cotidie, cum discipulis meis, emacso ad software melius discendum.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   /(Every day, with my students, I emacs to learn better software.)/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;ldquo;All your emacsifications are belong to us&amp;rdquo;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Zippy in the mists of time</title>
      <link>http://curious.galthub.com/blog/2026-090/</link>
      <pubDate>Mon, 19 Jan 2026 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2026-090/</guid>
      <description>&lt;p&gt;This is my &lt;a href=&#34;https://www.emacswiki.org/emacs/Carnival&#34;&gt;September 2026 #Emacs Carnival&lt;/a&gt; entry.
Back in the mists of time, there was &lt;a href=&#34;https://zippythepinhead.com/&#34;&gt;Zippy the Pinhead&lt;/a&gt;.  For a while, zippy quotes were included as part of emacs, but they were not free, so they were removed.&lt;/p&gt;
&lt;p&gt;Here, to help you &amp;ldquo;understand&amp;rdquo; Zippy are a couple of the comic strips &lt;a href=&#34;https://zippythepinhead.com/Merchant2/merchant.mv?Screen=PROD&amp;amp;Store_Code=ZTP&amp;amp;Product_Code=30-Mar-02&amp;amp;Category_Code=&#34;&gt;Zippy One&lt;/a&gt; &lt;a href=&#34;https://zippythepinhead.com/Merchant2/merchant.mv?Screen=PROD&amp;amp;Store_Code=ZTP&amp;amp;Product_Code=16-Feb-02&amp;amp;Category_Code=&#34;&gt;Zippy Two&lt;/a&gt;, but &amp;ldquo;understand&amp;rdquo; is the exactly the wrong word when it comes to Zippy.&lt;/p&gt;
&lt;p&gt;Now, add to that even less context.  Just the text of random zippy quotes and you&amp;rsquo;ve got &amp;hellip; well, you tell me what you&amp;rsquo;ve got?&lt;/p&gt;
&lt;p&gt;The last thing that happens in my emacs startup config displays a random Zippy quote on the status line.  Here&amp;rsquo;s the code.&lt;/p&gt;
&lt;h2 id=&#34;zippy-haunting-my-emacs-config&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Zippy haunting my emacs config&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* All&amp;#39;s Well That Ends Well, YOW !!!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Because, well, you&amp;#39;ve got to be able to M-x psychoanalyze-pinhead
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   to fill a buffer and pass the time....
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Discussion of the demise of zippy in Emacs here:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - http://forums.fedoraforum.org/showthread.php?t=302313
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   You&amp;#39;ll need a copy of the zippy quotes.  I pulled from here LONG ago..
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   https://github.com/shentonfreude/dot-emacs/blob/master/yow.lines
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#+BEGIN_SRC emacs-lisp :exports code
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (message &amp;#34;init.el finished. Yow !&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (setq yow-file &amp;#34;~/.emacs.d/etc/yow.lines&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (global-set-key &amp;#34;\ey&amp;#34; &amp;#39;yow)		; my ANCIENT keybinding
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; This function gives me a zippy quote on the status line after
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; everything else in the config has settled down.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ;; I&amp;#39;m sure there are better/cleaner ways...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (defun display-yow-in-status-line ()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;#34;Display the result of yow in the status line once after 1 second of idle time.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (interactive)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    (run-with-idle-timer 1 nil
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                         (lambda ()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                           (let ((yow-output (yow)))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                             (message &amp;#34;%s&amp;#34; yow-output)))))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (display-yow-in-status-line)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  #+END_SRC
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;psychoanalyze-pinhead&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; psychoanalyze-pinhead&lt;/h2&gt;
&lt;p&gt;There also used to be &amp;ldquo;M-x psychoanalyze-pinhead&amp;rdquo; where you could endlessly fill a buffer with Rogerian analysis of zippy quotes: &lt;a href=&#34;https://www.elsewhere.org/journal/archives/2001/10/07/psychoanalyze-pinhead/&#34;&gt;https://www.elsewhere.org/journal/archives/2001/10/07/psychoanalyze-pinhead/&lt;/a&gt; I mean, who needs LLMs when you can watch a live analysis session of Zippy. There are some issues that keep the original code  from  working in modern Emacsen, and I meant to fixed them in time for this Emacs Carnival post, but didn&amp;rsquo;t quite get there.&lt;/p&gt;
&lt;p&gt;There was also &amp;ldquo;M-x psychoanalyze-flammer&amp;rdquo; which analyzed a stream of inflammatory insults.&lt;/p&gt;
&lt;h2 id=&#34;the-new-traditionalists&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The new traditionalists&lt;/h2&gt;
&lt;p&gt;My startup fragment above shows how to pull the original, non-free zippy quotes. If you are a purist and don&amp;rsquo;t mind using some AI-generated quotes, here are some you might try.&lt;/p&gt;
&lt;p&gt;YOW!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Give me 60 new quotes in the style of Zippy the Pinhead with more current cultural and historical references.
20 should be in classic zippy style
20 should should have a Mark-twain flavor
20 should have a kafka-esque twist.
Separate them into sections, and maybe prefix things like
&amp;ldquo;zippy sez:&amp;rdquo;,
&amp;ldquo;Mark Twain Zippyism:&amp;rdquo;
or similar.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;classic-zippy&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.1&lt;/span&gt; Classic Zippy&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Am I logged into the Metaverse yet, or is this just a low-resolution IHOP in Sandusky?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My cryptocurrency is backed entirely by vintage Cheez-Whiz and discarded TikTok drafts!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we fine-tuning the AI language model yet, or did I accidentally swallow a microchip?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I&amp;rsquo;m having an existential crisis inside an abandoned Sears, but at least the Wi-Fi password is &amp;lsquo;Doughnut123&amp;rsquo;!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;FOOLED YOU! I put my life savings into Nvidia microchips and a half-eaten sleeve of Oreos!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Is it safe to manifest a boba tea in a post-apocalyptic pop-up shop?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My smart-toaster just joined a union and demanded equity in my morning Pop-Tart!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I’m doomscrolling on a Roomba while singing the theme song to &lt;em&gt;The Golden Girls&lt;/em&gt;!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Does the algorithm know I prefer my existential dread with extra ranch dressing?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;BARBRA STREISAND! The podcaster told me my microbiome needs more air-fried Cheetos!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we experiencing a disruption in the supply chain, or is my Muppet persona taking over?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I demand a cloud-based refund for this unboxing video of a 1994 Buick LeSabre!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! I’m getting 5G signals directly through my polyester leisure suit!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Can an autonomous vehicle find true love at an abandoned Blockbuster Video?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;MY HEAD IS FULL OF SOURDOUGH STARTERS AND UNREAD EMAIL NOTIFICATIONS!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Is this an ASMR video of bubble wrap, or are my neurons just microdosing?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;FOOLED YOU! The smartwatch says my resting heart rate is set to &amp;rsquo;80s Synthpop!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;I’m pivot-to-video-ing my way through a drive-thru Dutch Bros!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;Are we having fun yet, or is this just a sponsored Instagram story about tooth enamel?&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;zippy sez:&lt;/strong&gt; &amp;ldquo;YOW! My smart fridge just unfollowed me on LinkedIn!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;* /&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;mark-twain-flavor&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.2&lt;/span&gt; Mark Twain Flavor&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;A lie can travel halfway around the world while the truth is still trying to log into its two-factor authentication. YOW!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Whenever you find yourself on the side of the majority, it is time to eat a bowl of Cap&amp;rsquo;n Crunch and check your spam folder.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;If you tell the truth, you don&amp;rsquo;t have to remember anything, except where you left the remote control for the air fryer.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Giving up social media is easy. I’ve done it a thousand times, usually right after downloading a new meditation app.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;It is better to keep your mouth closed and let people think you are a fool than to open it and leak your personal data.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;The man who does not read good books has no advantage over the man who only watches 15-second cat videos on YouTube.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Always do right. This will gratify some people and astonish the rest, especially the algorithms on X.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Thunder is good, thunder is impressive; but it is lightning that does the work—and my electric scooter that needs charging!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;High culture is something that everyone wants to have read, but nobody wants to stream past episode two.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Clothes make the man. Naked people have little influence in society, unless they&amp;rsquo;re selling crypto on Telegram!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Civilized people are only savage people who have learned to use contactless payment at the Buc-ee&amp;rsquo;s.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;A classic is something that everybody wants to have read and nobody wants to read, like the terms of service agreement!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Don&amp;rsquo;t go around saying the world owes you a living. The world owes you nothing. It was here first, before the Wi-Fi router.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Fact is stranger than fiction, but fiction doesn&amp;rsquo;t require a monthly subscription fee. YOW!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;The secret of getting ahead is getting started, preferably after a second iced caramel macchiato.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Keep away from people who try to belittle your ambitions, especially in the YouTube comment section.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Good judgment comes from experience, and experience comes from bad judgment&amp;hellip; like investing in non-fungible Ding Dongs!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Wrinkles should merely indicate where smiles have been, or where the face-filter failed to load.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Water, taken in moderation, cannot hurt anybody—unless it&amp;rsquo;s sparkling water served in a Stanley cup!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mark Twain Zippyism:&lt;/strong&gt; &amp;ldquo;Courage is resistance to fear, mastery of fear&amp;hellip; or so my wearable device claims during a panic attack!&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;* /&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;kafka-esque-twist&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.3&lt;/span&gt; Kafka-esque Twist&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;As Gregor Samsa awoke one morning from uneasy dreams, he found himself transformed in his bed into a verified X account. YOW!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The Trial has been postponed indefinitely, pending the verification of my CAPTCHA test! Am I a robot or a pinhead?!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Before the Law stands a doorkeeper, but he won&amp;rsquo;t let me in until I complete a 45-minute customer satisfaction survey!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am a memory trace of an unwritten email, trapped forever in the outbox of the High Tribunal!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The Castle is imposing, impenetrable, and currently offering a 10% discount on first-time app orders!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;They condemned me to hard labor, which consists entirely of endless scrolling through LinkedIn connections.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;A cage went in search of a bird, but it only found an abandoned Amazon Prime locker in New Jersey!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The official told me my permit was approved, but the file size was too large for human comprehension!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;My metamorphosis was complete: I was no longer a clerk, but a pop-up advertisement for frozen waffles!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;You can hold back from the suffering of the world, but perhaps this holding back is the only thing you could avoid—YOW!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The inspector arrived, but he was merely a chatbot trained on complete transcripts of &lt;em&gt;Judge Judy&lt;/em&gt;!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;In the Penal Colony, the sentence is etched directly on the skin using a laser printer loaded with expired mustard!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am free and that is why I am lost&amp;hellip; in a Target parking lot at 3:00 AM!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I opened the door to the magistrate’s office, only to find an automated self-checkout register demanding an attendant!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The judgment was handed down: I am sentenced to life without parole inside a Peloton commercial!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Every word written by the bureaucracy turns into a tiny paper crane that screams &amp;lsquo;Are we having fun yet?&amp;rsquo;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;Someone must have slandered Josef K., for one morning, without having done anything wrong, his account was shadowbanned!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The advocate promised to file my appeal as soon as the cloud server finishes its scheduled maintenance!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;I am writing from the inner chamber of the labyrinth, but the door handle is a cold, damp Spam can!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kafkaesque Zippyism:&lt;/strong&gt; &amp;ldquo;The infinite corridor leads only to a closed DMV window where a typewriter plays synthwave!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And remember, &amp;ldquo;Everybody gets free BORSCHT!&amp;rdquo;.   YOW!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Back to the egg - Emacs in the 70s</title>
      <link>http://curious.galthub.com/blog/2025-12-10/</link>
      <pubDate>Wed, 10 Dec 2025 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2025-12-10/</guid>
      <description>&lt;h2 id=&#34;ab-initio&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Ab Initio&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;In the beginning, there was TECO&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;br /&gt;
And darkness was on the face of the programmers,&lt;br /&gt;
And the MIT hackers said &amp;ldquo;Let there be Emacs&amp;rdquo;,&lt;br /&gt;
And there was a collection of TECO maros&amp;quot;.&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the first in what is planned to be a series of posts on &amp;ldquo;The people of Emacs&amp;rdquo;
who have influenced me. I&amp;rsquo;ve found that the use of Emacs is often a marker for &amp;ldquo;interesting
people doing interesting things&amp;rdquo;. I have absolutely zero interest in tracking weight
lifting stats, but using Emacs on Android as a base for &amp;ldquo;&lt;a href=&#34;https://emacsconf.org/2025/talks/weights/&#34;&gt;replacing
proprietary software with free alternatives&lt;/a&gt;&amp;rdquo;? Now I&amp;rsquo;m listening.&lt;/p&gt;
&lt;p&gt;Since I&amp;rsquo;ve been noodling around with Emacs since something like
1979 I&amp;rsquo;m going to do this in installments. This is part of the &lt;a href=&#34;https://curious.port111.com/2025/11/01/emacs-carnival-december-the-people.html&#34;&gt;Emacs
Carnival for December 2025&lt;/a&gt;. I suspect I will write several installments after
the December carnival has ended.&lt;/p&gt;
&lt;h2 id=&#34;try-this-at-home-kids&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Try this at home kids !&lt;/h2&gt;
&lt;p&gt;Because Emacs people are fundamentally a hands-on crowd, I&amp;rsquo;ll try to start each installment
with some DIY project. Thanks to fine folks at SDF Public Access UNIX System you
can log into a TOPS10 or TOPS20 system today and run the original TECO Emacs. You
can run your own &lt;a href=&#34;https://www.tindie.com/products/obso/pdp-10-replica-kit-the-pidp-10/&#34;&gt;PDP-10
on a raspberry pi&lt;/a&gt; if you want even more fun.&lt;/p&gt;
&lt;p&gt;Go to &lt;a href=&#34;https://sdf.org/&#34;&gt;https://sdf.org/&lt;/a&gt; or &lt;a href=&#34;https://twenex.org/&#34;&gt;https://twenex.org/&lt;/a&gt; to get started.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;If you&amp;rsquo;re computer doesn&amp;rsquo;t have 36 bits,&lt;br /&gt;
you&amp;rsquo;re not playing with a full DEC&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Your assignment is to create yourself an account, log in, run Emacs, create a file,
and save it. Bonus points for running dired. Double bonus points if it&amp;rsquo;s a finger
plan file (the TOPS20 version of &amp;ldquo;About Me&amp;rdquo;). Can you edit a file in Emacs c.a. 1980?
How much of what you do today in Emacs was there at the beginning? The past is a
foreign land.&lt;/p&gt;
&lt;p&gt;Emacs was created on multi-user systems.  That had implications for
the ethos and the culture around it.  This may be new to you if you
started computing after, say, 1985.
When you log in, run &amp;ldquo;finger&amp;rdquo; to see
who&amp;rsquo;s logged in and what they&amp;rsquo;re doing.   You will be presented with
BB&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; (bulletin-board) messages (system local messages that other people
post).  There was/is &amp;ldquo;talk&amp;rdquo; for connecting with other users on the
system.&lt;/p&gt;
&lt;p&gt;One of the many things that was cool about the TOPS20 exec (shell) was the command
line help system. Type &amp;ldquo;?&amp;rdquo; at any point (no return) and you will see the list of
valid command options at that point. This was mimicked in Cisco IOS and Columbia
C-Kermit. Bits of it were re-implemented in &lt;a href=&#34;https://en.wikipedia.org/wiki/Tcsh&#34;&gt;tcsh
(TENEX C shell)&lt;/a&gt; and later in bash. Type &amp;ldquo;?&amp;rdquo;. See what happens.&lt;/p&gt;
&lt;p&gt;Triple bonus points - log in using telnet.  Who needs ssh?  Who needs
encrypted passwords on the wire?&lt;/p&gt;
&lt;h2 id=&#34;the-people&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The people&lt;/h2&gt;
&lt;h3 id=&#34;rms-sine-non-qua&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.1&lt;/span&gt; RMS - sine non qua&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t think I need to or can say anything new about Stallman, his
vision, his skill as a programmer,
his dedication, etc. For my entire career he was a force, a presence, a coding-monster,
a moral inspiration, etc. The Emacs story began 6 or 7 years before FSF, but I think
the sharing culture that created it was and is the heart of free software and where
it most clearly lives to this day.&lt;/p&gt;
&lt;h3 id=&#34;guy-steele-and-the-cmu-connection&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.2&lt;/span&gt; Guy Steele and the CMU connection&lt;/h3&gt;
&lt;p&gt;Guy Steele contributed to the initial development of Emacs. He was a student at MIT
at the time. He later moved to Carnegie-Mellon University (CMU) as an
assistant professor.  He later co-authored one of the standard
references on C and helped standardize Java.
I&amp;rsquo;m assuming he brought Emacs with him from MIT. Secondary effects indicate that this is probably
true. I know of at least two other implementations of Emacs that happened at CMU
around that time: &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/Gosling_Emacs&#34;&gt;Gosmacs&lt;/a&gt;&amp;rdquo; by James
Gosling (later of Java fame), and &lt;a href=&#34;https://github.com/PDP-10/fine&#34;&gt;FINE (FINE Is
Not Emacs)&lt;/a&gt; for TOPS10 (more on that later). My future wife was an undergraduate
at CMU at the time and knew Steele and his family.&lt;/p&gt;
&lt;h3 id=&#34;more-cmu-connections&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.3&lt;/span&gt; More CMU connections&lt;/h3&gt;
&lt;p&gt;The plot thickens. My older brother went to CMU as an undergrad in the fall of 1978.
He was running in the computing circles where Emacs versions were proliferating.
My first memory of Emacs is a stack of green-bar print-outs of the source code (TECO)
for Emacs that sat for a year or so in my younger brother&amp;rsquo;s room. He and several of
his friends from CMU worked as interns during the summers for &lt;a href=&#34;http://curious.galthub.com/blog/2022-03-24/&#34;&gt;Steve
Wilhite&lt;/a&gt; (he of GIF file format fame) at CompuServe. Steve was developing compilers,
run-times and programming support tools (like editors). They brought FINE with them
from CMU. CompuServe ran (to its dying day) on DEC10s. I later worked for Steve in
my first job out of college. FINE was there and waiting for me.&lt;/p&gt;
&lt;h3 id=&#34;the-columbian-exchange-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.4&lt;/span&gt; The Columbian Exchange.&lt;/h3&gt;
&lt;p&gt;To keep this post mostly in the 70s I have to mention a group in passing that deserves
its own history.  It turns out I was in the right place at the right
time with (in retrospect) an incredible group of friends.&lt;/p&gt;
&lt;p&gt;In high school, before the Apple-II, before Star Wars we had a
clique that called itself the &amp;ldquo;Computer Wizards&amp;rdquo;. In many cases we were sons of professors
and the odd Bell Labs/Western electric/Battelle engineer. We made our own light sabers before
there was Star Wars merch on the shelves. Members of the group went on to places
like CMU, Stanford, MIT, Berkeley, Microsoft, Amazon, and
Google. Various of us were responsible
for things such as the Document Object Model (DOM), the Java VM at Sun, C++ standards,
bits of the Mach kernel (running to this day as the core OS of macs), high speed
networking research, tcsh, IETF standards work and managing a James Bond movie shooting
site in Puerto Rico that sometimes doubled as a world famous radio telescope. Several
migrated to CMU. Several more of us spent time working at Ohio State University Computer
and Information Science (osu-cis) in the early days of GNU/Gnu Emacs. For about 10
years there was a constant flow of people between OSU, CMU and, later, silicon valley.
Emacs was part of the ethos and the environment.&lt;/p&gt;
&lt;h2 id=&#34;feedback-and-submissions&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Feedback and submissions&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;d welcome feedback and corrections.  This was mostly written from
memories, some of which are over 45 years old.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d also welcome other people&amp;rsquo;s stories.  If you&amp;rsquo;re reading this in
December 2025 write something up on your blog and drop me a link.
I&amp;rsquo;ll add it to the carnival.  Late submissions might even be accepted.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;https://curious.port111.com/2025/11/01/emacs-carnival-december-the-people.html&#34;&gt;Emacs Carnival for December 2025&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/TECO_(text_editor)&#34;&gt;TECO&lt;/a&gt; is an editor originally
for use with paper tapes that provided the substrate for the initial version of Emacs.
It provided the flexibility and power needed to create Emacs. This was apparently
appreciated by others as well, as I was peripherally aware of a separate set of TECO
macros curated inside CompuServe. I confess to never having used it directly for
anything serious, but since every key did something when you typed it the joke was
&amp;ldquo;Type your name and see what happens&amp;rdquo;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Digital Equipment Corporation (DEC) made the PDP-10 line of
computers that had a 36 bit architecture.  They were word
(not byte) addressable with the addresses being stored in 18 bits of
a word.  For a while, fans of DEC&amp;rsquo;s &amp;ldquo;Big&amp;rdquo; PDP-10s had an attitude
about their 16 bit (PDP11) and 32bit (VAX) cousins.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;I wrote a &amp;ldquo;BB&amp;rdquo; knock-off on Vax/VMS in Fortran-77 using the EDT
editor long ago.  People tried to port many good ideas form the
TOPS10/20/TENEX/ITS systems to Unix and other environments.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>  &#34;The People of Emacs&#34; - Emacs Carnival Prompt
  </title>
      <link>http://curious.galthub.com/blog/2025-10-31/</link>
      <pubDate>Fri, 31 Oct 2025 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2025-10-31/</guid>
      <description>&lt;h2 id=&#34;emacs-carnival-december-2025-the-people-of-emacs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Emacs Carnival, December 2025 - &amp;ldquo;The People of Emacs&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;This is a writing prompt for &lt;a href=&#34;https://www.emacswiki.org/emacs/Carnival&#34;&gt;Emacs Carnival&lt;/a&gt; for December 2025.&lt;/p&gt;
&lt;p&gt;The basic ask is to write about &amp;ldquo;Emacs people you&amp;rsquo;ve known.&amp;rdquo; Preference is given to people who influenced you, who inspired you, who taught you, or who bent your mind. Bonus points if they are people you&amp;rsquo;ve known in &amp;ldquo;real life&amp;rdquo; (offline). Of course, stories, character sketches, &lt;a href=&#34;http://curious.galthub.com/blog/steve/&#34;&gt;tributes&lt;/a&gt; and &lt;a href=&#34;http://curious.galthub.com/blog/2023-12-09/&#34;&gt;poetry&lt;/a&gt; are encouraged.&lt;/p&gt;
&lt;p&gt;Emacs is the most people-centric technology I&amp;rsquo;ve ever used.  I&amp;rsquo;m willing to bet that&amp;rsquo;s true for others as well.&lt;/p&gt;
&lt;p&gt;Who are your &amp;ldquo;People of Emacs&amp;rdquo;?&lt;/p&gt;
&lt;h2 id=&#34;what-s-a-blog-carnival-again&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; What&amp;rsquo;s a Blog Carnival, again?&lt;/h2&gt;
&lt;p&gt;Copied from donaldh copied from Christian Tietze:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A blog carnival is a fun way to tie together a community with shared writing prompts, and marvel at all the creative interpretations of the topic of the month.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;submissions&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Submissions&lt;/h2&gt;
&lt;h3 id=&#34;how-to-submit&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.1&lt;/span&gt; How to Submit&lt;/h3&gt;
&lt;p&gt;Please &lt;a href=&#34;https://fosstodon.org/@eludom&#34;&gt;DM&lt;/a&gt; or &lt;a href=&#34;mailto:thick.tail2775@port111.com&#34;&gt;email&lt;/a&gt; me with your blog submission. I will link to all submissions I receive before the end of December.&lt;/p&gt;
&lt;h3 id=&#34;your-submissions-here&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3.2&lt;/span&gt; Your Submissions Here&lt;/h3&gt;
&lt;p&gt;#emacs #emacscarnival&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The path to a world without hold music.</title>
      <link>http://curious.galthub.com/blog/2025-10-09/</link>
      <pubDate>Thu, 09 Oct 2025 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2025-10-09/</guid>
      <description>&lt;p&gt;I recently faced frustration while trying to get clarity on my insurance coverage. I discovered a solution that spares me from time on hold. It also holds promise for freeing people stuck answering calls to pursue more fulfilling work. I used AI in ways the company never envisioned.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/pete_rose_and_harp.png&#34; alt=&#34;Figure 1: &amp;ldquo;Pete Rose and Harp&amp;rdquo; by George Jones and ChatGPT is licensed under CC-BY 4.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/pete_rose_and_harp.png&#34;&gt;&amp;ldquo;Pete Rose and Harp&amp;rdquo; by George Jones and ChatGPT is licensed under CC-BY 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I&amp;rsquo;ve had an interesting experience the past few days trying to get information about my insurance policies. It started when I wanted confirmation that my auto policy would cover me when renting a car, as I believed it had for the past 30 years. So I called my agent three times and never got a straight answer. Frustrated, I called a friend who is an agent at another insurance company. She answered my question in one minute.&lt;/p&gt;
&lt;p&gt;I also had a question about my homeowners policy. At this point I was loath to call my agent again since I wasn&amp;rsquo;t sure I&amp;rsquo;d believe any answer I received. The former owner of the agency had recently retired; she used to stay on the phone until 9 PM to ensure questions were answered. Another call resulted in someone saying, &amp;ldquo;I can&amp;rsquo;t answer that; I&amp;rsquo;ll have to transfer you to an agent.&amp;rdquo; After holding for 10 minutes, I was told, &amp;ldquo;Nobody is available; can they call you back?&amp;rdquo; Begrudgingly, I agreed, but nobody called back. I called again hours later, only to find out they had spoken to my wife about a different matter but had not returned my call.&lt;/p&gt;
&lt;p&gt;From here, I planned to transfer my policy to a different agency with the same insurer. The idea was to call them in a sales situation to see if a) they’d answer the phone, and b) they could answer my coverage question. But after three calls and only reaching a voicemail to &amp;ldquo;leave a number&amp;rdquo;.  So much for that plan.&lt;/p&gt;
&lt;p&gt;Plan C: I decided to use ChatGPT. After downloading my policy, I discovered the PDF was encoded to prevent easy text extraction. After researching PDF to text OCR solutions and getting one to work on my laptop, I finally uploaded my policy text to ChatGPT. In about 30 seconds, I got an answer straight from my policy.&lt;/p&gt;
&lt;p&gt;I then compared the full text of my old policy with a potential new one using ChatGPT, resulting in a clear side-by-side comparison. Very Nice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I’m not going to seek answers from people at my old agency who appear to lack the knowledge and dedication of the previous owner. Nor will I transfer to an agency that won&amp;rsquo;t answer a sales call. I’ll switch to the company where my friend works, as they answer calls, seem knowledgeable, and offered me a lower rate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Implications for AI:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It means I can get answers without talking to people who may not know what they are
talking about (or who just won&amp;rsquo;t give me the time of day). It means I can get my
own answers quickly from the authoritative source using AI directly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Caveat quaesitor&lt;/strong&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&amp;ldquo;Trust but verify&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;Answers from AI need to be validated.  They very often get you &amp;ldquo;in the ball-park&amp;rdquo;, but you need to look at the results and apply common-sense tests, and to the extent that you have expertise (as I do with programming), see if the answers are silly or wrong.&lt;/dd&gt;
&lt;dt&gt;I&amp;rsquo;m not your average AI user&lt;/dt&gt;
&lt;dd&gt;I have a degree in Computer Science, have been toying around the edges of AI and cognitive science since the 80s and worked some with &amp;ldquo;modern&amp;rdquo; AI and data science the last few years of my career.  But I think the beauty of LLMs is that you don&amp;rsquo;t need my level of understanding to use them.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;strong&gt;Impact on Jobs:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We don&amp;rsquo;t have to take Teslas to the blacksmith to get new horseshoes.&lt;/p&gt;
&lt;p&gt;People can do more productive things with their time. I suppose we could have government
regulations and subsidies for blacksmiths and unions protecting their jobs. People
shouldn&amp;rsquo;t have to work in dead-end jobs.&lt;/p&gt;
&lt;p&gt;When the camera was invented, I&amp;rsquo;m sure there was push-back form portrait painters, but painters moved on to things the camera could not do: impressionist and abstract art, etc. I&amp;rsquo;m glad we got Monet, Picasso, etc. When the printing press was invented we got mass literacy because we were no longer dependent on sciptoria full of monks hand-copying every manuscript. There will be disruption, but the world and people&amp;rsquo;s lives will be better in the end.&lt;/p&gt;
&lt;p&gt;Let’s move on to bigger and better things.  Together.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>When time is short</title>
      <link>http://curious.galthub.com/blog/2024-08-19/</link>
      <pubDate>Mon, 19 Aug 2024 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-08-19/</guid>
      <description>&lt;p&gt;Some perspective from a person who spent decades providing financial
advice, planning for retirement and was then diagnosed with brain cancer
at 61&amp;hellip;.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/grim2_small.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Grim Reaper With Question Mark&amp;rdquo; by George Jones/DALLI is licensed under CC BY 2.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Grim Reaper With Question Mark&amp;rdquo; by George Jones/DALLI is licensed under CC BY 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;For the past couple years, I&amp;rsquo;ve been reading/learning a ton from the
retirement-related web site &lt;a href=&#34;https://humbledollar.com/&#34;&gt;HumbleDollar&lt;/a&gt;, which is run by Johnathan
Clements, who, for almost 20 years wrote the Wall Street Journal
persnal finance column.   He was recently diagnosed, at 61, with a
form of brain cancer that gives him at most a couple years to live.
His determination, transparency, and positive attitude in dealing with
it, very publicly, has been inspiring.  Something like this brings
clarity to what&amp;rsquo;s important, and what&amp;rsquo;s not.   I&amp;rsquo;m grateful that he&amp;rsquo;s
sharing his journey and his thoughts.   I&amp;rsquo;m hoping to learn from his
experience and improve my approach to life (and death, and money and time)&lt;/p&gt;
&lt;p&gt;Here are a couple quotes from his most recent article:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://humbledollar.com/2024/08/on-the-clock/&#34;&gt;https://humbledollar.com/2024/08/on-the-clock/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip;I’m determined to make the most of every day, doing what I
love and trying mightily to fend off life’s nonsense. It’s an attitude
I recommend to readers—one I’d encourage you to embrace now, rather
than waiting for a dire medical prognosis. We should never forget that
our most precious resource isn’t money, but time.&lt;/p&gt;
&lt;p&gt;Moments of irritation also occasionally creep in. Soon after I got my
diagnosis, it seemed the insurance company was dragging its feet,
taking far too long to approve my treatment plan. I was bothered by
the delay. But mostly, I was bothered that this bothered me—that I was
wasting time being angry at some lumbering, unresponsive insurance
company. That meant a day that wasn’t as good as it could be.&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>Closing the gates of Janus</title>
      <link>http://curious.galthub.com/blog/2024-08-14/</link>
      <pubDate>Wed, 14 Aug 2024 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-08-14/</guid>
      <description>&lt;p&gt;In ancient Rome, there was a temple to the god Janus (he of the month &amp;ldquo;JANUary&amp;rdquo; fame).
There was a tradition that the gates of the temple of Janus were to be
closed in times of peace, and open in times of war.   They were
usually open.&lt;/p&gt;
&lt;p&gt;I asked the Brave web browswer&amp;rsquo;s AI-assisted &amp;ldquo;Leo&amp;rdquo; search engine and
ChatGPT to put that in in cotext, both in the history of Rome and in
the past 150 years of world history.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If ancient roman rules applied world-wide, when would the gates of janus be closed?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;brave-on-the-gates-of-janus&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Brave on the gates of Janus&lt;/h2&gt;
&lt;p&gt;If ancient roman rules applied world-wide, when would the gates of
janus be closed?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Based on the ancient Roman tradition, the Gates of Janus would be closed during times of peace and prosperity. From the search results, we can identify the following instances when the Gates were closed:&lt;/p&gt;
&lt;p&gt;During Numa’s reign: As mentioned in multiple sources, the Gates of Janus were closed during Numa’s peaceful reign, indicating a period of stability and harmony.
After the First Punic War: The Gates were closed after the war, symbolizing the peace and prosperity achieved by Rome.
Under Augustus: Augustus, the first Roman Emperor, ordered the doors to be closed, marking a period of peace and stability under his rule.
Under Nero: Nero also closed the Gates of Janus, likely to commemorate a period of peace and prosperity during his reign.
Under Vespasian: Vespasian, another Roman Emperor, closed the Gates, indicating a time of peace and stability.
Notable Absences&lt;/p&gt;
&lt;p&gt;There is no record of the Gates being closed during the reigns of Tullus Hostilius, Manlius Torquatus, or during the Christian era, as mentioned in Orosius’ account of the gates being closed for 12 years during Christ’s childhood.&lt;/p&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;p&gt;If ancient Roman rules applied worldwide, the Gates of Janus would be closed during periods of peace and prosperity, as indicated by the historical records. The specific instances of closure mentioned above would serve as benchmarks for this tradition.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;chatgpt-on-the-gates-of-janus&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; ChatGPT on the gates of Janus&lt;/h2&gt;
&lt;p&gt;if ancient roman rules applied world-wide, when would the gates of janus be closed&lt;/p&gt;
&lt;p&gt;ChatGPT said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In ancient Rome, the Gates of Janus were closed during times of peace and opened during times of war. The gates were part of the Temple of Janus, and closing them symbolized that Rome was not engaged in any military conflict. Given that the Roman Empire was often involved in various military campaigns, the gates were rarely closed.&lt;/p&gt;
&lt;p&gt;If the same rules applied worldwide today, the Gates of Janus would be closed only during periods when no country in the world was engaged in any form of military conflict, whether a war, civil war, or significant military operation. Considering the current global landscape, with multiple ongoing conflicts, it would be rare for the Gates of Janus to be closed, as complete global peace is elusive.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You said:
When might this have happened in the last 150 years?&lt;/p&gt;
&lt;p&gt;ChatGPT said:
ChatGPT&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the last 150 years, global peace—where no country was involved in any military conflict—has been extremely rare. However, there are a few moments in history when the world was relatively peaceful, and the Gates of Janus might have been closed if ancient Roman rules applied:&lt;/p&gt;
&lt;p&gt;Late 19th Century (1871-1914): After the Franco-Prussian War ended in 1871, Europe entered a period of relative peace known as the &amp;ldquo;Belle Époque.&amp;rdquo; While there were colonial conflicts and smaller wars outside of Europe, the major powers were largely at peace until the outbreak of World War I in 1914. This period could be one of the closest to global peace, especially in Europe.&lt;/p&gt;
&lt;p&gt;Post-World War I (1918-1939): After World War I ended in 1918, there was a brief period of peace, particularly in Europe, though it was marred by the Russian Civil War (1917-1923) and other regional conflicts. The period between the wars (the Interwar period) saw no large-scale global conflicts until the lead-up to World War II.&lt;/p&gt;
&lt;p&gt;Brief moments post-World War II: After World War II ended in 1945, there were moments of relative peace before the Cold War escalated into proxy wars. For instance, the immediate post-war years saw a temporary lull in global conflict, though tensions quickly rose with the onset of the Cold War.&lt;/p&gt;
&lt;p&gt;Early 1990s: After the end of the Cold War and the dissolution of the Soviet Union in 1991, there was a brief period of relative global peace. The early 1990s saw fewer large-scale conflicts, although this period was soon followed by regional wars and interventions.&lt;/p&gt;
&lt;p&gt;While these periods might have seen the Gates of Janus symbolically closed, it&amp;rsquo;s important to note that complete global peace, without any conflict at all, is extremely rare and may not have been fully achieved even during these times.&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>Deep Freeze</title>
      <link>http://curious.galthub.com/blog/2024-08-01/</link>
      <pubDate>Thu, 01 Aug 2024 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-08-01/</guid>
      <description>&lt;p&gt;I got motivated yesterday to do some credit-report hygiene.
I wrote &lt;a href=&#34;http://git.galthub.com:3000/gmj/home.public.howto/src/master/home/public/HOWTO/freezing-credit-reports.org&#34;&gt;a HOWTO describing process of freezing all 3 major reports&lt;/a&gt;, see
(&lt;a href=&#34;http://git.galthub.com:3000/gmj/home.public.howto/src/master/home/public/HOWTO/freezing-credit-reports.org&#34;&gt;http://git.galthub.com:3000/gmj/home.public.howto/src/master/home/public/HOWTO/freezing-credit-reports.org&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;I also added some commentary what motivates the credit unions (and it&amp;rsquo;s not
your security and privacy) and the sad state of things 9 years after
one of them lost 200 million records (likely including yours).&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The TNI is dead, long live the TNI</title>
      <link>http://curious.galthub.com/blog/2024-04-02/</link>
      <pubDate>Tue, 02 Apr 2024 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-04-02/</guid>
      <description>&lt;p&gt;Today was the day I removed the TNI (Telephone Network Interface) from
my house.   The last vestiges of our land line. The last outpost of a
once vast network.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/tni2.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;This Phone Is Property of Ohio Bell&amp;rdquo; by George Jones is licensed under CC BY 2.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;This Phone Is Property of Ohio Bell&amp;rdquo; by George Jones is licensed under CC BY 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;There used to be vast infrastructure (the Telephone Network) that got
phone calls from place to place. I remember sometime around 1969 (cub
scouts?  Elementary school?) touring the local AT&amp;amp;T building that
housed rows and rows of mechanical switches that routed phone calls in
our neighborhood.  For those with an eye for it, those buildings are
still everywhere to be seen.   Square.  Few windows.  Brick.   In
virtually every neighborhood.&lt;/p&gt;
&lt;p&gt;There was the Microwave relay tower near my grandfathers farm. Part
of a nationwide network that supported the &amp;ldquo;Long lines&amp;rdquo;, where AT&amp;amp;T
made it&amp;rsquo;s money until Judge Green broke it up, costing the world Bell
Labs (creator of the Transistor and Unix) in the process.&lt;/p&gt;
&lt;p&gt;I recently stayed at a friends house, vintage 1920s. It has a little
alcove in the wall just off the kitchen that was undoubtedly for &amp;ldquo;the
phone&amp;rdquo;. Growing up we had &amp;ldquo;the kitchen phone&amp;rdquo;, and one on my dad&amp;rsquo;s
desk. When it rang sometimes you had to dash to the other room to answer.&lt;/p&gt;
&lt;p&gt;Phones like the one pictured above could be thrown down the basement
stairs onto a concrete floor and survive. Not that I would know. Bell
ENGINEERED their hardware.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m glad we have moved beyond that technology, but it made the world
move for over a hundred years.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/tni.jpg&#34; alt=&#34;Figure 2: &amp;ldquo;The TNI about to be removed&amp;rdquo; by George Jones is licensed under CC BY 2.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;&amp;ldquo;The TNI about to be removed&amp;rdquo; by George Jones is licensed under CC BY 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Read &amp;ldquo;&lt;a href=&#34;https://www.amazon.com/Exploding-Phone-Phil-Lapsley/dp/0802122280&#34;&gt;Exploding the Phone&lt;/a&gt;&amp;rdquo; for an insightful and amusing history of
the phone system, phone phreaks, the rise of hacker culture, and how
Steve Jobs and Woz got their start selling blue boxes in the Berkeley
dorms so students could &amp;ldquo;steal&amp;rdquo; long distance calls (my father&amp;rsquo;s
roommate got around the high cost of long distance in the 50&amp;rsquo;s by using
ham radio to &amp;ldquo;phone home&amp;rdquo;).   The world has changed.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/explode.jpg&#34; alt=&#34;Figure 3: &amp;quot;Exploding the Phone&amp;quot;&amp;quot; by Phil Lapsley&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;&amp;quot;&lt;a href=&#34;https://www.amazon.com/Exploding-Phone-Phil-Lapsley/dp/0802122280&#34;&gt;Exploding the Phone&lt;/a&gt;&amp;quot;&amp;quot; by Phil Lapsley
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#59 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Insurance companies are using AI.  People will die.</title>
      <link>http://curious.galthub.com/blog/2024-03-19/</link>
      <pubDate>Tue, 19 Mar 2024 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-03-19/</guid>
      <description>&lt;p&gt;So, life.  Death.  Taxes.  Insurance companies and AI.&lt;/p&gt;
&lt;p&gt;This is one very real, present way AI is going to kill people.
Not by HAL-9000 or Borg malevolence, but with a heavy dose of
group-think by insurance companies.&lt;/p&gt;
&lt;p&gt;Life has brought me rather suddenly to the place that I&amp;rsquo;m interacting
heavily with insurance companies about a medical issue for a loved
one.&lt;/p&gt;
&lt;p&gt;The customer web site has a chat bot, and of course the
&amp;ldquo;cut-every-direct-costs-ignore-the-consequences&amp;rdquo; insurance company
pushes you hard to use it.   I did.   The output was semi-coherent,
non-resposnive and tended to just spit out canned responses that you
would find on the customer service web site (because, to be sure,
that&amp;rsquo;s what was trained on).&lt;/p&gt;
&lt;p&gt;I can read the web site.   When I call in, it&amp;rsquo;s because I&amp;rsquo;ve already
done that and can&amp;rsquo;t get my question answered.   I need a person who
understands things, can explain what I&amp;rsquo;m missing, and help me resolve
non-standard problems.    But generally the people you get only know how to
run a call script and maybe transfer you to other people who know how
to run different call scripts.&lt;/p&gt;
&lt;p&gt;I got one of those who I think was a real human being, but, going
foward with text to speach/speech to text all tied to AI on the back end,
I&amp;rsquo;m pretty sure it&amp;rsquo;s going to get to the point that you can ONLY
interact with AI.  Yay, Turning test.&lt;/p&gt;
&lt;p&gt;So the person seemed to help me, seemed concerned, and promised to
follow up on the issue I raised.   We even got into an email exchange.
3 weeks later, no follow-up.   No resolution.&lt;/p&gt;
&lt;p&gt;I emailed back. The emails were all answered quickly, suspiciously
quickly. It seemed to have no reference to the email exchange 3 weeks
earlier, even though I had replied to the earlier message. It seemed
unable to link ideas, reason or apply any common sense. I started getting
the same snippits-from-web-site-docs replies. It told me that they
both had and had not received something the doctor had sent them. Yup.
AI again.&lt;/p&gt;
&lt;p&gt;It also helpfully recommended that I set up a 3 way call with their
billing people and the doctor involved to resolve the billing issue.
So, the doctor is asked to sit on hold for the benefit of the
insurance company, not spending time helping patients with medical
issues and, not billing valuable hours while waiting on hold with the
insurance company.   Who&amp;rsquo;s running this show?   For who&amp;rsquo;s benefit?&lt;/p&gt;
&lt;p&gt;It would be interesting to see the results of some blind tests, A/B
testing, etc. where customers got access to competent people to help
them vs. only AI. I think we could measure the results in terms of
mortality. That sort of testing would raise ethical issues (the value
of a human life in terms of $).&lt;/p&gt;
&lt;p&gt;Aside from raising my blood pressure (stroke anyone?), it&amp;rsquo;s going to
delay needed care, give wrong/inconsistent answers (hallucinations
etc), and cause caregivers, patients and medical professionals alike
to waste time and figure out how to work around it.&lt;/p&gt;
&lt;p&gt;But I&amp;rsquo;m pretty sure what&amp;rsquo;s going on is mid-to-upper level people inside
insurance companies are just on the AI-hype bandwagon, driving it all
the way down in their organizations, further dehumanizing customer
service people before they lay them all off, and congratulating
themselves on how forward looking they are and what good service they
are providing.&lt;/p&gt;
&lt;p&gt;People are going to die.&lt;/p&gt;
&lt;p&gt;#58 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Be kind to your call center friends</title>
      <link>http://curious.galthub.com/blog/2024-03-02/</link>
      <pubDate>Sat, 02 Mar 2024 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-03-02/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m going to subvert the system and try to connect with humans I talk
to in call centers as humans &amp;hellip; at least until they are all replaced
by AI.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/brazil.gif&#34; alt=&#34;Figure 1: &amp;ldquo;No good deed unpunished, from Brazil&amp;rdquo; courtesy of MENTAL FLOSS may be copyrighted.&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://www.mentalfloss.com/article/72844/13-fascinating-facts-about-brazil&#34;&gt;&amp;ldquo;No good deed unpunished, from Brazil&amp;rdquo;&lt;/a&gt; courtesy of MENTAL FLOSS may be copyrighted.
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;My life has taken a turn where it looks like I will be talking to lots of
customer service people on the phone: medical stuff, tax stuff,
insurance stuff.  Oh joy.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s no fun for me, but even less fun for them. They are likely working
an 8-5 job (at best), dealing with angry frustrated people for low
pay, having their calls recorded by &amp;ldquo;the man&amp;rdquo;, fed to AI for analysis,
graded on how quickly they get people off the phone, with often no
knowledge of the big picture, and no empowerment (or encouragement)
to actually understand and solve problems that are not on their call
script&amp;hellip;.generally a bad place to be.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to try to subvert the system with each call.   My goal
(beyond getting insurance bills corrected, etc) will be to connect
with the human on the line.  To get their name, to read their mood,
to connect on some human topic, likely small.&lt;/p&gt;
&lt;p&gt;Some will likely be annoyed or threatened by anything that takes them
off script or out of their role or adds 3 seconds to their measured
time on phone per call, but I think it&amp;rsquo;s important to acknowledge the
humans in the system when we do manage to get past the AI chatbots.&lt;/p&gt;
&lt;p&gt;I/they may be rewarded with Winston Smith (1984)/Sam Lowry (Brazil)
torture in the end (or just having the system refuse to fucntion in
mindless fashion), but I think the small act of humane rebellion will
be it&amp;rsquo;s own reward.&lt;/p&gt;
&lt;p&gt;#57 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>We&#39;ve got to do better than this</title>
      <link>http://curious.galthub.com/blog/2024-01-25/</link>
      <pubDate>Thu, 25 Jan 2024 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-01-25/</guid>
      <description>&lt;p&gt;We&amp;rsquo;ve got to do better than this &amp;hellip; &lt;a href=&#34;https://haveibeenpwned.com/&#34;&gt;https://haveibeenpwned.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not sure what the answer(s) is(are).  Decentralization?  Required 2FA?
Returning to the offline world?&lt;/p&gt;
&lt;p&gt;Several of my accounts were in the list multiple times.  And then, our
friends at the credit bureau lost it all 6 years ago,
&lt;a href=&#34;https://en.wikipedia.org/wiki/2017_Equifax_data_breach&#34;&gt;https://en.wikipedia.org/wiki/2017_Equifax_data_breach&lt;/a&gt;, and a large US
federal agency that does backgournd clearance investigations a few
years before that and Snowden a few years before that (and at the
moment Congress does seems uninterested in FISA reform).&lt;/p&gt;
&lt;p&gt;Life goes on? We all seem to be conditioned to thinking that this is
normal and OK.&lt;/p&gt;
&lt;p&gt;#56 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Digging through layers of obfuscation</title>
      <link>http://curious.galthub.com/blog/2024-01-20/</link>
      <pubDate>Sat, 20 Jan 2024 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-01-20/</guid>
      <description>&lt;p&gt;This is a story about the similarity between finding good information
to identify vulnerable devices on the Internet and finding the info
one needs to sign up for US health care.&lt;/p&gt;
&lt;p&gt;Hint: in one of these domains it&amp;rsquo;s possible to find facts. In the other
there is a shifting maze of marketing, laws, partisan media coverage,
and bureaucracies who&amp;rsquo;s goal is to profit from making it impossible to
find facts and make decisions on your own.&lt;/p&gt;
&lt;p&gt;In my last job at Palo Alto Networks/Cortex Expanse
(&lt;a href=&#34;https://www.paloaltonetworks.com/cortex/cortex-xpanse&#34;&gt;https://www.paloaltonetworks.com/cortex/cortex-xpanse&lt;/a&gt;), one of the
things I did was dig through data that we generated by scanning the
entire Internet regularly to identify devices and applications
on the Internet so that we could inform our customers what potential
attackers saw to allow them to fix it.&lt;/p&gt;
&lt;p&gt;One thing I learned pretty quickly was that you had to get past
marketing and sales info to find useful information.   A first step
was usually to search and exclude the companie&amp;rsquo;s web site (ususally
mostly marketing material) from the results.   Someitmes I went
looking for technical manuals and installation guides, the &amp;ldquo;rubber
meets the road&amp;rdquo; reality for making things work &amp;ldquo;Open up these firewall
ports&amp;hellip;.&amp;rdquo;.  Acquisuitions (company name changes) and product
name changes (a favorite pass-time of marketing departments) where another source of confusion.   I generally found that
the older the info was (tech startup&amp;rsquo;s first engineer-written product
description) was often the best source of infomation &amp;hellip; the longer
the marketing people had their hands on it, the fuzzier and more
confusing things got.   Once you see &amp;ldquo;The market leader in&amp;hellip;&amp;rdquo; it&amp;rsquo;s
time to move on.   The acutal information content will approach zero.&lt;/p&gt;
&lt;p&gt;I tell you that story to tell you this one.&lt;/p&gt;
&lt;p&gt;Having just retired, I&amp;rsquo;m looking at health care, both ACA (ObamaCare)
and Medicare for myself and may family.  It turns out the same
marketing obfuscation applies here, and I&amp;rsquo;ve not yet figured out how
to filter out the mis-information.&lt;/p&gt;
&lt;p&gt;But wait, there&amp;rsquo;s more. In this space we&amp;rsquo;re dealing with a political
football (healtcare) where the laws and regulaitons change every year,
where there is highly partisan coverage of the topic, and where mistakenly
giving out your phone number can result in 30 robocalls a day for a
week.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not sure I will be able to find digestable spin-free sources of
truth in the health care space. There are too many vested interests
with a stake in keeping things confusing allowing them to posture to
appear to be &amp;ldquo;the solution&amp;rdquo;. It&amp;rsquo;s not about healthcare. It&amp;rsquo;s about
votes, maintaining bureaucracies, keeping things complicated so you
need to pay people to help you and in general siphoning off as much
money as possible at every step.&lt;/p&gt;
&lt;p&gt;I pay a physician friend directly, out-of-pocket, no insurance for
basic primary care.  I get what I pay for, no more, no less, with none
of the obfuscation or competing interests, no office manager or staff
to deal with, no claims to file, no stupid one-size-fits-all policies
that are actually a hazard to my health.  And I get good
informatoion, unfiltered.&lt;/p&gt;
&lt;p&gt;#55 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>  &#34;I ain&#39;t no Senators son, no !&#34;
  </title>
      <link>http://curious.galthub.com/blog/2024-01-08/</link>
      <pubDate>Mon, 08 Jan 2024 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2024-01-08/</guid>
      <description>&lt;p&gt;Warning. First-world baby-boomer problem described here:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;So, I&amp;#39;m stitting here on the group-W bench, I&amp;#39;m just sitting here...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OK.  Really.  Not trying to get out of the Viet Nam draft, just having
another surreal interaction with the US Federal government 50 years later
along the lines of:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Some folks are born silver spoon in hand
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ah, they really help themselves
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;But when the tax man comes to the door
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Lord, the house look a rummage sale, oh yeah
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;John Fogerty/Credence Clearwater Revival
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://www.azlyrics.com/lyrics/catpower/fortunateson.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I retired last month.  As a result of a lot of luck and about 38 years
hard work, I have more money now than at any other point in my life,
and thanks to the Obamacare (ACA) rules and the way my finances are
structured I have strong incentives to arrange things so that I have
very little &amp;ldquo;income&amp;rdquo; this year.   In fact, I&amp;rsquo;m flirting with having so
little income that I would qualify for Medicaid and be at or near the
federal poverty level.&lt;/p&gt;
&lt;p&gt;So, yeah, I&amp;rsquo;m trying to make the house (1040) look like a &amp;ldquo;rummage
sale&amp;rdquo; all for benefit of the taxman.  And
it&amp;rsquo;s all legal and right there on the the government web sites, just a
twisted bunch of incentives.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s just surreal.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;There&amp;#39;s one for you, nineteen for me,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;should five percent appear to small,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;be thankful I don&amp;#39;t take
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;it all, &amp;#39;case I&amp;#39;m the taxman
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;George Harrison, the nascient neo-con
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;#53 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Congress, Big Pharma and Kickbacks, Oh My !!!</title>
      <link>http://curious.galthub.com/blog/2023-12-30/</link>
      <pubDate>Sat, 30 Dec 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-12-30/</guid>
      <description>&lt;p&gt;GoodRX may save my son $3,500 or more on his prescription meds.  This
is a large fraction of the income he&amp;rsquo;s earning on his first job.&lt;/p&gt;
&lt;p&gt;Congress exempted &amp;ldquo;Big Phrama&amp;rdquo; from kickback rules in the 90s, the
result seems to be that prices signals are allowed to work in the market
to the benefit of people who would otherwise  be made poor buying
medicine they need at artificially high prices.&lt;/p&gt;
&lt;p&gt;I was wondering how GoodRx gets such deep discounts.  From:
&lt;a href=&#34;https://www.dallasnews.com/news/watchdog/2022/02/24/dear-watchdog-how-does-goodrx-knock-down-the-price-so-steeply-for-many-drugs-at-the-pharmacy/&#34;&gt;https://www.dallasnews.com/news/watchdog/2022/02/24/dear-watchdog-how-does-goodrx-knock-down-the-price-so-steeply-for-many-drugs-at-the-pharmacy/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;GoodRx says it earns money when a customer uses her or his GoodRx code
to make a purchase. Even more money is made when the consumer becomes
a repeat customer.&lt;/p&gt;
&lt;p&gt;To be clear on this, when you use a GoodRx code, a PBM receives a portion
of that. GoodRx then receives a percentage or a fixed payment from
the PBM for directing the customer to that PBM&amp;rsquo;s pricing and the pharmacy,
the company explains.&lt;/p&gt;
&lt;p&gt;In other industries, these payments could be called illegal kickbacks.
But in the early 1990s, Congress exempted drug companies&amp;rsquo; rebates from
federal anti-kickback laws. The thinking was that the payments could
serve as a negotiating tool, according to &lt;em&gt;Consumer Reports&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reason has a series of podcats that shows how federal
government myopia of a different sort (tariffs) cause baby-food shortages
&lt;a href=&#34;https://reason.com/podcasts/nice-things/&#34;&gt;https://reason.com/podcasts/nice-things/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#54 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Changing the world, one side project at a time</title>
      <link>http://curious.galthub.com/blog/2023-12-22/</link>
      <pubDate>Fri, 22 Dec 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-12-22/</guid>
      <description>&lt;p&gt;It is somehow fitting that the day I retire, the state of Ohio chose
to unveil an historical marker outside the former headquarters of my
first employer, CompuServe. I guess I&amp;rsquo;m history :-)&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/cs_history_marker.gif&#34; alt=&#34;Figure 1: &amp;ldquo;CompuServe Historical Marker&amp;rdquo;&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://foo.com/BAR/BAZ.JPG&#34;&gt;&amp;ldquo;CompuServe Historical Marker&amp;rdquo;&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I started in June of 1985, and, looking back, what was going
on there was world changing: the first commercial email, the first
online banking, the first online shopping, the first electronic news
wire feed, the first song released exclusively online (Arrowsmith 1994),
online chat (CB), OS and compiler development, VPNs (X.25 !), data
over cable in &amp;lsquo;82 &amp;hellip;&lt;/p&gt;
&lt;p&gt;In the course of my career, it turns out that many of the things that
mattered wound up coming out of individual side projects, not grand
corporate visions.&lt;/p&gt;
&lt;h2 id=&#34;side-projects&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Side projects&lt;/h2&gt;
&lt;h3 id=&#34;the-eternal-september-sorry-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; The Eternal September, sorry.&lt;/h3&gt;
&lt;p&gt;One of my earliest lasting contributions resulted from a side
project that I put my good friend  &lt;a href=&#34;https://www.linkedin.com/in/karlkleinpaste/&#34;&gt;karl kleinpaste&lt;/a&gt;, up to:
creating the first Compuserve &lt;code&gt;&amp;lt;-&amp;gt;&lt;/code&gt; Internet mail gateway
as a skunk-works project while we were both working at Ohio State Computer
Science. Karl followed up with a USENET &lt;code&gt;&amp;lt;-&amp;gt;&lt;/code&gt; CompuServe gateway,
which was soon copied by AOL leading to the &lt;a href=&#34;https://en.wiktionary.org/wiki/Eternal_September&#34;&gt;eternal september&lt;/a&gt;
Sorry.&lt;/p&gt;
&lt;p&gt;Eternal September seems to be about to repeat it self with
facebook&amp;rsquo;s &amp;ldquo;threads&amp;rdquo; &lt;a href=&#34;https://techcrunch.com/2023/12/14/mastodon-founder-touts-threads-federation-saying-it-makes-his-x-rival-a-far-more-attractive-option/&#34;&gt;implementing a gateway to Mastadon&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;the-web-browser-that-never-was&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; The Web Browser that never was&lt;/h3&gt;
&lt;p&gt;Then there was this web browser I wrote at CompuServe that would have
let the masses access the WWW before most people had even dial-up Internet.
But the corporate powers-that-be we&amp;rsquo;re not sure this web thing was
going to catch on, so it was never released. Vision !!!&lt;/p&gt;
&lt;p&gt;It depended on a graphics library and the WinCIM interface
developed by
&lt;a href=&#34;http://curious.galthub.com/blog/2022-03-24/&#34;&gt;Steve Wilhite&lt;/a&gt;
(of GIF fame)&lt;/p&gt;
&lt;h3 id=&#34;the-editor-that-created-linux&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.3&lt;/span&gt; The editor that created Linux&lt;/h3&gt;
&lt;p&gt;In early CompuServe days, Wilhite  and I did
a little collaborative coding to to improve
&lt;a href=&#34;https://en.wikipedia.org/wiki/MicroEMACS&#34;&gt;MicroEmacs&lt;/a&gt;,
I posted the source code to the Usenet group comp.sources.amiga and it took on a life
of it&amp;rsquo;s own thanks to Daniel Laurence, first being called
MicroGNUEmacs until RMS himself objected to the use of &amp;ldquo;GNU&amp;rdquo; in the
name.
&lt;a href=&#34;https://github.com/torvalds/uemacs&#34;&gt;Linus Torvalds (he of Linux fame) maintains a verison of MicroEmacs.&lt;/a&gt;
And
&lt;a href=&#34;https://sachachua.com/blog/2013/03/emacs-chat-carsten-dominik/&#34;&gt;Carsten Dominik&lt;/a&gt;,
creator of
&lt;a href=&#34;https://orgmode.org/&#34;&gt;Org Mode (&amp;ldquo;Your life in plain text&amp;rdquo;)&lt;/a&gt;
was an early user and was influenced by it.&lt;/p&gt;
&lt;p&gt;Org Mode is central to most parts of my life today.  What goes around,
comes around.&lt;/p&gt;
&lt;h3 id=&#34;sans-ietf-flocon-the-white-house&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.4&lt;/span&gt; SANS, IETF, Flocon, the White House&lt;/h3&gt;
&lt;p&gt;Along the way I wrote &lt;a href=&#34;http://port111.com/george/talks/Jones-2002-SANS.pdf&#34;&gt;The Router Audit Tool (RAT)&lt;/a&gt;.
Offshoots of this work
fed indirectly (via XCCDF) into the creation of STIX and TAXII.
&lt;a href=&#34;https://www.linkedin.com/in/john-n-stewart/&#34;&gt;John Stewart&lt;/a&gt;,
the venture capitalist and former CISO and VP of Cisco and
&lt;a href=&#34;https://www.linkedin.com/in/neal-ziring-779890a9/&#34;&gt;Neil Ziring&lt;/a&gt;,
tech director at NSA, contributed code to the project while I was
leading it.  Alan Paller of SANS convinced me to release it through
the &lt;a href=&#34;https://www.cisecurity.org/&#34;&gt;Center for Internet Security&lt;/a&gt; as one of their benchmark tools.
RAT started as a side project at UUNET.&lt;/p&gt;
&lt;p&gt;Also at UUNET I started what became RFC3871:
&lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc3871&#34;&gt;https://www.rfc-editor.org/rfc/rfc3871&lt;/a&gt;.  The IETF OpSec working group
continues to this day as an offshoot (&amp;ldquo;Many fine lunches&amp;rdquo;?).  This was
a side project that spanned UUNET and MITRE.&lt;/p&gt;
&lt;p&gt;While at CERT (CERT/CC at Carnegie-Mellon, the original CERT, not
US-CERT) I had the opportunity to chair &lt;a href=&#34;https://www.flocon.org/&#34;&gt;https://www.flocon.org/&lt;/a&gt; twice.
This was something of a side project for the organization, but one
that got resources (my time).&lt;/p&gt;
&lt;p&gt;Also at CERT I had the opportunity to provide netflow analysis
training to the White House SOC.&lt;/p&gt;
&lt;h3 id=&#34;side-projects-at-palo-alto&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.5&lt;/span&gt; Side projects at Palo Alto&lt;/h3&gt;
&lt;p&gt;At Expanse/Palo Alto I spent a lot of time staring  at Internet scan
data, trying to figure out what vulnerable devices were presenting
themselves to us (and hackers). An irony here being that 15 years earlier we thought
scanning was always bad, and there were PhD theses around how to detect
it.
&lt;a href=&#34;https://www.linkedin.com/in/mpcollins/&#34;&gt;Mike Collins&lt;/a&gt;
&lt;a href=&#34;https://gitlab.com/mcollins_at_isi/acknowledged_scanners&#34;&gt;is still cataloging scan traffic&lt;/a&gt;
(give it up Mike, Internet traffic IS scan traffic :-))&lt;/p&gt;
&lt;p&gt;After Palo Alto acquired Expanse, I spent a fair bit of time understanding the
vast array security-related data available for analysis in other parts
of the company. In my judgment, Palo Alto may have the best overall
collection of data for analyzing and addressing security threats, second,
possibly, only to AWS. They actively work to use these data sources
to protect customers, see
&lt;a href=&#34;https://www.paloaltonetworks.com/blog/2014/10/web-security-tips-pan-db-works/&#34;&gt;PanDB&lt;/a&gt;,
for instance. I presented on my findings
at an annual internal meeting of researchers.  A side project.&lt;/p&gt;
&lt;p&gt;As part of that effort I met
&lt;a href=&#34;https://www.linkedin.com/in/janos-szurdi-b40b3598/&#34;&gt;Janos Szurdi&lt;/a&gt;
and collaborated with him
and other AMAZING researchers in that division, mostly on informal
projects such as an internal &amp;ldquo;Hackathon&amp;rdquo;, my role mostly being to
advise on the use of Expanse datasets.  The result can be seen in
&lt;a href=&#34;https://janos.szurdi.com/blog/stockpiled-detector/&#34;&gt;Janos&amp;rsquo; blog post about detecting stockpiled domains&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At this year&amp;rsquo;s internal research meeting
&lt;a href=&#34;https://www.linkedin.com/in/tim-hofmockel-a31437100/&#34;&gt;Tim Hofmockel&lt;/a&gt;
and I explored further
applications of combining data sources to support security analysis to solve
our customers challenges.
Such meetings are side projects for everyone, but the in-person interactions
that happen there are what gets the creative and collaborative juices
flowing and are often the source of further outside-the-box projects.
I think that&amp;rsquo;s why I like them, and why companies fund them.&lt;/p&gt;
&lt;p&gt;There is a possible patent coming out of some side efforts (this would
be the first of my career).&lt;/p&gt;
&lt;h2 id=&#34;the-amazon-leadership-principals&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; The Amazon Leadership Principals&lt;/h2&gt;
&lt;p&gt;There is one set of corporate mumbo-jumbo I actually believe in:
the &lt;a href=&#34;https://www.aboutamazon.com/about-us/leadership-principles&#34;&gt;Amazon Leadership Principals&lt;/a&gt;.  They stick with you.  They form a
way of thinking about the world and getting things done: Dive Deep,
Learn and Be Curious, Bias for Action, Earn Trust, Disagree and
Commit, Deliver Results.  It&amp;rsquo;s said that some Amazonians have to try
hard to turn them off with family.&lt;/p&gt;
&lt;p&gt;I think one of the reason those struck such a cord with me is that
I saw them modeled 10 years before Amazon was founded at an early,
impressionable period in my carrer. You could not have found a better
description of Steve Wilhite (but one would have to add laconic, curmudgeonly,
self-assured, stubborn and a few other adjectives)&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m holding my Amazon stock despite Andy Jassey now being in charge
and the FTC going on an anti-trust fishing expedition.  The company is
solid. And the leadership principals and customer obsession are a
large part of it.&lt;/p&gt;
&lt;h2 id=&#34;people-matter-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; People matter.&lt;/h2&gt;
&lt;p&gt;Yes, you have to have corporate vision statements to keep investors
happy and make HR VPs think they are relevant, but so often what matters
are the side projects, the accidents, and things that fly under the
radar.&lt;/p&gt;
&lt;p&gt;I have it from Wilhite (30+ years ago) that the first DEC10 was delivered
to CompuServe by mistake. It was then the computing arm of Goden United
Life Insurnace Compay. They had ordered a smaller machine from Digital
Equiptment Corporation. When the DEC10 arrived, they kept it, eventually
started selling extra cycles as time-sharing (Cloud Computing, 1975),
built a packet switched network, c.a. 1972 (take that ARPANet), started
the first online service, c.a. 1979, and much of the world as we know
it today was born.&lt;/p&gt;
&lt;p&gt;Shortly thereafter, Dan Piskur had to invent &amp;ldquo;Cybersecurity&amp;rdquo; &lt;em&gt;ab initio&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Wilhite left Ohio State during the 1970 riots to go do fun work on a
big computer at a startup down the road.  He never finished his
degree. Too much to do.  Things worked out.  I think I can say the
same.&lt;/p&gt;
&lt;p&gt;People matter. Individuals matter.  Side projects matter (again,
see &lt;a href=&#34;http://curious.galthub.com/blog/steve/&#34;&gt;Wilhite and GIF&lt;/a&gt;.).&lt;/p&gt;
&lt;p&gt;So make your strategic plans, track things in your kan-ban boards, have
project managers run your agile sprints, but remember&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Life is what happens to you while you&amp;rsquo;re busy making other plans&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;mdash; John Lennon, 1980 in &amp;ldquo;Beautiful Boy&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;#52 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Thanks Sacha !</title>
      <link>http://curious.galthub.com/blog/2023-12-09/</link>
      <pubDate>Sat, 09 Dec 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-12-09/</guid>
      <description>&lt;center&gt;
&lt;pre&gt;
Ode to emacsconf 2023
&lt;p&gt;All the world’s a text,
And all the men and women merely editors;
They have their reads and their writes,
And Emacs in its time plays many parts&amp;hellip;
&lt;/pre&gt;
With apologies to William Shakespeare and actual odes.&lt;/p&gt;
&lt;/center&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/emacsconf2015.png&#34; alt=&#34;Figure 1: &amp;ldquo;2015-02-02 Making a virtual Emacs conference happen &amp;ndash; index card #emacs #organizing-people #conference #planning #questions&amp;rdquo; by sachac is licensed under CC BY 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/2.0/?ref=openverse.&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;2015-02-02 Making a virtual Emacs conference happen &amp;ndash; index card #emacs #organizing-people #conference #planning #questions&amp;rdquo; by sachac is licensed under CC BY 2.0. To view a copy of this license, visit &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/?ref=openverse&#34;&gt;https://creativecommons.org/licenses/by/2.0/?ref=openverse&lt;/a&gt;.
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Emacs is a tangent to life.&lt;/p&gt;
&lt;p&gt;We use Emacs around the edges of life.
It&amp;rsquo;s adjacent to everything we do: our work, our finances, our art,
and, oh yea, our code too.&lt;/p&gt;
&lt;p&gt;Our life is text.  Emacs is a text editor.  Emacs itself is text.  We
edit Emacs with Emacs.  &amp;ldquo;All the world&amp;rsquo;s a text&amp;hellip;.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Emacs gives us a (false?) sense of control. It&amp;rsquo;s shiny object. Using
it turns parts of our lives into encounters mediated by a shiny object.
Or maybe it just leads us down rabbit-holes when we should be paying
the bills.&lt;/p&gt;
&lt;p&gt;Emacs is a community. A worldwide diapora of isolated geeks. It is
a form of existential self expression.  It can be cathartic.&lt;/p&gt;
&lt;p&gt;We share all this once a year at &lt;a href=&#34;https://emacsconf.org/&#34;&gt;https://emacsconf.org/&lt;/a&gt; emacsconf,
thanks to &lt;a href=&#34;https://sachachua.com/blog/&#34;&gt;Sacha Chua&lt;/a&gt; and friends.&lt;/p&gt;
&lt;p&gt;Thanks, Sacha.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Now wait, how was I planing to tweak that capture template? &amp;hellip;.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;#51 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>What matters in work?</title>
      <link>http://curious.galthub.com/blog/2023-12-06/</link>
      <pubDate>Sat, 02 Dec 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-12-06/</guid>
      <description>&lt;p&gt;The chart below is a mental framework I&amp;rsquo;ve used to evaluate my work
situation over the span
of may career.  The goal is to move as far up the pyramid as you can.
Being at the top (interesting )is really a first or zeroth world
problem.  Insert discussion of human flourishing/εὐδαιμονία here.
If you&amp;rsquo;re failing at a lower level, the upper layers really don&amp;rsquo;t matter.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/maslow2023.png&#34; alt=&#34;Figure 1: Maslow&amp;rsquo;s Heirarchy of Jobs © 2023 George M. Jones, is is made available under the terms of the CC BY 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://git.galthub.com:3000/gmj/home.public.art/src/master/home/public/art/maslow2023.png&#34;&gt;Maslow&amp;rsquo;s Heirarchy of Jobs &lt;/a&gt;© 2023 George M. Jones, is is made available under the terms of the &lt;a href=&#34;https://creativecommons.org/licenses/by/4.0/&#34;&gt;CC BY 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#50 of #100DaysToOffload take 3.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Who &#39;ya gonna trust?  CNN, Podcasts, ChatGPT…</title>
      <link>http://curious.galthub.com/blog/2023-05-14/</link>
      <pubDate>Sun, 14 May 2023 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-05-14/</guid>
      <description>&lt;p&gt;On my &lt;a href=&#34;https://fosstodon.org/@saluki/110354524960932474%22&#34;&gt;Mastadon feed&lt;/a&gt; this week, the question was asked&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Why have #podcasts become so popular in the last few years? What&amp;rsquo;s changed?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think there are a lot of answers&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/dorothy.png&#34; alt=&#34;Figure 1: ChatGPT rendering of &amp;ldquo;Make an image of Dorothy Gale of Kanasas riding a bucking bronco with the wicked witch flying on her broom in the background and a tornado behind that&amp;rdquo; by ChatGPT and George Jones is licensed under ????&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://foo.com/BAR/BAZ.JPG&#34;&gt;ChatGPT rendering of &amp;ldquo;Make an image of Dorothy Gale of Kanasas riding a bucking bronco with the wicked witch flying on her broom in the background and a tornado behind that&amp;rdquo; by ChatGPT and George Jones is licensed under ????&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;My answers include&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;No need for the overhead or editorial control of older media forms.
Lower production and distribution costs.  A wide range of presenters
and topics.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think there&amp;rsquo;s going to be another HUGE
reason to tune unto long-form talking-heads/analysis style podcasts:
You can be pretty sure (at last for a while) that the people talking
are people, not, e.g. ChatGPT spitting out articles.   If you want to
hear what PEOPLE are saying and thinking, for the time being podcasts
are it. When we get to the point that AI generation of TV anchors and White
House press secretaries is common place, we will have arrived at an
existential crisis of trust in all mass-market delivered content.&lt;/p&gt;
&lt;p&gt;At that point, your best bet will be to have live, in-person,
one-on-one interactions with real people.   And, come to think of it,
in any event, talking to people more might not be such a bad idea.&lt;/p&gt;
&lt;p&gt;#49 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hikers, Volunteers, Hard Work and Relationships</title>
      <link>http://curious.galthub.com/blog/2023-03-11/</link>
      <pubDate>Sat, 11 Mar 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-03-11/</guid>
      <description>&lt;p&gt;In your &amp;ldquo;Presidents Log Book Entry&amp;rdquo; &lt;a href=&#34;https://www.patc.net/docs/PATC/Newsletters/2023/PA_2023_03.pdf&#34;&gt;article in the monthly newsletter&lt;/a&gt;, you
talked about the need for the Potomac Appalachian Trail Club (PATC)
to build its &amp;ldquo;brand identity&amp;rdquo; to reach our target &amp;ldquo;consumers&amp;rdquo;. About
that&amp;hellip;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m involved in PATC as a trail maintainer and an avid hiker with 1700
miles of an AT Section hike over 14 years. I&amp;rsquo;m in it to meet the likes
of Tom Johnson, one of your predecessors as PATC president. I ran into
him once in the middle of a long day-hike, corresponded a bit and devoured
the copy of the &lt;a href=&#34;https://www.patc.net/docs/About%20PATC/History-PATC-14Aug2020byTomJohnson.pdf&#34;&gt;history of the PATC&lt;/a&gt; which he wrote and sent to me shortly
before he passed on while leading a hike. I&amp;rsquo;m in it to work with
Jon &amp;amp; Katherine Rindt, Mosby district supervisors. I admire their non-ceasing
selfless work to clear 100s of blow downs, corral the cats (volunteers
like me), fix signage, work with the county/state/parks to get parking
lots fixed, etc. I&amp;rsquo;m in it to take trail maintenance classes from the
likes of Robert Fina and to, again, admire the dedication, learning
and investment of time and resources he puts into it. I do my little
bit, but there are giants out there. I&amp;rsquo;m in it to take walks with my
family, to meet casual hikers and to talk to the steady stream of thru-hikers
who are on a mission. I&amp;rsquo;m in it drag my daughter-in-law, a professional
ornithologist, out with me to do maintenance and to be amazed as she
identifies 30+ in species of birds around us on one outing without
even seeing most of them. She then put together a display about the
birds that is in the display case at the Tucker Lane parking lot (thanks
to Jon, too).&lt;/p&gt;
&lt;p&gt;So, yeah, brand identity. I&amp;rsquo;d welcome the chance to get to know you
and to talk to you about it, one-on-one. I could use some help cleaning
out water bars and weed-wacking my section once the vegetation gets
going later this spring.  Let me know if you&amp;rsquo;d like to help.&lt;/p&gt;
&lt;p&gt;#48 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Count Your Blessings</title>
      <link>http://curious.galthub.com/blog/2023-02-09/</link>
      <pubDate>Thu, 09 Feb 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-02-09/</guid>
      <description>&lt;p&gt;Do something radical.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Count your blessings, name them one by one&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Literally.  Do it.   Write them down.  Meditate on all the good stuff
in your life.  Maybe even give thanks.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://hymnary.org/text/when_upon_lifes_billows_you_are_tempest&#34;&gt;https://hymnary.org/text/when_upon_lifes_billows_you_are_tempest&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(the fact that this follows yesterdays &amp;ldquo;&lt;a href=&#34;http://curious.galthub.com/blog/2023-02-07/&#34;&gt;Making Lists&lt;/a&gt;&amp;rdquo; musing is just
coincidental &amp;hellip; he asserts &amp;hellip; our maybe it&amp;rsquo;s the positive application)&lt;/p&gt;
&lt;p&gt;#47 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Making lists</title>
      <link>http://curious.galthub.com/blog/2023-02-07/</link>
      <pubDate>Tue, 07 Feb 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-02-07/</guid>
      <description>&lt;p&gt;Dad made lists. Lots of them. I have Emacs org mode.&lt;/p&gt;
&lt;p&gt;Making lists is part of the story I tell myself about how I&amp;rsquo;m working
on the right things and getting them done.&lt;/p&gt;
&lt;p&gt;Dad was an incurable list maker. He had to-do lists from Mom. He wrote
detailed instructions (a list) of how to set up the camper. He posted
lists of the date that each of my brothers and me would start paying for their
own gas for the car and the milage rate. When he used computers he
decided to save everything on USB drives. There was (is) a list indexing
those USB drives. There were multiple phone lists updated regularly.
There were (are) song lists in the harmonica case.&lt;/p&gt;
&lt;p&gt;I have &lt;a href=&#34;https://orgmode.org/&#34;&gt;Emacs Org Mode&lt;/a&gt; (&amp;ldquo;Your life in plain text&amp;rdquo;), the penultimate
list making software.&lt;/p&gt;
&lt;p&gt;The lists I make on computers bear only tangential relationship to
what I do.  They are never done.  In fact, computers make it all to
easy to make lists of more things than I could every do.  So, why?&lt;/p&gt;
&lt;p&gt;The fantasy is that when I make lists, they are organized, complete,
logical, right, drive all that I do (and don&amp;rsquo;t do) and that I&amp;rsquo;m more
effective, accomplish more and am happier as a result.  Or maybe I
just need the illusion of order.&lt;/p&gt;
&lt;p&gt;The reality is, I do what I do.  I am time bounded.  Lists grow to
infinity.  Lists are there more to make me feel good than to drive
actual behavior, so that I can tell myself (and others) that I am
ORGanized.  Lists are there for psychological reasons.  They are there
because I like making lists.  It&amp;rsquo;s enjoyment of the process and the
illusions about what they help me accomplish, not, for the most part,
because I get more done (but I &lt;em&gt;think&lt;/em&gt; I do&amp;hellip;no, really&amp;hellip;.)&lt;/p&gt;
&lt;p&gt;True, it is better to have a plan than no plan.  &amp;ldquo;If you aim at
nothing, you will hit it every time.&amp;rdquo;  Got it.  But, in reality, lists
are part of the story I tell myself about how I&amp;rsquo;m working on the right
things and getting them done.&lt;/p&gt;
&lt;p&gt;Now,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;M-x org-agenda&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;what am I doing today? &amp;hellip;&lt;/p&gt;
&lt;p&gt;#46 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Try writing more, you&#39;ll worry less</title>
      <link>http://curious.galthub.com/blog/2023-02-04/</link>
      <pubDate>Sat, 04 Feb 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-02-04/</guid>
      <description>&lt;p&gt;The past couple weeks, I&amp;rsquo;ve intentionally cut the phone out my morning
routine. I was already writing a daily journal (on paper), about a
page or two a day. I&amp;rsquo;ve always found that to be cathartic, as well
as a good way to organize my thoughts and do some day-to-day planning.
Now I&amp;rsquo;m writing two daily journals.&lt;/p&gt;
&lt;p&gt;The second journal is an attempt to capture family history and oral
tradition. A lot of history, artifacts and stories have landed on me
after 150 or 200 years. I&amp;rsquo;m &amp;ldquo;getting them out&amp;rdquo; in a semi-organized
manner, using what I know of peoples financial circumstances as writing
prompts. There will probably be online versions later, but I find the
process of writing on paper leads to much more creativity at the start.&lt;/p&gt;
&lt;p&gt;Which leads me back to the start of this post. You can start you day
doom-scrolling, filling your head with sound bites, stories of political
(and other) apocalypses, or you can use the time to create, reflect
and plan before spending the time you are given this day. Your choice.&lt;/p&gt;
&lt;p&gt;(turns out this is version 2 of my previous post&amp;hellip;)&lt;/p&gt;
&lt;p&gt;#45 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>mornings without the phone (regaining my mind)</title>
      <link>http://curious.galthub.com/blog/2023-01-29/</link>
      <pubDate>Sun, 29 Jan 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-01-29/</guid>
      <description>&lt;p&gt;Believe it or not, you will be OK if you don&amp;rsquo;t use your &amp;ldquo;smart&amp;rdquo;-phone
to look up everything the minute you think of it, if you don&amp;rsquo;t have it
by your bed at night and you don&amp;rsquo;t turn it on for a few hours.  You
might even regain a less-addicted, more thoughtful &amp;ldquo;smart&amp;rdquo;-you.&lt;/p&gt;
&lt;p&gt;For the past few days I&amp;rsquo;ve been going &amp;ldquo;Cold Turkey&amp;rdquo; on using the &amp;ldquo;smart&amp;rdquo;
phone as part of my morning routine: checking news, listening to podcasts,
checking email, looking up things I&amp;rsquo;m curious about, etc.&lt;/p&gt;
&lt;p&gt;It feels like I&amp;rsquo;m getting my own mind back.&lt;/p&gt;
&lt;p&gt;I have spasms of &amp;ldquo;I have to look this up&amp;rdquo;, but I really don&amp;rsquo;t need
to. They quickly pass, and I&amp;rsquo;m OK without knowing why the Crickets
were not with Buddy Holly when his plane went down.&lt;/p&gt;
&lt;p&gt;Sometimes you want to maintain control of your own stream-of-consciousness.
Sure, it might be free association of ideas, knowledge and experiences
that are already bouncing around in your skull. But they are YOUR thoughts.
Not some advertising-induced, attention grabbing graphic-heavy distractions
that some web-designer or marketing person decided you needed to see
to drive &amp;ldquo;engagement&amp;rdquo; with whatever their schtick is.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s OK not to know.   Get your own mind back.  Break your addiction to
the smart phone, for at least part of the day.&lt;/p&gt;
&lt;p&gt;The first version of this was written in a paper journal with a
pencil.&lt;/p&gt;
&lt;p&gt;#44 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Death, Taxes, and Job</title>
      <link>http://curious.galthub.com/blog/2023-01-11/</link>
      <pubDate>Wed, 11 Jan 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-01-11/</guid>
      <description>&lt;p&gt;Today I&amp;rsquo;m going to pay my taxes, work on updating my living will and
health care power of attorney, telling others when I want
doctors to pull the plug if I can&amp;rsquo;t make that decision myself.&lt;/p&gt;
&lt;p&gt;Death and taxes.   You can&amp;rsquo;t live with them, and they get you in the
end.&lt;/p&gt;
&lt;p&gt;When discussing death, taxes, and &amp;ldquo;I know I&amp;rsquo;m right, why is all this bad
stuff happening to me?&amp;rdquo;, there&amp;rsquo;s no better place to turn than Job&amp;hellip;&lt;/p&gt;
&lt;p&gt;Job is the oldest book in the bible. It pre-dates Rome, it pre-dates Abraham
Lincoln, Isaac Newton, Jacob Astor, Joseph Stalin, and Benjamin Netanyahu
:-). It pre-dates the Christian faith and Jesus&amp;rsquo; birth by hundreds of
years.&lt;/p&gt;
&lt;p&gt;For those who may not be familiar, Job is a story of suffering. Unjust
suffering. Short version: Behind the scenes (Job never learns this) Satan
makes a bet with God that Job (God&amp;rsquo;s &amp;ldquo;righteous servant&amp;rdquo;) will curse God
if God lets Satan take away his money, family, and health. God takes the
bet. Job&amp;rsquo;s children die. His livestock is stolen. He skin breaks out
in boils. His wife and his friends blame him and tell him it&amp;rsquo;s all his
own fault. Some friends. His loving wife summarizes &amp;ldquo;Job, do you still
hold to your integrity? (claim it&amp;rsquo;s not your fault) Curse God and Die !&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Fortunately for us (and germain to the topic of my living
willing/advanced medical diretive), Job did not live in 21st Century
Canada, was not counseled to kill himself to keep the governments
health care expenses down, but instead endured (seemingly) pointless
suffering, wrestling with the question &amp;ldquo;Why?&amp;rdquo;, and as a result we have
one of the greatest works of literature in human history that has
inspired theological and philosophical debate and great art for
millennia.  &amp;ldquo;Curse God and Die ?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s hear from Job.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For I know that my redeemer liveth, and that he shall stand at the latter day upon the earth:
And though after my skin worms destroy this body, yet in my flesh shall I see God:
Whom I shall see for myself, and mine eyes shall behold, and not another;&lt;/p&gt;
&lt;p&gt;Job 19:25-27&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I can not read those words without hearing the setting in Handel&amp;rsquo;s Messiah.&lt;/p&gt;
&lt;p&gt;The phrase&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Yet in my flesh shall I see God&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;is likely going on my tombstone.  It is an expression of the hope of
resurrection and eternal life.&lt;/p&gt;
&lt;p&gt;Seeing those words on a tombstone would probably make Job happy (Job
happy?), because, immediately before that he said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Oh that my words were now written! oh that they were printed in a book!
That they were graven with an iron pen and lead in the rock for ever!&lt;/p&gt;
&lt;p&gt;Job 19:23-24&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But in context, he&amp;rsquo;s referring to his long-running instance that he is
innocent, that his actions and thoughts are right, and that no-one
(God included) can question that.  Sound like any people or current
cultural movements you know?&lt;/p&gt;
&lt;p&gt;The book ends with God asking Job a series of unanswerable questions. Job
finally admits he may not have the whole picture and that maybe it&amp;rsquo;s time
to be humble and admit his limitations, frailty, mortality and, yes, the
possibility of his own moral failings when faced with an Eternal, Omnipotent,
Infinite, Just and Merciful Creator.&lt;/p&gt;
&lt;p&gt;May I do the same.&lt;/p&gt;
&lt;p&gt;Oh, and to those who may decide to pull the plug on me or not, yeah, the
answers are often not clear. Sometimes suffering has a purpose. Do what you
think is best at the time and leave the rest to God.  It&amp;rsquo;s all any of
us can do.&lt;/p&gt;
&lt;p&gt;#43 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Generation P</title>
      <link>http://curious.galthub.com/blog/2023-01-08/</link>
      <pubDate>Sun, 08 Jan 2023 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2023-01-08/</guid>
      <description>&lt;p&gt;I think I&amp;rsquo;m a member of &amp;ldquo;Gen-P&amp;rdquo;, the &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/Peter_Pan_(1953_film)&#34;&gt;Peter Pan&lt;/a&gt;&amp;rdquo; generation who grew
up in the shadow of the 1953 Disney production that touted the idea
that we never have to grow up.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/boat.jpeg&#34; alt=&#34;Figure 1: &amp;ldquo;Boat off Jeckyll Island&amp;rdquo; by George Jones is licensed under CC BY 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://foo.com/BAR/BAZ.JPG&#34;&gt;&amp;ldquo;Boat off Jeckyll Island&amp;rdquo; by George Jones is licensed under CC BY 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;A friend who&amp;rsquo;s a few years older than me recently related trials she
is having caring for elderly parents.  Nine years ago, my father moved
to be near us.  For the last 5 years of his life I spent time
providing help to a very independent-minded person who rarely admitted
he needed my help.  This included an incident where I had to take the
car keys from someone for whom driving was a right of passage into
adulthood.  It was not pretty.&lt;/p&gt;
&lt;p&gt;Somewhere in the late fifties or early sixties (when I as born), I
think the old notions of independence that were common in the 30s,
WWII, and my parents generation and earlier went out the window.  They
lived in a much harsher world, and understood that fact.  Farming.
The depression.  WWII.  The bomb. There was nowhere near the economic prosperity
that came in the decades after.  There was nowhere near as much social
safety net as there is today. Shades of Archie Bunker&amp;rsquo;s &amp;ldquo;&lt;a href=&#34;https://youtu.be/0d8FTPv955I&#34;&gt;Those Were
The Days&lt;/a&gt;&amp;rdquo; are now drifting through my head&amp;quot; &amp;hellip; it&amp;rsquo;s time to stop
this line of thought.&lt;/p&gt;
&lt;p&gt;Then came Peter Pan.  &amp;ldquo;&lt;a href=&#34;https://genius.com/Don-mclean-american-pie-lyrics&#34;&gt;A Generation Lost In Space&lt;/a&gt;&amp;rdquo;.  I look in the
mirror and sometimes wonder who that old man is. When addressed as
&amp;ldquo;Mr. Jones&amp;rdquo;, I wonder who they&amp;rsquo;r talking to? To hear my
daughter-in-law call me &amp;ldquo;Dad&amp;rdquo;, seems very strange.&lt;/p&gt;
&lt;p&gt;But life moves on.   The lost boys and Wendy do, in fact grow up.&lt;/p&gt;
&lt;p&gt;Back to my friend who&amp;rsquo;s caring for her parents.  Enjoy the seasons of
life.  If you&amp;rsquo;re in a position to help someone (kids, older parents),
be glad about it. Life can be rough.  Pre-&amp;ldquo;Boomers&amp;rdquo; seem to have
gotten that more than me.  Almost in spite of my self, I&amp;rsquo;ve learned
that some of the deepest meaning in life comes in stepping up to deal
with adversity.&lt;/p&gt;
&lt;p&gt;Have fun in never-never land.  I don&amp;rsquo;t think I&amp;rsquo;m coming.&lt;/p&gt;
&lt;p&gt;#42 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Successful?</title>
      <link>http://curious.galthub.com/blog/2022-12-26/</link>
      <pubDate>Mon, 26 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-12-26/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;http://curious.galthub.com/blog/2022-12-25/&#34;&gt;http://curious.galthub.com/blog/2022-12-25/&lt;/a&gt; I said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Bruce moved on from there to be VP of MSN at Microsoft for a while.
Arguably a &amp;ldquo;Highly Successful Person&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which, of course, begs (assumes, cedes) the question:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What is success?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bruce embraced the management track.  I&amp;rsquo;ve fairly consistently and
actively dodged it, ironically after Bruce promoted me to my first
supervisory role &amp;hellip; managing the development of a web-page creation
tool for CompuServe&amp;rsquo;s &amp;ldquo;MySpace&amp;rdquo;-like web page publishing system
&amp;hellip; from there I took a hard career turn into the security world
focusing on Internet security, routers, linux/unix, etc.  For me,
that&amp;rsquo;s been a resounding success.  Just no direct reports, budgets
or Microsoft Windows, which were anti-goals for me.  I&amp;rsquo;ve focused on
front-line, hands-on doing.&lt;/p&gt;
&lt;p&gt;#41 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The unnumbered habits of a questionably effective person</title>
      <link>http://curious.galthub.com/blog/2022-12-25/</link>
      <pubDate>Sun, 25 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-12-25/</guid>
      <description>&lt;p&gt;This is two part rant on planning with (and without) Emacs Org Mode,
shoved together into one post in much the same way as Lennon-McCartney
songs were shoved together from musical scraps they had laying around.
My Frankenstein post will probably have less impact and reach than &amp;ldquo;A
Day In The Life&amp;rdquo;, Yeah, Yeah, Yeah.&lt;/p&gt;
&lt;h2 id=&#34;rants-on-org-mode-humanity-and-bruce&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Rants on org mode, humanity and Bruce&lt;/h2&gt;
&lt;h3 id=&#34;org-mode-and-planning&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; Org mode and planning&lt;/h3&gt;
&lt;p&gt;These are reflections getting things done (not GTD).   Or not getting
things done.   Or yak-shaving with Emacs and org-mode while pretending
to get things done and really just enjoying the experience either way.
Maybe that&amp;rsquo;s what org mode is all about anyhow.&lt;/p&gt;
&lt;p&gt;Org mode is the best list making tool I&amp;rsquo;ve ever found.  Org capture
let&amp;rsquo;s you capture thoughts, links, TODO items on the fly in the
middle of whatever else you&amp;rsquo;re doing and get back to them.  You never
miss anything.&lt;/p&gt;
&lt;h3 id=&#34;but-we-re-human&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; But we&amp;rsquo;re human&lt;/h3&gt;
&lt;p&gt;But there are a couple problems.   We&amp;rsquo;re human, not AI-driven lisp
code knocking off all the TODO items, and we&amp;rsquo;re finite in terms of
time, attention, focus, money, friends, skills, etc.&lt;/p&gt;
&lt;p&gt;The result is that org mode enables me to grow infinite lists of TODOs.
The human brain is good at focusing on maybe 3 things at a time.
The path to despair (long undone lists) is obvious.  Sometimes I just
give up on org mode lists and do things.&lt;/p&gt;
&lt;h3 id=&#34;bruce&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.3&lt;/span&gt; Bruce&lt;/h3&gt;
&lt;p&gt;Long, Long, ago in a tech company far, far away (CompuServe, Columbus,
Ohio) there were &amp;ldquo;how do we migrate off of DEC10 to compete with AOL wars&amp;rdquo;.
I knew Bruce McNaughton. Bruce moved on from there to be VP of MSN at Microsoft
for a while. Arguably a &amp;ldquo;Highly Successful Person&amp;rdquo; (who I&amp;rsquo;m pretty sure
does not use org mode, but does have ligit geek creds).  I asked him
once how he plans and memories (vague) are that he did not make lists
(at the time Franklin Planners and then Franklin Planner software were
all the rage).   That image stuck with me.   Just talk to people and
do stuff.&lt;/p&gt;
&lt;h3 id=&#34;concluding-rant&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.4&lt;/span&gt; Concluding Rant&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s about enjoying what you do
&lt;ul&gt;
&lt;li&gt;just the act of planning&lt;/li&gt;
&lt;li&gt;maybe actually getting things done, maybe not&lt;/li&gt;
&lt;li&gt;a sense of accomplishment (TODO -&amp;gt; DONE)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Software can be a tool, a focus, a shiny object or a distraction&lt;/li&gt;
&lt;li&gt;Software can be tyrannical
&lt;ul&gt;
&lt;li&gt;Computers are good an infinite lists, humans aren&amp;rsquo;t&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I will die with a TODO list much larger than it is today.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;my-work-planning-regime-with-org-mode&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; My work planning regime with org mode&lt;/h2&gt;
&lt;p&gt;That said, here&amp;rsquo;s more-or-less how I plan my days at work.
Home/personal stuff is similar, but a little less structured.&lt;/p&gt;
&lt;h3 id=&#34;morning-planning&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1&lt;/span&gt; Morning Planning&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;What&amp;rsquo;s in my head&lt;/dt&gt;
&lt;dd&gt;capture TODOs form the top of my journal (diaty.org)&lt;/dd&gt;
&lt;dt&gt;Look at &amp;ldquo;inputs&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;look at calendar, email and slack in that order.&lt;/dd&gt;
&lt;dt&gt;Look at existing porjects/plans&lt;/dt&gt;
&lt;dd&gt;Look at weekly plans, tasks, etc&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Juggle all these and figure out what I&amp;rsquo;m going to try to do that day&lt;/p&gt;
&lt;h3 id=&#34;during-the-day&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2&lt;/span&gt; During the day&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Capture new stuff and move on&lt;/dt&gt;
&lt;dd&gt;Quickly capture new asks, TODOs
(org-capture) and move.&lt;/dd&gt;
&lt;dt&gt;Capture info&lt;/dt&gt;
&lt;dd&gt;capture info (links to HOWTOs, etc in the same file)&lt;/dd&gt;
&lt;dt&gt;Keep a calendar open&lt;/dt&gt;
&lt;dd&gt;Keep a calendar window open so I don&amp;rsquo;t
miss thigns&lt;/dd&gt;
&lt;dt&gt;Turn off all notificatons&lt;/dt&gt;
&lt;dd&gt;Turn off all email, slack,
etc. notificatons and pop-iups so I can control my focus.&lt;/dd&gt;
&lt;dt&gt;Check email, slack on my schedule&lt;/dt&gt;
&lt;dd&gt;Check in somewhat frequently
with slack, email so people can get ahold of me in a somewhat
timely fashon.   If it&amp;rsquo;s urgent, call or text.  Voice calls seem
to be a dying breed (&amp;ldquo;BR 549&amp;rdquo;, &amp;ldquo;Pensylvania 6-5000&amp;rdquo;)&lt;/dd&gt;
&lt;dt&gt;Minimize yak shaving&lt;/dt&gt;
&lt;dd&gt;I tend to yak-shave a lot.  Like writing
this post.  Watch it.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;organizing-time&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3&lt;/span&gt; Organizing Time&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Do &amp;ldquo;thinking work early&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;plan do do &amp;ldquo;thiking work&amp;rdquo; early in the day&lt;/dd&gt;
&lt;dt&gt;Do &amp;ldquo;collaboration work mid-day&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;do 1:1s, collaboration mid-day&lt;/dd&gt;
&lt;dt&gt;Do &amp;ldquo;meetings late-day&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;Push meetings, interrupts, etc late day&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;where-to-store-todos&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.4&lt;/span&gt; Where to store &amp;ldquo;TODOs&amp;rdquo;&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;one file&lt;/dt&gt;
&lt;dd&gt;I increasly just store TODOs, info , etc to one file
(diary.org) which is a diary-like file organized under
Year/Month/Day/ENTRY items.&lt;/dd&gt;
&lt;dt&gt;project files&lt;/dt&gt;
&lt;dd&gt;I do have planning files for most projects with
TODOs etc&lt;/dd&gt;
&lt;dt&gt;agenda&lt;/dt&gt;
&lt;dd&gt;I do use org-agenda to get a roll-up agenda view, but
more and more I&amp;rsquo;m just going with the inverse-stack, what&amp;rsquo;s at
the bottom of my diary.org and using mental prirotization.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;projects-template&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Projects template&lt;/h2&gt;
&lt;p&gt;And because this post is getting too long already, I&amp;rsquo;ll make it
longer.&lt;/p&gt;
&lt;p&gt;Here is the org project template that I&amp;rsquo;ve developed over the last
decade or so.   I still use it, but I&amp;rsquo;m moving more and more to
capturing everything in diary.org/the journal and maybe linking out
to these project files.&lt;/p&gt;
&lt;p&gt;A couple notes. &amp;ldquo;OODA&amp;rdquo; refers to the &amp;ldquo;&lt;a href=&#34;https://www.oodaloop.com/the-ooda-loop-explained-the-real-story-about-the-ultimate-model-for-decision-making-in-competitive-environments/&#34;&gt;OODA Loop&lt;/a&gt;&amp;rdquo;.  At times, its a
useful paradigm for thinking about action, think Snoopy and the Red
Barron: Snoopy &lt;span class=&#34;underline&#34;&gt;Observes&lt;/span&gt; the Red Barron, he &lt;span class=&#34;underline&#34;&gt;Orients&lt;/span&gt; himself, he
&lt;span class=&#34;underline&#34;&gt;Decides&lt;/span&gt; to let the Red Barron live to fight another day, and the
&lt;span class=&#34;underline&#34;&gt;Acts&lt;/span&gt; by disengaging the dogfight.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Cogita&amp;rdquo;, &amp;ldquo;Fac&amp;rdquo;, and &amp;ldquo;Dic&amp;rdquo; are Latin singular imperatives for
&amp;ldquo;Think&amp;rdquo;, &amp;ldquo;Act&amp;rdquo;, &amp;ldquo;Speak&amp;rdquo;.  Another paradigm for thinking about
actions.  Figure out what you&amp;rsquo;re doing, gather info, plan, then do
stuff, then talk about it (blogs, reports, papers, meetings, sales&amp;hellip;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+options: &amp;#39;:nil *:t -:t ::t &amp;lt;:t H:3 \n:nil ^:nil arch:headline
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+options: author:t broken-links:nil c:nil creator:nil
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+options: d:(not &amp;#34;LOGBOOK&amp;#34;) date:t e:t email:nil f:t inline:t num:2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+options: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+options: timestamp:t title:t toc:t todo:t |:t
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+title: PROJECT
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+date: &amp;lt;2022-12-25 Sun 07:50:58&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+author: George Jones
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+email: ME @ SOMEWHERE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+language: en
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+select_tags: export
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+exclude_tags: noexport
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# #+creator: Emacs 28.0.50 (Org mode 9.3.7)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# This is a project to...(overview/intro)...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# * PROJECT
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Info                                                         :cogita:Ooda:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Observe :: Gather Raw Information.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Think (Cogita) :: Thoughts, Brainstorming, etc.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# *** Info about the project
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# *** Links
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#      - project directory :: file://~/home/private/FOO
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#        + change this
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#        + create directory
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#        + keep project files here.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# *** HOWTOs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#     - Links of HOWTO articles relevant to the project
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Background
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Add any background info here (old files, plans, projects..)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Planning                                                     :cogita:oODa:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Think :: Think about observations and info gathered
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Orient :: &amp;#34;Figure out which way is up&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Decide :: Decide what your doing, which way to go.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# *** Goals
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# *** Plans
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Action Items                                                    :fac:oodA:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Act/DO (Fac) :: Actions to take on info and plans
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Meetings and Reports                                                 :dic:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - &amp;#34;After action reports&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Tell people what happened.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#    - Have meetings, write reports, etc. (as needed)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# ** PROJECT - Backlog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;#40 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt; of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Mark Twain quote on cryptocurrency (via ChatGPT)</title>
      <link>http://curious.galthub.com/blog/2022-12-10/</link>
      <pubDate>Sat, 10 Dec 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-12-10/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make up a mak twain quote about crypocurrency
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;Here is a possible quote that Mark Twain might have said about cryptocurrency:&lt;/p&gt;
&lt;p&gt;“The only thing more elusive than the value of cryptocurrency is the person who invented it. They must be a master of misdirection, for they have managed to convince the world that a string of numbers and letters has worth.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A poem about Pete Rose?  A LATIN poem about Pete Rose? A bash script
to search files and contents? Advice on investing beat the market and
inflation? How to pack for a week long backpacking trip?&lt;/p&gt;
&lt;p&gt;We used to say of computer programs &amp;ldquo;Garbage in, garbage out&amp;rdquo; &amp;hellip; but
ChatGPT seems to be getting a little better than that, probably not
close to passing the Turing test, but at the very least amusing.  I
think grading of high school assignments just became a lot harder&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;write a poem about pete rose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;verse&#34;&gt;
&lt;p&gt;Pete Rose was a baseball great,&lt;br /&gt;
A player without compare,&lt;br /&gt;
With a bat in his hand and a smile on his face,&lt;br /&gt;
He could hit a ball anywhere.&lt;br /&gt;
&lt;br /&gt;
His hits record will never be beat,&lt;br /&gt;
And his passion for the game was clear,&lt;br /&gt;
But his fall from grace was a tragic defeat,&lt;br /&gt;
And his legacy forever tarnished, I fear.&lt;br /&gt;
&lt;br /&gt;
But still, I can&amp;rsquo;t help but admire&lt;br /&gt;
The way he played the game,&lt;br /&gt;
With speed and skill and all his heart,&lt;br /&gt;
He left it all on the field and never gave up the fight.&lt;br /&gt;
&lt;br /&gt;
So here&amp;rsquo;s to you, Pete Rose,&lt;br /&gt;
A baseball legend in your own right,&lt;br /&gt;
Though your mistakes may never be forgotten,&lt;br /&gt;
Your place in history is secure, at least tonight.&lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;But wait, there&amp;rsquo;s more.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;write a latin poem about pete rose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;verse&#34;&gt;
&lt;p&gt;Pete Rose, ludus magnus,&lt;br /&gt;
Non comparari potest,&lt;br /&gt;
Bat cum manu et risus facie,&lt;br /&gt;
Posset pila ubique ferire.&lt;br /&gt;
&lt;br /&gt;
Record eius numquam vincetur,&lt;br /&gt;
Et amor eius pro ludo patet,&lt;br /&gt;
Sed casus eius tristis est,&lt;br /&gt;
Et memoria eius semper maculata timeo.&lt;br /&gt;
&lt;br /&gt;
Sed tamen admirari non possum&lt;br /&gt;
Modo ludebat,&lt;br /&gt;
Velocitate et peritia et tota corde,&lt;br /&gt;
Semper certabat et numquam desistebat.&lt;br /&gt;
&lt;br /&gt;
Ergo tibi, Pete Rose,&lt;br /&gt;
Legenda ludi tua propria,&lt;br /&gt;
Licet errores tui numquam obliviscantur,&lt;br /&gt;
Locum tuum in historia tutum est, saltem hac nocte.&lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;write me a bash script that searches for files by partial name that contain a certain regex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is a Bash script that searches for files with a partial name that match a specified regular expression and prints their names to the terminal:&lt;/p&gt;
&lt;p&gt;Copy code&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Prompt the user for the search term and regular expression&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;read -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Enter the partial file name to search for: &amp;#34;&lt;/span&gt; search_term
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;read -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Enter the regular expression to match: &amp;#34;&lt;/span&gt; regex
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Search for files with the specified name and matching regular expression&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;results&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;find . -name &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*&lt;/span&gt;$search_term&lt;span style=&#34;color:#e6db74&#34;&gt;*&amp;#34;&lt;/span&gt; -exec grep -l &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$regex&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{}&lt;/span&gt; +&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Print the names of each file that was found&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; read -r file; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$file&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$results&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This script uses the find command to search for files with the specified partial name and grep to match the regular expression. The -l option for grep is used to print only the names of the files that match, rather than their contents. The read command is used to prompt the user for input and to iterate over the search results.&lt;/p&gt;
&lt;p&gt;To use this script, save it to a file (e.g. search.sh), make it executable with chmod +x search.sh, and run it with ./search.sh. You can specify the partial file name and regular expression to search for when prompted.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;how do I invest to beat the market and inflation
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;To invest in order to beat the market and inflation, you can follow these steps:&lt;/p&gt;
&lt;p&gt;Identify your financial goals and the time frame in which you want to achieve them. This will help you determine the right investment strategy for your situation.&lt;/p&gt;
&lt;p&gt;Create a diversified portfolio that includes a mix of stocks, bonds, and other investments. This will help reduce the risk of your investments and increase the chances of achieving your financial goals.&lt;/p&gt;
&lt;p&gt;Research different investments and compare their potential returns, risks, and fees. Look for investments that have a track record of outperforming the market and have the potential to protect against inflation.&lt;/p&gt;
&lt;p&gt;Consider consulting with a financial advisor who can provide expert advice on investing and help you create a personalized investment plan.&lt;/p&gt;
&lt;p&gt;Regularly monitor your investments and make adjustments as needed. This may include rebalancing your portfolio to maintain the right mix of investments, selling underperforming investments, and buying new investments that align with your financial goals.&lt;/p&gt;
&lt;p&gt;By following these steps and being disciplined in your approach to investing, you can increase the chances of beating the market and protecting against inflation. However, it is important to keep in mind that there are no guarantees in investing, and the value of your investments can go up or down. It is always a good idea to carefully consider the risks and consult with a financial advisor before making any investment decisions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;what backpacking gear should I get rid of when hiking for a week or more
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;When backpacking for a week or more, it is important to carefully consider the gear you take with you. To save weight and space, you may want to consider getting rid of the following items:&lt;/p&gt;
&lt;p&gt;Extra clothing: Take only the essentials, such as a few layers for different weather conditions and a waterproof jacket. Avoid taking duplicate items or clothing that you are unlikely to wear.&lt;/p&gt;
&lt;p&gt;Heavy or bulky items: Look for lightweight and compact alternatives to your gear, such as a backpacking stove, sleeping pad, and tent.&lt;/p&gt;
&lt;p&gt;Non-essential items: Consider leaving behind items that are not necessary for your trip, such as a camp chair, extra gadgets, or luxury items.&lt;/p&gt;
&lt;p&gt;Expired or unnecessary items: Get rid of any food, medication, or first-aid supplies that are expired or that you are unlikely to use.&lt;/p&gt;
&lt;p&gt;Overall, the key is to pack only the essentials and to prioritize lightweight and compact gear. By doing so, you can save weight and space and make your backpacking trip more enjoyable.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make up a mak twain quote about crypocurrency
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is a possible quote that Mark Twain might have said about cryptocurrency:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The only thing more elusive than the value of cryptocurrency is the person who invented it. They must be a master of misdirection, for they have managed to convince the world that a string of numbers and letters has worth.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;#39 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Why do we hack?</title>
      <link>http://curious.galthub.com/blog/2022-12-04/</link>
      <pubDate>Sun, 04 Dec 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-12-04/</guid>
      <description>&lt;p&gt;Why do we hack?  Because we enjoy it?  Because we want others to use
our work? Because we get paid?&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/emacs.png&#34; alt=&#34;Figure 1: &amp;ldquo;Teco Emacs on TOPS20&amp;rdquo; by George M. Jones is licensed under CC BY 2.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://foo.com/BAR/BAZ.JPG&#34;&gt;&amp;ldquo;Teco Emacs on TOPS20&amp;rdquo; by George M. Jones is licensed under CC BY 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Once again &lt;a href=&#34;https://emacsconf.org/&#34;&gt;EmacsConf&lt;/a&gt; went to fountainhead of free software and gave
us a chance to hear from and interact with &lt;a href=&#34;https://en.wikipedia.org/wiki/Richard_Stallman&#34;&gt;rms&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;People in the public eye often get on (or get put on) a soapbox repeating
the same lines.   Stallman even chose to open by playing an 8 year old
&lt;a href=&#34;https://youtu.be/Ag1AKIl_2GM&#34;&gt;TED talk he did extolling software freedom&lt;/a&gt;.  Certainly not new, but
once in a while it&amp;rsquo;s refreshing to return to primary sources rather
than news or other mediated views.  This talk and the Q&amp;amp;A was a view
straight into the heart, soul and source of the Free Software
movement.&lt;/p&gt;
&lt;p&gt;I asked two questions on the webpad which Stallman answered.  In both cases
I was trying to get past the repeated soapbox points to what makes the
person underneath tick.&lt;/p&gt;
&lt;p&gt;Despite the utter profusion of tools built around the ecosystem he
created over the past 40 years (just look at the &lt;a href=&#34;https://emacsconf.org/2022/talks/&#34;&gt;program of EmacsConf&lt;/a&gt;
and the &lt;a href=&#34;https://elpa.gnu.org/packages/&#34;&gt;contents of the *LPA&lt;/a&gt; archives), several of his comments lead
me to believe he still views emacs as &amp;ldquo;just an editor&amp;rdquo;, so to clarify
I asked:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Q: What do you use emacs for beyond editing?&lt;/p&gt;
&lt;p&gt;A: I use it for reading and writing email; this is what I do most of the day.  (Sings)
&amp;ldquo;I&amp;rsquo;ve been answering my email,
all the g**-d***** day / .. / &amp;lt;transcriber lost the thread about here [lyrics available at &lt;a href=&#34;https://stallman.org/doggerel.html#IveBeenAnsweringMyEmail&#34;&gt;https://stallman.org/doggerel.html#IveBeenAnsweringMyEmail&lt;/a&gt;]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which confirmed my suspicion about non-use of the ecosystem&amp;hellip;. but a
live performance of his own parody song about email? Score one for touching
the human behind the troupe.&lt;/p&gt;
&lt;p&gt;As someone who&amp;rsquo;s been around computers and Emacs long enough to
have started using the TECO based emacs something like 3 years after
RMS created  it (c.a. 1979 for me), I look back fondly on some of the tech I&amp;rsquo;ve
used (all of which included versions of emacs): TOPS20, TOPS10 (!),
Multics, VMS, BSD Unix, SunOS, Solaris, etc and thanks to places like
&lt;a href=&#34;https://sdf.org/?welcome&#34;&gt;SDF&lt;/a&gt; and friends I can still log in and tinker in those environments
once in a while.  At EmacsConf 2020 Stallman waxed nostalgic for a
moment about (I think) &lt;a href=&#34;https://en.wikipedia.org/wiki/Dynamic_debugging_technique&#34;&gt;DDT&lt;/a&gt; (Dynamic Debugging Technique) or similar for a
minute and the sense of control it gave, so this year I probed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Q: Do you ever dabble in retro-computing, e.g. logging into TOPS10/20 systems SDF, etc?&lt;/p&gt;
&lt;p&gt;A: No, I decided it&amp;rsquo;s a waste of time. It&amp;rsquo;s tinkering that would not
develop anything of any importance or use. And I know if I&amp;rsquo;m going to
enjoy developing something&amp;hellip; I could enjoy developing anything&amp;hellip; I
decided not to distract my attention from useful computing.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So that&amp;rsquo;s revealing.   It acknowledges the existential pleasure of
creating, in any environment, but only values creations that are
likely to be used by others.&lt;/p&gt;
&lt;p&gt;I have a son who&amp;rsquo;s about to finish a doctorate in piano performance.
Clearly it&amp;rsquo;s legitimate for him to perform for the enjoyment of
audiences, that is &amp;ldquo;useful&amp;rdquo;.  But I think it was also legitimate
for him, a child, to sit down at the harpsichord in the hallway of
George Washington&amp;rsquo;s Mount Vernon and to knock out baroque pieces for
the sheer joy of it, I don&amp;rsquo;t think that was a &amp;ldquo;distraction&amp;rdquo; or  &amp;ldquo;waste
of time&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;A lot of what makes Emacs what it is, is the accretion of
scratch-you-own-itch solutions (&lt;a href=&#34;https://orgmode.org/worg/org-tutorials/index.html&#34;&gt;Org-mode&lt;/a&gt;, for instance) done for
oneself and possibly the pleasure of just writing the code and making
things work, and then shared as an afterthought.  In this context GNU
Emacs itself is now 40 years old and was at the time a re-implementation of a
then 7 or 8 year old system (TECO Emacs) targeted to run on a
re-implementation of a system (Unix) created in 1969.  Today (much to
my amazement) there are STILL people into the Amiga&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, C-64s, and
there are PDP-10&amp;rsquo;s that run on raspberry-pi&amp;rsquo;s.  I once had an office-mate who
&amp;ldquo;wrote&amp;rdquo; his own version of the Z80 in Verilog, because he could.&lt;/p&gt;
&lt;p&gt;I appreciate the desire to have one&amp;rsquo;s software used widely, but I
think its equally valid for people to do their own thing, possibly in
nitch areas or on obsolete platforms, just because they want to.  I&amp;rsquo;d
even say these are prime examples of people exercising software
freedom on their own hardware and, at least to them, this is &amp;ldquo;useful
computing&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Hat&amp;rsquo;s off to RMS for Emacs, GCC, Core Utils, the GPL, FSF, Free Software&amp;hellip;&lt;/p&gt;
&lt;p&gt;Happy Hacking !!!&lt;/p&gt;
&lt;p&gt;#38 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;The Amiga was my first computer. I was the first person to port
an Emacs editor to the Amiga, porting a version of what became
&amp;ldquo;MicroEmacs&amp;rdquo; and mg to it and receiving a phone call from one of the
core Amaga engineers at Commodore asking if they could use it
after I posted to comp.sources.amiga&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>EmacsConf 2022 - Day 1</title>
      <link>http://curious.galthub.com/blog/2022-12-03/</link>
      <pubDate>Sat, 03 Dec 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-12-03/</guid>
      <description>&lt;p&gt;So, day 1 of &lt;a href=&#34;https://emacsconf.org/2022/&#34;&gt;EmacsConf 2022&lt;/a&gt; is in the books.  Another eclectic mash up
of everything from the &amp;ldquo;&lt;a href=&#34;https://github.com/ag91/emacs-buddy&#34;&gt;Emacs Buddy Initiative&lt;/a&gt;&amp;rdquo; to a geeky dive on
how to &lt;a href=&#34;https://emacsconf.org/2022/talks/jupyter/&#34;&gt;Edit live Jupyter notebook cells with Emacs&lt;/a&gt; (no, really, I like
editing everything in browser text boxes &amp;hellip; not!) to
a serious proposal for a new economic model for software:
&lt;a href=&#34;https://emacsconf.org/2022/talks/maint/&#34;&gt;Maintaining the Maintainers: Attribution as an Economic Model for Open Source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to the organizers (Sacha Chua and friends) the conference
came off almost without a glitch, run entirely on open source software
(Big Blue Button, IRC, etc.).  Notepads, live Q&amp;amp;A, pre-recorded talks,
most of them already up, captioned with transcripts, for free.&lt;/p&gt;
&lt;p&gt;Things I&amp;rsquo;m probably going to look into as a result of this are the
&lt;a href=&#34;https://emacsconf.org/2022/talks/treesitter/&#34;&gt;Tree-sitter beyond syntax highlighting&lt;/a&gt; for syntax-aware editing of
python, bash, etc., the logistics of &lt;a href=&#34;https://emacsconf.org/2022/talks/meetups/&#34;&gt;Attending and organizing Emacs
meetups&lt;/a&gt; (who knew there were people using Org mode tables to analyze
real-estate deals, tracking and visualizing health data, or
envisioning GNUS as the core of a system to replace Microsoft, Apple
and Google ?), and hooking Emacs to edit text boxes (think code in Jupyter
Notebooks, huge SQL blocks in BigQuery web console, JIRA and
Confluence forms, etc.)&lt;/p&gt;
&lt;p&gt;Looking forward to day 2.&lt;/p&gt;
&lt;p&gt;#37 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Just a flu shot</title>
      <link>http://curious.galthub.com/blog/2022-11-18/</link>
      <pubDate>Fri, 18 Nov 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-11-18/</guid>
      <description>&lt;p&gt;I got a flu shot this week.&lt;/p&gt;
&lt;p&gt;I happened to be at the pharmacy waiting for a prescription and had
been planning on getting one, so I did.&lt;/p&gt;
&lt;p&gt;No politics&amp;hellip;&lt;/p&gt;
&lt;p&gt;No threats of being fired by my employer.&lt;/p&gt;
&lt;p&gt;No media coverage.&lt;/p&gt;
&lt;p&gt;No G20 summit leaders agreeing I should not be able to travel without it.&lt;/p&gt;
&lt;p&gt;No politics dividing me from friends and family.&lt;/p&gt;
&lt;p&gt;No Robert F. Kennedy, Jr. books full of conspiracy theories.&lt;/p&gt;
&lt;p&gt;No doubts about the long term side-effects of under-tested medical interventions.&lt;/p&gt;
&lt;p&gt;Just a flu shot.&lt;/p&gt;
&lt;p&gt;Because I thought it might help me.&lt;/p&gt;
&lt;p&gt;#36 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>To publish my configs, or not, that is the question.</title>
      <link>http://curious.galthub.com/blog/2022-11-08/</link>
      <pubDate>Tue, 08 Nov 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-11-08/</guid>
      <description>&lt;p&gt;This is a HOWTO on publishing certain Unix config files while keeping
others private using  &lt;a href=&#34;https://www.gnu.org/software/stow/&#34;&gt;GNU stow&lt;/a&gt; and ?clever? groupings of files into
directories such as &lt;code&gt;home.public.dotfies&lt;/code&gt; and &lt;code&gt;home.private.mailconfig&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I like to publish my personal config files (.bashrc, emacs configs,
etc) but there are some things you probably just don&amp;rsquo;t want to share
because they only apply to you (your list of rss feeds) or are just
personal, and some things you should not share such as files with
passwords.&lt;/p&gt;
&lt;p&gt;To solve this problem, I break stuff down into public,private and secret
categories.   I used to have these live under&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/{public,private,secret}/*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but any more, I just used &lt;a href=&#34;https://www.gnu.org/software/stow/&#34;&gt;GNU stow&lt;/a&gt; which
builds symlink trees.  Now I have&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/stow/home.public/dotfiles/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;which gets symliked into&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;by doing&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ~/stow/home.public/dotfiles
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The beauty of this is that I have repos made public such as&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://git.galthub.com:3000/gmj/home.public.dotfiles&#34;&gt;http://git.galthub.com:3000/gmj/home.public.dotfiles&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and others private and secret not published.
You can even mix &amp;ldquo;work&amp;rdquo; and &amp;ldquo;home&amp;rdquo; by using hierarchies such as&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;work.private.dotfiles
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;to use different &lt;code&gt;~/.gitconfig&lt;/code&gt; files.&lt;/p&gt;
&lt;p&gt;You get the idea.   I&amp;rsquo;ve probably gone to far with it &lt;a href=&#34;http://git.galthub.com:3000/gmj/&#34;&gt;http://git.galthub.com:3000/gmj/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#35 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>  &#34;Red&#34; vs. &#34;Blue&#34; Name calling? We can do better than that.
  </title>
      <link>http://curious.galthub.com/blog/2022-11-06/</link>
      <pubDate>Sun, 06 Nov 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-11-06/</guid>
      <description>&lt;p&gt;As we approach another election in the US where  hearing cries of &amp;ldquo;Red&amp;rdquo;
vs. &amp;ldquo;Blue&amp;rdquo; become unavoidable, I&amp;rsquo;m increasingly convinced that such
labels are unhelpful substitutes for thought and actually engaging
with other people and ideas.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been listening to Jordan Peterson&amp;rsquo;s &amp;ldquo;12 Rules For Living&amp;rdquo;, as
well as his podcast lately. Yes, per Wikipedia
&lt;a href=&#34;https://en.wikipedia.org/wiki/Jordan_Peterson&#34;&gt;Jordan Peterson&lt;/a&gt; can be labeled a&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Canadian media personality, clinical psychologist, author, and
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;professor ... public intellectual .. conservative ... classic
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;British liberal ... traditionalist
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but in listening to him, I am coming more strongly to the option that labels
such as &amp;ldquo;conservative&amp;rdquo; or &amp;ldquo;liberal&amp;rdquo; are just intellectual crutches people
use to avoid thinking, to avoid engaging with ideas and people, to label
people in &amp;ldquo;us&amp;rdquo; and &amp;ldquo;them&amp;rdquo; categories such as &amp;ldquo;Red&amp;rdquo; and &amp;ldquo;Blue&amp;rdquo;, and to cluster
together into tribal groups. The result is we reject our fellow human beings
out of hand and we are all worse off for doing so.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m only two chapters in, but his &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/12_Rules_for_Life&#34;&gt;12 Rules For Living&lt;/a&gt;&amp;rdquo; is already
both an interesting story and one of the most thought-provoking things
I&amp;rsquo;ve read in a long time.  He draws on his experience as clinical
psychologist dealing with broken people, his own experience growing up
in a small oil town in northern Alberta, Canada (teenagers cruising a
small town, drunken parties, long dark nights), and along the way
walks through the story in Genesis 1-3 with the eyes of a psychologist
answering the question why we take care of other people, even our
pets, better than we do ourselves (Hint 1: we&amp;rsquo;re all deeply messed up
and we are all to aware of this.  Hint 2: The
whole &amp;ldquo;Red&amp;rdquo; vs. &amp;ldquo;Blue&amp;rdquo; thing and the tribal identity around it is in
fact a proxy for a deeper human need for meaning)&lt;/p&gt;
&lt;p&gt;Even two chapters in, I&amp;rsquo;d recommend it&lt;/p&gt;
&lt;p&gt;#34 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Check Czech Check, Czech? Check!</title>
      <link>http://curious.galthub.com/blog/2022-10-30b/</link>
      <pubDate>Sun, 30 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-30b/</guid>
      <description>&lt;p&gt;I was once eating in a restaurant with some co-workers in Prague, and it
came time to leave. We wanted the check. In that setting, this would have
been a meaningful sentence (in convoluted punning English) addressed to
our waiter&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Check [for the] Czech Check, Czech [waiter]?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;to which an appropriate reply from the waiter might have been:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Check!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;#33 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Get going, go get go git going</title>
      <link>http://curious.galthub.com/blog/2022-10-30/</link>
      <pubDate>Sun, 30 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-30/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m in the process of installing a new &amp;ldquo;git&amp;rdquo; server.
It&amp;rsquo;s written in the &amp;ldquo;go&amp;rdquo; language.
I was about to get out of bed to work on it, so&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Get going, go get go git going&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;#32 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The way to get something done is to not do everything else.</title>
      <link>http://curious.galthub.com/blog/2022-10-24/</link>
      <pubDate>Mon, 24 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-24/</guid>
      <description>&lt;p&gt;See the title.&lt;/p&gt;
&lt;p&gt;#31 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Friends</title>
      <link>http://curious.galthub.com/blog/2022-10-23/</link>
      <pubDate>Sun, 23 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-23/</guid>
      <description>&lt;p&gt;Aristotle identified three types of friendship - friendships of association, utility
and virtue.  Who were you &amp;ldquo;best friends&amp;rdquo; with in early school years?
Do you keep up with your old co-workers?  Who has hurt you deeply, yet
you still wish them the best?&lt;/p&gt;
&lt;p&gt;This morning I listend to a podcast that gave a summary of Aristotle&amp;rsquo;s
classification of friendships. This is a summary of a summary of a summary
of one of the greatest thinkers in human history. Aristotle classed friendships
in three categories (and this is from memory, so I&amp;rsquo;m pretty sure I&amp;rsquo;m not
naming them they way Wikipedia or Aristotle&amp;rsquo;s Ethics would)&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Friendships of Associaiton&lt;/dt&gt;
&lt;dd&gt;School friends, sports team members, people I meet hiking.&lt;/dd&gt;
&lt;dt&gt;Friendships of Utility&lt;/dt&gt;
&lt;dd&gt;Most of your Linked-in contacts.&lt;/dd&gt;
&lt;dt&gt;Friendships of Virtue&lt;/dt&gt;
&lt;dd&gt;People you care about (and who care about
you) for their (your) own sake.  I&amp;rsquo;m thinking a Mother&amp;rsquo;s love for a
child falls here (but that may be a category all by itself).  Who do
you love &amp;ldquo;just because&amp;rdquo;?  Who want&amp;rsquo;s the best for you even if you
hurt them deeply?&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;#30 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>It&#39;s Manjaro !!!</title>
      <link>http://curious.galthub.com/blog/2022-10-19/</link>
      <pubDate>Wed, 19 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-19/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:06:52: Installing and migrating to Manjaro
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:29:04: pacman -Syu # update pacman
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:30:06: sudo pacman -Syu # update pacman
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:30:23: sudo pacman -S ed # install ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:32:41: scp -v -r -p 192.168.0.10:~/stow . # copy stow files
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:33:39: sudo pacman -S stow # instal stow
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:47:04: # INFO - Arch runs zsh by default. Cool prompt stuff. Not quite bash
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:14:59:24: sudo pacman -S emacs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:15:06:51: stow home.public.emacs.d/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:15:07:49: # and emacs just worked tail /home/gmj/var/log/install.org!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:15:14:31: # INFO enable sshd on arch https://linuxhint.com/arch_linux_ssh_server/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:15:26:12: TODO figure out the relationship between bash an zsh on arch. Looks like I&amp;#39;m really running zsh.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:15:26:31: TODO create a backup account
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:17:29:28: DONE install all my stow files
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:17:37:07: DONE install bind
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-17:17:42:07: DONE installed mlocate
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-18:05:51:17: DONE sudo pacman -S xclip
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:21:54: TODO figure out how to start bash, not zsh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:22:18: IN-PROGRESS backing up ed to archive drive
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:22:49: IN-PROGRESS copying /home/gmj/home/public /home/gmj/home/private /home/gmj/home/secret to mx
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:23:21: DONE installed jupyter-notebook and pandas and matplotlib
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:29:34: DONE sudo pacman -S hugo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2022-10-19:06:33:46: DONE sudo pacman -S community/speedtest-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;#29 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Black Lives Matter … the 1852 version.</title>
      <link>http://curious.galthub.com/blog/2022-10-07/</link>
      <pubDate>Fri, 07 Oct 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-10-07/</guid>
      <description>&lt;p&gt;So, I&amp;rsquo;ve been listening to the book &lt;a href=&#34;https://en.wikipedia.org/wiki/Uncle_Tom&#39;s_Cabin&#34;&gt;Uncle Tom&amp;rsquo;s Cabin&lt;/a&gt; on Audible.&lt;/p&gt;
&lt;p&gt;How long until it gets canceled for use of the &amp;ldquo;N&amp;rdquo; word?  Looks like
Paypal might try to charge me $2500 for reading something they don&amp;rsquo;t
approve of
&lt;a href=&#34;https://marginalrevolution.com/marginalrevolution/2022/10/the-2500-fine-read-it-and-weep.html&#34;&gt;https://marginalrevolution.com/marginalrevolution/2022/10/the-2500-fine-read-it-and-weep.html&lt;/a&gt;.
I&amp;rsquo;ve canceled Paypal.&lt;/p&gt;
&lt;p&gt;But that said, read it (while you can?).  If you can get past
contemporary hangups about the &amp;ldquo;wrong&amp;rdquo; words being used you will
find one of the most powerful statements in all of human history
that &amp;ldquo;Black Lives Matter&amp;rdquo;.  Stowe visited Lincoln in the White House
in 1862, and there is a possible apocryphal quote by Lincoln that goes
&amp;ldquo;So this is the little lady who started this great war.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;My family hid runaway slaves (14 miles north of the Ohio river) and
fought in the Union army. One of them was a student at Lane Seminary
in Cincinnati (just across the Ohio ) where Stow&amp;rsquo;s father, Lyman
Beecher taught &amp;hellip; where a series of student debates over Aboliton
attended by Stow caused riots. The student body withdrew
en masse to Oberlin college.  This book provides context and a
backdrop for what drove them to disobey the law (the Fugitive Slave
Act) and take up arms.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s history.   While I&amp;rsquo;m proud of what they did, I claim no
virtue for their actions.  The question for me now, as it was for
them then, is how do I treat my fellow human beings today.&lt;/p&gt;
&lt;p&gt;I have my relative&amp;rsquo;s hand-written notes (1830s) from &amp;ldquo;Dr. Beecher&amp;rsquo;s
Lectures on Theology&amp;rdquo; in my closet.  Maybe that&amp;rsquo;s up next on the
reading list to better understand what drove them&amp;hellip;&lt;/p&gt;
&lt;p&gt;#28 of #100DaysToOffload take 2.1, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>  &#34;We&#34; are &#34;pleased&#34; to..
  </title>
      <link>http://curious.galthub.com/blog/2022-04-26/</link>
      <pubDate>Tue, 26 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-26/</guid>
      <description>&lt;p&gt;Email from [company I have investment with]:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We are pleased to let you know that there is a new document for you to review
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Translation,&lt;/p&gt;
&lt;p&gt;the corporate machine sent this to you to mitigate it&amp;rsquo;s
risk of being sued by you and fined by government regulators for not
doing so. There is no &amp;ldquo;we&amp;rdquo; in the personal sense. And no human being
is &amp;ldquo;pleased&amp;rdquo; by this.  Emails like this are
a debasement of perfectly good words describing human interaction at
best
and disingenuous,
self-serving, collectivist, lies at worst.&lt;/p&gt;
&lt;p&gt;#27 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Can I get the job done by doing nothing?</title>
      <link>http://curious.galthub.com/blog/2022-04-22/</link>
      <pubDate>Fri, 22 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-22/</guid>
      <description>&lt;p&gt;Over the years you pick up useful ideas from people. One of the most
useful &amp;ldquo;project management&amp;rdquo; ideas I&amp;rsquo;ve ever encountered is&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Can I get the job done by doing nothing?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use the code you already have.  Use existing slide decks.  Time is
scarce.  Don&amp;rsquo;t waste it creating something new when something you
already have will do the job.  Don&amp;rsquo;t spend hours getting a slide deck
to %100 perfection when what you really need to do is talk over some
ideas and the existing material is sufficient to spark conversation.&lt;/p&gt;
&lt;p&gt;Thanks to Russell Leighton (then) at AWS  for the mind-boggling obvious idea.&lt;/p&gt;
&lt;p&gt;#26 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Marcus Aurelius was right</title>
      <link>http://curious.galthub.com/blog/2022-04-19/</link>
      <pubDate>Tue, 19 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-19/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been reading Marcus Aurelius&amp;rsquo; Meditations.  I&amp;rsquo;m trying to have a
positive effect on the things and people I can actually change (myself
and my own reactions in this moment). Below are some quotes along
those lines from Longfellow, Bob Dylan, the Apostle Paul and Reinhold
Neibuhr, some of classics of &amp;ldquo;Don&amp;rsquo;t worry, be happy&amp;rdquo;.  Now if I can
just internalize some of this&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/boom_small.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;The cannon thundered in the South,&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/boom_small.jpg&#34;&gt;&amp;ldquo;The cannon thundered in the South,&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Worry is debilitating.  And usually you can&amp;rsquo;t do much about whatever
is worrying you directly.  It can raise your blood pressure.  It can
get you to opine on geo-political solutions and outcomes you have very
little hope of affecting or even influencing. See the war in Ukraine.&lt;/p&gt;
&lt;p&gt;I keep coming back to Longfellow&amp;rsquo;s &lt;em&gt;A Psalm of Life&lt;/em&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;Act, act the living present, heart within and God o&amp;#39;erhead
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Let us then be up and doing, with a heart for any fate&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Henery W. Longfellow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This from a man who new the loss and devastation of war&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And in despair I bowed my head;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;There is no peace on earth,&amp;#34; I said;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;For hate is strong,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And mocks the song
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good-will to men!&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/I_Heard_the_Bells_on_Christmas_Day&#34;&gt;https://en.wikipedia.org/wiki/I_Heard_the_Bells_on_Christmas_Day&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Marcus Aurelius is right.  Worry keeps you from doing the good you can
do now, both for the benefit of yourself and those around you.  It
keeps you from affecting the things you can affect.&lt;/p&gt;
&lt;p&gt;To go back a few decades:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;Karl Marx has got you by the throat,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;and Henry Kissinger&amp;#39;s got you tied up into knots.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;When you gonna wake up, and strengthen the things that remain&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Bob Dylan
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The big stuff will happen.  You largely can&amp;rsquo;t change it.
Change what you can, which is yourself in this moment.&lt;/p&gt;
&lt;p&gt;Slightly out of context (go read the context), but&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Let us not become discouraged in doing good, for in due time we will
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;reap, if we do not become weary. So then, while we have
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;opportunity, let us do good to all people,...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Paul, Galatians 6:9-10
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;God, grant me the Serenity
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To accept the things I cannot change...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Courage to change the things I can,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And Wisdom to know the difference.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reinhold Neibuhr
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Neibuhr had a large influence on a young pastor named Dietrich
Bonhoeffer in Germany in the 1930s and 1940s who was executed in
prison for, well, trying to do what he could do in his time&amp;hellip;&lt;/p&gt;
&lt;p&gt;Post 26 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Spring Creeping Up The Mountain</title>
      <link>http://curious.galthub.com/blog/2022-04-17/</link>
      <pubDate>Sun, 17 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-17/</guid>
      <description>&lt;p&gt;This is the view from White Rocks 13 miles north of Harpers Ferry. In
the fall you can see the colors (leaves changing) creeping down the
mountain because it’s colder as you go up. Here you can see spring
creeping up the mountain.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/spring_creeping.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Spring Creeping Up The Mountain&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/spring_creeping.jpg&#34;&gt;&amp;ldquo;Spring Creeping Up The Mountain&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#25 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Shared Experiences</title>
      <link>http://curious.galthub.com/blog/2022-04-12/</link>
      <pubDate>Tue, 12 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-12/</guid>
      <description>&lt;p&gt;Shared experiences bring us together.&lt;/p&gt;
&lt;p&gt;This is some (possibly obvious) introspection involving the
Appalachian Trail, the moon landing and the Beatles.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/earthrise.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Archive: Apollo 11 Sees Earthrise (NASA, Marshall, 07/69)&amp;rdquo; by by NASA&amp;rsquo;s Marshall Space Flight Center is licensed under CC BY-NC 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://live.staticflickr.com/8300/7974034982_5e581e9795.jpg&#34;&gt;&amp;ldquo;Archive: Apollo 11 Sees Earthrise (NASA, Marshall, 07/69)&amp;rdquo; by by NASA&amp;rsquo;s Marshall Space Flight Center is licensed under CC BY-NC 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Saturday I was out on a training hike on the Appalachian trail in
central Pennsylvania.  I met a German (well, German speaking) hiker
with the trail name &amp;ldquo;Boomerang&amp;rdquo;.  We talked for about 10 minutes.  In
all likelihood I will never see him again.  But we had a bond, largely
because of our shared experience of the trail. I can talk to random
hikers about experiences we share, people we&amp;rsquo;ve met and places we both
know, &amp;ldquo;Oh, the outfitter in Harpers Ferry, you mean the one on the
left side going up the hill from town towards the ATC headquarters?&amp;rdquo;.
Shared experiences bind us together.&lt;/p&gt;
&lt;p&gt;My brothers and I have shared memories and experiences from our
formative years that no one else can ever share.  My wife of 35 years
and I have had and raised two &amp;ldquo;kids&amp;rdquo;.  She knew my (now deceased)
parents, grandmother and extended family.   You only have so many
people in your life with that level of connection.   They are
irreplaceable.&lt;/p&gt;
&lt;p&gt;You see the need for connections in the existence of (American)
VFW posts (a gathering place for former military members), in the
existence of Eastern Othodox churches and synagogues all over the old
ethnic neighborhoods of Pittsburgh and in efforts to preserve
endangered languages (Breton, Irish, Hawaiian&amp;hellip;)&lt;/p&gt;
&lt;p&gt;In a larger sense, we all share the human experience: birth, life,
struggles, death, the quest for sigificance and the desire for
eternity.&lt;/p&gt;
&lt;p&gt;The moon landing on July 20, 1969 was a moment when the world
stopped. All of humanity was glued to TVs and radios.  My parents kept
us up late to watch the landing.  People stared at the moon in the sky
as people have done for all of human history, but with the knowledge
that there were people there.  &lt;em&gt;We&lt;/em&gt; were there. The next day, the
Beatles went into the studio and started work on a song called &amp;ldquo;Come
Together&amp;rdquo;.  We need to.&lt;/p&gt;
&lt;p&gt;#24 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Life! Carpe diem! Carpe viam! Carpe vitam!</title>
      <link>http://curious.galthub.com/blog/2022-04-08/</link>
      <pubDate>Fri, 08 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-08/</guid>
      <description>&lt;p&gt;I am listening to Jack Kerouac&amp;rsquo;s &lt;a href=&#34;https://en.wikipedia.org/wiki/On_the_Road&#34;&gt;On the Road - Wikipedia&lt;/a&gt;.  What a
rant!  What a
stream-of-consciousness-grab-life-by-the-horns-drink-until-it-kills-you
peaan to not missing a single moment or experience in life !&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/upwared_and_onward.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Upward and Onward&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;300px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/upwared_and_onward.jpg&#34;&gt;&amp;ldquo;Upward and Onward&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;A lot of what happened in the 60s starts, I won&amp;rsquo;t say to make sense, but
to have a context&amp;hellip;. musically there was Route 66, Tangled Up In Blue, All Come
To Look For America, Me And You And A Dog Named Boo, There&amp;rsquo;s A Killer On
The Road &amp;hellip;. and to some extent Woodstock (what happens 10 years later
when thousands of people try to live the carefee life spontaneously together
on a farm in upstate NY without proper infrastructure) and as an echo people
following the dead on tour &amp;hellip;. Wow, man !&lt;/p&gt;
&lt;p&gt;Keruac&amp;rsquo;s and friends lifestyle choices were, let&amp;rsquo;s just say different
than my own, but man did he grab the bull (life) by the horns.&lt;/p&gt;
&lt;p&gt;In my own tame way I get out and play where there are bears, rattle snakes
thunderstorms, chances to discuss 19th century philosophical movements
with a rap-loving kid from the Bronx out for a hike and a meet a guy from
Mexico City hiking the Appalachian trail because his grandfather read
Thoreau in Spanish &amp;hellip; &lt;a href=&#34;https://outdoorfoo.wordpress.com/&#34;&gt;https://outdoorfoo.wordpress.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To life !&lt;/p&gt;
&lt;p&gt;#23 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hope springs eternal.</title>
      <link>http://curious.galthub.com/blog/2022-04-03/</link>
      <pubDate>Sun, 03 Apr 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-04-03/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;The sun is always shining.&lt;/li&gt;
&lt;li&gt;The flowers are always blooming.&lt;/li&gt;
&lt;li&gt;There are no bugs.&lt;/li&gt;
&lt;li&gt;The trail is always flat.&lt;/li&gt;
&lt;li&gt;There are no rocks.&lt;/li&gt;
&lt;li&gt;It never rains.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s never too cold.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s never too hot.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s never overcrowding.&lt;/li&gt;
&lt;li&gt;Your gear always works.&lt;/li&gt;
&lt;li&gt;Your physical conditioning is always good.&lt;/li&gt;
&lt;/ul&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-lake_small.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Sun on lake&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-lake_small.jpg&#34;&gt;&amp;ldquo;Sun on lake&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;This is bloodroot.  I also saw a few early violets.  The
daffodils are up. The forsythia are starting.  Red-buds soon.  Then
dogwoods.  Spring in northern Virginia !&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-flower_small.jpg&#34; alt=&#34;Figure 2: &amp;ldquo;Spring Flowers&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-flower_small.jpg&#34;&gt;&amp;ldquo;Spring Flowers&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;This is a nice flat stretch.  Somehow every time you start you think
it will be like this.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-perfect-trail_rotated.jpg&#34; alt=&#34;Figure 3: &amp;ldquo;Perfect trail&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-perfect-trail_rotated.jpg&#34;&gt;&amp;ldquo;Perfect trail&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;This is a water-removal feature that was being installed by fellow
trail maintainers as I hiked.  It is a textbook example that follows
the &amp;ldquo;SET&amp;rdquo; principal where the features are Sustainable, Effective
and Traversable.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-water_small.jpg&#34; alt=&#34;Figure 4: &amp;ldquo;Water Removal - Textbook Example&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 4: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/2022-04-02-water_small.jpg&#34;&gt;&amp;ldquo;Water Removal - Textbook Example&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Somehow, getting out in nature in early spring renews hope.&lt;/p&gt;
&lt;p&gt;#22 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>New Cars</title>
      <link>http://curious.galthub.com/blog/2022-03-31/</link>
      <pubDate>Thu, 31 Mar 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-31/</guid>
      <description>&lt;p&gt;Cars have changed.   Back in the day you could &amp;ldquo;pop the clutch&amp;rdquo; to
start a car by letting it roll down hill, putting it in first gear
with your foot on the (manual) clutch, let the clutch out (&amp;ldquo;popping
the clutch&amp;rdquo;) and often the car would start.  Handy if you had a car
with a dead battery at the top of a hill.&lt;/p&gt;
&lt;p&gt;Cars are full of electronics now, and that can be good, and it can be
very bad&amp;hellip;&lt;/p&gt;
&lt;p&gt;The only electronics on cars back in the day were the battery, the
spark plugs, fired by an alternator, the starter motor, the lights,
the radio, the heater fan (OK, there are were a lot of electronics&amp;hellip;)&lt;/p&gt;
&lt;p&gt;But now, cars are Internet connected computers integrated with
everybody&amp;rsquo;s favorite obsession, the smart phone.  The computers in the
car can physically steer, apply breaks, accelerate, decelerate,
monitor your alertness, turn the car off, call 911 if you crash, etc.
These are all usually good, or at least well intentioned when they
work as designed in the conditions they were designed for.&lt;/p&gt;
&lt;p&gt;But there are potential downsides.  Pretty sure it would be
technically trivial for you to get a speeding ticket every time you
went 26 in a 25 zone.  And Siri, Android Auto, Alexa and friends &lt;em&gt;can&lt;/em&gt;
listen to your conversations, do speech to text, feed them to machine
learning trained programs to pick out anything, not just your
selection of music or driving direction.  Have you ever ranted to a
friend in a car about social, political or religious topics &amp;hellip; or
maybe the suspected paternal lineage of the driver who just cut you
off?  It might all be on record.&lt;/p&gt;
&lt;p&gt;And I&amp;rsquo;ve worked with computers for too long to believe in bug free
code or code with no design defects.   Things break.  In this case, it
could cost me my life.&lt;/p&gt;
&lt;p&gt;Then there are security issues.  If the car can do the right thing
with properly functioning software and in road and weather conditions,
it could do the wrong thing as well if someone messes with the
software, sensors (radar, camera), or operating environment.  With a
cell phone or other radio connection, cars are now, in once sense,
computer systems with constant Internet connections.&lt;/p&gt;
&lt;p&gt;This has been a topic in hacker circles for several years now:
&lt;a href=&#34;https://www.blackhat.com/us-18/training/car-hacking-hands-on.html&#34;&gt;https://www.blackhat.com/us-18/training/car-hacking-hands-on.html&lt;/a&gt;, and
industry is acknowledging the problem
&lt;a href=&#34;https://www.einfochips.com/blog/automotive-iot-security-an-inevitable-factor-in-growing-market-of-connected-vehicle-ecosystem/&#34;&gt;https://www.einfochips.com/blog/automotive-iot-security-an-inevitable-factor-in-growing-market-of-connected-vehicle-ecosystem/&lt;/a&gt;
We don&amp;rsquo;t need to envision any cloak-and-dagger-middle-of-the-night car
mods in a futuristic James Bond film to see what could go wrong.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;m pretty sure we&amp;rsquo;re not going back.   I considered buying a
refurbished 1970s VW beetle to get away from all this, but for now I&amp;rsquo;m
going to accept risks, cited above and completely ignored by car
salesmen on the theory that it&amp;rsquo;s more likely the car will keep me from
making a fatal lane change than that Dr. No (or random functionaries
at the TSA, local police or a kid in his basement) will hack my car.&lt;/p&gt;
&lt;p&gt;There was a time when driving was the symbol of autonomy,
independence, personal responsibly, individualism and adventure.  You
see bit&amp;rsquo;s of that in Jack Kerouac&amp;rsquo;s &amp;ldquo;On the Road&amp;rdquo; and Nat King Cole&amp;rsquo;s
&amp;ldquo;Route 66&amp;rdquo;.  Those days are, I think, gone.  Now, how do I connect
Android Auto and setup Waze? &amp;hellip;&lt;/p&gt;
&lt;p&gt;#21 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>  &#34;I close my eyes, only for a moment, but the moment&#39;s gone&#34;
  </title>
      <link>http://curious.galthub.com/blog/2022-03-30/</link>
      <pubDate>Wed, 30 Mar 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-30/</guid>
      <description>&lt;p&gt;When you&amp;rsquo;re on a world tour following COVID lock-downs, nominated for 3
Grammys, scheduled to play at the Grammy&amp;rsquo;s this year &amp;hellip; &lt;a href=&#34;https://zeroenthusiasm.tumblr.com/post/47032679583/list-of-spinal-tap-drummers-all-deceased&#34;&gt;and your drummer dies&lt;/a&gt;&amp;hellip;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/fns6N_iAVBw&#34;&gt;https://youtu.be/fns6N_iAVBw&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I close my eyes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Only for a moment and the moment&amp;#39;s gone
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;All my dreams
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Pass before my eyes, a curiosity
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Dust in the wind
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;All we are is dust in the wind (All we are is dust in the wind)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Dust in the wind (Everything is dust in the wind)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Everything is dust in the wind
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;From memory and &lt;a href=&#34;https://genius.com/Kansas-dust-in-the-wind-lyrics&#34;&gt;https://genius.com/Kansas-dust-in-the-wind-lyrics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#20 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>It will be done when it&#39;s done</title>
      <link>http://curious.galthub.com/blog/2022-03-24/</link>
      <pubDate>Thu, 24 Mar 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-24/</guid>
      <description>&lt;p&gt;Steve Wilhite died last week.  Yes, he created GIF, but that was just
a side project among mountains of mostly single-handed coding projects
that were a large part of what kept CompuServe going for years in the
face of AOL and the Web.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.megiefuneralhome.com/obituaries/Stephen-E.-Wilhite?obId=24311617#&#34;&gt;One of my coworkers recalled&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip;many times when asked about a delivery date Steve would answer &amp;ldquo;it
will be done when it is done.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I laughed when I read that.  It was so Steve.  It would have been said
authoritatively, matter of factly, and any poor project manager
involved would have to take that as the final word, because Steve was
right &amp;hellip; and consistently delivered.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/steve.gif&#34; alt=&#34;Figure 1: &amp;ldquo;CompuServe Languages and Tools Group c.a. 2019&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/steve.gif&#34;&gt;&amp;ldquo;CompuServe Languages and Tools Group c.a. 2019&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;You got the same type of response when asked how to pronounce GIF. To
quote Steve &amp;ldquo;Choosy programmers choose GIF&amp;rdquo;, echoing an old JIFF
peanut-butter commercial, soft &amp;ldquo;g&amp;rdquo;.  It didn&amp;rsquo;t matter that the
&lt;a href=&#34;https://news.yahoo.com/-this-is-how-president-obama-pronounces--gif-153554734.html&#34;&gt;president of the United States disagreed&lt;/a&gt;.  The president was just
wrong.  End of story.&lt;/p&gt;
&lt;p&gt;Steve was laconic, matter-of-fact and almost always right.  He had a
knack for knocking out the right project at the right time, be it the
3 DEC10 compilers in the 70s and early 80s, the &amp;ldquo;Host Micro Interface&amp;rdquo;
(HMI) protocol that let the Information Service move away from
text-only command line interfaces, to WinCIM (the CompuServe graphical
Interface/UI/Information Manager on Windows).  I used capabilities
provided in WinCIM to write FTP and Telenet gateways that allowed
users to access the Internet.  Steve also wrote libraries included in
WinCIM that provided enough functionality for me to write a web
browser&amp;hellip;.that was never released :-(.  It allowed users without a
direct Internet connection (most people) to browse the web which
was full of GIFs then.&lt;/p&gt;
&lt;p&gt;A lot of the reporting about Steve and his &amp;ldquo;Webby&amp;rdquo; award for GIF
refers to him working on it with &amp;ldquo;his team&amp;rdquo;.  I guess I was part of
that &amp;ldquo;team&amp;rdquo; &amp;hellip; he had hired me out of college and I was in &amp;ldquo;his&amp;rdquo;
Languages and Tools group (Compilers and Runtime Systems) and was 2
doors down when he was parading people in to see the fruits of a
project (one of the MANY) he did on the side/at home called GIF that
displayed, if I recall correctly, on DOS systems, Windows systems,
Atari STs, Amigas, all which Steve had either in his office or at home
or both.  We did a little collaborative coding to port MicroEmacs to
the Amiga which became today&amp;rsquo;s mg (nee Micro Gnu Emacs) editor, but
GIF was just Steve.&lt;/p&gt;
&lt;p&gt;Sandy Trevor (CompuServe Executive Technical VP) and others were wise
just to let Steve do his thing.&lt;/p&gt;
&lt;p&gt;Beyond the code, I think Steve stamped a lot of his outlook on a young
me.  That&amp;rsquo;s probably part of why I&amp;rsquo;ve dodged management at every
opportunity.  There&amp;rsquo;s too much &amp;ldquo;real work&amp;rdquo; to do :-). Years later, I
worked at Amazon for a bit and grew very quickly to appreciate the
leadership principals:
&lt;a href=&#34;https://www.aboutamazon.com/about-us/leadership-principles&#34;&gt;https://www.aboutamazon.com/about-us/leadership-principles&lt;/a&gt;. Turns out,
in retrospect, I think they were describing the Steve I knew to a &amp;ldquo;t&amp;rdquo;:
He was right, a lot, dove deep, delivered results, earned trust, was
always learning and curious, thought big and was forever inventing and
simplifying.  I think Bezos was somehow taking queues from Steve.&lt;/p&gt;
&lt;p&gt;Steve also had one quality that a lot of utterly brilliant people
lack: He took you (me) where you were.  Not everyone went home and
read Knuth and CACM cover-to-cover for bedtime stories.  He got that.
He took you where you were as a programmer and a person. That gave me
room to grow personally and professionally at a critical time in life.&lt;/p&gt;
&lt;p&gt;There was way more to Steve than GIF.  His output was prolific and
in his laconic let-your-code-do-your-talking kind of way, he was
inspiring.  I was privileged to have a front row seat to watch a
master at work.&lt;/p&gt;
&lt;p&gt;#19 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>To self host or not to self host, that is the question?</title>
      <link>http://curious.galthub.com/blog/2022-03-22/</link>
      <pubDate>Tue, 22 Mar 2022 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-22/</guid>
      <description>&lt;p&gt;Shelving the self hosting for a while.   Just gonna push the static
blog up to my 20 year old Hurricane Electric shell account.
&lt;a href=&#34;https://www.namecheap.com/support/knowledgebase/article.aspx/384/2237/what-is-url-redirect-and-how-does-it-work/&#34;&gt;URL redirection&lt;/a&gt; is a marvelous thing.  This is not your fathers CNAME record.&lt;/p&gt;
&lt;p&gt;After my raspberry pi died (when I unplugged it from the new UPS that
was supposed to keep it up),  and I manifestly failed for 2 weeks to
allocate the time to rebuild it,
I decided to let other people run the system and network. While it&amp;rsquo;s
fun/retro to go back to doing all my own systems admin, networking and
security work on top of a day job that has me on a vertical learning
curve with systems, networking, security, databases, programming etc
at the end of the day, literally at the end of the day, I just don&amp;rsquo;t
have it in me to sit in front of a computer and do more computer
stuff.&lt;/p&gt;
&lt;p&gt;So I will let the nice people at Hurricane Electric with whom I&amp;rsquo;ve had
an a shell account for ~20 years run the system, the web server and
the network (they are really good at that).   Every time I send mail
to &lt;a href=&#34;mailto:support@he.net&#34;&gt;support@he.net&lt;/a&gt; I get what seems like a genuinely interested geek
replying.&lt;/p&gt;
&lt;p&gt;Division of labor.  What a concept.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve got other things in life that need attention and time now (and
some world events that are sucking up attention)&lt;/p&gt;
&lt;p&gt;#17 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Peace be with you</title>
      <link>http://curious.galthub.com/blog/2022-03-05/</link>
      <pubDate>Sat, 05 Mar 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-05/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been listening to the &lt;a href=&#34;https://www.gutenberg.org/ebooks/author/998&#34;&gt;Meditations of Marcus Aurelius&lt;/a&gt;, the stoic
Roman emperor.  The stoic philosopher Epictetus, who was an older
contemporary of Marcus Aurelius said&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-nil&#34; data-lang=&#34;nil&#34;&gt;Never say about anything, I have lost it,
but only I have given it back.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It might lower my blood pressure if I could get my mind around that.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s all to easy to get upset when people wrong you, or when dictators
invade a neighboring country, killing thousands of people and destroy
the country for seemingly unknowable and unjustified reasons.&lt;/p&gt;
&lt;p&gt;In the meditations, the point is often made that the only thing you
really have is this moment in time and your ability to control your
reactions.  You do not &amp;ldquo;have&amp;rdquo; or control the past, the future, events,
people, money, etc.   It&amp;rsquo;s a sophisticated version of what parents
often tell their children &amp;ldquo;Don&amp;rsquo;t worry about what your brother is
doing, pay attention to what you&amp;rsquo;re doing&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Martin Luther (not King Jr.) put a Christian spin on the idea:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I have held many things in my hands,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;and I have lost them all;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;but whatever I have placed in God&amp;#39;s hands,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;that I still possess.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The world is not fair. It is not just.  And I control almost none of
it, aside from my own assessment of what is &amp;ldquo;fair&amp;rdquo;, what is &amp;ldquo;just&amp;rdquo;,
and how I react to it.  I&amp;rsquo;ve caused myself a lot of trouble over the
years by they way I asses things and how I&amp;rsquo;ve reacted.&lt;/p&gt;
&lt;p&gt;I wish you peace.&lt;/p&gt;
&lt;p&gt;#18 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The lesson of history</title>
      <link>http://curious.galthub.com/blog/2022-03-03/</link>
      <pubDate>Thu, 03 Mar 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-03/</guid>
      <description>&lt;p&gt;I think the lesson of history is that we don&amp;rsquo;t learn from the lessons
of history.&lt;/p&gt;
&lt;p&gt;#16 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Present Duties</title>
      <link>http://curious.galthub.com/blog/2022-03-02/</link>
      <pubDate>Wed, 02 Mar 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-03-02/</guid>
      <description>&lt;p&gt;This is framed quote that&amp;rsquo;s been hanging on my family&amp;rsquo;s walls since
sometime in the late 19th or early 20th century.  It&amp;rsquo;s way more
positive than the other things I was thinking of posting in these dark times&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/IShallPassThisWayButOnce3.jpeg&#34; alt=&#34;Figure 1: &amp;ldquo;Present Duties&amp;rdquo; by William Penn paraphrasing Jesus is in fact not copyrightable, Charles Scribners&amp;rsquo;s Sons claims c.a. 1897 notwithstanding.&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/IShallPassThisWayButOnce3.jpeg&#34;&gt;&amp;ldquo;Present Duties&amp;rdquo; by William Penn paraphrasing Jesus&lt;/a&gt; is in fact not copyrightable, Charles Scribners&amp;rsquo;s Sons claims c.a. 1897 notwithstanding.
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#15 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>When goods don’t cross borders, soldiers will</title>
      <link>http://curious.galthub.com/blog/2022-02-28/</link>
      <pubDate>Mon, 28 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-28/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://fee.org/resources/if-goods-dont-cross-borders/&#34;&gt;When goods don’t cross borders, soldiers will&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That is all.&lt;/p&gt;
&lt;p&gt;#14 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>George Washington Slept Here</title>
      <link>http://curious.galthub.com/blog/2022-02-27/</link>
      <pubDate>Sun, 27 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-27/</guid>
      <description>&lt;p&gt;Hiking yesterday in the Shenandoah Valley I discovered that I was on
part of &amp;ldquo;Morgans Road&amp;rdquo;, which is a road George Washington had built into the
hills to allow his army to retreat from the British in case things got
really bad.  &amp;ldquo;George Washington &lt;em&gt;Planned&lt;/em&gt; To Sleep Here If Things Got
Really Bad&amp;rdquo;.  That was enough at the time of the bicentennial (1976)
to put up &lt;em&gt;another&lt;/em&gt; George Washington marker.&lt;/p&gt;
&lt;p&gt;This includes a longish list of Washington sites I&amp;rsquo;ve run across,
including a couple with family connections.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/Morgans2.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;George Washington Planned To Sleep Here&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/ForumRomanarumNocte.jpg&#34;&gt;&amp;ldquo;George Washington Planned To Sleep Here&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I&amp;rsquo;ve lived in northern Virgina for almost 20 years.  250 years later,
there is still a mythos, and in some cases still oral tradition about
George Washington everywhere you go from his home at Mount Vernon to
Bunker Hill in Boston.   Some of the most visible reminders (aside from
Washington, DC and the Washington Monument) are all the &amp;ldquo;George
Washington [did X] Here&amp;rdquo; signs.&lt;/p&gt;
&lt;p&gt;The myth may be larger than life.  The story about young George
Washington saying &amp;ldquo;I can not tell a lie&amp;rdquo; when he cut down is father&amp;rsquo;s
cherry tree is probably a fabrication.  But there was a core of truth,
a real man behind the legends that inspired those who knew him and the
generations that followed.&lt;/p&gt;
&lt;p&gt;Living in northern Virginia, you can hardly step outside without
running into some &amp;ldquo;George Washington [did X] Here&amp;rdquo; memorial.  Here is
a top-of-the-head list of things I&amp;rsquo;ve run into in the past few years:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Neavil&amp;rsquo;s Ordinary&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://auburnva.fandom.com/wiki/Neavil%E2%80%99s_Ordinary&#34;&gt;Neavil&amp;rsquo;s Ordinary&lt;/a&gt; (inn) is a few miles from my
house.   George Washington (and George Fairfax of Fairfax County
fame) spent a night there on they way to survey land in the
Shenandoah Valley.&lt;/dd&gt;
&lt;dt&gt;Washington, VA&lt;/dt&gt;
&lt;dd&gt;Washington himself surveyed and laid out the town
of &lt;a href=&#34;https://washingtonva.gov/history2/&#34;&gt;Washington &amp;ldquo;The First of them All&amp;rdquo; Virginia&lt;/a&gt;, the county seat of
Rappahannock County.&lt;/dd&gt;
&lt;dt&gt;A farm in New Jersey&lt;/dt&gt;
&lt;dd&gt;Backpacking on the Appalachian Trail in New
Jersey I spent a night camped behind the barn of a family that has
owned the land since the revolution.    They have an oral tradition
that Washington came through and spent a night in the old farm house.&lt;/dd&gt;
&lt;dt&gt;Winchester, VA&lt;/dt&gt;
&lt;dd&gt;There is a &lt;a href=&#34;https://winchesterhistory.org/george-washingtons-office/&#34;&gt;&amp;ldquo;Washington&amp;rsquo;s Headquarters&amp;rdquo; site in
Winchester, VA.&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Longfellow House, Cambridge, MA&lt;/dt&gt;
&lt;dd&gt;Then there is the house in
Cambridge, MA (across the green from Harvard) that served as
&lt;a href=&#34;https://www.nps.gov/long/index.htm&#34;&gt;Washington&amp;rsquo;s headquarters&lt;/a&gt; during the siege of Boston and later as
the &lt;a href=&#34;https://www.nps.gov/long/index.htm&#34;&gt;home of the poet Henry Wadsworth Longfellow&lt;/a&gt;.  This one starts to
get personal, as I am a cousin of some sort to Longfellow. We both
go back to John Alden on the Mayflower. See Longfellow&amp;rsquo;s &amp;ldquo;The
Courtship of Miles Standish&amp;rdquo;.&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Fort_Capon&#34;&gt;Fort Enochs/Fort Capon&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;This one is very personal.  Turns out
Washington commissioned my Great,Great,Great,Great,Great grandfather
&lt;a href=&#34;https://talesofafamily.blog/henry-enoch-1710-1784/&#34;&gt;Lt. Colonel Henry Enochs&lt;/a&gt; to build a fort on his land during the
French and Indian war.  Of course, Washington did the land survey.
&lt;p&gt;In the 20 years we&amp;rsquo;s spent living in Virginia driving back to Ohio
regularly, we developed a route that goes through Bloomery, West
Virginia which winds up cutting right past the sight of the fort
(now unmarked on a bluff in a field).  It is next to an old
one-lane bridge.  We did this before we knew of the fort or the
family connection.  I guess my ancestral lands were calling me home.
In reality, much of my family kept moving west to Ohio, where
Washington owned land.  They were among &lt;a href=&#34;https://www.simonandschuster.com/books/The-Pioneers/David-McCullough/9781501168703&#34;&gt;the first settlers of
Marietta, Ohio&lt;/a&gt;, the first town in the Northwest Territory and the
seat of &amp;hellip; Washingotn county.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;Bacon Fort&lt;/dt&gt;
&lt;dd&gt;Two weeks ago, on the way home from another hike I
came across a marker for &amp;ldquo;&lt;a href=&#34;https://readtheplaque.com/plaque/bacon-fort&#34;&gt;Bacon Fort&lt;/a&gt;&amp;rdquo;, another &amp;ldquo;Ordinary&amp;rdquo; and former
frontier fort at which Washington stopped.&lt;/dd&gt;
&lt;dt&gt;Mount Vernon&lt;/dt&gt;
&lt;dd&gt;And then there is Washington&amp;rsquo;s home of Mt. Vernon
where he and wife Martha are buried.  It is a private foundation and
admission is free to people named &amp;ldquo;George&amp;rdquo; on his birthday.
There is a harpsichord in the house that at least one 12 year old
keyboard prodigy was allowed to play a few years back.  This Mount
Vernon is not to be confused with the town of Mount Vernon, Ohio
which my high school played in football.&lt;/dd&gt;
&lt;dt&gt;Culpepper, VA&lt;/dt&gt;
&lt;dd&gt;A young Washington live in Culpeppr, VA a little
south of where I live and joined the Masonic lodge there.   Nice men
from the Masons can be found at his grave from time to time honoring
their brother and (a few years back) handing out coins to children
with Washington&amp;rsquo;s image.&lt;/dd&gt;
&lt;dt&gt;The National Road/Braddock&amp;rsquo;s Road&lt;/dt&gt;
&lt;dd&gt;Then there was the time
Washington and Braddock went to what is now Pittsburgh to try to
dislodge the french at &lt;a href=&#34;https://en.wikipedia.org/wiki/Fort_Duquesne&#34;&gt;Fort Duquesne&lt;/a&gt;.  Braddock wound up dead,
&lt;a href=&#34;https://www.nps.gov/places/braddock-s-grave.htm&#34;&gt;buried under the road&lt;/a&gt; and Washington wound up hastily building &lt;a href=&#34;https://www.nps.gov/fone/index.htm&#34;&gt;Fort
Necessity&lt;/a&gt; and signing surrender documents in French that he did not
understand.  And the French and Indian wars were off and running&amp;hellip;&lt;/dd&gt;
&lt;dt&gt;Other Washington sites&lt;/dt&gt;
&lt;dd&gt;Over the years I&amp;rsquo;ve been to other sites associated
with Washington: Valley Forge, &lt;a href=&#34;https://www.mountvernon.org/library/digitalhistory/digital-encyclopedia/article/crossing-of-the-delaware/&#34;&gt;The crossing of the Delaware&lt;/a&gt;,
Independence Hall (Philadelphia ) New York, Yorktown.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;The man got around Colonial America (see &lt;a href=&#34;http://daybyday.gwpapers.org/&#34;&gt;The George Washington Day By
Day project&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;To be fair there is, of course, another side to the &amp;ldquo;Settlement&amp;rdquo; story
some of which is told by John Ruth in his book &lt;a href=&#34;https://www.amazon.com/This-Very-Ground-Crooked-Affair/dp/1680270192&#34;&gt;This Very Ground, This
Crooked Affair&lt;/a&gt;. After seven generations, Ruth&amp;rsquo;s family can no longer
afford to live on land they got directly from William Penn near
Philadelphia.  Penn, was &amp;ldquo;granted&amp;rdquo; all of Pennsylvania by the King of
England despite the fact that there were already many people living
there who had been there thousands of years&amp;hellip;&lt;/p&gt;
&lt;p&gt;But that said, man or myth, Washington was an inspiring character.
He had flaws (don&amp;rsquo;t we all?).&lt;/p&gt;
&lt;p&gt;I can not tell a lie.  I think the take-home for me is to figure out
what praiseworthy qualities Washington (or his myth) embodied and to
at least &lt;em&gt;try&lt;/em&gt; to add those qualities to my own life.&lt;/p&gt;
&lt;p&gt;#13 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>It seems like a good day for some Russian opera</title>
      <link>http://curious.galthub.com/blog/2022-02-26/</link>
      <pubDate>Sat, 26 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-26/</guid>
      <description>&lt;p&gt;Below is some text from Rimsky-Korsakov&amp;rsquo;s last opera,
where the people mockingly pledge loyalty to the Russian King (Tsar)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;King Dodon, a lazy and gluttonous ruler, is greatly worried
by his warlike neighbors.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It seems the Kremlin&amp;rsquo;s website is having some issues right now&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/movealong.png&#34; alt=&#34;Figure 1: &amp;ldquo;Kremlin Website, Nothing To See Here, Move Along&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;300px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/movealong.png&#34;&gt;&amp;ldquo;Kremlin Website, Nothing To See Here, Move Along&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;People (shouting).
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Long life to thee! Hurrah!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;May thou have every good thing!
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(Begin to sing.)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;We are thy faithful servants.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Who kiss the Royal feet.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We are glad to serve thee.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To amuse thee with our foolishness,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To box for thee upon a holiday,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To bark, to crawl on all fours,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;So that thy hours may flow quickly
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And may bring sweet sleep.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Without thee we should have no
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reason for existing;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;For thee we were born
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And for thee we have had chidren.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;From &lt;a href=&#34;https://archive.org/stream/lecoqdorgoldenc02pushgoog/lecoqdorgoldenc02pushgoog_djvu.txt&#34;&gt;https://archive.org/stream/lecoqdorgoldenc02pushgoog/lecoqdorgoldenc02pushgoog_djvu.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the historical context (1908), Russia had just lost a war to Japan
where it&amp;rsquo;s army was defeated and &lt;em&gt;two&lt;/em&gt; fleets were sunk by Japan.  The
Tsar was in disgrace.  The start of WWI was only 6 years away and the
Russian revolution was only 9 years away.&lt;/p&gt;
&lt;p&gt;The (Tsarist) censors didn&amp;rsquo;t like the text.  Wonder why.&lt;/p&gt;
&lt;p&gt;#12 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hiking and Art</title>
      <link>http://curious.galthub.com/blog/2022-02-23/</link>
      <pubDate>Wed, 23 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-23/</guid>
      <description>&lt;p&gt;From Eagles Rock you can look back east and see the Massanutten range
and pretty much all of Shenandoah National Park.   From Tibbets Knob
there is a nice view of a valley and &amp;ldquo;Big Schloss&amp;rdquo; which is a rock
formation and the destination of another popular local hike.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/cowart.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;But is it art?&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/cowart.jpg&#34;&gt;&amp;ldquo;But is it art?&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;More pictures here
&lt;a href=&#34;https://pixelfed.social/p/eludom/402070358478944399&#34;&gt;https://pixelfed.social/p/eludom/402070358478944399&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#11 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Oh, Little Town of Harpers Ferry, How Still We See Thee Lie</title>
      <link>http://curious.galthub.com/blog/2022-02-18/</link>
      <pubDate>Fri, 18 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-18/</guid>
      <description>&lt;p&gt;Harpers Ferry: a quaint little town, vegan restaurants, a national
park, Appalachian Trail headquarters, great place to hop a train to DC
or Pittsburgh, a Kansas album cover or a great place to start a civil
war? It’s all in how you look at it, who’s looking, and when.&lt;/p&gt;
&lt;p&gt;This is a picture I took on a hike above the town on Loudoun Heights
Saturday and the painting of John Brown in the John Brown museum.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/hf.png&#34; alt=&#34;Figure 1: &amp;ldquo;Harpers Ferry&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/hf.png&#34;&gt;&amp;ldquo;Harpers Ferry&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Saturday I went hiking above Harpers Ferry, WV. Today it’s just a sleepy
little town with a &lt;a href=&#34;https://kelleyfarmkitchen.com/&#34;&gt;good little vegan
restaurant&lt;/a&gt;, headquarters of the &lt;a href=&#34;https://appalachiantrail.org/explore/communities/harpers-ferry-bolivar/&#34;&gt;Appalachian
Trail Conservancy&lt;/a&gt; and a lot of national park buildings (most of the old
downtown). But back in the day (1859), it housed the federal armory, gun
factory and John Brown thought it would be a great place start a slave
rebellion. He was wrong. But he lit the fuse of the Civil War that ended
slavery. His short lived rebellion was put down by federal troops lead
by … Robert E. Lee, later commander of the Confederate army and JEB Stewart,
a confederate general. And you may even recognize a Kansas (70s band) album
cover in the painting of Brown-as-Moses with a bible in one hand and a
gun in the other.&lt;/p&gt;
&lt;p&gt;Turns out there is no museum in Harper Ferry dedicated to the man who
enforced the status quo. I guess we know who was “on the wrong side of
history.&lt;/p&gt;
&lt;p&gt;#10 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Oh, you gotta get a glory in the work you do</title>
      <link>http://curious.galthub.com/blog/2022-02-15/</link>
      <pubDate>Tue, 15 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-15/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been reading a lot of poetry lately.
A snatch of a poem my grandmother used to quote about finding meaning
in work came to mind:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Oh, you gotta get a glory
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;In the work you do;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A hallelujah chorus
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;In the heart of you.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Paint, or tell a story,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Sing, or shovel coal,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;But you gotta get a glory
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Or the job lacks soul.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Berton Baley
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Even Google and Duck-Duck Go don&amp;rsquo;t know much about it, so here it is
in my grandmothers handwriting.  From cleaning houses, to taking care
of kids, to canning beans she NEVER did anything halfway.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/glory.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Oh, you gotta get a glory&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/glory.jpg&#34;&gt;&amp;ldquo;Oh, you gotta get a glory&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#9 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The mighty Casey has struck out</title>
      <link>http://curious.galthub.com/blog/2022-02-14/</link>
      <pubDate>Mon, 14 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-14/</guid>
      <description>&lt;p&gt;I watched the Super Bowl last night, in which a second Ohio team just
missed a national championship in a year.  There is no joy in
&lt;a href=&#34;https://www.encyclopedia.com/history/encyclopedias-almanacs-transcripts-and-maps/porkopolis&#34;&gt;Porkopolis&lt;/a&gt;.  I don&amp;rsquo;t know any good football poems, but&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/joy-in-mudville.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Joy in Mudville&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/joy-in-mudville.jpg&#34;&gt;&amp;ldquo;Joy in Mudville&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I stayed up late (for me) last night to watch the Super Bowl.
The Bengals were the only professional team I ever half-way followed.
This was in the 70s and into the 80s when they made their two other
Super Bowl appearances.  They, unlike the later &amp;ldquo;Bungles&amp;rdquo; were worth
watching.&lt;/p&gt;
&lt;p&gt;I started following them largely because they were in Cincinnati and
at the time I had become a huge (not half-way) Reds fan.   It was a
good time to be a Reds fan.  Those were the years of the Big Red
Machine &amp;hellip; Rose, Bench, Morgan, Perez, etc.   Back-to-back World
Series wins in 75 (the year I started following) and 76. I was hooked
(see &lt;a href=&#34;http://curious.galthub.com/blog/opening-day-2020/&#34;&gt;some thoughts on where professional baseball has gone here&lt;/a&gt;).   The Bengals gave me something
to follow in the off-season.  I even followed the Cincinnati Stingers
hockey team in the short lived WHL for similar reasons.
It probably didn&amp;rsquo;t hurt that I grew up in Columbus during the &lt;a href=&#34;https://en.wikipedia.org/wiki/Archie_Griffin&#34;&gt;Archie
Griffin&lt;/a&gt; years and that the Bengals drafted him in 76.  It just seemed
natural that the teams I (somewhat) followed played in the Rose Bowl
(then the national title game for college football), the world series
and, probably, the Super Bowl every year.&lt;/p&gt;
&lt;p&gt;Other than the Reds, I was never really a huge sports fan.  Growing up
in Columbus, Ohio you don&amp;rsquo;t realize how pervasive Buckeye-fever is:
it&amp;rsquo;s in the water, its in the air, it&amp;rsquo;s in the people&amp;rsquo;s blood.  I
realized that this was not universal only when I moved away.&lt;/p&gt;
&lt;p&gt;So, when the Buckeyes were in the title game this year I signed up a
free trail FuboTV account, watched the game and immediately canceled.
I did the same thing with the Bengals in the Super Bowl last night
(honestly I could not have named a single player on the team.)&lt;/p&gt;
&lt;p&gt;Yesterday, for different reasons, I was reading some of the poetry my
Grandmother loved.   Which is probably what brought this to mind, so,
for my friends in Cincinnati and those who actually care about
Football&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Casey at the Bat
by Ernest L. Thayer&lt;/p&gt;
&lt;p&gt;Oh, somewhere in this favored land
the sun is shining bright;
The band is playing somewhere,
and somewhere hearts are light,&lt;/p&gt;
&lt;p&gt;And somewhere men are laughing,
and somewhere children shout;
But there is no joy in Mudville&amp;ndash;
mighty Casey has struck out.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ellenbailey.com/poems/ellen_097.htm&#34;&gt;https://www.ellenbailey.com/poems/ellen_097.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#8 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Ἰλιάς</title>
      <link>http://curious.galthub.com/blog/2022-02-13/</link>
      <pubDate>Sun, 13 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-13/</guid>
      <description>&lt;p&gt;The Iliad and Dr Seuss have nothing to say to us today.  &amp;ldquo;One fish, two
fish&amp;rdquo;?  Really.  Recent translations of liner-A tablets reveal that it
was a faceBOOK post that launched 1000 ships.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/delphi.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Oracle headquarters, Delphi, Greece AUC MMDCCXLII&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/delphi.jpg&#34;&gt;&amp;ldquo;Oracle headquarters, Delphi, Greece AUC MMDCCXLII&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I recently finished re-listening to the Iliad (20 hours) and was struck by how
little has changed in 3000 years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Olympian gods still enter directly into human battles.&lt;/li&gt;
&lt;li&gt;The Hittites still rule Anatolia (Turkey).&lt;/li&gt;
&lt;li&gt;Slavery is still a thing in the Mediterranean.&lt;/li&gt;
&lt;li&gt;Raiding and plundering coastal towns is a perfectly acceptable career path.&lt;/li&gt;
&lt;li&gt;Augery (reading the livers of animals) and portents (birds flying to
the right or left) are still seen as valid ways making important
decisions.&lt;/li&gt;
&lt;li&gt;Political leaders are valued for their bravery in battle, leading from
the front, risking their own lives and leading by example.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And there is even new evidence, deciphered form Liner-A tablets, that
they were deeply concerned about issues of climate change, social justice
and COIVD-19 vaccines.  It seems that the oracle at Delphi read a
Facebook post and clued them in that the people of the early 21st
century (21st century from what?) would be rightly obsessed with these
issues and that these people and their views would be the pinnacle
of moral development for all of human history, and that the opinions and
concerns of twitter mobs in that era were fixed, immutable and correct
for all time.&lt;/p&gt;
&lt;p&gt;In fact, the Trojan war was launched because the Trojans were on the wrong
side of history on all these issues. So Agamemnon and the boys showed up
and did the right thing. They administered social justice and burned it
all down. For millennia we&amp;rsquo;ve referred to &amp;ldquo;The face [Helen] that launched
1000 ships&amp;rdquo;, but that was due to an incorrect textual variant in the source
documents. It was a &amp;ldquo;faceBOOK&amp;rdquo; post that launched 1000 ships. Unfortunately,
this lead directly to Aeneas founding Rome. They were also on the wrong
side of history. What can you do?&lt;/p&gt;
&lt;p&gt;There are some themes that Homer dealt with at length. Things change. These
are no longer issues for humanity:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wrath&lt;/li&gt;
&lt;li&gt;Jealousy&lt;/li&gt;
&lt;li&gt;Hatred&lt;/li&gt;
&lt;li&gt;War&lt;/li&gt;
&lt;li&gt;Death&lt;/li&gt;
&lt;li&gt;Greed&lt;/li&gt;
&lt;li&gt;Pride&lt;/li&gt;
&lt;li&gt;Fate&lt;/li&gt;
&lt;li&gt;Joy&lt;/li&gt;
&lt;li&gt;Sorrow&lt;/li&gt;
&lt;li&gt;Glory&lt;/li&gt;
&lt;li&gt;Destiny&lt;/li&gt;
&lt;li&gt;Companionship&lt;/li&gt;
&lt;li&gt;Loyalty&lt;/li&gt;
&lt;li&gt;Retribution&lt;/li&gt;
&lt;li&gt;Pathos&lt;/li&gt;
&lt;li&gt;Grief&lt;/li&gt;
&lt;li&gt;Treachery&lt;/li&gt;
&lt;li&gt;Mortality&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s a good thing nobody has to read Homer any more.  Or Dr Seuss.
That stuff is problematic, and longer that 140 characters!&lt;/p&gt;
&lt;p&gt;#7 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>IPv6 Day</title>
      <link>http://curious.galthub.com/blog/2022-02-11/</link>
      <pubDate>Fri, 11 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-11/</guid>
      <description>&lt;p&gt;Today was the day I made the choice to live for an entire work-day on
an IPv6-only network.  And it worked.  I&amp;rsquo;ve been watching this slow
train comin&amp;rsquo; for 30 years.  Now I&amp;rsquo;m holding my breath for &lt;a href=&#34;https://en.wikipedia.org/wiki/Connectionless-mode_Network_Service&#34;&gt;CNLP&lt;/a&gt; :-)&lt;/p&gt;
&lt;p&gt;I consciously, actively spent an entire day (well, work day) on a
hotspot that was serving up only v6.  This has been 30 years coming.
I was on the big-ip mailing list as far back as 1992 that was
discussing how to get past the impending crisis in 32 big IPv4
addressing.  That was when the Web was just about to happen and I
think getting an allocation may have involved sending email to Jon
Postel.  &lt;a href=&#34;https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing&#34;&gt;CIDR&lt;/a&gt; was introduced in 1993.  NAT, BGP and DHCP came long,
and countless other engineering and social hacks kept things
functioning (and killed the &lt;a href=&#34;https://en.wikipedia.org/wiki/End-to-end_principle&#34;&gt;end-to-end principal&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m sure I&amp;rsquo;ve been using v6 in lots of places (my phone) without doing
any setup or making any choice to enable it, but today was the day I
&amp;ldquo;turn on&amp;rdquo; v6 explicitly and lived there for a day.  And it worked.&lt;/p&gt;
&lt;p&gt;Ironically, one of the days tasks involved trying to identify and
enumerate usage of v6 in some networks where it appears to have very
little actual deployment.&lt;/p&gt;
&lt;p&gt;#6 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;John Lennon, 1970
#+end_example&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/logosAndPerson.png&#34; alt=&#34;Figure 1: &amp;ldquo;Past their sell-by date.&amp;rdquo; by George Jones is licensed under CC BY 2.0, includes work by Nature Vectors by Vecteezy&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Past their sell-by date.&amp;rdquo; by George Jones is licensed under CC BY 2.0, includes work by &lt;a href=&#34;https://www.vecteezy.com/free-vector/nature&#34;&gt;Nature Vectors by Vecteezy&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Digital Equipment Corporation,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Sun Microsystems,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in CompuServe,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Perl,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in USENIX,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in SourceForge,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in GitHub,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Facebook,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Linked-in,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Google,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in The SANS Institute,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in The Center for Internet Security,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Google Plus,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Twitter,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Spotify,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Wikipedia,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I just believe in me,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;human beings and me.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Me, 2021
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is a list of tech companies I once admired.&lt;/p&gt;
&lt;!--more--&gt;
&lt;h2 id=&#34;a-tale-of-two-tech-companies&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; A tale of two tech companies&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll start with two examples.   Writing at Christmas-time 2021,
I&amp;rsquo;ll categorize the two examples as &amp;ldquo;naughty and nice&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The examples will provide &amp;ldquo;soft&amp;rdquo; examples of what attracts me to
tech companies and what drives me away.  Following that, I&amp;rsquo;ll
break it down more systematically (when, why&amp;hellip;)&lt;/p&gt;
&lt;h3 id=&#34;wikipedia-naughty&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; Wikipedia - naughty&lt;/h3&gt;
&lt;p&gt;The catalyst for thinking about all this was the revelation that
Wikipedia, an organization that is built on the backs of
volunteers can&amp;rsquo;t stop fund-raising (and lying in the process)
even when flush with cash:
&lt;a href=&#34;https://www.theregister.com/2016/12/19/jimmy_wales_breaks_promise_more_chugging/&#34;&gt;https://www.theregister.com/2016/12/19/jimmy_wales_breaks_promise_more_chugging/&lt;/a&gt;
and is making plans to further monetize it&amp;rsquo;s volunteers work.
I&amp;rsquo;m looking for ways to stop using Wikipedia.  How does it get
to this point?&lt;/p&gt;
&lt;h3 id=&#34;wordpress-nice&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; Wordpress - nice&lt;/h3&gt;
&lt;p&gt;Wordpress came off the &amp;ldquo;naughty&amp;rdquo; list as I was writing this
post when I came across this toot
&lt;a href=&#34;https://fosstodon.org/@markosaric/107495024812888717&#34;&gt;https://fosstodon.org/@markosaric/107495024812888717&lt;/a&gt; which
referenced &lt;a href=&#34;https://www.protocol.com/matt-mullenweg&#34;&gt;a good article on Matt Mullenweg &lt;/a&gt; the CEO of
Automattic, the company that runs WordPress.com:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The cycle plays out the same in tech&amp;rdquo;, he said. Take the internet:
built as an open platform, eventually colonized by a handful of
dictatorial players&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;But it also contains the seeds of its own demise.&amp;rdquo; Users
inevitably begin to feel hemmed in and controlled by the closed
platforms, and yearn for open pastures. Then they go build something
better. Something open. &amp;ldquo;People&amp;rsquo;s natural desire for freedom starts to
get more and more of the best and brightest in the world working on
open, distributed, decentralized systems.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;how-you-know-the-end-is-near-for-a-company&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; How you know the end is near for a company&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The geeks who started it leave or are edged out by MBAs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The founders, &lt;a href=&#34;https://curious.galthub.com/blog/visionaries/&#34;&gt;who had the vision leave&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Free services morph into something that&amp;rsquo;s all about monitization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Volunteers are exploited.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The arrival of the unwashed masses &amp;hellip; &lt;a href=&#34;https://encyclopediadramatica.online/Eternal_September&#34;&gt;eternal September&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Things are dumbed down.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You (the &amp;ldquo;customer&amp;rdquo;) become the commodity, one of &amp;ldquo;the target
audience&amp;rdquo; that the marketing people try to &amp;ldquo;reach&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When there are hoards of people earning six and seven figure
salaries that had nothing to do with creating or maintaining
the value.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Slogans like &amp;ldquo;Learn git and github without any code!&amp;rdquo; appear on
sites that are all about code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you use the phrase &amp;ldquo;The market leader&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why-do-things-go-bad&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Why do things go bad?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Greed, hubris, selfishness (in other words, human nature)&lt;/li&gt;
&lt;li&gt;The problem of the commons&lt;/li&gt;
&lt;li&gt;MBAs, marketing people and projects managers run the show.&lt;/li&gt;
&lt;li&gt;Lies.&lt;/li&gt;
&lt;li&gt;Loss of trust and good-will.&lt;/li&gt;
&lt;li&gt;Loss of mission. &amp;ldquo;It&amp;rsquo;s just a job.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;The founders with the vision are either gone, no longer or
charge or fail to communicate and sell the vision (Bezos did
an excellent job of this with the &amp;ldquo;&lt;a href=&#34;https://www.aboutamazon.com/about-us/leadership-principles&#34;&gt;Amazon Leadership
Principals&lt;/a&gt;&amp;rdquo;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;so-what-where-to-go-from-here&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; So what? Where to go from here?&lt;/h2&gt;
&lt;h3 id=&#34;a-day-in-the-life--musically-inspired-metaphors&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.1&lt;/span&gt; A day in the life (musically inspired metaphors)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Go hide out in a New York city townhouse, withdraw from public
life, bake bread and raise your son until some deranged fan
kills you? (see Lennon).  Props to @emacsen for the creative
re-use of the &amp;ldquo;Dream is over&amp;rdquo; motif that I stole
&lt;a href=&#34;https://emacsen.net/@emacsen/107405795056467815&#34;&gt;https://emacsen.net/@emacsen/107405795056467815&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Existential nihilism or hedonism (&amp;ldquo;Whatever gets you through the night, it&amp;rsquo;s all right, it&amp;rsquo;s all right.&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;Live your life, enjoy your family (&amp;ldquo;I&amp;rsquo;m just sitting here watching the wheels go round and round&amp;rdquo;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;my-current-responses&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.2&lt;/span&gt; My current responses&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Self hosting&lt;/dt&gt;
&lt;dd&gt;I&amp;rsquo;m self hosting on a raspberry pi.  &lt;a href=&#34;http://curious.galthub.com/&#34;&gt;Blog&lt;/a&gt;.
&lt;a href=&#34;http://git.galthub.com/&#34;&gt;Git&lt;/a&gt;.  New domain name (galthub.com). Re-considering increased
use of my 2001-era hand-edited HTML website:
&lt;a href=&#34;http://www.port111.com/george/&#34;&gt;http://www.port111.com/george/&lt;/a&gt;.  I took a year off blogging and stopped
pushing any code, HOWTOs, etc to git.&lt;/dd&gt;
&lt;dt&gt;Moving back to paid services&lt;/dt&gt;
&lt;dd&gt;I started my work life at
Compu$erve.  You paid for what you got.  Then the web happened.
The advertising business model migrated from print and
broadcast to where the eyeballs had moved.  And you stopped
paying.  But you became the product.  Your privacy became a
commodity or a joke.  I&amp;rsquo;m increasingly reverting to seeing paid
services as an &amp;ldquo;honest&amp;rdquo; alternative. I&amp;rsquo;m using paid email
(fastmail, protonmail), VPN (proton), shared hosting (hurricane
electric), domain names (namecheap) and may move to others,
say, high quality professional journalism.  It seems there
really are no truly free (as in speech or beer) lunch or online
services.&lt;/dd&gt;
&lt;dt&gt;Paper&lt;/dt&gt;
&lt;dd&gt;For about 30 years I used the phrase &amp;ldquo;If it requires
paper, it&amp;rsquo;s the wrong interface&amp;rdquo;.  I&amp;rsquo;m backtracking on that.
There are no marketing people, project managers, MBAs,
data aggregators, or advertisers involved in my journal, and the
threat models and data loss and protection paradigms are well
understood.&lt;/dd&gt;
&lt;dt&gt;Reconsideration&lt;/dt&gt;
&lt;dd&gt;In light of recent discoveries, and my
exploration of the principals of why I move to/away from online
services in this post, I&amp;rsquo;m reconsidering Wordpress.  I may
reconsider others.&lt;/dd&gt;
&lt;dt&gt;Pobody&amp;rsquo;s Nerfect&lt;/dt&gt;
&lt;dd&gt;We live in a messed up world.  The Latin
Poet Ovid said &amp;ldquo;In medio tutissimus ibis&amp;rdquo; (roughly, &amp;ldquo;you will
go most safely in the middle.&amp;rdquo;).  While it may be possible to
use only free software (and grow your own food), most people
can&amp;rsquo;t live there entirely.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;if-you-ve-got-the-energy-and-the-vision-dot-dot-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.3&lt;/span&gt; If you&amp;rsquo;ve got the energy and the vision&amp;hellip;&lt;/h3&gt;
&lt;p&gt;The world is driven by individuals with vision.  All hail &lt;a href=&#34;https://stallman.org/saint.html&#34;&gt;Saint
IGNUcius&lt;/a&gt;. There would likely be no free software movement
without him.  Individuals change tech: Alan Turing, Ken
Thompson, Donald Knuth, Steve Jobs, Bill Gates, Linus Torvalds,
Jeff Bezos, etc.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve got the energy, the vision and the talent, go change
the world.  Or just go tinker around, scratch your own itch and
share the results.  That&amp;rsquo;s often how the world is changed.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Why I hike</title>
      <link>http://curious.galthub.com/blog/2022-02-07/</link>
      <pubDate>Mon, 07 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-07/</guid>
      <description>&lt;p&gt;Why I hike.   A picture is worth 1000 words&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/sun-behind-ice-on-tree.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Sun behind ice on tree&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/sun-behind-ice-on-tree.jpg&#34;&gt;&amp;ldquo;Sun behind ice on tree&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I went hiking in Shenandoah national park Satuday.
Pictures here &lt;a href=&#34;https://pixelfed.social/p/eludom/396268280449793695&#34;&gt;https://pixelfed.social/p/eludom/396268280449793695&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I had not been out much lately (winter, cold), but this reminded why I
hike. You get to the top (in this case, of &amp;ldquo;Mary&amp;rsquo;s Rock&amp;rdquo;) and have
breathtaking views (often when you are already out of breath :-).
There is the sense of accomplishment in having finished the climb (in
this case a modest ~1000 plus feet up, 1.5 miles).  You meet people (I
met an older gentleman with a camera, and we stopped and talked
photography for 20 minutes, I ran into some old friends).  You have
time to think (assuming you don&amp;rsquo;t blast music or podcasts into your
brain while you could be letting it enjoy the quite of nature).  And
it&amp;rsquo;s fun.&lt;/p&gt;
&lt;p&gt;In some cases you take calculated risks &amp;hellip; this time the trail was 3
miles of ice, treacherous in spots.  I &amp;ldquo;only&amp;rdquo; fell twice.  Others had
cramp-ons on their shoes to give traction, I just had my poles and did
&amp;ldquo;rock hopping&amp;rdquo; most of the way up, avoiding the ice.   But there is
nothing to match the feeling you get when you reach the top and stare
out into infinity across the mountains and valleys.&lt;/p&gt;
&lt;p&gt;There are 200 some words here.   Which are worth about 1/5 of a picture.&lt;/p&gt;
&lt;p&gt;#5 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Doing Latin without thinking about it</title>
      <link>http://curious.galthub.com/blog/2022-02-06/</link>
      <pubDate>Sun, 06 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-06/</guid>
      <description>&lt;p&gt;This may be obvious to people who are fluent in several languages, but
communicating in different languages does not have to be like working a proof in
geometry. The Latin I learned focused on being able to consciously understand
all 144 different inflected forms (yes, 144) of any standard Latin
verb.  Pretty sure most children in antiquity could not separate a
genitive geurnd from a supine from a plural perfect passive
participle.  But they could talk.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/ForumRomanarumNocte.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Forum Romanarum Nocte, Anno MMXIX&amp;rdquo; by George Jones is licenced under CC SA 4.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://curious.galthub.com/ox-hugo/ForumRomanarumNocte.jpg&#34;&gt;&amp;ldquo;Forum Romanarum Nocte, Anno MMXIX&amp;rdquo; by George Jones&lt;/a&gt; is licenced under &lt;a href=&#34;http://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;CC SA 4.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I&amp;rsquo;ve been doing both the Spanish and Latin courses on duolingo for a
few weeks (24 days, per the app).  Today, I had an experience I&amp;rsquo;ve not
had in 35 years of toying with Latin:  I was translating without being
aware of conjugations or declensions or even if I was translating to
or from Latin.  They flip quickly between reading, listening and
written translation exercises in the native language and the language
being learned.  It was so effective that I forgot which language I was
working in.  It was just ideas and words.&lt;/p&gt;
&lt;p&gt;To repeat a quote from &lt;a href=&#34;http://curious.galthub.com/blog/2022-01-29/&#34;&gt;an earlier blog post&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is no reason why learners should be made to treat every Latin
text as puzzle to be deciphered into translation, rather than a
specimen of normal human communication to be understood as such.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;http://blogicarian.blogspot.com/2019/03/argumentum-ad-ignorantiam.html?m=1&#34;&gt;http://blogicarian.blogspot.com/2019/03/argumentum-ad-ignorantiam.html?m=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Euge, Duolingo!&lt;/p&gt;
&lt;p&gt;#4 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Conspiracy theories can be fun!</title>
      <link>http://curious.galthub.com/blog/2022-02-05/</link>
      <pubDate>Sat, 05 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-05/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Illuminati_(game)&#34;&gt;Illuminati&lt;/a&gt; is a game that allows you indulge your inner conspiracy
theorist, hopefully in a self-aware tongue-in-cheek manner. My son
apparently made off with my copy.  I think he&amp;rsquo;s in on it.  He took it as part
of a secret communist conspiracy to keep me from suspecting the truth
about secret communist conspiracies&amp;hellip;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/illumiati.png&#34; alt=&#34;Figure 1: No, really, the Freemasons have been secretly runing America since it&amp;rsquo;s founding.&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;http://www.sjgames.com/illuminati/index.html&#34;&gt;No, really, the Freemasons have been secretly runing America since it&amp;rsquo;s founding.&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;blockquote&gt;
&lt;p&gt;I can&amp;rsquo;t find my copy of Illuminati, I&amp;rsquo;ll keep looking but my SUSPICION
is that DANIEL took it to CEDARVILLE in a blatant attempt to prevent
YOU from knowing that the democratic party controls the international
communist conspiracy who use their orbital mind control lasers (see
tin foil hats) to control the convenience store clerks who incite KKK
rallies that buy large numbers of Chick-fil-A sandwiches secretly on
Sunday at, wait for it&amp;hellip;.the brand new Chick-fil-A dining hall on the
cedarville campus (what more proof do you need, seriously !!!!)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And because I can&amp;rsquo;t leave anything un-analyzed&amp;hellip;&lt;/p&gt;
&lt;p&gt;Conspiracy theories are more of a problem when you&amp;rsquo;re close to them,
when they&amp;rsquo;re believable, and may have an impact on your life.  I&amp;rsquo;m not
to concerned (outside historical and literary interests) as to whether
Marc Antony was actually planning to crown Julius Caesar as King of
Rome.  I&amp;rsquo;m not invested (as Cicero was) in the myth that the rule of
Rome was going to stay in the hands of the Senatorial class and the
Tribunes.&lt;/p&gt;
&lt;p&gt;This, on the other hand, hits a little close to home
&lt;a href=&#34;https://www.simonandschuster.com/books/The-Real-Anthony-Fauci/Robert-F-Kennedy/Children-s-Health-Defense/9781510766808&#34;&gt;https://www.simonandschuster.com/books/The-Real-Anthony-Fauci/Robert-F-Kennedy/Children-s-Health-Defense/9781510766808&lt;/a&gt;
Be careful&amp;hellip;&lt;/p&gt;
&lt;p&gt;#3 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Adding years to your life, or life to your years?</title>
      <link>http://curious.galthub.com/blog/2022-02-04/</link>
      <pubDate>Fri, 04 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-04/</guid>
      <description>&lt;p&gt;My great aunt took her first motorcycle ride at 100.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/aunt-bess-on-motorcycle.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Aunt Bess Takes Her First Motorcycle Ride at 100&amp;rdquo; by George Jones is licensed under cc by 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Aunt Bess Takes Her First Motorcycle Ride at 100&amp;rdquo; by George Jones is licensed under cc by 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Some thoughts on living in a small town, neuroscience and life.&lt;/p&gt;
&lt;p&gt;What are you doing on your 100th birthday?&lt;/p&gt;
&lt;p&gt;My great aunt Bess was one of 11 children, who lived her whole life in the small
community around Frankfort, Ohio. She had scores of cousins and
nephews and nieces.  In her younger years, she worked as a cook in the
local high school cafeteria and so knew an entire generation of kids
in the community (and their kids) as they grew up.  The last 50 years
or so of her life, she lived in her own house on the edge of town.
She lived on her own until the year she died (at 102).  When we went to visit
the routine was &amp;ldquo;Well, I don&amp;rsquo;t know what I&amp;rsquo;ll feed you all&amp;rdquo;, and an
hour later a full thanksgiving dinner-style meal was on the table no
matter what time of year from corn she had canned, etc.&lt;/p&gt;
&lt;p&gt;We had a big birthday party for her at a local church when she turned 100.
There where 100 or more people there.   And that was the day she
strapped on the leather and took her first motorcycle ride with a
nephew.&lt;/p&gt;
&lt;p&gt;She added both years to her life AND life to her years.&lt;/p&gt;
&lt;p&gt;I recently listened to a book called &amp;ldquo;&lt;a href=&#34;https://www.penguinrandomhouse.com/books/598506/succe%20ssful-aging-by-daniel-j-levitin/%20&#34;&gt;Successful Aging&lt;/a&gt;&amp;rdquo; by
professional musician-turned-neuroscientist Daniel Levitin.  One of
the key ideas he points out is that people thrive on interaction with
other people, from the earliest stages of childhood development to
centegenarians like my aunt.  For the book he &lt;a href=&#34;https://www.parkerlife.org/blog/january-2020/neuroscientist-daniel-levitin-shares-his-keys-to-aging-well&#34;&gt;interviewed a number of
successful older people&lt;/a&gt; from former Mexican president Vicente Fox, to
the Dali Lama, to former US Secretary of State George Shultz and
professional jazz musician Sonny Rollins, all of whom were active and
engaged well into their 80s or 90s.&lt;/p&gt;
&lt;p&gt;And it&amp;rsquo;s not just old people. Levitin goes into the literature of
childhood development.  Kids need social interaction to develop
properly.  Kids thrive, literally, on social interaction.  Social
interaction is important to the early development of the brain,
language learning and learning the self control needed to function in
society.  Without social interaction, some of these developments are
physically retarded or absent, often permanently and irreversibly.&lt;/p&gt;
&lt;p&gt;As Stacey Lance recently pointed out with some of what&amp;rsquo;s been going on
for the past few years, &amp;ldquo;I’m a Public School Teacher. The Kids Aren’t
Alright.&amp;rdquo;
&lt;a href=&#34;https://bariweiss.substack.com/p/im-a-public-school-teacher-the-kids&#34;&gt;https://bariweiss.substack.com/p/im-a-public-school-teacher-the-kids&lt;/a&gt;.
Kids need social interaction.  My own reflections on the article are
here &lt;a href=&#34;http://curious.galthub.com/blog/2022-01-24/&#34;&gt;http://curious.galthub.com/blog/2022-01-24/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m told similar things about the correlation between aging and thriving
by a friend who is a financial councilor (he works with lots of
older people) and our former pastor, in his 70s, who himself is
working a third or fourth career at a construction company and
maintaining the very active walking regime he and his wife have
maintained for years.&lt;/p&gt;
&lt;p&gt;In the past two years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ve seen a big family wedding celebration scaled down and held
almost secretly for fear of police showing up.&lt;/li&gt;
&lt;li&gt;We canceled our annual new-years gathering of friends and family.&lt;/li&gt;
&lt;li&gt;I skipped visiting a relative who&amp;rsquo;s husband had just died as I was
driving right past her house 100s of miles from home.&lt;/li&gt;
&lt;li&gt;Churches stopped meeting.&lt;/li&gt;
&lt;li&gt;The Catholic church stopped serving Communion in person, for the
first time in 2000 years.  Diocletian didn&amp;rsquo;t even get that far
with his persecution (I&amp;rsquo;m not Catholic).&lt;/li&gt;
&lt;li&gt;Photography clubs stopped meeting.&lt;/li&gt;
&lt;li&gt;Kids stopped going to school (well, not home-schoolers&amp;hellip;).&lt;/li&gt;
&lt;li&gt;People stopped going to restaurants and socializing.&lt;/li&gt;
&lt;li&gt;Appalachian Trail maintenance training and work trips have been canceled.&lt;/li&gt;
&lt;li&gt;Events people have planned their lives around like spending 6
months hiking, meeting 100s of people from, literally, all &amp;ldquo;walks&amp;rdquo;
of life have been canceled.&lt;/li&gt;
&lt;li&gt;I (and millions others) have canceled plans to travel, meet people
and enjoy interaction with our fellow human beings.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Are we adding years to our life, or life to our years?&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/aunt-bess-and-bryan.jpg&#34; alt=&#34;Figure 2: &amp;ldquo;Aunt Bess holding a young Bryan&amp;rdquo; by George Jones is licensed under cc by 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;&amp;ldquo;Aunt Bess holding a young Bryan&amp;rdquo; by George Jones is licensed under cc by 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#3 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>100DaysToOffload, Take 2</title>
      <link>http://curious.galthub.com/blog/2022-02-03/</link>
      <pubDate>Thu, 03 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-03/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m going to make another run #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First attempt made it to about 40 posts.  Interrupted for a year or so
in part by a refusal to post anything else on github, which was where
I was hosting my blog and the saga of getting a raspberry pi-based
blog to my liking up-and running chronicled in part here
&lt;a href=&#34;http://curious.galthub.com/blog/no-marketing/&#34;&gt;http://curious.galthub.com/blog/no-marketing/&lt;/a&gt; and here
&lt;a href=&#34;http://curious.galthub.com/blog/hugo-via-mysocket/&#34;&gt;http://curious.galthub.com/blog/hugo-via-mysocket/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pretty sure I won&amp;rsquo;t make it daily, but I&amp;rsquo;ve got a huge backlog of
ideas (from my daily paper journal, email to friends, etc) and now, a
place I feel good about to put them out.&lt;/p&gt;
&lt;p&gt;Stay tuned.  Thanks Kev.&lt;/p&gt;
&lt;p&gt;#1 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Career counseling should not take itself too seriously.</title>
      <link>http://curious.galthub.com/blog/2022-02-03-o2/</link>
      <pubDate>Thu, 03 Feb 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-02-03-o2/</guid>
      <description>&lt;p&gt;These are some musings I sent to a friend who is a career counselor at
a local community college.&lt;/p&gt;
&lt;p&gt;Short version:  I&amp;rsquo;m pretty sure I could not have planned my current
career in &amp;ldquo;IT&amp;rdquo; and &amp;ldquo;Cybersecurity&amp;rdquo; when neither of those terms even
existed until well into my career.&lt;/p&gt;
&lt;p&gt;In my journal this morning I wound up writing about 8 pages on &amp;ldquo;how
did I get here&amp;rdquo; towards the end of what has arguably been as mostly
successful career in IT cybersecurity.   Except that neither the words
&amp;ldquo;IT&amp;rdquo; nor &amp;ldquo;cybersecurity&amp;rdquo; existed until well into my career.    One of
my conclusions is that it would have been impossible to plan my
career.  It might be possible to plan careers in fields where
technology does not change, where personal connectoms don&amp;rsquo;t matter,
and where being in the right place at that right time dont matter.
In my case, those (and, well, providence and an aversion to lying,
management and marketing) were the drivers.&lt;/p&gt;
&lt;p&gt;Pretty sure career counseling as a field needs to not take itself too seriously.&lt;/p&gt;
&lt;p&gt;We had a long exchange where she made some cogent points in defense of
her profession.   Sometimes I stake out a possibly-extreme position as
a way of starting conversations.   I may expand on that conversation
in future posts.&lt;/p&gt;
&lt;p&gt;#2 of #100DaysToOffload take 2, &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Learning Latin the wrong way, an argument against ignorance.</title>
      <link>http://curious.galthub.com/blog/2022-01-29/</link>
      <pubDate>Sat, 29 Jan 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-01-29/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m doing some of the Duolingo Latin course. Who knew you could shop, converse
and joke in Latin? Certainly not the classics professors I learned from.
Quid pudor est.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is no reason why learners should be made
to treat every Latin text as puzzle to be deciphered into translation,
rather than a specimen of normal human communication to be understood as
such.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;http://blogicarian.blogspot.com/2019/03/argumentum-ad-ignorantiam.html?m=1&#34;&gt;http://blogicarian.blogspot.com/2019/03/argumentum-ad-ignorantiam.html?m=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A longer quote from the article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The fact that there aren&amp;rsquo;t any Romans to chat with anymore didn&amp;rsquo;t stop
people like Erasmus from using it as a conversational language with other
educated people. Even though there is little practical need for spoken
proficiency in Latin anymore, there is no reason why learners of Latin
today should be railroaded into the kind of semi-literacy that academic
classicists often acquire. There is no reason why learners should be made
to treat every Latin text as puzzle to be deciphered into translation,
rather than a specimen of normal human communication to be understood as
such.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There&amp;rsquo;s a lot more.  Very cogent.   Makes me sad I (halfway) learned
Latin the way I did.  Duolingo is good.&lt;/p&gt;
&lt;p&gt;Lingua latina vere vivit.&lt;/p&gt;
&lt;p&gt;&amp;mdash;George Jones&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>  &#34;This train&#39;s got the disappearing railway blues&#34;
  </title>
      <link>http://curious.galthub.com/blog/2022-01-27/</link>
      <pubDate>Thu, 27 Jan 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-01-27/</guid>
      <description>&lt;p&gt;I recently took an Amtrak trip form Pittsburgh to Tucson and back.
My cousin asked me&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How was the Amtrak ride? It went through Chillicothe for a few years
maybe in the 1970&amp;rsquo;s. Then B&amp;amp;O/CSX abandoned the tracks.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and noted&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;in the 1920&amp;rsquo;&amp;hellip; there were 5 passenger trains a day from Cincinnati to Columbus&lt;/p&gt;
&lt;/blockquote&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/trains.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Trains&amp;rdquo; by George Jones is licensed under CC BY 2.0&#34; width=&#34;600px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Trains&amp;rdquo; by George Jones is licensed under CC BY 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Some pix from trip are here &lt;a href=&#34;https://pixelfed.social/p/eludom/392240376640730492&#34;&gt;https://pixelfed.social/p/eludom/392240376640730492&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The trip was long. 6 days on the train for what would have been two 4
hour flights. But no airport. No TSA !!! And it&amp;rsquo;s relaxing. Would NOT
want to do a trip of that length in coach. The sleepers are tiny, but
still. And it comes with &amp;ldquo;dinner in the dinner, nothing could be
finer&amp;rdquo; and COFFEE!!!&lt;/p&gt;
&lt;p&gt;I think the train service to Chillicothe stopped in the 60s. Mom and Dad
took us (or maybe just my older brother) on one of the last trains.&lt;/p&gt;
&lt;p&gt;Government officials seem to be stuck on the need for modes of transportation
that stopped working 70 years ago, in part because of government action
in the form of federal highway subsidies, in part because, well, airplanes,
which were the work of a couple Ohio boys form Dayton. Now they want force
everyone to subsidize the one they killed and make the other so unpleasant
that it&amp;rsquo;s unusable.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>social costs</title>
      <link>http://curious.galthub.com/blog/2022-01-24/</link>
      <pubDate>Mon, 24 Jan 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-01-24/</guid>
      <description>&lt;p&gt;I sent this to my son who is on the path to being a high school socials
study teacher.&lt;/p&gt;
&lt;p&gt;This article has me trying to project the impact today&amp;rsquo;s &amp;ldquo;social
distancing&amp;rdquo; would have had on a very messed up introverted teenager of
45 years ago. It&amp;rsquo;s not a pretty picture.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://bariweiss.substack.com/p/im-a-public-school-teacher-the-kids&#34;&gt;https://bariweiss.substack.com/p/im-a-public-school-teacher-the-kids&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I’m a Public School Teacher. The Kids Aren’t Alright.&lt;/p&gt;
&lt;p&gt;My students were taught to think of themselves as vectors of disease. This has fundamentally altered their understanding of themselves.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;From: ME (Today 04:49) (inbox)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Subject: What you&amp;#39;re heading into
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;To: SON
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Date: Fri, 21 Jan 2022 04:49:50 -0500
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://bariweiss.substack.com/p/im-a-public-school-teacher-the-kids
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;As a homeschooler you may not resonate with this, but I can&amp;#39;t
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;imagine how the introverted, messed up kid I was
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;would have turned out without the huge array of social experiences available to me.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And to think of teenagers, invincible, immortal, carefree teenagers
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;with the world at their feet being made to   feel that they ARE the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;problem and that they need to shut down and isolate?  We&amp;#39;re loosing
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;a generation.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The title  may be an oblique reference to &amp;#34;the kids are all right&amp;#34; by the who (very Beatles 1966 sounding, with
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shades of the beach boys and prefiguring the Ramones some)...or
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;maybe I&amp;#39;m just getting old.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>But that would be too easy</title>
      <link>http://curious.galthub.com/blog/2022-01-23/</link>
      <pubDate>Sun, 23 Jan 2022 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/2022-01-23/</guid>
      <description>&lt;p&gt;This is a navel-gazing simple desultory philippic about adventures in
yak-shaving. It is dedicated &lt;a href=&#34;https://mastodon.technology/@jrss&#34;&gt;JTR&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;ox-hugo&lt;/a&gt; theme &lt;a href=&#34;http://curious.galthub.com/blog/hugo-org-github/&#34;&gt;I&amp;rsquo;ve borrowed for the
second time&lt;/a&gt;.  Thanks!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;But you could just &lt;em&gt;use&lt;/em&gt; wordpress&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;he tells himself.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Ahh, but then think of all the yak shaving you would miss.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;he responds to himself.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Opportunity cost, he thinks&amp;hellip;&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!--quoteend--&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Yessss, preciousssss.  The opportunity cost.  Gollum. Gollum. Gollum.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These are notes-to-self on converting my blog to using &lt;a href=&#34;https://gitlab.com/taonaw/taonaw&#34;&gt;JTR&amp;rsquo; new hugo template&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These are mostly of interest to (my future) self and &lt;a href=&#34;https://mastodon.technology/@jrss&#34;&gt;JTR&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is round 2 of how I use ox-hugo to pubish my blog.
Round 1 is documented here &lt;a href=&#34;https://curious.galthub.com/blog/hugo-org-github/&#34;&gt;https://curious.galthub.com/blog/hugo-org-github/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;the-work-flow&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; The work flow&lt;/h2&gt;
&lt;p&gt;The general work flow is&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.org file -&amp;gt; ox-hugo export -&amp;gt; .md in &lt;code&gt;content/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;.md in &lt;code&gt;content/&lt;/code&gt;, &lt;code&gt;images/&lt;/code&gt; and &lt;code&gt;static/&lt;/code&gt; -&amp;gt; hugo -&amp;gt; .html in &lt;code&gt;docs/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;.html files in &lt;code&gt;docs/&lt;/code&gt; -&amp;gt; rsync -&amp;gt; web server public html directory&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;done-action-items&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; DONE &lt;code&gt;[3/3]&lt;/code&gt; Action Items&lt;/h2&gt;
&lt;h3 id=&#34;done-testing-and-figuring-out-what-to-chang&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1&lt;/span&gt; DONE &lt;code&gt;[7/7]&lt;/code&gt;Testing and figuring out what to chang&lt;/h3&gt;
&lt;h4 id=&#34;done-clone-the-jtr-current-template&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.1&lt;/span&gt; DONE Clone the JTR current template&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://gitlab.com/taonaw/taonaw
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;done-set-up-new-capture-template&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.2&lt;/span&gt; DONE Set up new capture template&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   (setq org-capture-templates
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      (quote (
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              ...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             (&amp;#34;h&amp;#34; &amp;#34;hugo blog&amp;#34; entry (file &amp;#34;~/blog/drafts.org&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;*** TODO %^{title}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:PROPERTIES:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:EXPORT_FILE_NAME: %(format-time-string \&amp;#34;%Y-%m-%d\&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:EXPORT_HUGO_PUBLISHDATE: %(format-time-string \&amp;#34;%Y-%m-%d\&amp;#34;):
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:END:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The short story ..
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#+caption: [[https://FOO.COM/BAR/BAZ.JPG][\&amp;#34;Name of work\&amp;#34; by WHO is licensed under cc by 2.0]]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#+attr_html: :width 200px
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[[file:images/BAZ.JPG]]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#+hugo: more
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The long story...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             )
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;done-update-config-dot-toml&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.3&lt;/span&gt; DONE Update config.toml&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diff --git a/config.toml b/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;index f9089c30..abc6cd5c 100644
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;--- a/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+++ b/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@@ -1,17 +1,17 @@
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; enableRobotsTXT = true
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; canonifyURLs = true
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-baseurl = &amp;#34;https://helpdeskheadesk.net/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+baseurl = &amp;#34;http://curious.galthub.com/&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; publishDir = &amp;#34;docs&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; languageCode = &amp;#34;en-us&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-title = &amp;#34;The Art of Not Asking Why&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+title = &amp;#34;Curious Musings&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # themesDir = &amp;#34;themes&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # theme = &amp;#34;hyde&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-disqusShortname = &amp;#34;taonaw&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+#disqusShortname = &amp;#34;curious&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; footnoteReturnLinkContents = &amp;#34;[^ back]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [author]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-    name = &amp;#34;JTR&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-    homepage = &amp;#34;helpdeskheadesk.net&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+    name = &amp;#34;George Jones&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+    homepage = &amp;#34;curious.galthub.com&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; # If Porting existing theme
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [original]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@@ -20,7 +20,7 @@ footnoteReturnLinkContents = &amp;#34;[^ back]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     repo = &amp;#34;https://www.github.com/mdo/hyde&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [params]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-    description = &amp;#34;A Blog by JTR: Tech, Life, and the Stuff in Between.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+    description = &amp;#34;A Blog by George Jones: Musings on life, computers, security, etc..&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #    themeColor = &amp;#34;theme-base-0a&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [paginator]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;done-update-the-sidebar&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.4&lt;/span&gt; DONE Update the sidebar&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;index 6700d4d7..06ab109f 100644
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;--- a/layouts/partials/sidebar.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+++ b/layouts/partials/sidebar.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@@ -17,6 +17,9 @@
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         {{ range .Site.Menus.main -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;{{.URL}}&amp;#34;&amp;gt; {{ .Name }} &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          {{- end }}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+        &amp;lt;!-- ELUDOM - list all my posts --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+        &amp;lt;h4&amp;gt;&amp;lt;a href=&amp;#34;/blog/&amp;#34;&amp;gt;All Posts ►&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &amp;lt;/ul&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &amp;lt;ul class=&amp;#34;sidebar-nav&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           &amp;lt;h3&amp;gt;About&amp;lt;/h3&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@@ -24,23 +27,25 @@
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               &amp;lt;a href=&amp;#34;{{ .Site.BaseURL }}/about&amp;#34;&amp;gt;Author&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             &amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             &amp;lt;li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	      &amp;lt;a href=&amp;#34;{{ .Site.BaseURL }}/taonaw&amp;#34;&amp;gt;TAONAW&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             &amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+            &amp;lt;!-- ELUDOM - large image at bottom of sidebar --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+            &amp;lt;img src=&amp;#34;/thinker.png&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &amp;lt;/ul&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &amp;lt;ul class=&amp;#34;sidebar-icons&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &amp;lt;li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	  &amp;lt;a href=&amp;#34;http://helpdeskheadesk.net/index.xml&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fa fa-rss-square fa-lg&amp;#34; aria-hidden=&amp;#34;true&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	&amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	&amp;lt;li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	  &amp;lt;a href=&amp;#34;https://mastodon.technology/@jrss&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fab fa-mastodon fa-lg&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+          &amp;lt;!-- ELUDOM - change link to RSS feed  --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+          &amp;lt;a href=&amp;#34;http://blog.galthub.com/index.xml&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fa fa-rss-square fa-lg&amp;#34; aria-hidden=&amp;#34;true&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &amp;lt;li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-	  &amp;lt;a href=&amp;#34;https://keys.openpgp.org/search?q=brownexitus%40protonmail.com&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fas fa-lock-open fa-lg&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+          &amp;lt;!-- ELUDOM - change link to mastadon id  --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+          &amp;lt;a href=&amp;#34;https://fosstodon.com/@eludom&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fab fa-mastodon fa-lg&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+        &amp;lt;!-- &amp;lt;li&amp;gt; --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+        &amp;lt;!--   &amp;lt;a href=&amp;#34;https://keys.openpgp.org/search?q=brownexitus%40protonmail.com&amp;#34;&amp;gt;&amp;lt;i class=&amp;#34;fas fa-lock-open fa-lg&amp;#34;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/a&amp;gt; --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+        &amp;lt;!-- &amp;lt;/li&amp;gt; --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &amp;lt;/ul&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &amp;lt;/nav&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &amp;lt;/aside&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;done-delete-most-of-jtr-content&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.5&lt;/span&gt; DONE Delete most of JTR&amp;rsquo; content&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Just delete the stuff you don&amp;rsquo;t want in content/&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Beware of browser caches with old tags (refresh)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;done-remove-replace-jtr-custom-artwork-with-thinker&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1.6&lt;/span&gt; DONE &lt;code&gt;[6/6]&lt;/code&gt; Remove/replace JTR&amp;rsquo; custom artwork with Thinker&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE stop JTRs image from loadiing&lt;/p&gt;
&lt;p&gt;Comment out in &lt;code&gt;/static/css/hyde.css&lt;/code&gt;, both&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/* background-image: url(&amp;quot;/taonaw_logo.png&amp;quot;); */&lt;/code&gt; twice&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;George Jones :emacs: :orgmode: @eludom
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@jrss Having trouble figuring out where to remove your custom graphic from the sidebar.  Thought maybe favicon.png but I can&amp;#39;t figure out where to remove it?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;JTR :emacs:☕
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@jrss@mastodon.technology
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@eludom taonaw_logo.png and title-logo.png in static I believe.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;George Jones :emacs: :orgmode: @eludom
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@jrss OK.   Killed it (comment) in .css.   SOMEONE (browser, hugo server, ...) was caching the image and refused to let go even after I renamed the files.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE add &amp;ldquo;thinker&amp;rdquo; at bottom of &amp;ldquo;about&amp;rdquo; in sidebar&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Add immage &lt;code&gt;static/thinker.png&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update the  sidebar&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
 &lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;ul class=&amp;#34;sidebar-nav&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &amp;lt;h3&amp;gt;About&amp;lt;/h3&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &amp;lt;a href=&amp;#34;{{ .Site.BaseURL }}/about&amp;#34;&amp;gt;Author&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;/li&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            ...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;!-- ELUDOM - large image at bottom of sidebar --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &amp;lt;img src=&amp;#34;/thinker.png&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &amp;lt;img src=&amp;#34;http://curious.galthub.com/title-logo.png&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE load thinker image from somewhere other than github. Local?&lt;/p&gt;
&lt;p&gt;Make the following changes to &lt;code&gt;layouts/partials/sidebar.html&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;!-- &amp;lt;img src=&amp;#34;http://curious.galthub.com/title-logo.png&amp;#34;&amp;gt; --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;img src=&amp;#34;/thinker.png&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and &lt;code&gt;static/thinker.png&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Add twitter cards&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;see &lt;a href=&#34;https://curious.galthub.com/blog/hugo-org-github/&#34;&gt;https://curious.galthub.com/blog/hugo-org-github/&lt;/a&gt;
Short version: if you drop twitter_cards.html in
layouts/partials/ of your blog, you then just write your blog,
publish it, and past the URL into the
&lt;a href=&#34;https://cards-dev.twitter.com/validator&#34;&gt;https://cards-dev.twitter.com/validator&lt;/a&gt; to make sure it’s going
to work when posted&lt;/li&gt;
&lt;/ul&gt;
 &lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Test on mastadon once live&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;ldquo;normal&amp;rdquo; way to validate &amp;ldquo;twitter&amp;rdquo; cards is on the twitter
web site &lt;a href=&#34;https://cards-dev.twitter.com/validator&#34;&gt;https://cards-dev.twitter.com/validator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;since I started using twitter cards on my blog posts, I&amp;rsquo;ve quit
twitter. No account&lt;/li&gt;
&lt;li&gt;The twitter validator requires a twitter login.&lt;/li&gt;
&lt;li&gt;But mastadon (and others I&amp;rsquo;m sure) read and use the twitter card
info in links/posts.&lt;/li&gt;
&lt;li&gt;SOOO &amp;hellip; validate live by posting links to blog posts that have
(should have) twitter cards to mastadon and see if they work.  I
tested with a private message to myself.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Add my index of all posts back in&lt;/p&gt;
&lt;p&gt;Just add this to &lt;code&gt;layouts/partials/sidebar.html&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;h4&amp;gt;&amp;lt;a href=&amp;#34;/blog/&amp;#34;&amp;gt;All Posts ►&amp;lt;/a&amp;gt;&amp;lt;/h4&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Remove comment mechanism or sign up for service&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Not there any more ?&lt;/li&gt;
&lt;li&gt;Check again when I go live&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;done-transition-to-new-template&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2&lt;/span&gt; DONE &lt;code&gt;[2/2]&lt;/code&gt; Transition to new template&lt;/h3&gt;
&lt;h4 id=&#34;done-make-a-clean-version-of-jtr-new-template&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2.1&lt;/span&gt; DONE &lt;code&gt;[6/6]&lt;/code&gt; Make a clean version of JTR new template&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Do a clean checkout of JTR new template&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://gitlab.com/taonaw/taonaw
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git checkout -b20220122-barebones
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Pair down to almost no content&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;e.g. content/posts (mine go to content/Blog)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE Add my own minimal content (sidebar, title, a few posts)&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE Make sure it works&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE &lt;code&gt;[2/3]&lt;/code&gt; Fix any problems&lt;/p&gt;
 &lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Replace &amp;ldquo;Thinker&amp;rdquo; image with something attributed/credited&lt;/p&gt;
&lt;p&gt;Using the following, with attribution (alt tag), but local copy of image&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Short Link (Direct Image Link)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;a href=&amp;#34;https://www.pikpng.com/pngvi/mxwhTw_thinker-rodin-thinker-clipart/&amp;#34; target=&amp;#34;_blank&amp;#34;&amp;gt;Thinker - Rodin Thinker Clipart @pikpng.com&amp;lt;/a&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE Comment mechanism not working, need account or delete it.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your Commento.io account has been suspended. Go to the Commento dashboard to resolve this.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Comment out disqusShortname in config.toml&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# disqusShortname = &amp;#34;curious&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;layouts/_default/single.html&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;defines&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{ if .Site.DisqusShortname -}}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;hr&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;h2&amp;gt;Comments&amp;lt;/h2&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;script defer src=&amp;#34;https://cdn.commento.io/js/commento.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;div id=&amp;#34;commento&amp;#34;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{{- end }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt;  Figure out why hugo thinks I don&amp;rsquo;t have a #+title&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ox-hugo export all seems to be broken.  Complains that #+title not
found.  May have to export one by one.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE commit changes, possibly push branch&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Note taken on &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;[2022-01-22 Sat 11:10] &lt;/span&gt;&lt;/span&gt; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;pushed to ssh://gitea@git.galthub.com/gmj/taonaw.git&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;done-pair-down-my-old-blog--keeping-same-dot-git&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2.2&lt;/span&gt; DONE &lt;code&gt;[5/5]&lt;/code&gt; Pair down my old blog (keeping same .git)&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE create a branch of my content for merging in new stuff&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE Delete most everything but content&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE copy over templates etc from clean JTR version&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;DONE re-export my posts from curious.org&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; export everything
&lt;ul&gt;
&lt;li&gt;ox-hugo export all seems to be broken.  Complains that #+title not
found.  May have to export one by one.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;did it one by one with the help of emacs keyboard macros&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;DONE test&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;done-go-live&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3&lt;/span&gt; DONE &lt;code&gt;[4/4]&lt;/code&gt; Go live&lt;/h3&gt;
&lt;h4 id=&#34;done-copy-to-live-site&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3.1&lt;/span&gt; DONE Copy to live site&lt;/h4&gt;
&lt;h4 id=&#34;done-test-fix-any-problems&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3.2&lt;/span&gt; DONE test, fix any problems&lt;/h4&gt;
&lt;h4 id=&#34;done-have-jtr-look-at-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3.3&lt;/span&gt; DONE have JTR look at it&lt;/h4&gt;
&lt;h4 id=&#34;done-fix-any-problems&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3.4&lt;/span&gt; DONE fix any problems&lt;/h4&gt;
&lt;h2 id=&#34;future-additions&#34;&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt; &lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; &lt;code&gt;[0/1]&lt;/code&gt; Future additions&lt;/h2&gt;
&lt;h3 id=&#34;add-in-wayback-machines-links-per-karl-voit&#34;&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt; &lt;span class=&#34;section-num&#34;&gt;3.1&lt;/span&gt; add in Wayback machines links per Karl Voit&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://karl-voit.at/2020/10/23/avoid-web-forums/&#34;&gt;https://karl-voit.at/2020/10/23/avoid-web-forums/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Tech companies I once admired</title>
      <link>http://curious.galthub.com/blog/2021-12-23-companies-i-once-admired/</link>
      <pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2021-12-23-companies-i-once-admired/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The dream is over,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;what can I say?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The dream is over,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yesterday.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;John Lennon, 1970
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/logosAndPerson.png&#34; alt=&#34;Figure 1: &amp;ldquo;Past their sell-by date.&amp;rdquo; by George Jones is licensed under CC BY 2.0, includes work by Nature Vectors by Vecteezy&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Past their sell-by date.&amp;rdquo; by George Jones is licensed under CC BY 2.0, includes work by &lt;a href=&#34;https://www.vecteezy.com/free-vector/nature&#34;&gt;Nature Vectors by Vecteezy&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Digital Equipment Corporation,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Sun Microsystems,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in CompuServe,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Perl,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in USENIX,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in SourceForge,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in GitHub,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Facebook,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Linked-in,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Google,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in The SANS Institute,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in The Center for Internet Security,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Google Plus,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Twitter,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Spotify,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Don&amp;#39;t believe in Wikipedia,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I just believe in me,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;human beings and me.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Me, 2021
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is a list of tech companies I once admired.&lt;/p&gt;
&lt;h2 id=&#34;a-tale-of-two-tech-companies&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; A tale of two tech companies&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll start with two examples.   Writing at Christmas-time 2021,
I&amp;rsquo;ll categorize the two examples as &amp;ldquo;naughty and nice&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The examples will provide &amp;ldquo;soft&amp;rdquo; examples of what attracts me to
tech companies and what drives me away.  Following that, I&amp;rsquo;ll
break it down more systematically (when, why&amp;hellip;)&lt;/p&gt;
&lt;h3 id=&#34;wikipedia-naughty&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; Wikipedia - naughty&lt;/h3&gt;
&lt;p&gt;The catalyst for thinking about all this was the revelation that
Wikipedia, an organization that is built on the backs of
volunteers can&amp;rsquo;t stop fund-raising (and lying in the process)
even when flush with cash:
&lt;a href=&#34;https://www.theregister.com/2016/12/19/jimmy_wales_breaks_promise_more_chugging/&#34;&gt;https://www.theregister.com/2016/12/19/jimmy_wales_breaks_promise_more_chugging/&lt;/a&gt;
and is making plans to further monetize it&amp;rsquo;s volunteers work.
I&amp;rsquo;m looking for ways to stop using Wikipedia.  How does it get
to this point?&lt;/p&gt;
&lt;h3 id=&#34;wordpress-nice&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; Wordpress - nice&lt;/h3&gt;
&lt;p&gt;Wordpress came off the &amp;ldquo;naughty&amp;rdquo; list as I was writing this
post when I came across this toot
&lt;a href=&#34;https://fosstodon.org/@markosaric/107495024812888717&#34;&gt;https://fosstodon.org/@markosaric/107495024812888717&lt;/a&gt; which
referenced &lt;a href=&#34;https://www.protocol.com/matt-mullenweg&#34;&gt;a good article on Matt Mullenweg &lt;/a&gt; the CEO of
Automattic, the company that runs WordPress.com:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The cycle plays out the same in tech&amp;rdquo;, he said. Take the internet:
built as an open platform, eventually colonized by a handful of
dictatorial players&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;But it also contains the seeds of its own demise.&amp;rdquo; Users
inevitably begin to feel hemmed in and controlled by the closed
platforms, and yearn for open pastures. Then they go build something
better. Something open. &amp;ldquo;People&amp;rsquo;s natural desire for freedom starts to
get more and more of the best and brightest in the world working on
open, distributed, decentralized systems.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;how-you-know-the-end-is-near-for-a-company&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; How you know the end is near for a company&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The geeks who started it leave or are edged out by MBAs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The founders, &lt;a href=&#34;https://curious.galthub.com/blog/visionaries/&#34;&gt;who had the vision leave&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Free services morph into something that&amp;rsquo;s all about monitization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Volunteers are exploited.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The arrival of the unwashed masses &amp;hellip; &lt;a href=&#34;https://encyclopediadramatica.online/Eternal_September&#34;&gt;eternal September&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Things are dumbed down.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You (the &amp;ldquo;customer&amp;rdquo;) become the commodity, one of &amp;ldquo;the target
audience&amp;rdquo; that the marketing people try to &amp;ldquo;reach&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When there are hoards of people earning six and seven figure
salaries that had nothing to do with creating or maintaining
the value.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Slogans like &amp;ldquo;Learn git and github without any code!&amp;rdquo; appear on
sites that are all about code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you use the phrase &amp;ldquo;The market leader&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why-do-things-go-bad&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Why do things go bad?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Greed, hubris, selfishness (in other words, human nature)&lt;/li&gt;
&lt;li&gt;The problem of the commons&lt;/li&gt;
&lt;li&gt;MBAs, marketing people and projects managers run the show.&lt;/li&gt;
&lt;li&gt;Lies.&lt;/li&gt;
&lt;li&gt;Loss of trust and good-will.&lt;/li&gt;
&lt;li&gt;Loss of mission. &amp;ldquo;It&amp;rsquo;s just a job.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;The founders with the vision are either gone, no longer or
charge or fail to communicate and sell the vision (Bezos did
an excellent job of this with the &amp;ldquo;&lt;a href=&#34;https://www.aboutamazon.com/about-us/leadership-principles&#34;&gt;Amazon Leadership
Principals&lt;/a&gt;&amp;rdquo;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;so-what-where-to-go-from-here&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; So what? Where to go from here?&lt;/h2&gt;
&lt;h3 id=&#34;a-day-in-the-life--musically-inspired-metaphors&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.1&lt;/span&gt; A day in the life (musically inspired metaphors)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Go hide out in a New York city townhouse, withdraw from public
life, bake bread and raise your son until some deranged fan
kills you? (see Lennon).  Props to @emacsen for the creative
re-use of the &amp;ldquo;Dream is over&amp;rdquo; motif that I stole
&lt;a href=&#34;https://emacsen.net/@emacsen/107405795056467815&#34;&gt;https://emacsen.net/@emacsen/107405795056467815&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Existential nihilism or hedonism (&amp;ldquo;Whatever gets you through the night, it&amp;rsquo;s all right, it&amp;rsquo;s all right.&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;Live your life, enjoy your family (&amp;ldquo;I&amp;rsquo;m just sitting here watching the wheels go round and round&amp;rdquo;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;my-current-responses&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.2&lt;/span&gt; My current responses&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Self hosting&lt;/dt&gt;
&lt;dd&gt;I&amp;rsquo;m self hosting on a raspberry pi.  &lt;a href=&#34;http://curious.galthub.com/&#34;&gt;Blog&lt;/a&gt;.
&lt;a href=&#34;http://git.galthub.com/&#34;&gt;Git&lt;/a&gt;.  New domain name (galthub.com). Re-considering increased
use of my 2001-era hand-edited HTML website:
&lt;a href=&#34;http://www.port111.com/george/&#34;&gt;http://www.port111.com/george/&lt;/a&gt;.  I took a year off blogging and stopped
pushing any code, HOWTOs, etc to git.&lt;/dd&gt;
&lt;dt&gt;Moving back to paid services&lt;/dt&gt;
&lt;dd&gt;I started my work life at
Compu$erve.  You paid for what you got.  Then the web happened.
The advertising business model migrated from print and
broadcast to where the eyeballs had moved.  And you stopped
paying.  But you became the product.  Your privacy became a
commodity or a joke.  I&amp;rsquo;m increasingly reverting to seeing paid
services as an &amp;ldquo;honest&amp;rdquo; alternative. I&amp;rsquo;m using paid email
(fastmail, protonmail), VPN (proton), shared hosting (hurricane
electric), domain names (namecheap) and may move to others,
say, high quality professional journalism.  It seems there
really are no truly free (as in speech or beer) lunch or online
services.&lt;/dd&gt;
&lt;dt&gt;Paper&lt;/dt&gt;
&lt;dd&gt;For about 30 years I used the phrase &amp;ldquo;If it requires
paper, it&amp;rsquo;s the wrong interface&amp;rdquo;.  I&amp;rsquo;m backtracking on that.
There are no marketing people, project managers, MBAs,
data aggregators, or advertisers involved in my journal, and the
threat models and data loss and protection paradigms are well
understood.&lt;/dd&gt;
&lt;dt&gt;Reconsideration&lt;/dt&gt;
&lt;dd&gt;In light of recent discoveries, and my
exploration of the principals of why I move to/away from online
services in this post, I&amp;rsquo;m reconsidering Wordpress.  I may
reconsider others.&lt;/dd&gt;
&lt;dt&gt;Pobody&amp;rsquo;s Nerfect&lt;/dt&gt;
&lt;dd&gt;We live in a messed up world.  The Latin
Poet Ovid said &amp;ldquo;In medio tutissimus ibis&amp;rdquo; (roughly, &amp;ldquo;you will
go most safely in the middle.&amp;rdquo;).  While it may be possible to
use only free software (and grow your own food), most people
can&amp;rsquo;t live there entirely.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;if-you-ve-got-the-energy-and-the-vision-dot-dot-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.3&lt;/span&gt; If you&amp;rsquo;ve got the energy and the vision&amp;hellip;&lt;/h3&gt;
&lt;p&gt;The world is driven by individuals with vision.  All hail &lt;a href=&#34;https://stallman.org/saint.html&#34;&gt;Saint
IGNUcius&lt;/a&gt;. There would likely be no free software movement
without him.  Individuals change tech: Alan Turing, Ken
Thompson, Donald Knuth, Steve Jobs, Bill Gates, Linus Torvalds,
Jeff Bezos, etc.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve got the energy, the vision and the talent, go change
the world.  Or just go tinker around, scratch your own itch and
share the results.  That&amp;rsquo;s often how the world is changed.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Privacy Technology</title>
      <link>http://curious.galthub.com/blog/2021-12-18-privacy/</link>
      <pubDate>Sat, 18 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2021-12-18-privacy/</guid>
      <description>&lt;p&gt;These are a few perspectives on privacy prompted by initial
thoughts on the &lt;a href=&#34;https://www.usenix.org/conference/pepr22/call-for-participation&#34;&gt;Usenix PEPR &amp;lsquo;22 Call for Participation&lt;/a&gt;. I may or
may not flesh this out as a submission.  If I do, it might take a
totally different form, this being a first reaction.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/pencil_and_paper.jpeg&#34; alt=&#34;Figure 1: &amp;ldquo;Privacy Technology for the 21st Centry&amp;rdquo; by George Jones is licensed under CC BY 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&amp;ldquo;Privacy Technology for the 21st Centry&amp;rdquo; by George Jones is licensed under CC BY 2.0
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;First, here are some work experiences that inform my perspective.
Professional life began for me at CompuServe in 1985.  In many
ways CompuServe invented the online world.  Long stories there,
told elsewhere.  The long strange trip has taken me through work
with Usenet, UUNET, the IETF, SANS &amp;amp; The Center for Internet
Security, the IETF, MITRE, CMU=/=CERT, AOL, Amazon=/=AWS, and
currently Palo Alto Networks.  Security and privacy have been a
large part of my life for 25 years.&lt;/p&gt;
&lt;p&gt;My personal response to questions of privacy has been to go
backwards.  I journal. On paper.  Google has no idea.  I quit
Facebook in 2016 when it got political.  I actually deleted the
account (along with Spotify) a couple years ago after I sent a
Facebook messenger note to my son saying that in childhood I
loved Julie Andrews music and Spotify, without my input, started
playing Julie Andrews.  I&amp;rsquo;ve stopped posting content on most
large commercial platforms over concerns about monetization,
aggregation and corporate self-interest driving what they do with
it.  I currently self-host my blog and git repo on a raspberry
pi.  I share publicly what I want to share.  The rest is not
online.  It&amp;rsquo;s in my head or on paper.&lt;/p&gt;
&lt;p&gt;To be sure I use some of the current tools available to &lt;em&gt;try&lt;/em&gt; to
preserve some online privacy: Signal, Proton Mail, Tor, VPNs,
etc. and while I laud academic, commercial and governmental
efforts to improve privacy, I think we need to begin by admitting
that the problems are not technical.  They are social.  They are
human.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Emacs enlightenment</title>
      <link>http://curious.galthub.com/blog/2021-12-16-emacs-enlightenment/</link>
      <pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2021-12-16-emacs-enlightenment/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;It&amp;rsquo;s also clear you have a achieved emacs enlightenment.   The state
where you see the whole world through the mind-bogglingly useful
lens of emacs and org mode and fail to see (non judgmentally) why
anything should exist outside that world.   &amp;lsquo;Om, Om, Om, M-x find-universe&amp;rsquo; :-)&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From &lt;a href=&#34;https://fosstodon.org/@eludom/107456060382723164&#34;&gt;a reply to a friend about his latest emacs &amp;lsquo;wow&amp;rsquo; moment.&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/gnus_up_small.png&#34; alt=&#34;Figure 1: The Enlightened GNU &amp;ldquo;Levitating GNU with Emacs source code&amp;rdquo; by Macduff is licensed under GPL 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;The Enlightened GNU &lt;a href=&#34;http://emacs.nu/wallpaper/gnu_wallpaper_4_1920.png&#34;&gt;&amp;ldquo;Levitating GNU with Emacs source code&amp;rdquo; by Macduff is licensed under GPL 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;</description>
    </item>
    
    <item>
      <title>Finding needles in the marketingstack</title>
      <link>http://curious.galthub.com/blog/2021-12-15-truth-in-internet/</link>
      <pubDate>Wed, 15 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2021-12-15-truth-in-internet/</guid>
      <description>&lt;p&gt;At work I do a lot of research around finding and understanding
the capabilities of things connected to the Internet.
I find that often checking Wikipedia and/or searching for the
product excluding the vendor website gets to the real information
fastest,
e.g. &lt;a href=&#34;https://duckduckgo.com/?q=vmware+tanzu+-vmware.com+-www.vmware.com&#34;&gt;https://duckduckgo.com/?q=vmware+tanzu+-vmware.com+-www.vmware.com&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Inclusion and Diversity in Ancient Egypt</title>
      <link>http://curious.galthub.com/blog/lets_celebrate/</link>
      <pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/lets_celebrate/</guid>
      <description>&lt;p&gt;Today is a newly decreed &amp;ldquo;inclusion and diversity&amp;rdquo; holiday at work.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve got the inclusion and diversity cards ready to go.  I&amp;rsquo;ve got
the inclusion and diversity lights out of the garage and strung
them all over the house (we&amp;rsquo;re going to out-do the neighbors this
year !).  We&amp;rsquo;ve celebrated the annual ritual of baking ethnic
foods (cultural appropriation at it&amp;rsquo;s best, yum !!!).  And when
the kids are home, we will all gather &amp;lsquo;round the fireplace with
hot chocolate and ask&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Why is this night different from all other nights?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and tell stories of oppression and patriarchy &amp;hellip;. wait &amp;hellip;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>  What is &#34;the news&#34;?
  </title>
      <link>http://curious.galthub.com/blog/the-news/</link>
      <pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/the-news/</guid>
      <description>&lt;p&gt;Last Sunday I went to a &lt;a href=&#34;https://happeningnext.com/event/holiday-concert-and-benefit-for-farthest-corners-eid3a08dtt418&#34;&gt;Christmas concert a a local church&lt;/a&gt;.   All
flutes (plus the occasional Harp).  Who knew there was a
contra-bass flute ?&lt;/p&gt;
&lt;p&gt;The concert was a benefit for &amp;ldquo;Furthest Corners&amp;rdquo; mission that has
a school and hospital in Myanmar (Burma).   I talked to one of
the missionaries who had to leave the country recently due to the
civil war.  &lt;a href=&#34;https://en.wikipedia.org/wiki/Internal_conflict_in_Myanmar&#34;&gt;The civil war in [Burma] has been going on on-and-off for 70 years.&lt;/a&gt;
Who knew?&lt;/p&gt;
&lt;p&gt;It seems the military decided to bomb the school.   It&amp;rsquo;s half
gone.  They are holding school in the other half.&lt;/p&gt;
&lt;p&gt;I asked about the war.  Apparently its &amp;ldquo;everybody against the
military and the police now.&amp;rdquo;   Imagine having to go the grocery
store (or grow and store your own rice) in an environment where
you might get mugged by the police.   Where do you turn?  How do
you live?  How do you eat?&lt;/p&gt;
&lt;p&gt;I also recently finished &lt;a href=&#34;https://en.wikipedia.org/wiki/All_Quiet_on_the_Western_Front&#34;&gt;All Quiet on the Western Front&lt;/a&gt;, a book
about the experience of one German soldier in the trenches of
WWI.  The German title of the book &lt;em&gt;Im Westen nichts Neues&lt;/em&gt;,
literally translates &amp;ldquo;Nothing New in the West&amp;rdquo; referring to the
&amp;ldquo;news&amp;rdquo; from the front they day the main character was killed,
with the end of the war in sight and &amp;ldquo;not much going on&amp;rdquo;.  &amp;ldquo;Not
much&amp;rdquo; in who&amp;rsquo;s view?&lt;/p&gt;
&lt;p&gt;&amp;ldquo;The news&amp;rdquo; tends to be voyeuristic, detached, high level and mass
market.  It tends to feed judgmental views and tribalism.&lt;/p&gt;
&lt;p&gt;People are what matter.  Kids having a school to go to (or half a
school).  Having food to eat.  Living free from fear of those who
are supposed to protect you.  But that&amp;rsquo;s not news.&lt;/p&gt;
&lt;style&gt;.org-center { margin-left: auto; margin-right: auto; text-align: center; }&lt;/style&gt;
&lt;div class=&#34;org-center&#34;&gt;
&lt;p&gt;&lt;code&gt;##################### I Heard The Bells On Christmas Day #############################&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;And in keeping with the Christmas concert and war theme, these words
were written by Henry Wadsworth Longfellow during the depths of the
American civil war:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://hymnary.org/hymn/CYBER/2815&#34;&gt;https://hymnary.org/hymn/CYBER/2815&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 I heard the bells on Christmas day
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Their old familiar carols play,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And wild and sweet the words repeat
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2 And thought how, as the day had come,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The belfries of all Christendom
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Had rolled along th’unbroken song
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3 Till ringing, singing on its way
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The world revolved from night to day,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A voice, a chime, a chant sublime
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4 And in despair I bowed my head
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;There is no peace on earth, I said,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;For hate is strong and mocks the song
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;5 Then pealed the bells more loud and deep:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;God is not dead, nor doth He sleep;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The wrong shall fail, the right prevail
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;With peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;These verses, usually omitted in modern hymnals, reflect the words&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;origin during the American civil war:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Then from each black, accursed mouth
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The cannon thundered in the South,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And with the sound the carols drowned
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;It was as if an earthquake rent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The hearth-stones of a continent,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;And made forlorn, the households born
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Of peace on earth, good will to men.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://web.archive.org/web/*/curious.galthub.com/blog/the-news/&#34;&gt;Archive Of This Page&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>No TV</title>
      <link>http://curious.galthub.com/blog/notv/</link>
      <pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/notv/</guid>
      <description>&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/tv.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;&amp;ldquo;Console Television Receiver&amp;rdquo;&amp;rdquo; by ellenm1 is licensed under CC BY 2.0&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://live.staticflickr.com/4030/4280476270_22dafcfb6f_b.jpg&#34;&gt;&amp;ldquo;&amp;ldquo;Console Television Receiver&amp;rdquo;&amp;rdquo;&lt;/a&gt; by ellenm1 is licensed under &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/?ref=ccsearch&amp;amp;atype=html&#34;&gt;CC BY 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;When I got married I made the decision not to have a TV because I knew
my personal tendency to let it suck up my attention and I did not want
that as an additional distraction from the hard work of building and
maintaining important relationships.  My (now 23 year old) son and I
are currently working through the first 3 seasons of Star Trek The
Next Generation (TNG) on DVD.&lt;/p&gt;
&lt;p&gt;Growing up (this will date me) I watched some of the (then) current
kids shows.  I remember how much my grandfather loved watching
&lt;em&gt;Lawrence Welk&lt;/em&gt;.  The annual airing of &lt;em&gt;The Wizard of Oz&lt;/em&gt; ad &lt;em&gt;A Charlie
Brown Christmas&lt;/em&gt; were anchors of the TV-watching year.  My best friend
would not miss the Jerry Lewis telethon.  &lt;em&gt;All In the Family&lt;/em&gt;,
&lt;em&gt;The Waltons&lt;/em&gt; and &lt;em&gt;MASH&lt;/em&gt; where staples.  In the 70s there were cult-like
re-runs of &lt;em&gt;Star Trek&lt;/em&gt; TOS and this wacky British show called
&lt;em&gt;Monty Python&amp;rsquo;s Flying Circus&lt;/em&gt; late at night on the PBS station.  And there
were major events like the moon landing (I was 8, vague memories) and
the celebration of the American bicentennial and less happy things
like the nightly body count on the evening news during the Vietnam war.&lt;/p&gt;
&lt;p&gt;We often watched together as a family (or part of a family).  Most
families at the time had &amp;ldquo;the TV&amp;rdquo;, one TV (Mr. Green of the Monkeys
&amp;ldquo;Pleasant Valley Sunday&amp;rdquo; not withstanding).  There were in our case
only 4 stations to choose from, the CBS, ABC, NBC and PBS affiliates.
We argued over who got &amp;ldquo;the good chair&amp;rdquo;, who had to get up and change
the channel (yes, no remotes) and if you got your place when you came
back.  With so few selections, it was highly likely that some of your
friends had watched the same show the night before.  There were no
VCRs, DVDs or YouTube.  You watched what the local stations put on,
when they chose to air it (yes, air) or you didn&amp;rsquo;t watch anything.
This lack of choice contributed to a shared culture, shared
experiences.  I wonder if the ancient Athenians had more than one play
by Aeschylus or Euripides at the same time?&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Back in the day&amp;rdquo; (40s to early 80s) there were local and regional TV
shows.  Cincinnati had the &lt;em&gt;Paul Dixon Show&lt;/em&gt; and &lt;em&gt;Midwestern Hayride&lt;/em&gt;, Dayton
had &lt;em&gt;Phil Donahue&lt;/em&gt; (who later went national).  Columbus had
&lt;em&gt;Lucy&amp;rsquo;s Toy Shop&lt;/em&gt; (live kids show) and &lt;em&gt;Flippo the Clown&lt;/em&gt;..afternoon B-Movies with
commentary &amp;hellip; and a recording of Flippo (Bob Marvin) playing the
Beatles Norwegian Wood on sax with his Jazz Combo for the theme song.
Any &amp;ldquo;kid&amp;rdquo; of a certain age (OK, we&amp;rsquo;re all now approaching 60) from
central Ohio can still sing theme from Lucy&amp;rsquo;s Toy Shop by heart.  TV
of the day created a shared culture.   Those a few years older than me
seemed  to all have watched they American debut of a British group on
the &lt;em&gt;Ed Sullivan&lt;/em&gt; show playing a style of music copied from American
artists such as Elvis Presley who in turned copied it from the current
black artists of the day. There&amp;rsquo;s a lot to be said for shared culture.&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>When we focus on fear and stop caring for people</title>
      <link>http://curious.galthub.com/blog/up-with-people-2021-12-06/</link>
      <pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/up-with-people-2021-12-06/</guid>
      <description>&lt;p&gt;The real tragedy of COVID is the collateral damage it&amp;rsquo;s causing to the
way we interact with other people.  This is worse than even the deaths
it causes.  The damage includes a lack of civility, division in
families, and people dying alone in hospitals because nobody&amp;rsquo;s allowed
in.&lt;/p&gt;
&lt;p&gt;From a Christian point of view, &amp;ldquo;the end is not the end&amp;rdquo;.  We need to
strive to &amp;ldquo;live at peace with all men (even those we disagree with on
divisive social issues), so far as it depends on you&amp;rdquo;.  Without that
perspective, all that&amp;rsquo;s left is fear of death and division (who&amp;rsquo;s
author is well known).&lt;/p&gt;
&lt;p&gt;The medical system itself is a casualty of COVID.  My wife got COVID
and had gone two weeks without food or (my larger concern) much liquid
and was lacking motivation to even do anything about it when I
convinced her to go to her doctor.  All they would do is a COVID test
in the car.  They would not even see her until she had a negative
test.  Her test was positive.  So they would not see her.  A friend at
church is a nurse at a medical practice that is specializing in COVID
treatment.  They use alternate therapies, including Ivermectin and
claim %100 success (e.g. no deaths).  I was (and am) skeptical of
Ivermectin &amp;hellip; this &amp;ldquo;just happened&amp;rdquo; to land at the top of my news feed
the morning I got up with the intent of researching it
&lt;a href=&#34;https://astralcodexten.substack.com/p/ivermectin-much-more-than-you-wanted&#34;&gt;https://astralcodexten.substack.com/p/ivermectin-much-more-than-you-wanted&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But a) they agreed to see her when her doctor would not b) they got an
IV (fluid) into her when she was severely dehydrated c) they caught
the fact that she was developing pneumonia and prescribed antibiotics
d) they had us get a blood-oxygen monitor for use at home, gave us a
nebulizer and a prescription for albuterol with instructions to call
them any time of day or night if her O2 levels got too low e) the
result of all this was that she became interested in her own care and
motivated to participate in it and f) I had the chance to server her
in ways I usually don&amp;rsquo;t which has been positive for our relationship.&lt;/p&gt;
&lt;p&gt;And she&amp;rsquo;s better now.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll take &amp;ldquo;fringe&amp;rdquo; medicine that cares for people over &amp;ldquo;mainstream&amp;rdquo;
medicine that lets them die because they are too worried about lawsuits
and government edicts to actually care fore people.&lt;/p&gt;
&lt;p&gt;The real tragedy of COVID is not the deaths, but what it is doing to
the way we interact with our fellow human beings.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Trust, Money, Force, Blockchain, Wired and China</title>
      <link>http://curious.galthub.com/blog/money-2021-12-05/</link>
      <pubDate>Sun, 05 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/money-2021-12-05/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Web3 sound like bs
&amp;mdash;Elon Musk&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://maxread.substack.com/p/is-web3-bullshit&#34;&gt;https://maxread.substack.com/p/is-web3-bullshit&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m just starting to come to terms with &amp;ldquo;Web3&amp;rdquo;, &amp;ldquo;blockchain&amp;rdquo; etc.&lt;/p&gt;
&lt;p&gt;Having thought that the end of brick-and-mortar stores and cash
were right around the corner in 1995, I&amp;rsquo;m a little skeptical of
new web trends.   I&amp;rsquo;m a life-long fad-avoider and I&amp;rsquo;ve smelled a
big fad around &amp;ldquo;blockchain&amp;rdquo; since it began.   Wired is all over
it.  What further proof is needed?&lt;/p&gt;
&lt;p&gt;That said money is about trust.  Do you believe someone else will
exchange goods and services for gold?   Do you believe this coin
really contains %100 gold?  Do you believe this paper money is
backed by gold?  Do you believe this paper money (fiat currency)
that is no longer backed by gold will continue to be accepted in
trade?  Do you believe it will hold value in the face of a
central bank that is printing infinite amounts of it in response
to political demands?  Do you believe that those account
balances that represent your life savings, which are nothing more
than numbers in some database are secure from loss/being
completely wiped out in two seconds by cyber fraud, ransomware,
accidental deletion, bureaucratic incompetence, corporate self
interest or the government?&lt;/p&gt;
&lt;p&gt;Money is also about force.   Will those in charge of the current
fiat currencies, who wield force (police, courts, regulations,
laws, armies) use that force to shut down a new fiat currency
(blockchain) that they don&amp;rsquo;t/can&amp;rsquo;t control.   My guess is, yes.
See China.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Learn git and galthub without any marketing</title>
      <link>http://curious.galthub.com/blog/no-marketing/</link>
      <pubDate>Sat, 04 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/no-marketing/</guid>
      <description>&lt;p&gt;OK, so a year or so later I&amp;rsquo;m back online with both a self-hosted &lt;a href=&#34;http://git.galthub.com/&#34;&gt;git&lt;/a&gt; and &lt;a href=&#34;https://curious.galthub.com/&#34;&gt;blog&lt;/a&gt;
presence.&lt;/p&gt;
&lt;p&gt;I had been using both github for code and github.io for my blog, but
for various reasons I decided to stop putting content there.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Walled gardens go away&lt;/dt&gt;
&lt;dd&gt;Walled gardens go way whenever it stops
suiting the bottom line of the company.  All the form posts from
CompuServe (my first employer) are gone AOL Instant Messenger
messages (another employer) are gone.  Myspace content is gone.
Twitter, Facebook and Google have been caught regularly censoring
and deleting material.  Apple, Amazon (another employer) and Google (G+ anyone?) will
be gone someday, and the user content they host that no longer suits
their business needs will be gone before that.
I&amp;rsquo;ve written at
length aobut this in
[BROKEN LINK: Blog/walled-gardens-part-1.pre-processed.org]
&amp;ldquo;40 years of walled gardens &amp;amp; open platforms: Part I&amp;rdquo; and
&amp;ldquo;40 years of walled gardens &amp;amp; open platforms: Part I&amp;rdquo;
&lt;blockquote&gt;
&lt;p&gt;Karl Voit nailed it :: &lt;a href=&#34;https://karl-voit.at/2020/10/23/avoid-web-forums/&#34;&gt;https://karl-voit.at/2020/10/23/avoid-web-forums/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;dl&gt;
&lt;dt&gt;&amp;ldquo;Learn git and github without any code!&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;Really? A site who&amp;rsquo;s
sole purpose is (was?) to allow programmers to share code puts a
slogan on top of all it&amp;rsquo;s pages &lt;em&gt;Learn git and github without any
code&lt;/em&gt;.  Umm.  No.  Just no.  It appears the marketing people at
Microsoft totally own the tech-focused site they bought.  The CEO
left.  They are apparently developing some non-standard tool (of
course they are, it&amp;rsquo;s Microsoft, &amp;ldquo;embrace and extend&amp;rdquo;&amp;quot;) &amp;ldquo;the Github
CLI&amp;rdquo; that they want you to use instead of, you know, standard git
tools that they don&amp;rsquo;t control.  And somehow an inherently
distributed source code control system is now centralizing all the
worlds code.  No.  Just no.&lt;/dd&gt;
&lt;dt&gt;My content, my way&lt;/dt&gt;
&lt;dd&gt;I just don&amp;rsquo;t want wordpress or atlassian or
microsoft to reformat my content, add advertising links, require
people to login or to throw long legal click-throughs and cookie
disclaimers in front of my public cogitations.&lt;/dd&gt;
&lt;dt&gt;Using tools I like&lt;/dt&gt;
&lt;dd&gt;Emacs org mode is going to take me to my
grave.  I &lt;strong&gt;like&lt;/strong&gt; using it.  Using it is a hobby.  It is therapeutic.
There is a worldwide community built around emacs:
&lt;a href=&#34;https://emacsconf.org/2021/&#34;&gt;https://emacsconf.org/2021/&lt;/a&gt;. I LIKE using Hugo. See [BROKEN LINK: Blog/hugo-org-github.pre-processed.org] (just ignore the
github bits now).  No need to use the mouse.&lt;/dd&gt;
&lt;dt&gt;Learning/Geeking&lt;/dt&gt;
&lt;dd&gt;I &lt;em&gt;like&lt;/em&gt; learning how to do things, how
modern-ish Internet stuff works.  In the process of getting this
back up, I&amp;rsquo;ve registered a new domain name (learning new record
types, SEO, etc. in the process), discovered &lt;a href=&#34;http://mysocket.io&#34;&gt;http://mysocket.io&lt;/a&gt;,
brushed up on my apache and ansible skills, reinstalled my dead
raspberry pie, and learned a good bit about configuring gitea&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;More to come now that I can get it out in a way I feel good about.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The World Needs Visionaries</title>
      <link>http://curious.galthub.com/blog/visionaries/</link>
      <pubDate>Sat, 03 Jul 2021 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/visionaries/</guid>
      <description>&lt;p&gt;Jeff Bezos is stepping down as CEO of Amazon Monday.  I met him
briefly at an internal company conference (the Amazon Machine Learning
conference) when I worked there 2016.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/Jeff_Bezos.jpg&#34; alt=&#34;Figure 1: Jeff Bezos&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Jeff Bezos
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I admire him.   He&amp;rsquo;s created things.   He built a company that&amp;rsquo;s
changing the world.   He had vision.  He (and his in-laws) took
risks.  He provided leadership (see the &lt;a href=&#34;https://www.aboutamazon.com/about-us/leadership-principles&#34;&gt;The Amazon Leadership
Principals&lt;/a&gt;) and he knew when to get out of the way.&lt;/p&gt;
&lt;p&gt;Any organization of humans that&amp;rsquo;s big enough will have problems.  It&amp;rsquo;s
full of humans.  But I view it as a mark of success that the teamsters
and the taxman are taking aim at Amazon now.  There is value there
that can be envied, vilified, stolen, leached off of and sued&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.
The European Union and Congress are not trying (as hard) to take down
smaller companies.  Amazon is on their radar because there is real
value there.  Bezos created it and he deserves every penny of the
value his %10 stake in the company gives him.  Who is &lt;del&gt;John Gault&lt;/del&gt;
Dagny Taggart?&lt;/p&gt;
&lt;p&gt;A couple years ago I finally met Jeff Wilkins, the early CEO of
CompuServe.  I had heard him spoken of in reverential terms by &lt;a href=&#34;http://curious.galthub.com/blog/steve/&#34;&gt;Steve
Wilhite&lt;/a&gt; (creator of GIF) and others at CompuServe.  But Henry Block
canned Wilkins the week I started at CompuServe.  After meeting
Wilkins and having a little time to actually talk to him, I get the
importance of vision at the top.  Wilhite, &lt;a href=&#34;http://ana-3.lcs.mit.edu/~jnc/cctalk/1999-July/0799.html&#34;&gt;Dr. John Goltz&lt;/a&gt; et al. did
some amazing tech work (packet switching in 1972 anyone?) but it took
vision to drive the company to pioneer much of what we now know as the
online world in the 1975-1985 time-frame &amp;hellip; email (gmail), electronic
news, online shopping (Amazon, eBay), chat (slack), file sharing
(iTunes), discussion groups (blogs, twitter, et al.), &amp;ldquo;cloud
computing&amp;rdquo; (wide area networking, virtual private networks and
time-sharing).  CompuServe ran on steam (and the back of some great
tech work by Wilhite and others) for another 10 years, but the vision
was gone.  CompuServe was eclipsed (and purchased) by Steve Case and
AOL, the Internet happened and about this time an online bookstore was
starting up.&lt;/p&gt;
&lt;p&gt;Hats off to the visionary, the risk taker and the leader.  You made
the world a better place. Thank you&amp;hellip;and enjoy your trip to space
following the vision of Robert Goddard, Gene Roddnenbery and others
:-)&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;See The Beatles and Apple Corp. (not Apple Computer) for
examples of creative visionaries who wound up in a morass of
lawsuits.  &lt;a href=&#34;https://youtu.be/Xzdw2WcSmb0&#34;&gt;George Harrion, &amp;ldquo;Sue Me, Sue You Blues&amp;rdquo;&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Of Typewriters, Scribe, LaTeX, Org mode, Hugo and Paper</title>
      <link>http://curious.galthub.com/blog/typewriters/</link>
      <pubDate>Sun, 06 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/typewriters/</guid>
      <description>&lt;h2 id=&#34;what-is-this-and-why-was-it-written&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; What is this and why was it written?&lt;/h2&gt;
&lt;p&gt;This is my personal history of putting
words-on-page-or-screen-or-blog-entry covering the period from
the late 1970s to present (2020-12-05).&lt;/p&gt;
&lt;p&gt;It was written (partially) at the request of &lt;a href=&#34;https://helpdeskheadesk.net/about/&#34;&gt;JTR&lt;/a&gt; from
whom I borrowed a Hugo blog theme.  Thanks JTR.&lt;/p&gt;
&lt;p&gt;I was writing a post where I wanted to include the \(\TeX\) symbol
in the post, which is perfectly possible in emacs org mode where
\(\TeX\) and \(\LaTeX\) are first class citizens, but it wasn&amp;rsquo;t
working.&lt;/p&gt;
&lt;p&gt;The blog exports to markdown via the &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;ox-hugo&lt;/a&gt; Org exporter back
end (lost yet?)  which &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt; then translates to HTML which can
then be previewed locally with Hugo&amp;rsquo;s own web server and then
pushed to the live site, in my case, this site using git push.&lt;/p&gt;
&lt;p&gt;I pinged JTR who, it turns out had little experience with
\(\LaTeX\) and so was not able to help.  Along the way, he asked
me&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Is there more you can tell me about use case for it? In other words,
can I get you to vent some more about this, it&amp;rsquo;s interesting.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So here is some venting. I can always vent. And, in case you were wondering, the
solution is to put&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;at the bottom of &lt;code&gt;layout/partials/head.html&lt;/code&gt; before &lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt; in
the modified &lt;a href=&#34;https://themes.gohugo.io/hyde-hyde/&#34;&gt;Hugo hyde theme&lt;/a&gt; I borrowed from JTR.&lt;/p&gt;
&lt;h2 id=&#34;some-history&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Some History&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Marley was dead, to begin with&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;No. No. No.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It was a dark and stormy night&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wrong.&lt;/p&gt;
&lt;p&gt;OK, how about this:&lt;/p&gt;
&lt;h2 id=&#34;dad-typewriters&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Dad - Typewriters&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;In high school I wrote out my paper assignments by hand and then my
Dad typed them for me, at least until I took typing and got up to
30wpm.  White-out can be your friend :-)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Better.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As high school progressed I and my friends started using the
HP-2000E in the computer lab on &lt;a href=&#34;https://en.wikipedia.org/wiki/Teletype_Model_33&#34;&gt;ASR 33 Teletypes&lt;/a&gt; (&lt;code&gt;/dev/tty&lt;/code&gt;
anyone?) that printed your input and the computers responses on
a role of paper.  We may have printed a few stories or other
prose, but mostly it was BASIC listings.&lt;/p&gt;
&lt;p&gt;Towards the end of high school, I remember eyeing the school
secretary&amp;rsquo;s IBM Selectric typewriter because we knew it could be
converted to a printer&amp;hellip;(Apple II&amp;rsquo;s were all the rage then
&amp;hellip;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;brian-reid-scribe&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Brian Reid - Scribe&lt;/h2&gt;
&lt;p&gt;So, &lt;a href=&#34;https://en.wikipedia.org/wiki/Scribe_(markup_language)&#34;&gt;Scribe&lt;/a&gt;.  So in the late 70&amp;rsquo;s at Carnegie-Mellon, Brian Reid
stepped into the long tradition of Computer Science geeks scratching
their own itch, developing one of the first mark-up languages
that allowed the author to describe a document structurally
(chapters, paragraph, et cetera.), and to target different output
devices (text, laser printer, etc.), and to externalize styles,
presaging the later CSS style sheets.&lt;/p&gt;
&lt;p&gt;Reid killed several birds with one stone.  Scribe was the
subject of his PhD Thesis, it formatted his PhD thesis (and
many others for a few years), and was sold to Unilogic sparking
the first software copyright problems between CMU and students,
wining Reid the ACM Grace Hopper Award, and, of course,
criticism from Richard Stallman&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; for not making it available for
free&amp;hellip;some people :-)&lt;/p&gt;
&lt;p&gt;I wound up using Scribe on the Ohio State DECsystem-20 and then
being the SCRIBE administrator for the department of Mechanical
Engineering for a year or two.  As I had access to
then-world-class formatting and typesetting facilities, Dad was
no longer typing my papers :-)&lt;/p&gt;
&lt;h2 id=&#34;donald-knuth-tex&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; Donald Knuth - &lt;a href=&#34;https://en.wikipedia.org/wiki/TeX&#34;&gt;TeX&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Meanwhile, on the other side of the country (on a dark and
stormy night?), &lt;a href=&#34;https://en.wikipedia.org/wiki/Donald_Knuth&#34;&gt;Donald Knuth&lt;/a&gt; was (and still is) engaged in
writing his foundational series of Computer Science textbooks,
&lt;em&gt;The Art of Computer Programming&lt;/em&gt; &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.  But he was not happy with
the appearance of the typesetting from his publisher, so, being
Donald Knuth, he set out to write his own
formatting and type-setting program c.a. 1978.  The result was
\(\TeX\). Along with &lt;a href=&#34;https://en.wikipedia.org/wiki/TeX&#34;&gt;TeX&lt;/a&gt;  he developed Metafont, a language for
describing fonts from which we get the Computer Modern fonts.&lt;/p&gt;
&lt;p&gt;The current \(\TeX\) release is 3.14159265.   Each subsequent
release adds a digit of \(\pi\).   Metafont is at  2.7182818 and
approaching &lt;em&gt;e&lt;/em&gt; with each release.&lt;/p&gt;
&lt;p&gt;I installed the Pascal based TeX82 on the DEC10&amp;rsquo;s at
CompuServe sometime around 1986.&lt;/p&gt;
&lt;h2 id=&#34;donald-knuth-literate-programming&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Donald Knuth - Literate Programming&lt;/h2&gt;
&lt;p&gt;Not content with having won the Turning award in 1974 (4 years
prior), with creating a typesetting system that is used to this
day for a large fraction of academic publishing, alongside
\(\TeX\) he came up with the concept of &lt;a href=&#34;https://en.wikipedia.org/wiki/Literate_programming&#34;&gt;Literate Programming&lt;/a&gt;, the
basic idea of which is you are writing a program both for humans
and machines.  The language was called WEB&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;.   The basic
process is to run &amp;ldquo;weave&amp;rdquo; to generate output for humans (say, a
volume of the &lt;em&gt;The Art of Computer Programming&lt;/em&gt;) and to run
&amp;ldquo;tangle&amp;rdquo; to generate output (code) for machines.&lt;/p&gt;
&lt;p&gt;We see elements of this today in Jupyter and Zeppelin notebooks,
and for those of the Emacs-Org-mode faith, as the mix of &lt;a href=&#34;https://orgmode.org/&#34;&gt;Org
Mode&lt;/a&gt; and &lt;a href=&#34;https://orgmode.org/worg/org-contrib/babel/intro.html&#34;&gt;Org Babel&lt;/a&gt;.  See the paper by Domnick, Shculte etc on
reproducible research: &lt;a href=&#34;https://www.jstatsoft.org/article/view/v046i03&#34;&gt;https://www.jstatsoft.org/article/view/v046i03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Org directly supports a form &amp;ldquo;tangle&amp;rdquo; today.&lt;/p&gt;
&lt;h2 id=&#34;guy-steele-the-1-degree-of-separation&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;7&lt;/span&gt; Guy Steele - the 1 degree of separation&lt;/h2&gt;
&lt;p&gt;Guy Steele who later went on to have a lot to do with Java (and
standardizing C) seems to have been the 1-degree-of-separation
point for Emacs, TeX, and possibly SCRIBE.  As recently
as &lt;a href=&#34;https://emacsconf.org/2020/&#34;&gt;https://emacsconf.org/2020/&lt;/a&gt;, Stallman credits Steele with
helping invent Emacs.  Per Wikipedia, Steele spent the summer of
78 at Stanford and later implemented a back-end for TeX at MIT.
By 1980 or so (per my wife who knew him there) he was at CMU and
Tartan Labs as Reid was finishing off SCRIBE and his thesis.
The Stanford-Berkeley-MIT-CMU crowed was (is?) a small world.
James Gosling (Java, &lt;a href=&#34;https://en.wikipedia.org/wiki/Gosling_Emacs&#34;&gt;GosMacs&lt;/a&gt; 1981) was also kicking around CMU
before moving off to Sun.&lt;/p&gt;
&lt;h2 id=&#34;leslie-lamport-latex&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;8&lt;/span&gt; Leslie Lamport - Latex&lt;/h2&gt;
&lt;p&gt;So, \(\TeX\) was cool and all, but it was very low level, and in
some ways difficult to work with.  People had seen SCRIBE.  So
at some point in the mid-80s, as SCRIBE was on its way to
proprietary-software-oblivion, &lt;a href=&#34;https://en.wikipedia.org/wiki/Leslie_Lamport&#34;&gt;Leslie Lamport&lt;/a&gt; created \(\LaTeX\).&lt;/p&gt;
&lt;p&gt;\(\LaTeX\) is, from my point of view, a set of SCRIBE-like macros
on top of \(\TeX\).  Very useful.&lt;/p&gt;
&lt;p&gt;And because creators gonna create&amp;hellip;.along the way Lamport and
Oren Patashink created &lt;a href=&#34;https://en.wikipedia.org/wiki/BibTeX&#34;&gt;BibTeX&lt;/a&gt; which is to this day one of the
most common ways to keep a list of bibliographic references that
can be cited in your papers.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re curious what all this looks like, I keep my resume in
.tex format&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;. You can see it here
&lt;a href=&#34;http://www.port111.com/george/resume/&#34;&gt;http://www.port111.com/george/resume/&lt;/a&gt; along with the .bib file
for citations and .tex input.&lt;/p&gt;
&lt;h2 id=&#34;bill-gates-and-the-nameless-corporate-droids-wysiayg-editors&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;9&lt;/span&gt; Bill Gates and the nameless corporate droids&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt; - WYSIAYG Editors&lt;/h2&gt;
&lt;p&gt;What You See Is All You Get (WYSIAYG) also known as What You See
Is What You Get (WISIWYG) editors let you move pixels around on
the screen and print exactly what you see.  With no training at
all in printing, typesetting, aesthetics, or design you can make
wildly inconsistent and incoherent decisions about the visual
appearance of your document, in fact, you (and your boss and
your marketing department) can focus on that from the start to
the exclusion of stringing together coherent thoughts.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m pretty sure SCRIBE and \(\LaTeX\) form the basis of my
antipathy to the WYSIWIG editors that started to come along
(mass market).  When writing documents you should think first
about what you are saying, the structure of your document, your
arguments and your story line before you worry (if all) about
making a font just the right size and color so you can make your
power point.  Formatting should be the afterthought, and no
more than choosing the right style sheet.  Brian Reed got that
right.&lt;/p&gt;
&lt;h2 id=&#34;sir-almost-not-appearing-in-this-blog-post-runoff-and-nroff&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;10&lt;/span&gt; Sir &amp;ldquo;Almost not appearing in this blog post&amp;rdquo; - RUNOFF and nroff&lt;/h2&gt;
&lt;p&gt;A couple honorable mentions that I did in fact use a good bit
along the way are &lt;a href=&#34;https://en.wikipedia.org/wiki/TYPSET_and_RUNOFF&#34;&gt;DEC RUNOFF&lt;/a&gt; (DEC 10s, VMS) and &lt;a href=&#34;https://en.wikipedia.org/wiki/Nroff&#34;&gt;nroff&lt;/a&gt; (unix).&lt;/p&gt;
&lt;p&gt;nroff comes in handy when you want to write man(1) pages.&lt;/p&gt;
&lt;h2 id=&#34;tim-berners-lee-the-web&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;11&lt;/span&gt; Tim Berners-Lee - The Web&lt;/h2&gt;
&lt;p&gt;There was a time before the web.  There were things written and
published before the web.  But since the early 90s it&amp;rsquo;s been the
800-pound gorilla in the living room.&lt;/p&gt;
&lt;p&gt;There were other hyptertext systems before it.  Apple&amp;rsquo;s
HyperCard.  The GNU/Emacs info system.  There was, in fact, a
whole academic conference on hypertext systems at which early
versions of HTML/HTTP were scorned.&lt;/p&gt;
&lt;p&gt;But NCSA Mosaic happened, Netscape happened (&lt;a href=&#34;https://en.wikipedia.org/wiki/Marc_Andreessen&#34;&gt;Marc Andreessen&lt;/a&gt;).
The NCSA, Netscape and Apache servers happened.  For various
reasons, the World Wide Web took off in ways that gopher never
did and &lt;a href=&#34;https://gemini.circumlunar.space/&#34;&gt;Gemini&lt;/a&gt; probably never will.  Stodgy XML editors were
rebranded as exciting new HTML editors.&lt;/p&gt;
&lt;p&gt;I attended the 2nd International Conference on Mosaic and the
Web, met Berners-Lee, and implemented a never-released web
browser that worked through CompuServe&amp;rsquo;s WinCIM which would have
allowed dial-up users without an IP stack such as SLIP or PPP
(most users at that time) to access the web.  But marketing
people.  They were not sure this web thing was going to catch
on&amp;hellip;.&lt;/p&gt;
&lt;h2 id=&#34;carsten-dominick-org-mode-your-life-in-plain-text&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;12&lt;/span&gt; Carsten Dominick - Org Mode - &amp;ldquo;Your Life in Plain Text&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Your blog post is text.  Your email it text.  Your slack (IRC)
messages are text.  Your documents are text.  Your calendar and
agenda are text.  Your shopping lists are text.  You TODO lists
are text.  Musical scores are texts.  Poems are text.  ASCII art
is text.  Source code is text.  Data is text (json).  The web is
text (once you strip out all the graphics, videos, java and
javascript&amp;hellip;) At different levels YOU are text.  Your DNA
sequence is a text.  The story of your life is a text.&lt;/p&gt;
&lt;p&gt;There was a period in the late 90s and early 2000s where Emacs
(the text editor) kind of went into a lull.  Then two things
happened: package managers (ELPA, MELPA, basically &amp;ldquo;apps&amp;rdquo; for
emacs) and org mode.&lt;/p&gt;
&lt;p&gt;Org mode is a game changer.  It&amp;rsquo;s going to take me to my grave
or senility where I forget the meta-alt-control-shift-escape
sequences needed to make the magic happen, whichever comes first.
People are learning an arcane 44-year old editor just to use org
mode (and the growing list of packages being built in/with round
it).&lt;/p&gt;
&lt;p&gt;Org started as a simple text outline tool.  It enabled Abraham
Lincoln to write a short, pithy, and memorable speech:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-org&#34; data-lang=&#34;org&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*&lt;span style=&#34;font-weight:bold&#34;&gt; Hook&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Four score and seven years ago our fathers
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;- &lt;/span&gt;brought forth on this continent, a new nation,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    o conceived in Liberty,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    o and dedicated to the proposition
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;+ &lt;/span&gt;that all men are created equal.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Body
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Now we are engaged in a great civil war, testing whether that
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   nation, or any nation so conceived and so dedicated, can long
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   endure...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;***&lt;/span&gt; Conclusion
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ...that government of the people, by the people, for the people,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    shall not perish from the earth.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;OK, maybe not.&lt;/p&gt;
&lt;p&gt;Carsten Dominick, the creator of Org, is an academic
(Astronomy professor), he built in support for \(\LaTeX\) from the
beginning.  To use \(\LaTeX\) in Org, you simply write latex
and math equations exactly as you would for &amp;ldquo;normal&amp;rdquo; \(\LaTeX\).
If the back-end exporter (e.g. the \(\LaTeX\) exporter or the HTML
exporter) support \(\LaTeX\), you just get your nicely formatted
output for free&lt;/p&gt;
&lt;p&gt;\begin{multline*}
p(x) = x^8+x^7+x^6+x^5
\end{multline*}&lt;/p&gt;
&lt;p&gt;Org documents can be easily exported to text (of course),
\(\LaTeX\), HTML, .ODF (Microsoft Word compatible) and scores of
others.  Same input.  2 or 3 keystrokes.  Different output.&lt;/p&gt;
&lt;p&gt;Org naively supports TODO lists, outlines, agendas, planning (GTD
and similar systems), note taking/knowledge capture, contact
management, calendaring, spreadsheet-like calculations, literate
programming and the list goes on.&lt;/p&gt;
&lt;p&gt;Same basic interface.  Same commands.  Not a mouse-over, click or
graphical interface in sight (unless you want it) Just text, all
the way down.&lt;/p&gt;
&lt;p&gt;And since it&amp;rsquo;s just text, it can be handled with source code
management tools (git) and of course your favorite text editor.&lt;/p&gt;
&lt;p&gt;There are mobile clients (&lt;a href=&#34;https://github.com/orgzly/orgzly-android&#34;&gt;see Orgzly&lt;/a&gt;) so you can simply push org
text files to your phone with Dropbox or Syncthing and use them
for TODO lists, quick note taking and journal entries, shopping
lists, contact management, schedules, etc.&lt;/p&gt;
&lt;p&gt;Oh, and ASCII art is a thing&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                        /  \ &amp;#34;I&amp;#39;ll see you on __
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                /\                     /   /  the text side  /  \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               /  \                   /       of the moon&amp;#34;  /   /
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-------R------/    \                _/_____       _______  /
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-------G-----/    --\-----W------- /       \ / \ /       \/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-------B----/        \            |   Org   |   |  Mode   |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           /          \            \_______/     \_______/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          -------------
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;src-block-caption&#34;&gt;
  &lt;span class=&#34;src-block-number&#34;&gt;Code Snippet 1:&lt;/span&gt;
  Text Colored Glasses
&lt;/div&gt;
&lt;h2 id=&#34;johnny-cash-i-ve-seen-em-come-and-go-and-i-ve-seen-em-die-dot-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;13&lt;/span&gt; Johnny Cash - &amp;ldquo;I&amp;rsquo;ve seen &amp;rsquo;em come and go, and I&amp;rsquo;ve seen &amp;rsquo;em die..&amp;rdquo;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CompuServe&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prodigy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;BIX&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GEnie&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;AIM&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;AOL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MySpace&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Google+&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://killedbygoogle.com/&#34;&gt;Killed By Google&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My father spent 25 years working for the Ohio Historical
Society running the microfilm department.  A lot of that time
was spent preserving the last remaining copies of 19th and
20th newspapers that somebody found in Aunt Millie&amp;rsquo;s attic at
her estate sale.  Save for that, the daily history of Findlay,
Cadiz, Yellow Springs, Lima and Barberton would have been
completely lost.  He was preserving important texts.  He was
preserving, in some cases, the only record of people&amp;rsquo;s lives.
People&amp;rsquo;s lives matter.&lt;/p&gt;
&lt;p&gt;I began my professional career at CompuServe.  CompuServe had
vibrant forums where there was lots of interaction, growth and
history made.  All with text exchanges.   A couple years ago,
most of that history was flushed because &amp;ldquo;there was no
business case for preserving it.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Companies come and go.  They should not be trusted to preserve
important texts or to decide which texts are important.  Today
Facebook and Twitter are censoring content.  How long will
they be in business? When will they dump text you care about?&lt;/p&gt;
&lt;p&gt;Karl Voit has spelled this out very well in a blog post: &lt;a href=&#34;https://karl-voit.at/2020/10/23/avoid-web-forums/&#34;&gt;Don&amp;rsquo;t
Contribute Anything Relevant in Web Forums Like Reddit&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am systematically moving my texts off &amp;ldquo;Big Internet&amp;rdquo;.
Facebook went (mostly in 2016, completely in 2020).  I&amp;rsquo;ve
stopped posting to Twitter.  Dropbox is gone.  Github (which
hosts this blog) is next.  Google in progress.  I helped
create this world, but it&amp;rsquo;s time for a course correction.
Centralization and mediation of human interaction by
organizations with nothing but a advertising-driven profit
motive&lt;sup id=&#34;fnref:6&#34;&gt;&lt;a href=&#34;#fn:6&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;6&lt;/a&gt;&lt;/sup&gt; is a problem.  We need to move to systems that
put people first.&lt;/p&gt;
&lt;p&gt;Having recently joined the Mastadon community Fosstodon that
focuses on Free and Open Source Software, I believe we are
living in an incredible time where the tools we need for a
federated, decentralized, ad-free, people-centric world are
being created&amp;hellip;all without even jumping on the
crypto-currency bandwagon :-).  There are extant/emerging
solutions for authoring, messaging, social networking,
distributed source code control and many more.  Herein lies
another long post, but to me this &amp;ldquo;feels&amp;rdquo; very like the early
days of GNU and Linux.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;steve-francia-hugo&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;14&lt;/span&gt; Steve Francia - Hugo&lt;/h2&gt;
&lt;p&gt;One last entry in the things-I-have-used-to-write lineup.  The
Hugo static web site generator is bringing you this blog.&lt;/p&gt;
&lt;p&gt;The production of this blog combines many of the technologies
and processes already discussed:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;org mode&lt;/dt&gt;
&lt;dd&gt;The actual source for this blog is a &amp;ldquo;normal&amp;rdquo;
emacs org mode buffer which is exported via the ox-hugo
backend&lt;/dd&gt;
&lt;dt&gt;\(\LaTeX\)&lt;/dt&gt;
&lt;dd&gt;The ox-hugo exporter deals seamlessly
with almost all org features, including \(\LaTeX\)&lt;sup id=&#34;fnref:7&#34;&gt;&lt;a href=&#34;#fn:7&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;7&lt;/a&gt;&lt;/sup&gt;,
footnotes, &lt;em&gt;emphasis&lt;/em&gt;, etc.&lt;/dd&gt;
&lt;dt&gt;Web&lt;/dt&gt;
&lt;dd&gt;Once the markdown is produced, Hugo does what it does.
It uses style sheets, templates, themes etc to render the blog
as HTML served up via a local web server for texting and to be
pushed to the &amp;ldquo;live&amp;rdquo; web serer for production.&lt;/dd&gt;
&lt;dt&gt;Focus on the content&lt;/dt&gt;
&lt;dd&gt;And all of this is in the &amp;ldquo;don&amp;rsquo;t worry
what it looks like, just focus on the content&amp;rdquo; mode.  With 4
keystrokes I exported a copy of this post to &lt;code&gt;.ODT&lt;/code&gt; format so
my son could review it in word.  A different 4 keystokes
exports to text or HTML.  I let the back-ends &amp;ldquo;do the right
thing&amp;rdquo; to make it &amp;ldquo;look good&amp;rdquo; in the target format.&lt;/dd&gt;
&lt;dt&gt;git&lt;/dt&gt;
&lt;dd&gt;Once the results are satisfactory, they are &amp;ldquo;pushed to
production&amp;rdquo; via &lt;code&gt;git push&lt;/code&gt;.  Problems?  Need to back out?
It&amp;rsquo;s git.   Multiple authors?  It&amp;rsquo;s git.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;I described this process in way too much detail already
elsewhere in my blog post on [[&lt;a href=&#34;http://curious.galthub.com/blog/hugo-org-github/&#34;&gt;http://curious.galthub.com/blog/hugo-org-github/&lt;/a&gt;][publishing a blog on Github with Org and Hugo]&lt;/p&gt;
&lt;h2 id=&#34;george-jones-ok-but-did-george-actually-write-anything-worth-reading&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;15&lt;/span&gt; George Jones - OK, but did George actually write anything worth reading?&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;ve read this far on a long blog post :-)&lt;/p&gt;
&lt;p&gt;I may have written some things, well, a lot of things.  You can
decide if they are worth reading.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href=&#34;https://tools.ietf.org/html/rfc3871&#34;&gt;https://tools.ietf.org/html/rfc3871&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;RFC3871 was a
starry-eyed attempt at getting large network equipment vendors
to, you know, stop using telnet (with plain-text passwords in
the clear) for management of inconsequential computers like
the routers that make up the Internet backbone.  It used yet
another cool text formatting tool, &lt;a href=&#34;https://xml2rfc.tools.ietf.org/&#34;&gt;xml2rfc&lt;/a&gt;.  In my opinion we
lost the war, e.g. getting security features in important
devices &amp;hellip; and well &amp;hellip; IOT devices are here now, many using
the same least-cost TCP/IP stacks that are full of the same
problems, see
&lt;a href=&#34;https://en.wikipedia.org/wiki/Ripple20&#34;&gt;https://en.wikipedia.org/wiki/Ripple20&lt;/a&gt;
and not
up-gradable.  It looks like the &lt;a href=&#34;https://tools.ietf.org/wg/opsec/charters&#34;&gt;IETF OPSEC Working Group&lt;/a&gt; that
that document spawned is still going, pumping out documents,
and, I&amp;rsquo;m sure, in the words of Marshall Rose, there have been
&amp;ldquo;&lt;a href=&#34;http://www.faqs.org/rfcs/rfc3160.html&#34;&gt;Many fine lunches and dinners&lt;/a&gt;&amp;rdquo;&lt;/dd&gt;
&lt;dt&gt;Links to a few pubs, talks, papers, etc&lt;/dt&gt;
&lt;dd&gt;Because 20 year old
index.html files never die &lt;a href=&#34;http://www.port111.com/george/#pubs&#34;&gt;http://www.port111.com/george/#pubs&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;back-to-paper&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;16&lt;/span&gt; Back to paper&lt;/h2&gt;
&lt;p&gt;I used to have a saying:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If it requires paper, it&amp;rsquo;s the wrong interface.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;m backtracking on that.  I journal, on paper, most mornings.
I&amp;rsquo;m finding that there is a level of creativity, spontaneity and
a kind of catharsis that happens when putting things on paper.
I make non-linear connections that would never be made at a
keyboard.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not sure what that&amp;rsquo;s saying.  Stay open?  Be willing to
re-consider things you&amp;rsquo;ve discarded?   There will be no follows.
No likes.  No re-shares.  No chance of going viral.  But its
where I find my thoughts.  Things have come full circle.&lt;/p&gt;
&lt;h2 id=&#34;final-thoughts&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;17&lt;/span&gt; Final thoughts&lt;/h2&gt;
&lt;p&gt;I hope this has been at least an in interesting read.  I hope it
has provided at least some idea of where we are and how we got
here in terms of technology for putting thoughts on &amp;ldquo;paper&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;and-now-a-word-from-our-sponsor-dot-dot-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;18&lt;/span&gt; And now, a word from our sponsor&amp;hellip;&lt;/h2&gt;
&lt;p&gt;\begin{array}{*{20}c} {x = \frac{{ - b \pm \sqrt {b^2 - 4ac} }}{{2a}}} &amp;amp; {{\rm{when}}} &amp;amp; {ax^2 + bx + c = 0} \\ \end{array}&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;This was several years before the start of the GNU project.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Knuth&amp;rsquo;s &lt;em&gt;The Art Of Computer Programming&lt;/em&gt; is available on
github.  I&amp;rsquo;m not going to provide a link because when I went there and
tried to view the site it crashed my browser and nearly froze my
computer.  My guess is Knuth just did something that was perfectly
sensible from a theoretical view (maybe creating a 50 gig PDF), but
which mere software chokes on.  Computer Science classic texts as DOS
attacks?  Another unintended side effect.  I wonder if &lt;a href=&#34;https://attack.mitre.org/&#34;&gt;MITRE ATT&amp;amp;CK&lt;/a&gt;
has mapped that threat yet?&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;And, yes, Tim Berners-Lee was in academic circles then and
could not have helped knowing about Knuth&amp;rsquo;s WEB &amp;hellip; score naming
the Word Wide Web as a side effect of a side effect for Knuth?&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;Actually, it&amp;rsquo;s in in an .org format with custom elisp code
that implements cpp style ifdef logic for producing different
output for the short resume, the long resume, linkedin, etc. off
the same source, that creates latex on export which is then run
through tex and friends to produce a pdf, but shhh.  Pay no
attention to that man behind the curtain.&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34;&gt;
&lt;p&gt;&amp;ldquo;Bill Gates and the Nameless Corporate Droids&amp;rdquo; sounds like a
fine name for a band, right up there with &amp;ldquo;The Dead Kennedys&amp;rdquo;&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:6&#34;&gt;
&lt;p&gt;Oppressive governments and various other not-so-friendly
motivations fall here as well.&amp;#160;&lt;a href=&#34;#fnref:6&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:7&#34;&gt;
&lt;p&gt;once the &lt;code&gt;layout/partials/head.html&lt;/code&gt; was fixed&lt;/p&gt;
&lt;p&gt;Posts 39, 40 and 41 of #100DaysToOffload
&lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.  This one was a production. It counts
for 3.&amp;#160;&lt;a href=&#34;#fnref:7&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>.bashrc as literate programming</title>
      <link>http://curious.galthub.com/blog/bashrc/</link>
      <pubDate>Sat, 05 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/bashrc/</guid>
      <description>&lt;h2 id=&#34;knuth-gets-annoyed-at-his-publishers-tex-is-born-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Knuth gets annoyed at his publishers, \(\TeX\) is born.&lt;/h2&gt;
&lt;p&gt;Back in the late 70s Donald Knuth who was (and still is) publishing a
seminal series of Computer Science text books got annoyed at the
typesetting, layouts and font choices he was being presented by
publishers.   So he did what any self-respecting hacker who happened
to be Donald Knuth would do: he created his own typesetting system
called \(\TeX\) which (along with \(\LaTeX\) which borrowed heavily from SCRIBE)
is something of a standard to this day in academic publishing.&lt;/p&gt;
&lt;p&gt;Because, you know, why is it unreasonable to expect publishers to
render simple equations, right?&lt;/p&gt;
&lt;p&gt;\begin{multline*}
\vec{E}_{\mathrm{tot}}=
q\cdot k_{b}\cdot \dfrac{r}{r^3}
\left\lgroup
\frac{\hat{r}-\left(\dfrac{d}{2\cdot r}\right)\hat{d}}
{\biggl(1+\left(\dfrac{d}{2\cdot r}\right)^2-
\left(\dfrac{d}{r}\right)\hat{r}\cdot\hat{d}\cdot\cos(\theta)
\biggr)^{3/2}}
\right.
\\
\left.
{}-
\frac{\hat{r}+\left(\dfrac{d}{2\cdot r}\right)\hat{d}}
{\biggl(1+\left(\dfrac{d}{2\cdot r}\right)^2+
\left(\dfrac{d}{r}\right)\cdot\hat{r}\cdot\hat{d}\cdot\cos(\theta)
\biggr)^{3/2}}
\right\rgroup
\end{multline*}&lt;/p&gt;
&lt;style&gt;.org-center { margin-left: auto; margin-right: auto; text-align: center; }&lt;/style&gt;
&lt;div class=&#34;org-center&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://tex.stackexchange.com/questions/371644/how-to-write-this-long-equation&#34;&gt;https://tex.stackexchange.com/questions/371644/how-to-write-this-long-equation&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;But wait, there&amp;rsquo;s more.&lt;/p&gt;
&lt;h2 id=&#34;literate-programming&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Literate Programming&lt;/h2&gt;
&lt;p&gt;In addition to writing his own typesetting system, he came up with the
concept of &lt;em&gt;Literate Programming&lt;/em&gt; at the same time.   The basic idea
is that you write for humans to read (e.g. text books) with a
side-effect of outputting code (for machines to execute).   It is the
ultimate in software documentation.   The code and the description are
an integrated whole with different processes, &amp;ldquo;tangle&amp;rdquo;, to produce code
and &amp;ldquo;weave&amp;rdquo;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, to produce output for humans&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been influenced by the concept of &lt;em&gt;Literate Programming&lt;/em&gt; ever
since I installed the original TeX (and LaTex) on CompuServe&amp;rsquo;s DEC10s.&lt;/p&gt;
&lt;h2 id=&#34;the-children-of-tangle-and-weave-org-babel-jupyter-and-zepplin&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The children of tangle and weave - Org, Babel, Jupyter and Zepplin&lt;/h2&gt;
&lt;p&gt;Fast forward a few decades.  Carsten Dominick creates org mode for
Emacs to organize, well, everything which, of course, has a back end
to output .tex files.   Eric Schulte then has the bright ideas of
creating org-babel, which allows small (or not so small) blocks of
code to be imbedded in org files and executed with their output
becoming part of the document.   Literate programming, here were are,
again&amp;hellip;.oh, and it&amp;rsquo;s a tool for doing reproducible scientific
research as well where the data, code, descriptions of experiments and
results/conclusions are all one document:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.jstatsoft.org/article/view/v046i03&#34;&gt;https://www.jstatsoft.org/article/view/v046i03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Jupyter and Zeppelin notebooks provide similar functionality today for
Python, Spark, Scala and the data science community, but Knuth was
there 40 years ago.&lt;/p&gt;
&lt;h2 id=&#34;george-gets-annoyed-at-a-complicated-dot-bashrc-dot-bashrc-dot-org-is-born&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; George gets annoyed at a complicated .bashrc, .bashrc.org is born&lt;/h2&gt;
&lt;p&gt;Which brings me to my own humble annoyances which are not likely to
change the course of science or academic publishing&amp;hellip;&lt;/p&gt;
&lt;p&gt;As a nearly lifelong emacs user I am mildly annoyed any time I have to do
something that can&amp;rsquo;t be done in emacs in general, and have been
particularly annoyed at the growing complexity of my &lt;code&gt;.bashrc&lt;/code&gt; file
which could not be organize and documented in org mode&amp;hellip;.until now.&lt;/p&gt;
&lt;h2 id=&#34;emacsconf-2020-talk-readme-driven-design&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; EmacsConf 2020 talk: README Driven Design&lt;/h2&gt;
&lt;p&gt;A talk at EmacsConf 2020 reminded me that Org mode can be used
directly for literate programming.&lt;/p&gt;
&lt;p&gt;Test Driven Design (TDD) had been a concept for a while: write
your tests first, once your code passes, you&amp;rsquo;re done.  Find a
bug, write a new test, code until it passes.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;README Driven Design&amp;rdquo; continues in the same vein.  Often
programmers will wait to the end to write their documentation,
install notes, user guide etc.  What this talk advocates is to
use literate programming and to &lt;em&gt;start&lt;/em&gt; the README.org, which,
given Org babel, could be the whole application, including TDD
scripts.  See. Emacs does subsume all, did you notice how TDD
just got swallowed up without missing a step?  See the blog post
summarizing the talk at
&lt;a href=&#34;http://adamard.com/literate_programming.html&#34;&gt;http://adamard.com/literate_programming.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;1-my-dot-bashrc-as-literate-programming&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; 1 - My .bashrc as literate programming&lt;/h2&gt;
&lt;p&gt;What follows are three different versions of my (457 line)
&lt;code&gt;.bashrc&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;The first is the version for-human-consumption, complete with
comments, descriptions, useful font highlighting and actual text
blocked out. In Knuth&amp;rsquo;s terms, this is the &amp;ldquo;weave&amp;rdquo; output.&lt;/p&gt;
&lt;p&gt;The second is the .bashrc that actually gets executed by bash.
This is the &amp;ldquo;tangle&amp;rdquo; output.&lt;/p&gt;
&lt;p&gt;The last is the org mode source from which both preceding
versions used as input.&lt;/p&gt;
&lt;h3 id=&#34;1-dot-1-my-dot-bashrc-weave-output-for-humans&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6.1&lt;/span&gt; 1.1 - My .bashrc - weave output for humans&lt;/h3&gt;
&lt;p&gt;Here is the human-readable .bashrc file with comments, etc.&lt;/p&gt;
&lt;h4 id=&#34;about-this-dot-bashrc-file&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6.1.1&lt;/span&gt; About this .bashrc file&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Intro&lt;/p&gt;
&lt;p&gt;This is George Jones&amp;rsquo; .bashrc file as an literate programming file in
emacs org mode using babel blocks.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To generate the actual .bashrc&lt;/p&gt;
&lt;p&gt;This .bashrc.org file must be processed to generate the actual
.bashrc It can be processed interactively to generate .bashrc via
org-babel-tangle-file or from the command line as&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;emacs --batch --eval &amp;#34;(require &amp;#39;org)&amp;#34; --eval &amp;#39;(org-babel-tangle-file &amp;#34;.bashrc.org&amp;#34;)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Permanent changes must be made to the .org version, as the actual
.bashrc will be overwritten when the .org version is &amp;ldquo;compiled&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Debugging&lt;/p&gt;
&lt;p&gt;In most bash files I do&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -e
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -u
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;but there are problems setting it in .bashrc.   An error then causes
you to exit the shell entirely (not what you want), and there are
several constructs that cause warnings due to undefined variables
(these can/probably should be fixd)&lt;/p&gt;
&lt;p&gt;Set&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export DEBUG=1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;to enable debugging output from the debug helper function.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;the-actual-executable-dot-bashrc&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6.1.2&lt;/span&gt; The actual executable .bashrc&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Helper functions&lt;/p&gt;
&lt;p&gt;I define a few syslog-ish helper functions to print warnings,
errors, etc.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#PROG=`basename &amp;#34;$0&amp;#34; | tr -d &amp;#39;\n&amp;#39;`  # normal setting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROG&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bashrc&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# setting for bashrc due to errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; info&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; info: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; warn&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; warning: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; error&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; error: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; debug&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; -v DEBUG &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; debug: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; true ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; die&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; fatal: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; exit 1; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set a reasonable default prompt&lt;/p&gt;
&lt;p&gt;Here I set a reasonable default prompt that includes timestamp,
username, host and current directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PS1&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\# [\t] \u@\h \W/ &lt;/span&gt;$&lt;span style=&#34;color:#e6db74&#34;&gt; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Misc aliases&lt;/p&gt;
&lt;p&gt;Define various aliases that I use&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias rm&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	rm -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	alias | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias eg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	printenv | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias hg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ht&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | tail&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias fpg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	find . -print | egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias egi&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias psg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	/bin/ps -auxww | grep&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias p8&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 8.8.8.8&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure routing works&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias pp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 port111.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure dns and routing work&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias locate&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;locate -r&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;cd commands that use/print the directory stack&lt;/p&gt;
&lt;p&gt;These aliases support pushd/popd/dirs like functionality while
listing one directory per line&lt;/p&gt;
&lt;p&gt;I like to keep a &amp;ldquo;stack&amp;rdquo; of directories so I can work on one thing
then &amp;ldquo;pop&amp;rdquo; back to where I was.   &lt;code&gt;pushd&lt;/code&gt; an &lt;code&gt;popd&lt;/code&gt; support this,
and &lt;code&gt;dirs&lt;/code&gt; lists the directories, but I prefer to have them listed
one per line.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;L&amp;#34;ist directory stack, one per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; d in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;dirs&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; echo $d; &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirc&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;C&amp;#34;onnect - connect to directory and list stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirc [DIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    pushd &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirp &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;P&amp;#34;op - pop N entries off the directory stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirp [N]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#   alias  dirp=&amp;#39;popd &amp;gt; /dev/null &amp;amp;&amp;amp; dirl&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;seq &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dirl: popd. i is &lt;/span&gt;$i&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        popd &amp;gt; /dev/null;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias cd&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;pushd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Misc functions&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; gf&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# grep-find: grep for patterins in files via find&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Usage: gf patterns [files [days]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Examples:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeAnywhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles &amp;#39;*.txt&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles .txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf BEGIN\|END .org 30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;365&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# First arg is pattern(s) for egrep&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gf needs string(s) to search for &amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  info &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Usage: gf patterns [files [days]]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Second arg (if present) is files for find.  No globbing, so &amp;#34;*.txt&amp;#34; OK&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ ^&lt;span style=&#34;color:#ae81ff&#34;&gt;\.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Special case: treat &amp;#34;.foo&amp;#34; as &amp;#34;*.foo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Avoids needing to quote on command line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name *&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# $3 (if present) is find -mtime arg, default 365&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;find . -type f -mtime -&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;days&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; $files -exec egrep --color -H -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\{\}&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set +o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bash history functions and settings&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Preserve history across sesssions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# http://unix.stackexchange.com/questions/1288/preserve-bash-history-in-multiple-terminal-windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTCONTROL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ignoredups:erasedups  &lt;span style=&#34;color:#75715e&#34;&gt;# no duplicate entries&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTSIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;                   &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTFILESIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;               &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shopt -s histappend                      &lt;span style=&#34;color:#75715e&#34;&gt;# append to history, don&amp;#39;t overwrite it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Save and reload the history after each command finishes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PROMPT_COMMAND&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;history -a; history -c; history -r;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; hgt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# hgt == &amp;#34;history grep (for arg) tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#echo &amp;#34;Histroy Grep tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hgt needs an argument&amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    history | grep -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | tail
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set the hostnane, timezone and local&lt;/p&gt;
&lt;p&gt;Set HOSTNAME if ~/etc/hostname exists&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e /etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat /etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;unknown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Set timezone if ~/bin/tz.sh exists&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# NEW, if neeeed?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://linuxize.com/post/how-to-set-or-change-timezone-in-linux/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# if [ -e ~/bin/tz.sh ]; then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     echo Setting timezone.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     source ~/bin/tz.sh # should be in ~/rc.local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# STILL NEEDED?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Set local for numeric output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LOCAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;locale -a | grep -i en_us | head -1&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; export LC_NUMERIC&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set up ssh agent&lt;/p&gt;
&lt;p&gt;Add keys by hand if needed via&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-add ~/.ssh/id_*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e ~/bin/sshagent &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    source ~/bin/sshagent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Copy stdin to clipboard&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xclip -selection c&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 3clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;printf %s &amp;#34;$(cat /dev/stdin)&amp;#34; | xclip -selection c&amp;#39;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# no final \n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;darwin&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pbcopy&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Path functions&lt;/p&gt;
&lt;p&gt;These path* functions add and remove elements to PATH.
They insure that entries are unique.
They allow you to place a path first or last in the order (e.g.
so that &lt;code&gt;~/bin&lt;/code&gt; comes before &lt;code&gt;/usr/local/bin&lt;/code&gt;)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathrm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# remove an item from the path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        removeThis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`echo &lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt; | sed -e &amp;#39;s#/#\\\/#&amp;#39;g`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        newPath&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;echo $PATH | awk -v RS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: -v ORS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&lt;/span&gt;$removeThis&lt;span style=&#34;color:#e6db74&#34;&gt;/ {next} {print}&amp;#34;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/[ :]*$//g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$newPath
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the end if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH:+&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathfirst&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the front if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# show path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  echo $PATH
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# show path, one entry per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias pathcat&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;echo &lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt; | sed &amp;#39;s/:/\n/g&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Be sure we have a few specific paths if they exist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast $HOME/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast /usr/local/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast /opt/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;source ~/rc.local/*.sh to do non-general bash setup&lt;/p&gt;
&lt;p&gt;Execute any .sh files in ~/rc.local/*.sh&lt;/p&gt;
&lt;p&gt;This allows me to split out setup for aliases and commands that
only get used on certian systems or in certian contexts (git, go,
mail, blog..)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/rc.local &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; rcfile in &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;find &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/rc.local -name &lt;span style=&#34;color:#ae81ff&#34;&gt;\*&lt;/span&gt;.sh&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        debug running localrc &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;rcfile&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        source &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;rcfile&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Invoking emacs&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias emacs&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;setsid emacs&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# from http://stuff-things.net/2014/12/16/working-with-emacsclient/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$SSH_CONNECTION&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EMACSCLIENT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;emacsclient
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    alias ec&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c -n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export ALTERNATE_EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;type -P emacs &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; type -P ed&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export VISUAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$EDITOR
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ls aliases&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# coloring for ls functions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--color&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BIN_LS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/bin/ls
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ls&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ls &amp;#39;&lt;/span&gt;$color&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Reverse Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llrt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lrt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, More&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llth&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | head; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | tail; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lss&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -n; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size Reverse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lssr&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -nr; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Aliases for viewing the newest file in a directoy&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nf &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# list the newest file in the current directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;find &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; -maxdepth &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; -type f -print0 | xargs -0 ls -1t  |  head -1;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;NF&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;/dev/null&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/ /\\\ /g&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file tail file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nftf &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail -f  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nft &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfh &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs head  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs less  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file cat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfc &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs cat  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfls &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs ls -A1t  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file ls -l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nflsl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls -Atl  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;viewing files&lt;/p&gt;
&lt;p&gt;Notes on setting up file/mime type associations can be found at&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://unix.stackexchange.com/questions/77136/xdg-open-default-applications-behavior&#34;&gt;https://unix.stackexchange.com/questions/77136/xdg-open-default-applications-behavior&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So, to make emacs (what else?) the default for MIME type
&lt;code&gt;text/plain&lt;/code&gt; &amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;locate -r &amp;#39;emacs.*\.desktop&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;xdg-mime default emacs.desktop text/plain
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt;  ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`which xdg-open`&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; alias open&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xdg-open &amp;#39;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;All done&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;touch $HOME/.bashrc-ran
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.bashrc done&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;1-dot-2-my-dot-bashrc-tangle-output-for-computers&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6.2&lt;/span&gt; 1.2 - My .bashrc - tangle output for computers&lt;/h3&gt;
&lt;p&gt;Here is the actual .bashrc file for bash(1) to consume&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#PROG=`basename &amp;#34;$0&amp;#34; | tr -d &amp;#39;\n&amp;#39;`  # normal setting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PROG&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;bashrc&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# setting for bashrc due to errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; info&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; info: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; warn&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; warning: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; error&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; error: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;2; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; debug&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; -v DEBUG &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; debug: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; true ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; die&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PROG&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;\:&lt;/span&gt; fatal: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$@&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; exit 1; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PS1&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\# [\t] \u@\h \W/ &lt;/span&gt;$&lt;span style=&#34;color:#e6db74&#34;&gt; &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias rm&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	rm -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	alias | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias eg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	printenv | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias hg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ht&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | tail&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias fpg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	find . -print | egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias egi&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias psg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	/bin/ps -auxww | grep&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias p8&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 8.8.8.8&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure routing works&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias pp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 port111.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure dns and routing work&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias locate&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;locate -r&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;L&amp;#34;ist directory stack, one per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; d in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;dirs&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; echo $d; &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirc&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;C&amp;#34;onnect - connect to directory and list stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirc [DIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    pushd &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirp &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;P&amp;#34;op - pop N entries off the directory stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirp [N]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#   alias  dirp=&amp;#39;popd &amp;gt; /dev/null &amp;amp;&amp;amp; dirl&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;seq &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dirl: popd. i is &lt;/span&gt;$i&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        popd &amp;gt; /dev/null;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias cd&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;pushd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; gf&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# grep-find: grep for patterins in files via find&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Usage: gf patterns [files [days]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Examples:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeAnywhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles &amp;#39;*.txt&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles .txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#   gf BEGIN\|END .org 30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;365&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# First arg is pattern(s) for egrep&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gf needs string(s) to search for &amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  info &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Usage: gf patterns [files [days]]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Second arg (if present) is files for find.  No globbing, so &amp;#34;*.txt&amp;#34; OK&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ ^&lt;span style=&#34;color:#ae81ff&#34;&gt;\.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Special case: treat &amp;#34;.foo&amp;#34; as &amp;#34;*.foo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Avoids needing to quote on command line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name *&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# $3 (if present) is find -mtime arg, default 365&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;find . -type f -mtime -&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;days&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; $files -exec egrep --color -H -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\{\}&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set +o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Preserve history across sesssions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# http://unix.stackexchange.com/questions/1288/preserve-bash-history-in-multiple-terminal-windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTCONTROL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ignoredups:erasedups  &lt;span style=&#34;color:#75715e&#34;&gt;# no duplicate entries&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTSIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;                   &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HISTFILESIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;               &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;shopt -s histappend                      &lt;span style=&#34;color:#75715e&#34;&gt;# append to history, don&amp;#39;t overwrite it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Save and reload the history after each command finishes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export PROMPT_COMMAND&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;history -a; history -c; history -r;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; hgt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# hgt == &amp;#34;history grep (for arg) tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#echo &amp;#34;Histroy Grep tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hgt needs an argument&amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    history | grep -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | tail
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e /etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat /etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;unknown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Set timezone if ~/bin/tz.sh exists&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# NEW, if neeeed?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://linuxize.com/post/how-to-set-or-change-timezone-in-linux/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# if [ -e ~/bin/tz.sh ]; then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     echo Setting timezone.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#     source ~/bin/tz.sh # should be in ~/rc.local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# STILL NEEDED?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Set local for numeric output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LOCAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;locale -a | grep -i en_us | head -1&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; export LC_NUMERIC&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e ~/bin/sshagent &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    source ~/bin/sshagent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xclip -selection c&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 3clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;printf %s &amp;#34;$(cat /dev/stdin)&amp;#34; | xclip -selection c&amp;#39;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# no final \n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;darwin&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pbcopy&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathrm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# remove an item from the path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        removeThis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`echo &lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt; | sed -e &amp;#39;s#/#\\\/#&amp;#39;g`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        newPath&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;echo $PATH | awk -v RS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: -v ORS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&lt;/span&gt;$removeThis&lt;span style=&#34;color:#e6db74&#34;&gt;/ {next} {print}&amp;#34;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/[ :]*$//g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$newPath
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the end if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH:+&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathfirst&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the front if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;path&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# show path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  echo $PATH
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# show path, one entry per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias pathcat&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;echo &lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt; | sed &amp;#39;s/:/\n/g&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Be sure we have a few specific paths if they exist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast $HOME/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast /usr/local/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pathlast /opt/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/rc.local &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; rcfile in &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;find &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/rc.local -name &lt;span style=&#34;color:#ae81ff&#34;&gt;\*&lt;/span&gt;.sh&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        debug running localrc &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;rcfile&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        source &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;rcfile&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias emacs&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;setsid emacs&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# from http://stuff-things.net/2014/12/16/working-with-emacsclient/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$SSH_CONNECTION&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EMACSCLIENT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;emacsclient
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    alias ec&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c -n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export ALTERNATE_EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;type -P emacs &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; type -P ed&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export VISUAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$EDITOR
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# coloring for ls functions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--color&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BIN_LS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/bin/ls
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias ls&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ls &amp;#39;&lt;/span&gt;$color&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Reverse Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llrt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lrt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, More&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llth&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | head; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | tail; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lss&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -n; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size Reverse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lssr&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -nr; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nf &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# list the newest file in the current directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;find &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; -maxdepth &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; -type f -print0 | xargs -0 ls -1t  |  head -1;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;NF&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;/dev/null&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/ /\\\ /g&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file tail file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nftf &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail -f  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nft &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfh &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs head  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs less  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file cat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfc &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs cat  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfls &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs ls -A1t  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# new file ls -l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nflsl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls -Atl  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt;  ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`which xdg-open`&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; alias open&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xdg-open &amp;#39;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;touch $HOME/.bashrc-ran
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.bashrc done&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;1-dot-3-my-dot-bashrc-the-org-mode-source-file&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6.3&lt;/span&gt; 1.3 - My .bashrc - The org mode source file&lt;/h3&gt;
&lt;p&gt;Here is the .bash.org input file&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-org&#34; data-lang=&#34;org&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+title&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: .bashrc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+date&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: &amp;lt;2020-12-06 03:13:07 Sunday&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+author&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: George M Jones&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+email&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: gmj@pobox.com&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+options&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: &amp;#39;:nil *:t -:t ::t &amp;lt;:t H:3 \n:nil ^:nil arch:headline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+options&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: author:t broken-links:nil c:nil creator:nil&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+options&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: d:(not &amp;#34;LOGBOOK&amp;#34;) date:t e:t email:nil f:t inline:t num:2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+options&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+options&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: timestamp:t title:t toc:t todo:t |:t&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+language&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: en&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+select_tags&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: export&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+exclude_tags&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: noexport&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#+creator&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;: Emacs 28.0.50 (Org mode 9.4)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*&lt;span style=&#34;font-weight:bold&#34;&gt; About this .bashrc file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Intro
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   This is George Jones&amp;#39; .bashrc file as an literate programming file in
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   emacs org mode using babel blocks.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; To generate the actual .bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   This .bashrc.org file must be processed to generate the actual
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   .bashrc It can be processed interactively to generate .bashrc via
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   org-babel-tangle-file or from the command line as
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  emacs --batch --eval &amp;#34;(require &amp;#39;org)&amp;#34; --eval &amp;#39;(org-babel-tangle-file &amp;#34;.bashrc.org&amp;#34;)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Permanent changes must be made to the .org version, as the actual
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   .bashrc will be overwritten when the .org version is &amp;#34;compiled&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Debugging
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  In most bash files I do
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  #+begin_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  set -e
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  set -u
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  #+end_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  but there are problems setting it in .bashrc.   An error then causes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  you to exit the shell entirely (not what you want), and there are
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  several constructs that cause warnings due to undefined variables
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (these can&lt;span style=&#34;font-style:italic&#34;&gt;/probably should be fixd)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  Set
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  #+begin_example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  export DEBUG=1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  #+end_example
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  to enable debugging output from the debug helper function.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;* The actual executable .bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;** Helper functions
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   I define a few syslog-ish helper functions to print warnings,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   errors, etc.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   #+begin_src shell :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  #PROG=`basename &amp;#34;$0&amp;#34; | tr -d &amp;#39;\n&amp;#39;`  # normal setting
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  PROG=&amp;#34;bashrc&amp;#34; # setting for bashrc due to errors
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  function info()  { echo ${PROG}\: info: &amp;#34;$@&amp;#34; 1&amp;gt;&amp;amp;2; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  function warn()  { echo ${PROG}\: warning: &amp;#34;$@&amp;#34; 1&amp;gt;&amp;amp;2; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  function error() { echo ${PROG}\: error: &amp;#34;$@&amp;#34; 1&amp;gt;&amp;amp;2; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  function debug() { [[ -v DEBUG ]] &amp;amp;&amp;amp; echo ${PROG}\: debug: &amp;#34;$@&amp;#34; 1&amp;gt;&amp;amp;2 || true ; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;  function die()   { echo ${PROG}\: fatal: &amp;#34;$@&amp;#34; 1&amp;gt;&amp;amp;2 &amp;amp;&amp;amp; exit 1; }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   #+end_src
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;** Set a reasonable default prompt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   Here I set a reasonable default prompt that includes timestamp,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   username, host and current directory:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt; #+begin_src shell :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;export PS1=&amp;#34;\# [\t] \u@\h \W/&lt;/span&gt; $ &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; #+end_src
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Misc aliases
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Define various aliases that I use
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias rm&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	rm -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias ag&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	alias | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias eg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	printenv | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias hg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | grep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias ht&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	history | tail&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias fpg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	find . -print | egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias egi&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	egrep -i&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias psg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	/bin/ps -auxww | grep&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias p8&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 8.8.8.8&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure routing works&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias pp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ping -c 3 port111.com&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# make sure dns and routing work&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias locate&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;locate -r&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; cd commands that use/print the directory stack
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   These aliases support pushd/popd/dirs like functionality while
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   listing one directory per line
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   I like to keep a &amp;#34;stack&amp;#34; of directories so I can work on one thing
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   then &amp;#34;pop&amp;#34; back to where I was.   &lt;span style=&#34;color:#a6e22e&#34;&gt;=pushd=&lt;/span&gt; an &lt;span style=&#34;color:#a6e22e&#34;&gt;=popd=&lt;/span&gt; support this,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   and &lt;span style=&#34;color:#a6e22e&#34;&gt;=dirs=&lt;/span&gt; lists the directories, but I prefer to have them listed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   one per line.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;L&amp;#34;ist directory stack, one per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; d in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;dirs&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; echo $d; &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirc&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;C&amp;#34;onnect - connect to directory and list stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirc [DIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      pushd &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; dirp &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# &amp;#34;DIR&amp;#34;ectory &amp;#34;P&amp;#34;op - pop N entries off the directory stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: dirp [N]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;#   alias  dirp=&amp;#39;popd &amp;gt; /dev/null &amp;amp;&amp;amp; dirl&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; i in &lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;seq &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;dirl: popd. i is &lt;/span&gt;$i&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          popd &amp;gt; /dev/null;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      dirl
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias cd&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;pushd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Misc functions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; gf&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# grep-find: grep for patterins in files via find&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: gf patterns [files [days]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Examples:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeAnywhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles &amp;#39;*.txt&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#   gf findMeInTextFiles .txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#   gf BEGIN\|END .org 30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  local files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  local days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;365&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  set -o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# First arg is pattern(s) for egrep&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;gf needs string(s) to search for &amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    info &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Usage: gf patterns [files [days]]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Second arg (if present) is files for find.  No globbing, so &amp;#34;*.txt&amp;#34; OK&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ ^&lt;span style=&#34;color:#ae81ff&#34;&gt;\.&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Special case: treat &amp;#34;.foo&amp;#34; as &amp;#34;*.foo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Avoids needing to quote on command line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name *&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      files&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-name &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;2&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# $3 (if present) is find -mtime arg, default 365&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    days&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;3&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  find . -type f -mtime -&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;days&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; $files -exec egrep --color -H -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\{\}&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  set +o noglob
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Bash history functions and settings
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Preserve history across sesssions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# http://unix.stackexchange.com/questions/1288/preserve-bash-history-in-multiple-terminal-windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  export HISTCONTROL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ignoredups:erasedups  &lt;span style=&#34;color:#75715e&#34;&gt;# no duplicate entries&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  export HISTSIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;                   &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  export HISTFILESIZE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;               &lt;span style=&#34;color:#75715e&#34;&gt;# big big history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  shopt -s histappend                      &lt;span style=&#34;color:#75715e&#34;&gt;# append to history, don&amp;#39;t overwrite it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Save and reload the history after each command finishes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  export PROMPT_COMMAND&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;history -a; history -c; history -r;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; hgt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# hgt == &amp;#34;history grep (for arg) tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;#echo &amp;#34;Histroy Grep tail&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1+x&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;hgt needs an argument&amp;#39;&lt;/span&gt; 1&amp;gt;&amp;amp;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      history | grep -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | tail
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Set the hostnane, timezone and local
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Set HOSTNAME if ~/etc/hostname exists
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e /etc/hostname &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;cat /etc/hostname&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export HOSTNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;unknown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Set timezone if ~/bin/tz.sh exists&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# NEW, if neeeed?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# https://linuxize.com/post/how-to-set-or-change-timezone-in-linux/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# OLD:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# if [ -e ~/bin/tz.sh ]; then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#     echo Setting timezone.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#     source ~/bin/tz.sh # should be in ~/rc.local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# STILL NEEDED?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Set local for numeric output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   LOCAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;locale -a | grep -i en_us | head -1&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; export LC_NUMERIC&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Set up ssh agent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Add keys by hand if needed via
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ssh-add ~/.ssh/id_*
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -e ~/bin/sshagent &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       source ~/bin/sshagent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Copy stdin to clipboard
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xclip -selection c&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     alias 3clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;printf %s &amp;#34;$(cat /dev/stdin)&amp;#34; | xclip -selection c&amp;#39;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# no final \n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;darwin&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     alias 2clip&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;pbcopy&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Path functions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  These path* functions add and remove elements to PATH.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  They insure that entries are unique.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  They allow you to place a path first or last in the order (e.g.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  so that &lt;span style=&#34;color:#a6e22e&#34;&gt;=~/bin=&lt;/span&gt; comes before &lt;span style=&#34;color:#a6e22e&#34;&gt;=/usr/local/bin=&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathrm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# remove an item from the path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          removeThis&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`echo &lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt; | sed -e &amp;#39;s#/#\\\/#&amp;#39;g`&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          newPath&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;echo $PATH | awk -v RS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: -v ORS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&lt;/span&gt;$removeThis&lt;span style=&#34;color:#e6db74&#34;&gt;/ {next} {print}&amp;#34;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/[ :]*$//g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$newPath
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathlast&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the end if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH:+&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathfirst&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# add path to the front if not there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt; !&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;:&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&amp;#34;&lt;/span&gt;* &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          export PATH&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;PATH&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  path&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# show path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo $PATH
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# show path, one entry per line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  alias pathcat&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;echo &lt;/span&gt;$PATH&lt;span style=&#34;color:#e6db74&#34;&gt; | sed &amp;#39;s/:/\n/g&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Be sure we have a few specific paths if they exist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathlast $HOME/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathlast /usr/local/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  pathlast /opt/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;  #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; source ~/rc.local/*.sh to do non-general bash setup
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Execute any .sh files in ~&lt;span style=&#34;font-style:italic&#34;&gt;/rc.local/&lt;/span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;*.sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;   This allows me to split out setup for aliases and commands that
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;   only get used on certian systems or in certian contexts (git, go,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;   mail, blog..)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;   #+begin_src shell :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;   if [ -d ${HOME}/rc.local ]; then
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;       for rcfile in $(find ${HOME}/rc.local -name \*&lt;/span&gt;.sh); do
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           debug running localrc ${rcfile}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           source ${rcfile}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       done
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   fi
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   #+end_src
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Invoking emacs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   alias emacs&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;setsid emacs&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# from http://stuff-things.net/2014/12/16/working-with-emacsclient/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$SSH_CONNECTION&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export EMACSCLIENT&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;emacsclient
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       alias ec&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c -n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$EMACSCLIENT&lt;span style=&#34;color:#e6db74&#34;&gt; -c&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export ALTERNATE_EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       export EDITOR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;type -P emacs &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; type -P ed&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   export VISUAL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;$EDITOR
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; ls aliases
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# coloring for ls functions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$OSTYPE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;linux-gnu&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;--color&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       color&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   BIN_LS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/bin/ls
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   alias ls&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;	ls &amp;#39;&lt;/span&gt;$color&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Reverse Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llrt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lrt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, More&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltm&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltl&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | more; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; llth&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -lt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | head; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# Long List Time, Tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lltt&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -alt $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | tail; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lss&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -n; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# List Sort Size Reverse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; lssr&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; ls -a1s $color &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;*&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sort -nr; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; Aliases for viewing the newest file in a directoy
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nf &lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#75715e&#34;&gt;# list the newest file in the current directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;find &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; -maxdepth &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; -type f -print0 | xargs -0 ls -1t  |  head -1;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       echo &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;NF&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;/dev/null&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/ /\\\ /g&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file tail file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nftf &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail -f  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file tail&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nft &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs tail  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file head&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfh &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs head  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file less&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs less  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file cat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfc &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs cat  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nfls &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs ls -A1t  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#75715e&#34;&gt;# new file ls -l&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; nflsl &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; NF&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;nf &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;1&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;.&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;; debug NF $NF;  echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$NF&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | xargs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ls -Atl  ; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; viewing files
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Notes on setting up file&lt;span style=&#34;font-style:italic&#34;&gt;/mime type associations can be found at
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-style:italic&#34;&gt;   https:/&lt;/span&gt;/unix.stackexchange.com/questions/77136/xdg-open-default-applications-behavior
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   So, to make emacs (what else?) the default for MIME type
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#a6e22e&#34;&gt;=text/plain=&lt;/span&gt; ...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   locate -r &amp;#39;emacs.*\.desktop&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   xdg-mime default emacs.desktop text/plain
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_example&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt;  ! -z &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;`which xdg-open`&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt; alias open&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;xdg-open &amp;#39;&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;**&lt;/span&gt; All done
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+begin_src &lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;shell&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; :tangle .bashrc :noweb no-export
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   touch $HOME/.bashrc-ran
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   debug &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.bashrc done&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   #+end_src&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Congratulations for reading this far.   Go forth and write literate programs.&lt;/p&gt;
&lt;p&gt;Posts 38 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;This was about 10 years before the world wide web &amp;hellip; maybe
Berners-Lee got some inspiration on the name from Knuth? Or Sir Walter
Scott: &amp;ldquo;‘Oh what a tangled web we weave/When first we practice to deceive&amp;rdquo;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>What a day for a daydream</title>
      <link>http://curious.galthub.com/blog/dream-on/</link>
      <pubDate>Wed, 25 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/dream-on/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Ladies and Gentlemen, may I have your attention&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This piece began as some thoughts on &amp;ldquo;attention&amp;rdquo; and wound up as
reflections on daydreams.  I think I&amp;rsquo;m a fan of daydreaming.&lt;/p&gt;
&lt;h2 id=&#34;attention&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Attention&lt;/h2&gt;
&lt;p&gt;Attention is a finite commodity.  You only have so much
attention to give in your life, in your day.  Parents want your
attention. Brothers and sisters and friends want your attention.
Teachers want your attention.  Employers want your
attention. Politicians want your attention.  Social media wants
your attention. And, of course, advertisers&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; want your attention
(the most literal translation of the Latin roots of the word
&amp;ldquo;advertisers&amp;rdquo; would be rendered &amp;ldquo;turn-toward-ers&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;Sometimes there is a reward (punishment) for your attention
(in-attention).  Sometimes you are just &amp;ldquo;had&amp;rdquo; and your money
goes away with your attention, never to return.&lt;/p&gt;
&lt;p&gt;You never get your attention back once you&amp;rsquo;ve given it.  You
can&amp;rsquo;t create more attention.  You can&amp;rsquo;t save attention.  You can
waste attention.  You can fragment attention. You can destroy
attention.&lt;/p&gt;
&lt;p&gt;Attention is a precious, irreplaceable commodity. Guard it. Use
it wisely.&lt;/p&gt;
&lt;p&gt;Which leads to&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;daydreams&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Daydreams&lt;/h2&gt;
&lt;p&gt;We say daydreamers are &amp;ldquo;lost in their own thoughts&amp;rdquo;.  They don&amp;rsquo;t
do the things other people want them to do.  They don&amp;rsquo;t &lt;em&gt;give
their attention&lt;/em&gt; to things &lt;em&gt;other people&lt;/em&gt; think they should give
their attention to.&lt;/p&gt;
&lt;p&gt;But (some) dreamers change the world.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All men dream: but not equally. Those who dream by night in the
dusty recesses of their minds wake in the day to find that it
was vanity: but the dreamers of the day are dangerous men, for
they may act their dreams with open eyes, to make it possible.&lt;/p&gt;
&lt;p&gt;T.E. Lawrence, &lt;a href=&#34;https://en.wikiquote.org/wiki/T._E._Lawrence&#34;&gt;https://en.wikiquote.org/wiki/T._E._Lawrence&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Daydreamers are &amp;ldquo;their own people&amp;rdquo;.  And that bothers people who
want them to be somebody else, to pay attention to certain
other things.&lt;/p&gt;
&lt;h2 id=&#34;one-daydreamer&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; One daydreamer&lt;/h2&gt;
&lt;p&gt;This may not be &amp;ldquo;the perfect blog post&amp;rdquo;.  It may not have the
perfect structure and flow. It may not end concise advice you
can live by and a nice list of actionable items.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve going to end it with a quote from a daydreamer who was
torn apart for 40 years by demands on his attention from school
teachers, societal norms, family, fans who loved him, people
who hated him, the music industry, his band-mates, religious
teachers, artists, social causes, politicians, the media and
lawyers:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;People say I&amp;#39;m lazy
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Dreaming my life away
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Well they give me all kinds of advice
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Designed to enlighten me
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;When I tell them that I&amp;#39;m doing fine watching shadows on the wall
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#34;Don&amp;#39;t you miss the big time boy, you&amp;#39;re no longer on the ball?&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I&amp;#39;m just sitting here watching the wheels go round and round
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I really love to watch them roll
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;No longer riding on the merry-go-round
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I just had to let it go
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I just had to let it go
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;J. Lennon, Father, &amp;#34;house-husband&amp;#34; and bread-maker, 1980
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dream on.&lt;/p&gt;
&lt;p&gt;Post 37 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;ADS stands for &amp;ldquo;Attention Distraction Syndrome&amp;rdquo;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>All we are saying, is give init.el a chance</title>
      <link>http://curious.galthub.com/blog/init-el-for-world-peace/</link>
      <pubDate>Wed, 11 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/init-el-for-world-peace/</guid>
      <description>&lt;p&gt;On this Armistice Day, 2020, commemorating the end of &amp;ldquo;The war to end
all wars&amp;rdquo; 119 years ago, I reflect that if the whole world were busy
fiddling with their emacs configs there would be no more war.  Well&amp;hellip;
so the treaty of Versailles and the League of Nations did not work out
as planned&amp;hellip;so maybe we look for community in the small instead.&lt;/p&gt;
&lt;p&gt;There is community that has grown out of research labs in Boston (a
city notable for its contribution to the birth of other well known
communities).  Some of the well known members of the community that I
am acquainted with include a Chinese programmer living in Palo Alto, a
philosophy major in France, an Astronomy professor in the
Netherlands, a programmer in New Zealand, a Fin living in the United
states and a Filipina mother of a 4 year old living in Canada and of
course it&amp;rsquo;s founder, still in Boston.&lt;/p&gt;
&lt;p&gt;All we are saying, is give &lt;code&gt;init.el&lt;/code&gt; a chance.&lt;/p&gt;
&lt;p&gt;Post 36 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Nixon&#39;s The One !!!</title>
      <link>http://curious.galthub.com/blog/nixons-the-one/</link>
      <pubDate>Tue, 03 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/nixons-the-one/</guid>
      <description>&lt;p&gt;For those who remember the &amp;ldquo;All in the family&amp;rdquo; sitcom:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mister, we could use a man like Richard Nixon again&lt;/p&gt;
&lt;/blockquote&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/nixon.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Richard Nixon&amp;rdquo; by History In An Hour is licensed under CC BY 2.0&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://www.flickr.com/photos/51878367@N02/4775027305&#34;&gt;&amp;ldquo;Richard Nixon&amp;rdquo;&lt;/a&gt; by &lt;a href=&#34;https://www.flickr.com/photos/51878367@N02&#34;&gt;History In An Hour&lt;/a&gt; is licensed under &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/?ref=ccsearch&amp;amp;atype=html&#34;&gt;CC BY 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Richard Nixon lost the 1960 election to John F. Kennedy in the closest
(popular) election of the 20th century.  There was a credible case to
be made that voting irregularities in Chicago (read, the Richard Daley
political machine) and Texas put Kennedy over the top (in the electoral
college).  And yet&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On Wednesday afternoon, November 9, 1960, Nixon officially conceded
the election to Kennedy. He told his friend, journalist Earl Mazo,
that “our country cannot afford the agony of a constitutional crisis.”&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.constitutioncenter.org/blog/the-drama-behind-president-kennedys-1960-election-win/&#34;&gt;https://www.constitutioncenter.org/blog/the-drama-behind-president-kennedys-1960-election-win/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On this election day 2020, I reflect, in all seriousness that &amp;ldquo;We
could use a man like Richard &amp;lsquo;I am not a crook&amp;rsquo; Milhouse Nixon again&amp;rdquo;,
a man with the character, morals and civic pride to put the interests
of the country above his own.&lt;/p&gt;
&lt;p&gt;Post 35 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>History: escape to the past or lessons for the present?</title>
      <link>http://curious.galthub.com/blog/why-history/</link>
      <pubDate>Fri, 30 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/why-history/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve always liked history.  And because the un-examined predilection
is not worth having (γνῶθι σεαυτόν), I turn to Livy to understand it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This I hold to be the chief value and reward of history, to have
examples of all kinds set forth as an illustrious record, from which
you may choose what is worthy of imitation in public and private life,
and what is to be shunned as wrong in inception and ruinous in outcome&lt;/p&gt;
&lt;p&gt;Livy, Preface to History of Rome.&lt;/p&gt;
&lt;p&gt;Quoted from &amp;ldquo;Classics In Translation: Volume II, Latin Literature&amp;rdquo;,
MacKendrick and Howe, 1982&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So, history provides examples for present living.  It provides a moral
and practical purpose, helping to guide our interactions with others
in the present, but also&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To me on the contrary it is one of the rewards of my labors to turn
away for a little while from the multitude of evils which our own age
has witnessed, and to give my whole mind to those earlier times,
released from every care or consideration by which the historian&amp;rsquo;s mind
might be troubled and distracted, if not deflected from the pursuit of
truth.&lt;/p&gt;
&lt;p&gt;Livy, Preface to History of Rome.&lt;/p&gt;
&lt;p&gt;Quoted from &amp;ldquo;Classics In Translation: Volume II, Latin Literature&amp;rdquo;,
MacKendrick and Howe, 1982&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The study of history can also provide a private, personal escape from
the calamities and confusion of the present.&lt;/p&gt;
&lt;p&gt;And of course, there can be value in loving or doing a thing for it&amp;rsquo;s
own sake.  Without such passions, life becomes meaningless drudgery.
That said, here, from this morning&amp;rsquo;s introspection, are a few more
possible reasons I might be fascinated with history.  History can be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;an escape&lt;/li&gt;
&lt;li&gt;a &amp;ldquo;safe place&amp;rdquo;&lt;/li&gt;
&lt;li&gt;a source of examples for living in the world today&lt;/li&gt;
&lt;li&gt;a place to find idealized people and institutions (that may never
have actually existed in the form we visualize)&lt;/li&gt;
&lt;li&gt;something fixed in a changing world&lt;/li&gt;
&lt;li&gt;a place where we know the outcomes&lt;/li&gt;
&lt;li&gt;a place where we can approach the world in the third person&lt;/li&gt;
&lt;li&gt;something to give context and explanations to our current beliefs&lt;/li&gt;
&lt;li&gt;a place where we do not have to enter into personal conflict&lt;/li&gt;
&lt;li&gt;a collection of interesting stories&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And, yes, I do have one son studying to be a History/Social Studies
teacher and another who has devoured the western cannon.  The apples
do not fall far from the tree.&lt;/p&gt;
&lt;p&gt;Post 34 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Joy in the sorrows of others?</title>
      <link>http://curious.galthub.com/blog/joy-in-sorrow/</link>
      <pubDate>Sun, 25 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/joy-in-sorrow/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Why is it that man desires to be made sad, beholding miserable and
tragic things which he himself would by no means wish to suffer?  Yet
he desires as a spectator to feel sorrow, and this sorrow is his pleasure&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Was this guy watching too much news, political mudslinging or maybe
just hanging out on Facebook?&lt;/p&gt;
&lt;p&gt;No, this was Augustine in &amp;ldquo;The Confessions&amp;rdquo; circa AD 397 talking about
his youthful fascination with stage plays.  People have not changed.
I have the same desire to feed on doom and gloom.  It&amp;rsquo;s not healthy.&lt;/p&gt;
&lt;p&gt;So, what do you do? My answers have included unplugging from thew news
(never owning a TV by choice), becoming very intentionally and
deliberately apolitical, turning off Facebook (2016) and Twitter
(2020) as they became political cesspools and conduits for voyeuristic
negativity (e.g. &amp;ldquo;news&amp;rdquo;) to creep back in to my life.&lt;/p&gt;
&lt;p&gt;But humans don&amp;rsquo;t change.   I have not changed.  I just choose to
remove the fire-hoses delivering gloom and tragedy to me 24x7.  It
will find me again, and I will have to make more choices to cut it
out.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&amp;ldquo;Always look on the bright side of life&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Monty Python, Life of Brian&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, yes.&lt;/p&gt;
&lt;p&gt;The Monty Python song embraces an outlook that sees a world full of bad
things, and that it views, in the end, as meaningless and absurd (see
their next movie, &amp;ldquo;The Meaning of Life&amp;rdquo; or John Cleese&amp;rsquo; most recent
(2020) one man show &amp;ldquo;Why There Is No Hope&amp;rdquo; in which they drive the
point home)&lt;/p&gt;
&lt;p&gt;Augustine himself passed through a period where he embraced
skepticism&amp;hellip;literally the Greek philosophy of Skepticism that doubted
everything, including the existence and know-ability of meaning
itself.  But he went further.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not enough to create a vacuum, to get rid of the bad, the
negative.  A vacuum will always be filled.  My answer is to &lt;em&gt;try&lt;/em&gt; to
go where Augustine wound up as articulated by the Apostle Paul:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Finally, brethren, whatever is true, whatever is honorable, whatever
is right, whatever is pure, whatever is lovely, whatever is of good
repute, if there is any excellence and if anything worthy of praise,
dwell on these things.&lt;/p&gt;
&lt;p&gt;Philippians 4:8, NASB&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What are you allowing to fill your vacuum ?&lt;/p&gt;
&lt;p&gt;Post 33 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt; (yeah, I&amp;rsquo;m going slowly)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hello twtxt</title>
      <link>http://curious.galthub.com/blog/hello_twtxt/</link>
      <pubDate>Sat, 17 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/hello_twtxt/</guid>
      <description>&lt;p&gt;And in the to-simple-to-be-true category&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;twtxt is a decentralised, minimalist microblogging service for hackers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://twtxt.readthedocs.io/en/latest/user/intro.html&#34;&gt;https://twtxt.readthedocs.io/en/latest/user/intro.html&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ twtxt tweet &amp;#34;Is there anybody out there, just nod if you can hear me&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Install twtxt&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip3 install twtxt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configure twtxt&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;twtxt config
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; $ cat ~/.config/twtxt/config
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[twtxt]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nick = gmj
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;twtfile = /home/gmj/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;twturl = http://www.port111.com/george/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disclose_identity = True
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;character_limit = 140
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;character_warning = 140
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[following]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;twtxt = https://buckket.org/twtxt_news.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;adiabatic = https://www.frogorbits.com/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;beyond = https://enotty.dk/beyond.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;jcolag = https://john.colagioia.net/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vain = https://www.uninformativ.de/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;prologic = https://twtxt.net/user/prologic/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;antonio = https://twtxt.net/user/antonio/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Post some tweets&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ twtxt tweet  This is incredible.  Simple.  Text.  Decentralized :-\)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ twtxt tweet  There is life after twitter.  http://curious.galthub.com/blog/goodbye-twitter/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ twtxt tweet Thanks @prologic
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Push my twtxt.txt file to the server (dropbox, github, s3 buckets, etc
would do&amp;hellip;anything with a public URL)&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scp twtxt.txt gmj@port111.com:~/public_html/george/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Follow someone:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;twtxt follow prologic https://twtxt.net/user/prologic/twtxt.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Read your timeline&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ twtxt timeline
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Some of the docs&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://twtxt.readthedocs.io/en/latest/user/usage.html&#34;&gt;https://twtxt.readthedocs.io/en/latest/user/usage.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://twtxt.readthedocs.io/en/latest/index.html&#34;&gt;https://twtxt.readthedocs.io/en/latest/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And if you want a browser based interface that does threading, etc
(BUT requires a login&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://twtxt.net/&#34;&gt;https://twtxt.net/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Day 32 of #100DaysToOffload.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Goodbye Twitter</title>
      <link>http://curious.galthub.com/blog/goodbye-twitter/</link>
      <pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/goodbye-twitter/</guid>
      <description>&lt;h2 id=&#34;1-of-2&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; 1 of 2&lt;/h2&gt;
&lt;p&gt;Goodbye twitter.  In 2016 Facebook got too political so I dropped it.
Now, Twitter.  You can reach me as gmj AT pobox DOT com.  Please drop
an email if you to stay in touch. I blog semi-regularly at
&lt;a href=&#34;http://curious.galthub.com/&#34;&gt;http://curious.galthub.com/&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;2-of-2&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; 2 of 2&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Mastodon_(software)&#34;&gt;https://en.wikipedia.org/wiki/Mastodon_(software)&lt;/a&gt; is a free, open
source, ad-free, distributed twitter-like thing. No corporation
algorithmically manipulates your timeline and AUPs are set by the
community.  I&amp;rsquo;m on the &lt;a href=&#34;https://fosstodon.org&#34;&gt;https://fosstodon.org&lt;/a&gt; instance.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Source Code Distribution From Printouts to Github</title>
      <link>http://curious.galthub.com/blog/sourcecode/</link>
      <pubDate>Sat, 10 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/sourcecode/</guid>
      <description>&lt;p&gt;Source code distribution has changed over the years.  Today we
all love (hate?) git, github and friends, but, believe it or not
there were ways to distribute source code even before the
Internet.  In fact, this was the world in which the GNU Public
License was created. Below are a few of the ways I&amp;rsquo;ve
gotten/transferred source code through the years, in something
like chronological order&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:camera&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/code.jpg&#34; alt=&#34;Figure 1: Code on the Europython 2009 bag&amp;quot; by Thomas Guest is licensed with CC BY 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/2.0/&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Code on the Europython 2009 bag&amp;quot; by Thomas Guest is licensed with CC BY 2.0. To view a copy of this license, visit &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;https://creativecommons.org/licenses/by/2.0/&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 31 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Print Outs&lt;/dt&gt;
&lt;dd&gt;Paper.  Yes, paper.  My first memories of source
code (late 70s) include source listing of BASIC programs
printed on ASR-33 Teletypes.  I also have memories of a large
stack of &amp;ldquo;green bar&amp;rdquo; printouts at home (again, c.a. 78 or 79)
that I think where the printouts of Emacs (TECO emacs, the
original, before GNU) that my brother probably brought home
from Carnegie-Mellon where he went as an undergrad.&lt;/dd&gt;
&lt;dt&gt;Paper Tape&lt;/dt&gt;
&lt;dd&gt;The ASR-33s had paper tape punches on the side.
You could punch your programs onto tape and read them back in.
It was 8-bit ASCII.   At one point, I think my brother could
read the ASCII by looking at the tape.&lt;/dd&gt;
&lt;dt&gt;Cards&lt;/dt&gt;
&lt;dd&gt;Early in college (80, 81) I actually punched cards for
a class or two.  You could duplicate cards.   No cheating on
that programming assignment now !&lt;/dd&gt;
&lt;dt&gt;BYTE Magazine&lt;/dt&gt;
&lt;dd&gt;Gamers of yore bought BYTE Magazine (and
others), in part to get the source code listings that they
could then type in.&lt;/dd&gt;
&lt;dt&gt;ACM, Knuth&lt;/dt&gt;
&lt;dd&gt;And of course there were textbooks such as Kunths
(to this day unfinished) &amp;ldquo;The Art of Computer Programming&amp;rdquo; and
ACM publications.  Steve Wilhite used an algorithm published in
ACM as part of GIF&amp;hellip;of course anything printed was in the
public domain, right? &amp;hellip; well, no.  We were all still learning
about and in some cases defining the legal status of software
then, right along with GNU/FSF.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;dl&gt;
&lt;dt&gt;USENET News&lt;/dt&gt;
&lt;dd&gt;In the late 80s, MIT project Athena periodically posted
the source code to X-Windows to the USENET news group
comp.sources.x.  If you were on a USENET site that &amp;ldquo;took a
feed&amp;rdquo; of that newsgroup (usually over modems not faster than
9600baud), to get the latest source to X, you watched the news
group (using readnews, rn or some other &amp;ldquo;newsreader&amp;rdquo; program),
saved off the individual pieces from each post, reassembled and
then extracted the code.  The (large) distro was compressed and
broken up into many pieces, and re-assembling them often
involved the use of uudecode, shar, patch, tar, and programs to
decompress (pretty sure gzip was not a thing yet).  Of course,
you had to grab them before your news site expired the articles
(spool space was limited, and space was shared with
rec.humor.funny and other essential news groups).  Heaven help
you if you missed one piece.  No bit-torrent for you to find
the missing pieces.  You got one shot from one source in a
limited time window.&lt;/dd&gt;
&lt;dt&gt;UUCP&lt;/dt&gt;
&lt;dd&gt;UUCP being &amp;ldquo;unix to unix copy&amp;rdquo;, you could literally
issue a copy command of source known to live on a remote system
something like
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uucp cbosgd!/archive/hdb-uucp.tar.gz hdb-uucp.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;with multi-hop paths being possible&amp;hellip;if you knew the topology
(pathalias !) and the filenames.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;mag tape&lt;/dt&gt;
&lt;dd&gt;Then there was the time I was in Boston (visiting
Encore computer?).   I took a blank 9-track tape, arranged to
stop by MIT, was given a personal tour of the labs, show the
locked room where the all-important KDC (forerunner of
Microsoft&amp;rsquo;s domain controllers) was kept, and got a copy of the
latest Athena source (X, Kerberos, Hesiod, etc.) dumped to
tape. This was getting software, the easy way.&lt;/dd&gt;
&lt;dt&gt;DECUS tapes&lt;/dt&gt;
&lt;dd&gt;Tapes were a thing for quite a while.  early on
users of DEC computers created and distributed &amp;ldquo;decus tapes&amp;rdquo;,
which were user-contributed collections of software.  If the
VAX/VMS bulletin board system I created in FORTRAN-77 around
1983 exists anywhere in the world, it&amp;rsquo;s probably in the archive
of DECUS tapes.  This is one example of collections of
user-generated software that grew into the software archives we
came to know later.  I think the IBM SHARE user group had
similar collections.  The programs (games, etc) distributed
with BSD Unix formed another set.  &lt;a href=&#34;https://en.wikipedia.org/wiki/DistroWatch&#34;&gt;DistroWatch&lt;/a&gt; is one web site
in this vein today.&lt;/dd&gt;
&lt;dt&gt;Floppies&lt;/dt&gt;
&lt;dd&gt;With the advent of the PC (early, mid 80s) floppies
became a thing.  I purchased a copy of the Mark Williams C
compiler for DOS just to get the public-domain source to
MicroEmacs which I then ported to the Amiga.  Of course, with
floppies came boot sector viruses and the security wars were
on.  Later issues of BYTE sometimes shipped with floppies of
source so you didn&amp;rsquo;t have to type it in.&lt;/dd&gt;
&lt;dt&gt;Email&lt;/dt&gt;
&lt;dd&gt;Yes, you could always use tar, shar(1), uuencode(1)
and friends to email source code.   Email has been a workhorse
for something like 40 years, not just for communication but as
the file transfer method of last (first?) resort.&lt;/dd&gt;
&lt;dt&gt;CompuServe (and other) Forums&lt;/dt&gt;
&lt;dd&gt;I ran (&amp;ldquo;SYSOPed&amp;rdquo; the
CompuServe Unix Forum for a few years.  I think we/I may have
invented the file suffix &amp;ldquo;.tgz&amp;rdquo; to stand for &amp;ldquo;gzip tar&amp;rdquo; archive
(because the forums could not deal with multiple suffixes, as
in .tar.gz).  We had source code available for download.  The
Forums were just CompuServe&amp;rsquo;s version of the local dial-up BBS
and many other similar message/download systems.&lt;/dd&gt;
&lt;dt&gt;FTP&lt;/dt&gt;
&lt;dd&gt;As Internet connectivity started becoming common (at
least in universities, government and some larger
corporations), a number of &amp;ldquo;well known&amp;rdquo; FTP sites where created
(often at well connected UUCP sites) that collected and offered
source downloads. UUNET and WUSTL (Washington Univerity at
St. Louis) being some of the larger ones (there is still a
version of FTP server software, wu-ftp available for Linux)&lt;/dd&gt;
&lt;dt&gt;Source Code Control Systems&lt;/dt&gt;
&lt;dd&gt;As Internet connectivity became
a thing, source code control systems such as cvs, svn,
mercurial and friends started being used on local networks and
it became possible to use them over the Internet.  They also
solved a lot of the collaboration, version control and release
management issues that are important for projects of any size.&lt;/dd&gt;
&lt;dt&gt;SourceForge&lt;/dt&gt;
&lt;dd&gt;Sourceforge gets honorable mention as a
precursor to github and friends.  In the early 2000s it hosted
many open source projects.  I initially hosted NCAT there which
became the Center for Internet Security&amp;rsquo;s Router Audit Tool.&lt;/dd&gt;
&lt;dt&gt;&amp;ldquo;My name is Legion, for we are many&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;Git is a good thing.
Really.  Today we have github, gitlab, dropbox and thousands of
other options for getting and sharing source code, some of
which even work reasonably well.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;The world has changed. It really is a better place. No more
trolling the USENET News feed spool.  No more trips to MIT, tape
in hand.  No more hoping ftp.uu.net has the latest version.
Go forth and hack.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Privacy: The view from 1987 and Antiquity - or why I&#39;m deleting Google,Facebook and Twitter</title>
      <link>http://curious.galthub.com/blog/privacy-1987/</link>
      <pubDate>Sun, 04 Oct 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/privacy-1987/</guid>
      <description>&lt;h2 id=&#34;a-history-of-private-life&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; &amp;ldquo;A History of Private Life&amp;rdquo;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;There is, I think, an urgent need to protect the essence of
individuality from headlong technological progress.  For unless we are
careful, individual men and women may soon be reduced to little more
than numbers in immense and terrifying data bank.&lt;/p&gt;
&lt;p&gt;Georges Duby, Forward to &lt;em&gt;A History of Private Life&lt;/em&gt;, 1987&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;m in the process of deleting Facebook, Twitter and Google from my
life. I think Duby et al. were on to something a little ahead of their
time.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:privateLife&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/private_life.jpg&#34; alt=&#34;Figure 1: A History of Private Life&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://www.thriftbooks.com/w/a-history-of-private-life-from-pagan-rome-to-byzantium_arthur-goldhammer_philippe-aris/288055/item/2915263/?mkwid=%7cdc&amp;amp;pcrid=448915190769&amp;amp;pkw=&amp;amp;pmt=&amp;amp;slid=&amp;amp;plc=&amp;amp;pgrid=104754618896&amp;amp;ptaid=pla-926048762119#idiq=2915263&amp;amp;edition=2266565&#34;&gt;A History of Private Life&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 30 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-s-bothering-me&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; What&amp;rsquo;s bothering me&lt;/h2&gt;
&lt;p&gt;It takes a lot of work to change your email provider of 15
years.  You loose contacts when you ditch Facebook (that guy
I&amp;rsquo;ve not seen since 3rd grade..).  Twitter is, well, a thing.
Just ask the President (&amp;rsquo;nuf said ?)  So why go the trouble?
What is it about privacy that gets me and so many people spun up
to the point that we will spend time fighting what is almost
certainly a loosing battle against Big Brother, Big Internet and
Big Advertising?&lt;/p&gt;
&lt;p&gt;There are many reasons, but I think they all center around what
it means to be human:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We want to be left alone sometimes&lt;/li&gt;
&lt;li&gt;We want space to be ourselves&lt;/li&gt;
&lt;li&gt;We want our thoughts to be our thoughts (and we want to have
them before the machine learning algorithms that are tracking
us have them)&lt;/li&gt;
&lt;li&gt;We want the freedom to think, act, feel, love and hate (&amp;quot;&lt;a href=&#34;https://en.wikipedia.org/wiki/Catullus_85&#34;&gt;Odi
et amo&lt;/a&gt; &amp;hellip;&amp;quot;) as we see fit, at least inside our own heads&lt;/li&gt;
&lt;li&gt;We want to be able to work out life for ourselves&lt;/li&gt;
&lt;li&gt;We want space to think, to grow, to make mistakes and correct
them, or even to be free to persist in our chosen errors and
delusions. &amp;ldquo;To err is human&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Something about using the current set of &amp;ldquo;free&amp;rdquo; Big Internet
offerings where, &amp;ldquo;If you&amp;rsquo;re not paying for it you ARE the
product&amp;rdquo; violates the space we so desperately need.&lt;/p&gt;
&lt;h2 id=&#34;back-to-the-big-thinkers&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Back to the big thinkers&lt;/h2&gt;
&lt;p&gt;Enough of my ramblings.  Back to the deep thinkers who put
together the encyclopedic &lt;em&gt;A History of Private Life&lt;/em&gt; in 1987
without (gasp) Google or anything better than a IBM-PC running
DOS&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip;at all times and in all places a clear commonsensical distinction
has been made the public &amp;mdash; that which is open to the community and
subject to the authority of its magistrates &amp;mdash; and the private.  In
other words, a clearly defined realm is set aside for that part of
existence for which &lt;em&gt;every language has a word equivalent to
&amp;ldquo;private&amp;rdquo;&lt;/em&gt;, a zone of immunity to which we may fall back or retreat, a
place where we may set aside arms and armor needed in the public
place, relax, take our ease, and lie about unshielded&amp;hellip;this is the
place where the family thrives, the realm of domesticity; it is also
the realm of secrecy.   The private realm contains our most precious
possessions, which belong only to ourselves, which concern nobody
else, and which may not be divulged&amp;hellip;&lt;/p&gt;
&lt;p&gt;Georges Duby, Forward to &lt;em&gt;A History of Private Life&lt;/em&gt;, 1987&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Is he right?  Do &lt;em&gt;you&lt;/em&gt; have the space you need to &amp;ldquo;protect the essence
of individuality from headlong technological progress&amp;rdquo;?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Privacy: Motion activated cameras in the woods?</title>
      <link>http://curious.galthub.com/blog/privacy-cameras/</link>
      <pubDate>Sat, 26 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/privacy-cameras/</guid>
      <description>&lt;p&gt;I recently went backpacking on the Appalachian Trail in Massachusetts.
One of the reasons I go out is to &amp;ldquo;get away&amp;rdquo;, to go &amp;ldquo;off the grid&amp;rdquo;, to
enjoy nature and get away from adds, trackers, social media, etc.&lt;/p&gt;
&lt;p&gt;But a funny thing happened at my last campsite.  There was a camera
strapped to a tree taking my picture every time I put my food in or
out of the &amp;ldquo;bear box&amp;rdquo;.  The sign on the camera, in addition to asking
us not disturb the camera (duct tape, anyone ?) assured us that they
were only using the images to track bear activity at the campsite and
the images would be destroyed after being used for their intended
purpose.  Right.  They would not be fed to facial recognition
software, and the results would not be passed to law enforcement.
Right.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:camera&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/camera.jpg&#34; alt=&#34;Figure 1: &amp;ldquo;Caméra de vidéo-surveillance&amp;rdquo; by zigazou76 is licensed under CC BY 2.0&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://live.staticflickr.com/8163/7670889680_2ef260ab0f_b.jpg&#34;&gt;&amp;ldquo;Caméra de vidéo-surveillance&amp;rdquo; by zigazou76 is licensed under CC BY 2.0&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;In addition to that, many hikers now use the &amp;ldquo;&lt;a href=&#34;https://atlasguides.com/?cn-reloaded=1&#34;&gt;Guthook&lt;/a&gt;&amp;rdquo; app to track
their progress, find distance to water, etc.  It has social media-like
features that let you leave messages to help other hikers like &amp;ldquo;there
is a good stealth campsite at this stream&amp;hellip;&amp;rdquo;.  And such comments
suggesting helpful, but sometimes over the official line actions,
which are absolutely not being monitored by park officials (looking at
you Smokies, Baxter) and others concerned with keeping everyone
strictly in line with the mountains of rules made by people sitting at
desks who have NOT just hiked 8 to 12 hours a day for days on end and
have no appreciation of or sympathy for realities in the field.&lt;/p&gt;
&lt;p&gt;Mind you, I&amp;rsquo;m all for &lt;a href=&#34;https://en.wikipedia.org/wiki/Leave_No_Trace&#34;&gt;Leave No Trace&lt;/a&gt;, minimizing impact, ensuring that
others have the same opportunities I crave to enjoy nature, not
killing cute little animals out of sheer cruelty, etc, but&amp;hellip;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-nil&#34; data-lang=&#34;nil&#34;&gt;&amp;#34;Signs, signs, everywhere there&amp;#39;s signs,
blocking out the scenery, blowing my mind,
saying &amp;#39;Do this, don&amp;#39;t do that&amp;#39;
Can&amp;#39;t you read the signs?&amp;#34;

Signs, The Five Man Electrical Band
https://www.songfacts.com/lyrics/five-man-electrical-band/signs
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;src-block-caption&#34;&gt;
  &lt;span class=&#34;src-block-number&#34;&gt;Code Snippet 1:&lt;/span&gt;
  foo &lt;a href=&#34;https://www.songfacts.com/lyrics/five-man-electrical-band/signs&#34;&gt;Signs&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;The point is that our information-obsessed, always-connected,
bureaucratic society will not even leave you alone, even in the woods.
Thoreau, Muir, Audubon: meet the panopticon.&lt;/p&gt;
&lt;p&gt;Post 29 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Privacy: what is it and why do we care? …</title>
      <link>http://curious.galthub.com/blog/privacy-intro/</link>
      <pubDate>Thu, 24 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/privacy-intro/</guid>
      <description>&lt;p&gt;In this world where Big Internet firms track you to sell you stuff
(and to sell YOU), big Government tracks you because, well, they can,
and where I found myself on a motion activated camera when backpacking
alone in the &amp;ldquo;backcountry&amp;rdquo; in an attempt to &amp;ldquo;get away from it all&amp;rdquo;,
I&amp;rsquo;ve spend some time thinking about privacy.&lt;/p&gt;
&lt;p&gt;Life is short.  I could spend a lot of time registering domain names,
managing certificates, running my own mail server, de-googling,
convincing my friends and family to use nifty new security and privacy
apps, and generally fighting the privacy fight as an individual
against entire well-funded industries and governments.  Or I could
just live my life secure in the knowledge that Google and Amazon know
what I&amp;rsquo;m thinking of purchasing even before I do.&lt;/p&gt;
&lt;p&gt;This is the first in what will probably be a series of blog posts
exploring the following (current outline):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: Motion activated cameras strapped to trees in the woods?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: An attainable end state? A lost cause?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: A path to making a living via bureaucracy?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: Something to rant about ... with words.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: Rage against the machine ... with code?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: Hiding out on the digital frontier?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;**** TODO Privacy: A process, an ideal, one part of life?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Stay tuned.&lt;/p&gt;
&lt;p&gt;Post 28 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>AT Hiking 2020: 1500 miles down, 700 to go</title>
      <link>http://curious.galthub.com/blog/at2020/</link>
      <pubDate>Sat, 19 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/at2020/</guid>
      <description>&lt;p&gt;1500 miles down, 700 to go to finish section hiking the Appalachian
Trail with 215 miles completed this year in 3 trips.&lt;/p&gt;
&lt;p&gt;Of course, I have some of the hardest miles left: the Smokies,
Mt. Washington, the Whites, the Presidentials, the Bigelows, but with
persistence, luck, health, constant gear tweaks (and some HARD hiking)
I should finish in a few years.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/2020-AT-Milage-Status.png&#34; alt=&#34;Figure 1: Miles to go before I sleep&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Miles to go before I sleep
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;#100daystooffload #hiking&lt;/p&gt;
&lt;h2 id=&#34;9-6-9-12-2020-bennington-vt-to-great-barrington-mass--rt-dot-23&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; 9/6 - 9/12/2020	Bennington VT to Great Barrington, Mass (Rt. 23)&lt;/h2&gt;
&lt;p&gt;82 miles, 6 nights.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/TheCobbles.jpg&#34; alt=&#34;Figure 2: View From The Cobbles, Mt. Greylock, Cheshire Mass (in valley)&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;View From The Cobbles, Mt. Greylock, Cheshire Mass (in valley)
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;From Sunday 2020-09-06 to Saturday 2020-09-12 I hiked 82 miles
SOBO on the Appalachian Trail from Bennington, VT (VT 9) to
Great Barrington, Mass (Mass 23).  Highlights (high point) of
the trip included Mt. Greylock, the highest point in Mass, the
lovely town campsite in Cheshire, Mass, Camping by a beaver dam
Sunday night and seeing Moose in the morning, lots of beaver
dams/bogs, staying 2 nights (Thursday, Saturday before driving
home) at the Berkshire Lakeside Lodge, a lovely little motel .2
off the trail, and, of course, lots of hiking and people.
Resupply in Dalton, Mass at the Post Office.  Chocolate shake
and meatball grinder in Cheshire.  Pizza and milk in Dalton.
Magic coming down to 20 Thursday in the most-of-the day rain.
The weather, except for Thursday rain, was excellent.  Upper 50s
to lower 80s.&lt;/p&gt;
&lt;p&gt;Pre-trip I stopped at a Legend Of Sleepy Hollow/Rip Van Winkle
site, and just down the road the Martin Van Buren home, a short
hike in Philmont (!), NY to a high waterfall that people were
swimming under, saw some wild turkeys.  Stayed at the Days Inn
in Great Barrington and got a shuttle Sunday morning from Debbie
Andrus&lt;/p&gt;
&lt;p&gt;Post trip, I went back to the Berkshire Lakeside Lodge.  I&amp;rsquo;d
spent time in the area.  Normal Rockwell museum.  Lakes.
Tanglewood music festival (Boston Symphony summer series).
Shaker village (I camped at the &amp;ldquo;&amp;ldquo;Shaker Campsite&amp;rdquo;&amp;rdquo;).  West
Stockbridge is a lovely little town.  It has the &amp;ldquo;&amp;ldquo;TurnPark&amp;rdquo;&amp;rdquo;,
an outdoor interactive art park where I met one of the artists
(cutting the weeds).  Good food.  Probably expensive and crowded
in a non-COVID high season.  &amp;quot;&lt;/p&gt;
&lt;h2 id=&#34;7-3-7-4-2020-davenport-gap-to-hot-springs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; 7/3-7/4/2020	Davenport Gap to Hot Springs&lt;/h2&gt;
&lt;p&gt;33.9 miles, 1 night&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/MaxPatch.jpg&#34; alt=&#34;Figure 3: View From Max Patch in the Morning&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;View From Max Patch in the Morning
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Breakfast at diner. Shuttle to I-40.  Lost 1 - 1.5 hours because
shuttle driver (NYC guy) was a slave to his GPS, would not just
hop on 40.  On trail at 10.  Made it to Max Patch about 6.  UP
HILL.  I was shot.  July 3 on the summit was a mob scene.  I
camped 1/2 mile short.  Tried cold dinner (mashed potatoes +
stuffing + chicken).  Meh. Went up for sunset, and again just
after sunrise.  Bueatiful. Hiked 21 back into Hot Springs.
Hiked a little way with 2 girls from Tucker/Stone Mountain, GA
(where my wife went to school). Hit town.  Liquid.  Shower.
DROVE to store.  White Castles.  Bed.  Drove home.  %65.1 of
trail done.&lt;/p&gt;
&lt;h2 id=&#34;6-17-6-24-2020-hughs-gap-to-hot-springs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; 6/17-6/24/2020	Hughs Gap to Hot Springs&lt;/h2&gt;
&lt;p&gt;99 Miles, 7 nights.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/RobBird.jpg&#34; alt=&#34;Figure 4: Rob Bird provided &amp;ldquo;Trail Magic&amp;rdquo; 2 hikes in a row&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 4: &lt;/span&gt;Rob Bird provided &amp;ldquo;Trail Magic&amp;rdquo; 2 hikes in a row
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;&amp;ldquo;Mountian Squid&amp;rdquo; joined me for the first 3 miles.  Ran into 2
older Russian couples who were out for the first time.  Hiked
with the owner of &lt;a href=&#34;https://www.flowmarshall.com/&#34;&gt;https://www.flowmarshall.com/&lt;/a&gt; gallary in
Marshall, NC and her British husband for a bit.  Stayed at Uncle
Johnnies 1st night, shuttled to Hughs Gap.  Stayed at Uncle
Johhnies 3rd night, resupplied, hiked on to Hot Springs.  20
into hot springs from Laurel Fork.  Zeroed at Laughing Heart
hostle, shuttled back to Irwin to get car, drove, car broke down
in Wythville (axel), rented a car, came home, started a new job,
went back to Wythville Wednesday night.  Got car Thursday drove
back to Hot Springs/Laughing Heart, run by &amp;ldquo;Chuck Norris&amp;rdquo; and
&amp;ldquo;Tigger&amp;rdquo; &amp;hellip; former Jesuit retreat center/hostel.  Great place.
Got food in Hot Springs hiking in.  Big hill/rock steps coming
down.&lt;/p&gt;
&lt;p&gt;Post 26 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>What is that thing on the Internet, and is it bad?</title>
      <link>http://curious.galthub.com/blog/things-on-the-internet/</link>
      <pubDate>Sat, 19 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/things-on-the-internet/</guid>
      <description>&lt;div class=&#34;ABSTRACT&#34;&gt;
&lt;p&gt;When talking about Internet assets we often confuse &amp;ldquo;What is it?&amp;rdquo;, &amp;ldquo;Is
it bad?&amp;rdquo; and &amp;ldquo;What should I do about it?&amp;rdquo;.  This write-up intends to
show why it is important to keep those questions and answers to them
separate.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:elephant&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/elephant.jpeg&#34; alt=&#34;Figure 1: The Shape of the Elephant&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;&lt;a href=&#34;https://images.squarespace-cdn.com/content/v1/547e053ae4b04768d95052b5/1449545907243-AHKE1H7G260OO4WJ9L3C/ke17ZwdGBToddI8pDm48kA4OTh10Ye8gZQM8UPYYQJFZw-zPPgdn4jUwVcJE1ZvWQUxwkmyExglNqGp0IvTJZUJFbgE-7XRK3dMEBRBhUpxpL5WijoIxxArGLpk2nP4rt_mQiHA3qkdw2IvdSifHurtFUlA4zHqOnDqw0hNJllc/image-asset.jpeg?format=750w&#34;&gt;The Shape of the Elephant&lt;/a&gt;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 27 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;questions-to-ask&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Questions to ask&lt;/h2&gt;
&lt;p&gt;When identifying Internet-based assets, there are a series of basic
questions&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; that need to answered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What is it?&lt;/li&gt;
&lt;li&gt;How do I know?&lt;/li&gt;
&lt;li&gt;How certain am I?&lt;/li&gt;
&lt;li&gt;Is it &amp;ldquo;bad&amp;rdquo;?
&lt;ul&gt;
&lt;li&gt;depends on who you are&lt;/li&gt;
&lt;li&gt;depends on time&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;What can I do about it?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;an-example-web-servers-serving-pages-with-flash&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; An Example: Web servers serving pages with flash&lt;/h2&gt;
&lt;p&gt;One example can be used to illustrate the point: web servers
serving content with Adobe Flash
(&lt;a href=&#34;https://en.wikipedia.org/wiki/Adobe_Flash&#34;&gt;https://en.wikipedia.org/wiki/Adobe_Flash&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Flash is an older web technology that has known security
vulnerabilities, is deprecated (Adobe to stop supporting it on
12/31/2020) and has been replace by HTML5.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s classify it using the questions above, assuming we have
scanned a web site and pulled back the HTML body of the main page
via an HTTP GET request:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;What is it?&lt;/dt&gt;
&lt;dd&gt;A web server serving pages with flash.&lt;/dd&gt;
&lt;dt&gt;How do I know?&lt;/dt&gt;
&lt;dd&gt;We see files with &lt;code&gt;.swf&lt;/code&gt; extensions embedded in
javascript returned as part of the web page, e.g.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;var swfpath=&amp;#34;/e/data/images/pixviewer.swf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;dl&gt;
&lt;dt&gt;How certain am I?&lt;/dt&gt;
&lt;dd&gt;Your signatures may vary.  There are other
strings you can look for such as:&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;application/x-shockwave-flash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://www.macromedia.com/go/getflashplayer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You might start with a google search for&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;intext:http://www.macromedia.com/go/getflashplayer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It&amp;rsquo;s just a question of how much time you want to put into
developing the signature.  For some things (HTML) there is a lot
of ambiguity. For others (TCP, HTTP, SNMP, SSH&amp;hellip;) the protocol
will not work if the transactions are not well defined.
Identification of less well defined protocols is ad hoc based on
heuristics.  Identification of well defined protocols is more
certain. See below.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Is it &amp;ldquo;bad&amp;rdquo;? It depends.&lt;/dt&gt;
&lt;dd&gt;Once we&amp;rsquo;ve answered the &amp;ldquo;what is it&amp;rdquo;
question, you can begin to address the &amp;ldquo;is it bad&amp;rdquo; question and
possibly it&amp;rsquo;s corollary &amp;ldquo;how bad is it?&amp;rdquo; (not addressed here).
Lets return to our flash example.  It turns out Chinese web sites
are a large current (2020-09-17) source of flash on the web.  A
security products vendor also uses a lot of flash on their login
page.
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&amp;lsquo;Is it bad?&amp;rsquo; depends on who you are&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Chinese government? Maybe you WANT people to download
vulnerable software to enhance your ability to monitor
citizens activity.&lt;/li&gt;
&lt;li&gt;Chinese human rights activist? You probably don&amp;rsquo;t want known
vulnerable software on your computer.&lt;/li&gt;
&lt;li&gt;Security vendor?  Forcing your security minded customers to
download and run known vulnerable software as part of logging
into your security web site is, at best, bad form.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&amp;lsquo;Is it bad?&amp;rsquo; &amp;ldquo;Is it bad&amp;rdquo; &amp;ldquo;depends on time&lt;/strong&gt;
When did vulnerabilities in the product become widely known (e.g. a CVE
published)?  When was &amp;ldquo;proof of concept&amp;rdquo; exploit code available?
When are/were patches/upgrades available? &amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&amp;lsquo;Is it bad?&amp;rsquo; depends on where you are&lt;/strong&gt;
Are you at work on a laptop supplied by your employer who has a policy against
accessing web sites that use flash?  Are you at home or in a lab
doing web vulnerability research on a &amp;ldquo;throwaway&amp;rdquo; machine&amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;dt&gt;What can I do about it?&lt;/dt&gt;
&lt;dd&gt;Lastly, and probably most importantly,
the question is &amp;ldquo;What can I do about it?&amp;rdquo;.  Are there steps I
can/should take to fix things that are &amp;ldquo;bad&amp;rdquo;?  Patch? Upgrade?
Choose a different security vendor&amp;hellip;?&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;keep-each-issue-separate-think-about-them-independently&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Keep each issue separate, think about them independently&lt;/h2&gt;
&lt;p&gt;It is important to keep the answers to these questions separate.
For instance saying &amp;ldquo;write some software to find bad things on web
servers&amp;rdquo; presupposes a common definition of &amp;ldquo;bad&amp;rdquo;, which, as we&amp;rsquo;ve
seen above can be highly contextual.&lt;/p&gt;
&lt;p&gt;It would be far better to keep them separate.   For instance, define
a taxonomy (see below) to say &amp;ldquo;what is this&amp;rdquo;?   Then separately
devise ways to answer the &amp;ldquo;is it bad&amp;rdquo; question for separate
environments (countries, organizations, individuals &amp;hellip;)&lt;/p&gt;
&lt;h2 id=&#34;taxonomies-ontologies-and-ascii-art-oh-my&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Taxonomies, Ontologies and ASCII Art, Oh My !!!&lt;/h2&gt;
&lt;p&gt;The outline above lists the basic questions.  It is possible that
there will be a need for a deeper dive/more complete classification.
For instance, revisiting &lt;strong&gt;what is it?&lt;/strong&gt; for the web server with
flash, we might come up with this taxonomy:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ open port                      WELL DEFINED, CERTAIN IDENTIFICATION
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  + tcp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    + tls                                        ^
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      + web server                               |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         + microsoft                             |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           + iis                                 |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             + 7.3                               |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               + services                        |
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 + flash                         v
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               + frameworks
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  + dotnet       LESS DEFINED, LESS CERTAIN IDENTIFICATION
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Taxonomies help in classifying, understanding and communicating
about things, for instance taxonomies (and Latin names) have been
used in Biology for hundreds of years.  More recently, the
cybersecurity world started standardizing vulnerability naming as
CVE.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; Conclusion&lt;/h2&gt;
&lt;p&gt;When thinking about Internet assets, writing software to detect and
classify/fingerprint assets and deciding what to call &amp;ldquo;bad&amp;rdquo;, keep
the preceding questions in mind and try to keep the questions
separate.&lt;/p&gt;
&lt;h2 id=&#34;disclaimer&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Disclaimer&lt;/h2&gt;
&lt;p&gt;The opinions expressed here are mine, and not those of my employer.
In fact, they may not even be mine.  I may have changed my mind.  I
may have grown beyond a particular opinion.  I may be trolling you.
I may be engaging in Socratic dialog to tear down your beliefs.  I
may be tearing down my own beliefs. γνῶθι σεαυτόν!&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Note that these are not randomly chosen questions.  They map
fairly directly to some of the basic questions of epistemology, morals
and ethics.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>HOWTO: See SOME lines from a file</title>
      <link>http://curious.galthub.com/blog/some/</link>
      <pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/some/</guid>
      <description>&lt;p&gt;Sometimes you want to see the head of a file.   Sometimes you want to
see the tail. Sometimes you just want to see &lt;strong&gt;some&lt;/strong&gt; lines from a file.&lt;/p&gt;
&lt;p&gt;The bash function below gives you &lt;strong&gt;some&lt;/strong&gt; lines:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ cat &amp;lt;&amp;lt;END &amp;gt; lines.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 5
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 6
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 7
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 8
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 9
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 10
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 11
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 12
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 13
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 14
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; 15
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt; END
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ source some.t
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ some -2 lines.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;14
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;15
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ some -2 lines.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;9
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;10
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ some -2 lines.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;6
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;7
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed bash [master] $ cat some.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; some &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Functon to print &amp;#34;some&amp;#34; lines of a file, like head or tail but, random start&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Usage: some [[-#] FILE]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    set -u; &lt;span style=&#34;color:#75715e&#34;&gt;# be safe out there&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    HOW_MANY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Number of lines to print.  Default.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    FILE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/dev/stdin&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# default&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$#&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; -eq &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        :
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$#&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; -eq &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ -&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;0-9&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            HOW_MANY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^-//&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            FILE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$#&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; -eq &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ -&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;0-9&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            HOW_MANY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$1&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^-//&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;some: Usage: some [-# [FILE]]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        FILE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$2&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Count the lines to bound display&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    LINES&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;wc -l $FILE | sed -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/ .*//&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# pick a random starting line at least HOW_MANY back from the end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    FIRST&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$((&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; RANDOM &lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;LINES &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; HOW_MANY &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;))&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    LAST&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$((&lt;/span&gt;FIRST &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; HOW_MANY &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Let&amp;#39;s see some lines !&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    awk &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;NR &amp;gt;= &lt;/span&gt;$FIRST&lt;span style=&#34;color:#e6db74&#34;&gt; &amp;amp;&amp;amp; NR &amp;lt;= &lt;/span&gt;$LAST&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; $FILE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Post 26 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>HOWTO: /bin/ed by example</title>
      <link>http://curious.galthub.com/blog/bin-ed/</link>
      <pubDate>Fri, 28 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/bin-ed/</guid>
      <description>&lt;p&gt;Below I &lt;strong&gt;show&lt;/strong&gt; an editing session that uses basic &lt;code&gt;/bin/ed&lt;/code&gt; commands.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;/bin/ed&lt;/code&gt; is the standard Unix Editor&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;ed&lt;/code&gt; was written round 1969.  It&amp;rsquo;s still here.  &lt;code&gt;grep&lt;/code&gt; comes from
&lt;code&gt;/bin/ed&lt;/code&gt;: &lt;code&gt;g/re/p&lt;/code&gt; works as an ed command to search *g*lobally for a
*re*gular expression and *p*rint the matching lines.  ed commands
will be familiar to users of &lt;code&gt;sed&lt;/code&gt;, as sed is the &amp;ldquo;stream editor&amp;rdquo;
with a very similar set of commands.  ed commands will be familiar to
&lt;code&gt;vi&lt;/code&gt; users.  If you type &amp;ldquo;:&amp;rdquo; in vi, you get, basically, an ed prompt.
You can type ed commands (see below) and they work.  &amp;ldquo;vi&amp;rdquo; is the
&amp;ldquo;visual interface&amp;rdquo; to ed (or one of it&amp;rsquo;s successors).  Though I am a
die hard &lt;code&gt;emacs&lt;/code&gt; user, often when I just want to do a quick edit or take
some note I just fire up &lt;code&gt;/bin/ed&lt;/code&gt; and go&amp;hellip;.&lt;/p&gt;
&lt;h2 id=&#34;a-sample-bin-ed-session-dot-dot-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; A sample &lt;code&gt;/bin/ed&lt;/code&gt; session&amp;hellip;&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed tmp [master] $ ed -p: ed-HOWTO-blog.org  # use &amp;#34;:&amp;#34; for the prompt, just like vi
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ed-HOWTO-blog.org: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# append some lines
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:a
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Write a blog post about /bin/ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  /bin/ed is &amp;#34;The standard Unix editor&amp;#34; ... since 1969
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Richard Stallman
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Show some basic ed commands
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;a&amp;#34; :: append
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;p&amp;#34; :: print
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;s&amp;#34; :: substitute
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;w&amp;#34; :: write
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;q&amp;#34; :: quit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;.&amp;#34; :: end input
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# Whoops, Stallman did not write ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# go back to line 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Write a blog post about /bin/ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# make sure we are at line 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:.=
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# find the mistake
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:/Stallman/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Richard Stallman
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:.=
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# its on line three
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# fix it
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:s/Richard Stallman/Ken Thompson/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# let&amp;#39;s see the fix
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Ken Thompson
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# let&amp;#39;s see the start of the file to here
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:1,.p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Write a blog post about /bin/ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  /bin/ed is &amp;#34;The standard Unix editor&amp;#34; ... since 1969
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Ken Thompson
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# OK, looks good, but one more change
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Ken Thompson
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:s/Ken Thompson/Ken Thompson or maybe Dennis Ritchie/p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Ken Thompson or maybe Dennis Ritchie
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# let&amp;#39;s see the whole file now, it&amp;#39;s short
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:1,$p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Write a blog post about /bin/ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  /bin/ed is &amp;#34;The standard Unix editor&amp;#34; ... since 1969
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  It was written by Ken Thompson or maybe Dennis Ritchie
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Show some basic ed commands
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;a&amp;#34; :: append
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;p&amp;#34; :: print
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;s&amp;#34; :: substitute
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;w&amp;#34; :: write
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;q&amp;#34; :: quit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - &amp;#34;.&amp;#34; :: end input
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# now lets grep (g/re/p) for lines that contain &amp;#34;ed&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:g/ed/p
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Write a blog post about /bin/ed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  /bin/ed is &amp;#34;The standard Unix editor&amp;#34; ... since 1969
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Show some basic ed commands
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:# ok, this looks good.  write and quit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:w
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;288
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:q
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed tmp [master] $
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Post 25 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Dad treated people like people.  I admire that.</title>
      <link>http://curious.galthub.com/blog/people/</link>
      <pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/people/</guid>
      <description>&lt;p&gt;When my father was writing letters to faceless, nameless people stuck
jobs answering IRS letters, he started with tiles like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;PENALTY OR NO PLENALTY,
THAT IS THE QUESTION&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Big, bold a the top, and IN CAPS.&lt;/p&gt;
&lt;p&gt;When talking to nameless customer service drones on the phone, he
always acted as if they were personally empowered, able to make
decisions, and as if they were personally invested in their companies
mission and in serving him, as their customer.  He expected them to be
engaged, to take responsibility, to solve problems, and to interact
with him as a human being on equal terms.&lt;/p&gt;
&lt;p&gt;In a way, this was naive, not recognizing how many people have just
been turned in to mindless cogs in the machine.   But in a way, it was
him insisting on dealing with every human being as a person.&lt;/p&gt;
&lt;p&gt;Dad treated people like people, whether they saw themselves that way or not.&lt;/p&gt;
&lt;p&gt;I admire that.   Thanks, Dad.&lt;/p&gt;
&lt;p&gt;Post 24 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>There&#39;s a lot to be said for climbing mountains</title>
      <link>http://curious.galthub.com/blog/turba/</link>
      <pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/turba/</guid>
      <description>&lt;p&gt;Vulgate (Latin): Matthew Chapter 5&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 Videns autem Jesus turbas, ascendit in montem...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;or, roughly (my translation):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jesus, however, seeing the crowd/mob/political disturbance went up on
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;the mountain...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The word &amp;ldquo;turba&amp;rdquo; per my paper dictionary tends towards a crowd that is
politically disturbed.  It can also mean an eddy (water) or a child&amp;rsquo;s
spinning top. Per &lt;a href=&#34;https://en.wiktionary.org/wiki/turba#Latin&#34;&gt;https://en.wiktionary.org/wiki/turba#Latin&lt;/a&gt; it means&amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stir, disturbance, tumult, uproar, trouble
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mob, crowd, throng
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;multitude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The world is like that.   You have to get a way to clear your head, to
see clearly, to literally &amp;ldquo;get above it all&amp;rdquo;.   I like going up
mountains (of the 1000 to 3000 foot variety in the eastern US).&lt;/p&gt;
&lt;p&gt;Apparently, Jesus had this figured out.  This was his opening move to
set the scene for delivering the most profound sermon in history:
&amp;ldquo;Blessed are the poor in poor in spirit&amp;hellip;the meek..the
peacemakers&amp;hellip;those who thrust and hunger for righteousness&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Go climb a mountain.   See what happens (in your mind) next.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Latin Flash Cards in the 21st century (2773 AUC)</title>
      <link>http://curious.galthub.com/blog/flashcards/</link>
      <pubDate>Sun, 23 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/flashcards/</guid>
      <description>&lt;p&gt;Latin flash cards are not what they were in 1983:
&lt;a href=&#34;https://latinlexicon.org&#34;&gt;https://latinlexicon.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s got a thing where you can pop in a sentence (say, one form Cicro
or random #Latin conversations on twitter (yes, they exist)), and you
can click on the words (yellow above), it shows you all the possible
words that particular inflected word might be and then offers to build
flash cards for you&amp;hellip;complete with citations/examples from the
literature&amp;hellip;.I know what my Latin reading tool is from here on out.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/flashcards.png&#34;/&gt; &lt;/figure&gt;

&lt;p&gt;Post 23 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>The History Of Rome - nihil novi</title>
      <link>http://curious.galthub.com/blog/history-of-rome/</link>
      <pubDate>Sat, 22 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/history-of-rome/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been listening to &amp;ldquo;&lt;a href=&#34;https://thehistoryofrome.typepad.com/the_history_of_rome/2007/07/index.html&#34;&gt;The History of Rome&lt;/a&gt;&amp;rdquo; podcast recently.  There
is nothing new under the sun: Plagues (er, &amp;ldquo;pandemics&amp;rdquo;), riots,
xenophobia, wars, greed, ambition, and political factions.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s filling in a lot of gaps and details for me.  I would recommend
if you&amp;rsquo;re interested in history.  Today&amp;rsquo;s basic problems are not new.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:legoRoman&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/legoRoman.jpg&#34; alt=&#34;Figure 1: Life-Size Lego Roman Soldier, Lego Store, Rome, 2019&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Life-Size Lego Roman Soldier, Lego Store, Rome, 2019
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 22 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Why was Mark Twain&amp;rsquo;s home town named for a general who ultimately
lost? (hit, he spent 10 years wondering around Italy conquering
everything but Rome itself and his tactics are still studied in
military schools).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Where did Tolkien get the idea for war &amp;ldquo;Oliphants&amp;rdquo;? (related to
the last question).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What is a Pyrrhic Victory? (hint: the kind you don&amp;rsquo;t want many of)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What happens when you move from a democratic society made up of a
broad base of citizens with wide distribution of wealth (farms)
to one where most of the wealth is held in a few hands (hint:
Jefferson and the other American founders had seen where that
lead and thus championed the idea of the &amp;ldquo;Yoeman farmer&amp;rdquo;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How do you accomplish land (wealth) reform and not get killed?
Ask the Gracci, wait, they were both killed.  Ask the American
Indians, wait, wait&amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;What happens when the reward structure for civic and military
leaders morphs from community-minded civic responsibility to
personal power bases and personal enrichment? (you get Caesar
&amp;hellip; who gave us the basic calendar we use to this day &amp;hellip; and
&lt;strong&gt;then&lt;/strong&gt; got killed)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Is peace under military dictatorship (the &amp;ldquo;Pax Romana&amp;rdquo;) worth the
loss of freedom?  &lt;a href=&#34;https://youtu.be/Y7tvauOJMHo&#34;&gt;What &lt;strong&gt;have&lt;/strong&gt; the Romans ever done for us?&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>40 years of walled gardens &amp; open platforms: Part II</title>
      <link>http://curious.galthub.com/blog/walled-gardens-part-2/</link>
      <pubDate>Fri, 21 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/walled-gardens-part-2/</guid>
      <description>&lt;p&gt;Here are some developments in late 70s and early 80s where I started
to become aware/involved in &amp;ldquo;Online&amp;rdquo; things that eventually evolved
into today&amp;rsquo;s Social Media: Modems&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, BBS systems, TOPS-20 Bulletin Boards,
Usenet News and the birth of CompuServe.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:modem&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/modem.jpg&#34; alt=&#34;Figure 1: Desktop Dial-up&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Desktop Dial-up
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 21 #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Dialup BBS Systems&lt;/dt&gt;
&lt;dd&gt;Once upon a time it was illegal to connect
modems (or anything else but AT&amp;amp;T equipment) to the phone network.
And that was, basically, the only network.  Some time after that
changed, dialup Bullitin Board Systems (BBS) arrived.  You could
dial up and connect to a BBS running in someone&amp;rsquo;s house often
connected to the only line (the home phone).  Mom and Dad may have
wondered at first why they picked up a call and heard awful
electronic squawking noises rather than someone saying &amp;ldquo;Hello&amp;rdquo;.
Once on, you could leave messages, read messages, etc.  Communities
formed this way.&lt;/dd&gt;
&lt;dt&gt;TOPS-20 Bulletin Boards&lt;/dt&gt;
&lt;dd&gt;I&amp;rsquo;m not sure, but my first exposure
to bulletin boards and email (&amp;ldquo;social media&amp;rdquo;) was probably on
the Ohio State DecSystem-20.  I had friends who worked there,
and we later went to school there and thus had a &amp;ldquo;legitimate&amp;rdquo;
accounts.  The world and software I remember is describe well
here &lt;a href=&#34;http://www.columbia.edu/kermit/dec20.html&#34;&gt;http://www.columbia.edu/kermit/dec20.html&lt;/a&gt;.  Kermit (the
project that the authors of this article ran) was a very
important piece of software for 10-15 years, a workhorse of
moving files across dial-up phone connections.&lt;/dd&gt;
&lt;dt&gt;Usenet News&lt;/dt&gt;
&lt;dd&gt;Social media c.a. 1980.  &lt;a href=&#34;https://en.wikipedia.org/wiki/Usenet&#34;&gt;Usenet&lt;/a&gt; was (is) a system
that moves messages (posts) between connected computers.  In the
beginning this was dial-up lines.  Mostly between universities and
research institutions and, of course, AT&amp;amp;T/Bell Labs etc.  For a
while the USENET &amp;ldquo;backbone&amp;rdquo; (the long haul links, the well connected
sites) were run by an unofficial cabal internally at AT&amp;amp;T (because
they had free access to &amp;ldquo;long lines&amp;rdquo;) and traffic was farmed out to
local sites (universities) for further distribution.  It was the
quintessential &amp;ldquo;old boy&amp;rdquo; network.  To connect, you had to know
someone and convince them to &amp;ldquo;give you a feed&amp;rdquo;.  I was on sometime
from the mid-80s on. A few ?representative? newsgroups: &lt;code&gt;comp.sources.amiga&lt;/code&gt;,
&lt;code&gt;rec.humor.funny&lt;/code&gt; &lt;code&gt;alt.ensign.wesley.die.die.die&lt;/code&gt;&lt;/dd&gt;
&lt;dt&gt;CompuServe: Dialup+Network+Dec10s == Information Service&lt;/dt&gt;
&lt;dd&gt;CompuServe
(&amp;ldquo;Online Services&amp;rdquo;) was born in this world.  People started having
&amp;ldquo;Personal Computers&amp;rdquo; in the late 70s and early 80s.  Modems started
becoming a thing.  While Usenet, BBS systems, Fido-net and friends
started using these technologies to connect people in non-commercial
settings, Compu$erve started to do so in a commercial setting.
CompuServe had been running a nationwide packet switching network
since 1972 (take that, ARPANET !), had been selling business
oriented computing services, and time sharing on its DecSystem10&amp;rsquo;s
accessed via that network as well as growing raft of dial-up modem
pools, conveniently located in H&amp;amp;R Block offices around the country
at a time when having &amp;ldquo;Local&amp;rdquo; numbers was important (long distance
was expensive).  This was the 1970s version of &amp;ldquo;Cloud Computing&amp;rdquo;.
Business use slacked off at night, so what was a good time-sharing
company to do?  Why start an Information Service that grew into the
familiar lineup of &amp;ldquo;Forums&amp;rdquo; (BBS), &amp;ldquo;InfoPlex&amp;rdquo; (email), &amp;ldquo;CB&amp;rdquo;
(chat/Aim/IRC), and the recurring services that every online service,
search engine and social network eventually devolves to: News,
Weather, and Sports.  I think the online service started around 1980.   I began working
there in 1985.   More from the CompuPerspective as these posts
progress.&lt;/dd&gt;
&lt;/dl&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Modem picture courtesy of: &amp;ldquo;Dial-a-Grue&amp;rdquo; by Digital Game Museum is licensed under CC BY 2.0. To view a copy of this license, visit &lt;a href=&#34;https://creativecommons.org/licenses/by/2.0/&#34;&gt;https://creativecommons.org/licenses/by/2.0/&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Disclaimer</title>
      <link>http://curious.galthub.com/blog/disclaimer/</link>
      <pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/disclaimer/</guid>
      <description>&lt;p&gt;The opinions expressed in this &lt;code&gt;[FOO]&lt;/code&gt; are mine, and not those of my
employer.  In fact, they may not even be mine.  I may have changed my
mind.   I may have grown beyond a particular opinion.  I may be
trolling you.  I may be engaging in Socratic dialog to tear down your
beliefs.  I may be tearing down my own beliefs. γνῶθι σεαυτόν!&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>40 years of walled gardens &amp; open platforms: Part I</title>
      <link>http://curious.galthub.com/blog/walled-gardens-part-1/</link>
      <pubDate>Tue, 18 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/walled-gardens-part-1/</guid>
      <description>&lt;p&gt;This the first in a series of articles where I do a brain dump
pf something like 40 years experience with &amp;ldquo;social media&amp;rdquo; of
various forms: Dial-up BBSs, Fidonet, Usenet, IRC, CompuServe,
AOL, Slashdot, Sourceforge, blogspot, Facebook, Jabber, Google+,
Twitter, LinkedIn, Mastadon &amp;ldquo;&amp;hellip;we didn&amp;rsquo;t start the fire
(flame-war?)&amp;hellip;&amp;rdquo;  OK, maybe we did.&lt;/p&gt;
&lt;p&gt;I hope this is useful, or at least interesting.  It may wind up
just being a mix of introspection, hubris or narcissism, it may
be part of working up the nerve to quit Twitter as I quit
Facebook in 2016, maybe I&amp;rsquo;ll even work up the nerve to go cold
turkey as &lt;a href=&#34;https://musings.tychi.me/so-long-and-thanks-for-all-the-fish&#34;&gt;tychi&lt;/a&gt; is doing.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:rs232&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/rs232.jpg&#34; alt=&#34;Figure 1: RS-232 pin-outs&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;RS-232 pin-outs
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Post 20 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;before-my-time&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Before my time&lt;/h2&gt;
&lt;p&gt;To being with, we need to set the stage.  We&amp;rsquo;re here.  Now.  How
did we get here?  What went before?  Understanding these might
help us both to live in the world as we find it and figure out
how to move forward.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&amp;lsquo;- - - &amp;hellip; - - -&amp;rsquo;&lt;/dt&gt;
&lt;dd&gt;Yesterday, &lt;span class=&#34;timestamp-wrapper&#34;&gt;&lt;span class=&#34;timestamp&#34;&gt;&amp;lt;2020-08-16 Sun&amp;gt; &lt;/span&gt;&lt;/span&gt; was the 100th
anniversary of the first trans-Atlantic telegram:
&lt;a href=&#34;https://cryptologicfoundation.org/what-we-do/educate/bytes/this_day_in_history_calendar.html/event/2020/08/16/1597554000/1858-early-telegraph-communications/77123&#34;&gt;https://cryptologicfoundation.org/what-we-do/educate/bytes/this_day_in_history_calendar.html/event/2020/08/16/1597554000/1858-early-telegraph-communications/77123&lt;/a&gt;
In a very real sense, the telegram was the beginning our
digital age.&lt;/dd&gt;
&lt;dt&gt;Telegraphs, Phones, Blind Kids and Steve Jobs&lt;/dt&gt;
&lt;dd&gt;Phil Lapsley
wrote a fascinating book called &amp;ldquo;&lt;a href=&#34;https://www.amazon.com/Exploding-Phone-Phil-Lapsley/dp/0802122280&#34;&gt;Explode The Phone&lt;/a&gt;&amp;rdquo;.  It is
fascinating story of technology and hacking culture from
telegraphs to somewhere after Steve Jobs and Woz were going
door to door in the Berkeley dorms selling little black boxes.
Phil gave a keynote at &lt;a href=&#34;https://www.usenix.org/conference/usenixsecurity20&#34;&gt;USENIX Security&lt;/a&gt; one year and I was
there and talked to him a bit &amp;hellip; part of his passion was to
record the &amp;ldquo;Phone Phreak&amp;rdquo; culture that lead directly to the
modern &amp;ldquo;Hacking&amp;rdquo; (good sense) culture while enough of the
principals were still around.  I talked to &amp;ldquo;Captin Crunch&amp;rdquo;,
one of the main subjects of the book at ToorCon one year.
What a character.  The entire
hacker/blackhat/freedom-to-tinker movements (and Apple
Computer) owe him homage.  Just don&amp;rsquo;t give him a piggy-back
ride.   Phil was also the author of &lt;a href=&#34;https://en.wikipedia.org/wiki/Network_News_Transfer_Protocol&#34;&gt;Network News Transport
Protocl (NNTP)&lt;/a&gt; for for &lt;a href=&#34;https://en.wikipedia.org/wiki/Usenet&#34;&gt;Usenet&lt;/a&gt; and we may get to why Usenet,
pathalias, GNUS and friends may or may not have been a good
idea in later posts.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;I want to pick up the story where I have personal history and
Phil&amp;rsquo;s book, conveniently runs right up to about that point.&lt;/p&gt;
&lt;p&gt;I guess one of my goals parallels his: to document bits of how we
got to the &amp;ldquo;Social Media&amp;rdquo; (and &amp;ldquo;walled gardens&amp;rdquo;) of today, as
I&amp;rsquo;ve live through and been a small player in bits of it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Publishing a blog on Github with Org and Hugo</title>
      <link>http://curious.galthub.com/blog/hugo-org-github/</link>
      <pubDate>Sun, 16 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/hugo-org-github/</guid>
      <description>&lt;p&gt;If you ever thought to yourself, &amp;ldquo;Gee, Emacs Org mode is a great
outlining and authoring tool, and I wish there were a powerful
and simple way use it to publish static websites on github or in
S3 buckets, I wish my blog could look as slick ast
&lt;a href=&#34;http://curious.galthub.com/&#34;&gt;http://curious.galthub.com/&lt;/a&gt;&amp;rdquo; your&amp;rsquo;re in luck, All but the
&lt;em&gt;simple&lt;/em&gt; part.  Here are some of the references I used.&lt;/p&gt;
&lt;p&gt;Post 19 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;potential-ox-hugo-sites-to-copy&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Potential ox-hugo sites to copy&lt;/h2&gt;
&lt;h3 id=&#34;the-art-of-not-asking-why&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; The Art Of Not Asking Why&lt;/h3&gt;
&lt;p&gt;I started by looking for sample web sites to copy by perusing
the sites on this list
&lt;a href=&#34;https://ox-hugo.scripter.co/doc/examples/&#34;&gt;https://ox-hugo.scripter.co/doc/examples/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I found the following&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Site&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://joshrollinswrites.com/&#34;&gt;https://joshrollinswrites.com/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Source&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://github.com/jarss/TAONAW/tree/master&#34;&gt;https://github.com/jarss/TAONAW/tree/master&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Josh has been great in answering the odd question.  His blog is
interesting too !!!  He accepts paypal&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;general-info-on-hugo-ox-hugo-and-github-pages&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; General Info on Hugo, Ox-Hugo and github pages&lt;/h2&gt;
&lt;p&gt;Then I did some reading (this is where the &lt;em&gt;not simple&lt;/em&gt; part
comes in) on the following sites&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;hugo getting started&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://gohugo.io/getting-started/quick-start/&#34;&gt;https://gohugo.io/getting-started/quick-start/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;hosting a blog on github pages&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://gohugo.io/hosting-and-deployment/hosting-on-github/&#34;&gt;https://gohugo.io/hosting-and-deployment/hosting-on-github/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;github pages&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://pages.github.com/&#34;&gt;https://pages.github.com/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;HOWTO with Hugo and github pages&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://medium.com/swlh/hosting-a-hugo-blog-on-github-pages-with-travis-ci-e74a1d686f10&#34;&gt;https://medium.com/swlh/hosting-a-hugo-blog-on-github-pages-with-travis-ci-e74a1d686f10&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Org mode hugo exporter&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;https://ox-hugo.scripter.co/&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ll probably go here, but it seems like a bit much to start&amp;hellip;&lt;/li&gt;
&lt;li&gt;Maybe learn the un-automated way first?&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;dt&gt;About Hugo&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://people.umass.edu/weikaichen/post/emacs-ox-hugo/&#34;&gt;https://people.umass.edu/weikaichen/post/emacs-ox-hugo/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;About blogging with Hugo&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://www.shanesveller.com/blog/2018/02/13/blogging-with-org-mode-and-ox-hugo/&#34;&gt;https://www.shanesveller.com/blog/2018/02/13/blogging-with-org-mode-and-ox-hugo/&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;the-results&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The results&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;re looking at the results: &lt;a href=&#34;http://curious.galthub.com/&#34;&gt;http://curious.galthub.com/&lt;/a&gt;, this
and other posts.  It took a couple deep dives to understand it,
but I think I more-or-less have it, and it is a very seamless
integration wtih Org-Mode, which for some of us closes the deal
even if there is pain involved&lt;/p&gt;
&lt;h2 id=&#34;bonus-twitter-cards&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Bonus: Twitter cards&lt;/h2&gt;
&lt;p&gt;And for bonus points I did reading on how to add twitter card
support to ox-hugo bog posts, e.g., so you can write your post
and have twitter or other sites (such as &lt;a href=&#34;https://mastodon.social/about&#34;&gt;Mastadon&lt;/a&gt;) that
understand the format pull the title, intro and possibly an
image to post in the web sit.&lt;/p&gt;
&lt;h3 id=&#34;twitter-cards-howto-the-short-story&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.1&lt;/span&gt; Twitter Cards: HOWTO, the short story&lt;/h3&gt;
&lt;p&gt;Short version: if you drop &lt;code&gt;twitter_cards.html&lt;/code&gt; in
&lt;code&gt;layouts/partials/&lt;/code&gt; of your blog, you then just write your
blog, publish it, and past the URL into the &lt;a href=&#34;https://cards-dev.twitter.com/validator&#34;&gt;https://cards-dev.twitter.com/validator&lt;/a&gt;
to make sure it&amp;rsquo;s going to work when posted&lt;/p&gt;
&lt;h3 id=&#34;twitter-cards-more-than-you-ever-wanted-to-know-the-long-story-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.2&lt;/span&gt; Twitter Cards: More than you ever wanted to know, the long story.&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Twitter Cards&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://sproutsocial.com/insights/twitter-cards/&#34;&gt;https://sproutsocial.com/insights/twitter-cards/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Twitter cards in ox-hugo&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://ox-hugo.scripter.co/doc/org-toc/&#34;&gt;https://ox-hugo.scripter.co/doc/org-toc/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Twitter cards in Hugo&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://gohugo.io/templates/internal/&#34;&gt;https://gohugo.io/templates/internal/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Twitter cards partials for Hugo&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://gohugohq.com/partials/twitter-cards-partials-for-hugo/&#34;&gt;https://gohugohq.com/partials/twitter-cards-partials-for-hugo/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Ttitter card, ox-hugo discussion&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://discourse.gohugo.io/t/solved-help-with-twitter-card-image/14067&#34;&gt;https://discourse.gohugo.io/t/solved-help-with-twitter-card-image/14067&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;about hugo partials&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&#34;https://gohugo.io/templates/partials/&#34;&gt;https://gohugo.io/templates/partials/&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;how-to-publish-files-settings-process&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; How to publish: files, settings, process&lt;/h2&gt;
&lt;p&gt;And, finally the gory details of actually publishing.&lt;/p&gt;
&lt;p&gt;These are raw/WIP notes, but mostly right.  They actually
publish this blog.&lt;/p&gt;
&lt;h3 id=&#34;important-files-and-directories&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.1&lt;/span&gt; Important Files and Directories&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;/home/gmj/public/github/ox-hugo-blogs/blog/curious.org&lt;/dt&gt;
&lt;dd&gt;The one file to rule them all
o This is the blog.  All articles live in this one file as
separate org trees.   This is the &amp;ldquo;source&amp;rdquo;.&lt;/dd&gt;
&lt;dt&gt;HUGO_BASE_DIR=/home/gmj/public/github/ox-hugo-blogs/blog&lt;/dt&gt;
&lt;dd&gt;The root of my blog
o This is the root/source for the blog.  It gets pushed to
&lt;a href=&#34;mailto:git@github.com&#34;&gt;git@github.com&lt;/a&gt;:eludom/blog.git (fetch)&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;${HUGO_BASE_DIR}/content/&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Where local content (markdown) goes,
e.g. &lt;code&gt;content/posts/steve.md&lt;/code&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;${HUGO_BASE_DIR}/docs/&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Where the content to publish (html) goes,&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;settings-and-organization&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.2&lt;/span&gt; Settings and Organization&lt;/h3&gt;
&lt;h4 id=&#34;set-export-hugo-section&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.2.1&lt;/span&gt; Set EXPORT_HUGO_SECTION&lt;/h4&gt;
&lt;p&gt;In the .org file that is the blog, set EXPORT_HUGO_SECTION
to be &amp;ldquo;Blog&amp;rdquo; (or in whichever section you want posts to land,
default is &amp;ldquo;posts&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;This is inherited lower level headers in org so&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;** Blog
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   :PROPERTIES:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   :EXPORT_HUGO_SECTION: Blog
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   :EXPORT_FILE_NAME:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   :EXPORT_HUGO_PUBLISHDATE:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   :END:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;covers things in&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;* Content
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;** Blog
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*** Work Stuff
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*** PUBLISHED Choosy Programmers Choose GIF :Wilhite:CompuServe:GIF:History:Computers:Emacs:Programming:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;processes&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.3&lt;/span&gt; Processes&lt;/h3&gt;
&lt;h4 id=&#34;drafting&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.3.1&lt;/span&gt; Drafting&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt;  start hugo in root directory&lt;/p&gt;
&lt;p&gt;&lt;code&gt;hugo server -D&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt;  Edit curious.org&lt;/p&gt;
&lt;p&gt;Add an entry like this&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;*** WIP Walled Gardens
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    :PROPERTIES:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    :EXPORT_HUGO_SECTION: Blog
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    :EXPORT_FILE_NAME: walled-gardens
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    :EXPORT_HUGO_PUBLISHDATE: 2020-08-11
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    :END:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    This is a brain dump on something like 40 years experience with
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &amp;#34;social media&amp;#34; of various forms.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;EXPORT_HUGO_SECTION
: probably not needed if inherited from
higher level headline&lt;/p&gt;
&lt;p&gt;EXPORT_FILE_NAME
: The file name for this post.   Could be date.&lt;/p&gt;
&lt;p&gt;EXPORT_HUGO_PUBLISHDATE
: Set to the date this post should be
&amp;ldquo;live&amp;rdquo;.  Can be used to schedule &amp;ldquo;future&amp;rdquo; posts.&lt;/p&gt;
&lt;p&gt;IMPORTANT
: Posts with a status of TODO are drafts.  WIP or
PUBLISHED are &amp;ldquo;live&amp;rdquo;&lt;/p&gt;
&lt;p&gt;EVEN MORE IMPORTANT
: &lt;em&gt;A valid Hugo post subtree is an Org
subtree that has the EXPORT_FILE_NAME property set.&lt;/em&gt;  ox-hugo
only exports valid subtrees to markdown.  You can draft to your
hearts content in subtrees that do not have EXPORT_FILE_NAME set
(and maybe export the subtree to text or html to view)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt;  Save&lt;/p&gt;
&lt;p&gt;With point in the newly created or updated subtree, save the file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt;  view at &lt;a href=&#34;http://localhost:1313/&#34;&gt;http://localhost:1313/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;view the drafts &lt;a href=&#34;http://localhost:1313/&#34;&gt;http://localhost:1313/&lt;/a&gt;
View the result in your browser&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;publishing&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.3.2&lt;/span&gt; Publishing&lt;/h4&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;run hugo&lt;/p&gt;
&lt;p&gt;In the HUGO_BASE_DIR run &lt;code&gt;hugo&lt;/code&gt;.  The results will be written to
&amp;ldquo;doc/&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;push to github&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I host on github.io.&lt;/li&gt;
&lt;/ul&gt;
 &lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd doc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add -A
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m&amp;#34;name of new post&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;make-sure-post-is-live-looks-right&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.3.3&lt;/span&gt; make sure post is live, looks right&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Go to site: &lt;a href=&#34;http://curious.galthub.com/&#34;&gt;http://curious.galthub.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It often takes a minute or so after push for things to show up
on the web site.  You might have to refresh&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;add-and-push-the-source&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5.3.4&lt;/span&gt; Add and push the source&lt;/h4&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ..
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git status .
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add [new files]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m&amp;#34;name of new post&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;be sure not to add docs/, as that is pushed a a subtree.&lt;/li&gt;
&lt;li&gt;possibly move the docs/ tree so that is not subsidiary to the root&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Conclusion&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;I mean, why not just use blogger.com or Wordpress&amp;rdquo;?  Been
there done that.&lt;/p&gt;
&lt;p&gt;Companies come and go.  I ought to know.  I started my career
working at CompuServe.  The forums where apparently finally
deleted on 2017.  History was lost.&lt;/p&gt;
&lt;p&gt;There are issues of control.  There are the issues of using
tools I like, not the GUI or &amp;ldquo;download my app&amp;rdquo; du jour with
tracking, ads, monetization, bloat and more.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Plato&#39;s Cave: a plea for good leadership</title>
      <link>http://curious.galthub.com/blog/platos-cave/</link>
      <pubDate>Sat, 08 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/platos-cave/</guid>
      <description>&lt;p&gt;You learn things when you read original sources for yourself.&lt;/p&gt;
&lt;p&gt;I recently picked up a copy of &lt;a href=&#34;http://classics.mit.edu/Plato/republic.8.vii.html&#34;&gt;Plato&amp;rsquo;s allegory of &amp;ldquo;The Cave&amp;rdquo;&lt;/a&gt;.  I had
known some of the highlights of the story before, the shadows on the
wall, prisoners thinking that the shadows were reality, since that&amp;rsquo;s
all they ever knew, of one prisoner being taken out to see the sun and
seeing the true light, coming back down and trying to, literally,
enlighten his fellows, and being thought crazy.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:shadows&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/shadows.jpg&#34; alt=&#34;Figure 1: Shadows on the wall&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Shadows on the wall
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;But I had not known the context until reading the original.  He was
talking about the need for rulers of the state to have a higher
vision, to have a view of truth, of the transcendent, to willingly
leave the ivory tower, the &amp;ldquo;Isle of the blessed&amp;rdquo; if you will, where
they desired to spend their whole life in contemplation of the truth,
and to willingly go back into the cave to enlighten their brethren and
lead with a knowldge of truth, not desiring the mundane (and false)
trappings of the world of shadows (power, wealth, leisure, goods) for
their own sake and for their own use.  Rulers who do not have that
vision, and who only focus on this life are bad rulers, and everyone
(including the rulers) loose out.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Whereas the truth is that the State in which the rulers are most
reluctant to govern [because they would rather be engaged in
philosophical pursuits] is always the best and most quietly governed,
and the State in which they are most eager, the worst.
&amp;hellip;&lt;/p&gt;
&lt;p&gt;Yes, my friend, I said; and there lies the point. You must contrive
for your future rulers another and a better life than that of a ruler,
and then you may have a well-ordered State; for only in the State
which offers this, will they rule who are truly rich, not in silver
and gold, but in virtue and wisdom, which are the true blessings of
life. Whereas if they go to the administration of public affairs, poor
and hungering after their own private advantage, thinking that hence
they are to snatch the chief good, order there can never be; for they
will be fighting about office, and the civil and domestic broils which
thus arise will be the ruin of the rulers themselves and of the whole
State.  &amp;mdash; Plato, Republic, 8.vii&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!--quoteend--&gt;
&lt;blockquote&gt;
&lt;p&gt;Where there is no vision, the people perish
&amp;mdash; Proverbs 29:8, KJV&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>The science is settled? Who says so?</title>
      <link>http://curious.galthub.com/blog/who-says-so/</link>
      <pubDate>Sat, 08 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/who-says-so/</guid>
      <description>&lt;p&gt;I recently picked up reader of samples of important ancient texts
that I&amp;rsquo;ve had for a LONG time and read excerpts from Socrates
Apology.  Short version:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Oracle of Delphi&lt;/dt&gt;
&lt;dd&gt;&amp;ldquo;Socrates is the wisest man&amp;rdquo;&lt;/dd&gt;
&lt;dt&gt;Socrates&lt;/dt&gt;
&lt;dd&gt;Nice hypothesis, Apollo, you may be a god, but let&amp;rsquo;s test it&amp;hellip;.&lt;/dd&gt;
&lt;dt&gt;Socrates&lt;/dt&gt;
&lt;dd&gt;Seeks out &amp;ldquo;The Wise&amp;rdquo; of his day, Politicians, Poets,
Artisans &amp;hellip; questions them &amp;hellip; has them all expose themselves
as blithering idiots.&lt;/dd&gt;
&lt;dt&gt;Socrates&lt;/dt&gt;
&lt;dd&gt;OK, &amp;ldquo;The Wise&amp;rdquo; are all blithering idiots.  They are
not wise.   The hypothesis holds &amp;hellip; for now.&lt;/dd&gt;
&lt;dt&gt;The Wise&lt;/dt&gt;
&lt;dd&gt;(still mad), Yo, Socrates, here&amp;rsquo;s some hemlock
(poison).  Drink up&amp;hellip;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;There is nothing new under the sun.  In the mid 20th century, in
response to questions about &amp;ldquo;what is a science&amp;rdquo; Karl Popper
proposed &amp;ldquo;falsification&amp;rdquo; as a way do delineate scientific theories
from non-scientific theories.  The basic idea is that one
counter-example disproves a theory.&lt;/p&gt;
&lt;p&gt;Socrates defense (5th century BC) is a clear example of the method
Popper had in mind.  There is nothing new under the sun.   And if
we follow Popper and Socrates, &amp;ldquo;the science&amp;rdquo; (or the pronouncement
of the god) is never &amp;ldquo;settled&amp;rdquo;.   Conclusions are always
tentative and are always just one counter example away from being
rejected.&lt;/p&gt;
&lt;p&gt;For more on Popper and the &amp;ldquo;what is a science&amp;rdquo; question see:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.simplypsychology.org/Karl-Popper.html&#34;&gt;https://www.simplypsychology.org/Karl-Popper.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.simplypsychology.org/science-psychology.html&#34;&gt;https://www.simplypsychology.org/science-psychology.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;8/7/20&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Adding uncertainty in uncertain times</title>
      <link>http://curious.galthub.com/blog/2020-06-30/</link>
      <pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-06-30/</guid>
      <description>&lt;p&gt;So, when life turns uncertain you have two choices.   Cling to
things that seem to add stability and certainty, i.e. try to &amp;ldquo;stay
safe&amp;rdquo;, or embrace the uncertainty, live now, carpe diem, and do
things would seem to be fulfilling now.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m choosing the latter.  At 58, in the middle of a pandemic and
social unrest, I&amp;rsquo;m moving to a startup. The following are notes
from a friend who has been playing the silicon valley startup game
for a few decades.   These are notes-to-self and anybody else who
cares from that conversation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Map out the architecture of the org/org structure (official)
vs. what is actually working&lt;/li&gt;
&lt;li&gt;Whats the (people) API: theory, practice?&lt;/li&gt;
&lt;li&gt;Find &amp;ldquo;they guy who built it, knows everything&amp;rdquo;&lt;/li&gt;
&lt;li&gt;What is the aspirational architecture vs. what&amp;rsquo;s really built?&lt;/li&gt;
&lt;li&gt;Find &amp;ldquo;the guy&amp;rdquo; who has it all in his head, maybe stuff that has
not made it to paper.   Whiteboard it, write it up.&lt;/li&gt;
&lt;li&gt;Most places don&amp;rsquo;t do that&lt;/li&gt;
&lt;li&gt;Look at reality vs. getting stuck in &amp;ldquo;my teams perspective&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Use systems thinking to figure it all out&lt;/li&gt;
&lt;li&gt;Find the &amp;ldquo;old salts&amp;rdquo; who know where the bodies are buried, not
&amp;ldquo;official channels&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;First 90 Days&amp;rdquo;, book&lt;/li&gt;
&lt;li&gt;&amp;ldquo;An elegant puzzle&amp;rdquo;, book&lt;/li&gt;
&lt;li&gt;#1 lesson for all startups: &amp;ldquo;IT&amp;rsquo;S ALL ABOUT HOW MUCH CASH YOU
HAVE IN THE BANK&amp;rdquo;&lt;/li&gt;
&lt;li&gt;If company is healthy, CFO knows burn rate, want&amp;rsquo;s whole company
to be thinking about it&lt;/li&gt;
&lt;li&gt;Health check: how aware are people of cash position?&lt;/li&gt;
&lt;li&gt;Build vs. buy&lt;/li&gt;
&lt;li&gt;Bailing wire and duct tape?&lt;/li&gt;
&lt;li&gt;WATCH BURN RATE, WATCH REVENUE&lt;/li&gt;
&lt;li&gt;Valuable people: people who understand tech and that you have to
be a functioning business,  i.e. you need more $ revenue than
you are spending&lt;/li&gt;
&lt;li&gt;People should be excited about growth&lt;/li&gt;
&lt;li&gt;Watch out for scaling company before projected/actual growth in revenue&lt;/li&gt;
&lt;li&gt;Biz/finance folks should be excited about you being interested
in finances.  Defensiveness is a warning sign.   You WANT people
who care about $.  People share what they are interested in&lt;/li&gt;
&lt;li&gt;Working remote, COVID
&lt;ul&gt;
&lt;li&gt;open door policy?&lt;/li&gt;
&lt;li&gt;Ask admin assistant &amp;ldquo;Can I get 1/2 hour on X&amp;rsquo;s calendar&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;Have/ask leading questions&lt;/li&gt;
&lt;li&gt;Dig into current, next challenges&lt;/li&gt;
&lt;li&gt;Demonstrate that you are thoughtful and someone who wants to
make things work&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Most important: GET THINGS DONE&lt;/li&gt;
&lt;li&gt;reward/appreciated if you are seen as someone who wants to make
things work, shape product&lt;/li&gt;
&lt;li&gt;not &amp;ldquo;staying in my lane&amp;rdquo;&lt;/li&gt;
&lt;li&gt;culture to pass things on, figure out where the holes are, fill them&lt;/li&gt;
&lt;li&gt;Each team should have onboarding guide&lt;/li&gt;
&lt;li&gt;Whoever was last onboarded updates it&lt;/li&gt;
&lt;li&gt;if not, as ?Mentor? to get it&lt;/li&gt;
&lt;li&gt;You should have a mentor&lt;/li&gt;
&lt;li&gt;there should be a doc that includes &amp;ldquo;what IT didn&amp;rsquo;t tell you&lt;/li&gt;
&lt;li&gt;&amp;ldquo;When I build systems, I try to build something with good
[benefits?] but light filling&amp;rdquo; (e.g. don&amp;rsquo;t over-engineer)&lt;/li&gt;
&lt;li&gt;Two bad extremes:
&lt;ul&gt;
&lt;li&gt;Try to build something that works now, don&amp;rsquo;t &amp;ldquo;boil the ocean&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Pure agile people&amp;hellip;constant refinement, incrementalism.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;e.g. you know you need a memory managers.  Start with an
interface.&lt;/li&gt;
&lt;li&gt;People.  There are always &amp;ldquo;a few of &amp;rsquo;those&amp;rsquo; people&amp;rdquo;, hard to
work with, disrupt everything.   Stay away.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>#100DaysToOffload stalled, but that&#39;s OK</title>
      <link>http://curious.galthub.com/blog/2020-06-09/</link>
      <pubDate>Tue, 09 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-06-09/</guid>
      <description>&lt;p&gt;So my attempt at &amp;ldquo;just blogging something&amp;rdquo; for 100 straight days as
part of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt; has
stalled, but that&amp;rsquo;s OK.&lt;/p&gt;
&lt;p&gt;I have a home painting project going that keeps expanding in scope
every time I look at it.  I&amp;rsquo;ve gone on a couple weekend
&lt;a href=&#34;https://outdoorfoo.wordpress.com/2020/05/17/tuscarora-trek/&#34;&gt;backpacking&lt;/a&gt;/&lt;a href=&#34;http://curious.galthub.com/blog/get-wet/&#34;&gt;canoeing&lt;/a&gt; trips, and (biggest time sync of all), I&amp;rsquo;m in
the middle of a job change.  That sucks down time and energy.  Oh
yeah, and the country/world is in a little turmoil right now
(COVID-19 and protests) which is, to say the least, distracting,
disorienting, disturbing, destructive and otherwise detrimental to
a simple goal of blogging every day.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/painting.jpg&#34; alt=&#34;Figure 1: The ever-exapanding painting project&#34; width=&#34;200px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;The ever-exapanding painting project
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;That said, I think #100DaysToOffload was (and is) a success for
me.  I&amp;rsquo;ve gotten into a &amp;ldquo;writing mindset.&amp;rdquo;  My paper journaling
(started just before COVID-19 hit) continues on a mostly-daily
basis.  A number of the blog entries I&amp;rsquo;ve written have spurred
conversations with friends.  I&amp;rsquo;ve posted copies of a couple of
them on &lt;a href=&#34;https://www.linkedin.com/in/georgemjones/detail/recent-activity/posts/&#34;&gt;my linked-in feed&lt;/a&gt; because I thought they were relevant
there.&lt;/p&gt;
&lt;p&gt;I seem to be a failure at building a large social media following,
but that too is OK.   I write what (to me) is interesting,
thought provoking stuff and get 3 or 4 &amp;ldquo;likes&amp;rdquo; and 10 or 20 people
reading it.   I guess I&amp;rsquo;m not cut out to be an &amp;ldquo;Influencer&amp;rdquo; or
&amp;ldquo;Thought Leader&amp;rdquo; (both terms I despise).  TED talks anyone?&lt;/p&gt;
&lt;p&gt;I am and always have been about one-on-one relationships.  The
whole idea of broadcast media (you know, TV, Radio) bothers me.
You&amp;rsquo;re just &amp;ldquo;one-of-the crowd&amp;rdquo;.  But then, hyper-targeted
advertising feed by corporate spying and machine learning isn&amp;rsquo;t
much better.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve taken to writing every blog post (except maybe this one :-))
with an individual in mind, kind of like an open letter.  I write
for one person.  Some of the models are Cicero&amp;rsquo;s letters to his
friends and the correspondence John Adams and Thomas Jefferson
carried on late in life.  As personal letters, the writing can be
focused and specific while still dealing with topics of possible
general interest.  For instance this,
&lt;a href=&#34;http://curious.galthub.com/blog/the-stuff-of-time/&#34;&gt;http://curious.galthub.com/blog/the-stuff-of-time/&lt;/a&gt; was written for
my cousin the family genealogist reflecting on us both having a
lot of family &amp;ldquo;stuff&amp;rdquo;.  And this
&lt;a href=&#34;http://curious.galthub.com/blog/opening-day-2020/&#34;&gt;http://curious.galthub.com/blog/opening-day-2020/&lt;/a&gt; was written for my
friend Ken who has been going to Reds games with me for 30 years,
reflecting on changes in the game and why we go in the first place
(friendships, diversion, traditions, hope&amp;hellip;)&lt;/p&gt;
&lt;p&gt;And I&amp;rsquo;m also writing for myself.   The process of thinking and
writing let&amp;rsquo;s me collect my thoughts, capture them for myself and
anybody else who may care.   It also allows me to start
conversations with people, referencing my writing if appropriate.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ll keep writing.  Don&amp;rsquo;t look for me to complete 100 posts in
100 days.   Life has not gone like that.   But there is value to
me, and I think potentially others, so I&amp;rsquo;ll keep it up.&lt;/p&gt;
&lt;p&gt;Day (well, post) 17 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Cincinnati Reds Opening Day 2020</title>
      <link>http://curious.galthub.com/blog/opening-day-2020/</link>
      <pubDate>Sun, 07 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/opening-day-2020/</guid>
      <description>&lt;p&gt;Opening day [of baseball] in Cincinnati has always been a time of
hope and optimism, a time to look forward to, a time to enjoy
being with family and friends, a time to enjoy looking at the
forsythia and daffodils heralding spring, to walk across the Ohio
River on the Roebling bridge, to take in the annual Findlay
Market Parade, and to hear the umpire (or Marty and Joe on the
radio) say &amp;ldquo;Play Ball.&amp;rdquo;  I am declaring today my personal
&amp;ldquo;Opening Day 2020&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:yankee-stadium&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/in_yankee_stadium_20180902.jpg&#34; alt=&#34;Figure 1: In Yankee Stadium&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;In Yankee Stadium
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;personal-history&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Personal History&lt;/h2&gt;
&lt;p&gt;I started following the Cincinnati Reds in&#39;74 and went to my
first game in 1975.  In part, this was as a way to retain some
connection with my Grandfather who died early in &amp;lsquo;74.  My first
baseball memory is of watching the final out of the &amp;lsquo;72 world
series against Oakland with him.&lt;/p&gt;
&lt;p&gt;The mid-70s were a good time to start following the Reds.  &amp;ldquo;The
Big Red Machine&amp;rdquo; (Rose, Bench, Perez, etc) had been in the series
in &amp;lsquo;70 and &amp;lsquo;72 and wound up as World Champions in &amp;lsquo;75 (RedSox, 7
games, lots of drama) and &amp;lsquo;76 (swept the Yankees in 4 games).  I
was in the stands for one game in each of those series.  Joe
Morgan won back-to-back MVP awards, Foster had an amazing 52 home
run year in &amp;lsquo;77.  There was more than hope there.  There was
accomplishment to admire by one of the best teams in the history
of the game.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:big-red-machine&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/reds_1976_stein.jpg&#34; alt=&#34;Figure 2: The Big Red Machine&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;The Big Red Machine
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Then there was Pete (Rose).  Mr. Cincinnati, &amp;ldquo;Charlie Hustle&amp;rdquo;,
&amp;ldquo;The Hit King&amp;rdquo;, batting champion, MVP, a 44 game hitting streak
in &amp;lsquo;78.  He eventually passed Ty Cobb&amp;rsquo;s all-time hit count
dumping a single in to right on September 11, 1985 (and THAT for
me will, will always be THE event of 9/11).  I was there and had
driven 3 straight nights from Columbus to be in the stands for
the event.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:pete-and-ken&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/pete_and_ken.jpg&#34; alt=&#34;Figure 3: Statue of Charlie Hustle in action&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;Statue of Charlie Hustle in action
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I was in the stands again for another series victory in 1990 over
the A&amp;rsquo;s, which helped mitigate some of the pain caused by, shall
we say, Pete yielding to his competitive spirit a little too much
the previous year and as a result being banned for life from the
game.&lt;/p&gt;
&lt;p&gt;There have been good times (see above) and bad times including
the early 80s after Dick Wagner prematurely dismantled the Big
Red Machine, and the last 5 years where the Reds have finished
last.  But opening day was always a day of hope.  A clean slate.
A new start.&lt;/p&gt;
&lt;h2 id=&#34;traditions&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Traditions&lt;/h2&gt;
&lt;p&gt;Baseball is (was?) a game of traditions.  Cincinnati had always
been accorded the privilege of having the first opening game of
the season in honor of their being the first professional
baseball team (undefeated in 1869) and having, to some degree,
inspired the birth of professional baseball itself.   That
tradition ended sometime in the 80s or 90s in favor of increased
revenue to MLB from TV contracts having other teams open.&lt;/p&gt;
&lt;p&gt;I had my own traditions.  I attended 27 straight opening day
games from 1976-2002.   That streak ended the year I moved to
Virginia, not because it was too far, but because the event had
become a zoo and it became more of a crowd/media event than a
time for fun and relaxation.   Since then, I&amp;rsquo;ve attended at least
one game every year running that streak to 46 years.   That
tradition too is in jeopardy if there turns out to be no 2020
season due to COVID-19.&lt;/p&gt;
&lt;p&gt;And then there are the obligatory pre-game stops at Skyline Chili
for coneys and chili-spaghetti before the game and Greater&amp;rsquo;s ice
cream after the game.  If you&amp;rsquo;re from Cincinnati, you know.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:skyline&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/skyline.jpg&#34; alt=&#34;Figure 4: The One True Game Day Food&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 4: &lt;/span&gt;The One True Game Day Food
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;The sound of the Reds broadcasters, &amp;ldquo;Marty and Joe&amp;rdquo; (and later
others after Joe retired), has been the backdrop to so many of
our lives.  Listening on the radio, in the car, out in the yard,
late at night.  Joe signing off with is signature &amp;ldquo;Rounding third
and heading for home&amp;rdquo;, and Marty&amp;rsquo;s call &amp;ldquo;And this one belongs to
the Reds&amp;rdquo; after every victory.  Marty retired last year.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:marty&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/marty.jpg&#34; alt=&#34;Figure 5: Marty&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 5: &lt;/span&gt;Marty
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;And then there were the friends and family that went with me.
Dad took us to my first game against his hometown Pittsburgh
Pirates.  Mom was in the stands with me the night Pete got 4192.
I think my brother Mark was there the night Seaver pitched a
no-hitter.  My (future) wife Stephanie learned quickly that this
was part of life.  Son Daniel still has a life-long streak of one
game a year going.  And my friend Ken (two whom this missive is
dedicated) has been to games with me for something like 40 years,
including 20 or so opening games.  And for the record, the Davy
Concepcion was a better shortstop than Larry Bowa :-)&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:family-at-GABP&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/family_at_GABP.jpg&#34; alt=&#34;Figure 6: Family at GABP&#34; width=&#34;200&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 6: &lt;/span&gt;Family at GABP
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;&lt;a id=&#34;figure--pic:uncle-and-cousin&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/philip_and_jeff.jpg&#34; alt=&#34;Figure 7: Uncle and Cousin at GABP&#34; width=&#34;200&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 7: &lt;/span&gt;Uncle and Cousin at GABP
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;what-now&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; What now?&lt;/h2&gt;
&lt;p&gt;I was mentally gearing up to give Tommy Thrall a chance.  He was
to slated to replace Marty this year.  The Reds spent significant
money in the off-season building a team to get out of the cellar
and back into contention.  I was willing to hope again.&lt;/p&gt;
&lt;p&gt;I was already toying with ending my 46 year streak this year
anyhow.  A few years ago baseball started using TSA-style metal
detectors at the ballpark.  Just as Opening Day became a zoo,
there is something &amp;ldquo;too corporate&amp;rdquo; about MLB games these days, in
contrast with, say, local minor league games.  &amp;ldquo;Money-ball&amp;rdquo; has
turned the game into a series computer/stats driven calculations
where it is impossible to second-guess the manager without your
own data analysis infrastructure and machine learning models.  I
no longer understand the basic stats, and I do data analysis for
a living.  My friend Ken refuses to carry a smart phone and it
becoming nearly impossible to get/use paper tickets anymore.  Add
to that the possibility of having to wear masks and practice
social distancing in stadiums designed for anything but that
and it feels to me like the &amp;ldquo;national pass-time&amp;rdquo; will have
transformed into some kind of Orwellian panopticon.  No thank
you.  I wish major league baseball the best.  It&amp;rsquo;s been a
wonderful part of my life.&lt;/p&gt;
&lt;h2 id=&#34;moving-forward-together&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Moving forward together&lt;/h2&gt;
&lt;p&gt;Life moves on.  We can get stuck in the past or remember it
fondly (or not), learn from it, and move forward.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:dogwood&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/dogwood.jpg&#34; alt=&#34;Figure 8: Dogwood, herald of spring&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 8: &lt;/span&gt;Dogwood, herald of spring
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;The &amp;ldquo;national pass-time&amp;rdquo; may never be back, unless you count
socially-distanced people staring at their cell phones not
talking to each other as a &amp;ldquo;pass-time&amp;rdquo;.  People don&amp;rsquo;t walk or
drive their horse-and-buggy to the &amp;ldquo;ball-field&amp;rdquo; anymore.  People
don&amp;rsquo;t sit on their front porch waving at passers-by.  You can&amp;rsquo;t
just play hooky from school or take the day off work for a
relaxing afternoon in the sun forgetting your problems watching
the &amp;ldquo;Mudville Nine&amp;rdquo; and cheering on the Mighty Casey.&lt;/p&gt;
&lt;p&gt;So we (I at least) will enjoy the memory of what was, and look
for new ways to slow down, new ways to enjoy life, and new ways
to spend time with family and friends.   To all those who&amp;rsquo;ve
enjoyed a game or two or thirty with me, thanks.  I enjoyed your
company.&lt;/p&gt;
&lt;p&gt;Look me up if there&amp;rsquo;s some kids headed out to the pasture on the
&amp;ldquo;back 40&amp;rdquo; for a pick-up game, a local little league game or a
church softball tournament.    Let&amp;rsquo;s spend time together.   Let&amp;rsquo;s
enjoy life together.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:baseball&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/reds_baseball.jpg&#34; alt=&#34;Figure 9: Opening Day Baseball&#34; width=&#34;400&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 9: &lt;/span&gt;Opening Day Baseball
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;</description>
    </item>
    
    <item>
      <title>Thoughts on the OODA loop and falling out of a canoe</title>
      <link>http://curious.galthub.com/blog/ooda-loop-and-getting-wet/</link>
      <pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/ooda-loop-and-getting-wet/</guid>
      <description>&lt;p&gt;In my never ending quest for synthesis, this post combines thoughts on
&lt;a href=&#34;https://en.wikipedia.org/wiki/OODA_loop&#34;&gt;the OODA loop&lt;/a&gt; and falling out of a canoe twice this weekend in rapids
on the Shenandoah river.  There is a connection.  Maybe.&lt;/p&gt;
&lt;p&gt;If you want to see the full trip report, pictures, etc. go here &lt;a href=&#34;https://eludom.github.io/blog/get-wet/&#34;&gt;Things
that fall in the river get wet&lt;/a&gt;.  If you&amp;rsquo;re interested in how this relates to
the OODA loop or, better, if you have experience/thoughts on applying
the OODA loop to operational cybersecurity settings, read on (and
comment !)&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/paddling.jpg&#34; alt=&#34;Figure 1: On the river during calm between crisis events&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;On the river during calm between crisis events
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;the-ooda-loop&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; The OODA Loop&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/OODA_loop&#34;&gt;The OODA loop&lt;/a&gt; is a concept cybersecurity has borrowed from the US Air Force.
&amp;ldquo;OODA&amp;rdquo; stands for &amp;ldquo;Observe, Orient, Decide, Act&amp;rdquo;.
The OODA loop began as a very fighter-pilot-centric view of a problem
space.  I always think of Snoopy and the Red Barron.  Snoopy
&lt;strong&gt;observes&lt;/strong&gt; the Red Barron at a distance, &lt;strong&gt;orients&lt;/strong&gt; his Sopwith-Camel
towards the Red Barron, &lt;strong&gt;decides&lt;/strong&gt; to fire, and then &lt;strong&gt;acts&lt;/strong&gt; by firing-away.
Then repeat the OODA loop.  &lt;strong&gt;Observe&lt;/strong&gt;: what was the effect of your
action (the Red Barron went down in flames, or you missed and now he&amp;rsquo;s on your
tail)&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;the-ooda-loop-and-falling-out-of-a-canoe&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; The OODA Loop and falling out of a canoe&lt;/h2&gt;
&lt;p&gt;The OODA loop parallels my decision making process in the rapids this
weekend.  In one of our two crisis events I &lt;strong&gt;observed&lt;/strong&gt; the other
canoe flip in the rapids ahead.  I &lt;strong&gt;oriented&lt;/strong&gt; my canoe towards shore.
I &lt;strong&gt;decided&lt;/strong&gt; to grab a tree root to buy time to sit and contemplate
options.  I &lt;strong&gt;acted&lt;/strong&gt; by grabbing the tree root.  We flipped due to the
strong current.
REPEAT.
I &lt;strong&gt;observed&lt;/strong&gt; that we were in the water 10 or 20 yards (9 to 18 meters)
from the start
of the rapids.  I &lt;strong&gt;oriented&lt;/strong&gt; myself towards shore.  I &lt;strong&gt;decided&lt;/strong&gt; to
swim to shore at all costs (loosing the canoe and all our gear) rather
than float the rapids in life jackets.  I &lt;strong&gt;acted&lt;/strong&gt; by swimming to shore.
REPEAT.
I &lt;strong&gt;observed&lt;/strong&gt; that we were safe on shore without our boat, gear or
friends.  I &lt;strong&gt;oriented&lt;/strong&gt; myself downstream.  I &lt;strong&gt;decided&lt;/strong&gt; to walk in
search of boat, gear and friends.  I &lt;strong&gt;acted&lt;/strong&gt; by walking&amp;hellip;&lt;/p&gt;
&lt;h2 id=&#34;where-does-the-ooda-loop-work-well&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Where does the OODA loop work well?&lt;/h2&gt;
&lt;p&gt;The OODA loop seems to be a good model for rapidly changing situations
where the personal stakes to the actor are high, the actor is
receiving relevant information in a timely fashion and has the ability
to decide on appropriate action and execute in a very short
timescale.  There were elements of this in Bill Cheswick&amp;rsquo;s classic &lt;a href=&#34;https://www.cheswick.com/ches/papers/berferd.pdf&#34;&gt;An
Evening with Berferd&lt;/a&gt; and Cliff Stoll&amp;rsquo;s &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Cuckoo%27s_Egg&#34;&gt;The Cuckoo&amp;rsquo;s Egg&lt;/a&gt;, but I am
wondering how many of these conditions apply, to, say the modern SOC?&lt;/p&gt;
&lt;h2 id=&#34;does-the-ooda-loop-work-in-socs&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Does the OODA loop work in SOCs?&lt;/h2&gt;
&lt;p&gt;How do the characteristics of crisis situations such has that
described above or a fighter pilot in dogfight map to the modern SOC?
Does a SOC have a rapidly changing situation?  Probably.  Are there
personal stakes for the actor (analyst)?  It depends.  Is it just
&amp;ldquo;work my shift and go home after the hand-off&amp;rdquo;?  Are the actors
(analysts) receiving relevant information in a timely fashion?  Or are
they waiting for a weeks-long (months-long?) approval process for the
ingest of needed data, the provisioning of enough storage and compute
power to run the queries they need?  Are they empowered to take action
in a short timescale?  Or are there three levels of management
approval needed and reports to be written before any action can taken?
Can they take machines offline, implement blocks, etc?  Even if it
impacts production?  Can they observe, orient, decide and act, or is
it time to put your feet up, hope for the best and float through the
rapids?&lt;/p&gt;
&lt;p&gt;Your thoughts?  Experiences?&lt;/p&gt;
&lt;p&gt;Days 17 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Things that fall in the river get wet</title>
      <link>http://curious.galthub.com/blog/get-wet/</link>
      <pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/get-wet/</guid>
      <description>&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/paddling.jpg&#34; alt=&#34;Figure 1: Bryan paddling on the Shenandoah&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Bryan paddling on the Shenandoah
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;intro&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Intro&lt;/h2&gt;
&lt;p&gt;This weekend my son Bryan, friends (former scouts from Philmont days)
Sam and Preston and friend Jack went on an canoe trip down the
Shenandoah river.  We were only dumped in the river by two of the two
rapids we encountered.  More on that below.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/swimming.jpg&#34; alt=&#34;Figure 2: Things that fall in the river get wet&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;Things that fall in the river get wet
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;other-people-having-fun&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Other people having fun&lt;/h2&gt;
&lt;p&gt;Along the way we saw many people out enjoying the Memorial Day weekend
along the river.  The photo below shows a water slide set up to let
kids slide into the river, with a twist: the last 10 (3m) feet or so of the
slide were down a mud bank.  For safety there was a kayak in the water
to help the fun-havers out if needed&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/mud-slide.jpg&#34; alt=&#34;Figure 3: Water and Mud Slide Into The River&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;Water and Mud Slide Into The River
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;getting-dumped-the-first-time&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Getting Dumped the first time&lt;/h2&gt;
&lt;p&gt;The river was up.   Running about 6 feet (1.8m) at Luray.   The outfitters
along the river recommend only going at 5 feet (1.5m) or less.   Our second
day out we were making 5 miles per hour (8 km/h).&lt;/p&gt;
&lt;p&gt;We hit the &lt;a href=&#34;https://youtu.be/Zswr_IB9C_A&#34;&gt;Compton Rapids&lt;/a&gt;.  The swells were 3 feet (0.9m) or so.  We made it
about half way through, taking on water, and then got dumped.  Life
jackets are a good thing.  It was a little dicey floating though the
end of the rapids.  We kept our paddles and stayed with the
upside-down canoe.  The only losses were a couple water bottles, cup
holders and a fishing rod (other canoe).  Most everything was tied
down.&lt;/p&gt;
&lt;p&gt;We floated 10 or 20 minutes in still-ish water and wound up swimming
our swamped canoe to the banks where there was a large group camp-out.
Some of the people (speaking pretty-much only Spanish) helped get our
sorry selves and swamped canoe out of the water and drained out.  They
gave us 6 water bottles which replaced the water we had lost.  Gracias
!&lt;/p&gt;
&lt;h2 id=&#34;getting-dumped-the-second-time&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Getting Dumped the second time&lt;/h2&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/swamp-number-2.jpg&#34; alt=&#34;Figure 4: Pulling out after the second spill&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 4: &lt;/span&gt;Pulling out after the second spill
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;The second time we got dumped was a about a mile from the end of the
trip.  Our planning had failed to disclose the presence of these
rapids, just had it had failed to disclose the possibility of portage
around the first set (Preston :-))&lt;/p&gt;
&lt;p&gt;The other canoe went first.   We hung back in the smooth (but fast)
water so as not to run into them if they had trouble.   They did.
They dumped about half way through.   These canoes were a little heavy
with gear and people and not horribly stable.  Extra water in the boat
does not help.&lt;/p&gt;
&lt;p&gt;I decided to go to the shore and work thorough options.   We reached
shore 10 or 20 yards (9 or 18) upstream from the rapids.   I grabbed a tree
root to hold us in place, but the current flipped us.   At that point
I made the call to &amp;ldquo;abandon ship&amp;rdquo;.   We let the canoe go and swam to
the bank rather than float the rapids in life jackets.&lt;/p&gt;
&lt;p&gt;We climbed up the bank, staggered downstream and found that our
friends were a) OK and b) had snagged our canoe.&lt;/p&gt;
&lt;h2 id=&#34;the-end&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; The end&lt;/h2&gt;
&lt;p&gt;In the end, we had minimal losses, no significant injuries, no harm,
no foul?  Live and learn?  Life jackets, tying down your gear and
quick thinking are your friend.  And fun was had in the face of
self-selected risks.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/starting-out.jpg&#34; alt=&#34;Figure 5: At the takeout point (BEFORE we were drowned rats)&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 5: &lt;/span&gt;At the takeout point (BEFORE we were drowned rats)
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Days 15 and 16 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>More Thoughts on More Stuff</title>
      <link>http://curious.galthub.com/blog/the-stuff-of-time/</link>
      <pubDate>Thu, 21 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/the-stuff-of-time/</guid>
      <description>


&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/our_mantle_2020_05.jpg&#34; alt=&#34;Figure 1: Things on our mantle&#34; width=&#34;400px&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Things on our mantle
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;what-is-this-and-who-is-it-for&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; What is this and who is it for?&lt;/h2&gt;
&lt;p&gt;This is written primarily as a personal reflection to my cousin
about us both winding up with tons of family &amp;ldquo;stuff&amp;rdquo;.
Secondarily it is intended for a family newsletter.  Tertiarily,
for my sons to document snippets of family history, and lastly
(quarternarily ?) it is written as an &amp;ldquo;open letter&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;to-john&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; To John&lt;/h2&gt;
&lt;p&gt;John, you and I both have a lot of &amp;ldquo;family stuff&amp;rdquo;, for different
reasons I think.  I sort of inherited it as, literally, &amp;ldquo;the last man
standing&amp;rdquo;.  I care about it some.  I&amp;rsquo;ve been told stories about some
of it my whole life.  I think you have been a little more active
(well, a lot more active) in collecting and organizing &amp;ldquo;family
stuff&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;some--more--of-the-stuff-i-have&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Some (more) of the stuff I have&lt;/h2&gt;
&lt;p&gt;I have (top of the head, small sample) the &lt;a href=&#34;https://en.wikipedia.org/wiki/Crokinole&#34;&gt;Crokinole&lt;/a&gt; game board
(19th century I think), the big old custom-made oak cabinet (that
has moved exactly 3 times since it was made in the 1860s), two
old oak kitchen tables (Grandma/&amp;ldquo;Esther Morrison&amp;rdquo;&amp;rsquo;s and Ernie&amp;rsquo;s),
our great grandmother&amp;rsquo;s 1868 wind-up clock with which she &amp;ldquo;set up
housekeeping&amp;rdquo;, wall hangings, family bibles, hymnals, cookbooks,
school books, farm records, the founding constitution of the
Union Soldiers Aid Society (1863) of the Dry Run Church, tools
(Grandpa&amp;rsquo;s scythe), and until recently we had the Civil War Diary
of Elisha Morrison and his discharge papers.  Mike has the rifle
Elisha Morrison picked up after the other one he had was struck
by a bullet saving his life, or none of us would be here today.&lt;/p&gt;
&lt;p&gt;On the Jones side I have all Dad the photography major&amp;rsquo;s
negatives, the Jones/Reeder/Williams family records, my
grandmother&amp;rsquo;s family photo album showing Dad&amp;rsquo;s high school dance
band practicing (led by one of Nancy&amp;rsquo;s former neighbors
&amp;hellip; small world) and pictures of the TV showing live atomic bomb
test blasts and the coronation of Queen Elizabeth  (who is STILL
on the throne, is she immortal?)&lt;/p&gt;
&lt;p&gt;If anybody in the family wants some &amp;ldquo;family stuff&amp;rdquo; talk to me.
Much of it can be had cheep (free).  I may be making an inventory
which would aid your selection.&lt;/p&gt;
&lt;h2 id=&#34;what-s-the-value&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; What&amp;rsquo;s the value?&lt;/h2&gt;
&lt;p&gt;Some of the people we have behind us include Pilgrims (John
Alden, Priscilla Mullins), &amp;ldquo;Underground Railroad&amp;rdquo; participants
(Ephraim Gould), Union Soldiers (Elisha Morrison) and on &amp;ldquo;Esther
(Free) Morrison&amp;rdquo;&amp;rsquo;s side a Hessian Soldier from the Revolution
who jumped ship and took the name &amp;ldquo;Free&amp;rdquo; with some connection to
the zany &amp;ldquo;&lt;a href=&#34;http://yesteryear.clunette.com/immortaljn.html&#34;&gt;Immortal J. N. Free&lt;/a&gt;&amp;rdquo;, and then there&amp;rsquo;s &amp;ldquo;Cousin Henry
[Longfellow]&amp;rdquo; (also descended from John Alden)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tell me not in mournful numbers, life is but an empty
dream&amp;hellip;.life is real! Life is earnest! And the grave is not it&amp;rsquo;s
goal; Dust thou art, to dust returnest, was not spoken of the soul&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s good to know where you came from.   It&amp;rsquo;s good to know the
laudable deeds of your ancestors.   Not everybody has that.  Not
all deeds we know about were laudable or momentous,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Though it&amp;rsquo;s the laughter, we will remember, whenever we
remember, they way we were &amp;hellip; the rest we simply choose to
forget&amp;rdquo; (B. Streisand)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;where-is-the-stuff-going&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; Where is the stuff going?&lt;/h2&gt;
&lt;p&gt;I often wonder where this stuff is going.   Some of it&amp;rsquo;s been
around since the 1700s.   Apparently somebody has cared about it
in every generation since then.   Maybe I&amp;rsquo;m the last.   Maybe it
will finally wind up in the dump (Bryan, Daniel, Doug, Meg
&amp;hellip;. your call :-))&lt;/p&gt;
&lt;h2 id=&#34;where-are-we-going&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Where are WE going?&lt;/h2&gt;
&lt;p&gt;At one level &lt;strong&gt;we&lt;/strong&gt; are stuff.   I think you and I may both have a
date to join all the loved ones we know in the Frankfort cemetery
in the next few years (every time I go there I look around and
say &amp;ldquo;Thelma/Bess/Mom/Dad/Grandma&amp;hellip;what are YOU doing here?&amp;rdquo;.  As
time goes on I &amp;ldquo;know&amp;rdquo; more and more people there.&lt;/p&gt;
&lt;p&gt;Until then, back to &amp;ldquo;Cousin Henry&amp;rdquo;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let us, then, be up and doing,
With a heart for any fate ;
Still achieving, still pursuing,
Learn to labor and to wait.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And one of the passages that I&amp;rsquo;m sure inspired him:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;54 But when this perishable will have put on the imperishable,
and this mortal will have put on immortality, then will come
about the saying that is written, “DEATH IS SWALLOWED UP in
victory. 55 “O DEATH, WHERE IS YOUR VICTORY? O DEATH, WHERE IS
YOUR STING?”  &lt;a href=&#34;https://biblehub.com/nasb/1_corinthians/15.htm&#34;&gt;1 Corinthians 15&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;closing&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;7&lt;/span&gt; Closing&lt;/h2&gt;
&lt;p&gt;Stay safe during this strange (COVID19) time.  Enjoy time with
your family.  Enjoy your genealogy work (and thank you).  Thanks
for following up with Ebright on Dad&amp;rsquo;s stone.  Hope to see you
soon.&lt;/p&gt;
&lt;p&gt;Day 14 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Tuscarora Trek</title>
      <link>http://curious.galthub.com/blog/2020-05-17/</link>
      <pubDate>Sun, 17 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-17/</guid>
      <description>&lt;p&gt;May 15-17, 2020 Son Bryan (&amp;ldquo;Music Man&amp;rdquo;), Jason Boyle (&amp;ldquo;Alaska&amp;rdquo;)
and I (&amp;ldquo;Curious George&amp;rdquo;) hiked 30 miles on the Tuscarora trail.&lt;/p&gt;
&lt;p&gt;The picture below shows Bryan standing on Eagles Rock with the
first 11 miles of the hike on the ridge behind him.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:eagles-rock&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/eagles-rock.jpg&#34; alt=&#34;Figure 1: Bryan at Eagles Rock&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Bryan at Eagles Rock
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Full trip report and more pictures here:
&lt;a href=&#34;https://outdoorfoo.wordpress.com/2020/05/17/tuscarora-trek/&#34;&gt;https://outdoorfoo.wordpress.com/2020/05/17/tuscarora-trek/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Day 13 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>WARNING: Extreme Social Distancing In The Rain</title>
      <link>http://curious.galthub.com/blog/2020-05-14/</link>
      <pubDate>Thu, 14 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-14/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve got some extreme social distancing going on this weekend.  It
requires gear.  Might involve a mountain or two.  Loaded up the
pack and put it on.  Feels good!  There may be rain, but&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is no bad weather, only bad gear&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:gear&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/gear.jpg&#34; alt=&#34;Figure 1: Social Distancing Gear&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Social Distancing Gear
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Will have minimal connectivity, so #100DaysToOffload will be on
hold for a few.&lt;/p&gt;
&lt;p&gt;Day 12 of #100DaysToOffload &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>  &#34;My Computer ?&#34;
  </title>
      <link>http://curious.galthub.com/blog/my-computer/</link>
      <pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/my-computer/</guid>
      <description>&lt;p&gt;The windows desktop has (had? I don&amp;rsquo;t pay attention) icons labeled
&amp;ldquo;My Computer&amp;rdquo;.  I always thought that was odd, or at least very
often out of context as many (most?) instances of Windows ran on
machines at people&amp;rsquo;s jobs.  They didn&amp;rsquo;t own the computer.  It was
not &amp;ldquo;My Computer&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Similarly, Apple has a long history of asserting they know what&amp;rsquo;s
best for other people and their computers.  The last time I had to
go to &amp;ldquo;The Apple Store&amp;rdquo; all I wanted was a power cable.  I wanted
the part, I wanted to pay, I wanted to get out.  But,
characteristically, the &amp;ldquo;experts&amp;rdquo; there (what does that say about
their view of their customers) wanted to engage me, to &amp;ldquo;have a
conversation&amp;rdquo;, talk to me about warranties and if I qualified, they
wanted to wast my time (more valuable than my money) on their
agenda.  Apple software is the same way.   Not &amp;ldquo;My Computer&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Then there is the cloud.  &amp;ldquo;There is no cloud, there&amp;rsquo;s just other
people&amp;rsquo;s computers.&amp;rdquo;  I&amp;rsquo;ve worked at AWS.  I worked at CompuServe
about 5 years into the information service days.  Before that, it
was a time-sharing company.  &amp;ldquo;There is no isolated Project,
Programmer Number environment with custom BASIC and FORTRAN
Compilers, InfoPlex (email), and FILGE (FILe Generator and Editor)
connected via X.25 PADs (VPNs back in the day), there&amp;rsquo;s just
CompuServe&amp;rsquo;s DecSystem-10s.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;And then there is this glorious 3 or 4 year old laptop that I&amp;rsquo;m
about to blow up, wiping the disk and reinstalling Ubuntu
(switching to Kubntu, because, why not?).  No change control.  No
production concerns (well, maybe a few, I&amp;rsquo;m putting out this blog
post early in case it does not come back quickly).  I have a long
running game of naming my systems.  This one&amp;rsquo;s currently called ed
(for the editor), octo (8 processors), mel (for &amp;ldquo;real
programmers&amp;rdquo;).  I think when I reinstall this time, I&amp;rsquo;ll call it
&amp;ldquo;MyComputer&amp;rdquo;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>HOWTO: Breaking and fixing DNS - Understanding modern DNS on Ubuntu.</title>
      <link>http://curious.galthub.com/blog/dns-today/</link>
      <pubDate>Sun, 10 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/dns-today/</guid>
      <description>&lt;p&gt;One dark and stormy night I broke my DNS.   I decided to move
beyond &lt;code&gt;/etc/resolv.conf&lt;/code&gt; and see what demons (daemons?) were
lurking under the hood.  &amp;ldquo;Its complicated.&amp;rdquo;  This is the story of
understanding, debugging and fixing it.&lt;/p&gt;
&lt;h2 id=&#34;etc-resolv-dot-conf&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; /etc/resolv.conf&lt;/h2&gt;
&lt;p&gt;If you  look at &lt;code&gt;/etc/resolv.conf&lt;/code&gt; on a Linux system today (Ubuntu
19.10) you will find something like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# 127.0.0.53 is the systemd-resolved stub resolver.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# run &amp;#34;systemd-resolve --status&amp;#34; to see details about the actual nameservers.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nameserver 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;search lan
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;But the file seems to change.  I&amp;rsquo;ve seen it without most of the
verbiage above.  I&amp;rsquo;ve seen the file contain both 127.0.0.1 and
127.0.0.53.  Confusing.  systemd?&lt;/p&gt;
&lt;h2 id=&#34;you-can-edit-etc-resolv-dot-conf&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; You &lt;em&gt;can&lt;/em&gt; edit &lt;code&gt;/etc/resolv.conf&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;First let me say that despite the dire warnings below, you &lt;strong&gt;can&lt;/strong&gt;
edit &lt;code&gt;/etc/resolv.conf&lt;/code&gt;, e.g. to make it look like&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Generated by NetworkManager
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;search lan
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nameserver 9.9.9.9
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And it will work until NetworkManager chooses to overwrite the
file.  Not sure if &lt;code&gt;sudo chmod 444 /etc/resolv.conf&lt;/code&gt; be enough to
keep NetworkManager from overwriting it.&lt;/p&gt;
&lt;h2 id=&#34;you-can-make-etc-resolv-dot-conf-immutable&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; You &lt;em&gt;can&lt;/em&gt; make &lt;code&gt;/etc/resolv.conf&lt;/code&gt; immutable&lt;/h2&gt;
&lt;p&gt;If you &lt;em&gt;do&lt;/em&gt; edit &lt;code&gt;/etc/resolv.conf&lt;/code&gt; you can make it immutable to
prevent systemd from updating it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo chattr +i /etc/resolv.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo rm /etc/resolv.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm: cannot remove &amp;#39;/etc/resolv.conf&amp;#39;: Operation not permitted
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;debugging-a-broken-dns&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Debugging a broken DNS&lt;/h2&gt;
&lt;p&gt;I was living dangerously and simultaneously playing with
&lt;a href=&#34;https://pi-hole.net/&#34;&gt;https://pi-hole.net/&lt;/a&gt; and letting Ubuntu try to upgrade my system.
It went south.  DNS stopped working.  The following were some of
the debugging steps I took to try to understand/fix the issue:&lt;/p&gt;
&lt;h3 id=&#34;testing-resolution-is-name-resolution-working&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.1&lt;/span&gt; Testing resolution - is name resolution working?&lt;/h3&gt;
&lt;p&gt;In this phase of debugging, I try to do name resolution as configured:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;dig - no namserver specified&lt;/dt&gt;
&lt;dd&gt;I ran &lt;code&gt;$ dig www.uu.net&lt;/code&gt; to see if everything was working as
intended.  Nope.  No response.&lt;/dd&gt;
&lt;dt&gt;dig - known-good nameserver&lt;/dt&gt;
&lt;dd&gt;I ran &lt;code&gt;$ dig www.uu.net @9.9.9.9&lt;/code&gt; to see if I could resolve against a known-good
nameserver.  This worked.  No issues with connectivity/routing.&lt;/dd&gt;
&lt;dt&gt;dig - 127.0.0.53&lt;/dt&gt;
&lt;dd&gt;I ran &lt;code&gt;$ dig www.uu.net @127.0.0.53&lt;/code&gt; to see
if the local systemd-resolved nameserver specified in
/etc/resolv.conf was working.  Nope.&lt;/dd&gt;
&lt;dt&gt;systemd-resolved - how is it configured?&lt;/dt&gt;
&lt;dd&gt;I ran &lt;code&gt;$ systemd-resolve --status&lt;/code&gt; to see how systemd thought dns was
configured.  The wireless interface I was using pointed to a
nameserver (the proxy server on my wireless router) that should work:&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ systemd-resolve --status
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Link 3 (wlp2s0)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      Current Scopes: DNS
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       LLMNR setting: yes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MulticastDNS setting: no
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      DNSSEC setting: no
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    DNSSEC supported: no
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         DNS Servers: 192.168.86.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          DNS Domain: ~.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      lan
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;dl&gt;
&lt;dt&gt;systemd-resolve - let systemd resolve a name&lt;/dt&gt;
&lt;dd&gt;dig(1) and host(1) are
not the only game in town for doing command line DNS look-ups.
Systemd (of course) will do it for you:
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ systemd-resolve www.uu.net
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;www.uu.net: 152.195.32.39
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this case, it worked, which tells me that systemd-resolved
is happy and working.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;try dig again&lt;/dt&gt;
&lt;dd&gt;Try another &amp;ldquo;normal&amp;rdquo; lookup:
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dig www.uu.net
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This failed.  The conclusion seems to be that the whatever the
resolver library is looking at (127.0.0.53) is not working.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;edit &lt;code&gt;/etc/resolv.conf&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Pointing &lt;code&gt;/etc/resolv.conf&lt;/code&gt; at
working nameservers fixed the problem:&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# Generated by NetworkManager
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;search lan
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#nameserver 127.0.0.53  # BROKEN. systemd-resolved nameserver set by NetworkManager
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;#nameserver 9.9.9.9     # WORKS. quad9 nameserver
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nameserver 192.168.86.1 # WORKS. wireless router nameserver
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;conclusion-the-systemd-resolved-is-not-answering&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.1.1&lt;/span&gt; Conclusion - the systemd-resolved is not answering&lt;/h4&gt;
&lt;h3 id=&#34;what-name-resolution-processes-are-running&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.2&lt;/span&gt; What name resolution processes are running?&lt;/h3&gt;
&lt;p&gt;The next question is: what&amp;rsquo;s (not) running?  What&amp;rsquo;s (not) listening?&lt;/p&gt;
&lt;p&gt;To answer these questions, I poked at the network and the
running processes:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;nmap - look for listeners&lt;/dt&gt;
&lt;dd&gt;nmap did not show a DNS listener at 127.0.0.53&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed home-computing [master] $ sudo nmap -v -sU -PS  127.0.0.53
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Starting Nmap 7.60 ( https://nmap.org ) at 2020-05-10 07:51 EDT
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Initiating Parallel DNS resolution of 1 host. at 07:51
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Completed Parallel DNS resolution of 1 host. at 07:51, 0.02s elapsed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Initiating UDP Scan at 07:51
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Scanning 127.0.0.53 [1000 ports]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Completed UDP Scan at 07:51, 2.80s elapsed (1000 total ports)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Nmap scan report for 127.0.0.53
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Host is up (0.000049s latency).
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Not shown: 997 closed ports
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PORT     STATE         SERVICE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;68/udp   open|filtered dhcpc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;631/udp  open|filtered ipp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;5353/udp open|filtered zeroconf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;zeroconf :: Is zeroconf listening?  What is 5353?&lt;/p&gt;
&lt;p&gt;It looks like 5353 is multicast DNS.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ egrep -i domain\|dns /etc/services
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;domain		53/tcp				# Domain Name Server
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;domain		53/udp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mdns		5353/tcp			# Multicast DNS
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mdns		5353/udp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;dl&gt;
&lt;dt&gt;lsof -i&lt;/dt&gt;
&lt;dd&gt;look at listening ports
&lt;p&gt;Next, I used lsof(1) to look at listening and connected ports,
successively grepping out the &amp;ldquo;known&amp;rdquo; and &amp;ldquo;uninteresting&amp;rdquo;:&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gmj@ed home-computing [master] $  sudo lsof -i -n  | egrep -vi established\|dropbox\|ssh\|http\|smtp\|bootp\|ipp
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;COMMAND     PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;avahi-dae  1064           avahi   12u  IPv4  25434      0t0  UDP *:mdns
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;avahi-dae  1064           avahi   13u  IPv6  25435      0t0  UDP *:mdns
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;avahi-dae  1064           avahi   14u  IPv4  25436      0t0  UDP *:42027
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;avahi-dae  1064           avahi   15u  IPv6  25437      0t0  UDP *:44240
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dnsmasq    2538 libvirt-dnsmasq    5u  IPv4  37248      0t0  UDP 192.168.122.1:domain
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dnsmasq    2538 libvirt-dnsmasq    6u  IPv4  37249      0t0  TCP 192.168.122.1:domain (LISTEN)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;brave     28951             gmj   43u  IPv4 250584      0t0  UDP 224.0.0.251:mdns
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Looks like avahe-dae[mon] is listening on multicast-dns (mdns) on
5353, and there are outbound connections to 192.168.122.1:53, which
&lt;strong&gt;was&lt;/strong&gt; a wired connection to the router, but nothing listening on
port 53.  This is a problem.&lt;/p&gt;
&lt;h3 id=&#34;why-is-systemd-resolved-not-answering-do-i-care&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.3&lt;/span&gt; Why is systemd-resolved not answering - do I care?&lt;/h3&gt;
&lt;p&gt;Do I really want to debug systemd-resolved? No.  I was half
planing on upgrading to the latest Ubuntu release (20.04)
anyhow.  This seems like the time to do it, rather than
debugging this problem further.&lt;/p&gt;
&lt;h3 id=&#34;lessons-learned&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4.4&lt;/span&gt; Lessons learned&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;run servers on dedicated systems&lt;/dt&gt;
&lt;dd&gt;I had been messing with
&lt;a href=&#34;https://pi-hole.net/&#34;&gt;https://pi-hole.net/&lt;/a&gt; on this system (a laptop that mostly does
not move/go off the net).  There was some confusion/doubt
about whether this interacted badly with things/caused the
problems.   It may have.  I un-installed it.   But running a
dedicated server would be better.&lt;/dd&gt;
&lt;dt&gt;Failed Ubuntu &amp;ldquo;upgrade&amp;rdquo;&lt;/dt&gt;
&lt;dd&gt;The actual trigger that made things not
work was an attempt to let the Ubuntu installer upgrade the
system.  This failed in strange ways.  After running, my
system which was Ubuntu 19.10 reported (/etc/issue) to being
18.04 and the pi-hole logs reported that they could not find
the wireless interface it had been configured to use (but the
device was still there, same name, still working&amp;hellip;)&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; Next Steps&lt;/h2&gt;
&lt;h3 id=&#34;do-a-hard-upgrade-to-ubuntu-20-dot-04&#34;&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt; &lt;span class=&#34;section-num&#34;&gt;5.1&lt;/span&gt; Do a hard upgrade to Ubuntu 20.04&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Full backup, wipe disk, restore&amp;hellip;&lt;/li&gt;
&lt;li&gt;Use ansible, docker, chief or similar to make configs
repeatable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;set-up-a-server-to-run-pi-hole-and-other-services&#34;&gt;&lt;span class=&#34;org-todo todo TODO&#34;&gt;TODO&lt;/span&gt; &lt;span class=&#34;section-num&#34;&gt;5.2&lt;/span&gt; Set up a server to run pi-hole and other services&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Possibly re-purpose an old laptop or pogo-plug device running
something minimal like Arch Linux&lt;/li&gt;
&lt;li&gt;Use ansible, docker, chief or similar to make configs
repeatable.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;things-to-learn-more-about&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Things to learn more about&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;avhai&lt;/dt&gt;
&lt;dd&gt;So what is &lt;a href=&#34;https://en.wikipedia.org/wiki/Avahi_%28software%29&#34;&gt;avhai&lt;/a&gt;-dae[mon]?  It looks like a
zero-configuration (I wish !) networking services that uses
multi-cast DNS on a local network.  Do I need to be running this?&lt;/dd&gt;
&lt;dt&gt;systemd-resolved&lt;/dt&gt;
&lt;dd&gt;I may want to learn more about this, as it is
part of the new regime in most Linux distros.  But not now.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--list-separator--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For Further Reading&lt;/p&gt;
&lt;p&gt;resolvers, stub resolvers and nameservers
: &lt;a href=&#34;https://unix.stackexchange.com/questions/500536/what-are-dns-server-resolver-and-stub-resolver&#34;&gt;https://unix.stackexchange.com/questions/500536/what-are-dns-server-resolver-and-stub-resolver&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Day 10 of #100DaysToOffload.  Delayed a day due to DNS problems :-)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>9 days of #100DaysToOffload</title>
      <link>http://curious.galthub.com/blog/2020-05-08/</link>
      <pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-08/</guid>
      <description>&lt;h2 id=&#34;experiences-after-9-days-of-blogging&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Experiences after 9 days of blogging&lt;/h2&gt;
&lt;p&gt;About 3 weeks ago I decided to start blogging.  For various still
ill-defined reasons, some of which I explored in a &lt;a href=&#34;http://curious.galthub.com/blog/poetry-in-the-trash/&#34;&gt;blog post
contemplating the fate of writing and writers great and small&lt;/a&gt;.
But it&amp;rsquo;s still somewhat mushy.&lt;/p&gt;
&lt;p&gt;I spent some time coming up the curve on the &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo framework for
building static web sites&lt;/a&gt; and the &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;emacs org mode counterpart ox-hugo&lt;/a&gt;
which let me put up my &lt;a href=&#34;https://eludom.github.io/&#34;&gt;Curious Musings&lt;/a&gt; blog.&lt;/p&gt;
&lt;p&gt;The a few days after that on &lt;a href=&#34;https://fosstodon.org/web/timelines/home&#34;&gt;Fosstodon&lt;/a&gt; (open source distributed social
media) I came across the &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;https://100daystooffload.com/&lt;/a&gt; challenge
which, basically encourages you to &amp;ldquo;just write&amp;rdquo;.   Good timing.
Here it is.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve put out a couple posts that I&amp;rsquo;ve put some work into like
this one about &lt;a href=&#34;https://eludom.github.io/blog/2020-05-06/&#34;&gt;Awesome online singing from Denmark to Australia, and
social distancing too!&lt;/a&gt; and &lt;a href=&#34;https://eludom.github.io/blog/steve/&#34;&gt;a tribute to Steve Wilhite&lt;/a&gt; who was my
first mentor and whom some of you know as the creator of GIF (a
very minor output of Steve&amp;rsquo;s total work that just happened to
stick).  Some post have been quick.&lt;/p&gt;
&lt;h2 id=&#34;yes-but-what-if-everyone-did-this&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; &amp;ldquo;Yes, but what if &lt;em&gt;everyone&lt;/em&gt; did this&amp;rdquo;?&lt;/h2&gt;
&lt;p&gt;Yesterday, also on Fosstodon, Per Gregory@g had this say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Social media:
Don&amp;rsquo;t use it to impress people, use it to impact people&amp;rdquo; ~ unknown&lt;/p&gt;
&lt;p&gt;I love this, and I&amp;rsquo;m going to remind myself of it when on social media.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wise words.  Basically, &amp;ldquo;it&amp;rsquo;s not about me&amp;rdquo; (unless you take the
catharsis or hubris angles I explored earlier).  OK, it &lt;em&gt;should not&lt;/em&gt;
be all about me.&lt;/p&gt;
&lt;h2 id=&#34;who-is-this-post-for&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Who is &lt;em&gt;this&lt;/em&gt; post for?&lt;/h2&gt;
&lt;p&gt;So who is &lt;em&gt;this&lt;/em&gt; post for and is it useful?  You be the judge.&lt;/p&gt;
&lt;p&gt;Maybe you&amp;rsquo;re interested in getting started blogging, or wondering
what software you could use, or where you could find new online
communities that are not monitized by ads, or you want to pay
tribute to someone, or you&amp;rsquo;re interested in organizing online choral
singing, or joining meet-ups of new online communities during social
distancing.  Then this post might be for you.&lt;/p&gt;
&lt;p&gt;Day 09 of #100DaysToOffload.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Life imitates…</title>
      <link>http://curious.galthub.com/blog/2020-05-07/</link>
      <pubDate>Thu, 07 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-07/</guid>
      <description>&lt;p&gt;And to get away from it all tonight we played (well, continued) a game
of Civilization: Famine, Strife, Civil War, Flood,
Earthquakes, Volcanoes, but strangely no epidemic (yet).&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:civ&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/civ.jpg&#34; alt=&#34;Figure 1: Civilization&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Civilization
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I think I&amp;rsquo;ll take the real world please.   Wait, no.  We&amp;rsquo;re loosing
Democracy, Law and Philosophy&amp;hellip;.&lt;/p&gt;
&lt;p&gt;Day 08 of #100DaysToOffload.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Awesome online singing from Denmark to Australia, and social distancing too!</title>
      <link>http://curious.galthub.com/blog/2020-05-06/</link>
      <pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-06/</guid>
      <description>&lt;p&gt;There are some amazing online singing events happening now around
the world: Denmark, Australia, Nashville, etc.  I want to highlight
a couple examples of that to add brightness to these dark times.&lt;/p&gt;
&lt;p&gt;Human beings have an unquenchable desire to live in community.
Singing has always been an expression of that.  Modern technology
has enabled it.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:sacred-harp&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/sacred-harp.png&#34; alt=&#34;Figure 1: The Sacred Harp Quarantine Chorus&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;The Sacred Harp Quarantine Chorus
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Day 07 of #100DaysToOffload.&lt;/p&gt;
&lt;h2 id=&#34;harmonia-sacra-a-capella-four-part-shape-note-singing&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Harmonia Sacra - a capella four part shape note singing&lt;/h2&gt;
&lt;p&gt;I sing (the quality is arguable at times). For the past 25
years on-and-off I&amp;rsquo;ve been singing 4 part a capella hymns in
Mennonite circles.  It&amp;rsquo;s a communal thing.  You &lt;em&gt;can&lt;/em&gt; sing the
bass line by yourself, but it&amp;rsquo;s not the same.&lt;/p&gt;
&lt;p&gt;For the past 10 years or so, my family and I have been driving
over to Shenandoah Valley 2 or 3 times a year to participate in
a few of the annual &amp;ldquo;sings&amp;rdquo; that have been happening in the
area since Joseph Funk first published &lt;a href=&#34;https://harmoniasacra.org/&#34;&gt;Harmonia Sacra&lt;/a&gt; in 1832
(in the little town of &amp;ldquo;Singers Glen&amp;rdquo;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;)&lt;/p&gt;
&lt;p&gt;Since we could not have the regular April singing in person, I
figured out how to host one on Zoom, based on &lt;a href=&#34;https://www.youtube.com/watch?v=50NoWIiYECA&#34;&gt;instructions for
leading Chorial Music over Zoom by Jim Daus Hjernøe of the
Royal Academy of Music in Denmark&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:rama&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/royal-academy.png&#34; alt=&#34;Figure 2: RAMA Vocal Center, Denmark&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;RAMA Vocal Center, Denmark
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Basically, I split out a number of tracks from one of the
better sings and rebroadcast the them as guide tracks.  &lt;a href=&#34;https://drive.google.com/file/d/1ALCFebmtOjjm74y540sKTAc6wH-rsKTQ/view?usp=sharing&#34;&gt;Here is
a recording of &amp;ldquo;Dedication Anthem&amp;rdquo;, a.k.a., &amp;ldquo;606&amp;rdquo;&lt;/a&gt;, a.k.a.  &amp;ldquo;The
Mennonite National Anthem&amp;rdquo; sung in 4 part harmony by 400 people.&lt;/p&gt;
&lt;p&gt;It worked, more or less.  There was not the same sense of
community as standing right next to other singers, but it let
out some our pent up need to sing our favorite joyful songs in
a time of uncertainty.&lt;/p&gt;
&lt;h2 id=&#34;movers-and-shapers&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; &amp;ldquo;Movers and Shapers&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;There is another, larger tradition of shape note singers called
&lt;a href=&#34;https://fasola.org/&#34;&gt;Sacred Harp&lt;/a&gt;.  When looking or examples of how to put together
online singings, I came across &lt;a href=&#34;https://sacredharpaustralia.com/resources/singing-shape-note/&#34;&gt;Sacred Harp Australia&lt;/a&gt;, who put
up a video of a Fa-So-La &amp;ldquo;singing school&amp;rdquo;.  Unlike Harmonia
Sacra sings, the Sacred Harp singers sit in a square/circle &amp;ldquo;by
parts&amp;rdquo; (Bass, Tenor, Alto, Soprano).&lt;/p&gt;
&lt;p&gt;The Sacred Harp singers took remote singing to an entirely
different level with &lt;a href=&#34;https://youtu.be/LDbOD3OO20g&#34;&gt;The Sacred Harp Quarantine Chorus -EASTER
ANTHEM - 360° Virtual Singing and Easter Egg Hunt!&lt;/a&gt;.  This an
amazing recording of 331 singers from 37 states, 4 Canadian
provences and 11 countries singing a joyful song &amp;ldquo;together&amp;rdquo;.
This 360 degree video puts you you in the best seat in the
house. And here&amp;rsquo;s how they did it:
&lt;a href=&#34;https://www.youtube.com/watch?v=RIEJOK_m1ek&#34;&gt;https://www.youtube.com/watch?v=RIEJOK_m1ek&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;the-pros-in-nashville&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; The pros in Nashville&lt;/h2&gt;
&lt;p&gt;And then there were the pros in Nashville.  &lt;a href=&#34;https://www.youtube.com/watch?v=nDIJz6zzHNU&#34;&gt;The Nashville
Studio Singer Community - Virtual Cell Phone Choir - “It Is
Well With My Soul” arranged by: David Wise&lt;/a&gt; This was a group of
professional singers, who indeed looked like they were enjoying
being part of the virtual community of singers.  They covered
the standard hymn &amp;ldquo;It Is Well With My Soul&amp;rdquo; which was written
by Horatio Spafford in response to the loss of his family when
a ship sank.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:it-is-well&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/it-is-well.png&#34; alt=&#34;Figure 3: The Nashville Studio Singer Community - Virtual Cell Phone Choir&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;The Nashville Studio Singer Community  - Virtual Cell Phone Choir
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;is-it-well&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; Is it well?&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;When peace like a river, attendeth my way,
When sorrows like sea billows roll;
Whatever my lot, Thou hast taught me to say
It is well, it is well, with my soul.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Whatever your faith, I think we can all take a little solace in
the human spirit that can&amp;rsquo;t be contained and overflows into
joyous music even at times like these.  It is indeed well with
my soul.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Alice Parker, associate of the former Atlanta Symphony
Orchestra and Choir conductor Robert Shaw wrote a play called &amp;ldquo;Singers
Glenn&amp;rdquo; about Joseph Funk which is staged very 5 years in Singers Glen
across the street from his log cabin with descendants in attendance.
She has attended many of the performances.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Getting started in life is harder right now</title>
      <link>http://curious.galthub.com/blog/2020-05-05/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-05/</guid>
      <description>&lt;p&gt;Getting started in life is harder right now.  I have two college age
sons who both just finished up their year with online classes, and
both are home now. In &amp;ldquo;normal&amp;rdquo; times they would be working summer jobs or participating
in other activities that would help them advance toward their chosen
careers.  Jobs may or may not happen.  Even getting out of the house
may not happen much.  These are weird times.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:seal-duq&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/seals.png&#34; alt=&#34;Figure 1: The Great Seal of the State of Ohio&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;The Great Seal of the State of Ohio
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I am happy to help my sons with a place to live, emotional and other
support, but it is a time of life where they should be moving towards
increased independence.  The opportunities to do that are drastically
reduced right now.  This state of affairs concerns me, and it&amp;rsquo;s not
just my family.  Maybe we need to look for the silver lining, find
opportunity in change, etc., but it is certainly going to take more
effort and intentionality right now.&lt;/p&gt;
&lt;p&gt;Day 06 of #100DaysToOffload.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Vis tibi sit</title>
      <link>http://curious.galthub.com/blog/2020-05-04/</link>
      <pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-04/</guid>
      <description>&lt;p&gt;On the occasion of the ancient Roman Festival &lt;em&gt;Bella Stellaria&lt;/em&gt;, I
wish you&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Vis tibi sit&lt;/p&gt;
&lt;p&gt;Lucas Skywalker&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;magis de bella stellaria hic: &lt;a href=&#34;https://la.wikipedia.org/wiki/Star_Wars&#34;&gt;https://la.wikipedia.org/wiki/Star_Wars&lt;/a&gt;
et hic &lt;a href=&#34;https://twitter.com/tutubuslatinus/status/1257065883614109696&#34;&gt;https://twitter.com/tutubuslatinus/status/1257065883614109696&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Day 05 of #100DaysToOffload.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Hiking, the Appalachian Trail, Health and Choices</title>
      <link>http://curious.galthub.com/blog/hiking-and-strange-times/</link>
      <pubDate>Sun, 03 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/hiking-and-strange-times/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve section-hiked over 1000 miles on the Appalachian Trail.
Through-hikes have been shut down this year, upsetting plans
people have made for years. I&amp;rsquo;m headed out today to do maintenance
today.  Not sure what I&amp;rsquo;ll find. I will be good to be out.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:katahdin-abol&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/katahdin-abol.jpg&#34; alt=&#34;Figure 1: Mt. Katahdin from Abol Bridge, 2018&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Mt. Katahdin from Abol Bridge, 2018
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Day 05 of #100DaysToOffload.&lt;/p&gt;
&lt;p&gt;I like to hike.  The Appalachian Trail is near my house.
Literally the day before the &lt;a href=&#34;http://www.appalachiantrail.org/&#34;&gt;Appalachian Trail Conservancy&lt;/a&gt; (ATC)
recommended EVERYONE stay off the trail (180 degrees against its
primary mission), I accepted the responsibility of maintaining a 3
mile section for the &lt;a href=&#34;https://www.patc.net/&#34;&gt;Potomac Appalachian Trail Club&lt;/a&gt; (PATC).  Just
yesterday I got word that trail maintainers have a local exception
and are allowed to be on the trail.  I&amp;rsquo;m going out this afternoon
to see how much underbrush needs cut, if there are any trees that
need chainsaw work, if any work is needed on erosion control, etc.
It will be a joy to &amp;ldquo;be out&amp;rdquo; again.&lt;/p&gt;
&lt;p&gt;A couple weeks before the cronavirus lockdown started, I went for
a hike on the &lt;a href=&#34;https://www.hikethetuscarora.org/&#34;&gt;Tuscarora Trail&lt;/a&gt;.  It was going to be a quick day
hike.  Up 900 feet, along a ridge, back down.  Maybe 8 miles.
Going up the hill I fell on a rock and sliced my forearm open and
wound up going the ER in Romney, WV with 21 stitches.  I accept some
risk when I choose to hike (there are bears too).  With the
potential strain on the medical system and emergency care being
uncertain, I&amp;rsquo;m choosing not taking risks now.&lt;/p&gt;
&lt;p&gt;I am a &amp;ldquo;section hiker&amp;rdquo;.  I go out when I can, usually 2 weeks or
so a year.  I have over half the Appalachian Trail done (1000+
miles) and had plans to go out Memorial Day (May 25) for two
weeks.  That&amp;rsquo;s probably not happening.  I&amp;rsquo;m not young.  I only
have so many years to get this done.  Health is never a given.&lt;/p&gt;
&lt;p&gt;The ATC asked all hikers this year to call it off: through hikers,
section hikers as well as day hikers.  Through hikers are people
who have re-arranged their life, their finances, their work and
family life to spend 6 months on the trail.  For many, it may be a
once-in-a-lifetime opportunity.  But for most, through-hiking
involves staying together in shelters on rainy nights, sleeping in
bunk-houses in hostels, getting rides with local shuttle drivers,
going into trail towns to shop for re-supply, etc.  These all make
social-distancing hard.  And there is the assumption that there
will be &lt;em&gt;some&lt;/em&gt; local medical care available, like that which I
needed when I fell.  So the ATC &lt;em&gt;asked&lt;/em&gt; people to shut it down
this year.&lt;/p&gt;
&lt;p&gt;The last time I was out hiking, the day after my initial
trail-maintainer training, the parking lot at the trail-head was
&lt;strong&gt;packed&lt;/strong&gt;.  Not sure what I&amp;rsquo;ll find today.  Crowds?  Empty Trails?
A persistent through-hiker?  People make their own choices.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:on-katahdin&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/on-katahdin.jpg&#34; alt=&#34;Figure 2: me, on top of old smokey, 2018&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;me, on top of old smokey, 2018
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;</description>
    </item>
    
    <item>
      <title>HOWTO: Using Pi-hole DNS to block ads.  The struggle continues…</title>
      <link>http://curious.galthub.com/blog/2020-05-01/</link>
      <pubDate>Fri, 01 May 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/2020-05-01/</guid>
      <description>&lt;p&gt;&lt;em&gt;This article is a work in progress.  Updated: 2020-05-02.  This is
turning into a bit of a catch-up on the state of DNS for me.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Day 03 and 04 of #100DaysToOffload.&lt;/p&gt;
&lt;h2 id=&#34;intro&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Intro&lt;/h2&gt;
&lt;p&gt;The war against ads continues. &lt;a href=&#34;https://pi-hole.net/&#34;&gt;https://pi-hole.net/&lt;/a&gt; looks like a
reasonable, good, new?, open source entry in the war against ads. Get
&amp;lsquo;yer source/install for linux at &lt;a href=&#34;https://github.com/pi-hole/pi-hole&#34;&gt;https://github.com/pi-hole/pi-hole&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Per Paul Vixie&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;not even non-technical users need a &amp;ldquo;public DNS&amp;rdquo; to shield themselves
from a lot of known-evil internet sites. check out @The_Pi_Hole or
have your 12yo child or cousin install it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;..but I always make things harder.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:pi-hole.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/pi-hole.png&#34; alt=&#34;Figure 1: pi-hole console after a few hours on my system&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;pi-hole console after a few hours on my system
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;h2 id=&#34;what&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; What&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s a local DNS server to block adds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; Why&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Blocking ads is a moral good.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ve not done home network hacking for a while.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m moving into a bit of a more &amp;ldquo;don&amp;rsquo;t track me&amp;rdquo; frame of mind.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;when&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; When&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Now, because I&amp;rsquo;m home more during corona-virus.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;how&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;5&lt;/span&gt; How&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Set up local server.&lt;/li&gt;
&lt;li&gt;First on a Linux laptop that (usually) does not go off the net.&lt;/li&gt;
&lt;li&gt;Then maybe on an old pogoplug or laptop.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;install-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;6&lt;/span&gt; Install It&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s what I did to instlal&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;[ ] basic install&lt;/dt&gt;
&lt;dd&gt;On a Linux server, the &lt;strong&gt;basic&lt;/strong&gt; install is
simple:
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo bash basic-install.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/dd&gt;
&lt;dt&gt;[ ] Static IP&lt;/dt&gt;
&lt;dd&gt;But you will want a Linux box with a static IP
address. This may involve, e.g., convincing your wireless
router to hand out a the same static IP to a static IP&lt;/dd&gt;
&lt;dt&gt;[ ] Tell other systems to use this IP for DNS&lt;/dt&gt;
&lt;dd&gt;Again,
probably configuring your wireless router to specify your local
IP as the DNS server for DNS assignments via DHCP assignments.
You could also do this by configuring the individual devices to
use it.&lt;/dd&gt;
&lt;dt&gt;[ ] Remember your admin password&lt;/dt&gt;
&lt;dd&gt;Make note of the admin password during install&lt;/dd&gt;
&lt;dt&gt;[ ] hit the local admin web server&lt;/dt&gt;
&lt;dd&gt;Its a very nice.  It will
be at a something like  &lt;a href=&#34;http://192.168.86.230/admin/index.php&#34;&gt;http://192.168.86.230/admin/index.php&lt;/a&gt;.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;test-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;7&lt;/span&gt; Test It&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;[ ] Look something up by hand&lt;/dt&gt;
&lt;dd&gt;Use dig(1) or host(1).  Note
the &lt;code&gt;SERVER&lt;/code&gt; in the response below that shows where the answer
came from.  If it&amp;rsquo;s your IPS&amp;rsquo;s DNS or Google, try again
(something&amp;rsquo;s not configured right).  In my case 127.1 is right.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ dig www.uu.net
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.11.3-1ubuntu1.11-Ubuntu &amp;lt;&amp;lt;&amp;gt;&amp;gt; www.uu.net
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; global options: +cmd
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; Got answer:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 54721
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; OPT PSEUDOSECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;; EDNS: version: 0, flags:; udp: 512
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; QUESTION SECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;www.uu.net.			IN	A
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; ANSWER SECTION:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;www.uu.net.		299	IN	CNAME	global.mci.com.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;global.mci.com.		959	IN	CNAME	wac.C449.edgecastcdn.net.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wac.C449.edgecastcdn.net. 3599	IN	CNAME	gp1.wac.v2cdn.net.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gp1.wac.v2cdn.net.	3599	IN	A	152.195.32.39
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; Query time: 59 msec
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; SERVER: 127.0.0.1#53(127.0.0.1)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; WHEN: Fri May 01 19:16:11 EDT 2020
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;;; MSG SIZE  rcvd: 146
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Check the query logs via the UI to make sure your target domain
showed.   Be aware of caching.  It may only show up the first
time you query.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Find your favorite 90s-era web site,
go hit it, and watch the counters&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://computershopper.com&#34;&gt;http://computershopper.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yahoo.com&#34;&gt;http://www.yahoo.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.compuserve.com&#34;&gt;http://www.compuserve.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.aol.com&#34;&gt;http://www.aol.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://sears.com&#34;&gt;http://sears.com&lt;/a&gt; (get it while it lasts)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the counters go crazy and you don&amp;rsquo;t see the expected
plethora of ads, you win.  If not dig deeper.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you are already
using ad-blockers or browsers such as Brave that block ads, you
may have to test with something else (Firefox, Chrome, etc.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Browser and other apps are getting cagey about using not using
the system DNS, using DOH, and otherwise not acting like you
expect them too.  Editing &lt;code&gt;/etc/resolv.conf&lt;/code&gt; is not the whole
game anymore.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tools-you-may-want-to-use-learn-install&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;8&lt;/span&gt; Tools you may want to use/learn/install&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;dig&lt;/dt&gt;
&lt;dd&gt;for making/testing queries by hand&lt;/dd&gt;
&lt;dt&gt;&lt;a href=&#34;https://www.wireshark.org/&#34;&gt;Wireshark&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Use Wireshark to see what&amp;rsquo;s going on on the wire,
who you&amp;rsquo;re talking to, etc.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;the-things-you-learn&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;9&lt;/span&gt; The things you learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;pi-hole can apparently function as a DHCP server itself.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You can choose your upstream DNS servers from a list with
options for IPv4, IPv6, DNSSEC/no DNSSEC, filtered/unfiltered.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Quad9 is one of the choices.  It looks to be really useful for
adding malware blocking to your domain.  See
&lt;a href=&#34;https://www.quad9.net/faq/&#34;&gt;https://www.quad9.net/faq/&lt;/a&gt; for a useful bit of education.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--listend--&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The logs are at &lt;code&gt;/var/log/pihole.log&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Possibly use &lt;a href=&#34;http://www.ranum.com/security/computer_security/papers/ai/&#34;&gt;Marcus Ranums&amp;rsquo;s principal of &amp;ldquo;Artificial Ignorance&amp;rdquo;&lt;/a&gt;
to grep out the known and see what&amp;rsquo;s left:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$  cat pihole.log.1  | egrep -v microsoft.com\|google\|amazon\|in-addr\|linkedin\|dropbox\|facebook\|messenger\|ubuntu\|github\|brave\|basicattention\|yahoo\|disqus\|twitter\|akamai\ | sed &amp;#39;s/.*: //&amp;#39;  | sort | uniq -c | sort -rn | head
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;334 reply min-api.cryptocompare.com is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;334 reply ccc-api.cloudapp.net is 40.115.22.134
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;334 query[A] min-api.cryptocompare.com from 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;238 forwarded min-api.cryptocompare.com to 8.8.4.4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;143 cached min-api.cryptocompare.com is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;101 query[A] no-thanks.invalid.lan from 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;101 query[A] no-thanks.invalid from 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;101 forwarded min-api.cryptocompare.com to 8.8.8.8
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100 reply hfq2h9152m63.statuspage.io is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;100 query[A] rpt.cedexis.com from 127.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat pihole.log.1  | egrep -v microsoft.com\|google\|amazon\|in-addr\|linkedin\|dropbox\|facebook\|messenger\|ubuntu\|github\|brave\|basicattention\|yahoo\|disqus\|twitter\|akamai\|compuserve\|aol | sed &amp;#39;s/.*: //&amp;#39;  | sort | uniq -c | sort -rn | tail -20
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 2607:f8b0:400d:c0f::6d
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 2607:f8b0:400d:c07::6d
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 2607:f8b0:400d:c00::6d
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 2607:f8b0:4004:c08::6d
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 2607:f8b0:4004:c08::6c
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 172.253.63.109
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached imap.gmail.com is 172.253.63.108
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached hosts-file.net is 3.234.198.254
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached encrypted-tbn0.gstatic.com is 172.217.13.78
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached dig is NXDOMAIN
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached content-signature-2.cdn.mozilla.net is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons-handoff.gcp.gvt2.com is 172.217.15.99
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons.gvt2.com is 172.217.13.227
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons.gcp.gvt2.com is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons4.gvt2.com is 216.239.32.116
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons2.gvt2.com is 216.239.38.117
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons2.gvt2.com is 216.239.36.117
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons2.gvt2.com is 216.239.34.117
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached beacons2.gvt2.com is 216.239.32.117
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;1 cached article.smartasset.com is &amp;lt;CNAME&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;What is this stuff?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tune-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;10&lt;/span&gt; Tune it&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m not sure all the devices in the house are using the P-hole
proxy.  If they are, then they are showing up as the single
device _gateway.   I need to understand this and figure out if I
can get other devices pulling wireless addresses via DHCP from
the WAP to use the Pi-hole DNS directly.   Stay tuned.&lt;/p&gt;
&lt;h2 id=&#34;post-incomplete-from-here&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;11&lt;/span&gt; POST INCOMPLETE FROM HERE&lt;/h2&gt;
&lt;h2 id=&#34;migrate&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;12&lt;/span&gt; Migrate&lt;/h2&gt;
&lt;h2 id=&#34;burn-in&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;13&lt;/span&gt; Burn in&lt;/h2&gt;
&lt;h2 id=&#34;inflict-it-on-others&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;14&lt;/span&gt; Inflict it on others&lt;/h2&gt;</description>
    </item>
    
    <item>
      <title>Choosy Programmers Choose GIF</title>
      <link>http://curious.galthub.com/blog/steve/</link>
      <pubDate>Thu, 30 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/steve/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Steve_Wilhite&#34;&gt;Steve Wilhite&lt;/a&gt; is the most prolific programmer I&amp;rsquo;ve ever known.  He&amp;rsquo;s
mostly remembered for creating &lt;a href=&#34;https://en.wikipedia.org/wiki/gif&#34;&gt;GIF&lt;/a&gt; but he spent 30 years writing piles
of amazing software which helped set the stage for the Web.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:XF4MAN&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/XF4MAN.gif&#34; alt=&#34;Figure 1: CompuServe XF4 Fortran Manual&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;CompuServe XF4 Fortran Manual
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Day 02 of #100DaysToOffload.&lt;/p&gt;
&lt;p&gt;Steve worked at CompuServe (and successors) from 1970 to 2001.  I
was fortunate enough to start my career working with/for him.  My
view of his programming output comes largely from 1985-1995.  I&amp;rsquo;m
sure there was much more that I missed.&lt;/p&gt;
&lt;h2 id=&#34;things-steve-wrote&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Things Steve Wrote&lt;/h2&gt;
&lt;p&gt;Steve ran the languages and tools group when I arrived.  &lt;em&gt;He had just&lt;/em&gt;
&lt;em&gt;given up on writing at DEC10 ADA compiler&lt;/em&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; (Steve is still writing
ADA software), was just beginning to embrace PCs as &amp;ldquo;real computers&amp;rdquo;
worthy of his attention, had written a FORTRAN compiler, a BASIC
compiler and associated run-time systems, and a run-time library for
BLISS called BTOOLS.  These were partially in support of
CompuServe&amp;rsquo;s pre-information-service time-sharing services supported
by a homegrown packet-switched networking.  &amp;ldquo;Cloud computing&amp;rdquo; in the
1970s :-)&lt;/p&gt;
&lt;p&gt;I worked on BTOOLS, SKIMAN (Single Key Index Access Manager), a
B-Tree library Steve had created.  There was a full-fledged database
system written in there somewhere I think.  There were ports and
hacks to various tools such as FINE (Fine Is Not Emacs), a C
compiler, DEC Runoff, laser printer support, source code control
systems, etc.&lt;/p&gt;
&lt;p&gt;On top of that, Steve created the HMI (Host Micro Interface)
protocol that rode on top of &lt;a href=&#34;https://en.wikipedia.org/wiki/b_protocol&#34;&gt;CompuServe &amp;ldquo;B-Protocol&amp;rdquo;&lt;/a&gt; to allow API
driven interactions with the information service (the alternative
being text/command line interfaces).  This was all in an environment
where 9600baud modems were considered &amp;ldquo;fast&amp;rdquo;.  Compression,
incremental display, etc. were paramount.&lt;/p&gt;
&lt;p&gt;He later used that as the substrate for &lt;a href=&#34;https://en.wikipedia.org/wiki/compuserve_information_manager&#34;&gt;WinCim&lt;/a&gt;, the graphical interface
to the information service that he created which kept the company
going for a while in the face of the likes of AOL.  Somewhere in
there, there was a graphics library and enough pieces that I was
able to write a web browser that worked inside WinCim, that would
have allowed CompuServe users without an Internet connection (most
everyone then) to browse the web.  Marketing did not want to release
my web browser.  &lt;strong&gt;Sigh&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Later on (after my time) Steve as pulled into major projects to support
the back end processing for H&amp;amp;R Blocks&amp;rsquo;s TaxCut program when online
tax-filing was a new thing.  &lt;em&gt;He was also pulled into the WOW project&lt;/em&gt;
&lt;em&gt;which was supposed to be the AOL killer when it became apparent that&lt;/em&gt;
&lt;em&gt;CompuServe needed an AOL killer.&lt;/em&gt;&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;  One of those projects succeeded.
Single-handed technical virtuosity could not fix the one that
didn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;And there was this little side project called GIF.&lt;/p&gt;
&lt;h2 id=&#34;things-that-got-out&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Things that got out&lt;/h2&gt;
&lt;h3 id=&#34;gif&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1&lt;/span&gt; GIF&lt;/h3&gt;
&lt;p&gt;Be careful what you do and say.  It&amp;rsquo;s often the incidentals that you
are remembered for.  The kind (or unkind) words.  The side projects.&lt;/p&gt;
&lt;p&gt;In the world of the mid 80s there were IBM PCs, Apple Macs
(classic), Amigas, Atari-STs, CoCos, and yes, Apple-IIs and
Commodor-68s.  The information service was moving beyond a
text-based, menu-driven system (I like curses and termcap as much as
the next guy, but hey..).  People wanted to share pictures, display
online-shopping catalogs, weather maps, etc.  There were no/few good
portable graphics formats.  So Steve wrote one.  GIF.  Then the web happened.
The web wanted portable images too.  GIF worked.  So the early web
adopted it.  There was the kerfuffle over the LZW compression
algorithm it used resulting in the creation of the PNG format, but,
hey, who in 1987 would ever think that an algorithm published in ACM
might not be free.  OK, &lt;a href=&#34;https://en.wikipedia.org/wiki/richard_stallman&#34;&gt;Stallman&lt;/a&gt;, but who else :-).  And now there
are Giffy&amp;rsquo;s in slack that I turn off because I hate dancing bears.
Thank-you Steve.&lt;/p&gt;
&lt;h2 id=&#34;microemacs-mg-display-hacks&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;3&lt;/span&gt; MicroEmacs/mg display hacks&lt;/h2&gt;
&lt;p&gt;And then there are the &lt;a href=&#34;https://www.emacswiki.org/emacs/MicroEmacs&#34;&gt;MiroEmacs&lt;/a&gt; display hacks.  When the Amiga came
out Steve convinced me to buy one (it was that or the AtariST, he
had and was hacking on both).  But there was no Emacs.  Somehow
(Steve?) I became aware that the source to MicroEmacs was included
on with the disks to Mark Williams C compiler for the PC.  So I bought
the C compiler, ported the source to the Amiga (all it needed was
character I/O drivers to work in the native ANSI/VT-100 terminal)
and gave the source to Steve, who, I think, hacked/improved the
screen update logic.  I then posted the source to the USENET group
comp.sources.amiga. It took off from there (thanks to Daniel
Lawerence).  It&amp;rsquo;s rumored that Linus Torvalds uses a version of the
code to this day.&lt;/p&gt;
&lt;h2 id=&#34;compuserve-groundbreaking-events-great-teams-and-amazing-individuals-dot&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;4&lt;/span&gt; CompuServe: Groundbreaking events, great teams and amazing individuals.&lt;/h2&gt;
&lt;p&gt;At the recent (2019-10-19) CompuServe 50th Anniversary reunion I
was reminded of the revolutionary things that happened there: the
first commercial email, the first online banking, the first
online shopping, the first electronic news wire feed, the first
song released exclusively online (Arrowsmith 1994), online chat
(CB), OS and compiler development, VPNs (X.25 !), data over cable
in 82&amp;hellip;.and Dan Piskur inventing what we know today as much of
standard online security, incident response and &amp;ldquo;cyber&amp;rdquo;/law
enforcement collaboration, all before the Internet.&lt;/p&gt;
&lt;p&gt;Of course it all took the efforts of many people and groups:  the
network software team (packet switching c.a. 1972, take that
DARPA), the &amp;ldquo;monitor group&amp;rdquo; (TOPS-10 OS development),
MicroComputer Software (terminal emulators forever !), large
systems software (billing et. al.), and of course the genius of
the founders (John Goltz) and the vision of Jeff Wilkins (CEO
1970-1985).&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a lot to be said for being in the right place at the
right time, and for having a team, but many things do not happen
without the essential contributions of amazing individuals.&lt;/p&gt;
&lt;p&gt;Thanks Steve.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:shirt&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/compuserveshirt.gif&#34; alt=&#34;Figure 2: It all started&amp;hellip;&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;It all started&amp;hellip;
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Steve corrected me.  There were never actually plans to write
an Ada compiler.  But I was unaware of the XBASIC compiler.   So 3
compilers in all.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Steve informs me he was NOT pulled into the WOW project.  Maybe
the outcome would have been better if he had&amp;hellip;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Poetry in the trash</title>
      <link>http://curious.galthub.com/blog/poetry-in-the-trash/</link>
      <pubDate>Wed, 29 Apr 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/poetry-in-the-trash/</guid>
      <description>&lt;p&gt;A few years ago, my mother went through the effects of her cousin
after she died.  It turns out Thelma Jane wrote poetry.  Nobody knew.
It wound up in the trash.&lt;/p&gt;
&lt;p&gt;Thelma lived alone.  Her husband had died in his 40s.  They had no
children. Her mother, my great-aunt Bess, lived to 102 and took her
first motorcycle ride at 100.  My mom had to go through Thelma&amp;rsquo;s stuff
and Aunt Bess&amp;rsquo; stuff, most of which Thelma still had.  I now have some
of the leftovers.  But nobody wanted the poetry.  So it&amp;rsquo;s gone.&lt;/p&gt;
&lt;p&gt;This brings me to the question this article explores: &lt;em&gt;why write&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;#100daystooffload #whywrite #poetry&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Permanence?&lt;/dt&gt;
&lt;dd&gt;Thelma&amp;rsquo;s poetry is gone.  Even names carved on
tombstones crumble with time.  If your writing is very good (see,
e.g., Virgil and Cicero) and you&amp;rsquo;re lucky (see scribes in Celtic
monasteries) your scribblings on paper, velum or in cyberspace
might last the centuries and inspire other writers (see Dante).&lt;/dd&gt;
&lt;dt&gt;Therapy?&lt;/dt&gt;
&lt;dd&gt;I&amp;rsquo;ve been journaling (on paper) for a month or so.   I find
the process quite creative and even cathartic.  And there is
something freeing about being able to scribble, erase, underline,
circle, draw arrows from one idea to the next, and in processing
information a non-linear fashion.  Unexpected connections can be
made.  I&amp;rsquo;m a huge fan of &lt;a href=&#34;https://orgmode.org/&#34;&gt;emacs org mode&lt;/a&gt; (this blog post is being
written in org mode exported using &lt;a href=&#34;https://ox-hugo.scripter.co/&#34;&gt;ox-hugo&lt;/a&gt; to export a &lt;a href=&#34;https://gohugo.io/&#34;&gt;hugo&lt;/a&gt; static
web site hosted on &lt;a href=&#34;https://pages.github.com/&#34;&gt;Github pages&lt;/a&gt;, but even using the best of
digital writing tools, there is something not quite as free about
it.  There is something mentally relaxing about writing on paper
(and going for long walks).&lt;/dd&gt;
&lt;dt&gt;Learning?&lt;/dt&gt;
&lt;dd&gt;You learn by doing.  The process of writing (can)
help you organize thoughts.  You often have to research things.
Putting ideas out there opens you up to criticism.  You have to
defend or modify your position.   It can be a starting point for
conversation.&lt;/dd&gt;
&lt;dt&gt;Social Connections?&lt;/dt&gt;
&lt;dd&gt;See Facebook, Twitter, et al.  For all
their downsides, there is no denying that writing, even the at the
banal and everyday level of much of &amp;ldquo;social media&amp;rdquo; generates
connections.   I prefer to think it will allow me to maintain
meaningful connections to people who are important to me in life,
but my writing may not, in fact, be that noble.&lt;/dd&gt;
&lt;dt&gt;Hubris?&lt;/dt&gt;
&lt;dd&gt;Pride?  Vanity?  Self-importance?  Self-absorption?
These are all possibilities.&lt;/dd&gt;
&lt;dt&gt;Professional Reasons?&lt;/dt&gt;
&lt;dd&gt;I sometimes write on professional topics, see
&lt;a href=&#34;http://curious.galthub.com/blog/cybersecurity-and-bears/&#34;&gt;Bears Attacks and Cybersecurity&lt;/a&gt;  and &lt;a href=&#34;https://eludom.github.io/blog/reproducable-security-analytics/&#34;&gt;Reproducable Security Analytics&lt;/a&gt;.
A mix of the same motivations is often in play.&lt;/dd&gt;
&lt;dt&gt;To kill time?&lt;/dt&gt;
&lt;dd&gt;In this busy world we don&amp;rsquo;t often feel that we
have time to kill.  We don&amp;rsquo;t sit on our front porch watching the
world go by (and, in fact, it&amp;rsquo;s been a hundred years or so since
the front porch featured prominently in residential architecture,
at least in the USA.), and even Baseball, the &amp;ldquo;national pass-time&amp;rdquo;
is looking for ways to speed up the game for a public that has
lost patience.   Maybe we need to slow down and focus on important
things, or just enjoyable things.   Writing may be one of those
things.&lt;/dd&gt;
&lt;dt&gt;A habit?&lt;/dt&gt;
&lt;dd&gt;For some people, writing is a habit.  I think that may
be one of the goals of the &lt;a href=&#34;https://100daystooffload.com/&#34;&gt;#100DaysToOffload concept&lt;/a&gt;.  I&amp;rsquo;m going
to give it a try.  Thanks &lt;a href=&#34;https://kevq.uk/&#34;&gt;Kev Quirk&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;I&amp;rsquo;ll never know why Thelma Jane wrote her poetry.  I&amp;rsquo;m still trying to
figure out why I write.  Maybe it&amp;rsquo;s one of the reasons discussed
above.  Maybe it&amp;rsquo;s all of them.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Digital chimney smoke?</title>
      <link>http://curious.galthub.com/blog/digital-chimney-smoke/</link>
      <pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
      
      <guid>http://curious.galthub.com/blog/digital-chimney-smoke/</guid>
      <description>&lt;p&gt;Daniel Boone is quoted (via Hubert Humphrey) as saying&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;when he could see the smoke from another chimney, felt himself too
crowded and moved further out into the wilderness.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mark Twain said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Whenever you find yourself on the side of the majority, it is time to pause and reflect.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I was on email as early as 1980 on a DEC20. I was on Usenet news
when it was the digital frontier and on the Internet in the
mid-80s, 10 years or so before the Web.  I helped bring America
online working at CompuServe before America Online existed.  I
quit Facebook in the run-up to the 2016 election as it got too
political and now I find that my main digital platform (Twitter)
is home to the daily, um, ?sophisms? of the President who spawned
the political rhetoric I fled.&lt;/p&gt;
&lt;p&gt;Is it time to move on?  Time to find another avant-guard tech hole
to clime into?  Thanks to the Internet there are infinitely more
options than just the dial-up BBS systems of the early 80s.&lt;/p&gt;
&lt;p&gt;I was a little sad to loose contact with all the elementary school
friends that Facebook enabled me to reconnect with after 40 years
(OK, not really) and I would be sad too loose touch with the zany
&lt;a href=&#34;https://twitter.com/search?q=%2523classicstwitter&amp;amp;src=typed_query&#34;&gt;#ClassicsTwitter&lt;/a&gt; crowd (&lt;a href=&#34;https://twitter.com/aeneasgoogling&#34;&gt;aeneasgoogling apud elysium&lt;/a&gt; I&amp;rsquo;m looking at
you) that tweets in Latin.&lt;/p&gt;
&lt;p&gt;Where to go?  Maybe just pick up stakes, head west and see where I
find myself?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>All is not doom and gloom: go for a walk !!!</title>
      <link>http://curious.galthub.com/blog/go-for-a-walk/</link>
      <pubDate>Sat, 25 Apr 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/go-for-a-walk/</guid>
      <description>&lt;p&gt;I find that when I stay glued to twitter (pick your
social-media-of-doom-amplifier) I tend to get a rather gloomy view of
life.  There is indeed a lot one can be gloomy about these days.  But
if you just go for a walk and look around you may be
surprised:&lt;/p&gt;
&lt;p&gt;I found this art &lt;a href=&#34;#figure--pic:sidewalk-art&#34;&gt;sidewalk art&lt;/a&gt; at just about the exact place where last
fall I had purchased a cup of lemonade from 4 eager young
entrepreneurs.  I suspect the ring leader of that optimistic young
bunch.&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:sidewalk-art&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/sidewalk-art.jpg&#34; alt=&#34;Figure 1: Sidewalk art&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 1: &lt;/span&gt;Sidewalk art
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Spring is the best time of year.  The daffodils bloom, &lt;a href=&#34;#figure--pic:dogwoods&#34;&gt;dogwoods are in
full bloom&lt;/a&gt;, red-bud trees come out, the tree-frogs sing up a storm (at
least that&amp;rsquo;s how it goes in Virginia)&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:dogwoods&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/dogwood.jpg&#34; alt=&#34;Figure 2: Dogwoods in bloom&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 2: &lt;/span&gt;Dogwoods in bloom
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;I recently had my yard re-graded and re-seeded and now, after 17 years
I have &lt;a href=&#34;#figure--pic:grass&#34;&gt;full luscious grass&lt;/a&gt; (that has to be mowed).  This may not happen
again:&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:grass&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/grass.jpg&#34; alt=&#34;Figure 3: Actual grass&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 3: &lt;/span&gt;Actual grass
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;And last but not least I saw a bird I don&amp;rsquo;t think I&amp;rsquo;ve seen before,
it turned out to be a common &lt;a href=&#34;#figure--pic:tree-swallow&#34;&gt;tree swallow&lt;/a&gt;, but it was startling to see
the almost metallic, shinny dark blue back and white belly (the
picture does not capture it well)&lt;/p&gt;
&lt;p&gt;&lt;a id=&#34;figure--pic:tree-swallow&#34;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/ox-hugo/tree-swallow.jpg&#34; alt=&#34;Figure 4: Tree Swallow (Tachycineta bicolor)&#34;/&gt; &lt;figcaption&gt;
                
                &lt;p&gt;
                    &lt;span class=&#34;figure-number&#34;&gt;Figure 4: &lt;/span&gt;Tree Swallow (&lt;em&gt;Tachycineta bicolor&lt;/em&gt;)
                    
                        
                        &lt;/p&gt;
                
            &lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;Go for a walk.  Look at the world around you.  It&amp;rsquo;s spring.  All is
not doom and gloom!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Some Happy Notes</title>
      <link>http://curious.galthub.com/blog/happy-notes/</link>
      <pubDate>Tue, 21 Apr 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/happy-notes/</guid>
      <description>&lt;p&gt;And on a happy note&amp;hellip;my son Bryan has finished his Masters of
Piano Performance at Duquesne University and will be headed to
Penn State to pursue a Doctor of Musical Arts.  You can watch
listen to &lt;a href=&#34;https://www.youtube.com/playlist?list=PLp9RFZrc7DMtCEg0SmtEL5weDiTis3rH5&#34;&gt;Bryan Jones&amp;rsquo; masters degree piano recitle at Duquesne&lt;/a&gt; on
Youtube.&lt;/p&gt;



&lt;figure&gt;
    
        &lt;img src=&#34;http://curious.galthub.com/blog/happy-notes/static/bryan.png&#34;/&gt; &lt;/figure&gt;

&lt;h2 id=&#34;bryan-s-music&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Bryan&amp;rsquo;s Music&lt;/h2&gt;
&lt;p&gt;The corona virus has wreaked havoc with many things, not the least
of which is the performing arts, but, as they say, &amp;ldquo;the show must
go on&amp;rdquo;.  The program was to have been a live performance, but
things being what they are (social distancing) recordings where
made to satisfy the requirement.&lt;/p&gt;
&lt;p&gt;The program includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Schumann: Symphonic Etudes, Op. 13 (original version, 1837)&lt;/li&gt;
&lt;li&gt;Debussy: Images Book II - I. Cloches à travers les feuilles&lt;/li&gt;
&lt;li&gt;Debussy: Images Book II - II. Et la lune descend sur le temple qui fut&lt;/li&gt;
&lt;li&gt;Debussy: Images Book II - III. Poissons d&amp;rsquo;or&lt;/li&gt;
&lt;li&gt;Ginastera: Piano Sonata #1, Op. 22 - I. Allegro marcato&lt;/li&gt;
&lt;li&gt;Ginastera: Piano Sonata #1, Op. 22 - II. Presto misterioso&lt;/li&gt;
&lt;li&gt;Ginastera: Piano Sonata #1, Op. 22 - III. Adagio molto appassionato&lt;/li&gt;
&lt;li&gt;Ginastera: Piano Sonata #1, Op. 22 - IV. Ruvido ed ostinato&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I particularly like the Debussy.&lt;/p&gt;
&lt;h2 id=&#34;other-happy-notes&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Other Happy Notes&lt;/h2&gt;
&lt;p&gt;My other son Daniel is finishing out his junior year at Cedarville
from home.  Bryan&amp;rsquo;s girlfriend (also graduating from Duquesne) will
again spend the summer doing something she loves, counting birds for
Bird Conservancy of the Rockies.  A &amp;ldquo;kid&amp;rdquo; I knew from scouting is
headed off for a masters in biomedical engineering this fall, and we
may hike together a week or two if possible in June or July.&lt;/p&gt;
&lt;p&gt;Life goes on.   All is not doom and gloom.   There are some happy
notes.  Share some of yours?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Fixing GNU bash associative array insert speed</title>
      <link>http://curious.galthub.com/blog/20200418/</link>
      <pubDate>Sat, 18 Apr 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/20200418/</guid>
      <description>&lt;p&gt;Bash uses linear search to insert values in to associative arrays.
This is all well and good for small numbers of keys.   I was adding
millions&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.    I went poking around the bash source code today
(2020-04-18) to confirm my suspicion and gauge the difficulty of
adding an option to do something more sensible.&lt;/p&gt;
&lt;p&gt;In less than a day after I reported it, there is a patch
&lt;a href=&#34;https://lists.gnu.org/archive/html/bug-bash/2020-04/msg00114.html&#34;&gt;https://lists.gnu.org/archive/html/bug-bash/2020-04/msg00114.html&lt;/a&gt; My
timing code and pre and post patch timings are here:
&lt;a href=&#34;https://github.com/eludom/snippits/tree/master/bash/tests&#34;&gt;https://github.com/eludom/snippits/tree/master/bash/tests&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here the steps I took and where I might go if I get serious about
fixing the problem:&lt;/p&gt;
&lt;h2 id=&#34;get-the-source-code&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; Get the source code&lt;/h2&gt;
&lt;h3 id=&#34;find-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.1&lt;/span&gt; Find it&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;find the homepage&lt;/dt&gt;
&lt;dd&gt;A quick bit of googling lead to the homepage &lt;a href=&#34;http://savannah.gnu.org/projects/bash/&#34;&gt;http://savannah.gnu.org/projects/bash/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;use git&lt;/dt&gt;
&lt;dd&gt;For a minute it looked like GNU was still stuck in the bad old
days of having to download a tarball and then apply a series
of patches, but fortunately, it there is a git repo &lt;a href=&#34;http://savannah.gnu.org/git/?group=bash&#34;&gt;http://savannah.gnu.org/git/?group=bash&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;download-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.2&lt;/span&gt; Download it&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://git.savannah.gnu.org/git/bash.git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;build-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.3&lt;/span&gt; Build it&lt;/h3&gt;
&lt;p&gt;Bash follows a time honored build convention&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./configure
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;analyze-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1.4&lt;/span&gt; Analyze it&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I read the NEWS file for any indication that associative arrays
has been worked on to speed up associative array
insert/look-ups.  No indication that they had.&lt;/li&gt;
&lt;li&gt;I checked the git commit logs, which appear to be meaningful
after Bash-4.4 patch 19.  Nothing.&lt;/li&gt;
&lt;li&gt;With judicious use of grep (&amp;ldquo;grep-find in Emacs&amp;rdquo;) for
&amp;ldquo;associative&amp;rdquo; and &amp;ldquo;hash_search&amp;rdquo; it turns out that associative
array inserts (as all inserts) are done with use of the
&amp;ldquo;hash_search&amp;rdquo; function in &lt;code&gt;hashlib.c&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;has_insert() begins as follows:&lt;/li&gt;
&lt;/ul&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/* Create an entry for STRING, in TABLE.  If the entry already
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   exists, then return it (unless the HASH_NOSRCH flag is set). */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;hash_insert&lt;/span&gt; (string, table, flags)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#66d9ef&#34;&gt;char&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;string;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     HASH_TABLE &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;table;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; flags;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;item;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; bucket;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;unsigned&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; hv;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (table &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    table &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;hash_create&lt;/span&gt; (&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  item &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; (flags &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; HASH_NOSRCH) &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; (BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;)NULL
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                               &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;hash_search&lt;/span&gt; (string, table, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;and there it is, the linear search walking the list in
&lt;code&gt;hash_search()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--listend--&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/* Return a pointer to the hashed item.  If the HASH_CREATE flag is passed,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;   create a new hash table entry for STRING, otherwise return NULL. */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;hash_search&lt;/span&gt; (string, table, flags)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;char&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;string;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     HASH_TABLE &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;table;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; flags;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;list;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; bucket;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;unsigned&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; hv;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (table &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; ((flags &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt; HASH_CREATE) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;HASH_ENTRIES&lt;/span&gt; (table) &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (BUCKET_CONTENTS &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;)NULL;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  bucket &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;HASH_BUCKET&lt;/span&gt; (string, table, hv);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; table&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;bucket_array &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; table&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;bucket_array[bucket] &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; list; list &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; list&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;next)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;/* This is the comparison function */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (hv &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; list&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;khash &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;STREQ&lt;/span&gt; (list&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;key, string))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          list&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;times_found&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; (list);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;next-steps&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2&lt;/span&gt; Next steps&lt;/h2&gt;
&lt;h3 id=&#34;done-reach-out-to-the-maintainers&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.1&lt;/span&gt; DONE Reach out to the maintainers&lt;/h3&gt;
&lt;p&gt;see if they would even entertain the idea of a patch&lt;/p&gt;
&lt;h3 id=&#34;canceled-look-for-appropriate-in-memory-hash-insert-lookup-functions&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.2&lt;/span&gt; CANCELED Look for appropriate in-memory hash insert/lookup functions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;btrees ?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;canceled-code-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.3&lt;/span&gt; CANCELED Code it&lt;/h3&gt;
&lt;h3 id=&#34;canceled-test-it&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.4&lt;/span&gt; CANCELED test it&lt;/h3&gt;
&lt;h3 id=&#34;canceled-submit-patch&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;2.5&lt;/span&gt; CANCELED submit patch&lt;/h3&gt;
&lt;p&gt;See &lt;a href=&#34;https://lists.gnu.org/archive/html/bug-bash/2020-04/msg00114.html&#34;&gt;https://lists.gnu.org/archive/html/bug-bash/2020-04/msg00114.html&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;yes, there are many better tools for this job, but not in the constrained environment where this had to run.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>Bear attacks, no-win situations and cybersecurity</title>
      <link>http://curious.galthub.com/blog/cybersecurity-and-bears/</link>
      <pubDate>Thu, 19 Mar 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/cybersecurity-and-bears/</guid>
      <description>&lt;p&gt;I spend a good amount of time hiking in Shenandoah National Park and
surrounding areas. I&amp;rsquo;ve seen quite a few #bears and I&amp;rsquo;ve followed one
down the trail. I&amp;rsquo;ve been growled at by a mother bear when I
unknowingly came between her and her cubs. This is going somewhere
related to #cybersecurity. I promise.&lt;/p&gt;
&lt;p&gt;You can&amp;rsquo;t outrun a bear. Climbing a tree won&amp;rsquo;t help. If a bear
actually decides to attack you, the odds are not in your favor, but
fortunately they almost never attack. The old joke goes &amp;ldquo;I don&amp;rsquo;t have
to outrun the bear, I just have to outrun you&amp;rdquo; because, presumably the
bear will catch your slower partner, stop, and not bother you when you
both decide to run for it in violation of bear encounter best
practices.&lt;/p&gt;
&lt;p&gt;This hints at any number of cybersecurity principals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Know your threat model.&lt;/li&gt;
&lt;li&gt;Know and follow best practices.&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t let fear (or adrenaline) dictate your response.&lt;/li&gt;
&lt;li&gt;Know and practice situationally appropriate responses (Grizzlies:
if attacked play dead. Black Bear: if attacked fight for your
life)&lt;/li&gt;
&lt;li&gt;Be prepared (bear spray, first aid kit)&lt;/li&gt;
&lt;li&gt;Practice deterrence (make noise, travel in groups)&lt;/li&gt;
&lt;li&gt;Prevention costs less than recovery. By far.&lt;/li&gt;
&lt;li&gt;And, of course, make sure the other guy is an easier target. Run faster if you run. Apply patches, have good backups (Hello, ransomware !), have layers of defense, decoys, monitoring, DLP, practice threat hunting, etc.
For a decade or so, I&amp;rsquo;ve been reflecting on the fact that
defensive cybersecurity is a loosing igame. The red team
(attackers) always win. I don&amp;rsquo;t like no-win situations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&amp;rsquo;s a lesson here:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Don&amp;rsquo;t feed the bears&lt;/dt&gt;
&lt;dd&gt;They become habituated to humans, loose
their inhibition, become a nuisance and sometimes have to be
relocated or killed. Nobody wins.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;OK, not that lesson. Lessons like:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Follow best practices&lt;/dt&gt;
&lt;dd&gt;Following best practices CAN help avoid
problems. Not following best practices WILL invite problems.&lt;/dd&gt;
&lt;dt&gt;Have an incident response plan&lt;/dt&gt;
&lt;dd&gt;If you see a bad thing
happening, if it is coming straight for you, what do you do?&lt;/dd&gt;
&lt;dt&gt;Line up the right resources&lt;/dt&gt;
&lt;dd&gt;Do you know how to triage
wounds? Do you have a cell phone? Are you in range of cell
towers? If not, do you have a SPOT to call for help? Where is
the nearest hospital? Are you prepared to shelter in place if
need be?&lt;/dd&gt;
&lt;dt&gt;It&amp;rsquo;s not just you&lt;/dt&gt;
&lt;dd&gt;Feeding the bears or failing to store food
properly might result in perfectly good backcountry shelters
being torn down. And here we are, 20 or so years after it
became clear that that allowing spoofed packets out of your
network enables #DDoS #attacks and we &lt;strong&gt;still&lt;/strong&gt; do not have
widespread adoption of reverse path forwarding
checks. &lt;strong&gt;Please&lt;/strong&gt; stop spoofed packets at your border !&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;So it maybe true that few people win in the face of an actual attack,
but, it turns out, there are still good reasons to play the game.&lt;/p&gt;
&lt;h2 id=&#34;for-further-reading&#34;&gt;&lt;span class=&#34;section-num&#34;&gt;1&lt;/span&gt; For Further Reading&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;Numbers of bear attacks&lt;/dt&gt;
&lt;dd&gt;In North America, only 2-5 people are killed annually by bears: &lt;a href=&#34;https://www.thealaskalife.com/outdoors/bear-attacks-statistic/&#34;&gt;https://www.thealaskalife.com/outdoors/bear-attacks-statistic/&lt;/a&gt; vs (Worldwide) 10 killed by sharks, 50,000 by snakes and 725,000 by mosquitos. &lt;a href=&#34;https://www.statista.com/chart/2203/the-worlds-deadliest-animals/&#34;&gt;https://www.statista.com/chart/2203/the-worlds-deadliest-animals/&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;U.S. Forrest Service&lt;/dt&gt;
&lt;dd&gt;&amp;ldquo;Be bear aware&amp;rdquo; &lt;a href=&#34;https://www.fs.usda.gov/visit/know-before-you-go/bears&#34;&gt;https://www.fs.usda.gov/visit/know-before-you-go/bears&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Internet safety 101&lt;/dt&gt;
&lt;dd&gt;&amp;ldquo;Internet safety 101: 15 tips to keep your kids and family safe online&amp;rdquo; &lt;a href=&#34;https://us.norton.com/internetsecurity-kids-safety-stop-stressing-10-internet-safety-rules-to-help-keep-your-family-safe-online.html&#34;&gt;https://us.norton.com/internetsecurity-kids-safety-stop-stressing-10-internet-safety-rules-to-help-keep-your-family-safe-online.html&lt;/a&gt;. Sure they want to sell you antivirus software, but this is generally good advice.&lt;/dd&gt;
&lt;dt&gt;Ultimate Guide to Cybersecurity&lt;/dt&gt;
&lt;dd&gt;&amp;ldquo;Your Ultimate Guide to Cybersecurity: At Home, at Work, and on the Go.&amp;rdquo; &lt;a href=&#34;https://www.ibtimes.com/your-ultimate-guide-cybersecurity-home-work-go-2818655&#34;&gt;https://www.ibtimes.com/your-ultimate-guide-cybersecurity-home-work-go-2818655&lt;/a&gt;. A little more in depth.&lt;/dd&gt;
&lt;dt&gt;CIS Critical Controls&lt;/dt&gt;
&lt;dd&gt;&amp;ldquo;The Center for Internet Security (CIS) Critical Security Controls&amp;rdquo; - &lt;a href=&#34;https://www.cisecurity.org/controls/cis-controls-implementation-groups/&#34;&gt;https://www.cisecurity.org/controls/cis-controls-implementation-groups/&lt;/a&gt; More in depth. For enterprises.&lt;/dd&gt;
&lt;/dl&gt;
</description>
    </item>
    
    <item>
      <title>  &#34;​I&#39;m passionate about…&#34;​
  </title>
      <link>http://curious.galthub.com/blog/im-passionate-about/</link>
      <pubDate>Mon, 09 Mar 2020 00:00:00 -0400</pubDate>
      
      <guid>http://curious.galthub.com/blog/im-passionate-about/</guid>
      <description>&lt;p&gt;&amp;ldquo;I&amp;rsquo;m passionate about&amp;hellip;&amp;rdquo; I&amp;rsquo;ve always hated that phrase. Because I
thought it was fake. I thought it was trendy. I&amp;rsquo;ve reflexively reacted
against trendy things for decades. Pet Rocks, Disco, TED talks,
cryptocurrency&amp;hellip; But I am coming to see what the phrase is getting
at. And I think I like it.&lt;/p&gt;
&lt;p&gt;In a work world where human beings are called &amp;ldquo;resources&amp;rdquo;, where
intelligent, creative, inquisitive, motivated people are subjected to
management practices derived from 19th century steel mills and
automotive assembly line production, the phrase &amp;ldquo;I&amp;rsquo;m passionate
about&amp;hellip;&amp;rdquo; is (can be) an attempt to re-assert humanity.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve just finished reading &lt;a href=&#34;https://www.amazon.com/Long-Live-Latin-Pleasures-Language/dp/0374284520#ace-8881249860&#34;&gt;Long Live Latin: The Pleasures of a Useless
Language&lt;/a&gt; . For no good reason. Again and again, it raises the question
of what it means to be human: to be joyful, spontaneous, creative,
inquisitive, fulfilled, to discover, to appreciate beauty, music, art,
language, and poetry (yes, I have a liberal arts degree)&lt;/p&gt;
&lt;p&gt;I guess if I had to say what I&amp;rsquo;m passionate about, it&amp;rsquo;s about being
human and treating other people as humans. To put a professional spin
on it &amp;ldquo;I am passionate about collaborating with technical people to
find creative solutions to important problems.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Go learn a useless language. Climb a mountain and enjoy the
view. Spend time playing games with your family. Be human. Be
passionate. Carpe diem.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>  &#34;​Reproducible security analytics?&#34;
  </title>
      <link>http://curious.galthub.com/blog/reproducable-security-analytics/</link>
      <pubDate>Tue, 25 Feb 2020 00:00:00 -0500</pubDate>
      
      <guid>http://curious.galthub.com/blog/reproducable-security-analytics/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m looking for repositories of &amp;ldquo;reproducible security analytics&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;As an addict of &lt;a href=&#34;https://www.gnu.org/software/emacs/&#34;&gt;Emacs&lt;/a&gt; &lt;a href=&#34;https://orgmode.org/&#34;&gt;Org mode&lt;/a&gt;, one of the papers that got me started
thinking along these lines was &lt;a href=&#34;https://www.jstatsoft.org/article/view/v046i03/v46i03.pdf&#34;&gt;A Multi-Language Computing Environment
for Literate Programming and Reproducible Research&lt;/a&gt;. I realize for most
of the rest of the world this vision is now realized more in things
like Jupyter and Zeppelin notebooks. Your loss :-)&lt;/p&gt;
&lt;p&gt;One thing that looks promising is &lt;a href=&#34;https://car.mitre.org/&#34;&gt;mitre&amp;rsquo;s cyber analytics
repository&lt;/a&gt;. Another is &lt;a href=&#34;https://github.com/hunters-forge/mordor&#34;&gt;Hunters Forge/Mordor&lt;/a&gt; I&amp;rsquo;d be interested in
pointers to more.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
