<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Self-Amusement Park</title>
    <description></description>
    <link>https://selfamusementpark.com/</link>
    <atom:link href="https://selfamusementpark.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 30 Dec 2021 19:26:36 -0800</pubDate>
    <lastBuildDate>Thu, 30 Dec 2021 19:26:36 -0800</lastBuildDate>
    <generator>Jekyll v4.2.1</generator>
    
      <item>
        <title>Starting a new project</title>
        <description>
          
          &lt;p&gt;&lt;a href=&quot;https://www.vansaircraft.com/rv-12is/&quot; target=&quot;\_blank&quot;&gt;
&lt;img src=&quot;https://www.vansaircraft.com/wp-content/uploads/2019/01/RV-12iS_1.jpg&quot; class=&quot;content-width&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A long time ago, I was an amateur aviator: in the late 80’s, I
learned to fly and got my instrument rating, bought an airplane,
and flew it around the country a few times. I even volunteered at
AirVenture, the big Experimental Aircraft Association convention
and fly-in in Oshkosh, Wisconsin: my friend Andy and I provided
computer support to the homebuilt judging group for almost a decade.
I got to see a lot of great homebuilt airplanes, but didn’t want
to build one myself; I just wanted to fly the plane I had.&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/airplane/new-project&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Thu, 30 Dec 2021 00:00:00 -0800</pubDate>
        <link>https://selfamusementpark.com/airplane/new-project</link>
        <guid isPermaLink="true">https://selfamusementpark.com/airplane/new-project</guid>
        
        
        <category>Airplane</category>
        
      </item>
    
      <item>
        <title>A Christmas Tradition, from 1985 &amp; 1986</title>
        <description>
          
          &lt;p&gt;&lt;a href=&quot;/images/2015/03/85_aakdv.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/85_aakdv.jpg&quot; alt=&quot;1983 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/images/2015/03/86_bbgwt.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/86_bbgwt.jpg&quot; alt=&quot;1983 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuing the tradition I started thirteen years ago, here are my Dad’s thirteenth
and fourteenth
“obscure” Christmas cards, from 1985 (left) &amp;amp; 1986 (right).&lt;/p&gt;

&lt;p&gt;You get two this year, because I somehow forgot to post one last year. Again. I blame the pandemic.&lt;/p&gt;

&lt;p&gt;(The 1985 image is slightly corrupted at the bottom, but nothing important is missing; the crates
at the bottom are labeled “Food for Europe”. Also, that’s an actual wide rubber band around the
1986 card.)&lt;/p&gt;

&lt;p&gt;Previously:
&lt;a href=&quot;/a-christmas-tradition-from-1983-and-1984&quot;&gt;1983/1984&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1982&quot;&gt;1982&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1981&quot;&gt;1981&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1980&quot;&gt;1980&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1979&quot;&gt;1979&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1978&quot;&gt;1978&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1977&quot;&gt;1977&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1976&quot;&gt;1976&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1975&quot;&gt;1975&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1974&quot;&gt;1974&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1973&quot;&gt;1973&lt;/a&gt;&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/christmas/a-christmas-tradition-from-1985-and-1986&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Thu, 23 Dec 2021 17:50:00 -0800</pubDate>
        <link>https://selfamusementpark.com/christmas/a-christmas-tradition-from-1985-and-1986</link>
        <guid isPermaLink="true">https://selfamusementpark.com/christmas/a-christmas-tradition-from-1985-and-1986</guid>
        
        
        <category>Christmas</category>
        
      </item>
    
      <item>
        <title>A Christmas Tradition, from 1983 &amp; 1984</title>
        <description>
          
          &lt;p&gt;&lt;a href=&quot;/images/2015/03/83_xgekt.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/83_xgekt.jpg&quot; alt=&quot;1983 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/images/2015/03/84_jmnhf.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/84_jmnhf.jpg&quot; alt=&quot;1983 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuing the tradition I started eleven years ago, here are my Dad’s eleventh
