<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>JoeChu</title><subtitle>Technical articles by Joe Chu about C++, GPU programming, OpenGL, computer graphics, image processing, and life in the San Francisco Bay Area.</subtitle><link href="https://chuzcjoe.com/atom.xml" rel="self"/><link href="https://chuzcjoe.com/"/><id>https://chuzcjoe.com/</id><updated>2026-10-06T04:57:23.255Z</updated><author><name>Joe Chu</name></author><entry><title>Online Softmax</title><link href="https://chuzcjoe.com/misc/misc-online-softmax/"/><id>https://chuzcjoe.com/misc/misc-online-softmax/</id><published>2026-10-06T04:45:46.000Z</published><updated>2026-10-06T04:57:23.255Z</updated><summary>Improve stable softmax</summary><content type="html">&lt;p&gt;Improve stable softmax&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Softmax converts a row of logits into probabilities. In attention, each query has a row of scores over the keys. In language-model sampling, each token position has a row of logits over the vocabulary. The normalization is independent for each row.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Online softmax maintains a running maximum and a running normalization sum as values arrive.&lt;/strong&gt; Here “online” means processing a sequence incrementally. It does not refer to model training or serving requests over a network.&lt;/p&gt;
&lt;h2 id=&quot;1-Start-with-numerically-stable-softmax&quot;&gt;&lt;a href=&quot;#1-Start-with-numerically-stable-softmax&quot; class=&quot;headerlink&quot; title=&quot;1. Start with numerically stable softmax&quot;&gt;&lt;/a&gt;1. Start with numerically stable softmax&lt;/h2&gt;
&lt;p&gt;For a row $x \in \mathbb{R}^{N}$,&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;p_i = \frac{e^{x_i}}{\sum_{j=1}^{N} e^{x_j}}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Directly computing $e^{x_i}$ can overflow for large positive logits. The largest finite float32 value is approximately $3.40 \times 10^{38}$, so $e^x$ exceeds that range when $x$ is above roughly $88.72$. This is a limit of the intermediate exponential, even though the final softmax probabilities are between zero and one.&lt;/p&gt;
&lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/misc/online-softmax/softmax-overflow.svg&quot; alt=&quot;The exponential inside softmax crosses the float32 limit near 88.72. Direct exponentiation of large logits produces infinities and NaN probabilities, while subtracting the maximum yields finite exponentials and the same mathematical softmax.&quot;&gt;

