<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>iffy can</title>
    <description>This is Matt Haggard&apos;s personal website. I&apos;m a dad, who studied Electrical Engineering and programs for a living.  I&apos;m a member of &lt;a href=&quot;http://www.lds.org&quot;&gt;The Church of Jesus Christ of Latter-day Saints&lt;/a&gt; and some people call my Iffy.
</description>
    <link>http://www.iffycan.com/</link>
    <atom:link href="http://www.iffycan.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 14 Aug 2025 13:03:03 +0000</pubDate>
    <lastBuildDate>Thu, 14 Aug 2025 13:03:03 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>The Wright Brothers</title>
        <description>&lt;p&gt;What a pleasant and inspiring read David McCullough’s &lt;i&gt;The Wright Brothers&lt;/i&gt; was!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/wrightbros/kittyhawk.jpg&quot; alt=&quot;The Wright Brothers flying at Kitty Hawk&quot; /&gt;
Photo by &lt;a href=&quot;https://unsplash.com/@historyhd?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&quot;&gt;History in HD&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/photos/white-metal-fence-on-white-sand-during-daytime-2MUqdhKBMzw?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash&quot;&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here some of my favorite snippets, for you to enjoy, but also for me to remember:&lt;/p&gt;

&lt;h2 id=&quot;hard-work&quot;&gt;Hard work&lt;/h2&gt;

&lt;p&gt;When at Kitty Hawk, the brothers had “help” from one person that turned out to be more talk than walk:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As tiresome as anything for the sons of Bishop Wright was to hear Huffaker go on about “character building,” rather than hard work, being the great aim in life. The more they learned about the glider he had designed and planned to test but never did, the more they considered it a joke. (p. 60)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I had to stop and think a bit about what they meant by differentiating “character building” and “hard work.” My conclusion is that character building is focused on self-improvement and becoming better, while hard work is focused on making things happen with any improved character being a natural side effect. That seems like an appropriate focus.&lt;/p&gt;

&lt;p&gt;John T. Daniels on witnessing the first flight said&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It wasn’t luck that made them fly; it was hard work and common sense; they put their whole heart and soul and all their energy into an idea and they had the faith. (p. 108)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;smarter&quot;&gt;Smarter&lt;/h2&gt;

&lt;p&gt;Speaking about the Flyer III:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“The best dividends on the labor invested,” they said, “have invariably come from seeking more knowledge rather than more power.” (p. 125)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;independent-focus&quot;&gt;Independent focus&lt;/h2&gt;

&lt;p&gt;At Fort Myer, many important U.S. politicians left work to come see the brothers fly. But after they had all gathered, the brothers canceled the flight due to bad weather:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;No one with a keen sense of dramatic effect, wrote the &lt;em&gt;Washington Herald,&lt;/em&gt; could have created a better scene to demonstrate the “utter immunity of the two brothers from the fumes of importunity and the intoxication of an august assemblage.”&lt;/p&gt;

  &lt;p&gt;[one senator] was heard to say of the brothers, “I’m damned if I don’t admire their independence. We don’t mean anything to them, and there are a whole lot of reasons why we shouldn’t.” (p. 235)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;things-and-men&quot;&gt;Things and men&lt;/h2&gt;

&lt;p&gt;After their many successes, they got bogged down with lawsuits and business affairs. Wilbur had this thought:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“When we think what we might have accomplished if we had been able to devote this time to experiments,” Wilbur wrote to a friend in France, “we feel very sad, but it is always easier to deal with things than with men, and no one can direct his life entirely as he would choose.” (p. 255)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Oftentimes I also feel that &lt;em&gt;things&lt;/em&gt; are easier to deal with than &lt;em&gt;men.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;dishes&quot;&gt;Dishes&lt;/h2&gt;

&lt;p&gt;Perhaps the most surprising nugget that has stuck with me was what the brothers did immediately after being the first humans to successfully fly with control:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;For their part Wilbur and Orville fixed and ate some lunch, then washed the dishes before walking four miles to the Kitty Hawk weather station to send a telegram home. (p. 106)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The older I get, the more I realize that happiness in life is proportional to your willingness to just do the dishes.&lt;/p&gt;
</description>
        <pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2025/08/14/wrightbros.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2025/08/14/wrightbros.html</guid>
        
        <category>book</category>
        
        
      </item>
    
      <item>
        <title>Paper Planner</title>
        <description>&lt;p&gt;For the first time since college, I’m using a paper planner. And I love it! I’d forgotten how great a paper planner can be.&lt;/p&gt;

&lt;p&gt;Several months ago I happened upon my friend, Jake Parker’s livestream about the planner he makes. &lt;a href=&quot;https://mrjakeparker.gumroad.com/l/Project-Focused-Planner&quot;&gt;:point_right: Go get a PDF copy to print yourself.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;His livestream, including his approach to goal-setting, inspired me to consider paper planners:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/q8FOSs_P8-Y?si=M1QYYjnXmPNOSazL&amp;amp;start=69&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;theoretical-changes&quot;&gt;Theoretical changes&lt;/h2&gt;

&lt;p&gt;So at the beginning of the year, I bought his PDF and printed samples of each page type to see how it worked and if it would work for me.&lt;/p&gt;

&lt;p&gt;I like the flexibility of the dot pages. If I need the grid, I can use it. If I don’t, it’s pretty easy to ignore.&lt;/p&gt;

&lt;p&gt;I like the list pages for keeping track of house projects, yard projects, business projects and capturing brainstorming.&lt;/p&gt;

&lt;p&gt;And I &lt;em&gt;really&lt;/em&gt; like how he makes quarterly plans.&lt;/p&gt;

&lt;p&gt;But after playing with it and making a few adjustments, I realized that my workflow and needs are not the same. So, like any person serious about productivity, I &lt;del&gt;wasted&lt;/del&gt; spent a lot of time making and refining my own “perfect” planner design. :wink:&lt;/p&gt;

&lt;h2 id=&quot;practical-changes&quot;&gt;Practical changes&lt;/h2&gt;

&lt;p&gt;Now that I’ve used this design for several months, I’ve made even more adjustments for next year’s version.&lt;/p&gt;

&lt;p&gt;For instance, I’ve noticed that it’s difficult to write on the left page very close to the spiral binding, so I’ve moved frequently-used sections away from that area.&lt;/p&gt;

&lt;p&gt;Also, I tend to be more task-based than schedule-based, so I reduced the space devoted to the daily schedule and increased the spaces for todo items.&lt;/p&gt;

&lt;p&gt;And while I still like Jake’s idea of quarterly plans and goals, I found that I need those goals hanging on the wall or I never actually go back and look at them. So I’ve taken them out of the planner and instead hang them up.&lt;/p&gt;

&lt;h2 id=&quot;benefits-of-paper&quot;&gt;Benefits of paper&lt;/h2&gt;

&lt;p&gt;Why would I prefer paper over digital planning?&lt;/p&gt;

&lt;h3 id=&quot;bookmarks&quot;&gt;Bookmarks&lt;/h3&gt;

&lt;p&gt;I can &lt;em&gt;literally&lt;/em&gt; bookmark pages in my planner. I don’t have to swipe around to &lt;em&gt;find&lt;/em&gt; a bookmark. A single small paperclip keeps my weekly spot and folded over washi tape tabs help me jump to other important places.&lt;/p&gt;

&lt;p&gt;And being spiral bound, I can have my planner stay open to the page I care about without a time-delayed lock screen.&lt;/p&gt;

&lt;h3 id=&quot;limited-space&quot;&gt;Limited space&lt;/h3&gt;

&lt;p&gt;With a digital todo list, you can capture &lt;em&gt;all&lt;/em&gt; your todos. With paper, you’re limited by the physical space. That limitation has been so great. I can viscerally tell if I have too many things to do in a particular day. And instead of a minor task lingering undone on my endless todo list, if it’s not important, it naturally disappears as time goes on.&lt;/p&gt;

&lt;h3 id=&quot;flexibility&quot;&gt;Flexibility&lt;/h3&gt;

&lt;p&gt;Paper is so flexible! I can draw pictures, connect things with lines or do one-off goofy things wherever. I can even rip out a piece of paper if needed.&lt;/p&gt;

&lt;h3 id=&quot;memorable&quot;&gt;Memorable&lt;/h3&gt;

&lt;p&gt;When I write things down with a pen, I remember them better. I even remember where I wrote them down on a page.&lt;/p&gt;

&lt;p&gt;I’d forgotten how much I love paper.&lt;/p&gt;

