<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Sam Foshee — Posts</title><description>Long-form writing by Sam Foshee.</description><link>https://samfoshee.com/</link><language>en-us</language><item><title>Hello, world</title><link>https://samfoshee.com/posts/hello-world/</link><guid isPermaLink="true">https://samfoshee.com/posts/hello-world/</guid><description>First post — proving the wiring works.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This is the first post on the new site. It exists primarily to prove that
the content layer, MDX rendering, prose styles, and routing wire up correctly
across all three candidate themes.&lt;/p&gt;
&lt;h2 id=&quot;a-sub-heading&quot;&gt;A sub-heading&lt;/h2&gt;
&lt;p&gt;If you can read this with reasonable typography, things are working. The
goal of this seed post is to exercise enough Markdown surface — headings,
paragraphs, lists, blockquotes, inline code, code blocks — that the prose
stylesheet can be evaluated honestly.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A pull quote, just to exercise blockquote styling. The Brutalist Mono
theme should render this with a hard left border; the Warm Essayist with
an italicized soft rule.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One item&lt;/li&gt;
&lt;li&gt;Another item&lt;/li&gt;
&lt;li&gt;A third item&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A small &lt;code&gt;inline code&lt;/code&gt; example, and a code block:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8;overflow-x:auto&quot; tabindex=&quot;0&quot; data-language=&quot;ts&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; greeting&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &amp;#39;hello&amp;#39;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;console.&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(greeting);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That’s all for now — Phase 2’s job is just to prove the seed renders.&lt;/p&gt;</content:encoded></item><item><title>Tools I use</title><link>https://samfoshee.com/posts/tools-i-use/</link><guid isPermaLink="true">https://samfoshee.com/posts/tools-i-use/</guid><description>A short, opinionated list of the tools I reach for first — and why.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Every developer-leaning personal site eventually has one of these. Mine is short on
purpose: tools matter less than people pretend, and the list churns more than it
should. What follows is what I’m actually using right now — not a 2017 snapshot
kept alive out of nostalgia.&lt;/p&gt;
&lt;h2 id=&quot;editor&quot;&gt;Editor&lt;/h2&gt;
&lt;p&gt;VS Code with about ten extensions. The ones that earn their keep: the Astro
extension (syntax), ESLint, Prettier, GitLens, and the built-in JSON + YAML
support. I tried Zed for a few weeks and it’s good but I came back for the
extension ecosystem.&lt;/p&gt;
&lt;h2 id=&quot;terminal&quot;&gt;Terminal&lt;/h2&gt;
&lt;p&gt;Ghostty. Fast, sane defaults, no ceremony. Before that I lived in iTerm2 for
years. Before that, Terminal.app — which is also fine.&lt;/p&gt;
&lt;h2 id=&quot;languages-i-reach-for-first&quot;&gt;Languages I reach for first&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TypeScript&lt;/strong&gt; for anything that will outlive a weekend&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Go&lt;/strong&gt; for anything that needs to be a single static binary&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; for one-off data work and notebooks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bash&lt;/strong&gt; when “one-off” turns out to mean “ten times”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;git&quot;&gt;Git&lt;/h2&gt;
&lt;p&gt;Plain &lt;code&gt;git&lt;/code&gt; from the command line. I’ve tried Tower, GitHub Desktop, the editor
integrations — none of them stuck. The CLI is faster once your fingers know it.&lt;/p&gt;
&lt;h2 id=&quot;this-sites-stack&quot;&gt;This site’s stack&lt;/h2&gt;
&lt;p&gt;Astro 6 static output, TypeScript strict, Tailwind v4, MDX, Cloudflare Pages,
one Cloudflare Worker for the contact form. Self-hosted Source Serif 4. The
whole thing lives in one repo with no build server beyond Cloudflare’s.&lt;/p&gt;
&lt;h2 id=&quot;whats-deliberately-not-on-the-list&quot;&gt;What’s deliberately not on the list&lt;/h2&gt;
&lt;p&gt;JetBrains, Jira, Slack apps that auto-launch on boot, browser extensions
that “boost productivity.” None of those make me think better.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Phase-4 generic placeholder — rewrite when you have a real list.)&lt;/em&gt;&lt;/p&gt;</content:encoded></item><item><title>What&apos;s on my desk</title><link>https://samfoshee.com/posts/whats-on-my-desk/</link><guid isPermaLink="true">https://samfoshee.com/posts/whats-on-my-desk/</guid><description>A short inventory of the physical objects within arm&apos;s reach.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Less interesting than people pretend; more interesting than people admit. Here
is what is actually within arm’s reach right now, in roughly the order I’d
notice if it were missing.&lt;/p&gt;
&lt;h2 id=&quot;the-screen&quot;&gt;The screen&lt;/h2&gt;
&lt;p&gt;A 27-inch 4K display, slightly off-center because the sun is in my eyes when
it’s centered. Plugged into a laptop sitting closed in a vertical stand. The
laptop hasn’t been opened in three months.&lt;/p&gt;
&lt;h2 id=&quot;input&quot;&gt;Input&lt;/h2&gt;
&lt;p&gt;A mechanical keyboard with brown switches — quiet enough to use on calls. A
trackpad to the left of it (I’m right-handed, but the trackpad lives on the
left so my dominant hand stays on the keys). The trackpad has a coffee stain
that has been there since November.&lt;/p&gt;
&lt;h2 id=&quot;not-computers&quot;&gt;Not-computers&lt;/h2&gt;
&lt;p&gt;A small lamp with a warm bulb. A plant that has survived four years of
neglect. A water bottle I refill twice a day. A notebook open to a page that
mostly has the date written on it. A black pen, refilled.&lt;/p&gt;
&lt;h2 id=&quot;whats-missing&quot;&gt;What’s missing&lt;/h2&gt;
&lt;p&gt;A second monitor. Stickers. Anything labeled “ergonomic.” A standing desk —
I tried two of those and went back to sitting.&lt;/p&gt;
&lt;p&gt;The most surprising thing about workspace photos online is how staged most of
them are. The ones I trust have a wrinkled sleeve in frame.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(Phase-4 generic placeholder — rewrite when you have a real desk.)&lt;/em&gt;&lt;/p&gt;</content:encoded></item></channel></rss>