<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="rss.xsl" type="text/xsl"?>
<rss version="2.0">
  <channel>
    <title>Steven Rosenberg's Shinobi blog</title>
    <link>https://stevenrosenberg.net</link>
    <description>An experiment with Shinobi, a text-based, RSS-focused blogging system</description>
    <copyright>2026 Steven Rosenberg</copyright>
    <ttl>60</ttl>
<item>
  <pubDate>Sat, 16 Mar 2024 20:15:20 PST</pubDate>
  <category>2024/03/16/6</category>
  <title>Does HTML work in a Shinobi blog?</title>
  <link>https://stevenrosenberg.net/posts/does_html_work.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>No.

It&#39;s just text. No hypertext (except in the index).

Not having hyperlinks is a limiting factor.

But if you put a full HTML link into the text of an entry and select it on an Android phone, the browser will offer to take you there.

Until I added a few extra paragraphs, this entry rendered with VERY small type on the Chrome browser on Android but looked fine in Firefox on Android.

The blog is designed to be consumed in an RSS feed reader, but it should look good in regular browsers, especially because RSS feed reading is not a *growing category*, even though I am using two such programs now (Thunderbird and Liferea).

It holds up on desktop browsers. I tried the Shinobi feature that wraps the entries at 72 characters wide, but that makes the phone entries display with poor line breaks. I&#39;d rather have the desktop version go too wide. That can be &quot;fixed&quot; by narrowing the browser window. Or not.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/does_html_work.txt</guid>
  </item>
<item>
  <pubDate>Sat, 30 Mar 2024 20:15:20 PST</pubDate>
  <category>2024/03/30/6</category>
  <title>Feed readers I'm trying right now</title>
  <link>https://stevenrosenberg.net/posts/feed_readers.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>Shinobi blogs are *meant* to be read in an RSS feed reader. They can stand alone and be read in a traditional web browser, but a feed reader smooths out the rougher edges and makes it easier to follow dozens or hundreds of feeds.

I&#39;m probably one of the few readers of content via RSS who never used Google Reader. It sure felt like RSS &quot;died&quot; a bit when Google pulled the plug on that app.

At that time I was probably using Liferea https://lzone.de/liferea on Linux and QuiteRSS https://quiterss.org on Windows.

I went a long time without using a feed reader. I did have trouble with the RSS feeds for one of my Hugo blogs that I built off of existing RSS feeds. That site was automated, and the entries were so long, the RSS feeds the site itself generated were so large, the server would run out of memory while building them. I learned about the *rsslimit* parameter in Hugo and fixed that.

But until I discovered Shinobi https://shinobi.btxx.org/feed.xml, which is a blog meant to be consumed via its feed, I hadn&#39;t had my own RSS feed-reading setup in years.

So I went about giving feed readers a try.

In Linux, I have installed Liferea and Thunderbird https://www.thunderbird.net, the mail client that continues to offer RSS feed-reading capability.

Both are nice apps, but I&#39;m leaning toward Thunderbird right now.

I&#39;m also trying feed readers in Android.

So far I&#39;ve tried Twine https://github.com/msasikanth/twine and Feeder https://news.nononsenseapps.com. Right now I like Feeder better. It&#39;s native view of a feed entry is a *better* fit for Shinobi. But both are pretty good, and the settings can compensate for quirks in one feed or another.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/feed_readers.txt</guid>
  </item>
<item>
  <pubDate>Tue, 23 Jul 2024 20:15:20 PST</pubDate>
  <category>2024/07/23/2</category>
  <title>Ham Radio's Technical Culture looks like an interesting book, and here is an excerpt</title>
  <link>https://stevenrosenberg.net/posts/ham_radios_technical_culture.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>Amateur — or ham — radio seems like a forgotten art in the age of cell phones and the internet (and with my own gear remaining in boxes), though it is far from that.

I subscribe to a few great newsletters, including Zero Retries — https://www.zeroretries.org — The Random Wire — https://www.randomwire.us — and Ria&#39;s Ham Shack — https://n2rj.substack.com. I should probably look for more. And find my &quot;place&quot; in ham radio. I&#39;ve had a license for longer than I care to admit and have been inactive most of that time.

It was nice to see The Rich History of Ham Radio Culture — https://thereader.mitpress.mit.edu/the-rich-history-of-ham-radio-culture — a lengthy excerpt from Kristen Haring&#39;s MIT Press book, Ham Radio&#39;s Technical Culture — https://mitpress.mit.edu/9780262582766/ham-radios-technical-culture, available via Amazon for a pricey $40.97 for what seems to be the final copy — https://www.amazon.com/Radios-Technical-Culture-Inside-Technology/dp/0262083558, though some used copies are being sold for slightly under $30.