&lt;h2 id=&quot;tools&quot;&gt;Tools&lt;/h2&gt;

&lt;p&gt;I used &lt;a href=&quot;https://inkscape.org/&quot;&gt;Inkscape&lt;/a&gt; because it’s free and it saves files as SVGs, which are really easy to alter programmatically.&lt;/p&gt;

&lt;p&gt;Then I use a program to take those SVGs and fill out the dates for the particular year.&lt;/p&gt;

&lt;h2 id=&quot;what-i-did&quot;&gt;What I did&lt;/h2&gt;

&lt;p&gt;My desk space is limited, and I wanted the planner to be the same size or smaller than the iPad I often carry with it. I really like that Jake’s design uses standard pieces of paper that you can print and get cut at any copy store, so I made mine on half sheets of letter paper.&lt;/p&gt;

&lt;p&gt;Imagine each of the following pages is cut and bound down the middle.&lt;/p&gt;

&lt;style&gt;
  img.sample {
    border: 1px solid lightgrey;
    box-shadow: 0px 3px 6px -1px lightgrey;
  }
&lt;/style&gt;

&lt;h3 id=&quot;12-month-page&quot;&gt;12 month page&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/planner/12months.png&quot; class=&quot;sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This page has been great for tracking yard and orchard maintenance, and rotating monthly assignments at church.&lt;/p&gt;

&lt;p&gt;Using the dots, I divide it into columns for the particular grouping.&lt;/p&gt;

&lt;h3 id=&quot;full-year-page&quot;&gt;Full year page&lt;/h3&gt;

&lt;p&gt;In 2024’s planner, I have a 2-page spread for each month, but I found I didn’t use those pages. The time required to flip back and forth between different months and the weekly pages prevented me from using this well.&lt;/p&gt;

&lt;p&gt;For 2025 I’m going to try having this spread which shows the whole year at a glance. And I’ll bookmark it so that it’s easy to get to.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/planner/fullyear.png&quot; class=&quot;sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is used for birthdays, multi-day activites and trips.&lt;/p&gt;

&lt;h3 id=&quot;week-pages&quot;&gt;Week pages&lt;/h3&gt;

&lt;p&gt;In 2024’s planner, the weekly pages span the binding. My planner often sits on my desk with only one side (a half page) showing. I found that I would forget about things later in the week because they were on the face down side for most of the week.&lt;/p&gt;

&lt;p&gt;For 2025 I’m going to try putting the whole week on one side of the planner and leaving the other side for miscellaneous notes:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/planner/weekly.png&quot; class=&quot;sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For each day column, there are 3 time-based boxes for scheduling and then a todo list below. Roughly speaking, the first box is for morning appointments, the middle for midday and the third box for evenings.&lt;/p&gt;

&lt;h3 id=&quot;dots&quot;&gt;Dots&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/planner/dots.png&quot; class=&quot;sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’ve reduced the number of dot pages since there’s now a dot page for each week of the year.&lt;/p&gt;

&lt;p&gt;These dots are spaced 4mm apart as are &lt;em&gt;most&lt;/em&gt; of the lines on other pages. I realize this is quite compact for some people, but I love it.&lt;/p&gt;

&lt;h3 id=&quot;lists&quot;&gt;Lists&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/planner/lists.png&quot; class=&quot;sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And lastly, there are a few of these list pages at the back.&lt;/p&gt;

&lt;h2 id=&quot;wanna-give-paper-a-try&quot;&gt;Wanna give paper a try?&lt;/h2&gt;

&lt;p&gt;If you haven’t done it in a while, try a paper planner! There’s &lt;a href=&quot;https://mrjakeparker.gumroad.com/l/Project-Focused-Planner&quot;&gt;Jake’s&lt;/a&gt; or if you want one that comes with a training course, I have another friend that makes &lt;a href=&quot;https://www.thesuccesschoice.com&quot;&gt;The Success Choice planner&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2024/08/01/paper-planner.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2024/08/01/paper-planner.html</guid>
        
        
      </item>
    
      <item>
        <title>Making Car Rider Lines Faster</title>
        <description>&lt;p&gt;As I sit in the car rider line for our children’s school, I find myself capable of thinking only one thing: can’t we make this blasted line move any faster?!! I’ve considered all kinds of improvements to speed things along. But instead of relying on my own intuition, like any good nerd, I instead built an elaborate simulation engine to answer the question:&lt;/p&gt;

&lt;p&gt;How do we make car rider lines better?&lt;/p&gt;

&lt;p&gt;I think the answer might surprise you.&lt;/p&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;img src=&quot;/images/carrider/photo.jpg&quot; alt=&quot;Picture of a car rider sign&quot; style=&quot;width: 100%; border-radius: 4px;&quot; /&gt;
&lt;/div&gt;

&lt;style&gt;
iframe {
  margin-bottom: 2rem;
}
&lt;/style&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;If you haven’t experienced a school car rider line, thank your lucky stars. Here is the simplest (and worst) possible car rider line:&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--height&amp;amp;arg=3&amp;amp;arg=--noeditor&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2200000000000005000000000000001222222222222322222222222227%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;100%&quot; height=&quot;128&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Cars pull up to the school, wait, inch forward, wait, inch forward, wait, inch forward, drop off the children cooped up inside, then drive away. Simple.&lt;/p&gt;

&lt;p&gt;Here’s a more realistic car rider line (click on it to make it run):&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--pause&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2210222220222022222222222222222020002020202000000000000002202200202020202220222022222220020020202220202020202000002002002020000020202020222222202202202202222022202000000220200200020200000000202222222020020222022222220220200000202202020000000002020022222220020202022222220202000000022022020202000002020202220002202002020200050222022202222220200202020004000000000000002022020202022322222222222222200202020202000000000000000220220202020222222222222222022020020202000000000000000202202202020222222222222222220220020202000000000000000000022022020222222222222222222202202002000000000000000000020220220222222222202222222202022002000000000020200000020202202202222202222022222202020220200200020200000000020202022022220002020222022202020202200000000202020202020202020222222222220222022202220222070000000000000000000000000000%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;512&quot; height=&quot;512&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;At least, that’s what it feels like.&lt;/p&gt;

&lt;h2 id=&quot;simulation-details&quot;&gt;Simulation details&lt;/h2&gt;

&lt;p&gt;Real quick, for these simulations, the red school building (in the middle) shows the number of students arriving per time. Higher is better.&lt;/p&gt;

&lt;p&gt;The number where cars exit (on the right) shows the average time cars spent waiting. Lower is better.&lt;/p&gt;

&lt;p&gt;Cars carry 1 or 2 kids to school and drive/stop/wait at random rates.&lt;/p&gt;

&lt;p&gt;Pause/play with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;P&lt;/code&gt; or clicking. Also you can speed up the simulation by pressing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;]&lt;/code&gt;, or slow it down with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Okay, back to making car rider lines faster!&lt;/p&gt;

&lt;h2 id=&quot;longer-dropoff-zone&quot;&gt;Longer dropoff zone&lt;/h2&gt;

&lt;p&gt;It’s silly to have only one car dropping kids off at a time, so let’s extend that dropoff zone to let more kids get to their educational duties at once. Here we have 3 dropoff zones.&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--height&amp;amp;arg=3&amp;amp;arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2200000000000005000000000000001222222222223332222222222227%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;100%&quot; height=&quot;128&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Grouping cars like this is a big improvement though it comes at the cost of needing more coordination so that cars don’t stop too early in the zone and waste space.&lt;/p&gt;

&lt;p&gt;Oh, and so kids don’t get run over.&lt;/p&gt;

&lt;p&gt;But, what happens where there are more cars coming at once?  Because it is law that &lt;em&gt;all&lt;/em&gt; parents arrive at the car rider line at the same time.&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--height&amp;amp;arg=7&amp;amp;arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2212222222000000000000000000000000000200000000000000000000122222220000000000050000000000000002222222222233322222271222222200000000000000000000000000020000000000000000000012222222%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;100%&quot; height=&quot;128&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;This doesn’t work so well.&lt;/p&gt;

&lt;h2 id=&quot;sequential-vs-parallel&quot;&gt;Sequential vs Parallel&lt;/h2&gt;

&lt;p&gt;Instead of having only one long dropoff zone, then how about making &lt;em&gt;parallel&lt;/em&gt; zones?&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--height&amp;amp;arg=7&amp;amp;arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2212222222000000000000000000000000000200022222223332220000122222220002000000454002000000000002222222222233322222271222222200020000004440020000000000020002222222333222000012222222%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;100%&quot; height=&quot;128&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Great!&lt;/p&gt;

