<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:webfeeds="http://webfeeds.org/rss/1.0" version="2.0">
  <channel>
    <title>Basus.me / Journal</title>
    <link>https://v4.basus.me/</link>
    <atom:link href="https://v4.basus.me/feeds/journal.xml" rel="self" type="application/rss+xml"/>
    <description>Basu's medium-form journal</description>
    <lastBuildDate>Thu, 08 Jan 2026 03:44:56 GMT</lastBuildDate>
    <language>en</language>
    <generator>Lume 3.1.2</generator>
    <item>
      <title>Re-asserting Ownership</title>
      <link>https://v4.basus.me/journal/2025/03/reasserting-ownership/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/03/reasserting-ownership/</guid>
      <description>Islands of ownership in a sea of rentals</description>
      <content:encoded>
        <![CDATA[<p>It all started innocently enough. I wanted to listen the <a href="https://en.wikipedia.org/wiki/Music_of_Attack_on_Titan">Attack on Titan
soundtrack</a>. I've had a
Spotify Premium subscription for about a decade (though I suppose I've made much
less use of it than I could have), and it's usually the first place I turn to
when I want to listen to something. And that's when the trouble started. It
turns out that Spotify on macOS doesn't have any kind of miniplayer, and doesn't
even give you any kind of notification when the track changes. It's a small
thing, but I like to know what I'm listening to. With Spotify, the only way to
do that is by keeping the player open all the time. Eventually, I ended up
getting <a href="https://replay.software/sleeve">Sleeve</a>, a little app for showing and
controlling what I'm listening to, that's compatible with Spotify, Apple Music,
and <a href="https://brushedtype.co/doppler/">Doppler</a>. I value attention to detail, and
Spotify doesn't, and that it irks me. They still don't have a rounded square
icon on macOS.</p>
<p>All of that made me think about ownership, or rather the lack thereof. We rent
so many things these days. We rent our homes, our cars, our software, our music,
our books and movies, hell, even our relationships. At the same time, physical
paper books, indie bookstores, small makers of various shapes and forms, are
seeing a resurgence. I don't know if <em>ownership</em> is a fundamentally human desire
(I suspect it's not), but going against the current trend, pushing back against
prevailing forces, definitely is. A growing desire to re-assert ownership is
indicative of that.</p>
<p>Personally, I have always had a soft spot for physical books, and have thought
of Kindle books as being rented and temporary. Owning movies (or TV shows) has
never appealed to me. When I was a child, we rarely bought tapes or DVDs, and I
could only watch things when they aired on TV. Ephemerality in visual media
seems natural. I bought CDs of music for a while, still have most of them, I
would like to do that again, perhaps starting with the Attack on Titan
soundtrack. No, I've never been into vinyl, and can't imagine that I ever will
be. I think software subscriptions are fine, especially if you get regular
updates. I am conflicted on home ownership.</p>
<p>Over the years, I have come to experience and internalize that all things are
temporary (for better and for worse). And yet, I like to have nice things, be
grounded in relatively unchanging routines. Maybe this is a chance to embrace
what the Buddhists mean by &quot;non-duality&quot;? Making peace with being in a sea of
rentals and temporaries is perhaps accepting the world as it is. But perhaps
carving out islands of ownership and relative permanence is nudging the world
towards the way we would like it to be.</p>
]]>
      </content:encoded>
      <pubDate>Mon, 24 Mar 2025 14:24:52 GMT</pubDate>
    </item>
    <item>
      <title>Steam Spring Sale Haul</title>
      <link>https://v4.basus.me/journal/2025/03/steam-spring-sale-haul/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/03/steam-spring-sale-haul/</guid>
      <description>Picked up some games I don't need and might never play</description>
      <content:encoded>
        <![CDATA[<p>The <a href="https://store.steampowered.com/news/app/593110/view/520833241446351891">Steam Spring
Sale</a> is
in full swing (for one more day), and I picked up a couple of games that were on
steep discounts. I don't know when I'm actually going to get around to actually
playing them, but one can dream. Here's what I got:</p>
<ul>
<li>Transport Fever 2 (Deluxe Edition and the Early Supporter Pack). I'm a
sucker for city-builder style games. This seems fun and simpler than, say,
Cities Skylines.</li>
<li>DOOM Anthology. This includes DOOM, DOOM 2, DOOM 3, DOOM 64 as well as DOOM
2016 and DOOM Eternal that I already have. Is that enough DOOM in my life?
Maybe, at least until DOOM: The Dark Ages comes out later this year.</li>
<li>Quake Collection Bundle. This includes Quake 1-4, Quake Live and Quake
Champions. We first got a computer at home in 2021, and that Christmas I got
Quake 3 Arena. Sadly, I never got to play it because our computer didn't have
enough RAM to share with the video card, and my dad wouldn't spend on a
graphics card. Better late than never I suppose.</li>
<li>Frostpunk 2. I played the original Frostpunk during the COVID lockdowns and
really enjoyed it. From what I can tell, this is just as good, but different,
so I'm looking forward to it.</li>
</ul>
<p>Talking about better late than never, a few years ago for Christmas I got myself
a Christmas tree and a Nintendo Switch. As a child I always wanted a Christmas
tree and a Nintendo console, but never got them. There is something very healing
and empowering about giving yourself the things you were once dependent on
others for.</p>
]]>
      </content:encoded>
      <pubDate>Wed, 19 Mar 2025 09:26:42 GMT</pubDate>
    </item>
    <item>
      <title>Sunday Selection 2025-03-16</title>
      <link>https://v4.basus.me/journal/2025/03/sunday-selection-2025-03-16/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/03/sunday-selection-2025-03-16/</guid>
      <description>Some things that have influenced my thinking on mastery</description>
      <content:encoded>
        <![CDATA[<p>I've been thinking about mastery a lot lately. This started with a change in
career direction and a re-evaluation of my personal goals over the last year
(which I will write about in detail at some point). It was further catalyzed by
a number of things that I've encountered over the last year that have really
resonated with me. Today I'm sharing some of the &quot;source material&quot;, so to speak,
while I gather my thoughts for a more detailed post later.</p>
<p><strong><a href="https://en.wikipedia.org/wiki/Blue_Eye_Samurai">Blue Eye Samurai</a></strong>
(particularly episode 7, <em>Nothing Broken</em>)</p>
<p>Blue Eye Samurai was a hit anime on Netflix last year. The whole show (8
episodes so far) is worth a watch, but one part in episode 7 stood out to me. At
this point, the main character, the titular Blue Eye Samurai, is in a rough
spot, where it seems like everything has gone wrong. The mentor figure/adoptive
parent in the show gives this advice about being an artist:</p>
<blockquote>
<p>To be an artist is to do one thing only. Look at me, I cannot fight, or weave,
or farm. I make swords. I cook for strength to make good swords. I study the
sutras to cleanse my heart to make good swords. Swords, pots, noodles, death.
It is all the same to an artist. An artist gives all they have to the art, the
whole. Your strengths and deficiencies, your loves and shames. Perhaps the
people you collected.</p>
<p>There may be a demon in you, but there is more. If you do not invite the
whole, the demon takes two chairs, and your art will suffer.</p>
<p>I only know how to make swords. Each morning I start a fire. And begin again.</p>
</blockquote>
<p><strong><a href="https://www.readtrung.com/p/jerry-seinfeld-ichiro-suzuki-and">Jerry Seinfeld, Ichiro Suzuki and the Pursuit of
Mastery</a>  via
Thorsten Ball's <a href="https://registerspill.thorstenball.com/p/joy-and-curiosity-24">Joy and Curiosity
#24</a></strong></p>
<p>Jerry Seinfeld, without a doubt, is a master comedian. Seinfeld, in his 70s, and
fabulously rich, continues to practice his craft, traveling regularly and
performing as a live comedian. In this article, Trung Pham tracks down an old
<em>Esquire</em> magazine article that Seinfeld has mentioned as influencing his views
on mastery. The article pulls out key parts of the article, and places it in
context with Seinfeld's career and practices, giving us a very grounded
perspective on why mastery is important and a worthwhile pursuit, and how to go
about achieving it (as well as how to avoid falling into some common pitfalls).</p>
<p><strong><a href="https://exploringkodawari.blog/what-is-kodawari/">Exploring Kodawari</a></strong></p>
<p>I recently learned about the concept of <em>kodawari</em>: the disciplined pursuit of
perfection, while being attuned to the fact that perfection is impossible. For
me, it is another step on the path of focusing on the process and the daily
actions, rather than the destination or goal. Curiously, I learned about this
while reading an article about the <a href="https://arun.is/blog/sigma-bf/">Sigma BF
camera</a>, a camera that seems to be pursuing the
platonic ideal of a digital camera.</p>
<p><strong><a href="https://members.specialprojects.jp/archives/popups/aan/">About a Nightingale, Day
8</a></strong></p>
<p><em>About a Nightingale</em> is one of <a href="https://craigmod.com/">Craig Mod's</a> pop-up
newsletters: a daily newsletter over a short period of a time that followed one
of Mod's explorations through the less-well-trodden paths of Japan. These
newsletters are members-only, so I don't want to point to the whole thing, but I
wanted to share this excerpt from the final issue where Mod talks about why he
prefers to do his walks alone over a number of days:</p>
<blockquote>
<p>The point of creating patterns or rhythms of full days (and doing so in
sequence — this is critical, the sequence part, the unbroken part, the
sustained part) is to produce an “imprinting” of that fullness on the mind and
in the muscles. And then to bring back that fullness into the play of
“non-work” time. To bring that register of fullness to the people I love, my
step-daughter, my parents, etc. So these are important days because they
inform so much else in life!</p>
</blockquote>
<blockquote>
<p>And you have to fight to create this time. Life (now more than ever given
current events and global chaos) conspires to steal from you days and hours
and years to “work.” Conspires to steal from you the ability to hone that
“fullness meter” in your heart or brain or wherever it lives.</p>
</blockquote>
<p>Like artistry, mastery, and <em>kodawari</em>, fullness is another concept and
experience that I am working to have more of in my life.</p>
]]>
      </content:encoded>
      <pubDate>Sun, 16 Mar 2025 16:02:57 GMT</pubDate>
    </item>
    <item>
      <title>Home-cooked Software</title>
      <link>https://v4.basus.me/journal/2025/03/homecooked-software/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/03/homecooked-software/</guid>
      <description>An application of LLMs that I'm actually excited about</description>
      <content:encoded>
        <![CDATA[<p><a href="https://craigmod.com/">Craig Mod</a>, one of my favorite online writers, has been
running an increasingly successful membership program for the <a href="https://craigmod.com/essays/membership_rules/">last six
years</a>. A few days ago, he
announced The Good Place, a private, members-only online space, vaguely
Twitter-like with short-form posts, but more focused on conversations. As of
this writing, members get two posts and ten replies a day, each limited to a
thousand characters. Posts and replies disappear after one week, there may be an
option to add a single image per post coming soon. The Good Place is a great
example of what <a href="https://www.robinsloan.com/">Robin Sloan</a> (another excellent
writer to follow) called a <a href="https://www.robinsloan.com/notes/home-cooked-app/">home-cooked
app</a>.</p>
<aside class="sidenote"> Seeing The Good Place come to life has finally pushed
me to get over my skepticism of LLMs and try using one as a programming
partner.</aside>
<p>Last year, <a href="https://maggieappleton.com/home-cooked-software/">Maggie Appleton
connected</a> this variety of
personalized software to the growing power of Large Language Models, suggesting
that LLMs would make it easier for non-professional programmers to write small
pieces of usable, working software for their friends, families and communities.
The Good Place is proof-of-concept for Appleton's idea, since Mod has been
leaning on <a href="https://claude.ai/">Claude</a> to get things up and working
quickly<span class="sidenote-number"></span>. The software itself seems to be
functioning with only minor issues, and the community itself has quickly grown
into it. Withig a few days interesting links, personal projects, stories and
experiences have been shared, difficulties have been commiserated over, some
advice given, and even a couple of physical-world meetings arranged. When
contrasted against global social media networks like Twitter, Threads, even
Mastodon and Bluesky, the analogy between industrial farmed and processed junk
food and a home-cooked meal writes itself (though The Good Place is perhaps more
of a local potluck dinner).</p>
<p>For a long time now I have been skeptical of two things: first, the idea that
&quot;everyone should learn to code&quot;, and second, that LLMs will be widely useful in
any significant way. I'm still skeptical of both those ideas in isolation, but
The Good Place might have convinced me that <em>together</em> they make for a useful
combination. The computing industry as a whole has not made much progress in
lowering the bar for non-professional programmers to build usable software for
themselves. I think it's still pretty hard for someone with absolutely no
programming experience to do useful things, but with LLMs it seems possible for
people with <em>some</em> experience to do things that are more advanced, and to do it
quickly.</p>
<p>Finally, to stretch the cooking analogy a little bit more, I wonder what will be
the equivalent of the local grocery store, or the farmer's market for
home-cooked software. A large part of the difficulty in building usable software
is that the individual components are quite tricky to plug together and keep
running. But if home-cooked software movement does gather enough momentum, it
may make sense for people to start offering services around hosting or packaging
components for them. I can imagine something like Heroku or Fly.io, but even
simpler, and maybe with LLM integrations that make it possible for communities
to build and manage independent systems with little administrative overhead.
Maybe something like this exists already?</p>
]]>
      </content:encoded>
      <pubDate>Fri, 14 Mar 2025 17:37:19 GMT</pubDate>
    </item>
    <item>
      <title>Sunday Selection 2025-03-09</title>
      <link>https://v4.basus.me/journal/2025/03/sunday-selection-2025-03-09/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/03/sunday-selection-2025-03-09/</guid>
      <description>A smattering of homegrown websites</description>
      <content:encoded>
        <![CDATA[<p>It's March, but it feels like my year is just starting (for reasons I may dive
into at a later date). It feels like I'm in a prolonged spring cleaning session,
at least for my digital life. This year I want to more seriously get into
digital photography, and I'm starting by moving old photos off of various SD
cards into a Lightroom catalog. I'm going through all the emails that have piled
up in one of my email accounts, deleting a lot of them, and unsubscribing from
all the lists that are no longer relevant to me. I'm also digging through a ton
of tabs and bookmarks, reading things that have been waiting for a while, and
closing them out. So the next few editions of Sunday Selection will be populated
from my massive tab backlog.</p>
<p><strong><a href="https://weeks.ginatrapani.org/">Gina Trapani's Life in Weeks</a></strong></p>
<p>A lovely little piece of digital art tracking major events in Gina Trapani's
life, a week at a time. Personally I feel like I have a pretty bad memory for
things that have happened in my life, and having something like this would be a
good way to keep track of things that have kept track of things in my life. This
version is based on a <a href="https://busterbenson.com/life-in-weeks">similar page by Buster Benson</a>, which links to its source
code, if you want to make a version for itself.</p>
<p><strong><a href="https://andregarzia.com/2025/03/why-i-choose-lua-for-this-blog.html">Why I Choose Lua for this
Blog</a></strong></p>
<p>Since <a href="https://v4.basus.me/src/journal/2024/08/version-4.md">Version 4</a> I've been using
<a href="https://lume.land/">Lume</a> to build this site, and though it's generally pretty
great, I am occassionally concerned about the amount of TypeScript dependencies
that I pull in every time Lume is updated. Something like Andre Garzia's
homegrown, low-dependency blogging software has a certain appeal to it: knowing
in more detail what you're depending, and that it won't change very often. In
the distant future, if I ever do get around to building my own website
generator, these are concerns that will be top of mind. Relatedly, as a
programming language nerd, I find the appealing of a slowly developing, mostly
language very appealing. I think that some languages (Java comes to mind) should
be frozen once they get to some &quot;good enough&quot; point, rather than continually
evolving and sprouting new features.</p>
<p><strong><a href="https://digitalflapjack.com/blog/the-partially-dynamic-web/">The Partially Dynamic
Web</a></strong></p>
<p>Continuing on the topic of rolling your own website software, Michael Winston
Dales describes his motivation and solution for going from a purely-static
Hugo-based site to a slightly more dynamic one. Dales' main motivation is to
more efficiently handle large amounts of images. As I get more into photography,
I'm starting to think about how I can start adding images to my journal entries,
or have galleries of images, without too much manual effort, or slowing down the
site's  build process. This also makes me wonder how static site generators can
better support &quot;partially dynamic&quot; features. Yet another thing to think about
for my future-website-generator project.</p>
<p><strong><a href="https://www.mcdbooks.com/books/life-in-code">Life in Code</a></strong> by Ellen Ullman</p>
<p>Part memoir, part snapshots of life in the software industry, and part social
commentary, this book is a must-read for anyone who wants an inside look at the
software industry from a unique perspective. Ullman's personal anecdotes are
interesting and often entertaining, but her thoughts on how the internet will
lead to the spread of misinformation and decline of communities are prescient by
several decades.</p>
<hr />
<p>In the process of writing this, I realized I don't like how the links and their
descriptions look, so there will probably be some CSS hackery in my near future.
I suspect that in the process, the limitations of Markdown will cause me more
frustration and make me wonder once more if I should just write HTML5 directly.
I also really want to have a non-chronological notes section (for documenting
things like the aforementioned move to Lightroom), but I will inevitably
overthink and over-engineer what that looks like. Webweaving can be such an
addictive hobby, one thing always leads to a whole bunch more.</p>
]]>
      </content:encoded>
      <pubDate>Sun, 09 Mar 2025 06:41:58 GMT</pubDate>
    </item>
    <item>
      <title>Tags</title>
      <link>https://v4.basus.me/journal/tags/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/tags/</guid>
      <description>None for now</description>
      <content:encoded>
        <![CDATA[<div class="row">
  <section class="wide-middlebar">
    <h2>Browse by Tag</h2>
    <ul id="tag-card-grid" class="ui-bar">
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/basus-me-v3/">
          <span class="tag-card-name"> Basus.me v3 </span>
          <span class="tag-card-count">5</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/basus-me-v4/">
          <span class="tag-card-name"> Basus.me v4 </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/books/">
          <span class="tag-card-name"> Books </span>
          <span class="tag-card-count">3</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/buddhism/">
          <span class="tag-card-name"> Buddhism </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/culture/">
          <span class="tag-card-name"> Culture </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/dune/">
          <span class="tag-card-name"> Dune </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/emacs/">
          <span class="tag-card-name"> Emacs </span>
          <span class="tag-card-count">2</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/fediverse/">
          <span class="tag-card-name"> Fediverse </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/feedbin/">
          <span class="tag-card-name"> Feedbin </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/games/">
          <span class="tag-card-name"> Games </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/hugo/">
          <span class="tag-card-name"> Hugo </span>
          <span class="tag-card-count">2</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/indieweb/">
          <span class="tag-card-name"> IndieWeb </span>
          <span class="tag-card-count">2</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/llms/">
          <span class="tag-card-name"> LLMs </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/life/">
          <span class="tag-card-name"> Life </span>
          <span class="tag-card-count">5</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/lume/">
          <span class="tag-card-name"> Lume </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/mastery/">
          <span class="tag-card-name"> Mastery </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/micro-blog/">
          <span class="tag-card-name"> Micro.blog </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/monthly/">
          <span class="tag-card-name"> Monthly </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/movies/">
          <span class="tag-card-name"> Movies </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/philosophy/">
          <span class="tag-card-name"> Philosophy </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/productivity/">
          <span class="tag-card-name"> Productivity </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/programming/">
          <span class="tag-card-name"> Programming </span>
          <span class="tag-card-count">5</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/rss/">
          <span class="tag-card-name"> RSS </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/reading/">
          <span class="tag-card-name"> Reading </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/reeder/">
          <span class="tag-card-name"> Reeder </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/software/">
          <span class="tag-card-name"> Software </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/sundays/">
          <span class="tag-card-name"> Sundays </span>
          <span class="tag-card-count">11</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/television/">
          <span class="tag-card-name"> Television </span>
          <span class="tag-card-count">2</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/websites/">
          <span class="tag-card-name"> Websites </span>
          <span class="tag-card-count">6</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/writing/">
          <span class="tag-card-name"> Writing </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
      <li class="ui-margin">
        <a class="ui ui-button" href="https://v4.basus.me/journal/tags/zen/">
          <span class="tag-card-name"> Zen </span>
          <span class="tag-card-count">1</span>
        </a>
      </li>
    </ul>
  </section>
</div>
]]>
      </content:encoded>
      <pubDate>Wed, 05 Feb 2025 06:34:03 GMT</pubDate>
    </item>
    <item>
      <title>wyd</title>
      <link>https://v4.basus.me/journal/2025/02/wyd/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2025/02/wyd/</guid>
      <description>A quick script to summarize all the work I've done today</description>
      <content:encoded>
        <![CDATA[<p>Recently I've been working on a number of different projects each day that are
spread across a number of Git repositories. I have also been trying to keep a
worklog of everything that I get done during the day. I should be updating the
worklog as I go, but, fallible creature that I am, most days I don't remember to
update the log until the end day. And by that time, I've inconveniently
forgotten most what I've worked on through the day. So I did what all good
programmers would do in this situation, and wrote myself a little script helper.</p>
<aside class="sidenote">For old fogies like me, <span class="program">wyd</span>
is an abbreviation for "what (are) you doing".</aside>
<p>I'm calling the script <span class="program">wyd</span><span
class="sidenote-number"></span>. Given a directory (or just the current one) it looks
into each subdirectory and checks if it is a Git repository. If it is, and there
have been commits made today (technically since midnight), <span
class="program">wyd</span> reports the commit messages, and if the commits
haven't been pushed to a remote. (All my repositories have a remote they backup
to.) At the end, <span class="program">wyd</span> also lists the repositories
that have uncommitted changes. At the end of the day (or really at any time), I
can get an overview of everything I've done so far.</p>
<p>The <a href="https://github.com/basus/scripts/blob/master/wyd.sh">script</a> is available
in my <a href="https://github.com/basus/scripts">public scripts repo</a>. Feel free to
copy, fork or send any suggestions my way. I went to some pains to make it POSIX
compliant, so it should run with common shells (namely <span
class="program">bash</span> and <span class="program">zsh</span>).</p>
<h2>On Shell Scripting</h2>
<p>I initially wanted to write this in Rust, because I have been wanting to sit
down and learn Rust for a while. But that seemed a bit overkill, and I wanted to
see if I could get a shell script to do what I wanted without too much trouble.
Though I've been writing and using small shell scripts forever, this is the
first time that I really sat down and understood what I was writing, rather than
just copying-and-pasting something that worked.</p>
<aside class="sidenote">For example, POSIX shell doesn't have arrays, except for
the array of program arguments, which <span class="program">wyd</span> abuses.
</aside>
<p>This process made me realize that for a long time, I've been afraid of writing
serious shell scripts. The shell script language is definitely quirky. Depending
on external programs for most of the heavy lifting means diving into
documentation spread across different places. On top of that, being POSIX
compliant borders on masochism<span class="sidenote-number"></span>. But once I
did decide to dive in, I was pleasantly surprised by how quickly I could not
only get something working, but understand what was happening (leaning heavily
on <a href="https://stackoverflow.com/">Stack Overflow</a> and the <a href="https://unix.stackexchange.com/">Unix Stack
Exchange</a>). Am I going to build large pieces of
software in shell script? No, but I am much more comfortable reaching for it to
write small utilities and automations.</p>
<p>Over the last few months or so, I have been making it a point to dive into new
languages, technologies and problems. As a result, I have felt my
abilities and confidence as a programmer grow steadily. Not only do I know a lot
more, I also feel more comfortable with just diving into a new problem, domain
or codebase and figuring things out. I hope to write more about this later.
Happy scripting!</p>
]]>
      </content:encoded>
      <pubDate>Tue, 04 Feb 2025 15:41:15 GMT</pubDate>
    </item>
    <item>
      <title>Sunday Selection 2024-09-15</title>
      <link>https://v4.basus.me/journal/2024/09/sunday-selection-2024-09-15/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2024/09/sunday-selection-2024-09-15/</guid>
      <description>Griping about the IndieWeb</description>
      <content:encoded>
        <![CDATA[<p>There's been a bit of drama about the IndieWeb the last few weeks. Small,
personal, indie websites are experiencing a revival as more and more people
become dissatisfied with the large social media platforms. There are of course
differing visions for what this non-corporate, decentralized web looks like, and
that has caused a bit of tension among folks in this space. However, vigorous
and (mostly) polite discourse of this fashion is an important part of a growing,
dynamic community, so I continue to feel like the future of the IndieWeb
(however you define it) is bright.</p>
<p><strong><a href="https://so1o.xyz/blog/3-body-problem">IndieWeb's 3-Body Problem</a></strong></p>
<p>As far as I can tell, this is the piece that sparked off this round of
discourse, written a couple of months ago. The premise is simple:</p>
<blockquote>
<p>IndieWeb is a social club for developers, and apparently, not for me.</p>
</blockquote>
<blockquote>
<p>IndieWeb, a standard for the smart ones. Its member exclusivity works really
well, as it prevents people like me from joining. It’s a coding test for the
privileged. If you can solve it, like the Three Body Problem, you’re one of
the cool kids—just like the Oxford Five. You’re deemed worthy to fight against
the Big Tech, for us. It’s up to you, yes, you, to decide how the future of
the web can be shaped. It must feel good to be an elite.</p>
</blockquote>
<p><strong><a href="https://minutestomidnight.co.uk/blog/smaller/">Smaller</a></strong></p>
<p>Simone Silvestroni makes a succinct (and very good) point: the IndieWeb's
various new technologies (like webmentions, microformats and even ActivityPub)
are mostly unnecessary. Basic websites with RSS feeds and email are all the
communication and dissemination technology that we need.</p>
<p><strong><a href="https://starbreaker.org/blog/tech/has-indieweb-become-irrelevant/">Has the IndieWeb Become
Irrelevant?</a></strong></p>
<p>Matthew Graybosch's post on the topic is probably the most comprehensive,
includes links and excerpts to related posts, and Matthew's replies to some of
the discussion that has been sparked. Matthew makes arguments that are
technological (the complexity of ActivityPub, webmentions, etc. are too much for
non-techie web people) and philosophical (it's not the website author's
responsibility to support integration with other services). If you're going to
read one post on this matter, this is the one to read.</p>
<p><strong><a href="https://json.blog/2024/08/29/ownership-connection-and.html">Ownership, Connection and
Control</a></strong> and
<strong><a href="https://json.blog/2024/09/03/posse-is-still.html">POSSE is still cool</a></strong></p>
<p>Jason offers a different perspective on the matter, and addresses some of
Matthew's points in the previous article. Specifically when it comes to the idea
of POSSE (Publish on your Own Site, Syndicate Everywhere), Jason notes that he
wants to make it easy for his readers to find and read his material on a variety
of different platforms, even if that means more work and technological effort on
his part. This is something I agree with (for the time being at least), and is
one of the motivations behind <span class="codename">Project Bracer
Phoenix</span>.</p>
<p><strong><a href="https://martymcgui.re/2024/08/29/141602/">Has the IndieWeb become Discourse
Again?</a></strong></p>
<p>Marty McGuire mentions <a href="https://micro.blog/">Micro.blog</a>, a service that lets you
have all the goodness of the IndieWeb without having to engage in any
technological wizardry (unless you want to). I personally find Micro.blog not
quite to my liking (for various, mostly aesthetic reasons), but it is a good
place to get started with your own site. I also heartily recommend
<a href="https://omg.lol/">Omg.lol</a> for something more... quirky? Marty also makes the
point that a lot of the technologies on the official <a href="https://indieweb.org/">IndieWeb
wiki</a> are recommendations and experiments, not hard and
fast rules. This is a interesting counterpoint post, and if you do read it, I
also recommend going back and reading <a href="https://starbreaker.org/blog/tech/has-indieweb-become-irrelevant/index.html#update-2024-08-30">Matthew's response</a>.</p>
<hr>
<p>There are a couple of other posts on the matter that are worth reading, you'll
find them linked from the others above (yet another reason <a href="https://v4.basus.me/journal/2024/09/they-hate-us-for-our-links/">why links are
awesome</a>). Personally, I'm conflicted. While I
do want to Syndicate Everywhere, I am put off by the technical complexity that
engenders. I am also put off by the ad-hoc-ness of the various technologies
involved, and that <a href="https://octothorp.es/">new ideas</a> keep adding. I would love
to have a cohesive set of technologies that act together (along with an
easy-to-use implementation), but that seems to not exist. But one can dream...</p>
]]>
      </content:encoded>
      <pubDate>Sun, 15 Sep 2024 11:45:00 GMT</pubDate>
    </item>
    <item>
      <title>They Hate Us for Our Links</title>
      <link>https://v4.basus.me/journal/2024/09/they-hate-us-for-our-links/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2024/09/they-hate-us-for-our-links/</guid>
      <description>Social Media Platforms are Bad Web Citizens</description>
      <content:encoded>
        <![CDATA[<p>While working on <span class="codename">Project Bracer Phoenix</span> I have
been digging into how various social media platforms handle rich text posts,
specifically how they handle embedded links (i.e., links where there is some
text to click on, instead of the raw URL). Perhaps unsurprisingly, none of the
current crop of social media platforms (Twitter, Threads, Mastodon, Bluesky)
handle rich text or links in a truly satisfactory manner. Of these, Twitter and
Threads have absolutely no support, instead providing a single link preview.
Bluesky does support embedded links, but they use <a href="https://docs.bsky.app/docs/advanced-guides/post-richtext">their own
format</a> rather than
plain ol' HTML and Mastodon will accept <a href="https://docs.joinmastodon.org/spec/activitypub/#sanitization">a subset of
HTML</a> from <em>other
ActivityPub servers</em>, but not through its own API and its own clients (even
though the API examples <a href="https://docs.joinmastodon.org/methods/statuses/#200-ok">show HTML
posts</a>). Links with text
anchors are a fundamental building block of the web, and social media platforms
(even the relatively good ones) are actively hostile to them. These platforms
are bad citizens of the web, and they hate us for our links.</p>
<p>None of this is new. Back in 2019, <a href="https://www.anildash.com/">Anil Dash</a>
observed that the popular &quot;link in bio&quot; idiom for Instagram was a <a href="https://www.anildash.com/2019/12/10/link-in-bio-is-how-they-tried-to-kill-the-web/">slow
knife</a>,
simultaneously constraining our ability to link and lowering our expectations of
web-based platforms. Robb Knight <a href="https://rknight.me/blog/the-web-is-fantastic/">reminded
me</a> that services like Linktree
only because platforms are link-averse. Commercial social media platforms have a
vested interest in <em>not</em> supporting links, especially links to places outside
the platform. As Adam Mosseri, head of Instagram puts it, the value of these
platforms is <a href="https://www.threads.net/@mosseri/post/C-lQQAFv8-5">&quot;reach and engagement&quot;</a> (not connection, or
information, or education), and you can't get your users to &quot;engage&quot; if they are
following links to elsewhere. But it is especially annoying that platforms that
want to be different and better are also falling into this same trap (looking at
you, Mastodon). I personally consider Mastodon's lack of proper HTML support to
be one of its original sins, and Bluesky seemingly wants to be different just
for the sake of being different.</p>
<p>All of this has been swirling in my head for a while now, espcially after Jim
Nielsen <a href="https://blog.jim-nielsen.com/2024/the-humble-link/">reminded me</a> that
<a href="https://blog.jim-nielsen.com/2021/the-power-of-the-link/">links are powerful</a>.
But what prompted me to actually sit down and write this was discovering Eric
Bailey's post <a href="https://ericwbailey.website/published/websites-are-like-bridges/">&quot;Websites are like
bridges&quot;</a>.
This seems particularly apropos because the primary function of a bridge is <em>to
take you somewhere else</em>, and a good website more often than not, takes you
somewhere else (via, you guessed it, a <em>link</em>). Remember when we used to talk
about &quot;browsing&quot; or &quot;surfing&quot; the web, verbs that imply swiftly and easily
moving from one place to the next?</p>
<p>So, gripes and rage baiting aside, where does one go from here? Well, one of the
benefits of coming back to my own website is that I can freely have as many
links, with whatever text, wherever I like. One of my drivers for building a
working writing and publishing system (for both <a href="https://v4.basus.me/stream">short</a> and
<a href="https://v4.basus.me/journal">medium</a> form) was to be able to write with rich styling and lots of
links. <span class="codename">Project Bracer Phoenix</span> is an effort to
smooth over the deficiencies of the various platforms, and will hopefully be one
of a number of tools I build to make writing and disseminating text-centric
material easier (i.e., <a href="https://textcasting.org/">textcasting</a>).</p>
<p>A glimmer of hope in this whole sordid situation is that <a href="https://sarajoy.dev/blog/write-websites/">everyone's free to
write websites</a>, and it's never been
easier. The beauty of being on the web itself (as opposed to a siloed platform)
is that one size doesn't have to fit all. You can be at whatever level of
technical detail you choose, with options ranging from rolling your own HTML and
running your own server, to using a <a href="https://lume.land/">static site generator</a>,
all the way to content-management systems like
<a href="https://wordpress.com/">WordPress</a> and Medium, and including quirkier options in
the middle like <a href="https://omg.lol/">omg.lol</a>, <a href="https://pika.page/">Pika</a>, or
<a href="https://blot.im/">Blot</a>. If you do decide to go down one of these routes, come
join us at <a href="https://discourse.32bit.cafe/">32-bit Café</a>, a new community for
fellow web-heads.</p>
<p>Happy hacking and good blogging!</p>
]]>
      </content:encoded>
      <pubDate>Thu, 05 Sep 2024 08:45:00 GMT</pubDate>
    </item>
    <item>
      <title>Sunday Selection 2024-09-01</title>
      <link>https://v4.basus.me/journal/2024/09/sunday-selection-2024-09-01/</link>
      <guid isPermaLink="false">https://v4.basus.me/journal/2024/09/sunday-selection-2024-09-01/</guid>
      <description>An ode to monospace</description>
      <content:encoded>
        <![CDATA[<p>Today's Sunday Selection is an ode to monospace. I'm enjoying the current design
of the site, but I have a feeling that an all-monospace redesign is coming in
the not-too-distant future.</p>
<p><strong><a href="https://berkeleygraphics.com/typefaces/berkeley-mono/">Berkeley Mono</a> and
<a href="https://etceteratype.co/sono">Sono</a></strong></p>
<p>I stumbled across these two lovely monospace typefaces a while ago. Sono is a
&quot;soft monospace&quot; with a proportional variant. While it's clearly a monospace, it
doesn't look as &quot;techie&quot; as such fonts often do, it works well as a body text
typeface. By contrast Berkeley Mono (via BSAG) is a much more industrial-looking
typeface that feels like at home in a software manual, or part of futuristic UI.
I'm not sure I'd use it for programming, but I would definitely consider for a
website, poster or book. Except one or both to show up here in the future.</p>
<p><strong><a href="https://owickstrom.github.io/the-monospace-web/">The Monospace Web</a></strong></p>
<p>This is a gorgeous, minimalist, design exploration by Oskar Wickström that I'm
going to keep close at hand for future reference. If I ever create a purely
technical website, or app, this is a style I'm going to come back to. I love how
a considered use of monospace (and monochrome) can look both classic and modern
at the same time. Not only did I see some fun design in action, I also learned
about the existence of <a href="https://en.wikipedia.org/wiki/Box-drawing_characters">box-drawing
characters</a>.</p>
<p><strong><a href="https://phosphoricons.com/">Phosphor Icons</a></strong></p>
<p>Not quite monospace, but keeping with the minimalist theme, Phosphor is set of
over 9,000 icons with a consistent, clean design and a variety options for use
(including with popular web frameworks). Personally, I've been using <a href="https://feathericons.com/">Feather
icons</a> and while they're lightweight and easy to use,
the selection is pretty limited. I'm probably going to swap them out for
Phosphor sooner rather than later.</p>
]]>
      </content:encoded>
      <pubDate>Sun, 01 Sep 2024 12:35:00 GMT</pubDate>
    </item>
  </channel>
</rss>