Bonus Drop #10 (2023-04-15): Selfie [Hosting] Edition 0.1.0

Handy Browser Tools; Self-Hosted Snippets; Telemetry-Free Local Grammarz & Spullingz Checking

Programming note: Substack ruined what was a good week (Notes is pretty neat) for them by “pulling a Cloudflare/Twitter” and doubling down on supporting hate speech and bullying by being abject cowards.

I’ve seen who funds and runs Substack, so this is not really a surprise.

While I can (mostly) live with the ethics clash of using our LLM overlords, especially in my present reduced capacity, I’m uncertain if I can continue to provide content through an outlet that won’t help protect the least of us.

I’ll have more to say on Monday after some extended ponderings.

Happy “You’ve got until Monday night to get your taxes filed” Day to all who celebrate in the 🇺🇸.

I have not forgotten that you get an extra bonus Drop due to me failing to inform you of the holiday hiatus I had planned for last weekend. It will not be this weekend, tho, as I am partaking in the aforementioned celebrations on this most cursed annual event.

Those stumbling on to this premium Drop will note the lack of specific tech in the subhead. I felt a tad bad leaking what I was providing for the up-level subscribers (and, you’ll eventually get these resources anyway), hence the newfound cloaking (which I may occasionally do on the M-F Drops).

And, this title seemed like another good candidate to add to the bin of “versioned” Drops.

Resources covered:

— IT TOOLS
— Open Gist
— LanguageTool

IT TOOLS

I am going to respect your intelligence1 and only lightly blather, so folks with lower vision can grok what’s in the section header. That image kind of instantly tells you what this is and what it does.

IT TOOLS (GH) is a VERY lightweight and self-hostable “tools page” for anyone who wants to transform text/html/data into something else (or glean info from it).

It has tons of handy utilities and is a magnificent example of a Vue app (pore over the source just to learn good web design, but be warned: the author is in the TypeScript cult).

The local docker image2 is super light and the favicon holds a coveted spot in my Arc favs blocks. Yes. That’s how useful it is.

It’s much like CyberChef, but way easier on the eyes.

Open Gist

I will further respect the powers of your cerebral cortex, since I will 100% assume every Drop reader knows what GitHub Gists are. Drop me a note if that assumption was incorrect.

Open Gist is a lightweight, self-hosted GH Gist look/feel-alike, and lets you stop giving Microsoft telemetry and content to steal. The container-running instructions provided in the repo work as-described.

I recommend doing what I do and host it in/on your Tailnet vs. exposing it to the world. (This advice holds for most things you use that may need the internet, but do not need to be directly on the internet).

LanguageTool

In this week’s “Offline Edition” I mentioned LanguageTool in passing and noticed some folks finding the LT GH repo and poking around3. So, I figured this would be a good opportunity to expand on that Drop.

I’m going to let whoever edited the LanguageTool Wikipedia page give you the skinny on it, since I will focus solely on the FOSS part, below.

The following three paragraphs are theirs, but I cleaned it up a bit to try to keep it in the voice I aim for4 (you should be able to immediately pick up on my edits):

LanguageTool is a free and open-source grammar, style, and spell checker. Every single one of its features is available for download and use w/o paying a dime. Their website connects to a proprietary sibling project which provides improved error detection for English and German, as well as easier revision of longer texts.

It was started by Daniel Naber for his diploma thesis in 2003 (then written in — ugh — Python). It now supports 31 languages, each developed by volunteer maintainers, usually native speakers of each language. Based on error detection patterns, rules are created and then tested for a given text. The core app itself is free and open-source and can be downloaded for offline use. Some languages use ‘n-gram’ data — which is massive (8 GB!!!) — and requires considerable processing power and I/O speed, for some extra detections. As such, LanguageTool is also offered as a web service that does the processing of ‘n-grams’ data on the server-side. LanguageTool Plus also uses n-grams as part of its freemium business model.

The LanguageTool web service can be used via a web interface in a web browser, or via a specialized client-side plug–ins for Microsoft Office, LibreOffice, Apache OpenOffice, Vim, Emacs, Firefox, Thunderbird, and Google Chrome. Its web app client can also be integrated on websites.

I pay for Plus to help support the project (so lots of others can use it for free) and get the extra features in online environments. But, I also — as noted in the Offline Edition — run local copies of it because most of Maine is indistinguishable from a third-world country and “internet” is by no means a guarantee. I also don’t need some ☁️ watching everything I type all the time, regardless of how helpful it may be.

With that background out of the way, I wanted to point you to:

so you, too, can run this handy tool locally.

I ended up using this Docker container in my Docker-compatible OrbStack setup with the n-grams:

$ docker ps -a format "ID: {{.ID}}\nImage: {{.Image}}\nCommand: {{.Command}}\nCreated At: {{.CreatedAt}}\nStatus: {{.Status}}\nPorts: {{.Ports}}\nNames: {{.Names}}\n"

… trimmed –

ID: 15fb90b0da84
Image: corentinth/it-tools:latest
Command: "/docker-entrypoint.…"
Created At: 2023-04-15 07:39:43 -0400 EDT
Status: Up 3 seconds
Ports: 0.0.0.0:8090->80/tcp, :::8090->80/tcp
Names: it-tools

… trimmed –

ID: b0ed1c83d43e
Image: silviof/docker-languagetool
Command: "sh /start.sh"
Created At: 2023-03-18 12:14:33 -0400 EDT
Status: Up 2 days
Ports: 127.0.0.1:8083->8010/tcp
Names: languagetool

… trimmed –

As seen in the section header, I’m also using this handy VS Code plugin, since I pretty much do all my writing in Markdown in VS Code these days (including this Drop!).

FIN

Thank ye once more for your extended support! Hope your weekend is going how you hoped it would! ☮

1

b/c Drop readers are, ofc, some of the most discerning humans on the planet

2

installation info is in the repo’s GH repo and proof of me running it is in the LanguageTool section; it only has a short live time b/c I verified that the docker command still worked before sending out the Drop

3

hey, git-stalking is at least less creepy than IRL stalking, right? 🙃

4

stealing content — like the AI firms did for the LLMs and Diffusers — is not cool; I work pretty hard to only quote when necessary, and always attribute when I do. Everyone should always strive to be better than OpenAI, Microsoft, and the diffusers.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.