&lt;p&gt;If grouping dropoffs makes it better, and having parallel dropoffs improves it more, then this next one must be the optimal car rider dropoff plan!&lt;/p&gt;

&lt;p&gt;(Click on it to watch it go)&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--pause&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%22122222233333333333333333322700000004444444444444444440000000000000000400000000000000122222233333333333333333322700000004444444444444444440000000000000000400000000000000122222233333333333333333322700000004444444444444444440000000000000000400000000000000000000000000050000000000000000000004444444444444444440001222222333333333333333333227000000000000040000000000000000000004444444444444444440001222222333333333333333333227000000000000040000000000000000000004444444444444444440001222222333333333333333333227000000000000040000000000000000000004444444444444444440001222222333333333333333333227000000000000040000000000000000000004444444444444444440001222222333333333333333333227000000000000040000000000000000000004444444444444444440001222222333333333333333333227%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;512&quot; height=&quot;512&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Bam! This works way better than the sequential line, but at the cost of a LOT more roads, a LOT more walking for the kids and a LOT more opportunity for kids to get run over. This clearly won’t work, because kids don’t like walking. Sometimes, they’d rather get run over than have to walk at all. They’ll gladly run 5 miles for fun, but… I digress.&lt;/p&gt;

&lt;p&gt;I should mention at this point that kids in the simulation start out walking fast, but quickly get tired and slow down.&lt;/p&gt;

&lt;p&gt;The kids crossing in front of the cars really delays the cars in the center paths.&lt;/p&gt;

&lt;h2 id=&quot;multiple-farther-away-dropoff-spots&quot;&gt;Multiple, farther away dropoff spots&lt;/h2&gt;

&lt;p&gt;It seems like a big part of the problem is that we’re trying to get a whole bunch of people all to the same place at once. What if, instead of having every car come to the same place, we had them go to different places and let the kids walk? Like this:&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--pause&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2212220001000070700001000000000003400200002020000200002221000340020000202000020004300000034002333320233332000430000003444444440004444004443000722200000004000040000404300000000000000400004000040022270000000000040000400444000000000000000004000040040000222112220000000400004004000430000003000000040000400400043000000344444444444444444444300000030000000050000040000430000003000044444000004000002227722200044000444444444440000000000044000040000000004000001222044000444000222220400000000344000040000030002044222700034000004000003000200030000003400000444444300020003000000340022240400030002000300000020002034040002220200030007222000203404000002020002221000000020340400000202000000000000002034040000020200000000000000202004444002020000000000000020202333320202000000000000001070100007010700000000000000000000000000000000000%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;512&quot; height=&quot;512&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Wow, this works &lt;em&gt;really&lt;/em&gt; well! Cars don’t have to wait hardly at all! Surely &lt;em&gt;this&lt;/em&gt; is the optimal car rider line.&lt;/p&gt;

&lt;p&gt;Unfortunately, children must always walk a &lt;em&gt;shorter&lt;/em&gt; distance to school than their grandparents. Otherwise the grandparents couldn’t tell them that in their day they walked N+1 miles to school. The above method would require too much walking and thus break the pattern.&lt;/p&gt;

&lt;p&gt;So what if, instead of having the kids walk, we deploy shuttles of some kind?&lt;/p&gt;

&lt;h2 id=&quot;shuttles&quot;&gt;Shuttles&lt;/h2&gt;

&lt;p&gt;Here’s the same scenario from above, but with shuttles driving the kids from the shuttle drop-off locations to the school. To distinguish them from cars, I’ve randomly chosen to color the shuttles yellow and make them longer.&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--noeditor&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--pause&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2212220001000070700001000000000003400200002020000200002221000340020000202000020004300000034002333320233332000430000003444444440004444000043000722206222262202262222264300000000200000020200000002022270000020000002020000000200000000002000000202000000020222112220200000020200000002430000003462222226020000000643000000300000000402000000024300000030000000050200000002430000003022222644460000000202227722202000200402222222260000000000200020262000000004000001222020002020200222220400000000346222202022030002044222700034000000200603000200030000003400000460024300020003000000340022242002030002000300000020002034200202220200030007222000203420020002020002221000000020342002000202000000000000002034262200020200000000000000202004444002020000000000000020202333320202000000000000001070100007010700000000000000000000000000000000000%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;512&quot; height=&quot;512&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;That works really, &lt;em&gt;really&lt;/em&gt; well.&lt;/p&gt;

&lt;h2 id=&quot;i-am-the-problem&quot;&gt;I am the problem&lt;/h2&gt;

&lt;p&gt;I’ll admit, after many mornings and afternoons of contemplating this problem, I laughed out loud when I realized that busses are the solution.&lt;/p&gt;

&lt;p&gt;Well, busses are the &lt;em&gt;technical&lt;/em&gt; solution. That people don’t use the technical solution means that it’s really a people/psychological/behavioral problem: too many people use the car rider line instead of a superior alternative.&lt;/p&gt;

&lt;p&gt;Astute readers will notice that I’ve done all this work because I, myself, am stuck in the car rider line. Astute and judgmental readers will correctly call me a hypocrite for complaining about being in line while advocating using the bus. Sadly, there is no bus stop near us. When we had one nearby, we used it and loved it. I’m sure there are others in my shoes.&lt;/p&gt;

&lt;p&gt;But not 90% of people in the line, surely!&lt;/p&gt;

&lt;h2 id=&quot;behavior&quot;&gt;Behavior&lt;/h2&gt;

&lt;p&gt;If the technical solution for speeding up the car rider line exists (it’s busses), then how do we get people to use it (the busses)?&lt;/p&gt;

&lt;p&gt;We could &lt;strong&gt;pay people&lt;/strong&gt; to use the bus. I don’t think this would work, though, because schools already claim to be low on funds. Secretly, we know that they spend all their money on chocolate milk for lunch.&lt;/p&gt;

&lt;p&gt;Well then, instead of paying people, &lt;strong&gt;charge them!&lt;/strong&gt; Imagine the revolt if we had to swipe our credit card every time we got in the sluggish car rider line. I can hear everyone now: “I’m paying 50¢ a day for &lt;em&gt;this&lt;/em&gt;? I’d rather ride the bus!”&lt;/p&gt;

&lt;p&gt;As well as it would work, unfortunately, the rich would end up paying for it and the poor would suffer disproportionately. And there would probably be legal battles, and such. It would be a mess.&lt;/p&gt;

&lt;p&gt;We could erect &lt;strong&gt;motivational signs&lt;/strong&gt; along the car rider line: “You could have been home by now if you used the bus” or “Tired of waiting? Try the bus!” or “Is this how you imagined using your Tesla?”  Maybe signs would work.&lt;/p&gt;

&lt;p&gt;If we can’t coerce people with money, and educational signs would have limited success, how else can we make the car rider line less desirable than the bus?&lt;/p&gt;

&lt;p&gt;The answer is staring us in the face!&lt;/p&gt;

&lt;p&gt;Make it worse!&lt;/p&gt;

&lt;p&gt;Yes, that’s right. If you want to make the car rider line better, make it worse. The worse it is, the fewer people will use it and the better it will be.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Here, then is the optimal car rider line.&lt;/p&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--height&amp;amp;arg=14&amp;amp;arg=--speed&amp;amp;arg=5&amp;amp;arg=--noeditor&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%2200000700010010007070001000001220023332002333202333200000003400444000044400444400000000346226000000622260000000000034200200000020002000000000722020020000002000202222222000002002000000200024300000211220200200000020002430000000003462260000002000243000000000340004445444622264222222270034000000400000000000000000722000000040000000000000000000000000004000000000000000001222222222322222222222222227%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;100%&quot; height=&quot;400&quot;&gt;&lt;/iframe&gt;

&lt;h2 id=&quot;play-time&quot;&gt;Play time&lt;/h2&gt;

&lt;p&gt;If you want to play around with the simulator, this one (which happens to look like my kid’s school’s actual car rider line) has the editor enabled.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;E&lt;/code&gt; go to edit mode&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Escape&lt;/code&gt; quit edit mode&lt;/li&gt;
  &lt;li&gt;When in edit mode, the keys &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1&lt;/code&gt;-&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;7&lt;/code&gt; will place different tiles.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Backspace&lt;/code&gt; deletes&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C&lt;/code&gt; will clear it out&lt;/li&gt;
  &lt;li&gt;Make crosswalks by putting down a road then putting sidewalk over it&lt;/li&gt;
  &lt;li&gt;There are all kinds of bugs&lt;/li&gt;
