neocities.org
|
Static Blog Generator is an in-house script that converts individual HTML files into a full blog with RSS support. Written for neocities.org specifically but will work on any web host since all it produces are a few static pages.
Author's Note: I've been using this on my own blog page since 19 April 2026 with no issues either on this site or on two online RSS readers I use regularly. I will update this statement if I encounter any issues.
Right-click & save the 3 files below: doc, template and script.
Help: Documentation Template: template.html Script: blog.py
Compatibility: Linux, macOS, *BSD, Windows License: Blue Oak Model
- Status: New 11 May 2026
- Status: Updated 13 May 2026: Documentation only
- Status: Updated 31 May 2026: template.html only (recommended)
|
Finger Protocol
|
nf (netfinger) is a netcat-based finger client. Features include support for the two major finger formats: user@domain.com and finger://domain.com/user.
Additional features include smart wrapping, rendering (HTML, Markdown, ANSI Art), custom shortcuts, blocklists, auto CR/LF detection for server compatibility, protocol validation and error handling.
License: Blue Oak Model License↗ Screenshot: Help Script: nf.txt
Compatibility: Linux, macOS and *BSD Status: Updated 18 Jun 2026
f2g (finger2gopher, released 20jan2026) is a simple script that supports gopher via finger using the lynx text browser. It's here because it's a snippet of code that I may merge into nf.
Usage: f2g user@domain.com (or) f2g finger://domain.com/user
|
|
fm: The Multi-Server Finger Monitor. A simple little Finger server checker. Checks 3 core servers for recent user activity in one glance. Requirement: a command-line finger client that outputs to stdout.
Author's Note: This simple little thing is probably my most used finger utility. So useful for checking in on the core servers running finger. See the screenshot below for a sample output.
License: Blue Oak License↗ Script: fm.txt Screenshot: fm.png
Compatibility: Linux and macOS Status: updated 07 Dec 2025
|
|
The Blog to Plan File Converter is an in-house, lightweight app that converts HTML-based blog posts into an equivalent looking plain text .plan file with a 79-character width limit (configurable). Essentially an HTML to Text Converter with extras.
Features: Smart HTML stripping, Link citation, Relative link handling, CFG options (base URL, line wrapping, footer), 80-Column preview window, single standalone htmlApp. Long URLs are handled manually.
License: Blue Oak↗ htmlApp: Blog.to.Plan App
Compatibility: All Paltforms Status: new 15 Jun 2026
|
|
plancat uses plan.cat's API to automate posting to your account via the command line. In the configuration section of the script - just enter your plan.cat username, preferred editor and optionally your password. Once the information is typed in, run "plancat". The following will occur:
- Your current .plan file will be retrieved
- You will be prompted for your password (if not set in the script)
- The .plan file will automatically load into your terminal editor
- Edit, save and exit
- On exit, the file is uploaded to your plan.cat account
- The script exits successfully (temporary files cleared)
Author's Note: It feels really cool to update the .plan file this way.
License: Blue Oak↗ Screenshot: Help screen Script: plancat
Compatibility: Linux, macOS, *BSD Status: new 16 Jun 2026
|
|
point is both a frivolous script and a respectful shoutout to one of the many modern features on plan.cat. On the site, every .plan post also creates an online tilde presence on the web. That is, finger://plan.cat/echo↗ is also https://plan.cat/~echo↗ Both files include header information.
But it doesn't end there. When that very same web page is accessed via curl, it retrieves only the content itself (.plan), nothing else - none of the header information. The retrieval of the user's direct content in this way is what makes an important part of the plancat script so easy to work with.
point was created to highlight this niche feature of plan.cat. This is a one-line script that only requires a username as a parameter:
point echo
point username
License: n/a Script: point.txt
Compatibility: Linux, macOS, *BSD Status: new 16 June 2026
|
|
nview is a Bash wrapper that captures finger client output and displays it in NFO Viewer↗. Features include a CLIENT_NAME variable (currently set to 'finger'), automated temporary file cleanup and a user-friendly help section.
Author's Note: I enjoy reading .plan files with terminal-based clients but I go through phases where I route everything through 'NFO Viewer'. Requires both NFO Viewer and this script. The "install" is simple. The rewards...? see the screenshots below.
License: Blue Oak↗ Screenshots: Light, Dark Script: nview.txt
Compatibility: Linux and macOS Status: updated 04 May 2026
|
|
bfinger is a bash-based Finger client (RFC 1288) using /dev/tcp for socket connections to query remote Finger servers, with full 8-bit character and ASCII art support.
License: Blue Oak License↗ Script: bfinger.txt
Compatibility: Linux and macOS Status: updated 14 Nov 2025
|
|
get-news is an in-house two-line script written to render and reformat the output of a finger account that uses github actions to auto-create a news site. This script is specific to the account: "finger bot@happynetbox.com" and requires nf (netfinger) to function.
Other ways to render and make the links clickable are via lynx, nview, portal.mozz.us↗ and thebackupbox.net↗.
License: n/a
Screenshot: get-news.png script: get-news.txt
Compatibility: Linux only Status: updated 01 Dec 2025
|
Utilities
|
uni2asc (Unicode to 7-bit ASCII) is an in-house, sed-based script that converts specific Unicode characters to their closest 7-bit counterparts.
It is easy to add, remove or modify the current replacement pairs directly in the script.
Author's Note: This script exist as a command-line version of the "Binary Markdown Killer". It is particularly useful for cleaning AI-generated markdown.
License: Blue Oak License↗
Screenshot: Help script: uni2asc.txt
Compatibility: Linux, macOS, BSD Status: updated 24 Mar 2026
|
HTML & Markdown
|
Binary Markdown Killer has one primary job: it strips out some common binary (word-processing) characters from a Markdown file, converting them to their 7-bit ASCII counterparts. This is its core purpose.
As a secondary function, it converts the cleaned Markdown into HTML 3.2.
The resulting HTML is available in its own Text Area window. Optionally, you can copy the rendered 7-bit ASCII text (sans HTML tags) from the [Preview] tab.
License: Blue Oak License↗
htmlApp: Binary Markdown Killer
Compatibility: All platforms Status: Last update 20 Sept 2025
|
|
Simple HTML 3.2 Editor: A lightweight, browser-based HTML editor for classic HTML 3.2 tags. Highlight text and select a tag from the dropdown to wrap it - or insert tags and entities at the cursor position.
Author's Note: You can also paste modern html (a complete page or snippets) to preview quickly.
License: Blue Oak License↗
htmlApp: Simple HTML 3.2 Editor
Compatibility: All platforms Status: minor update 20 Oct 2025
|
Weather, Clocks, Calendar
|
weather and ww (worldweather) are personal tools I built to scratch a weather itch - polished in case others find them useful.
weather is the core utility that fetches and displays a concise set of essential weather information in just two lines. It uses OpenStreetMap to resolve locations to latitude/longitude (an improvement over open-meteo's own geocoding) and Open-Meteo for weather retrieval.
ww (worldweather) is a convenience wrapper that runs the weather script sequentially for multiple predefined locations, allowing you to check conditions in several cities at once. See the screenshot below.
License: Blue Oak↗
Script: weather.txt
Script: ww.txt
Screenshots: World Weather and Help Screen
Compatibility: Linux, macOS, Windows Status: new 23 Dec 2025
|
|
weather.wttr is a simple HTML wrapper/iframe for wttr.in↗ Adjust the lookup location (and zoom factor) by editing the html.
License: Blue Oak↗
htmlApp: weather.wttr ↗ Status: new 01 Jan 2026
|
|
World Clocks is a simple htmlApp that displays the current time of 12 cities around the world. Adding or editing cities requires some light modification to the HTML and JavaScript - which is documented on the page itself.
License: Blue Oak↗
htmlApp: World Clocks
Status: new 28 Dec 2025
|
|
Third-party/tweak: Text Calendar is a really nice looking (mostly ASCII) 12-month calendar. It was not created by me. It's from Anastasios Gogos↗. I made only two tweaks: (1) the weeks now run from Sun-Sat and (2) edited the footer.
Update: Tweak 3: You can opt for the 100% 7-bit ASCII version without the Unicode line characters (U+2500 and U+2501).
License: MIT↗
Author: github↗
htmlApp (tweaked): Text Calendar
Compatibility: All platforms Status: new 05 Oct 2025
|
Spartan Protocol
|
sv (Spartan Viewer) is a Python CLI tool that fetches and renders single spartan:// protocol gemtext content or local .gmi files with ANSI-styled formatting, smart word-wrapping and redirect support for terminal viewing.
Author's Note: This standalone script requires the user to enter "sv {URL}" which may be an issue for some. The sbl file below (a companion bookmark/launcher to sv) fixes that. It links to some great pages on spartan in an easy to access way.
License: Blue Oak License↗ Script: sv.txt Screens: Rendered & Help
Compatibility: Linux, macOS and *BSD Status: updated 12 Feb 2026
|
|
sbl (Spartan Bookmark Launcher) is a companion script to sv (Spartan Viewer) above. Running 'sbl' will launch URLs embedded in the script as:
"sv {URL} | less -R"
Author's Note: I use this to easily visit core spartan pages and great ascii art available using the spartan:// protocol. Requires sv (above) in order to retrieve and render the pages (it's just a single, portable script like this one). 14 pages are currently listed and it's easy to add your own (via: sbl --edit).
License: Blue Oak License↗ Script: sbl.txt Screens: Main & Help
Compatibility: Linux, macOS and *BSD Status: updated 09 Feb 2026
|
Philosophy & Thought
|
The Random Stoicism Quotes page is a fully working minimalist template that uses arrays to display quotes randomly.
This is a rewrite of a previous htmlApp that relied on an external API and a CORS proxy. Issues along the pipeline forced me create a standalone, self-reliant version.
Note: The stoicism quotes included were generated by AI. While most capture the spirit well, a few seem to miss the mark. I am currently curating the list to remove questionable quotes and improve the data set quality.
License: Blue Oak↗ Page: Stoicism Quotes
Status: updated 14 Jun 2026 (authors now in parentheses)
Bookmarked to read later: Stoicism for People Who Overthink↗
|
|
Tao Te Ching is essentially a guide to living with less ego, less force and more alignment with the natural rhythm of existence. When applied to governments, it is deeply anti-authoritarian and anti-imperialist.
Author's Note: Below are two versions by different authors. The first is by Ursula K. Le Guin (a translation) and is well-received. The other (an interpretation), by Stephen Mitchell, is controversial.
I actually started with Mitchell's version first. His style gave me a perspective that made every subsequent translation more approachable. He's included here for that reason.
| Ursula Guin |
Stephen Mitchell |
HN↗ |
Compare Translations↗ |
|
|
John Gray: Human Progress is a Lie.
For philosopher John Gray, moral progress is a myth. Technology advances; people don't. He argues that we should accept the permanence of human darkness - not pretend we're evolving past it.
The John Gray Quotes page is a fully working minimalist template that uses arrays to randomly display 30 curated quotes. The collection is built around Gray's rejection of moral progress.
License: Blue Oak↗ htmlApp: John Gray Quotes
Status: updated 27 May 2026 (button, quote centered)
|
ASCII, ANSI
|
An in-house ASCII Template that I use on my .plan files. I have fun adding a little ASCII flair to finger updates. This htmlApp works similarly to cowsay↗ and boxes↗ (but uses only a single template). It takes data and inserts it into a fixed-size ASCII Template.
Author's Note: It's in-house - so... maybe it could look nicer (I think it looks perfect:-) but it gets the job done for me. I plan on adding another template/htmlApp (for example: this one is next). Others may follow after that.
Main: Template htmlApp: main.template Status: minor update 15 May 2026
|
|
ANSI Retro Tool (art) is a homemade ANSI Art viewer and CP437-to-UTF8 converter built from standard Linux tools: iconv, sed, echo -e and cat
Author's Note: ART is a basic ANSI viewer. Some files may not display correctly. It was created specifically to automate posting ANSI art to finger accounts and to make files Linux-terminal compatible.
Additional notes, background and demo at this ANSI Art page
License: Blue Oak↗ Sample: Spock Help: Screenshot Script: art.txt
Compatibility: Linux only Status: update 04 Mar 2026
|
Fun
|
Happy New Year bash script. Fun little animation to bring in the new year. Safe to run, just a bunch of text sent to stdout with a few delays.
License: Blue Oak↗ Script: Happy New Year Status: new 30 Dec 2025
Compatibility: Linux, macOS, *BSD
|
|
The Random Dog Facts page is a fully working minimalist template that uses arrays to display facts randomly.
This is a rewrite of a previous htmlApp that relied on an external API and a CORS proxy. Issues along the pipeline forced me create a standalone, self-reliant version.
Note: The dog facts included were generated by AI and therefore... slop-ridden. I am looking for a permissively licensed, verified data set to replace them - so that I don't have to independently verify 100 factoids;-)
License: Blue Oak↗ Page: Dog Facts Status: updated 15 May 2026
|
|
quotes is a lightweight cross-platform Python-based random quote generator. Both the script (quotes) and a quotes file (quotes.txt) are needed.
License: Blue Oak License↗
File: Quotes File
Script: quotes.py.txt
Compatibility: Linux, macOS and Windows Status: updated 15 May 2026, Quotes File (quotes.txt) only
|
|
txt2bin is a script that takes a text file and converts it into a self-displaying, portable binary. It uses musl-gcc to create a smaller-sized binary. Great for short text and ASCII Art.
Author's Note: This is a fun program that was created as a prop to the short story: The Council of Linux Greybeards. Its existence in the real world feels like fourth wall stuff. Details are here.
License: Blue Oak License↗ Script: txt2bin.txt Status: new 14 Dec 2025
Compatibility: Linux, macOS, *BSD
|
Privacy
|
Scream into the Void is a privacy-friendly alternative to HBO's data-slurping web page of the same name. Sometimes you need the cathartic release of primal expression - where the id and ego collide in a place that can contain the explosion. This portable htmlApp is such a place.
License: Blue Oak↗
htmlApp: Scream into the Void
Status: new 12 Dec 2025
|
Templates
|
The Monospace is a minimalist CSS template featuring a large monospace font, styled tables/code/links, ASCII art support and responsive media (images scale, tables scroll on mobile).
CSS: Lightweight and browser-friendly. See the demo below. 39 total declarations: 10 CSS 3 and 29 that are CSS 2.1 or less.
License: The Unlicense↗ Template: The Monospace Status: new 07 Jun 2026
|
|
The Fieldset is a minimalist CSS template featuring the fieldset tag as the core element for styling a web page.
License: The Unlicense↗ Template: The Fieldset Status: new 10 Jun 2026
|
Unsorted
|
codepage437 is a UTF-8 friendly version of the original code page for DOS. Includes conversion information (linux) to make it compatible with code pages used on other operating systems.
Author's Note: I didn't know where to put this and this page seemed like the current best fit.
License: CC0: No Rights Reserved↗ Page: cpage437
|
|