and twelfth
“obscure” Christmas cards, from 1983 (left) &amp;amp; 1984 (right).&lt;/p&gt;

&lt;p&gt;You get two this year, because I somehow forgot to post one last year.&lt;/p&gt;

&lt;p&gt;(The images are slightly corrupted at the bottom, but nothing important is missing.)&lt;/p&gt;

&lt;p&gt;Previously:
&lt;a href=&quot;/a-christmas-tradition-from-1982&quot;&gt;1982&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1981&quot;&gt;1981&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1980&quot;&gt;1980&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1979&quot;&gt;1979&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1978&quot;&gt;1978&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1977&quot;&gt;1977&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1976&quot;&gt;1976&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1975&quot;&gt;1975&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1974&quot;&gt;1974&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1973&quot;&gt;1973&lt;/a&gt;&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/christmas/a-christmas-tradition-from-1983-and-1984&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Fri, 20 Dec 2019 17:50:00 -0800</pubDate>
        <link>https://selfamusementpark.com/christmas/a-christmas-tradition-from-1983-and-1984</link>
        <guid isPermaLink="true">https://selfamusementpark.com/christmas/a-christmas-tradition-from-1983-and-1984</guid>
        
        
        <category>Christmas</category>
        
      </item>
    
      <item>
        <title>What I did over the weekend</title>
        <description>
          
          &lt;p&gt;TL;DR: I had a heart attack; looks like I’m gonna be fine.&lt;/p&gt;

&lt;p&gt;Updated 8/29: TL;DR: I’m home, feeling fine; more details added, too.&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/general/heart-attack&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Thu, 29 Aug 2019 17:11:00 -0700</pubDate>
        <link>https://selfamusementpark.com/general/heart-attack</link>
        <guid isPermaLink="true">https://selfamusementpark.com/general/heart-attack</guid>
        
        
        <category>General</category>
        
      </item>
    
      <item>
        <title>A Christmas Tradition, from 1982</title>
        <description>
          
          &lt;p&gt;&lt;a href=&quot;/images/2015/03/82_lwtdf.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/82_lwtdf.jpg&quot; alt=&quot;1982 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuing the tradition I started nine years ago, here’s my Dad’s tenth
“obscure” Christmas card, from 1982.&lt;/p&gt;

&lt;p&gt;The image is corrupted at the bottom, but the damaged portion contains a hint: his name, “John F. Stearns”, has the first S in Stearns replaced by a treble clef.&lt;/p&gt;

&lt;p&gt;Previously:
&lt;a href=&quot;/a-christmas-tradition-from-1981&quot;&gt;1981&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1980&quot;&gt;1980&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1979&quot;&gt;1979&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1978&quot;&gt;1978&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1977&quot;&gt;1977&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1976&quot;&gt;1976&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1975&quot;&gt;1975&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1974&quot;&gt;1974&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1973&quot;&gt;1973&lt;/a&gt;&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/christmas/a-christmas-tradition-from-1982&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Thu, 21 Dec 2017 17:13:20 -0800</pubDate>
        <link>https://selfamusementpark.com/christmas/a-christmas-tradition-from-1982</link>
        <guid isPermaLink="true">https://selfamusementpark.com/christmas/a-christmas-tradition-from-1982</guid>
        
        
        <category>Christmas</category>
        
      </item>
    
      <item>
        <title>How I Spent My Twitter Vacation</title>
        <description>
          
          &lt;p&gt;Maybe you haven’t noticed, but I’ve been taking a vacation from Twitter for the last month. Just after October first, I noticed that my timeline was almost entirely bad (and/or fake) news: Trump, Weinstein, white supremacy, etc.; it had ceased to be a way to keep up to date with the fun things my friends were doing.&lt;/p&gt;

&lt;p&gt;Further, it had become a “time sponge”: whenever I had an unoccupied moment (which I have a lot of, given my continuing funemployment), I’d whip out my phone and catch up on Twitter.&lt;/p&gt;