&lt;/ul&gt;

&lt;iframe src=&quot;/images/carrider/carrider.html?arg=--pause&amp;amp;arg=--map&amp;amp;arg=%7B%22d%22%3A%22001001001000000000001000700000200200200000000000233320001222222220000000000004440000002000000000000000002262220000207000000000000000200002000020200000000000000020000200122020000000000000002000020000202022222222222220200002070020202000000000002020000202002020200000000000202000024300202220233333333320200002430020000024444444442020000643002022222333333333202000020200202000044444444444600002010020200000000400000020000200002020000000040000002222220000202000000005000000000000000020200000000000000000000000002022222222222222222222220000200000000000000000000002000020000000000000000000000200002000000000000000000000020000200000000000000000000002000020000000000000000000000200002000000000000000000000020000222222222222222222222222%22%2C%22x%22%3A%5B%5D%7D&quot; width=&quot;512&quot; height=&quot;512&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;But seriously, administrators, spend money on the busses, not “improving” the car rider lines.&lt;/p&gt;
</description>
        <pubDate>Mon, 22 Aug 2022 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2022/08/22/car-riders.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2022/08/22/car-riders.html</guid>
        
        
      </item>
    
      <item>
        <title>Interesting Books</title>
        <description>&lt;p&gt;Books are great! Not only can you read them, but you can make computers read them, too. Once upon a time, my brother made a computer read a book and shared this result:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/interestingbooks/img1.png&quot; alt=&quot;Word to word comparison of a book&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Quick side note: this post will probably not work very well on a mobile device. Sorry.&lt;/p&gt;

&lt;p&gt;To make the image, I made the computer write every word in the book along the top and side of a table. Then it colored each cell black if the words in the top and the side are the same. For example:&lt;/p&gt;

&lt;style&gt;
table.bordered {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
table.bordered td {
  border: 1px solid grey;
  text-align: center;
  vertical-align: center;
}
table.bordered td.mark {
  background-color: black;
}
&lt;/style&gt;

&lt;table class=&quot;bordered&quot;&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;How&lt;/td&gt;
    &lt;td&gt;much&lt;/td&gt;
    &lt;td&gt;wood&lt;/td&gt;
    &lt;td&gt;could&lt;/td&gt;
    &lt;td&gt;a&lt;/td&gt;
    &lt;td&gt;wood&lt;/td&gt;
    &lt;td&gt;chuck&lt;/td&gt;
    &lt;td&gt;chuck?&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;How&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;much&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;wood&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;could&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;a&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;wood&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;chuck&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;chuck?&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;mark&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;  
&lt;/table&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;However, some books are very, &lt;em&gt;very&lt;/em&gt; long. &lt;em&gt;War and Peace&lt;/em&gt; is about half a million words and an image that was half a million by half a million pixels big would be bigger than my screen. So instead of counting each word, the computer divides the book up into sections. It compares each section and counts the number of matching words. The total count is then used to color a pixel some shade of grey where white means no common words, and black means all the words are the same.&lt;/p&gt;

&lt;p&gt;Also, I’ve made some other adjustments:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Since each section of a book is the same as itself, I turn that middle diagonal line white so it’s not distracting.&lt;/li&gt;
  &lt;li&gt;Words like “the” and “a” are removed because they are so common. In fact, I remove all words that make up more than 1% of the total.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alright, want to see some books and if these charts are useful or not? All of the text for these books came from &lt;a href=&quot;https://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt;.&lt;/p&gt;

&lt;style&gt;
.textpreview {
  background-color: rgba(0,0,0,0.02);
  padding: 2rem;
  border-radius: 6px;
  font-family: monospace;
  flex-basis: 50%;
  max-height: 10rem;
  overflow-y: auto;
  margin-bottom: 2rem;
}
.textpreview .match {
  background-color: rgba(255,251,205,1.0);
}
.box {
  overflow: visible;
  font-size: 0.7rem;
  white-space: nowrap;
}
&lt;/style&gt;

&lt;script&gt;
const IMAGESIZE = 740;
function removeExts(x) {
  let parts = x.split(&apos;.&apos;);
  return parts.slice(0, parts.length - 2).join(&apos;.&apos;);
}
function debounce(func, delay) {
  let timer;
  return (...args) =&gt; {
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(() =&gt; {
      clearTimeout(timer);
      func(...args);
    }, delay)
  }
}
let existing_boxes = {};
function toggleBox(key, color, x0, y0, x1, y1, label) {
  let fullkey = `${key} ${color} ${x0} ${y0} ${x1} ${y1} ${label}`;
  label = label || &apos;&apos;;
  if (existing_boxes[fullkey]) {
    existing_boxes[fullkey].parentNode.removeChild(existing_boxes[fullkey]);
    delete existing_boxes[fullkey];
  } else {
    let wrap = document.querySelector(`#${key} .wrap`);
    let box = document.createElement(&apos;div&apos;);
    box.classList.add(&apos;box&apos;);
    box.setAttribute(&apos;style&apos;, `position: absolute; background-color: ${color};`);
    box.style.left = `${100 * x0/IMAGESIZE}%`;
    box.style.top = `${100 * y0/IMAGESIZE}%`;
    box.style.width = `${100 * (x1 - x0)/IMAGESIZE}%`;
    box.style.height = `${100 * (y1 - y0)/IMAGESIZE}%`;
    box.innerText = label;
    existing_boxes[fullkey] = box; 
    wrap.appendChild(box);
  }
}
function toggleCenterBox(key, color, start, end, label) {
  toggleBox(key, color, start, start, end, end, label);
}
var img_ids = 0;
function showInspectableImage(imageurl, key) {
  let img_id = key || &quot;inspectable-&quot; + img_ids++;
  
  let wrap = document.createElement(&apos;div&apos;);
  wrap.classList.add(&apos;wrap&apos;);
  wrap.setAttribute(&apos;style&apos;, &apos;position: relative&apos;);

  let img = document.createElement(&apos;img&apos;);
  img.src = imageurl;
  img.addEventListener(&apos;click&apos;, (ev) =&gt; {
    if (ev.shiftKey) {
      slider2.value = ev.offsetX;
      updateHighlight(1, Number(ev.offsetX));
    } else {
      slider1.value = ev.offsetX;
      updateHighlight(0, Number(ev.offsetX));
    }
  })

  let highlight1 = document.createElement(&apos;div&apos;);
  highlight1.setAttribute(&apos;style&apos;, &apos;width: 1px; height: 100%; background-color: rgba(255,0,0,0.5); position: absolute; top: 0; left: 0;&apos;);

  let highlight2 = document.createElement(&apos;div&apos;);
  highlight2.setAttribute(&apos;style&apos;, &apos;width: 1px; height: 100%; background-color: rgba(0,0,255,0.5); position: absolute; top: 0; left: 0;&apos;);

  wrap.appendChild(img);
  wrap.appendChild(highlight1);
  wrap.appendChild(highlight2);
  
  let text1 = &apos;&apos;;
  let textpreview1 = document.createElement(&apos;div&apos;);
  textpreview1.classList.add(&apos;textpreview&apos;);
  let text2 = &apos;&apos;;
  let textpreview2 = document.createElement(&apos;div&apos;);
  textpreview2.classList.add(&apos;textpreview&apos;);
  let previews = document.createElement(&apos;div&apos;);
  previews.setAttribute(&apos;style&apos;, &apos;display: flex;&apos;);
  previews.appendChild(textpreview1);
  previews.appendChild(textpreview2);

  let slider1 = document.createElement(&apos;input&apos;);
  slider1.setAttribute(&apos;type&apos;, &apos;range&apos;);
  slider1.setAttribute(&apos;min&apos;, &apos;0&apos;);
  slider1.setAttribute(&apos;max&apos;, IMAGESIZE);
  slider1.setAttribute(&apos;value&apos;, &apos;0&apos;);
  slider1.setAttribute(&apos;style&apos;, &apos;width: 100%;&apos;);

  let slider2 = document.createElement(&apos;input&apos;);
  slider2.setAttribute(&apos;type&apos;, &apos;range&apos;);
  slider2.setAttribute(&apos;min&apos;, &apos;0&apos;);
  slider2.setAttribute(&apos;max&apos;, IMAGESIZE);
  slider2.setAttribute(&apos;value&apos;, &apos;0&apos;);
  slider2.setAttribute(&apos;style&apos;, &apos;width: 100%;&apos;);
  
  function compareTexts() {
    console.log(&quot;comparing texts&quot;);
    if (!text1 || !text2) {
      return;
    }
    let parts1 = text1.split(&apos; &apos;);
    let s1 = new Set(parts1);
    let parts2 = text2.split(&apos; &apos;);
    let s2 = new Set(parts2);
    textpreview1.innerHTML = &apos;Chunk &apos; + textpreview1.getAttribute(&apos;chunk&apos;) + &apos;\n&apos; + parts1.map(word =&gt; {
      if (s2.has(word)) {
        return &apos;&lt;span class=&quot;match&quot;&gt;&apos; + word + &apos;&lt;/span&gt;&apos;
      } else {
        return &apos;&lt;span&gt;&apos; + word + &apos;&lt;/span&gt;&apos;;
      }
    }).join(&apos;&amp;nbsp;&apos;);
    textpreview2.innerHTML = &apos;Chunk &apos; + textpreview2.getAttribute(&apos;chunk&apos;) + &apos;\n&apos; + parts2.map(word =&gt; {
      if (s1.has(word)) {
        return &apos;&lt;span class=&quot;match&quot;&gt;&apos; + word + &apos;&lt;/span&gt;&apos;
      } else {
        return &apos;&lt;span&gt;&apos; + word + &apos;&lt;/span&gt;&apos;;
      }
    }).join(&apos;&amp;nbsp;&apos;);
  }

  function updateHighlight(which, val) {
    if (which === 0) {
      highlight1.style.left = `${val}px`;
    } else {
      highlight2.style.left = `${val}px`;
    }
    updatetext(which, val);
  }
  let updatetext = debounce((which, val) =&gt; {
    let chunkurl = removeExts(imageurl) + &apos;/chunk&apos; + val + &apos;.txt&apos;
    console.log(chunkurl);
    fetch(chunkurl)
      .then((response) =&gt; response.text())
      .then((text) =&gt; {
        let elem = which === 0 ? textpreview1 : textpreview2;
        elem.setAttribute(&apos;chunk&apos;, val);
        elem.innerText = `Chunk ${val}\n${text}`;
        if (which === 0) {
          text1 = text;
        } else {
          text2 = text;
        }
        // compareTexts();
      })
  }, 150)
  
  slider1.addEventListener(&apos;input&apos;, (ev) =&gt; {
    updateHighlight(0, Number(ev.target.value));
  });
  slider2.addEventListener(&apos;input&apos;, (ev) =&gt; {
    updateHighlight(1, Number(ev.target.value));
  });

  let root = document.createElement(&apos;div&apos;);
  root.setAttribute(&apos;id&apos;, img_id);
  root.appendChild(wrap);
  root.appendChild(slider1);
  root.appendChild(slider2);
  root.appendChild(previews);
  document.currentScript.after(root);
}
&lt;/script&gt;

&lt;h2 id=&quot;persuasion-by-jane-austen&quot;&gt;Persuasion, by Jane Austen&lt;/h2&gt;

&lt;p&gt;I’ve not yet been convinced to read &lt;em&gt;Persuasion&lt;/em&gt;. Perhaps if the title were more enticing. Anyway, take a look at this. Click or shift+click around, drag the sliders and see the text at different sections.&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/persuasion.1.png&quot;);&lt;/script&gt;

