

Discover more from hrbrmstr's Daily Drop
Drop #208 (2023-02-27): I'm Gonna Sit Right Down And Write Myself A Letter
Memos; tclip; write freely
Pens and swords got nuthin' on the modern tools we use to communicate with each other. Today we ease into the week, on this penultimate day of February, with three resources to help spread your thoughts and ideas to the four corners and beyond.
memos
I could attempt to wax poetic, and at length, about memos [GH], but — unlike most recipe blogs I visit — we'll get right to the heart of things.
Memos lets you create, uh, memos. Either to yourself or to the world. It's an API-first, Markdown-enabled microblogging/note-taking web app that is stupid easy to deploy and has the features one might expect:
🦄 Open-source and free forever
🚀 Support for self-hosting with Docker in seconds
📜 Plain textarea first and support some useful Markdown syntax
👥 Set memo private or public to others
🧑💻 RESTful API for self-service
📋 Embed memos on other sites using iframe
#️⃣ Hashtags for organizing memos
📆 Interactive calendar view
💾 Easy data migration and backups
🛜 RSS feeds
The section header shows an example of the interface, and you can hit the demo instance to give it a whirl.
My only “complaint” is that it has no ActivityPub (a.k.a. “Mastodon”) features, but it is FOSS, so that is a feature folks could add as a neat side project.
tclip
We at the Drop 💙 Tailscale, and the Tailscale community recently released tclip — a “pastebin for tailscale users”.
The section header is a sample note I made for y'all in my tclip instance on fly.io. Yes, that's a fly.io microVM which is automagically wired up to only my Tailnet (a.k.a. Tailscale managed WireGuard VPN). While you can use Tailscale on any Docker instance, they have special support for fly.io.
This repo holds all that is necessary (if you have a free fly.io account) to get your very ownn tclip instance running. I'd suggest changing the app id (you don't have to, but I doubt you want “hrbr”-prefixed things in your own infrastructure). It literally is as simple as following the instructions to create a Tailscale authkey and then:
$ flyctl apps create FLY_APP_NAME # this is in the repo's config file
$ flyctl volumes create tclip_data
$ flyctl secrets set TS_AUTHKEY=<key> # gen in tailscale admin panel
$ flyctl deploy
If you're going to try to build the app from scratch, you'll need nix and Flakes, but the Docker image they provide works well.
I believe the next Knowledge Drop will be on Tailscale given all the really cool things you can do with it for free.
write freely
While the aforedropped “Memos” is not ActivityPub-enabled, write freely [GH] — hereafter known as (WF) — was designed with ActivityPub in mind. WF is a super-minimalist Markdown-enabled blogging platform, that also supports RSS feeds.
You can host it yourself (I have a WF instance running for another microblog of mine), or use one of the free or paid write as (WA) plans. You can hit a very short post I made for y'all on WA to see just how minimalist it is.
I'm not thrilled with the writing UX of either the hosted or self-hosted versions of WF. I have yet to get a decent workflow going with VS Code and WF's CLI app. And, while I managed to get their cross-platform1 SwiftUI app to build, it is as minimal as their other offerings.
Still, it takes almost zero resources to run the self-hosted version, and does work well with ActivityPub. Plus, unlike complex setups like WordPress/Ghost or static blog generators, WF/WA lets you focus completely on the message.
Given that it, too, is FOSS, it is a solid foundation for folks to build upon if one wanted to add in some much-needed UX enhancements.
FIN
This Drop's title is courtesy of Marketplace's earworm bumper music.
Cross-platform == macOS / iOS / iPadOS