<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:atom="http://www.w3.org/2005/Atom"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
 xmlns:georss="http://www.georss.org/georss"
 xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
 xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<atom:link href="https://wumpus.life/posts/rss.xml" rel="self" type="application/rss+xml" />
<title>Wumpus Feed</title>
<link>https://wumpus.life/</link>
<description><![CDATA[rss feed for The Wumpus Warehouse]]></description>
<language>en</language>
<lastBuildDate>Tue, 31 Mar 2026 00:51:25 -0400</lastBuildDate>
<generator>Emacs 30.2 org-publish-rss.el 0.6</generator>
<webMaster>Alec Barreto</webMaster>
<managingEditor>Alec Barreto</managingEditor>
<item>
<title>Hiding Buffers in Emacs</title>
<link>https://wumpus.life/posts/hiding-buffers-in-emacs.html</link>
<pubDate>Fri, 09 May 2025 00:00:00 -0400</pubDate>
<guid isPermaLink="false">7091b6ce-2aeb-45c6-ab5c-827e398aded1</guid>
<description>
<![CDATA[<p>
Emacs users can quickly become overwhelmed by the large amount of buffers which accumulate.
Many of these are ancillary buffers created by various packages which govern aspects of the package, such as logging or process management.
Some of these can be killed, but usually it's a good idea (or even necessary) to keep them around.
</p>

<p>
These ancillary buffers come in 2 flavors:
</p>
<ol class="org-ol">
<li>The ones you never want to see</li>
<li>The ones you occasionally want to see</li>
</ol>
<div id="outline-container-orge111bbe" class="outline-2">
<h2 id="orge111bbe"><span class="section-number-2">1.</span> Buffers You Never Want to See</h2>
<div class="outline-text-2" id="text-1">
<p>
In the first case, Emacs by default considers buffers with names starting with a space to be <i>hidden</i>.
So renaming a buffer using <code>rename-buffer</code> (<code>C-x x r</code>) to something with a leading space will mark the buffer as hidden.
This means that the buffer will not be completed/listed by commands such as <code>switch-to-buffer</code> and <code>ido-switch-buffer</code>.
It also won't be selected by <code>previous-buffer</code> (<code>C-x &lt;left&gt;</code>) or <code>next-buffer</code> (<code>C-x &lt;right&gt;</code>).
</p>

<p>
This is a fairly drastic measure, as the only real way to manually switch to a buffer hidden like this is by either typing its name precisely after calling something like <code>switch-to-buffer</code>, or using a package like <code>consult</code> and calling <code>consult-buffer SPC</code>.
</p>
</div>
</div>
<div id="outline-container-org7c44ebe" class="outline-2">
<h2 id="org7c44ebe"><span class="section-number-2">2.</span> Buffers You Occasionally Want to See</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-orge1e0fea" class="outline-3">
<h3 id="orge1e0fea"><span class="section-number-3">2.1.</span> Basics</h3>
<div class="outline-text-3" id="text-2-1">
<p>
In the second case, for buffers which you don't want to get in your way when switching between buffers quickly but <b>do</b> occasionally want to pull up, we have the variable <code>switch-to-prev-buffer-skip</code> (and its regexp cousin).
This variable determines whether or not <code>previous-buffer</code> and <code>next=buffer</code> (and their cousins) will switch to a given buffer when it's "next" on the list.
It can take on a few specific values, but in the general case it points to a predicate function of the buffer being switched to.
</p>

<p>
For example:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span class="org-keyword">defun</span> <span class="org-function-name">buffer-skip-p</span> (_window buffer _bury-or-kill)
  (<span class="org-keyword">with-current-buffer</span> buffer
    (eq major-mode 'rust-mode)))

(<span class="org-keyword">setopt</span> switch-to-prev-buffer-skip 'buffer-skip-p)
</pre>
</div>

<p>
Here we define a function which takes in a <code>window</code>, <code>buffer</code>, and whether or not to <code>bury-or-kill</code> the buffer being switched to.
It then evaluates to <code>t</code> whenever the major mode of the buffer is <code>rust-mode</code>.
Finally, we set <code>switch-to-prev-buffer-skip</code> to our function's symbol.
Now, whenever we call e.g. <code>next-buffer</code>, it will look up and call this function, and if it returns <code>t</code> because the mode of the buffer is <code>rust-mode</code>, it will not switch to it, but instead to whatever the next buffer on the list is which this function would return <code>nil</code> on (phew!).
</p>

<p>
Not that this variable does <b>not</b> affect functions like  <code>switch-to-buffer</code> or <code>ido-switch-buffer</code>.
</p>

<p>
Note also the function signature.
It expects 3 parameters, so it can incorporate info from the <code>window</code> or the <code>bury-or-kill</code> status in order to determine whether or not the buffer should be skipped.
The example above simply disregards that info.
</p>
</div>
</div>
<div id="outline-container-orgb0be8c9" class="outline-3">
<h3 id="orgb0be8c9"><span class="section-number-3">2.2.</span> Polish</h3>
<div class="outline-text-3" id="text-2-2">
<p>
This is all well and good, but there might not a be semantic rule that all buffers which you want to keep quasi-hidden obey.
You may instead have a bespoke list of buffers specific to your packages and how you use them which you want to hide.
But this is easy enough to do with <code>swtch-to-prev-buffer-skip</code>.
</p>

<p>
Consider:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span class="org-keyword">defvar</span> <span class="org-variable-name">hidden-buffers</span> '(<span class="org-string">"blazing-webapp.rs"</span> <span class="org-string">"rocket-cli.rs"</span>))

(<span class="org-keyword">defun</span> <span class="org-function-name">buffer-skip-p</span> (_window buffer _bury-or-kill)
  (member (buffer-name buffer) hidden-buffers))
</pre>
</div>

<p>
Here we simply declare a list of "hidden" buffers by their names as strings, and have <code>buffer-skip-p</code> check if the given buffer's name is in the list.
Now we can hide any buffers we want!
</p>

<p>
A couple of QOL improvements would be a method for quickly adding buffers to this list, and a way to ensure that this list var persists across emacs sessions.
</p>

<p>
Here is the final setup with these extra niceties<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>:
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">(<span class="org-keyword">defvar</span> <span class="org-variable-name">hidden-buffers</span> '())

(<span class="org-keyword">with-eval-after-load</span> 'savehist
  (add-to-list 'savehist-additional-variables hidden-buffers))

(<span class="org-keyword">defun</span> <span class="org-function-name">hidden-buffer-p</span> (_window buffer _bury-or-kill)
  (member (buffer-name buffer) hidden-buffers))

(<span class="org-keyword">setopt</span> switch-to-prev-buffer-skip 'hidden-buffer-p)

(<span class="org-keyword">defun</span> <span class="org-function-name">hide-buffer</span> ()
  (<span class="org-keyword">interactive</span>)
  (<span class="org-keyword">cl-pushnew</span> (buffer-name) hidden-buffers
              <span class="org-builtin">:test</span> #'string=))

(<span class="org-keyword">defun</span> <span class="org-function-name">unhide-buffer</span> ()
  (<span class="org-keyword">interactive</span>)
  (<span class="org-keyword">setq</span> hidden-buffers (remove (buffer-name) hidden-buffers)))

(keymap-global-set <span class="org-string">"C-c b h"</span> 'hide-buffer)
(keymap-global-set <span class="org-string">"C-c b u"</span> 'unhide-buffer)
</pre>
</div>

<p>
Now, whenever we find ourselves in a buffer we'd rather not deal with during our regular emacs-ing, we can simply call <code>C-c b h</code> to hide the buffer by name.
If we decide that a buffer has been neglected for too long, we can switch to it with something like <code>switch-to-buffer</code>, and unhide it with <code>C-c b u</code>.
</p>
</div>
</div>
</div>
<div id="outline-container-orgc689b5d" class="outline-2">
<h2 id="orgc689b5d"><span class="section-number-2">3.</span> Conclusion</h2>
<div class="outline-text-2" id="text-3">
<p>
This totally changed how I do buffer management, from exclusively relying on <code>switch-to-buffer</code> + completion packages like <code>vertico</code> and <code>orderless</code>, to actually binding <code>next-buffer</code> and <code>previous-buffer</code> to nice keys and using them liberally to quickly jump around only the most relevant buffers.
</p>

<p>
I hope you found this helpful!
You can find <a href="https://wumpus.life/posts/../emacs-config.html">my entire emacs config here</a>
</p>
</div>
</div>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">

<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
Thanks to <a href="https://www.reddit.com/user/7890yuiop/">u/789yuiop</a> for helping clean up this code.
</p></div></div>


</div>
</div>]]>
</description></item>
<item>
<title>What Might Functional Programming Mean</title>
<link>https://wumpus.life/posts/functional-programming.html</link>
<pubDate>Thu, 09 Oct 2025 00:00:00 -0400</pubDate>
<guid isPermaLink="false">14f76930-b6b8-4b65-babb-bceab8a255bf</guid>
<description>
<![CDATA[<p>
There are many arguments about the virtues and vices of functional programming.
But it can be difficult to find an agreed upon meaning of the phrase.
Here, I want to explore some of the most common characteristics of functional programming that I've seen floating around, and discuss each of them in turn, with the ultimate question in mind: how much should we care about them?
In particular, I want to see if there's really an argument to be made for preferring these characteristics absolutely over competing ones, if they are useful at all.
</p>
<div id="outline-container-orgac60e28" class="outline-3">
<h3 id="orgac60e28">TLDR<sub>0</sub></h3>
<div class="outline-text-3" id="text-orgac60e28">
<p>
I want to know what functional programming is, and if it's a good thing.
</p>

<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org5a2df7b">Programming with Functions</a></li>
<li><a href="#org93bfcc2">No Side Effects</a></li>
<li><a href="#org1272db7">Immutable Data</a></li>
<li><a href="#org06d4e7d">Pure Functions</a></li>
<li><a href="#org0247c45">Conclusion</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-org5a2df7b" class="outline-2">
<h2 id="org5a2df7b">Programming with Functions</h2>
<div class="outline-text-2" id="text-org5a2df7b">
<p>
One of the oldest and most popular understandings of functional programming is that it's, well, programming with functions!
</p>

<blockquote>
<p>
In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions.
</p>

<p>
&#x2014;Wikipedia
</p>
</blockquote>

<p>
Of course this statement is worthless on its own, as all computer programming "paradigms" with names involve applying and composing functions.
Instead, the key idea is to treat functions as proper data objects.
That is, as things that can be bound to variables, passed as arguments to other functions, and returned as values from other functions.
This is called treating <b>functions as first-class citizens</b>, and is the first real innovation in the tradition that would come to be known as functional programming, when it was first introduced by Lisp at MIT starting in the late 1950s.
</p>
</div>
<div id="outline-container-orgfac0ec5" class="outline-3">
<h3 id="orgfac0ec5">Functions as First-Class Citizens</h3>
<div class="outline-text-3" id="text-orgfac0ec5">
<p>
However, treating functions as first class citizens, like "programming with functions", is too broad!
There are two questions one could ask:
</p>

<ol class="org-ol">
<li>Am I <i>able</i> to treat functions as first-class citizens?</li>
<li>Do I <i>want</i> to treat functions as first-class citizens?</li>
</ol>
</div>
<div id="outline-container-orgfad8b5a" class="outline-4">
<h4 id="orgfad8b5a">Power</h4>
<div class="outline-text-4" id="text-orgfad8b5a">
<p>
For (1), the answer is entirely determined by the programming language one is using.
Although it was a novelty 60 years ago, many programming languages which are widely considered to be <i>not</i> functional have support for first class functions.
So while affirming (1) is almost certainly a necessary condition for functional programming, it is not sufficient.
</p>
</div>
</div>
<div id="outline-container-org909ceca" class="outline-4">
<h4 id="org909ceca">Desire</h4>
<div class="outline-text-4" id="text-org909ceca">
<p>
Perhaps then functional programming is about absolutely affirming (2).
To be doing functional programming is to be <i>always</i> either binding a function to a variable, or calling a function which returns a function, or passing a function in as an argument to another function, or some combination thereof.
But this is of course ridiculous, as there are many other things you do while programming which involve none of these things, even in the most pure functional programming languages.
The most obvious ones being either binding a non-function value to a variable, or returning a non-function value from a function.<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>
</p>

<p>
All that's left then is not to affirm (2) absolutely, but rather <b>conditionally</b>.
That is, to be doing functional programming is to sometimes treat functions as values (including using a language which facilitates such).
But this is another widely held belief, which is evidenced by the widespread adoption of the capability at the language level in more recent years, again even in languages which are considered to be not functional, and utilized by those who don't consider themselves to be doing anything like "functional programming".
</p>
</div>
</div>
</div>
<div id="outline-container-org812cd08" class="outline-3">
<h3 id="org812cd08">TLDR<sub>1</sub></h3>
<div class="outline-text-3" id="text-org812cd08">
<p>
Functional Programming as "<i>treating functions as first class citizens</i>" is at best something which is sometimes useful to do, and is a non-controversial practice.
</p>
</div>
</div>
</div>
<div id="outline-container-org93bfcc2" class="outline-2">
<h2 id="org93bfcc2">No Side Effects</h2>
<div class="outline-text-2" id="text-org93bfcc2">
<p>
Perhaps the most popular (yet least interesting) description of functional programming is that it is programming without side effects.
Here a "side effect", which should just be called an effect, is anything that a piece of code causes to happen.
Since the point of writing computer programs is to cause computers to do things, trying to write a computer program which does nothing is all but nonsensical.
I think that is enough that needs to be said about this idea, but since it is so widely discussed, I will say more.
</p>
</div>
<div id="outline-container-orgf412451" class="outline-3">
<h3 id="orgf412451">Alternatives</h3>
<div class="outline-text-3" id="text-orgf412451">
<p>
There is one slightly more reasonable, and two much more reasonable, opinions which people often mean when they talk about no side effects:
</p>

<ol class="org-ol">
<li>There are no references to side effects in the language specification
<ul class="org-ul">
<li>An implementation of that language may perform side effects when it processes certain expressions</li>
</ul></li>
<li>Side effects are dangerous and so we should be careful about how we use them</li>
<li>All data structures in the language are immutable</li>
</ol>

<p>
I will discuss (3) in the <a href="#org1272db7">next section.</a>
</p>
</div>
<div id="outline-container-orgceb0d89" class="outline-4">
<h4 id="orgceb0d89">Language Specification</h4>
<div class="outline-text-4" id="text-orgceb0d89">
<p>
As for (1), it's hard for me to imagine why anyone would care about this.
All programs are free from side effects in the abstract, and all programs have side effects in reality when run on a computer.
The fact that a programming language spec doesn't allow you to express the idea of an effect doesn't change either of these facts.
You still have to deal with side effects when you actually run it, and you can still ignore side effects when abstractly reasoning about it.
There are perhaps some intellectually interesting properties of languages which don't reference side effects, but here I am discussing functional <i>programming</i> as a <b>paradigm</b>, not functional programming <i>language theory</i>.
</p>
</div>
</div>
<div id="outline-container-orge2af484" class="outline-4">
<h4 id="orge2af484">Caution</h4>
<div class="outline-text-4" id="text-orge2af484">
<p>
Finally for (2), this seems very reasonable, but again has become a widely held belief amongst programmers in general, not just functional advocates.
However here I do believe that there is still a gap, as the ramifications of <b>undisciplined</b> employment of effectful procedures is sometimes not fully appreciated by those with no exposure to functional programming.
</p>
</div>
</div>
</div>
<div id="outline-container-org6fc3673" class="outline-3">
<h3 id="org6fc3673">TLDR<sub>2</sub></h3>
<div class="outline-text-3" id="text-org6fc3673">
<p>
Functional programming as "<i>programming without side effects</i>" is nonsense, but recognizing the dangers of side effects is helpful, which is mostly non-controversial.
</p>
</div>
</div>
</div>
<div id="outline-container-org1272db7" class="outline-2">
<h2 id="org1272db7">Immutable Data</h2>
<div class="outline-text-2" id="text-org1272db7">
<p>
We have now arrived at what I consider to be the most reasonable and important sense in which functional programming is worth talking about.
The absolutist version of the idea is simple: <b>you should never mutate data</b>.
This usually means that the programming language itself should support this by offering no primitives for mutation, thus making all data structures immutable.
</p>

<p>
This is a genuinely controversial idea which actually has the promise of being worthwhile, as it is already the case in a few programming languages.
The only widely used languages for general purpose programming with this quality that I am aware of are Haskell and Erlang/Elixir.
</p>

<p>
The most obvious benefit of this is that it is easier to reason about code when you don't have to worry about the "current" state of any internal data.
</p>

<blockquote>
<p>
When I'm sitting down to do what I consider serious programming, it's still in C++, and it's really kind of a C flavored C++ at that. <br />
&#x2026; <br />
There is a lot of value [in functional programming] in the way you think about things&#x2026; the value that comes out of not having this random mutable state that you kind of lose track of.
</p>

<p>
&#x2014;John Carmack
</p>
</blockquote>
</div>
<div id="outline-container-orgfdd2341" class="outline-3">
<h3 id="orgfdd2341">The Rub</h3>
<div class="outline-text-3" id="text-orgfdd2341">
<p>
There are minor potential downsides, such as performance, which I won't discuss here.
Rather, I wish to discuss what I see as the only candidate for a fundamental downside.
</p>

<p>
When we write computer programs, we often want to model some part of the world.
Since part of our goal when writing computer programs is <i>always</i> to change the state of the world, it often seems useful to reify those mutable parts of the world in our program.
And the fact that they are mutable is not an incidental property we can ignore, but essential to the problem at hand.<sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup>
</p>

<p>
So it seems that we <b>lose a kind of expressive power with immutable data structures</b>.
This is especially evident in areas such as  graphical programming, where it can be difficult to imagine not modeling graphical objects as those with states that change over time.
But even here there has been work to come up with functional paradigms, albeit with no obvious grand success of which I am aware.
</p>
</div>
</div>
<div id="outline-container-org6cb9717" class="outline-3">
<h3 id="org6cb9717">TLDR<sub>3</sub></h3>
<div class="outline-text-3" id="text-org6cb9717">
<p>
Functional programming as "<i>programming exclusively with immutable data</i>" is an interesting and still yet-to-be widely accepted approach to programming which is worth talking about. The dangers of <i>undisciplined</i> data mutation are widely known and non-controversial.
</p>
</div>
</div>
</div>
<div id="outline-container-org06d4e7d" class="outline-2">
<h2 id="org06d4e7d">Pure Functions</h2>
<div class="outline-text-2" id="text-org06d4e7d">
<p>
Finally we have by far the most complex idea in functional programming, yet also one of the most useless.
The idea is that all functions you write/use should be "pure" functions.
There are at least 4 different properties people tend to bring up when talking about pure functions:
</p>

<ol class="org-ol">
<li>No side effects</li>
<li>No mutation</li>
<li>Only looks at arguments</li>
<li>Same input &lt;&#x2014;&gt; Same output</li>
</ol>

<p>
We have already discussed (1) and (2).
</p>
</div>
<div id="outline-container-orgd6ea8d8" class="outline-3">
<h3 id="orgd6ea8d8">Only Arguments</h3>
<div class="outline-text-3" id="text-orgd6ea8d8">
<p>
(3) is terribly misleading, funnily because of not taking seriously the idea of functions as values.
It is virtually impossible to write a function which <i>only</i> looks at its arguments.
Consider the following function definition:
</p>

<div class="org-src-container">
<pre class="src src-scheme">(<span class="org-keyword">define</span> <span class="org-function-name">square</span>
  (<span class="org-keyword">lambda</span> (x)
    (* x x)))
</pre>
</div>

<p>
There is a non-local reference here: <code>*</code>! <br />
<b>Every function consists of references to non-local data.</b>
What makes the above code actually "transparent" to reason about is <b>lexical scoping</b>.
That is, the fact that the value which is bound to <code>*</code> within the scope of the function cannot be changed outside the scope of the function after its definition.
Note that immutability also makes a difference here, because it ensures that there is no <i>time</i> attached to this definition.
If there were mutation in the language of the above code, mutating the value of <code>*</code> before the definition is made could cause confusion.
</p>
</div>
</div>
<div id="outline-container-org1af1697" class="outline-3">
<h3 id="org1af1697">Input &lt;&#x2014;&gt; Output</h3>
<div class="outline-text-3" id="text-org1af1697">
<p>
That leaves us with (4).
But we obviously don't want <i>all</i> functions to return the same value given the same arguments + environment, because we would like to read in data from the outside world.
So we can't take an absolutist stance to (4), only a conditional one.
But that functions should <i>generally</i> return the same thing given the same arguments is widely agreed upon.
</p>

<p>
Therefore, talking about pure functions either reduces to talking about something else (like immutability or side effects), or is pointless/trivial.
</p>
</div>
</div>
<div id="outline-container-org17aae98" class="outline-3">
<h3 id="org17aae98">TLDR<sub>4</sub></h3>
<div class="outline-text-3" id="text-org17aae98">
<p>
Functional programming as "<i>programming with pure functions</i>" is a useless notion.
</p>
</div>
</div>
</div>
<div id="outline-container-org0247c45" class="outline-2">
<h2 id="org0247c45">Conclusion</h2>
<div class="outline-text-2" id="text-org0247c45">
<p>
Most of the traditional qualities of functional programming have been adopted by programmers and programming languages which both functional and non-functional advocates alike agree are not functional in nature.
</p>

<p>
The only exception to this I see is the still seemingly contested approach to (im)mutable data.
The idea that immutability is the core of functional programming  goes back all the way to at least the 1970s<sup><a id="fnr.3" class="footref" href="#fn.3" role="doc-backlink">3</a></sup>, and so has historical legitimacy as well.
Therefore, I believe that talking about functional programming as immutable programming is the most clear and sensible approach to the subject.
</p>
</div>
<div id="outline-container-orgbe18e03" class="outline-3">
<h3 id="orgbe18e03">Bath Water</h3>
<div class="outline-text-3" id="text-orgbe18e03">
<p>
In addition to this, most if not all of the other ideas discussed in this article are related to each other.
It is difficult to program with immutable data without first-class functions, and it is easier to control side effects with immutable data.
Thus I don't think there is any need to censor speech about these other qualities in relation to functional programming.
But, rather than talking about them as part of a constellation of functional qualities, we should instead speak of them as the branches of a tree rooted in the idea of immutability.
</p>
</div>
</div>
<div id="outline-container-org74f8826" class="outline-3">
<h3 id="org74f8826">Loose Ends</h3>
<div class="outline-text-3" id="text-org74f8826">
<p>
Finally, there are a few other things people bring up when talking about functional programming, such as:
</p>

<ul class="org-ul">
<li>Pattern Matching</li>
<li>Recursion / Tail Call Optimization</li>
<li>Lazy Evaluation</li>
<li>Type Systems</li>
</ul>

<p>
and more.
However, these are all potential concrete features of a programming <i>language</i>, not a programming paradigm.
I would classify them similarly to everything which is not immutable data that we've already discussed: things which pair nicely with functional programming.
</p>
</div>
</div>
<div id="outline-container-org27712e0" class="outline-3">
<h3 id="org27712e0">TLDR<sub>5</sub></h3>
<div class="outline-text-3" id="text-org27712e0">
<p>
Functional programming <i>is</i> immutable programming, which makes it very cool 😎.
</p>
</div>
</div>
</div>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">

<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
We are definitely ignoring philosophical questions about identity and constructs like lambda encodings.
</p></div></div>

<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
For a more in-depth discussion of these ideas, see <a href="https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html">Structure and Interpretations of Computer Programs</a> chapter 3.
</p></div></div>

<div class="footdef"><sup><a id="fn.3" class="footnum" href="#fnr.3" role="doc-backlink">3</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
Again, see SICP.
</p></div></div>


</div>
</div>]]>
</description></item>
<item>
<title>Pacific NW Road Trip Travels</title>
<link>https://wumpus.life/posts/pacific-nw-road-trip-travels.html</link>
<pubDate>Thu, 12 Sep 2024 00:00:00 -0400</pubDate>
<guid isPermaLink="false">8b0ab603-ecfc-40e4-9e16-e7cf5e93bdf4</guid>
<description>
<![CDATA[<p>
Hey! My name is Grace, and this documents my road trip in the Pacific NW with my boyfriend Alec. This will highlight our favorite hikes, camp sites, activities, and food stops along our journey.
</p>

<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org87c7fef">Washington</a>
<ul>
<li><a href="#org4d388af">North Cascades National Park</a></li>
<li><a href="#orgd0096e9">Olympic National Park</a></li>
<li><a href="#org6eb12c3">Mount Rainier National Park</a></li>
</ul>
</li>
<li><a href="#orga9c28c5">Oregon</a>
<ul>
<li><a href="#org6e77742">Stopping for Donuts in Portland</a></li>
<li><a href="#org16ace59">The Fruit Loop</a></li>
<li><a href="#org35c696c">Mount Hood National Forest</a></li>
<li><a href="#org3427a7e">The Last Blockbuster</a></li>
<li><a href="#orgf5e39b2">Diamond Lake</a></li>
<li><a href="#orgd9c2e8f">Crater Lake National Park</a></li>
</ul>
</li>
<li><a href="#org95b954c">California</a>
<ul>
<li><a href="#orgdbef494">Redwoods National Park</a></li>
<li><a href="#org1b65267">Lassen Volcanic National Park</a></li>
<li><a href="#orgd611fd8">Shasta-Trinity National Forest</a></li>
<li><a href="#orgc340946">Livermore Wine Country</a></li>
<li><a href="#orgad321aa">San Francisco</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-org87c7fef" class="outline-2">
<h2 id="org87c7fef">Washington</h2>
<div class="outline-text-2" id="text-org87c7fef">
</div>
<div id="outline-container-org4d388af" class="outline-3">
<h3 id="org4d388af">North Cascades National Park</h3>
<div class="outline-text-3" id="text-org4d388af">
</div>
<div id="outline-container-org50c7988" class="outline-4">
<h4 id="org50c7988">Thunder Knobb Trail</h4>
<div class="outline-text-4" id="text-org50c7988">
<p>
We started our journey by flying into Seattle, renting a campervan, and driving up to the North Cascades.
</p>


<div id="org0f608ec" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_004.jxl" alt="signal-2024-07-02-151814_004.jxl" />
</p>
<p><span class="figure-number">Figure 1: </span>Arriving in the North Cascades!</p>
</div>

<p>
We spent our first night at North Colonial Creek Campground, which is a beautiful camp on the water. In the morning we hiked the Thunder Knobb Trail, which left directly from our campsite. The hike took around 1.5 hours. First, we climbed up to an outlook of a snowy tipped mountain.
</p>


<div id="org4381ead" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_005.jxl" alt="signal-2024-07-02-151532_005.jxl" />
</p>
<p><span class="figure-number">Figure 2: </span>Thunder Knobb Trail Outlook 1</p>
</div>

<p>
Then, we kept going up to end the hike at a beautiful view of the very light blue Diablo Lake.
</p>


<div id="orgda7a1d3" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_002.jxl" alt="signal-2024-07-02-151814_002.jxl" />
</p>
<p><span class="figure-number">Figure 3: </span>Reaching the Diablo Lake Outlook</p>
</div>



<div id="orgccea021" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_002.jxl" alt="signal-2024-07-02-151532_002.jxl" />
</p>
<p><span class="figure-number">Figure 4: </span>Diablo Lake Outlook</p>
</div>



<div id="org1e4c109" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_003.jxl" alt="signal-2024-07-02-151532_003.jxl" />
</p>
<p><span class="figure-number">Figure 5: </span>Another Scenic Shot of Diablo Lake</p>
</div>



<div id="org2ee499e" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_004.jxl" alt="signal-2024-07-02-151532_004.jxl" />
</p>
<p><span class="figure-number">Figure 6: </span>One Last Shot of Diablo Lake</p>
</div>

<p>
This hike was short and sweet with great views! We loved the convenience of it leaving from our campsite, and it was a great way to start the morning off.
</p>


<div id="org41246aa" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_003.jxl" alt="signal-2024-07-02-151814_003.jxl" />
</p>
<p><span class="figure-number">Figure 7: </span>Photo from North Colonial Creek Campground</p>
</div>
</div>
</div>
<div id="outline-container-org34714d9" class="outline-4">
<h4 id="org34714d9">Blue Lakes Trail</h4>
<div class="outline-text-4" id="text-org34714d9">
<p>
We hiked the Blue Lakes Trail in mid-June. The trail was beautiful, but it was still quite snow covered. If you don't have snow gear, I would recommend holding off on this trail until July or August. This trail is a steady climb to a beautiful blue lake with reflected views of the mountains. However, right before we reached the final viewpoint of the trail, we saw a mountain goat on the trail. He started to follow us, so we turned back before reaching the final viewpoint to avoid any potential issues with the mountain goat. We learned from other hikers on our return that this mountain goat is friendly and frequents the trail often because people have been feeding him. We quite enjoyed this trail and the opportunity to see a mountain goat. We would love to return to this trail in July or August for a less snowy hike and for a chance to make it to the final viewpoint.
</p>


<div id="org3551463" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_006.jxl" alt="signal-2024-07-02-151532_006.jxl" />
</p>
<p><span class="figure-number">Figure 8: </span>The Mountain Goat on the Blue Lakes Trail</p>
</div>



<div id="org903794b" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151532_007.jxl" alt="signal-2024-07-02-151532_007.jxl" />
</p>
<p><span class="figure-number">Figure 9: </span>Scenic Shot on the Hike Up</p>
</div>



<div id="org544faa2" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_005.jxl" alt="signal-2024-07-02-151814_005.jxl" />
</p>
<p><span class="figure-number">Figure 10: </span>Hiking Up the Trail</p>
</div>
</div>
</div>
<div id="outline-container-org0469233" class="outline-4">
<h4 id="org0469233">North Cascades Scenic Highway</h4>
<div class="outline-text-4" id="text-org0469233">
<p>
To finish up our time in the North Cascades, we drove the North Cascades Scenic Highway for some great views. We then followed the highway out of the park and to our next stop.
</p>
</div>
</div>
<div id="outline-container-org1afaaf6" class="outline-4">
<h4 id="org1afaaf6">Winthrop</h4>
<div class="outline-text-4" id="text-org1afaaf6">
<p>
Winthrop is a super cute old fashioned style town just outside of the North Cascades. We stopped here to walk around, check out the outdoors store, stop in the candy store, and grab a bite to eat. We had lunch at Oliver's Artisan Kitchen, which had great sandwiches, crepes, and hot chocolate (which was especially needed after our snowy hike on the Blue Lake Trail). 
</p>


<div id="orgaf116d7" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_006.jxl" alt="signal-2024-07-02-151814_006.jxl" />
</p>
<p><span class="figure-number">Figure 11: </span>Photo with the Winthrop Cowboy</p>
</div>

<p>
Winthrop was our last stop in the North Cascades. The North Cascades was our favorite National Park in Washington, and we would love to come back and do more of the hikes it has to offer.
</p>
</div>
</div>
</div>
<div id="outline-container-orgd0096e9" class="outline-3">
<h3 id="orgd0096e9">Olympic National Park</h3>
<div class="outline-text-3" id="text-orgd0096e9">
</div>
<div id="outline-container-orgc749e68" class="outline-4">
<h4 id="orgc749e68">Lake Quinault</h4>
<div class="outline-text-4" id="text-orgc749e68">
<p>
Olympic National Park is a very large and diverse national park. We used the GuideAlong app to help navigate our time in Olympic. We started our trip at Lake Quinault where we did a short rainforest nature walk and then drove a scenic loop around Lake Quinault. Our rainforest walk was called the Rainforest Nature Trail, and we would say it's definitely worth a stop. The scenic drive around the Lake was nice, and we did pop out for a scenic waterfall stop. However, the road around the lake had a lot of potholes, which was a bit hard on our campervan, so we do not plan to return to this drive.
</p>


<div id="org4501d1f" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_014.jxl" alt="signal-2024-07-02-151505_014.jxl" />
</p>
<p><span class="figure-number">Figure 12: </span>Rainforest Nature Walk</p>
</div>



<div id="org31a3a95" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_013.jxl" alt="signal-2024-07-02-151505_013.jxl" />
</p>
<p><span class="figure-number">Figure 13: </span>Scenic Stop by a Waterfall on the Lake Quinault Scenic Loop</p>
</div>
</div>
</div>
<div id="outline-container-orge185c9f" class="outline-4">
<h4 id="orge185c9f">Tree of Life</h4>
<div class="outline-text-4" id="text-orge185c9f">
<p>
After Lake Quinault, we drove toward the shore and made a stop at Kalaloch Beach to see the Tree of Life. The Tree of Life had all the soil beneath it blown out by a big storm, so it appears to be suspended in mid-air. We thought this was a fun stop to make.
</p>


<div id="org6a4c963" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_012.jxl" alt="signal-2024-07-02-151505_012.jxl" />
</p>
<p><span class="figure-number">Figure 14: </span>The Tree of Life</p>
</div>
</div>
</div>
<div id="outline-container-orgdbbce99" class="outline-4">
<h4 id="orgdbbce99">Ruby Beach</h4>
<div class="outline-text-4" id="text-orgdbbce99">
<p>
We continued along the coast until we hit Ruby Beach, which was a nice lunch stop. We stopped at an overlook before walking down to the beach and appreciating the cool rock formations by the shore.
</p>


<div id="orgb028867" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_010.jxl" alt="signal-2024-07-02-151505_010.jxl" />
</p>
<p><span class="figure-number">Figure 15: </span>Ruby Beach Overlook</p>
</div>



<div id="orgcae166b" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_006.jxl" alt="signal-2024-07-02-151505_006.jxl" />
</p>
<p><span class="figure-number">Figure 16: </span>Rock Arch at Ruby Beach</p>
</div>
</div>
</div>
<div id="outline-container-orgef47cd0" class="outline-4">
<h4 id="orgef47cd0">Hoh Rainforest</h4>
<div class="outline-text-4" id="text-orgef47cd0">
<p>
We started our time in the Hoh Rainforest at the Hall of Mosses. This was a short loop that was very popular, but it was a great way to see lots of large trees that were dramatically draped in moss.
</p>


<div id="orgabb2563" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_008.jxl" alt="signal-2024-07-02-151505_008.jxl" />
</p>
<p><span class="figure-number">Figure 17: </span>Trail to the Hall of Mosses</p>
</div>



<div id="org74a84b7" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_007.jxl" alt="signal-2024-07-02-151814_007.jxl" />
</p>
<p><span class="figure-number">Figure 18: </span>Traveling Through the Hall of Mosses</p>
</div>



<div id="org9bc66ed" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_007.jxl" alt="signal-2024-07-02-151505_007.jxl" />
</p>
<p><span class="figure-number">Figure 19: </span>Final Viewpoint in the Hall of Mosses</p>
</div>

<p>
Next, we started along the Hoh River Trail. This trail is 17.3 miles long and is intended for a short backpacking trip to Glacier Meadows. The trail was very muddy, so make sure to bring waterproof shoes if you make this journey. We hiked just a bit into the trail, but we would love to come back and do this one as a backpacking trip.
</p>


<div id="org529dfef" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_009.jxl" alt="signal-2024-07-02-151505_009.jxl" />
</p>
<p><span class="figure-number">Figure 20: </span>Cool Tree Along the Way</p>
</div>
</div>
</div>
<div id="outline-container-orgecfcb04" class="outline-4">
<h4 id="orgecfcb04">Olympic Adventure Campgrounds</h4>
<div class="outline-text-4" id="text-orgecfcb04">
<p>
After Traveling up from Lake Quinault to the Hoh Rainforest, we spent the night at Olympic Adventure Campgrounds, which we booked through HipCamp. The campsite had a cute center where you could buy firewood and souvenirs. The campsites were surrounded by trees, and the campsite offered hot showers for five dollars.
</p>
</div>
</div>
<div id="outline-container-org536abdc" class="outline-4">
<h4 id="org536abdc">Rialto Beach</h4>
<div class="outline-text-4" id="text-org536abdc">
<p>
The next morning we drove just 20 minutes to Rialto Beach, and then, we walked along the shore. We loved seeing the cool rock formations along the beach.
</p>


<div id="org9f06f0c" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_004.jxl" alt="signal-2024-07-02-151505_004.jxl" />
</p>
<p><span class="figure-number">Figure 21: </span>Rock Formations at Rialto Beach</p>
</div>



<div id="orgfa9777f" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_010.jxl" alt="signal-2024-07-02-151814_010.jxl" />
</p>
<p><span class="figure-number">Figure 22: </span>Walking Along the Shore</p>
</div>
</div>
</div>
<div id="outline-container-org430a2c9" class="outline-4">
<h4 id="org430a2c9">Forks, Washington</h4>
<div class="outline-text-4" id="text-org430a2c9">
<p>
After Rialto Beach, we went into Forks to check out the Twilight Collection. However, the Twilight Collection does not open till 12:00 PM in the summer, so we instead went to the Twilight themed gift store across the street.
</p>


<div id="orgd9814b3" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_005.jxl" alt="signal-2024-07-02-151505_005.jxl" />
</p>
<p><span class="figure-number">Figure 23: </span>Welcome to Forks!</p>
</div>
</div>
</div>
<div id="outline-container-orgaee7303" class="outline-4">
<h4 id="orgaee7303">Hurricane Ridge</h4>
<div class="outline-text-4" id="text-orgaee7303">
<p>
Next, we drove up to Hurricane Ridge. The drive was steep and foggy (from driving in the clouds!), but the view at the top of Hurricane Ridge was well worth it. We were blown away by the amazing alpine views and we loved hiking on the Meadow Trails. This was our favorite area of the park, and we would love to come back for longer to do some more of the hikes in this area.
</p>


<div id="org0b44d1a" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_003.jxl" alt="signal-2024-07-02-151505_003.jxl" />
</p>
<p><span class="figure-number">Figure 24: </span>Hiking Along the Meadow Trails</p>
</div>



<div id="orga5345e8" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_009.jxl" alt="signal-2024-07-02-151814_009.jxl" />
</p>
<p><span class="figure-number">Figure 25: </span>Viewpoint from the Meadow Trails</p>
</div>
</div>
</div>
<div id="outline-container-orgf852740" class="outline-4">
<h4 id="orgf852740">Coho Campground</h4>
<div class="outline-text-4" id="text-orgf852740">
<p>
Coho Campground is located in Olympic National Forest and was booked through Recreation.gov. It was a very scenic campground where you could walk to the water and were surrounded by mossy trees. Olympic National Park was a great time where we saw rainforests, beaches, and alpine views. The park is very large and the drive between stops was not as scenic. We appreciated how many different sites we were able to see while at Olympic, but if we come back to Olympic in the future, we would probably concentrate our time in a specific area of the park to reduce driving time. We especially would like to spend more time in Hurricane Ridge. We did not get a chance to visit the Sol Duc Valley, Elwha Valley, or the Dungeness Spit, so we may also add those in as stops on a future trip. 
</p>
</div>
</div>
</div>
<div id="outline-container-org6eb12c3" class="outline-3">
<h3 id="org6eb12c3">Mount Rainier National Park</h3>
<div class="outline-text-3" id="text-org6eb12c3">
</div>
<div id="outline-container-org08bef7a" class="outline-4">
<h4 id="org08bef7a">Eatonville</h4>
<div class="outline-text-4" id="text-org08bef7a">
<p>
We started our trip to Mount Rainier by driving into Eatonville, which is a small town with a great view of Mount Rainier. While in Eatonville, we stopped at the Double T Meats to get some delicious garlic pepperoni for our trip. We then explored the town and stopped at Cruiser Cafe for some great fried potato skins and fries with gravy.
</p>
</div>
</div>
<div id="outline-container-org435f540" class="outline-4">
<h4 id="org435f540">Two Frog Bog</h4>
<div class="outline-text-4" id="text-org435f540">
<p>
We loved camping at the Two Frog Bog. They have tents set up for you or you can stay in a decorated small cabin. There is a public kitchen, showers, hammocks, a garden, and a group fire pit. The hot water in the showers is a little finicky and showering in the morning has optimal hot water. The parking was limited, but otherwise, this was a great site with lots to offer. There is also a very friendly cat who loves pets.
</p>


<div id="org28438d2" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151505_002.jxl" alt="signal-2024-07-02-151505_002.jxl" />
</p>
<p><span class="figure-number">Figure 26: </span>The Friendly Cat at Two Frog Bog</p>
</div>
</div>
</div>
<div id="outline-container-orge4cb676" class="outline-4">
<h4 id="orge4cb676">Summerland Trail</h4>
<div class="outline-text-4" id="text-orge4cb676">
<p>
We originally planned to hike the Naches Peak Loop, but the trail was completely covered in snow and was hard to follow. We would love to come back to do this trail in July or August. We instead ended up doing the Summerland Trail, which climbed steadily up to great mountain views and river overlooks.
</p>


<div id="org872bcb6" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_009.jxl" alt="signal-2024-07-02-151423_009.jxl" />
</p>
<p><span class="figure-number">Figure 27: </span>Summerland Trail View 1</p>
</div>



<div id="org4045331" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_007.jxl" alt="signal-2024-07-02-151423_007.jxl" />
</p>
<p><span class="figure-number">Figure 28: </span>Summerland Trail View 2</p>
</div>
</div>
</div>
<div id="outline-container-orgc1953e8" class="outline-4">
<h4 id="orgc1953e8">Enumclaw</h4>
<div class="outline-text-4" id="text-orgc1953e8">
<p>
On the way out of Mount Rainier, we stopped in Enumclaw where we found the Local Coffee House, which had amazing lattes and great donut holes.
We had a great time visiting Mount Rainier, and we would love to come back to see more of the trails in July or August.
</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orga9c28c5" class="outline-2">
<h2 id="orga9c28c5">Oregon</h2>
<div class="outline-text-2" id="text-orga9c28c5">
</div>
<div id="outline-container-org6e77742" class="outline-3">
<h3 id="org6e77742">Stopping for Donuts in Portland</h3>
<div class="outline-text-3" id="text-org6e77742">
<p>
Portland is famous for its donuts, and we stopped at two spots to see if the donuts lived up to the hype. First, we stopped at Pip's Donuts and Chai. Pip's had many flavors of mini donuts; we especially liked their seasonal strawberry rhubarb mini donut. We also tried the chocolate chai, which was filled with sweet chai and chocolate flavors. Next, we headed to Blue Star Donuts, which is known for making delicious brioche donuts in unique flavors. We tried the Old-Fashioned Buttermilk, the O.G., and the Chocolate Bergamon Old-Fashioned. We thought that all the flavors were great! My favorite was the Chocolate Bergamon Old-Fashioned, and Alec's favorite was the Old-Fashioned Buttermilk.
</p>
</div>
</div>
<div id="outline-container-org16ace59" class="outline-3">
<h3 id="org16ace59">The Fruit Loop</h3>
<div class="outline-text-3" id="text-org16ace59">
<p>
On the way to the Fruit Loop, we saw signs for Multnomah falls. They were sold out of passes for the day we were driving through, but we would like to add this as a stop another time. The Fruit Loop is a loop of 32 fruit stands, wineries, cideries, and farms situated between beautiful mountains. First, we stopped at Pearl's Place Fruit Stand where we bought some Mount Rainier cherries and apples. We especially loved the cherries! We also stopped at the White House where we enjoyed a White House Burger for lunch, and we did U-pick for blueberries and raspberries. We also stopped at Fox Tail Cider and Distillery where Alec got a flight of ciders to try. Then, we continued on to Packer Orchards, which had a beautiful outdoor seating area with a view. Packer Orchards also had a big table with tons of samples of their jams, sauces, honeys, and canned vegetables. Then, we walked through the store to see their baked goods and other treats. We bought a bottle of their non-alcoholic Pear Cider, and it was amazing. Our last stop on the Fruit Loop was Draper Girls Country Farm where we bought some peaches. Then, we admired the stunning view and cute swing in their outdoor seating area.
</p>


<div id="orge6920ca" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_006.jxl" alt="signal-2024-07-02-151423_006.jxl" />
</p>
<p><span class="figure-number">Figure 29: </span>View Along the Fruit Loop</p>
</div>



<div id="org7cc450a" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_012.jxl" alt="signal-2024-07-02-151814_012.jxl" />
</p>
<p><span class="figure-number">Figure 30: </span>U-pick at the White House</p>
</div>



<div id="orga5749f3" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_004.jxl" alt="signal-2024-07-02-151423_004.jxl" />
</p>
<p><span class="figure-number">Figure 31: </span>U-pick at the White House</p>
</div>



<div id="org1515924" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_005.jxl" alt="signal-2024-07-02-151423_005.jxl" />
</p>
<p><span class="figure-number">Figure 32: </span>View at the White House</p>
</div>



<div id="orga0891de" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_011.jxl" alt="signal-2024-07-02-151814_011.jxl" />
</p>
<p><span class="figure-number">Figure 33: </span>Alec's Flight of Ciders</p>
</div>



<div id="org5c973b6" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150431_002.jxl" alt="signal-2024-07-02-150431_002.jxl" />
</p>
<p><span class="figure-number">Figure 34: </span>View from Draper Girls Country Farm</p>
</div>
</div>
</div>
<div id="outline-container-org35c696c" class="outline-3">
<h3 id="org35c696c">Mount Hood National Forest</h3>
<div class="outline-text-3" id="text-org35c696c">
</div>
<div id="outline-container-orgd3b1959" class="outline-4">
<h4 id="orgd3b1959">Camp Creek</h4>
<div class="outline-text-4" id="text-orgd3b1959">
<p>
We then spent the night in Mount Hood National Forest at Camp Creek, which was just 10 minutes from our hike for tomorrow. The Camp Creek Campground was very scenic, and there was a creek trail that leaves straight from the camp. However, it should be noted that the amenities at Camp Creek are very sparse. Be sure to bring plenty of potable water when camping here.
</p>
</div>
</div>
<div id="outline-container-org45f2392" class="outline-4">
<h4 id="org45f2392">Tom, Dick, and Harry Mountain Trail</h4>
<div class="outline-text-4" id="text-org45f2392">
<p>
This was one of our favorite hikes of the trip! First, the trail takes you to the lovely Mirror Lake. Then, you can continue up toward the Tom, Dick, and Harry Mountains. There were some good views along the climb up, but the final view of Mount Hood at the end of the hike really took our breath away.
</p>


<div id="orga0d2932" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_002.jxl" alt="signal-2024-07-02-151423_002.jxl" />
</p>
<p><span class="figure-number">Figure 35: </span>View on the Hike Up</p>
</div>



<div id="orge8a58c0" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151423_003.jxl" alt="signal-2024-07-02-151423_003.jxl" />
</p>
<p><span class="figure-number">Figure 36: </span>Final Viewpoint</p>
</div>



<div id="org8a45d0a" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_014.jxl" alt="signal-2024-07-02-151814_014.jxl" />
</p>
<p><span class="figure-number">Figure 37: </span>Final Viewpoint</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org3427a7e" class="outline-3">
<h3 id="org3427a7e">The Last Blockbuster</h3>
<div class="outline-text-3" id="text-org3427a7e">
<p>
Next, we drove through Bend, Oregon to see the last Blockbuster open. This was a very nostalgic stop for Alec, and it was a great place to get some candy, look through movies, and buy some Blockbuster merchandise.
</p>


<div id="orgc7abc81" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_015.jxl" alt="signal-2024-07-02-151814_015.jxl" />
</p>
<p><span class="figure-number">Figure 38: </span>The Last Blockbuster</p>
</div>
</div>
</div>
<div id="outline-container-orgf5e39b2" class="outline-3">
<h3 id="orgf5e39b2">Diamond Lake</h3>
<div class="outline-text-3" id="text-orgf5e39b2">
<p>
We camped at Diamond Lake, which is quite close to Crater Lake. The lake and mountain were very striking, and the campsite had many marmots out and about. This was also the only Recreation.gov campsite we stayed in that provided showers.
</p>


<div id="org6ac5665" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_009.jxl" alt="signal-2024-07-02-151331_009.jxl" /> 
</p>
<p><span class="figure-number">Figure 39: </span>Marmot at Diamond Lake</p>
</div>
</div>
</div>
<div id="outline-container-orgd9c2e8f" class="outline-3">
<h3 id="orgd9c2e8f">Crater Lake National Park</h3>
<div class="outline-text-3" id="text-orgd9c2e8f">
<p>
The majority of Crater Lake was closed in June. However, we were able to drive up to Rim Village where we walked along the Rim and stopped to take scenic photos. Then, we were able to drive to Discovery Point where we did a short 2.2 mile hike to a nice view of the lake. We thought that the lake was stunning and enjoyed being able to take in the views. If we come back to Crater Lake, we would like to come in July or August when more of the park is open, and we would like to hike down to the lake.
</p>


<div id="orgb18b5ae" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_005.jxl" alt="signal-2024-07-02-151331_005.jxl" />
</p>
<p><span class="figure-number">Figure 40: </span>Taking in the Views at Crater Lake</p>
</div>



<div id="org66771ec" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_006.jxl" alt="signal-2024-07-02-151331_006.jxl" />
</p>
<p><span class="figure-number">Figure 41: </span>Walking by Rim Village</p>
</div>



<div id="orgffd88c5" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_007.jxl" alt="signal-2024-07-02-151331_007.jxl" />
</p>
<p><span class="figure-number">Figure 42: </span>View from Hike by Discovery Point</p>
</div>



<div id="org9f1c019" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_008.jxl" alt="signal-2024-07-02-151331_008.jxl" />
</p>
<p><span class="figure-number">Figure 43: </span>Another View from the Hike by Discovery Point</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org95b954c" class="outline-2">
<h2 id="org95b954c">California</h2>
<div class="outline-text-2" id="text-org95b954c">
</div>
<div id="outline-container-orgdbef494" class="outline-3">
<h3 id="orgdbef494">Redwoods National Park</h3>
<div class="outline-text-3" id="text-orgdbef494">
</div>
<div id="outline-container-org58c8aae" class="outline-4">
<h4 id="org58c8aae">Trees of Mystery</h4>
<div class="outline-text-4" id="text-org58c8aae">
<p>
This was a cute park where you can see some labeled redwoods, walk on an elevated canopy trail of the redwoods, take a gondola, and go on a short nature hike. We thought that it was a fun stop, and our favorite part was the elevated canopy trail. We will probably skip it if we visit the redwoods again, but it was a great one time stop.
</p>


<div id="org2e98b77" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_002.jxl" alt="signal-2024-07-02-151331_002.jxl" />
</p>
<p><span class="figure-number">Figure 44: </span>Elevated Canopy Trail</p>
</div>



<div id="orge3d3e6b" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_004.jxl" alt="signal-2024-07-02-151331_004.jxl" />
</p>
<p><span class="figure-number">Figure 45: </span>Another Look at the Elevated Canopy Trail</p>
</div>



<div id="org005b465" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151331_003.jxl" alt="signal-2024-07-02-151331_003.jxl" />
</p>
<p><span class="figure-number">Figure 46: </span>Checking out the Redwoods</p>
</div>
</div>
</div>
<div id="outline-container-org20baa3b" class="outline-4">
<h4 id="org20baa3b">Lady Bird Johnson Trail</h4>
<div class="outline-text-4" id="text-org20baa3b">
<p>
This short trail was great for experiencing the redwoods and learning more about the history of the park.
</p>


<div id="org064f8c6" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_013.jxl" alt="signal-2024-07-02-150508_013.jxl" />
</p>
<p><span class="figure-number">Figure 47: </span>Redwoods at Lady Bird Johnson Trail</p>
</div>



<div id="org6138772" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_012.jxl" alt="signal-2024-07-02-150508_012.jxl" />
</p>
<p><span class="figure-number">Figure 48: </span>Enjoying the Redwoods</p>
</div>
</div>
</div>
<div id="outline-container-org8a24983" class="outline-4">
<h4 id="org8a24983">Terwer RV Park</h4>
<div class="outline-text-4" id="text-org8a24983">
<p>
This was a great place to stay that was close to the redwoods. The host was very friendly. They had plentiful firewood, hot showers, a sink for washing dishes, and electrical hookups for charging devices.
</p>


<div id="org5754a89" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_014.jxl" alt="signal-2024-07-02-150508_014.jxl" />
</p>
<p><span class="figure-number">Figure 49: </span>Cooking Hot Dogs at Terwer RV Park</p>
</div>
</div>
</div>
</div>
<div id="outline-container-org1b65267" class="outline-3">
<h3 id="org1b65267">Lassen Volcanic National Park</h3>
<div class="outline-text-3" id="text-org1b65267">
</div>
<div id="outline-container-orgb1cdbc7" class="outline-4">
<h4 id="orgb1cdbc7">Manzanita Lake Campground</h4>
<div class="outline-text-4" id="text-orgb1cdbc7">
<p>
It was very nice to camp by Manzanita Lake. From the campground, you can walk to the Manzanita Lake trailhead and the Manzanita Creek trailhead. The campground had nice bathrooms, a sink for washing dishes, and was a 5 minute walk from a camp store where you can buy food, coffee, and firewood. The camp store was partially under construction, but it will soon offer showers and laundry as well.
</p>
</div>
</div>
<div id="outline-container-org5e87513" class="outline-4">
<h4 id="org5e87513">Chaos Craggs Trail</h4>
<div class="outline-text-4" id="text-org5e87513">
<p>
This was a fantastic hike! We would highly recommend it. The terrain was moderately challenging, but the view at the end was well worth it.
</p>


<div id="org530f2b4" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_011.jxl" alt="signal-2024-07-02-150508_011.jxl" />
</p>
<p><span class="figure-number">Figure 50: </span>Approaching the Final Viewpoint</p>
</div>



<div id="orgf9f7091" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_010.jxl" alt="signal-2024-07-02-150508_010.jxl" />
</p>
<p><span class="figure-number">Figure 51: </span>Chaos Craggs Final Viewpoint</p>
</div>
</div>
</div>
<div id="outline-container-orgf84b325" class="outline-4">
<h4 id="orgf84b325">Manzanita Lake Trail</h4>
<div class="outline-text-4" id="text-orgf84b325">
<p>
We did this loop at sunset and enjoyed great views of the setting sun lighting up Mount Lassen. However, this trail was very buggy!
</p>


<div id="orgde60a38" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_009.jxl" alt="signal-2024-07-02-150508_009.jxl" />
</p>
<p><span class="figure-number">Figure 52: </span>Manzanita Lake Trail at Sunset</p>
</div>
</div>
</div>
<div id="outline-container-orgc5e5306" class="outline-4">
<h4 id="orgc5e5306">Manzanita Creek Trail</h4>
<div class="outline-text-4" id="text-orgc5e5306">
<p>
This trail was longer, but the elevation gain was gradual. It had nice views of the mountains throughout. The trail got muddy toward the end and was not as well marked, so we were not quite sure what the final viewpoint of the trail was supposed to be.
</p>


<div id="org99ea295" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_008.jxl" alt="signal-2024-07-02-150508_008.jxl" />
</p>
<p><span class="figure-number">Figure 53: </span>Mountain Views on the Manzanita Creek Trail</p>
</div>
</div>
</div>
<div id="outline-container-org658db9c" class="outline-4">
<h4 id="org658db9c">Devastated Area</h4>
<div class="outline-text-4" id="text-org658db9c">
<p>
There is a 0.5 mile loop around the Devastated Area where you can view the volcanic rocks and learn about Mount Lassen's last eruption. There is also a nice view of Mount Lassen from the trail. 
</p>


<div id="orge07bce9" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_007.jxl" alt="signal-2024-07-02-150508_007.jxl" />
</p>
<p><span class="figure-number">Figure 54: </span>View of Mount Lassen from the Devastated Area Trail</p>
</div>
</div>
</div>
<div id="outline-container-org60dd018" class="outline-4">
<h4 id="org60dd018">King Creek Falls Trail</h4>
<div class="outline-text-4" id="text-org60dd018">
<p>
This is a nice hike through some burnt forestland and down to King Creek Falls. The hike back up from the falls is steep, but otherwise the trail is an easy hike.
</p>


<div id="org0836ff6" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_006.jxl" alt="signal-2024-07-02-150508_006.jxl" />
</p>
<p><span class="figure-number">Figure 55: </span>King Creek Falls</p>
</div>
</div>
</div>
<div id="outline-container-orgea0bb1b" class="outline-4">
<h4 id="orgea0bb1b">Lake Helen</h4>
<div class="outline-text-4" id="text-orgea0bb1b">
<p>
We stopped by Lake Helen for striking views of the mountain and the frozen lake. The water was a bright light blue.
</p>


<div id="org084f0dd" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_005.jxl" alt="signal-2024-07-02-150508_005.jxl" />
</p>
<p><span class="figure-number">Figure 56: </span>Lake Helen</p>
</div>



<div id="org1e46416" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_004.jxl" alt="signal-2024-07-02-150508_004.jxl" />
</p>
<p><span class="figure-number">Figure 57: </span>Alec at Lake Helen</p>
</div>
</div>
</div>
<div id="outline-container-orgcdb07be" class="outline-4">
<h4 id="orgcdb07be">Sulfur Works</h4>
<div class="outline-text-4" id="text-orgcdb07be">
<p>
We then went to Sulfur Works to see bubbling mud pots and geothermal activity.
</p>


<div id="orga328c24" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150508_002.jxl" alt="signal-2024-07-02-150508_002.jxl" />
</p>
<p><span class="figure-number">Figure 58: </span>Sulfur Works</p>
</div>

<p>
We had originally planned to see more geothermal activity on the Bumpass Hell Trail, but this trail was still closed for snow. We would like to come and see this trail in July or August. 
</p>
</div>
</div>
</div>
<div id="outline-container-orgd611fd8" class="outline-3">
<h3 id="orgd611fd8">Shasta-Trinity National Forest</h3>
<div class="outline-text-3" id="text-orgd611fd8">
</div>
<div id="outline-container-orge37daf0" class="outline-4">
<h4 id="orge37daf0">Old Shasta Coffee</h4>
<div class="outline-text-4" id="text-orge37daf0">
<p>
This was a great coffee stop on our way into Shasta! The iced oat latte was excellent.
</p>
</div>
</div>
<div id="outline-container-org531b8e8" class="outline-4">
<h4 id="org531b8e8">Castle Lake Trail</h4>
<div class="outline-text-4" id="text-org531b8e8">
<p>
This was one of our favorite hikes of the trip! We hiked past Castle Lake and then past Little Castle Lake. We ended with amazing views of Mount Shasta and Castle Lake. The final viewpoint had a couch made out of rock that was a great place to have a snack and take in the view. 
</p>


<div id="org97815e2" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-151814_016.jxl" alt="signal-2024-07-02-151814_016.jxl" />
</p>
<p><span class="figure-number">Figure 59: </span>The Rock Couch at the End of the Trail</p>
</div>



<div id="org7423254" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150350_004.jxl" alt="signal-2024-07-02-150350_004.jxl" />
</p>
<p><span class="figure-number">Figure 60: </span>The View of Mount Shasta</p>
</div>



<div id="orga4a2473" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150350_002.jxl" alt="signal-2024-07-02-150350_002.jxl" />
</p>
<p><span class="figure-number">Figure 61: </span>The View of Mount Shasta and Castle Lake</p>
</div>



<div id="orga05c3fb" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150350_003.jxl" alt="signal-2024-07-02-150350_003.jxl" />
</p>
<p><span class="figure-number">Figure 62: </span>The Final Viewpoint</p>
</div>
</div>
</div>
<div id="outline-container-org77631b3" class="outline-4">
<h4 id="org77631b3">Bailey Cove Campgrounds</h4>
<div class="outline-text-4" id="text-org77631b3">
<p>
This was a great place to camp that was right on Lake Shasta. A short trail leaves from the campsite, and the campsite is right next to a boat dock.
</p>
</div>
</div>
<div id="outline-container-orgaa65819" class="outline-4">
<h4 id="orgaa65819">Shasta Caverns</h4>
<div class="outline-text-4" id="text-orgaa65819">
<p>
The Shasta Caverns were just 6 minutes down the road from Bailey Cove Campgrounds. We took a boat across Lake Shasta, and then, we took a scenic bus ride to the caverns. The tour of the caverns was very impressive. We learned a lot about different cave formations and the history of the Shasta Cave.
</p>


<div id="org7ecdea2" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150335_002.jxl" alt="signal-2024-07-02-150335_002.jxl" />
</p>
<p><span class="figure-number">Figure 63: </span>Shasta Caverns Formations</p>
</div>



<div id="orgca9eba4" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150314_004.jxl" alt="signal-2024-07-02-150314_004.jxl" />
</p>
<p><span class="figure-number">Figure 64: </span>Final Room in the Shasta Caverns Tour</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgc340946" class="outline-3">
<h3 id="orgc340946">Livermore Wine Country</h3>
<div class="outline-text-3" id="text-orgc340946">
</div>
<div id="outline-container-org779973e" class="outline-4">
<h4 id="org779973e">The Ranch at Cross Road</h4>
<div class="outline-text-4" id="text-org779973e">
<p>
This was a very nice campground on a farm that was close to many vineyards. We had rolling hills in the background. There was also a nice bathroom with a shower. The shower's water pressure was a bit low, but it was an open roof shower, which was cool to try.
</p>
</div>
</div>
<div id="outline-container-orgbac2141" class="outline-4">
<h4 id="orgbac2141">Del Valle Winery</h4>
<div class="outline-text-4" id="text-orgbac2141">
<p>
We went to the winery for dinner and drinks on a Friday night. There was great live music. We really enjoyed the charcuterie, flatbread, and Sauvignon Blanc here.
</p>


<div id="orgab92786" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150314_003.jxl" alt="signal-2024-07-02-150314_003.jxl" />
</p>
<p><span class="figure-number">Figure 65: </span>Del Valle Winery</p>
</div>



<div id="orgbde4268" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-150314_002.jxl" alt="signal-2024-07-02-150314_002.jxl" />
</p>
<p><span class="figure-number">Figure 66: </span>Another View of Del Valle Winery</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgad321aa" class="outline-3">
<h3 id="orgad321aa">San Francisco</h3>
<div class="outline-text-3" id="text-orgad321aa">
</div>
<div id="outline-container-orgda7fed6" class="outline-4">
<h4 id="orgda7fed6">Berkeley Rose Garden</h4>
<div class="outline-text-4" id="text-orgda7fed6">
<p>
This is a very beautiful outdoor rose garden that was nice to walk through.
</p>


<div id="orga0a5b36" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_010.jxl" alt="signal-2024-07-01-142507_010.jxl" />
</p>
<p><span class="figure-number">Figure 67: </span>Roses</p>
</div>



<div id="org05448c4" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_011.jxl" alt="signal-2024-07-01-142507_011.jxl" />
</p>
<p><span class="figure-number">Figure 68: </span>Visiting the Rose Garden</p>
</div>
</div>
</div>
<div id="outline-container-org2089b68" class="outline-4">
<h4 id="org2089b68">Kinda Izakaya</h4>
<div class="outline-text-4" id="text-org2089b68">
<p>
This was a great dinner spot very close to Berkeley. We all shared a lychee soju cocktail pitcher. Grace liked the salmon and ikura bowl, and Alec enjoyed the hand rolls.
</p>
</div>
</div>
<div id="outline-container-orgc83d461" class="outline-4">
<h4 id="orgc83d461">Caravaggio Gelato</h4>
<div class="outline-text-4" id="text-orgc83d461">
<p>
This spot had very good gelato that was very reminiscent of Italy. Grace especially liked the affogato.
</p>
</div>
</div>
<div id="outline-container-org0eeaa56" class="outline-4">
<h4 id="org0eeaa56">See's Candies</h4>
<div class="outline-text-4" id="text-org0eeaa56">
<p>
This was a very cute spot with delicious chocolate. We especially liked the California brittle. 
</p>
</div>
</div>
<div id="outline-container-org485f8c5" class="outline-4">
<h4 id="org485f8c5">Chinatown</h4>
<div class="outline-text-4" id="text-org485f8c5">
<p>
We walked through Chinatown and stopped at Chong Qing Xiao Mian for lunch. Grace had a great wonton soup there, and Alec liked the pork belly and potstickers.
</p>


<div id="orgf011c40" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_008.jxl" alt="signal-2024-07-01-142507_008.jxl" />
</p>
<p><span class="figure-number">Figure 69: </span>Entrance to Chinatown</p>
</div>



<div id="org5660173" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_009.jxl" alt="signal-2024-07-01-142507_009.jxl" />
</p>
<p><span class="figure-number">Figure 70: </span>Walking the Streets of Chinatown</p>
</div>
</div>
</div>
<div id="outline-container-orga3c23dd" class="outline-4">
<h4 id="orga3c23dd">City Lights Books</h4>
<div class="outline-text-4" id="text-orga3c23dd">
<p>
This was a very cute bookstore with tons of selection and great ambiance.
</p>


<div id="org7ae62b2" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_007.jxl" alt="signal-2024-07-01-142507_007.jxl" />
</p>
<p><span class="figure-number">Figure 71: </span>City Lights Books</p>
</div>
</div>
</div>
<div id="outline-container-orgccde174" class="outline-4">
<h4 id="orgccde174">Pier 39</h4>
<div class="outline-text-4" id="text-orgccde174">
<p>
Pier 39 was a great spot on the water with tons of shops and food. We stopped at the Candy Barron to see their wide range of salt water taffies. We also watched the sea lions playing by the pier.
</p>


<div id="orgd4a4e77" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_006.jxl" alt="signal-2024-07-01-142507_006.jxl" />
</p>
<p><span class="figure-number">Figure 72: </span>Visiting Pier 39</p>
</div>



<div id="org1266e27" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_005.jxl" alt="signal-2024-07-01-142507_005.jxl" />
</p>
<p><span class="figure-number">Figure 73: </span>Sea Lion at Pier 39</p>
</div>
</div>
</div>
<div id="outline-container-org24fe13c" class="outline-4">
<h4 id="org24fe13c">Musee Mecanique</h4>
<div class="outline-text-4" id="text-org24fe13c">
<p>
This was a super fun museum that is filled with old arcade games. It is helpful to bring cash to exchange for quarters. We spent about two hours here just exploring and playing the games. 
</p>


<div id="org6b8e262" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_003.jxl" alt="signal-2024-07-01-142507_003.jxl" />
</p>
<p><span class="figure-number">Figure 74: </span>Musee Mechanique</p>
</div>



<div id="org5c5366c" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-01-142507_004.jxl" alt="signal-2024-07-01-142507_004.jxl" />
</p>
<p><span class="figure-number">Figure 75: </span>Exploring the Museum</p>
</div>
</div>
</div>
<div id="outline-container-org56cb804" class="outline-4">
<h4 id="org56cb804">Taking the Ferry</h4>
<div class="outline-text-4" id="text-org56cb804">
<p>
We had a great time and had nice views taking the ferry into the Ferry Station. At the ferry station, we ate at A16 for lunch. They had great pizza and Italian style sandwiches.
</p>


<div id="org45841cf" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145729_002.jxl" alt="signal-2024-07-02-145729_002.jxl" />
</p>
<p><span class="figure-number">Figure 76: </span>View from the Ferry</p>
</div>
</div>
</div>
<div id="outline-container-org4ed079c" class="outline-4">
<h4 id="org4ed079c">Taking the Trolley</h4>
<div class="outline-text-4" id="text-org4ed079c">
<p>
We found it a lot of fun to take one of the historic trolleys around town. To avoid the crowds, try to not take the trolley when going to a particularly touristy place.
</p>


<div id="orgfb1a8be" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145914_002.jxl" alt="signal-2024-07-02-145914_002.jxl" />
</p>
<p><span class="figure-number">Figure 77: </span>On the Trolley!</p>
</div>



<div id="orge01d3a1" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145925_002.jxl" alt="signal-2024-07-02-145925_002.jxl" />
</p>
<p><span class="figure-number">Figure 78: </span>Heading Around Town</p>
</div>
</div>
</div>
<div id="outline-container-org58ec240" class="outline-4">
<h4 id="org58ec240">Ghirardelli Square</h4>
<div class="outline-text-4" id="text-org58ec240">
<p>
Ghirardelli Square is home to the first Ghirardelli store. We enjoyed visiting the store and sharing fun sundaes.
</p>


<div id="org3232456" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145831_003.jxl" alt="signal-2024-07-02-145831_003.jxl" />
</p>
<p><span class="figure-number">Figure 79: </span>Ghirardelli Sundaes</p>
</div>



<div id="org373bc95" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145858_002.jxl" alt="signal-2024-07-02-145858_002.jxl" />
</p>
<p><span class="figure-number">Figure 80: </span>In Front of the Ghirardelli Store</p>
</div>
</div>
</div>
<div id="outline-container-orga881ccb" class="outline-4">
<h4 id="orga881ccb">California Academy of Sciences and the Japanese Tea Garden</h4>
<div class="outline-text-4" id="text-orga881ccb">
<p>
We walked around the California Academy of Sciences. We especially liked seeing their indoor rainforest and their aquarium. After we finished at the museum, it was a short walk to the Japanese Tea Garden where we enjoyed some tea and walked around the peaceful garden. We especially liked climbing the arched bridge.
</p>


<div id="orgad0ca76" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145847_002.jxl" alt="signal-2024-07-02-145847_002.jxl" />
</p>
<p><span class="figure-number">Figure 81: </span>The Indoor Rainforest</p>
</div>



<div id="org789e101" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145815_003.jxl" alt="signal-2024-07-02-145815_003.jxl" />
</p>
<p><span class="figure-number">Figure 82: </span>The Aquarium</p>
</div>



<div id="org882bd3d" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145754_004.jxl" alt="signal-2024-07-02-145754_004.jxl" />
</p>
<p><span class="figure-number">Figure 83: </span>At the Tea House</p>
</div>



<div id="org555cbbf" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145754_003.jxl" alt="signal-2024-07-02-145754_003.jxl" />
</p>
<p><span class="figure-number">Figure 84: </span>Japanese Tea Garden</p>
</div>



<div id="org9057d9a" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145754_002.jxl" alt="signal-2024-07-02-145754_002.jxl" />
</p>
<p><span class="figure-number">Figure 85: </span>Climbing the Arched Bridge</p>
</div>
</div>
</div>
<div id="outline-container-org2d1be6d" class="outline-4">
<h4 id="org2d1be6d">Crissy Field</h4>
<div class="outline-text-4" id="text-org2d1be6d">
<p>
We enjoyed the walking path at Crissy Field. It was close to the shore and had a great view of the Golden Gate Bridge. It was a bit foggy on the day we went, but we still greatly enjoyed the walk.
</p>


<div id="org27acf95" class="figure">
<p><img src="https://wumpus.life/posts/../static/images/cascadia-trip/signal-2024-07-02-145738_002.jxl" alt="signal-2024-07-02-145738_002.jxl" />
</p>
<p><span class="figure-number">Figure 86: </span>View from Crissy Field Walk</p>
</div>
</div>
</div>
</div>
</div>
]]>
</description></item>
<item>
<title>First Post!</title>
<link>https://wumpus.life/posts/first-post.html</link>
<pubDate>Sun, 01 Sep 2024 00:00:00 -0400</pubDate>
<guid isPermaLink="false">3be18520-8112-4d4b-9608-07ed21540095</guid>
<description>
<![CDATA[<p>
You made it to the end!
If the blog is still nascent then that probably wasn't so bad, but otherwise thanks!
</p>


<div id="orgb38097d" class="figure">
<p><img src="https://wumpus.life/posts/../static/videos/breakfast.avif" alt="breakfast.avif" />
</p>
</div>
]]>
</description></item>
<item>
<title>Structuralism in the Philosophy of Science</title>
<link>https://wumpus.life/posts/structuralism-in-science.html</link>
<pubDate>Wed, 05 Nov 2025 00:00:00 -0500</pubDate>
<guid isPermaLink="false">e664bf8b-56aa-44a1-b2d4-03599853fb90</guid>
<description>
<![CDATA[<p>
Structural Realism is an attitude towards realisms of all flavours which puts structures front and center.
A structure is usually an object which encodes relational data about some other objects.
Note that structures themselves do not necessarily presuppose anything ontological about these "other" objects; structures are generically schematic.
</p>

<p>
If you read introductory material on structuralism as an approach to scientific realism, you will encounter different ideas which are often sloppily interchanged:
</p>

<ol class="org-ol">
<li><b>Mild Scientific Structuralism</b>
<ul class="org-ul">
<li>Science reveals to us some of the structural features of the natural world</li>
</ul></li>
<li><b>Ordinary Scientific Structuralism</b>
<ul class="org-ul">
<li>Science reveals to us the structural features of the natural world</li>
</ul></li>
<li><b>Radical Scientific Structuralism</b>
<ul class="org-ul">
<li>Science reveals to us the structural features of the world</li>
</ul></li>
</ol>

<p>
Note that all of these positions have epistemic and ontic flavours.
</p>

<p>
(3) is most clearly out of place, as it brings the issue of naturalism into a debate where it does not belong.
And yet the conflation of (2) and (3) is present in the Wikipedia<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>, SEP<sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup>, and IEP<sup><a id="fnr.3" class="footref" href="#fn.3" role="doc-backlink">3</a></sup> articles on the subject (as well as many casual online conversations by those who should know better).
That science tells us about the natural world is almost a tautology, but that the natural word is identical to the world itself is a very different claim which has nothing to do with structuralism (and maybe not even with realism).
</p>

<p>
Whether or not distinguishing (1) and (2) is meaningful will depend on how one cashes out the notion of structure, and perhaps also the notion of science itself, but I believe it is a distinction which should at least be acknowledged.
In particular, some characterizations of structures say that they are mathematical in nature, and so long as science can talk about mathematical objects it can talk about structures.
Thus the idea of a structure of the natural world which is immune to scientific analysis would be nonsensical.
On the other hand, it might be the case that not all structures are mathematical, but also that science can talk about <i>more</i> than just mathematical structures.
With this view one could claim that science can talk about all natural structures, but this would have to be argued for.
</p>

<p>
A serious example of (1) is the organic philosophy of Alfred North Whitehead.<sup><a id="fnr.4" class="footref" href="#fn.4" role="doc-backlink">4</a></sup>
Whitehead was both a scientific realist and a naturalist.
I would argue he was also a structuralist (or a proto-structuralist) due to his belief in the deeply relational nature of the world.
However, he did not believe that scientific theories were the ultimate or complete theories of reality, as it was the job of metaphysics to provide those. 
But in his own metaphysical scheme, all phenomena are structural (relational) in nature, and so since science is talking about those phenomena, it tells us exclusively structural facts about the world.
But importantly, those scientific facts do not exhaust the world.<sup><a id="fnr.5" class="footref" href="#fn.5" role="doc-backlink">5</a></sup>
</p>

<p>
I think that talking about structuralism in science as though it were necessarily a kind of materialism is both misleading and hinders its possible applications to and integrations with other schools of thought.
</p>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">

<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><div class="org-src-container">
<pre class="src src-org"><span class="org-org-link"><a href="https://en.wikipedia.org/wiki/Structuralism_(philosophy_of_science)">https://en.wikipedia.org/wiki/Structuralism_(philosophy_of_science)</a></span>
</pre>
</div></div></div>

<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><div class="org-src-container">
<pre class="src src-org"><span class="org-org-link"><a href="https://plato.stanford.edu/entries/structural-realism">https://plato.stanford.edu/entries/structural-realism</a></span>
</pre>
</div></div></div>

<div class="footdef"><sup><a id="fn.3" class="footnum" href="#fnr.3" role="doc-backlink">3</a></sup> <div class="footpara" role="doc-footnote"><div class="org-src-container">
<pre class="src src-org"><span class="org-org-link"><a href="https://iep.utm.edu/scientific-realism-antirealism">https://iep.utm.edu/scientific-realism-antirealism</a></span>
</pre>
</div></div></div>

<div class="footdef"><sup><a id="fn.4" class="footnum" href="#fnr.4" role="doc-backlink">4</a></sup> <div class="footpara" role="doc-footnote"><div class="org-src-container">
<pre class="src src-org"><span class="org-org-link"><a href="https://plato.stanford.edu/entries/whitehead#Meta">https://plato.stanford.edu/entries/whitehead#Meta</a></span>
</pre>
</div></div></div>

<div class="footdef"><sup><a id="fn.5" class="footnum" href="#fnr.5" role="doc-backlink">5</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">
Here I am talking about science roughly as we understand it, not necessarily how Whitehead understood it, i.e. Whitehead did not believe structures (qua relations) were inherently mathematical, but he might have believed there was ideally a more continuous relationship between e.g. physics and metaphysics than is presented here (though certaintly not the actual physics of his day and probably not even of ours)
</p></div></div>


</div>
</div>]]>
</description></item>
</channel>
</rss>