&lt;p&gt;It’s fairly uniformly gray. There’s that darker square near the end, but since I haven’t read the book, I couldn’t tell you why.&lt;/p&gt;

&lt;p&gt;I made another variation of the chart by comparing word &lt;em&gt;pairs&lt;/em&gt; rather than single words. For instance take&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;prided himself on remaining single&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and turn it into&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;prided himself&lt;/p&gt;

  &lt;p&gt;himself on&lt;/p&gt;

  &lt;p&gt;on remaining&lt;/p&gt;

  &lt;p&gt;remaining single&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here’s what &lt;em&gt;Persuasion&lt;/em&gt; looks like with that method:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/persuasion.2.png&quot;);&lt;/script&gt;

&lt;p&gt;Seems like it just filters out more stuff.&lt;/p&gt;

&lt;h2 id=&quot;ben-franklin&quot;&gt;Ben Franklin&lt;/h2&gt;

&lt;p&gt;I’m still not quite sure what these charts show other than similarity. It could be writing style similarity. It could be topical similarity. It could be diction similarity. Probably just a combination. Here’s what Ben Franklin’s autobiography looks like:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/ben_franklin.1.png&quot;, &apos;ben-franklin-1&apos;);&lt;/script&gt;

&lt;p&gt;It’s overall lighter than &lt;em&gt;Persuasion&lt;/em&gt;, which I guess means it has more variety? But also, there’s &lt;button onclick=&quot;toggleCenterBox(&apos;ben-franklin-1&apos;, &apos;rgba(0,127,0,0.2)&apos;,369, 380);&quot;&gt;one small part&lt;/button&gt; right in the middle of the book that is unlike any other part of the book! That section begins with him talking about a blacksmith making an ax. Again, I haven’t read this book, so I don’t know why that part is different.&lt;/p&gt;

&lt;h2 id=&quot;authorship&quot;&gt;Authorship&lt;/h2&gt;

&lt;p&gt;I’ve wondered if these kinds of heatmaps can help you identify authors. Do isolated squares indicate different authors?  To test this, here’s a look at &lt;em&gt;Pride and Prejudice&lt;/em&gt; and &lt;em&gt;Persuasion&lt;/em&gt;, both written by Jane Austen:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/pride_and_persuasion.1.png&quot;);&lt;/script&gt;

&lt;p&gt;And again using the word pair method, which shows &lt;button onclick=&quot;toggleCenterBox(&apos;pride-persuasion-2&apos;, &apos;rgba(0,127,0,0.2)&apos;, 0, 438); toggleCenterBox(&apos;pride-persuasion-2&apos;, &apos;rgba(127,127,0,0.2)&apos;, 438, IMAGESIZE);&quot;&gt;two definite chunks&lt;/button&gt;.&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/pride_and_persuasion.2.png&quot;, &apos;pride-persuasion-2&apos;);&lt;/script&gt;

&lt;p&gt;Now let’s add another contemporary author’s book and see how different it is from the other two. Here’s a compilation of &lt;em&gt;Pride and Prejudice&lt;/em&gt;, &lt;em&gt;Persuasion&lt;/em&gt; and &lt;em&gt;The Count of Monte Cristo&lt;/em&gt; (finally, a book I’ve read!):&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/pride_persuade_crisco.1.png&quot;, &apos;ppc&apos;);&lt;/script&gt;

&lt;p&gt;I thought I could see where each book began, but I accidentally thought the first part of &lt;em&gt;Monte Cristo&lt;/em&gt; was &lt;em&gt;Persuasion&lt;/em&gt;. Here’s where they &lt;button onclick=&quot;toggleCenterBox(&apos;ppc&apos;, &apos;rgba(0,127,0,0.2)&apos;,0,135);toggleCenterBox(&apos;ppc&apos;, &apos;rgba(127,127,0,0.2)&apos;,135,227);toggleCenterBox(&apos;ppc&apos;, &apos;rgba(0,127,127,0.2)&apos;,227,IMAGESIZE);&quot;&gt;actually begin and end&lt;/button&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Pride and Prejudice&lt;/em&gt; is very much like &lt;em&gt;Persuasion&lt;/em&gt;, which are both very different from the &lt;em&gt;The Count of Monte Cristo&lt;/em&gt;. And both Austen books are very much more like themselves than &lt;em&gt;Monte Cristo&lt;/em&gt; is like itself.&lt;/p&gt;

&lt;p&gt;Here’s &lt;em&gt;The Count of Monte Cristo&lt;/em&gt; by itself:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/monte_cristo.1.png&quot;, &apos;cristo&apos;);&lt;/script&gt;

&lt;p&gt;That &lt;button onclick=&quot;toggleBox(&apos;cristo&apos;, &apos;rgba(0,127,127,0.75)&apos;,133, 0, 136, IMAGESIZE);&quot;&gt;white bar&lt;/button&gt; is the moment Dante finds the treasure. It’s a moment that divides the plot in two; how fun that it’s a moment unlike most others in the story.&lt;/p&gt;

&lt;h2 id=&quot;bible&quot;&gt;Bible&lt;/h2&gt;

&lt;p&gt;The Bible is a book written by various people. How does it look? Here’s the King James version:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/bible.1.png&quot;, &apos;bible&apos;);&lt;/script&gt;