Though already out of print, I can&#39;t think of that many books being written about amateur radio in a historical or scholarly context, and I welcome this one as well as more in the future. I think the same thing about other technical subjects like computing, programming and operating systems. I&#39;d like some analysis and history sprinkled in with the soon-to-be stale how-tos that we usually get, though technically oriented books of all kinds have really dropped off over the past decade.

On this same note, I was saddened to learn that A Book Apart — https://abookapart.com/pages/about/ — which produced print books about Web design and general tech, has closed for good. One upside is that at least some of the writers of its books are acquiring the rights to their work and are selling those books and keeping all the money: https://ethanmarcotte.com/wrote/reacquired/. 	</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/ham_radios_technical_culture.txt</guid>
  </item>
<item>
  <pubDate>Wed, 10 Apr 2024 20:15:20 PST</pubDate>
  <category>2024/04/10/3</category>
  <title>OpenBSD seems to run even better in the 7.5 release</title>
  <link>https://stevenrosenberg.net/posts/openbsd_75.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>I am not sure if I&#39;m imagining it, but OpenBSD seems to run better on my 2017 HP Envy laptop on the 7.5 release than it did on 7.3 and 7.4.

I don&#39;t know if the project made improvements in the way it runs on my Intel Core i7 7th Gen CPU (and the on-chip Intel GPU), but it *seems* like things are quieter in terms of the CPU load as seen in *htop*, the frequency with which the fans spin up and how cool (to the touch) the laptop feels.

This laptop has two 1 GB hard drives. Fedora Silverblue runs on a Samsung 970 EVO NVMe SSD, and OpenBSD is on a SanDisk SD Ultra SATA SSD.

This is the only way I dual-boot — one OS per drive.

I finally figured out how to make Syncthing run well in OpenBSD on the 217 GB of data that I&#39;m syncing across OpenBSD, Fedora and a third system running Debian.

With the help of OpenBSD users/experts in the Fediverse (where you can follow me at @steven@gts.passthejoe.net and/or @passthejoe@ruby.social), I really have gotten everything working: Wi-Fi, audio, video, camera, printing, scanning, suspend/resume. 

Being a longtime Linux and BSD user is a lot of help. Things that you don&#39;t have to configure in modern Linux — but once did — do have to be configured in OpenBSD, though a whole lot is automatic. Still, having the experience of manually adding and configuring printers, scanners and Wi-Fi networks makes it less of a shock to get things up and running.

This isn&#39;t my first OpenBSD rodeo. But it *has* been a long time *in between rodeos*, let&#39;s say.

Way back in the 4.4 days, I ran OpenBSD as my primary OS on a castoff Gateway laptop, and the difference between then and now is very much night and day.

So many more things work today. The improvements are slow and steady, but they do come. I think a lot of it is due to OpenBSD developers using the OS on their laptop/desktop workstations — dogfooding it. They are NOT using MacOS or even Linux to do their development. They use OpenBSD. They want it to work.

I&#39;m going to save the *why* of running OpenBSD for another post, but for now just *wanting* to do it — to do something different and learn new things — is enough for me. It might be enough for you, too.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/openbsd_75.txt</guid>
  </item>
<item>
  <pubDate>Thu, 21 Mar 2024 20:15:20 PST</pubDate>
  <category>2024/03/21/4</category>
  <title>My Greek-adjacent reading</title>
  <link>https://stevenrosenberg.net/posts/reasons_to_love_greek.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>As I explore the world of the ancient Greeks and the language of that time, I&#39;m reading:

&quot;The Ingenious Language: Nine Epic Reasons to Love Greek,&quot; by Andrea Marcolongo

This is a wonderful book about the author&#39;s love affair with ancient Greek. It is helping me understand the ways and whys of the language and those who spoke and wrote it in ancient times.

I&#39;m reading the digital version on Libby via the Los Angeles Public Library.

It is also sold on Amazon:

https://www.amazon.com/gp/product/1787701832

At the same time, I&#39;m making my way through Homer&#39;s Odyssey, the Richmond Lattimore translation, which aims to stay as close to the Greek as possible while still rendering the poem in English.

I haven&#39;t read through the Odyssey since college. I still have the same copy. It has a lot of underlines and notes. I&#39;m adding more.