&lt;p&gt;So I decided to take a break, and uninstalled the Twitter app from my devices; here’s what I learned:&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/general/how-i-spent-my-twitter-vacation&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Sun, 05 Nov 2017 11:31:23 -0800</pubDate>
        <link>https://selfamusementpark.com/general/how-i-spent-my-twitter-vacation</link>
        <guid isPermaLink="true">https://selfamusementpark.com/general/how-i-spent-my-twitter-vacation</guid>
        
        
        <category>General</category>
        
      </item>
    
      <item>
        <title>A Christmas Tradition, from 1981</title>
        <description>
          
          &lt;p&gt;&lt;a href=&quot;/images/2015/03/81_pqidy.jpg&quot;&gt;
  &lt;img src=&quot;/images/2015/03/81_pqidy.jpg&quot; alt=&quot;1981 Christmas Card&quot; class=&quot;thumb&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuing the tradition started eight years ago, here’s my Dad’s ninth
“obscure” Christmas card, from 1981.&lt;/p&gt;

&lt;p&gt;No, I didn’t recognize all three of the ladies’ names at the time, but I still got the message!&lt;/p&gt;

&lt;p&gt;Previously:
&lt;a href=&quot;/a-christmas-tradition-from-1980&quot;&gt;1980&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1979&quot;&gt;1979&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1978&quot;&gt;1978&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1977&quot;&gt;1977&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1976&quot;&gt;1976&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1975&quot;&gt;1975&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1974&quot;&gt;1974&lt;/a&gt;
&lt;a href=&quot;/a-christmas-tradition-from-1973&quot;&gt;1973&lt;/a&gt;&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/christmas/a-christmas-tradition-from-1981&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Thu, 15 Dec 2016 13:25:20 -0800</pubDate>
        <link>https://selfamusementpark.com/christmas/a-christmas-tradition-from-1981</link>
        <guid isPermaLink="true">https://selfamusementpark.com/christmas/a-christmas-tradition-from-1981</guid>
        
        
        <category>Christmas</category>
        
      </item>
    
      <item>
        <title>Profiling a Slow Elixir Test</title>
        <description>
          
          &lt;p&gt;I noticed that a couple of tests in my current Elixir project were a little
slow, so I set out to find a way to profile them… I quickly found this &lt;a href=&quot;http://learningelixir.joekain.com/profiling-elixir/&quot;&gt;this
helpful blog post&lt;/a&gt; (thanks, Joseph Kain!), and tried out &lt;a href=&quot;https://github.com/parroty/exprof&quot;&gt;ExProf&lt;/a&gt; — but afterward, like
Joseph said, “At this point I was a little confused by the results.”&lt;/p&gt;

&lt;p&gt;So I kept reading Joseph’s post, wherein he tried out Erlang’s &lt;a href=&quot;http://erlang.org/doc/man/fprof.html&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fprof&lt;/code&gt;&lt;/a&gt;. This looked better (as
he says) because &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fprof&lt;/code&gt; supports display of call chains, providing a lot more
useful context. Better still, I found &lt;a href=&quot;http://learningelixir.joekain.com/mix-profile/&quot;&gt;his followup post&lt;/a&gt; that
taught me about how recent versions of Elixir come with a Mix task (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mix profile.fprof&lt;/code&gt;) for profiling that produces friendlier output.&lt;/p&gt;

&lt;p&gt;The Mix task didn’t give me an easy way to wrap a slow test, though: it’s good
for measuring an easily-isolatable bit of code like a single function, but
sometimes tests involve setup that’s harder to isolate… so I cooked up this
little macro and dropped it into my project’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;test/test_helper.exs&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;defmodule FProf do
  defmacro profile(do: block) do
    content = quote do
      Mix.Tasks.Profile.Fprof.profile(fn -&amp;gt; unquote(block) end,
        warmup: false, sort: &quot;acc&quot;, callers: true)
    end
    Code.compile_quoted(content)
  end