&lt;script&gt;
function showhidebible() {
  let bookstarts = [
    [&quot;Genesis&quot;, 0],
    [&quot;Exodus&quot;, 36],
    [&quot;Leviticus&quot;, 66],
    [&quot;Numbers&quot;, 89],
    [&quot;Deuteronomy&quot;, 120],
    [&quot;Joshua&quot;, 147],
    [&quot;Judges&quot;, 164],
    [&quot;Ruth&quot;, 182],
    [&quot;Samuel 1&quot;, 184],
    [&quot;Samuel 2&quot;, 208],
    [&quot;Kings 1&quot;, 227],
    [&quot;Kings 2&quot;, 250],
    [&quot;Chronicles 1&quot;, 272],
    [&quot;Chronicles 2&quot;, 291],
    [&quot;Ezra&quot;, 316],
    [&quot;Nehemiah&quot;, 323],
    [&quot;Esther&quot;, 332],
    [&quot;Job&quot;, 338],
    [&quot;Psalms&quot;, 355],
    [&quot;Proverbs&quot;, 395],
    [&quot;Ecclesiastes&quot;, 409],
    [&quot;Song of Solomon&quot;, 414],
    [&quot;Isaiah&quot;, 416],
    [&quot;Jeremiah&quot;, 451],
    [&quot;Lamentations&quot;, 491],
    [&quot;Ezekiel&quot;, 494],
    [&quot;Daniel&quot;, 531],
    [&quot;Hosea - Malachi&quot;, 547],
    // [&quot;Hosea&quot;, 542],
    // [&quot;Joel&quot;, 547],
    // [&quot;Amos&quot;, 549],
    // [&quot;Obadiah&quot;, 553],
    // [&quot;Jonah&quot;, 553],
    // [&quot;Micah&quot;, 555],
    // [&quot;Nahum&quot;, 558],
    // [&quot;Habakkuk&quot;, 559],
    // [&quot;Zephaniah&quot;, 560],
    // [&quot;Haggai&quot;, 562],
    // [&quot;Zechariah&quot;, 563],
    // [&quot;Malachi&quot;, 569],
    [&quot;Matthew&quot;, 570],
    [&quot;Mark&quot;, 593],
    [&quot;Luke&quot;, 607],
    [&quot;John&quot;, 631],
    [&quot;Acts&quot;, 649],
    [&quot;Romans - Jude&quot;, 672],
    // [&quot;Corinthians 1&quot;, 681],
    // [&quot;Corinthians 2&quot;, 689],
    // [&quot;Galatians&quot;, 695],
    // [&quot;Ephesians&quot;, 698],
    // [&quot;Philippians&quot;, 701],
    // [&quot;Colossians&quot;, 703],
    // [&quot;Thessalonians 1&quot;, 705],
    // [&quot;Thessalonians 2&quot;, 706],
    // [&quot;Timothy 1&quot;, 707],
    // [&quot;Timothy 2&quot;, 710],
    // [&quot;Titus&quot;, 711],
    // [&quot;Philemon&quot;, 712],
    // [&quot;Hebrews&quot;, 712],
    // [&quot;James&quot;, 719],
    // [&quot;Peter 1&quot;, 721],
    // [&quot;Peter 2&quot;, 723],
    // [&quot;John 1&quot;, 725],
    // [&quot;John 2&quot;, 727],
    // [&quot;John 3&quot;, 727],
    // [&quot;Jude&quot;, 728],
    [&quot;Revelation&quot;, 728],
    [&quot;&quot;, IMAGESIZE],
  ]
  let colors = [
    &quot;rgba(0,127,0,0.2)&quot;,
    &quot;rgba(0,127,127,0.2)&quot;,
    &quot;rgba(127,127,0,0.2)&quot;,
    &quot;rgba(0,0,127,0.2)&quot;,
    &quot;rgba(127,0,127,0.2)&quot;,
    &quot;rgba(127,0,0,0.2)&quot;,
  ]
  for (let i = 0; i &lt; (bookstarts.length - 1); i++) {
    let color = colors[i % colors.length];
    let [book, start] = bookstarts[i];
    let [_, end] = bookstarts[i+1];
    toggleCenterBox(&apos;bible&apos;, color, start, end, book);
  }
}
&lt;/script&gt;

&lt;p&gt;&lt;button onclick=&quot;showhidebible()&quot;&gt;Show/hide the books&lt;/button&gt;&lt;/p&gt;

&lt;p&gt;The black square right in the middle is Psalms. It’s interesting to see Deuteronomy’s echo later in the book. The Gospels (Matthew, Mark, Luke and John) are very similar to each other, as are Paul’s epistles.&lt;/p&gt;

&lt;p&gt;The Bible is pretty evenly similar to itself—that is, not very similar for the most part. Not what I would have guessed. I was expecting more distinct squares. Perhaps it was evened out because it was translated into English by a smallish group in a shortish time?&lt;/p&gt;

&lt;h2 id=&quot;book-of-mormon&quot;&gt;Book of Mormon&lt;/h2&gt;

&lt;p&gt;Anyway, back to the image from the beginning, which is also a book full of books: the Book of Mormon. Here it is again, but interactive:&lt;/p&gt;

&lt;script&gt;
function showhidebookofmormon() {
  let bookstarts = [
    [&quot;1 Nephi&quot;, 0],
    [&quot;2 Nephi&quot;, 71],
    [&quot;Jacob&quot;, 153],
    [&quot;Enos - Words of Mormon&quot;, 178],
    // [&quot;Enos&quot;, 178],
    // [&quot;Jarom&quot;, 181],
    // [&quot;Omni&quot;, 183],
    // [&quot;Words of Mormon&quot;, 187],
    [&quot;Mosiah&quot;, 189],
    [&quot;Alma&quot;, 275],
    [&quot;Helaman&quot;, 509],
    [&quot;3 Nephi&quot;, 566],
    [&quot;4 Nephi&quot;, 645],
    [&quot;Mormon&quot;, 651],
    [&quot;Ether&quot;, 677],
    [&quot;Moroni&quot;, 723], 
    [&quot;&quot;, IMAGESIZE],
  ]
  let colors = [
    &quot;rgba(0,127,0,0.2)&quot;,
    &quot;rgba(0,127,127,0.2)&quot;,
    &quot;rgba(127,127,0,0.2)&quot;,
    &quot;rgba(0,0,127,0.2)&quot;,
    &quot;rgba(127,0,127,0.2)&quot;,
    &quot;rgba(127,0,0,0.2)&quot;,
  ]
  for (let i = 0; i &lt; (bookstarts.length - 1); i++) {
    let color = colors[i % colors.length];
    let [book, start] = bookstarts[i];
    let [_, end] = bookstarts[i+1];
    toggleCenterBox(&apos;bookofmormon-1&apos;, color, start, end, book);
    toggleCenterBox(&apos;bookofmormon-2&apos;, color, start, end, book);
  }
}
&lt;/script&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/bookofmormon.1.png&quot;, &apos;bookofmormon-1&apos;);&lt;/script&gt;

&lt;p&gt;&lt;button onclick=&quot;showhidebookofmormon()&quot;&gt;Show/hide the books&lt;/button&gt;&lt;/p&gt;

&lt;p&gt;This book looks different than all the others I’ve looked at.&lt;/p&gt;

&lt;p&gt;Definitely the most unique section is the &lt;button onclick=&quot;toggleCenterBox(&apos;bookofmormon-1&apos;, &apos;rgba(127,0,0,0.5)&apos;, 163, 173, &apos;Olive tree&apos;)&quot;&gt;Allegory of the Olive Trees&lt;/button&gt; in Jacob.  Here’s the &lt;button onclick=&quot;toggleCenterBox(&apos;bookofmormon-1&apos;, &apos;rgba(0,127,0,0.5)&apos;, 106, 139, &apos;Isaiah&apos;)&quot;&gt;Isaiah chapters&lt;/button&gt; in 2 Nephi.  Here is Jesus Christ’s &lt;button onclick=&quot;toggleCenterBox(&apos;bookofmormon-1&apos;, &apos;rgba(0,127,127,0.5)&apos;, 596, 644, &apos;Jesus Christ&apos;)&quot;&gt;visit to the Americas&lt;/button&gt;.&lt;/p&gt;

&lt;p&gt;Here it is again with the word pair method:&lt;/p&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/bookofmormon.2.png&quot;, &quot;bookofmormon-2&quot;);&lt;/script&gt;

&lt;p&gt;So what does this mean? Does this prove the Book of Mormon is true? By “true” I mean “written by ancient prophets and translated by Joseph Smith.”&lt;/p&gt;