I also have a copy of Lattimore&#39;s Iliad translation. It isn&#39;t the same one I had in college, but it&#39;s still plenty old. There are no notes written in it.

I&#39;m about to start Book 5 of the Odyssey, It has been an enjoyable journey so far. At this point, Telemachos is returning home from his own mini-Odyssey across the sea to learn news of his father Odysseus -- mostly whether he&#39;s dead or alive.

The suitors are lying in wait, intent on ambushing and killing the young man who stands in the way of one of them marrying his mother (and Odysseus&#39; wife), Penelope.

But we don&#39;t go there just yet. Instead, Odysseus&#39; adventures begin.

The paperback is a bargain at Amazon:

https://www.amazon.com/Odyssey-Homer/dp/006124418X

Do yourself a favor and get the Iliad at the same time. It is also a bargain:

https://www.amazon.com/Iliad-Homer-Richmond-Lattimore/dp/0226470490

Today all the talk is about Emily Wilson&#39;s translations:

https://www.amazon.com/Iliad-Homer/dp/1324001801

https://www.amazon.com/Odyssey-Homer/dp/0393356256

Wilson&#39;s Iliad is only available in hardcover. It&#39;s paperback release is set for Aug. 6, 2024: https://www.amazon.com/Iliad-Homer/dp/1324076143.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/reasons_to_love_greek.txt</guid>
  </item>
<item>
  <pubDate>Tue, 2 Apr 2024 20:15:20 PST</pubDate>
  <category>2024/04/02/2</category>
  <title>How to get Bradley Taunt's Shinobi script to work in OpenBSD</title>
  <link>https://stevenrosenberg.net/posts/shinobi_on_openbsd.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>Shinobi (https://shinobi.btxx.org/feed.xml) is an interesting little blogging system.

Bradley Taunt needed only 47 lines of code to create a static-site blog optimized for consumption as an RSS feed.

That code in his script.sh file will run without complaint on almost all Unix/Linux systems.

It should run fine in every Linux, and on NetBSD.

But there&#39;s a little problem in OpenBSD and FreeBSD.

I found a solution for OpenBSD, one of the systems I am running it on now. It could also work for FreeBSD but I&#39;ll have to try it when I can get some time in front of a terminal on that system.

I&#39;ve had problems like this before when developing scripts in Linux and then wanting to move them to a BSD system. I had one script that I wrote in Linux and then deployed to both OpenBSD and FreeBSD systems. I needed different workarounds for each of them. The utilities called by the scripts are sometimes different on the BSDs, and the script won&#39;t work until fixes are made.

The date utility is the issue in the Shinobi scrpt.

The problem is in line 34 of script.sh:

  &lt;category&gt;$(date -d &quot;$(head -n 1 $file)&quot; +&quot;%Y/%m/%d/%u&quot;)&lt;/category&gt;

While all Linux/Unix systems have the date utility, not all versions of date have the same switches.

There is no -d switch for date in OpenBSD and FreeBSD. NetBSD does have the -d switch for date, so that should be plug-and-play.

Here are the man pages for date on all three systems:

https://man.netbsd.org/date.1

https://man.freebsd.org/cgi/man.cgi?date

https://man.openbsd.org/date

I learned that FreeBSD used to have -d for date, but its purpose was to adjust for Daylight Saving Time, not to enter a date for parsing.

The -j switch for date in OpenBSD and FreeBSD should work in the case of line 34 of the Shinobi script, but in my tests on OpenBSD, I couldn&#39;t get it right.

To make the fix in OpenBSD, I needed to add the dateutils package:

$ doas pkg_add -v dateutils

Once that was installed, I was able to use the dateconv utility to parse the date information from the Shinobi posts and output the format needed by the script to properly order and tag the entries.

I went from this:

  &lt;category&gt;$(date -d &quot;$(head -n 1 $file)&quot; +&quot;%Y/%m/%d/%u&quot;)&lt;/category&gt;

to this:

  &lt;category&gt;$(dateconv &quot;$(head -n 1 $file)&quot; -i &quot;%a, %d %b %Y&quot; -f &quot;%Y/%m/%d/%u&quot;)&lt;/category&gt;

Make that change, and script.sh should run and build feed.xml with no problems.

To dig in a little bit, in dateconv, the -i switch lets the utility know what date fields you are supplying and the -f switch lets it know the format you want for the output.

Feed this into your OpenBSD terminal if you want to get a feel for it:

$ dateconv &quot;Sat, 30 Mar 2024&quot; -i &quot;%a, %d %b %Y&quot; -f &quot;%Y/%m/%d/%u&quot;
2024/03/30/6

Not bad for a few hours tinkering.

Note that in OpenBSD, all the dateutils commands have &quot;shortcuts.&quot; Instead of calling dateconv, you can use dconv -- it&#39;s the same.

----------------

You need the dateutils package to use this fix in the Shinobi script. Once you have that installed on your OpenBSD system, here is a helpful page:

http://www.fresse.org/dateutils

Even more helpful is the OpenBSD man page:

$ man dateconv

To get the overview of what comes with dateutils, go to its man page:

$ man dateutils

And if you&#39;re running FreeBSD and want to use the Shinobi script, dateutils is available on that platform:

https://www.freshports.org/sysutils/dateutils

----------------

If you want to learn more about Shinobi, take a look at these sites:

Shinobi&#39;s main Git repo:

https://git.btxx.org/shinobi

Bradley Taunt&#39;s Shinobi blog, which explains how to use Shinobi:

https://shinobi.btxx.org/feed.xml</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/shinobi_on_openbsd.txt</guid>
  </item>
<item>
  <pubDate>Mon, 18 Dec 2023 20:15:20 PST</pubDate>
  <category>2023/12/18/1</category>
  <title>This is a test of the Shinobi blog script. How does it look in Chrome on Android?</title>
  <link>https://stevenrosenberg.net/posts/shinobi_test.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>If you see this, it worked. One of the issues I&#39;m seeing is that the text can look too small on the Google Chrome browser on my Android phone.

I&#39;m not sure why that&#39;s happening, but it looks like it only affects the shorter entries.

To that end, I&#39;m lengthening this entry to see how the phone&#39;s browser treats it.

Later: That did it. It now looks better on the phone.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/shinobi_test.txt</guid>
  </item>
<item>
  <pubDate>Sun, 22 Dec 2024 20:15:20 PST</pubDate>
  <category>2024/12/22/7</category>
  <title>Still running this Shinobi site</title>
  <link>https://stevenrosenberg.net/posts/still_running_shinobi.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>I thought I&#39;d give up on this Shinobi blog soon after I figured out what to do with my main, &quot;normal&quot; blog.

Well, I&#39;m still deciding that, I guess, even though I have that Hugo site (https://passthejoe.net) on a new theme, and it — along with this site — on a new server (a VPS running AlmaLinux rather than a Raspberry Pi).

There&#39;s a simplicity to all of Bradley Taunt&#39;s static-site projects, even though he changes the theming on his own wruby (https://wruby.btxx.org) site (at https://btxx.org) pretty much weekly at this point. My favorite rendition was replaced a few days ago. Not sure why he changed that one, but designers will design, I guess.

But Shinobi (https://git.sr.ht/~bt/shinobi) is so simple from a design standpoint, there&#39;s not much you can do with it.

And I like posting with it.

As always, the site looks great on Android&#39;s Firefox browser. It doesn&#39;t look so great on Chrome in Android.

It looks better on a PC Web browser if you make the type bigger by holding down the ctrl key and rolling the mouse wheel, and then making the browser window smaller if you want smaller margins.

But all of that is optional. You can enjoy the Shinobi goodness however you wish.

And as always, it&#39;s a system designed for an RSS feed reader. My choice these days is Thunderbird, where RSS lives alongside your email accounts.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/still_running_shinobi.txt</guid>
  </item>
<item>
  <pubDate>Wed, 24 Jul 2024 20:15:20 PST</pubDate>
  <category>2024/07/24/3</category>
  <title>Unicode showing up on one Linux web server but not on another</title>
  <link>https://stevenrosenberg.net/posts/unicode_character_test.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>Unicode special characters seem to be showing up on my Raspberry Pi Linux server (using Caddy) but not on the https://tilde.club server (using Fedora and NGINX).

It&#39;s strange that Fedora, of all distros, wouldn&#39;t be fully UTF-8 compatible, but maybe it has something to do with the NGINX web server setup.

Maybe I should host this Shinobi blog on https://tilde.institute, which runs OpenBSD ...

(Update on 12/8/2024 — I moved this blog to an Alma Linux VPS running the Caddy web server, and all the Unicode characters are showing up)

Here is a test of those characters — (that was an em dash):

á
é
ñ
à
è
ȯ
ǫ
ō
ē
õ
ô
ê
â
—
£

Update on 8/11/2024: This made the difference on the https://tilde.club server:

&lt;head&gt;                                                                  &lt;meta charset=&quot;UTF-8&quot;&gt;                                                        &lt;/head&gt;

That formatting came out kind of weird. Shinobi wasn&#39;t made for HTML tagging.

To see Unicode working on the https://tilde.club server, go to https://tilde.club/~passthejoe/unicode.html (that file has charset=&quot;UTF-8&quot; specified in the head element).

More about Shinobi: https://stevenrosenberg.net/posts/what_is_shinobi.txt</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/unicode_character_test.txt</guid>
  </item>
<item>
  <pubDate>Tue, 19 Dec 2023 20:15:20 PST</pubDate>
  <category>2023/12/19/2</category>
  <title>What is Shinobi anyway?</title>
  <link>https://stevenrosenberg.net/posts/what_is_shinobi.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>Shinobi (https://git.btxx.org/shinobi) takes minimal blogging to a whole other level.

It is a text-based, RSS-focused blogging &quot;system,&quot; says creator Bradley Taunt.

The home page is an XML feed, and the individual pages are text files that render that way. The system is designed to create blogs that can be read in an RSS reader (Like Liferea in Linux, via the feed functionality of Thunderbird ... and I&#39;m kinda tapped out for RSS reader software that actually works, though I used to run an open-source RSS reader in Windows that I quite liked).

But you CAN look at the web site in a normal web browser. Chances are you&#39;re seeing it that way right now.

The Shinobi script that generates the home page is very short -- just 47 lines -- and there is a CSS file that works with an XML feed to make it look better.

I&#39;m just having a play with Shinobi at this point. It looks like a way to have a super-minimal, future-proof web site that can potentially live forever in as minimal a way as possible.

Shinobi&#39;s main Git repo:

https://git.btxx.org/shinobi

Bradley Taunt&#39;s Shinobi site and blog, which explains how to use Shinobi:

https://shinobi.btxx.org (explanation of Shinobi with blog entries)

https://shinobi.btxx.org/feed.xml (just the entries)</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/what_is_shinobi.txt</guid>
  </item>
<item>
  <pubDate>Fri, 2 Aug 2024 20:15:20 PST</pubDate>
  <category>2024/08/02/5</category>
  <title>A new Ruby-based static-site generator from Shinobi creator Bradley Taunt</title>
  <link>https://stevenrosenberg.net/posts/wruby.txt</link>
  <description>
    <![CDATA[
<pre style='border: 0; white-space: pre-wrap; word-break: break-word;'>I wasn&#39;t expecting a new static-site generator from Bradley Taunt, who created Shinobi, but I should have expected it because he has written a lot of short blog-generating scripts, as he details in *Blogging for 7 years* https://btxx.org/posts/seven-years/

He left Shinobi behind a few years ago. I don&#39;t begrudge him that -- it remains good to use and will continue to be so. Shibobi has issues for sure -- the biggest being that you can&#39;t do any inline links or other HTML because it uses XML for web display.

He wrote PHPetite https://phpetite.btxx.org/ before Shinobi https://shinobi.btxx.org/, and *pblog https://pblog.btxx.org/ and *barf https://barf.btxx.org/ after that.

And now we have *wruby https://wruby.btxx.org/about.

I&#39;m interested -- it&#39;s Ruby, something I already use, and not shell, which theoretically makes it more portable. I don&#39;t think any of Bradley&#39;s scripts &quot;played well&quot; in the Windows world unless you were using a Linux/Unix environment within it.

And even though Bradley is a user of OpenBSD, I had to figure out how to modify Shinobi in order to work in a BSD environment. My changes -- https://stevenrosenberg.net/posts/shinobi_on_openbsd.txt -- will allow it to work in OpenBSD, which I tested, and FreeBSD, which I did not; the original script should work fine in NetBSD.

My interest in Bradley&#39;s programs remains high because I&#39;m a big fan of blogging, especially with static sites and minimal, understandable software that can be hacked by mortals. That&#39;s what drew me to Shinobi.

And now I think it&#39;s time for me to try this new site generator.

The rest of Bradley&#39;s blog about *wruby lives here: https://wruby.btxx.org/. His main blog is also using this script: https://btxx.org/

Here is the *wruby repo, which like all of Bradley&#39;s projects is on Sourcehut: https://git.sr.ht/~bt/wruby

I have already brought the repo down to my laptop and have started an experimental *wruby blog at https://wruby.passthejoe.net.</pre>]]>
  </description>
  <author>stevenhrosenberg@gmail.com (Steven Rosenberg)</author>
  <guid>https://stevenrosenberg.net/posts/wruby.txt</guid>
  </item>
  </channel>
</rss>