end
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&amp;hellip; (&lt;a href=&quot;/coding/profiling-a-slow-elixir-test&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Wed, 14 Dec 2016 21:19:04 -0800</pubDate>
        <link>https://selfamusementpark.com/coding/profiling-a-slow-elixir-test</link>
        <guid isPermaLink="true">https://selfamusementpark.com/coding/profiling-a-slow-elixir-test</guid>
        
        
        <category>Coding</category>
        
      </item>
    
      <item>
        <title>A Nerves tidbit</title>
        <description>
          
          &lt;p&gt;I’ve been working on learning the Elixir programming language for the last several months, and after returning from ElixirConf a few weeks ago, I was inspired to try a small project with Nerves, a platform for building Elixir applications on small devices like the Raspberry Pi.&lt;/p&gt;

&lt;p&gt;Nerves provides a toolchain for building on the Mac which results in it writing a bootable microSD card that I boot in the Pi to try out my code. There’s a lot of complexity in what Nerves is doing for me, but one little bit (not Nerves’ fault!) annoyed me: I had to enter my login password every few minutes when Nerves wanted to write to the microSD card.&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;I just found a way around this. The build command I use, every time I want to make a change, is this (I’ve broken it onto multiple lines for clarity) –&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;(cd apps/project &amp;amp;&amp;amp;              # switch into my app
MIX_ENV=prod mix firmware &amp;amp;&amp;amp;     # build the disk image

(until [ -d /Volumes/BOOT ];     # wait for me to reinsert the card
 do sleep 1;
done) &amp;amp;&amp;amp;

sudo chmod go+rw /dev/rdisk2 &amp;amp;&amp;amp;  # Make the raw disk image writable

MIX_ENV=prod mix firmware.burn -d /dev/rdisk2 &amp;amp;&amp;amp;  # write to the SD card

sync &amp;amp;&amp;amp;                          # flush changes - I'm paranoid
sleep 1)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo chmod&lt;/code&gt; command is the point of this post: without it, every time I did a new build, I had to enter my password, because Nerves invokes a tool called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fwup&lt;/code&gt; to write the image, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fwup&lt;/code&gt; uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;authopen&lt;/code&gt; to get authenticated access to the raw file. This permissions fix has to be done every time the microSD card is reinserted. (I’ve already set up my &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/sudoers&lt;/code&gt; file to allow me to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo&lt;/code&gt; without entering my password each time.)&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/coding/nerves-vs-authopen&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Sun, 02 Oct 2016 13:24:04 -0700</pubDate>
        <link>https://selfamusementpark.com/coding/nerves-vs-authopen</link>
        <guid isPermaLink="true">https://selfamusementpark.com/coding/nerves-vs-authopen</guid>
        
        
        <category>Coding</category>
        
      </item>
    
      <item>
        <title>Decades</title>
        <description>
          
          &lt;p&gt;&lt;img src=&quot;/images/2016/06/badge.png&quot; alt=&quot;1981 Badge&quot; class=&quot;thumb&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This Friday is the 35th anniversary of my start at Apple. I landed there in a summer intern job as an 18-year old, with a few years of Apple II hacking and a little community college under my belt; I didn’t even know it was an intern job until HR asked why I was still there in November, but my bosses Bob Martin &amp;amp; Taylor Pohlman smoothed things over, and I got to stay (Thanks, Bob &amp;amp; Taylor!).&lt;/p&gt;
&amp;hellip; (&lt;a href=&quot;/general/decades&quot;&gt;read more&lt;/a&gt;)
        </description>
        <pubDate>Wed, 29 Jun 2016 17:00:04 -0700</pubDate>
        <link>https://selfamusementpark.com/general/decades</link>
        <guid isPermaLink="true">https://selfamusementpark.com/general/decades</guid>
        
        
        <category>General</category>
        
      </item>
    
  </channel>
</rss>