&lt;p&gt;Nah. It’s just interesting. A computer’s not going to be able to tell you if it’s true or not.&lt;/p&gt;

&lt;p&gt;If you’re not familiar with the book, in brief: it’s a record kind of like the Bible, but written in the American continent rather than around the Middle East. The book was assembled on golden plates by a prophet named Mormon (hence the title), buried in the ground by his son, Moroni, then given by Moroni (now an angel) to Joseph Smith in the 1800s who then translated it “by the gift and power of God” as he says.&lt;/p&gt;

&lt;p&gt;Plenty of people dispute Joseph Smith’s story. I can understand why—it does sound a bit outlandish. There have been attempts (and will continue to be attempts) to prove and disprove its authenticity. While interesting, to me, the proof is in the pudding.&lt;/p&gt;

&lt;p&gt;The pudding, in this case, is what the Book of Mormon teaches. I’m a better person for reading the book.&lt;/p&gt;

&lt;p&gt;If you hang around members of the Church of Jesus Christ of Latter-day Saints long enough, they’ll eventually mention a promise Moroni wrote down near the end. Moroni promises that you can know whether the Book of Mormon is true by reading it, then asking God “in the name of Christ, if these things are not true … with a sincere heart, with real intent, having faith in Christ.” I believe Moroni’s promise is true, and I have tested it and feel that the promise has been proved to me personally.&lt;/p&gt;

&lt;p&gt;There’s another thing Moroni suggests right before the promise, and it has been one of the most meaningful things I’ve ever done when reading the scriptures:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;when ye shall read these things, if it be wisdom in God that ye should read them, &lt;em&gt;that ye would remember how merciful the Lord hath been unto the children of men&lt;/em&gt;, from the creation of Adam even down until the time that ye shall receive these things, and ponder it in your hearts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Remember how merciful the Lord has been throughout all time. Throughout your life. Take some quiet time to ponder.&lt;/p&gt;

&lt;h2 id=&quot;other-ideas&quot;&gt;Other ideas?&lt;/h2&gt;

&lt;p&gt;It was fun to recreate my brother’s original image. Any other ideas for things you can make computers do to books?&lt;/p&gt;

&lt;p&gt;Here’s the &lt;a href=&quot;https://github.com/iffy/book-analysis/blob/master/charts.nim&quot;&gt;code used to make these images&lt;/a&gt; and here are a few more books:&lt;/p&gt;

&lt;h3 id=&quot;anna-karenina&quot;&gt;Anna Karenina&lt;/h3&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/anna_karenina.1.png&quot;);&lt;/script&gt;

&lt;h3 id=&quot;little-women&quot;&gt;Little Women&lt;/h3&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/little_women.1.png&quot;);&lt;/script&gt;

&lt;h3 id=&quot;sherlock-holmes&quot;&gt;Sherlock Holmes&lt;/h3&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/sherlock_holmes.1.png&quot;);&lt;/script&gt;

&lt;h3 id=&quot;ulysses&quot;&gt;Ulysses&lt;/h3&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/ulysses.1.png&quot;);&lt;/script&gt;

&lt;h3 id=&quot;war-and-peace&quot;&gt;War and Peace&lt;/h3&gt;