&lt;p&gt;For example, logits $[1000,1001,1002]$ are finite in float32, but their exponentials overflow to &lt;code&gt;inf&lt;/code&gt;. Dividing those values by their sum gives &lt;code&gt;inf / inf&lt;/code&gt;, which produces &lt;code&gt;NaN&lt;/code&gt;. Subtracting the same constant from every logit leaves the probabilities unchanged. Choosing the row maximum gives&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;m = \max_j x_j,&lt;br&gt;\qquad&lt;br&gt;\ell = \sum_{j=1}^{N} e^{x_j-m},&lt;br&gt;\qquad&lt;br&gt;p_i = \frac{e^{x_i-m}}{\ell}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Every exponent is now nonpositive, so each exponential is at most one. For finite logits, at least one term equals one and $1 \leq \ell \leq N$.&lt;/p&gt;
&lt;p&gt;A straightforward implementation scans the row to find $m$, scans it again to calculate $\ell$, then scans it once more to write $p$. Can we calculate $m$ and $\ell$ together, even though a larger maximum might appear later?&lt;/p&gt;
&lt;h2 id=&quot;2-Online-softmax&quot;&gt;&lt;a href=&quot;#2-Online-softmax&quot; class=&quot;headerlink&quot; title=&quot;2. Online softmax&quot;&gt;&lt;/a&gt;2. Online softmax&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Algorithm 1: Online softmax normalizer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a nonempty row of finite logits $x_1,\ldots,x_N$.&lt;br&gt;&lt;strong&gt;Output:&lt;/strong&gt; the maximum $m$ and the exponential sum $\ell$ relative to $m$.&lt;/p&gt;
&lt;p&gt;$$\begin{array}{rl} 1 &amp;amp; m \gets -\infty,\quad \ell \gets 0 \\ 2 &amp;amp; \mathbf{for}\ i = 1,\ldots,N\ \mathbf{do} \\ 3 &amp;amp; \quad m’ \gets m \\ 4 &amp;amp; \quad m \gets \max(m, x_i) \\ 5 &amp;amp; \quad \ell \gets \ell\,e^{m’-m} + e^{x_i-m} \\ 6 &amp;amp; \mathbf{end\ for} \\ 7 &amp;amp; \mathbf{return}\ (m,\ell) \end{array}$$&lt;/p&gt;
&lt;p&gt;This algorithm calculates the maximum and normalizer in &lt;strong&gt;one pass&lt;/strong&gt;. After each iteration, $m$ is the largest logit seen so far, and $\ell$ is the sum of the processed logits’ exponentials with that current maximum subtracted. Only these two scalars persist between iterations. The recurrence follows &lt;a href=&quot;https://arxiv.org/abs/1805.02867&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Online normalizer calculation for softmax&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here $m’$ denotes the &lt;strong&gt;old maximum&lt;/strong&gt;, saved before updating $m$. If the next logit introduces a larger maximum, the old exponential terms were calculated relative to $m’$ and must be converted to the new reference $m$. Each old term receives the same correction:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;e^{x_j-m} = e^{x_j-m’},e^{m’-m}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Because this factor is shared by every previous term, we can multiply their accumulated sum once instead of revisiting those logits:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\underbrace{\sum_{j=1}^{i-1}e^{x_j-m}}_{\text{old terms at the new maximum}}&lt;br&gt;= \underbrace{\sum_{j=1}^{i-1}e^{x_j-m’}}_{\text{previous }\ell}\,e^{m’-m}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Then add the new term $e^{x_i-m}$. If the maximum is unchanged, $m’=m$ and the correction factor is one. If the maximum increases, $m’&amp;lt;m$ and the correction factor is less than one, shrinking the previous contributions. For the first finite logit, the initialization gives $m=x_1$ and $\ell=1$.&lt;/p&gt;
&lt;p&gt;After the pass, the final state is&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;m = \max_{1 \le j \le N} x_j,&lt;br&gt;\qquad&lt;br&gt;\ell = \sum_{j=1}^{N} e^{x_j-m}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;To produce the complete probability row, use&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;p_i = \frac{e^{x_i-m}}{\ell}.&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;normalizer&lt;/strong&gt; takes one pass. Writing all probabilities still requires another pass over the logits, or retaining them until the final $(m,\ell)$ is known.&lt;/p&gt;
&lt;p&gt;For a nonempty list of finite logits, the Python implementation follows the same updates:&lt;/p&gt;
&lt;figure class=&quot;highlight python&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;12&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;13&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;14&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;import&lt;/span&gt; math&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;hljs-title function_&quot;&gt;online_softmax&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot;&gt;x&lt;/span&gt;):&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    m, l = -math.inf, &lt;span class=&quot;hljs-number&quot;&gt;0.0&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; value &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; x:&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        old_m = m&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        m = &lt;span class=&quot;hljs-built_in&quot;&gt;max&lt;/span&gt;(m, value)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;        l = l * math.exp(old_m - m) + math.exp(value - m)&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; [math.exp(value - m) / l &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; value &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; x]&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;print&lt;/span&gt;(online_softmax([&lt;span class=&quot;hljs-number&quot;&gt;1000&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1001&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;1002&lt;/span&gt;]))&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-comment&quot;&gt;# [0.09003057317038046, 0.24472847105479764, 0.6652409557748218]&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
</content><category term="misc"/></entry><entry><title>Weekend Snapshots</title><link href="https://chuzcjoe.com/life/life-weekend-snapshots/"/><id>https://chuzcjoe.com/life/life-weekend-snapshots/</id><published>2026-09-28T05:09:23.000Z</published><updated>2026-09-28T05:19:46.771Z</updated><summary>Some random weekend glimpses</summary><content type="html">&lt;p&gt;Some random weekend glimpses&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/weekend-snapshots/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>One Weekend in San Francisco</title><link href="https://chuzcjoe.com/life/life-one-weekend-in-sf/"/><id>https://chuzcjoe.com/life/life-one-weekend-in-sf/</id><published>2026-09-21T02:10:45.000Z</published><updated>2026-09-21T02:15:02.057Z</updated><summary>Spent weekend in downtown, San Francisco</summary><content type="html">&lt;p&gt;Spent weekend in downtown, San Francisco&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/one-weekend-in-sf/50.PNG&quot; title=&quot;Image 50&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>When Smart Pointer Meets Const and Reference</title><link href="https://chuzcjoe.com/cpp/cpp-smart-pointer-meet-const-and-reference/"/><id>https://chuzcjoe.com/cpp/cpp-smart-pointer-meet-const-and-reference/</id><published>2026-09-18T04:20:54.000Z</published><updated>2026-09-18T04:55:21.624Z</updated><summary>const std::shared_ptr&lt;T&gt;&amp; vs const std::shared_ptr&lt;T&gt;</summary><content type="html">&lt;p&gt;const std::shared_ptr&amp;lt;T&amp;gt;&amp;amp; vs const std::shared_ptr&amp;lt;T&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id=&quot;1-Differences-and-Commons&quot;&gt;&lt;a href=&quot;#1-Differences-and-Commons&quot; class=&quot;headerlink&quot; title=&quot;1. Differences and Commons&quot;&gt;&lt;/a&gt;1. Differences and Commons&lt;/h1&gt;
&lt;p&gt;Let’s first talk about &lt;code&gt;const std::shared_ptr&amp;lt;T&amp;gt;&amp;amp;&lt;/code&gt;. This means a &lt;strong&gt;const reference to a shared_ptr&lt;/strong&gt;. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is no copy of the &lt;code&gt;shared_ptr&lt;/code&gt; itself, so the reference count will not change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;const&lt;/strong&gt; only applies to the &lt;code&gt;shared_ptr&lt;/code&gt;, so the underlying data can be modified.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-type&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;Foo&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(&lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; std::shared_ptr&amp;lt;T&amp;gt;&amp;amp; engine)&lt;/span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    engine-&amp;gt;&lt;span class=&quot;hljs-built_in&quot;&gt;Run&lt;/span&gt;();       &lt;span class=&quot;hljs-comment&quot;&gt;// OK&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-comment&quot;&gt;// engine.reset();   // Error&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-comment&quot;&gt;// engine = nullptr; // Error&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    engine-&amp;gt;&lt;span class=&quot;hljs-built_in&quot;&gt;SetValue&lt;/span&gt;(&lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;); &lt;span class=&quot;hljs-comment&quot;&gt;// OK&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;Next, we have &lt;code&gt;const std::shared_ptr&amp;lt;T&amp;gt;&lt;/code&gt;. &lt;code&gt;shared_ptr&lt;/code&gt; is passed by value.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The reference count will change.&lt;/li&gt;
&lt;li&gt;Same as above, &lt;strong&gt;const&lt;/strong&gt; only applies to the &lt;code&gt;shared_ptr&lt;/code&gt;, so the underlying data can be modified.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-type&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;Foo&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(&lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; std::shared_ptr&amp;lt;T&amp;gt; engine)&lt;/span&gt; &lt;/span&gt;{&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    engine-&amp;gt;&lt;span class=&quot;hljs-built_in&quot;&gt;Run&lt;/span&gt;();       &lt;span class=&quot;hljs-comment&quot;&gt;// OK&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-comment&quot;&gt;// engine.reset();   // Error&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-comment&quot;&gt;// engine = nullptr; // Error&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt; &lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    engine-&amp;gt;&lt;span class=&quot;hljs-built_in&quot;&gt;SetValue&lt;/span&gt;(&lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;); &lt;span class=&quot;hljs-comment&quot;&gt;// OK&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;So, the short conclusion&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Copies &lt;code&gt;shared_ptr&lt;/code&gt;?&lt;/th&gt;
&lt;th&gt;Ref count change&lt;/th&gt;
&lt;th&gt;Can modify pointer?&lt;/th&gt;
&lt;th&gt;Can modify object?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&lt;code&gt;const std::shared_ptr&amp;lt;T&amp;gt;&amp;amp;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;const std::shared_ptr&amp;lt;T&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h1 id=&quot;2-When-to-Use&quot;&gt;&lt;a href=&quot;#2-When-to-Use&quot; class=&quot;headerlink&quot; title=&quot;2. When to Use&quot;&gt;&lt;/a&gt;2. When to Use&lt;/h1&gt;
&lt;p&gt;How and when to use these two forms is mostly determined by ownership semantics. In many cases, &lt;code&gt;const std::shared_ptr&amp;lt;T&amp;gt;&amp;amp;&lt;/code&gt; is preferred when the function only needs to use the &lt;strong&gt;shared_ptr&lt;/strong&gt; during the call and does not need to acquire or retain shared ownership. It is also slightly more efficient because passing by &lt;strong&gt;const reference&lt;/strong&gt; avoids copying the shared_ptr and therefore normally avoids incrementing and decrementing its reference count.&lt;/p&gt;
</content><category term="cpp"/></entry><entry><title>Hayward Airport Open House</title><link href="https://chuzcjoe.com/life/life-hayward-airport-open-house/"/><id>https://chuzcjoe.com/life/life-hayward-airport-open-house/</id><published>2026-09-14T04:51:40.000Z</published><updated>2026-09-14T04:55:01.875Z</updated><summary>Free admission, with static aircraft displays, classic cars, police/fire vehicles</summary><content type="html">&lt;p&gt;Free admission, with static aircraft displays, classic cars, police/fire vehicles&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/hayward-airport-open-house/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Labor Day Trip</title><link href="https://chuzcjoe.com/life/life-labor-day-trip-2026/"/><id>https://chuzcjoe.com/life/life-labor-day-trip-2026/</id><published>2026-09-07T03:40:48.000Z</published><updated>2026-09-07T03:46:05.179Z</updated><summary>Sacramento, Folsom</summary><content type="html">&lt;p&gt;Sacramento, Folsom&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;California State Capitol&lt;/li&gt;
&lt;li&gt;Stanford Mansion&lt;/li&gt;
&lt;li&gt;T Kee Cafe&lt;/li&gt;
&lt;li&gt;Lake Natoma &lt;/li&gt;
&lt;li&gt;Folsom Historic District&lt;/li&gt;
&lt;li&gt;Folsom Powerhouse State Historic Park&lt;/li&gt;
&lt;li&gt;Folsom City Zoo Sanctuary&lt;/li&gt;
&lt;li&gt;Folsom Point State Park&lt;/li&gt;
&lt;/ul&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/50.JPG&quot; title=&quot;Image 50&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/51.JPG&quot; title=&quot;Image 51&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/52.JPG&quot; title=&quot;Image 52&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/53.JPG&quot; title=&quot;Image 53&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/54.JPG&quot; title=&quot;Image 54&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/55.JPG&quot; title=&quot;Image 55&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/56.JPG&quot; title=&quot;Image 56&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/57.JPG&quot; title=&quot;Image 57&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/58.JPG&quot; title=&quot;Image 58&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/59.JPG&quot; title=&quot;Image 59&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/60.JPG&quot; title=&quot;Image 60&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/61.JPG&quot; title=&quot;Image 61&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/62.JPG&quot; title=&quot;Image 62&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/63.JPG&quot; title=&quot;Image 63&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/64.JPG&quot; title=&quot;Image 64&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/65.JPG&quot; title=&quot;Image 65&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/life-labor-day-trip-2026/66.JPG&quot; title=&quot;Image 66&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Don Castro Regional Recreation Area</title><link href="https://chuzcjoe.com/life/life-don-castro-area/"/><id>https://chuzcjoe.com/life/life-don-castro-area/</id><published>2026-08-18T17:25:39.000Z</published><updated>2026-08-18T17:28:52.860Z</updated><summary>Swim Lagoon inside the recreation area</summary><content type="html">&lt;p&gt;Swim Lagoon inside the recreation area&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/don-castro-regional-recreation-area/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>Capitola Beach</title><link href="https://chuzcjoe.com/life/life-capitola-beach/"/><id>https://chuzcjoe.com/life/life-capitola-beach/</id><published>2026-08-09T03:36:29.000Z</published><updated>2026-08-09T03:39:53.325Z</updated><summary>One of the most popular coastal viewpoints in the Santa Cruz area.</summary><content type="html">&lt;p&gt;One of the most popular coastal viewpoints in the Santa Cruz area.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/capitola-beach/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>2026 Fremont Festival of Art</title><link href="https://chuzcjoe.com/life/life-2026-fremont-festival-art/"/><id>https://chuzcjoe.com/life/life-2026-fremont-festival-art/</id><published>2026-08-03T05:22:35.000Z</published><updated>2026-08-03T05:25:33.977Z</updated><summary>Annual summer event at Fremont downtown.</summary><content type="html">&lt;p&gt;Annual summer event at Fremont downtown.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/fremont-festival-art-2026/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>Independence Day Trip</title><link href="https://chuzcjoe.com/life/life-independence-day-2026/"/><id>https://chuzcjoe.com/life/life-independence-day-2026/</id><published>2026-07-06T04:52:12.000Z</published><updated>2026-07-06T04:58:44.783Z</updated><summary>3 Days Road trip</summary><content type="html">&lt;p&gt;3 Days Road trip&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Sacramento&lt;/li&gt;
&lt;li&gt;Auburn Old Town&lt;/li&gt;
&lt;li&gt;SUGAR PINE POINT STATE PARK&lt;/li&gt;
&lt;li&gt;Emerald Bay Vista Point&lt;/li&gt;
&lt;li&gt;Reno&lt;/li&gt;
&lt;li&gt;Sand Harbor Beach (biking along Tahoe E Shoreline Trial)&lt;/li&gt;
&lt;/ol&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/50.JPG&quot; title=&quot;Image 50&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/51.JPG&quot; title=&quot;Image 51&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/52.JPG&quot; title=&quot;Image 52&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/53.JPG&quot; title=&quot;Image 53&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/54.JPG&quot; title=&quot;Image 54&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/55.JPG&quot; title=&quot;Image 55&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/56.JPG&quot; title=&quot;Image 56&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/57.JPG&quot; title=&quot;Image 57&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/58.JPG&quot; title=&quot;Image 58&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/59.JPG&quot; title=&quot;Image 59&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/60.JPG&quot; title=&quot;Image 60&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/61.JPG&quot; title=&quot;Image 61&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/62.JPG&quot; title=&quot;Image 62&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/63.JPG&quot; title=&quot;Image 63&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/64.JPG&quot; title=&quot;Image 64&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/65.JPG&quot; title=&quot;Image 65&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/66.JPG&quot; title=&quot;Image 66&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/independence-day-2026/67.JPG&quot; title=&quot;Image 67&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>Juneteenth Holiday Trip</title><link href="https://chuzcjoe.com/life/life-2026-juneteenth-trip/"/><id>https://chuzcjoe.com/life/life-2026-juneteenth-trip/</id><published>2026-06-21T05:07:22.000Z</published><updated>2026-06-21T05:15:05.307Z</updated><summary>Monterey, Whale Peak - Soberanes Point, 17 miles, Lovers Point</summary><content type="html">&lt;p&gt;Monterey, Whale Peak - Soberanes Point, 17 miles, Lovers Point&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/50.JPG&quot; title=&quot;Image 50&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/51.JPG&quot; title=&quot;Image 51&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/52.JPG&quot; title=&quot;Image 52&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/53.JPG&quot; title=&quot;Image 53&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/54.JPG&quot; title=&quot;Image 54&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/55.JPG&quot; title=&quot;Image 55&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/56.JPG&quot; title=&quot;Image 56&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/57.JPG&quot; title=&quot;Image 57&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/58.JPG&quot; title=&quot;Image 58&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/59.JPG&quot; title=&quot;Image 59&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/60.JPG&quot; title=&quot;Image 60&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/61.JPG&quot; title=&quot;Image 61&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/62.JPG&quot; title=&quot;Image 62&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/63.JPG&quot; title=&quot;Image 63&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/64.JPG&quot; title=&quot;Image 64&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/65.JPG&quot; title=&quot;Image 65&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/66.JPG&quot; title=&quot;Image 66&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/67.JPG&quot; title=&quot;Image 67&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/68.JPG&quot; title=&quot;Image 68&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/69.JPG&quot; title=&quot;Image 69&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/70.JPG&quot; title=&quot;Image 70&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/2026-juneteenth-trip/71.JPG&quot; title=&quot;Image 71&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Post-Training Data-Free Weight Quantization</title><link href="https://chuzcjoe.com/CGV/cgv-neural-network-quantization-overview/"/><id>https://chuzcjoe.com/CGV/cgv-neural-network-quantization-overview/</id><published>2026-05-25T20:47:50.000Z</published><updated>2026-06-01T06:09:32.915Z</updated><summary>Post-Training Data-Free Weight Quantization (RTN)</summary><content type="html">&lt;p&gt;Post-Training Data-Free Weight Quantization (RTN)&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id=&quot;Table-of-Contents&quot;&gt;&lt;a href=&quot;#Table-of-Contents&quot; class=&quot;headerlink&quot; title=&quot;Table of Contents&quot;&gt;&lt;/a&gt;Table of Contents&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 1. Introduction to Quantization &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 2. Quantization Basics: The Scalar Form &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 3. Symmetric vs. Asymmetric &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 4. Post-Training Data-Free Weight Quantization (RTN) &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 5. Matrix Form of Quantization &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 6. Applying Quantization in Network Inference &lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color:#1E90FF; font-size:18px; font-weight:bold;&quot;&gt; 7. Quantization Error &lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&quot;1-Introduction-to-Quantization&quot;&gt;&lt;a href=&quot;#1-Introduction-to-Quantization&quot; class=&quot;headerlink&quot; title=&quot;1. Introduction to Quantization&quot;&gt;&lt;/a&gt;1. Introduction to Quantization&lt;/h1&gt;
&lt;p&gt;A trained neural network is a huge pile of numbers — mostly &lt;strong&gt;weights&lt;/strong&gt; — usually stored as 32-bit floating point (&lt;code&gt;FP32&lt;/code&gt;). That is 4 bytes per number, and inference multiplies and adds them billions of times.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quantization&lt;/strong&gt; maps these high-precision real numbers onto a small set of integers, most often 8-bit (&lt;code&gt;INT8&lt;/code&gt;). The benefits are direct:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Smaller&lt;/strong&gt;: &lt;code&gt;INT8&lt;/code&gt; is 1 byte instead of 4, so the model shrinks about $4\times$.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Faster&lt;/strong&gt;: moving fewer bytes and doing integer math speeds up inference.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cheaper&lt;/strong&gt;: integer hardware uses less power and silicon than floating-point hardware.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The price is a small rounding error. The whole job of quantization is to keep that error tiny while reaping the savings.&lt;/p&gt;
&lt;p&gt;The core idea is a simple &lt;strong&gt;affine&lt;/strong&gt; (straight-line) relationship between a real number $r$ and an integer $q$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;r \approx s \cdot (q - z)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Here $s$ (the &lt;strong&gt;scale&lt;/strong&gt;) and $z$ (the &lt;strong&gt;zero-point&lt;/strong&gt;) are two numbers we choose per tensor. Everything in this post — scalars, matrices, full network layers — is built on this one equation. Let’s start with a single number.&lt;/p&gt;
&lt;h1 id=&quot;2-Quantization-Basics-The-Scalar-Form&quot;&gt;&lt;a href=&quot;#2-Quantization-Basics-The-Scalar-Form&quot; class=&quot;headerlink&quot; title=&quot;2. Quantization Basics: The Scalar Form&quot;&gt;&lt;/a&gt;2. Quantization Basics: The Scalar Form&lt;/h1&gt;
&lt;p&gt;Take one real number $r$ and store it as a $b$-bit integer $q$. Three quantities define the mapping:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$s$ — the &lt;strong&gt;scale&lt;/strong&gt;: the real-world size of one integer step (a positive float).&lt;/li&gt;
&lt;li&gt;$z$ — the &lt;strong&gt;zero-point&lt;/strong&gt;: the integer that maps exactly to real $0$.&lt;/li&gt;
&lt;li&gt;$q$ — the stored &lt;strong&gt;integer&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Integer range.&lt;/strong&gt; A $b$-bit format can only hold integers in a fixed window $[q_{min}, q_{max}]$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\text{signed: } [-2^{b-1},\ 2^{b-1} - 1] \\&lt;br&gt;\text{unsigned: } [0,\ 2^{b} - 1]&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;For &lt;code&gt;INT8&lt;/code&gt; that is $[-128, 127]$ (signed) or $[0, 255]$ (unsigned).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Choosing the scale and zero-point.&lt;/strong&gt; Suppose the real numbers we care about lie in $[r_{min}, r_{max}]$. We line that interval up with the integer window by matching the two endpoints: $r_{min}$ maps to $q_{min}$ and $r_{max}$ maps to $q_{max}$. That fixes both parameters:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;s = \frac{r_{max} - r_{min}}{q_{max} - q_{min}}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;z = \text{round}\left(q_{min} - \frac{r_{min}}{s}\right)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The scale is “real range divided by integer range”. The zero-point is the integer that real $0$ falls on, rounded so it stays a whole number.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quantize (real $\rightarrow$ integer).&lt;/strong&gt; Invert the affine map, round to the nearest integer, and clamp into the valid window:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;q = \text{clamp}\left(\text{round}\left(\frac{r}{s}\right) + z,\ q_{min},\ q_{max}\right)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;where the helpers are:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\text{round}(x) = \text{nearest integer to } x \\&lt;br&gt;\text{clamp}(x, a, b) = \min(\max(x, a), b)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dequantize (integer $\rightarrow$ real).&lt;/strong&gt; Apply the affine map to recover an approximation:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\hat{r} = s \cdot (q - z)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The hat means $\hat r$ is a &lt;em&gt;reconstruction&lt;/em&gt; of $r$, not the original — quantization is lossy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A quick example.&lt;/strong&gt; Map $[r_{min}, r_{max}] = [-1.0, 3.0]$ onto &lt;code&gt;uint8&lt;/code&gt; ($q_{min}=0$, $q_{max}=255$):&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;s = \frac{3.0 - (-1.0)}{255 - 0} = \frac{4}{255} \approx 0.0157 \\&lt;br&gt;z = \text{round}\left(0 - \frac{-1.0}{0.0157}\right) = \text{round}(63.75) = 64&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;To store $r = 1.3$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;q = \text{clamp}(\text{round}(1.3 / 0.0157) + 64,\ 0,\ 255) = 147 \\&lt;br&gt;\hat{r} = 0.0157 \cdot (147 - 64) \approx 1.302&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;We recover $1.302$ instead of $1.3$ — an error of about $0.002$.&lt;/p&gt;
&lt;h1 id=&quot;3-Symmetric-vs-Asymmetric&quot;&gt;&lt;a href=&quot;#3-Symmetric-vs-Asymmetric&quot; class=&quot;headerlink&quot; title=&quot;3. Symmetric vs. Asymmetric&quot;&gt;&lt;/a&gt;3. Symmetric vs. Asymmetric&lt;/h1&gt;
&lt;p&gt;The formulas above are &lt;strong&gt;asymmetric&lt;/strong&gt; (or &lt;em&gt;affine&lt;/em&gt;): the real range can be lopsided around zero, and the nonzero $z$ absorbs the offset. This suits one-sided data, like the output of a ReLU (always $\ge 0$).&lt;/p&gt;
&lt;p&gt;For &lt;strong&gt;weights&lt;/strong&gt;, which are usually centered on zero, we prefer &lt;strong&gt;symmetric&lt;/strong&gt; quantization. We force $z = 0$ and pick a range symmetric about the origin. Let $r_{max}^{abs} = \max(|r_{min}|, |r_{max}|)$ be the largest magnitude. Then:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;z = 0 \\&lt;br&gt;s = \frac{r_{max}^{abs}}{2^{b-1} - 1}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;We use $2^{b-1} - 1$ (i.e. $127$ for &lt;code&gt;INT8&lt;/code&gt;) so the integer range is the balanced $[-127, 127]$. With $z = 0$, quantize and dequantize simplify to:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;q = \text{clamp}\left(\text{round}\left(\frac{r}{s}\right),\ -(2^{b-1}-1),\ 2^{b-1}-1\right) \\&lt;br&gt;\hat{r} = s \cdot q&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;No zero-point to track, and dequantization is a single multiply. The comparison:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Symmetric&lt;/th&gt;
&lt;th&gt;Asymmetric&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Zero-point $z$&lt;/td&gt;
&lt;td&gt;always $0$&lt;/td&gt;
&lt;td&gt;integer offset&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;weights (zero-centered)&lt;/td&gt;
&lt;td&gt;activations (one-sided)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dequant cost&lt;/td&gt;
&lt;td&gt;one multiply&lt;/td&gt;
&lt;td&gt;multiply + subtract&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Range usage&lt;/td&gt;
&lt;td&gt;wastes range if data is skewed&lt;/td&gt;
&lt;td&gt;uses the full range&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;The rest of this post uses &lt;strong&gt;symmetric&lt;/strong&gt; quantization for weights, since that is what the basic algorithm below relies on.&lt;/p&gt;
&lt;h1 id=&quot;4-Post-Training-Data-Free-Weight-Quantization-RTN&quot;&gt;&lt;a href=&quot;#4-Post-Training-Data-Free-Weight-Quantization-RTN&quot; class=&quot;headerlink&quot; title=&quot;4. Post-Training Data-Free Weight Quantization (RTN)&quot;&gt;&lt;/a&gt;4. Post-Training Data-Free Weight Quantization (RTN)&lt;/h1&gt;
&lt;p&gt;This is the simplest practical quantization algorithm. Each word tells you what it does:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Post-training&lt;/strong&gt; — applied to an already-trained model; no retraining.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data-free&lt;/strong&gt; — uses only the weights; no calibration data is run through the network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Weight&lt;/strong&gt; — quantizes weights only; activations stay in float.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RTN&lt;/strong&gt; — &lt;strong&gt;round-to-nearest&lt;/strong&gt;: each weight snaps to its closest integer level.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is the fastest method because weights are fixed numbers already sitting in the checkpoint — their range is known without any data. The recipe for one weight tensor:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Find the range: $r_{max}^{abs} = \max |W|$.&lt;/li&gt;
&lt;li&gt;Compute the scale: $s = r_{max}^{abs} / (2^{b-1} - 1)$.&lt;/li&gt;
&lt;li&gt;Quantize by RTN: $q = \text{clamp}(\text{round}(W / s),\ -127,\ 127)$.&lt;/li&gt;
&lt;li&gt;Store the integers $q$ and the scale $s$.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;That is the entire algorithm. The interesting math begins when $W$ is not a single number but a matrix — which is what the next section is about.&lt;/p&gt;
&lt;h1 id=&quot;5-Matrix-Form-of-Quantization&quot;&gt;&lt;a href=&quot;#5-Matrix-Form-of-Quantization&quot; class=&quot;headerlink&quot; title=&quot;5. Matrix Form of Quantization&quot;&gt;&lt;/a&gt;5. Matrix Form of Quantization&lt;/h1&gt;
&lt;p&gt;Real layers store weights as a matrix $W \in \mathbb{R}^{m \times n}$ ($m$ output channels, $n$ input features), with entries $W_{ij}$. We now write quantization in matrix form. The granularity — how many scales we use — is the key design choice.&lt;/p&gt;
&lt;h2 id=&quot;5-1-Per-tensor-quantization&quot;&gt;&lt;a href=&quot;#5-1-Per-tensor-quantization&quot; class=&quot;headerlink&quot; title=&quot;5.1 Per-tensor quantization&quot;&gt;&lt;/a&gt;5.1 Per-tensor quantization&lt;/h2&gt;
&lt;p&gt;The simplest scheme: &lt;strong&gt;one scale for the whole matrix&lt;/strong&gt;. With symmetric &lt;code&gt;INT8&lt;/code&gt;,&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;s = \frac{\max_{i,j} |W_{ij}|}{2^{b-1} - 1}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Quantization and dequantization apply that one scalar to every entry:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;Q_{ij} = \text{clamp}\left(\text{round}\left(\frac{W_{ij}}{s}\right),\ -127,\ 127\right) \\&lt;br&gt;\hat W_{ij} = s \cdot Q_{ij}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;In compact matrix notation, with $Q \in \mathbb{Z}^{m \times n}$ the integer matrix:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;Q = \text{clamp}\left(\text{round}\left(\frac{1}{s} W\right)\right), \qquad \hat{W} = s, Q&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;One float ($s$) is shared across all $m \times n$ integers, so the storage overhead of the scale is negligible.&lt;/p&gt;
&lt;h2 id=&quot;5-2-Per-channel-quantization&quot;&gt;&lt;a href=&quot;#5-2-Per-channel-quantization&quot; class=&quot;headerlink&quot; title=&quot;5.2 Per-channel quantization&quot;&gt;&lt;/a&gt;5.2 Per-channel quantization&lt;/h2&gt;
&lt;p&gt;One global scale is wasteful when rows differ in magnitude: a row with a large weight forces a large $s$, which crushes the precision of rows whose weights are all small. The fix is &lt;strong&gt;one scale per output channel&lt;/strong&gt; (per row). For row $i$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;s_i = \frac{\max_j |W_{ij}|}{2^{b-1} - 1}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;Q_{ij} = \text{clamp}\left(\text{round}\left(\frac{W_{ij}}{s_i}\right),\ -127,\ 127\right) \\&lt;br&gt;\hat W_{ij} = s_i \cdot Q_{ij}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Collect the per-row scales into a vector $\mathbf{s} = (s_1, \dots, s_m)$ and place them on the diagonal of a matrix:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;S = \text{diag}(s_1, s_2, \dots, s_m) = \begin{bmatrix} s_1 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\ 0 &amp;amp; s_2 &amp;amp; \cdots &amp;amp; 0 \\ \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\ 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; s_m \end{bmatrix}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Then dequantization is a single clean matrix product:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\hat W = S Q&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Why does this work? Left-multiplying $Q$ by a diagonal matrix scales &lt;strong&gt;each row&lt;/strong&gt; by its own factor. Reading off entry $(i,j)$ of $S Q$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;SQ_{ij} = \sum_{k=1}^{m} S_{ik}Q_{kj} = s_iQ_{ij}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;because $S_{ik}$ is nonzero only when $k = i$. So $SQ_{ij} = s_i Q_{ij} = \hat W_{ij}$, exactly the per-channel rule. The diagonal matrix is just a tidy way to write “scale row $i$ by $s_i$”.&lt;/p&gt;
&lt;h2 id=&quot;5-3-The-general-picture&quot;&gt;&lt;a href=&quot;#5-3-The-general-picture&quot; class=&quot;headerlink&quot; title=&quot;5.3 The general picture&quot;&gt;&lt;/a&gt;5.3 The general picture&lt;/h2&gt;
&lt;p&gt;Both schemes share the same shape: pick scales, divide, round, clamp to integers, then recover by multiplying back.&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;W \xrightarrow{\ \text{quantize}\ } Q \in \mathbb{Z}^{m \times n} \xrightarrow{\ \text{dequantize}\ } \hat{W} = S Q \approx W&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Per-tensor is the special case $S = s I$ (every diagonal entry equal). Per-channel lets the diagonal vary. The matrix $Q$ holds the compact integers we actually store; $S$ holds the handful of floats needed to bring them back to real scale.&lt;/p&gt;
&lt;h1 id=&quot;6-Applying-Quantization-in-Network-Inference&quot;&gt;&lt;a href=&quot;#6-Applying-Quantization-in-Network-Inference&quot; class=&quot;headerlink&quot; title=&quot;6. Applying Quantization in Network Inference&quot;&gt;&lt;/a&gt;6. Applying Quantization in Network Inference&lt;/h1&gt;
&lt;p&gt;A linear (fully-connected) layer computes&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\mathbf{y} = W \mathbf{x} + \mathbf{b}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;for an input activation vector $\mathbf{x} \in \mathbb{R}^{n}$. Quantization changes &lt;em&gt;how&lt;/em&gt; this product is computed. There are two common modes.&lt;/p&gt;
&lt;h2 id=&quot;6-1-Weight-only-quantization&quot;&gt;&lt;a href=&quot;#6-1-Weight-only-quantization&quot; class=&quot;headerlink&quot; title=&quot;6.1 Weight-only quantization&quot;&gt;&lt;/a&gt;6.1 Weight-only quantization&lt;/h2&gt;
&lt;p&gt;Here only the weights are quantized; the activations $\mathbf{x}$ stay in floating point. Substitute $\hat{W} = S Q$ for $W$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\mathbf{y} \approx \hat{W} \mathbf{x} + \mathbf{b} = S, Q, \mathbf{x} + \mathbf{b}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Because $S$ is diagonal, it factors out of the matrix product. Writing the $i$-th output:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;y_i \approx s_i \left( \sum_{j=1}^{n} Q_{ij}, x_j \right) + b_i&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The expensive inner sum uses the compact integer weights $Q_{ij}$, and the float scale $s_i$ is applied &lt;strong&gt;once per output&lt;/strong&gt;, after the sum — not on every term. This is why per-channel scaling is almost free at runtime: a single multiply per output feature.&lt;/p&gt;
&lt;h2 id=&quot;6-2-Full-integer-quantization&quot;&gt;&lt;a href=&quot;#6-2-Full-integer-quantization&quot; class=&quot;headerlink&quot; title=&quot;6.2 Full integer quantization&quot;&gt;&lt;/a&gt;6.2 Full integer quantization&lt;/h2&gt;
&lt;p&gt;For maximum speed we also quantize the activations, so the matrix multiply itself runs in integer arithmetic. Quantize $\mathbf{x}$ with its own (per-tensor) symmetric scale $s_x$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;x_j \approx s_x, q_{x,j}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Combine with the per-channel weight quantization $W_{ij} \approx s_i Q_{ij}$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;y_i = \sum_{j=1}^{n} W_{ij}, x_j + b_i \approx \sum_{j=1}^{n} (s_i Q_{ij})(s_x q_{x,j}) + b_i&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Both scales are constants for a given row, so pull them out of the sum:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;y_i \approx s_i, s_x \left( \sum_{j=1}^{n} Q_{ij}, q_{x,j} \right) + b_i&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The sum $\sum_j Q_{ij} q_{x,j}$ is a pure &lt;strong&gt;integer dot product&lt;/strong&gt;: &lt;code&gt;INT8&lt;/code&gt; times &lt;code&gt;INT8&lt;/code&gt;, accumulated into an &lt;code&gt;INT32&lt;/code&gt; register. Only after the accumulation do we multiply by the combined float scale $s_i s_x$ and add the bias. This is exactly how integer inference engines run a linear layer.&lt;/p&gt;
&lt;h2 id=&quot;6-3-Asymmetric-activations-and-the-zero-point-term&quot;&gt;&lt;a href=&quot;#6-3-Asymmetric-activations-and-the-zero-point-term&quot; class=&quot;headerlink&quot; title=&quot;6.3 Asymmetric activations and the zero-point term&quot;&gt;&lt;/a&gt;6.3 Asymmetric activations and the zero-point term&lt;/h2&gt;
&lt;p&gt;Activations after a ReLU are one-sided, so they are often quantized &lt;strong&gt;asymmetrically&lt;/strong&gt; with a zero-point $z_x$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;x_j \approx s_x (q_{x,j} - z_x)&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Plugging this in and expanding the dot product separates into two integer sums:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;y_i \approx s_i, s_x \sum_{j=1}^{n} Q_{ij}, (q_{x,j} - z_x) + b_i = s_i, s_x \left( \sum_{j=1}^{n} Q_{ij}, q_{x,j} ;-; z_x \sum_{j=1}^{n} Q_{ij} \right) + b_i&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;The first sum is the same integer matmul as before. The second sum, $\sum_j Q_{ij}$, depends &lt;strong&gt;only on the (static) weights&lt;/strong&gt;, so it is precomputed once and reused for every input. At runtime the zero-point costs nothing extra beyond a precomputed constant — the heavy work is still a single integer matrix multiply.&lt;/p&gt;
&lt;h1 id=&quot;7-Quantization-Error&quot;&gt;&lt;a href=&quot;#7-Quantization-Error&quot; class=&quot;headerlink&quot; title=&quot;7. Quantization Error&quot;&gt;&lt;/a&gt;7. Quantization Error&lt;/h1&gt;
&lt;p&gt;Quantization is lossy, so it is worth knowing exactly how big the error is and how it flows through a layer.&lt;/p&gt;
&lt;h2 id=&quot;7-1-Per-element-error&quot;&gt;&lt;a href=&quot;#7-1-Per-element-error&quot; class=&quot;headerlink&quot; title=&quot;7.1 Per-element error&quot;&gt;&lt;/a&gt;7.1 Per-element error&lt;/h2&gt;
&lt;p&gt;For a symmetric scale $s$, the quantized-then-dequantized value is $\hat r = s \cdot \text{round}(r / s)$. Let $u = r/s$; rounding moves it by at most half a unit, $|\text{round}(u) - u| \le \tfrac{1}{2}$. Multiplying by $s$:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;|\hat{r} - r| \le \frac{s}{2}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;So &lt;strong&gt;the worst-case error of any single value is half a step&lt;/strong&gt;. For a per-channel weight matrix, row $i$ uses scale $s_i$, so each entry obeys&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;|\hat W_{ij} - W_{ij}| \le \frac{s_i}{2}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;A smaller scale (more bits, or per-channel instead of per-tensor) directly shrinks this bound.&lt;/p&gt;
&lt;h2 id=&quot;7-2-A-statistical-view&quot;&gt;&lt;a href=&quot;#7-2-A-statistical-view&quot; class=&quot;headerlink&quot; title=&quot;7.2 A statistical view&quot;&gt;&lt;/a&gt;7.2 A statistical view&lt;/h2&gt;
&lt;p&gt;The bound above is the worst case. In practice the rounding residual behaves like a uniform random variable on $[-\tfrac{s}{2}, \tfrac{s}{2}]$. Such a variable has mean $0$ and variance&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\text{Var}[\hat{r} - r] = \frac{s^2}{12}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;so the typical (root-mean-square) error is $\frac{s}{\sqrt{12}} \approx 0.29, s$ — noticeably smaller than the worst case $\frac{s}{2}$, and centered on zero so it does not systematically bias the result.&lt;/p&gt;
&lt;h2 id=&quot;7-3-How-the-error-propagates-through-a-layer&quot;&gt;&lt;a href=&quot;#7-3-How-the-error-propagates-through-a-layer&quot; class=&quot;headerlink&quot; title=&quot;7.3 How the error propagates through a layer&quot;&gt;&lt;/a&gt;7.3 How the error propagates through a layer&lt;/h2&gt;
&lt;p&gt;Define the weight error matrix $E = \hat{W} - W$, with entries $e_{ij} = \hat W_{ij} - W_{ij}$. For weight-only quantization the output error is&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\delta \mathbf{y} = \hat{W}\mathbf{x} - W\mathbf{x} = E \mathbf{x}&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Per output element, $\delta y_i = \sum_j e_{ij} x_j$. Using $|e_{ij}| \le s_i/2$ gives a worst-case bound:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;|\delta y_i| \le \sum_{j=1}^{n} |e_{ij}|,|x_j| \le \frac{s_i}{2} \sum_{j=1}^{n} |x_j| = \frac{s_i}{2}, |\mathbf{x}|_1&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;Treating the $e_{ij}$ as independent, zero-mean, variance-$\frac{s_i^2}{12}$ noise gives the expected squared error:&lt;/p&gt;
&lt;p&gt;$$&lt;br&gt;\begin{equation}&lt;br&gt;\mathbb{E}[,\delta y_i^2,] = \sum_{j=1}^{n} \text{Var}[e_{ij}], x_j^2 = \frac{s_i^2}{12} \sum_{j=1}^{n} x_j^2 = \frac{s_i^2}{12}, |\mathbf{x}|_2^2&lt;br&gt;\end{equation}&lt;br&gt;$$&lt;/p&gt;
&lt;p&gt;so the typical output error scales as $\frac{s_i}{\sqrt{12}} |\mathbf{x}|_2$. Two takeaways fall out of these formulas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Error grows with the scale $s_i$.&lt;/strong&gt; More bits or finer (per-channel) granularity shrinks $s_i$, and the output error shrinks with it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error grows with the input size.&lt;/strong&gt; Wider layers (larger $n$, larger $|\mathbf{x}|$) accumulate more rounding noise — which is why very large layers can be more sensitive to quantization.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is the foundation. Calibrated and learned methods (GPTQ, AWQ, QAT) all aim to reduce these same error terms — but they start from exactly the equations above.&lt;/p&gt;
</content><category term="CGV"/></entry><entry><title>University of California Botanical Garden</title><link href="https://chuzcjoe.com/life/life-california-botanical-garden/"/><id>https://chuzcjoe.com/life/life-california-botanical-garden/</id><published>2026-05-24T03:47:19.000Z</published><updated>2026-05-24T03:49:59.114Z</updated><summary>At Berkeley.</summary><content type="html">&lt;p&gt;At Berkeley.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/University-of-California-Botanical-Garden/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>San Francisco - Sausalito Ferry</title><link href="https://chuzcjoe.com/life/life-sf-sausalito-ferry/"/><id>https://chuzcjoe.com/life/life-sf-sausalito-ferry/</id><published>2026-05-17T00:06:31.000Z</published><updated>2026-05-17T04:37:48.669Z</updated><summary>Ferry between San Francisco and Sausalito.</summary><content type="html">&lt;p&gt;Ferry between San Francisco and Sausalito.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/50.JPG&quot; title=&quot;Image 50&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/51.JPG&quot; title=&quot;Image 51&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/52.JPG&quot; title=&quot;Image 52&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/53.JPG&quot; title=&quot;Image 53&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/54.JPG&quot; title=&quot;Image 54&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/55.JPG&quot; title=&quot;Image 55&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/56.JPG&quot; title=&quot;Image 56&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/57.JPG&quot; title=&quot;Image 57&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/58.JPG&quot; title=&quot;Image 58&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/59.JPG&quot; title=&quot;Image 59&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/60.JPG&quot; title=&quot;Image 60&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/61.JPG&quot; title=&quot;Image 61&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/62.JPG&quot; title=&quot;Image 62&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/63.JPG&quot; title=&quot;Image 63&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/64.JPG&quot; title=&quot;Image 64&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/65.JPG&quot; title=&quot;Image 65&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/66.JPG&quot; title=&quot;Image 66&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/67.JPG&quot; title=&quot;Image 67&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/68.JPG&quot; title=&quot;Image 68&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/69.JPG&quot; title=&quot;Image 69&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-sausalito-ferry/70.JPG&quot; title=&quot;Image 70&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Rose Garden</title><link href="https://chuzcjoe.com/life/life-rose-garden/"/><id>https://chuzcjoe.com/life/life-rose-garden/</id><published>2026-05-10T05:36:30.000Z</published><updated>2026-05-10T05:39:15.193Z</updated><summary>Municipal Rose Garden at San Jose.</summary><content type="html">&lt;p&gt;Municipal Rose Garden at San Jose.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/1.jpg&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/2.jpg&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/3.jpg&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/4.jpg&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/5.jpg&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/6.jpg&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/7.jpg&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/8.jpg&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/9.jpg&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/10.jpg&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/11.jpg&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/12.jpg&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/13.jpg&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/14.jpg&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/15.jpg&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/16.jpg&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/17.jpg&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/18.jpg&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/19.jpg&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/20.jpg&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/21.jpg&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/22.jpg&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/23.jpg&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/24.jpg&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/25.jpg&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/26.jpg&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/27.jpg&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/28.jpg&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/29.jpg&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/30.jpg&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/31.jpg&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/32.jpg&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/33.jpg&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/34.jpg&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/35.jpg&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/36.jpg&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/37.jpg&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/38.jpg&quot; title=&quot;Image 38&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/39.jpg&quot; title=&quot;Image 39&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/40.jpg&quot; title=&quot;Image 40&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/rose-garden/41.jpg&quot; title=&quot;Image 41&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Very Mulberry U-Pick</title><link href="https://chuzcjoe.com/life/life-very-mulberry/"/><id>https://chuzcjoe.com/life/life-very-mulberry/</id><published>2026-05-03T05:19:45.000Z</published><updated>2026-05-03T05:22:51.253Z</updated><summary>U-pick mulberry farm at Brentwood.</summary><content type="html">&lt;p&gt;U-pick mulberry farm at Brentwood.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/1.jpg&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/2.jpg&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/3.jpg&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/4.jpg&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/5.jpg&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/6.jpg&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/7.jpg&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/8.jpg&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/9.jpg&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/10.jpg&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/11.jpg&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/12.jpg&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/13.jpg&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/14.jpg&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/15.jpg&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/16.jpg&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/17.jpg&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/18.jpg&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/19.jpg&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/20.jpg&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/21.jpg&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/22.jpg&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/23.jpg&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/24.jpg&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/25.jpg&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/26.jpg&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/27.jpg&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/28.jpg&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/29.jpg&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/30.jpg&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/31.jpg&quot; title=&quot;Image 31&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/32.jpg&quot; title=&quot;Image 32&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/33.jpg&quot; title=&quot;Image 33&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/34.jpg&quot; title=&quot;Image 34&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/35.jpg&quot; title=&quot;Image 35&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/36.jpg&quot; title=&quot;Image 36&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/very-mulberry/37.jpg&quot; title=&quot;Image 37&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Bay Area Discovery Museum</title><link href="https://chuzcjoe.com/life/life-sf-discovery-museum/"/><id>https://chuzcjoe.com/life/life-sf-discovery-museum/</id><published>2026-04-13T05:22:46.000Z</published><updated>2026-04-13T05:27:15.007Z</updated><summary>Kids museum located right under the Golden Gate Bridge.</summary><content type="html">&lt;p&gt;Kids museum located right under the Golden Gate Bridge.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/27.jpg&quot; title=&quot;Image 27&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/28.jpg&quot; title=&quot;Image 28&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/29.jpg&quot; title=&quot;Image 29&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sf-discovery-museum/30.jpg&quot; title=&quot;Image 30&quot; width=&quot;800px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;</content><category term="life"/></entry><entry><title>Vulkan Pipeline Cache</title><link href="https://chuzcjoe.com/CGV/cgv-vulkan-pipeline-cache/"/><id>https://chuzcjoe.com/CGV/cgv-vulkan-pipeline-cache/</id><published>2026-04-12T04:37:42.000Z</published><updated>2026-04-12T05:45:42.781Z</updated><summary>Leverage Vulkan pipeline cache to reduce pipeline initialization latency.</summary><content type="html">&lt;p&gt;Leverage Vulkan pipeline cache to reduce pipeline initialization latency.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id=&quot;1-Introduction&quot;&gt;&lt;a href=&quot;#1-Introduction&quot; class=&quot;headerlink&quot; title=&quot;1. Introduction&quot;&gt;&lt;/a&gt;1. Introduction&lt;/h1&gt;
&lt;p&gt;Creating a Vulkan pipleine(render pipeline/compute pipeline) is expensive because it involves:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shader compilation.&lt;/li&gt;
&lt;li&gt;Pipeline state initialization, especially for rendering pipeline which includes vertex/fragment processing, tessellation, rasterization, etc.&lt;/li&gt;
&lt;li&gt;Hardware-specific tuning (register allocation, scheduling, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In a normal Vulkan compute pipeline creation, &lt;code&gt;Create Pipeline&lt;/code&gt; takes the most of the initialization time.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/cgv/vulkan_pipeline_cache/vulkan_pipeline_cache1.png&quot; title=&quot;Image 1&quot; width=&quot;700px&quot; height=&quot;600px&quot;&gt;
&lt;/p&gt;

&lt;p&gt;What Vulkan pipeline cache does is to save the pipeline state to a file so that it can be reused between runs of an application.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/cgv/vulkan_pipeline_cache/vulkan_pipeline_cache2.png&quot; title=&quot;Image 1&quot; width=&quot;800px&quot; height=&quot;600px&quot;&gt;
&lt;/p&gt;

&lt;h1 id=&quot;2-APIs&quot;&gt;&lt;a href=&quot;#2-APIs&quot; class=&quot;headerlink&quot; title=&quot;2. APIs&quot;&gt;&lt;/a&gt;2. APIs&lt;/h1&gt;
&lt;p&gt;To create a pipeline cahce object:&lt;/p&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;VKAPI_ATTR VkResult VKAPI_CALL &lt;span class=&quot;hljs-title&quot;&gt;vkCreatePipelineCache&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkDevice                                    device,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; VkPipelineCacheCreateInfo*            pCreateInfo,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; VkAllocationCallbacks*                pAllocator,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPipelineCache*                            pPipelineCache)&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;We need to populate the &lt;code&gt;VkPipelineCacheCreateInfo&lt;/code&gt; to create a cached object:&lt;/p&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;hljs-title class_&quot;&gt;VkPipelineCacheCreateInfo&lt;/span&gt; {&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkStructureType               sType;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-type&quot;&gt;void&lt;/span&gt;*                   pNext;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPipelineCacheCreateFlags    flags;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;size_t&lt;/span&gt;                        initialDataSize;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;hljs-type&quot;&gt;void&lt;/span&gt;*                   pInitialData;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;} VkPipelineCacheCreateInfo;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;&lt;code&gt;vkCreateComputePipelines&lt;/code&gt; allows us to pass a &lt;code&gt;VkPipelineCache&lt;/code&gt; object:&lt;/p&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;VKAPI_ATTR VkResult VKAPI_CALL &lt;span class=&quot;hljs-title&quot;&gt;vkCreateComputePipelines&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkDevice                                    device,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPipelineCache                             pipelineCache,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint32_t&lt;/span&gt;                                    createInfoCount,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; VkComputePipelineCreateInfo*          pCreateInfos,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;const&lt;/span&gt; VkAllocationCallbacks*                pAllocator,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPipeline*                                 pPipelines)&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;To read and save pipeline cache as binary data, we need &lt;code&gt;vkGetPipelineCacheData&lt;/code&gt;:&lt;/p&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;VKAPI_ATTR VkResult VKAPI_CALL &lt;span class=&quot;hljs-title&quot;&gt;vkGetPipelineCacheData&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;(&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkDevice                                    device,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPipelineCache                             pipelineCache,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;size_t&lt;/span&gt;*                                     pDataSize,&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;void&lt;/span&gt;*                                       pData)&lt;/span&gt;&lt;/span&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;h1 id=&quot;3-Implementation&quot;&gt;&lt;a href=&quot;#3-Implementation&quot; class=&quot;headerlink&quot; title=&quot;3. Implementation&quot;&gt;&lt;/a&gt;3. Implementation&lt;/h1&gt;
&lt;p&gt;Detailed implementation of pipeline cache can be found at: &lt;a href=&quot;https://github.com/chuzcjoe/CORE/blob/master/vulkan/tests/ComputeGaussianBlurTest.cpp&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://github.com/chuzcjoe/CORE/blob/master/vulkan/tests/ComputeGaussianBlurTest.cpp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From my local testing (Mac with M2), for a gaussian blur compute pipeline creation, the latency can be optimized from 10.2ms to 1.2ms. &lt;strong&gt;That’s 90% optimization&lt;/strong&gt;.&lt;/p&gt;
&lt;h1 id=&quot;4-Pipeline-Cache-may-not-working&quot;&gt;&lt;a href=&quot;#4-Pipeline-Cache-may-not-working&quot; class=&quot;headerlink&quot; title=&quot;4. Pipeline Cache may not working&quot;&gt;&lt;/a&gt;4. Pipeline Cache may not working&lt;/h1&gt;
&lt;p&gt;There are several real-world scenarios where a Vulkan pipeline cache will not be effective, even if you correctly save and reload it. The key principle is: Pipeline cache is driver and environment dependent, and only works when the exact compilation context matches.&lt;/p&gt;
&lt;p&gt;For example, in the following cases, pipeline cache will not help with the latency improvement:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Different GPUs.&lt;/li&gt;
&lt;li&gt;GPU driver versions mismached.&lt;/li&gt;
&lt;li&gt;Different GPU vendors (Nvidia, Qualcomm, AMD, etc).&lt;/li&gt;
&lt;li&gt;Any changes in pipeline states(shaders, descriptors, render pass, rasterization state, etc).&lt;/li&gt;
&lt;li&gt;And more.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Vulkan enforces strict constraints for pipeline cache effectiveness. Even on the same device, a saved pipeline cache may become invalid due to changes in the device context. Vulkan validates this by checking the following properties:&lt;/p&gt;
&lt;figure class=&quot;highlight cpp&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;2&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;3&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;4&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;5&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;6&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;7&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;8&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;9&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;10&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;11&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;typedef&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;hljs-title class_&quot;&gt;VkPhysicalDeviceProperties&lt;/span&gt; {&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint32_t&lt;/span&gt;                            apiVersion;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint32_t&lt;/span&gt;                            driverVersion;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint32_t&lt;/span&gt;                            vendorID;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint32_t&lt;/span&gt;                            deviceID;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPhysicalDeviceType                deviceType;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;char&lt;/span&gt;                                deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    &lt;span class=&quot;hljs-type&quot;&gt;uint8_t&lt;/span&gt;                             pipelineCacheUUID[VK_UUID_SIZE];&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPhysicalDeviceLimits              limits;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;    VkPhysicalDeviceSparseProperties    sparseProperties;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;line&quot;&gt;} VkPhysicalDeviceProperties;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;If Vulkan detects any mismatch between the current state and the cached metadata, the pipeline cache will not function as intended.&lt;/p&gt;
</content><category term="CGV"/></entry><entry><title>Strawberry Picking</title><link href="https://chuzcjoe.com/life/life-strawberry-picking/"/><id>https://chuzcjoe.com/life/life-strawberry-picking/</id><published>2026-04-08T23:47:06.000Z</published><updated>2026-04-08T23:50:19.049Z</updated><summary>Ah-May’s Strawberry U-Pick at Brentwood</summary><content type="html">&lt;p&gt;Ah-May’s Strawberry U-Pick at Brentwood&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Address: 7990 Balfour Rd, Brentwood, CA 94513&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/strawberry-pick/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry><entry><title>Sanborn County Park</title><link href="https://chuzcjoe.com/life/life-sanborn-county-park/"/><id>https://chuzcjoe.com/life/life-sanborn-county-park/</id><published>2026-04-05T20:38:32.000Z</published><updated>2026-04-05T20:44:21.118Z</updated><summary>Redwood hiking, shaded trails, and camping in Saratoga.</summary><content type="html">&lt;p&gt;Redwood hiking, shaded trails, and camping in Saratoga.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/1.JPG&quot; title=&quot;Image 1&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/2.JPG&quot; title=&quot;Image 2&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/3.JPG&quot; title=&quot;Image 3&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/4.JPG&quot; title=&quot;Image 4&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/5.JPG&quot; title=&quot;Image 5&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/6.JPG&quot; title=&quot;Image 6&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/7.JPG&quot; title=&quot;Image 7&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/8.JPG&quot; title=&quot;Image 8&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/9.JPG&quot; title=&quot;Image 9&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/10.JPG&quot; title=&quot;Image 10&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/11.JPG&quot; title=&quot;Image 11&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/12.JPG&quot; title=&quot;Image 12&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/13.JPG&quot; title=&quot;Image 13&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/14.JPG&quot; title=&quot;Image 14&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/15.JPG&quot; title=&quot;Image 15&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/16.JPG&quot; title=&quot;Image 16&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/17.JPG&quot; title=&quot;Image 17&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/18.JPG&quot; title=&quot;Image 18&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/19.JPG&quot; title=&quot;Image 19&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/20.JPG&quot; title=&quot;Image 20&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/21.JPG&quot; title=&quot;Image 21&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/22.JPG&quot; title=&quot;Image 22&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/23.JPG&quot; title=&quot;Image 23&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/24.JPG&quot; title=&quot;Image 24&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/25.JPG&quot; title=&quot;Image 25&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/26.JPG&quot; title=&quot;Image 26&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/27.JPG&quot; title=&quot;Image 27&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/28.JPG&quot; title=&quot;Image 28&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/29.JPG&quot; title=&quot;Image 29&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/30.JPG&quot; title=&quot;Image 30&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/31.JPG&quot; title=&quot;Image 31&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/32.JPG&quot; title=&quot;Image 32&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/33.JPG&quot; title=&quot;Image 33&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/34.JPG&quot; title=&quot;Image 34&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/35.JPG&quot; title=&quot;Image 35&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/36.JPG&quot; title=&quot;Image 36&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/37.JPG&quot; title=&quot;Image 37&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/38.JPG&quot; title=&quot;Image 38&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/39.JPG&quot; title=&quot;Image 39&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/40.JPG&quot; title=&quot;Image 40&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/41.JPG&quot; title=&quot;Image 41&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/42.JPG&quot; title=&quot;Image 42&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/43.JPG&quot; title=&quot;Image 43&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/44.JPG&quot; title=&quot;Image 44&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/45.JPG&quot; title=&quot;Image 45&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/46.JPG&quot; title=&quot;Image 46&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/47.JPG&quot; title=&quot;Image 47&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/48.JPG&quot; title=&quot;Image 48&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/49.JPG&quot; title=&quot;Image 49&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/50.JPG&quot; title=&quot;Image 50&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;


&lt;p align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://media.githubusercontent.com/media/chuzcjoe/blog_imgs/refs/heads/master/life/sanborn-county-park/51.JPG&quot; title=&quot;Image 51&quot; width=&quot;700px&quot; height=&quot;700px&quot;&gt;
&lt;/p&gt;
</content><category term="life"/></entry></feed>