Seafile is a secure, reliable, and performant file sync and share solution. I have been using it since about 2014, occasionally trying out other solutions, but keep returning to Seafile. It has a fairly large feature list and works on every major OS/mobile-device. Self-hosting it has been painless and performance is rock solid. This post describes one particular feature that is useful to me and is present ONLY in Seafile (to the best of my knowledge).

(I am not associated with Seafile in any way. Just a happy user.)

“If you already know some programming language/framework X, what are effective ways to rapidly learn a possibly similar new language/framework?” I found myself pondering this question recently. Wouldn’t it be nice to discover a system to learn something new that optimally exploits what you already know?

Over the last few years, I have tried a number of productivity apps for todos and task management: Todoist, Trello, Things 3, Google Keep, Evernote, OneNote, Emacs org-mode, etc. but nothing stuck. The pattern is: In an initial burst of enthusiasm, I create a large-ish initial todo list by making a brain dump of tasks in a productivity app. The list then languishes. Rinse and repeat when I come across (yet) another promising app. Why does this happen?

This post explains a home-grown personal finance tool that aggregates transactions from various bank accounts and credit cards, auto-categorizes them, and presents information/analyses via a set of dashboards. All this is accomplished without sharing your banking credentials and financial transactions with a third party.

When no wind at all
ruffles the Kiri tree
leaves fall of their own will.
–Nozawa Bonchō (1640-1714), loose translation/interpretation by Michael R. Burch

A single pane of glass
protects me from icy winds
who is more fragile?

I protect the glass
In turn, the glass protects me
Perfect symbiosis!

The pattern: How to remotely access a service that is bound to localhost and refuses to respond to requests not originating from localhost? The instance: If using Speedify CLI on a linux-based router with no GUI stack, how to nevertheless view the Speedify GUI in a web browser, from another device on the same network? This post documents some non-conventional hacks needed to get a working solution.

I try in vain to stem the tide
To see in stillness beauty untold
I try in vain to slow the ride
Not knowing
Beauty lies in how things unfold!