&lt;script&gt;showInspectableImage(&quot;https://www.iffycan.com/book-analysis/v1/war_and_peace.1.png&quot;);&lt;/script&gt;

</description>
        <pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2022/07/26/Interesting.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2022/07/26/Interesting.html</guid>
        
        
      </item>
    
      <item>
        <title>The Unexpected Power of Tiny Goals</title>
        <description>&lt;p&gt;Elephants aren’t eaten in one sitting, they say. I’m not a part of the elephant-eating public, but the advice has helped me during particularly difficult times. Are your life’s problems sometimes out of control? Maybe your health has deteriorated or your room has become a gigantic mess. Is laundry languishing on couches and floors, cultivating colonies of microscopic life? Mountains of suffocating papers to sort? Barely two pennies in the bank? Oceans of debt? Never enough time for the things you love (let alone for all your other obligations)? Always playing catch up?&lt;/p&gt;

&lt;p&gt;If you’ve tried and repeatedly failed to make any lasting progress, consider the unexpected power of tiny goals. And I really mean tiny. Ridiculously tiny. Even tinier than that. Laughably tiny goals. Goals that are so small, you’re embarrassed to tell people about them. After achieving the goal for a time, expand it minutely. Continue this slowly, day after day and be surprised at the remarkable progress you make.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/tiny-goals/sprout.jpg&quot; alt=&quot;Sprouting plant photo by Andriyko Podilnyk Unsplash&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For example, I once had a goal to do two pushups every day. Yes, just two. I also considered one per day, but settled on two as very doable. After a week of success, I increased the number to four. The next week: six. And so on. Eventually, I was doing more than twenty each day. Yes, I know that’s not many compared to others, but given my physique, it felt great. I didn’t make the goal in comparison to others, so what others achieve doesn’t matter.&lt;/p&gt;

&lt;p&gt;Tiny goals do at least three good things. First, you taste that encouraging feeling of success. Second, you actually make (tiny) progress. Third—and this is crucial to lasting success—you begin to build good habits, which will accelerate your progress more than flash-in-the-pan fanatical goal making does.&lt;/p&gt;

&lt;p&gt;Consider the problem of a messy room. You might set a tiny goal by marking off a 2 foot by 2 foot area and cleaning that spot at least once each day. Even if no other cleaning happens, at least those 4 feet will be clean. If other cleaning happens, so be it, but don’t expect it. After a week of success, expand the area or carve out a second clean oasis somewhere, or pick one pot or window to keep clean. If you live with other people, invite them to commit to it too. Enjoy the silliness of cleaning a tiny spot while the rest stays in ruin.&lt;/p&gt;

&lt;p&gt;If you find it difficult to save a lot of money, save a little instead. Save a few pennies if you have to. Then add some nickels.&lt;/p&gt;

&lt;p&gt;If your health needs help, pick one small thing you can change in your diet, exercise or sleep routines. Then change one more thing.&lt;/p&gt;

&lt;p&gt;If you spend too much time on your phone, make yourself count to ten every morning before you grab it. Then count to twenty, then thirty…&lt;/p&gt;

&lt;p&gt;As your tiny goals expand, there’s greater risk of failure. It’s okay, though. You can retract the size of your goal if you need to, or keep it the same for a long time. There’s no goal police. Do what you can.&lt;/p&gt;

&lt;p&gt;There are times for lofty, stretching, dream goals—goals to achieve your greatest hopes and wishes. But for the times when you’re drowning, and just need a foothold: make a tiny goal.&lt;/p&gt;
</description>
        <pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2021/07/29/tiny-goals.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2021/07/29/tiny-goals.html</guid>
        
        
      </item>
    
      <item>
        <title>Some recent art</title>
        <description>&lt;p&gt;All these were done with Procreate on an iPad.&lt;/p&gt;

&lt;p&gt;An entry for the SVS Art Contest last June:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/2020_june_svs_contest.png&quot; alt=&quot;June 2020 SVS Contest&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Some characters I drew for playing with my kids:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/2021_littlepeople_color.png&quot; alt=&quot;Some people&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Coloring page version:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/2021_littlepeople_bw.png&quot; alt=&quot;Some people, black and white&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A girl, flying? Or skydiving unsafely?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/2021_flyinggirl.png&quot; alt=&quot;Flying girl&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A treehouse. I’m undecided about the messy brown painting around the tree.  It was intentional, but I’m not sure I like it.  I might add something else to this.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/2021_treehouse.png&quot; alt=&quot;Treehouse&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2021/04/12/some-2020-art.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2021/04/12/some-2020-art.html</guid>
        
        <category>art</category>
        
        
      </item>
    
      <item>
        <title>Roots and Branches</title>
        <description>&lt;p&gt;One Sunday, I cradled my sleeping newborn on my lap while in a group discussion with about fifty men aged 18 on up. The topic was Parenting.  As you might imagine, opinions on the subject were plentiful. Generally, the number of comments shared by a person was inversely proportional to their age. I consider it blessed luck that I happened to be sitting next to a wise, old man from our neighborhood.  At the time, his age was a bit more than double mine. He and his wife had raised 15 or so children. If for nothing else, church is valuable for providing opportunities to talk with people like him.&lt;/p&gt;

&lt;p&gt;As the meeting went on, many ideas were shared and I asked a question or two, all while trying to keep my baby asleep. At one point, the old man at my side leaned over and, respectfully noting the numerous opinions of the group, quietly paraphrased Thoreau: “For every thousand men hacking at the branches, there’s only one striking at the root.”&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;A similar visual from &lt;a href=&quot;https://www.churchofjesuschrist.org/study/scriptures/bofm/1-ne/8?lang=eng#26&quot;&gt;the scriptures&lt;/a&gt; describes the “wisdom” of the world as a large building filled with luxuriously-dressed people mocking those outside of it. The building stands “as it were in the air” which I’ve often thought means that it has no foundation.&lt;/p&gt;

&lt;p&gt;I’ve noticed in my life, in others’ lives, in society and in government the tendency to hack the branches instead of the root.  Why is it so easy to get stuck hacking branches instead of striking the root?  What is so enticing about a nice building that people are willing to build it even without a strong foundation? I’m still thinking about it, but I’ll write down a few ideas here:&lt;/p&gt;

&lt;h2 id=&quot;flashiness&quot;&gt;Flashiness&lt;/h2&gt;

&lt;p&gt;The branches are the part of the tree you can see. Chopping a few off is easy to do, point at, then pose for a photo op for your constituents.&lt;/p&gt;

&lt;p&gt;“See all the branches I cut down? Vote for me!”&lt;/p&gt;

&lt;h2 id=&quot;laziness&quot;&gt;Laziness&lt;/h2&gt;

&lt;p&gt;We might not chop off branches to be seen by others, but maybe seeing limbs fall from the tree gives us quick satisfaction that we’re “making progress” when in reality, we’re delaying progress.&lt;/p&gt;

&lt;h2 id=&quot;inertia&quot;&gt;Inertia&lt;/h2&gt;

&lt;p&gt;Sometimes problems need immediate attention and hacking at the branches &lt;em&gt;is&lt;/em&gt; the right thing to do. At first. So we (or government or business) hire some workers to clean up the branches.  Now someone’s livelihood depends on there being branches to prune.  They might fight (intentionally or subconsciously) to keep the problematic tree alive just so they have work.&lt;/p&gt;

&lt;h2 id=&quot;impatience&quot;&gt;Impatience&lt;/h2&gt;

&lt;p&gt;Digging out a root is grueling work. It’s not always easy to see progress. Your tools might break. You’ll probably get muddy. You might unearth more problems as you go. It’s easy to get tired and want to give up.&lt;/p&gt;

&lt;h2 id=&quot;ignorance&quot;&gt;Ignorance&lt;/h2&gt;

&lt;p&gt;Perhaps our view of the branches obscures any ideas for tackling the root. We fail to even consider what the root of the problem is, let alone hack at it.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Society’s problems won’t be solved by addressing only the symptoms. Nor, I realize, will anything be solved by simply writing solution-less blog posts. But maybe these thoughts are helpful in your own circle of influence.  Are you cutting down any branches today?&lt;/p&gt;

&lt;hr /&gt;

&lt;ol&gt;
  &lt;li&gt;My friend, who has since passed away, then gave some good advice which I hope I always remember. One main point was to “Have faith. Keep doing the good things you know you should do and it will work out.”  Another was to remember that we can only “deal from our side of the table.” You can’t ultimately force your kids to be a certain way or think on their behalf.&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2021/03/29/roots-and-branches.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2021/03/29/roots-and-branches.html</guid>
        
        
      </item>
    
      <item>
        <title>Elephant and Missing Ladybug</title>
        <description>&lt;p&gt;I like to draw and paint sometimes.  Here are two semi-recent watercolor paintings.  This first was an attempt to copy &lt;a href=&quot;http://www.toca-ch.com/collection/elephant-backgrounds/#photo_5&quot; target=&quot;_blank&quot;&gt;this photo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/elephant_med.jpg&quot; alt=&quot;Elephant watercolor&quot; /&gt;&lt;/p&gt;

&lt;p&gt;My daughter lost the ladybug she was carrying on our way home from church.  She was sad, so I suggested we make and hang up &lt;em&gt;Missing&lt;/em&gt; signs.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/art/ladybug_med.jpg&quot; alt=&quot;Watercolor missing ladybug sign&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2019/04/26/art-elephant-and-ladybug.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2019/04/26/art-elephant-and-ladybug.html</guid>
        
        <category>art</category>
        
        
      </item>
    
      <item>
        <title>Thanks</title>
        <description>&lt;p&gt;There are two kinds of people in this world: sources and sinks.  Those who give and those who take.  You know that guy who always makes you feel optimistic and hopeful? He’s a source.  As Oscar Wilde put it:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Some cause happiness wherever they go; others whenever they go.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Some live as a life-giving spring: feeding and inspiring nearby folks as they wend their way across the land.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Photo by Marc Zimmer on Unsplash&quot; src=&quot;/images/thanks/spring.jpg&quot; style=&quot;border-radius: 6px;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Anyway…&lt;/p&gt;

&lt;p&gt;as I work on various projects, I’ve noticed that one thing motivates me almost more than anything else—gratitude.  Yes, yes, when we got our first sale I did a little dance.  That was exciting and motivating.  But when people stop to say thank you, in an email, post or chat, it motivates me all the more.  A little thanks can make a lonely, discouraging day much brighter.  Because truthfully, we all waffle between being sources and sinks at times.&lt;/p&gt;

&lt;p&gt;Consider who you could thank today.  A spouse, child, co-worker, cashier, open source maintainer, stranger or friend.&lt;/p&gt;

&lt;p&gt;Be a source.&lt;/p&gt;

</description>
        <pubDate>Tue, 15 May 2018 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2018/05/15/thanks.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2018/05/15/thanks.html</guid>
        
        
      </item>
    
      <item>
        <title>Disaster</title>
        <description>&lt;p&gt;This last weekend, we were challenged to do a mock emergency drill, pretending that our water was contaminated and the electricity was out for two days.  Some also pretended their houses were destroyed.&lt;/p&gt;

&lt;p&gt;We debated doing it for the full 48 hours or just one day.  Eventually we settled on one day, and by the end of the day, with a sink full of dishes and a lot of our water gone, I’m glad we did.&lt;/p&gt;

&lt;p&gt;We still learned a lot.  Here’s what I learned:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I am spoiled.&lt;/strong&gt;  Living out of 5-gallon drums of water reminded me so much of my mission.  I always had indoor plumbing, but not everyone I met did.  We live like kings and queens.  It would be life-changing to enable people to get plumbing.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;A lot of emergency preparedness focuses on eating and drinking, which is important.  I found that cooking food was easy enough, but &lt;strong&gt;cleaning is hard&lt;/strong&gt; without plumbed water.  Doing dishes takes a lot of water (at least for my inept hands).  Doing laundry and dishes by hand would be a full time job.  I’d love to figure out a better way to do these.  In the meantime, we now have an emergency supply of disposable plates and utensils (it was my first purchase after the event).&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Having another person helps a lot.&lt;/strong&gt;  Washing your hands with a bottle of water or jug is a lot easier when someone else can pour the water over your hands.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;We don’t have enough water.  We used about 10 gallons in 24 hours.  We need more gallons.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I like 5 gallon containers much more than 50 gallon barrels.  This is probably a preference thing, but the smaller size is much more manageable for me and my family.  We’re going to slowly replace our large barrel with smaller containers (even though it will probably end up costing more).&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I sure missed the garbage disposal.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;We should get at least a small solar panel for charging electronics and lights.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;We are going to look into solar power/generators for powering the ceiling fan, garage door, porch lights, etc..&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;If you’re walking by flashlight, clean up toys before dark.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;It’s good that I hide things from my children.  When the disaster struck, they all gathered their flashlights. … so for Christmas, my dad gave all his grandchildren flashlights and said, “These batteries will last forever.”  I think he’s forgotten how children use flashlights.  Anyway, after no one’s flashlight worked, I went to my secret stash of flashlights and everyone was grateful.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I need to always have a stack of books I haven’t read yet.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Our piano is electric, but the ukulele isn’t.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I’m glad we have windows.  And I was surprised how cool our house stayed by opening windows in the morning and keeping the blinds shut during the day.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’m glad we did this drill.  We’ve already made some changes and are looking forward to trying it again next year.&lt;/p&gt;
</description>
        <pubDate>Mon, 31 Jul 2017 00:00:00 +0000</pubDate>
        <link>http://www.iffycan.com/2017/07/31/disaster.html</link>
        <guid isPermaLink="true">http://www.iffycan.com/2017/07/31/disaster.html</guid>
        
        
      </item>
    
  </channel>
</rss>
