Ecosystem

Ecosystem

Devices

Spinnaker


Primary server for all personal compute work.
Specs: PCPartPicker
Has the following running:

  • Traefik

    My goto reverse proxy. Automatically discovers all the docker services and forwards the appropriate subdomains.

  • Gitlab runner

    For running CI jobs from Gitlab.

    Gitlab CI pipelines using a shell runner is a much better alternative to cron jobs.

    Advantages:

    • version control of the job commands
    • Browser based modification and activation/deactivation of schedules
    • logs of execution results
    • email notification on failure etc

    I have a CI job to backup all data from spinnaker to Methuselah overnight using Borg.
    There is also a CI job called canary which checks if the disk and ram usage are within set thresholds.

  • Borg

    Borg has been the backup solution I’ve been searching for years. Does deduplication to keep backups small. Versions backups. Backups can be mounted for retrieval. Borg prune allows delayed automatic reclamation of storage for deleted data.

  • Beancount+Fava

    I’ve been using beancount to do Double Entry Accounting of all my finances for a couple of years.
    Initially, I was using ofx exports from banks with the ofx beancount importer to get the transactions into beancount. I’ve subsequently written scrips that directly parse the pdf statements and output the appropriate beancount transactions.
    Smart Importer automatically predicts the relevant account for the transaction based on similarity to previous transactions.
    Fava creates reports like this to give me a birds eye view of all my finances.

    Death and Taxes!

  • Org Mode

    Org is for tree-like data what excel is for tabular data.

    Since most information is hierarchical, org is the best fit for all sort of writings.
    I use org so much that I’ve setup the F12 key on my laptop to open org on whichever screen my mouse is currently at.
    Spinnaker is always running an emacs daemon with org open and running.
    This website was written in org and then exported as html.

Methuselah

Standing on the shoulder of giants and saying hello.

This is the remote server hosting the Haletic ecosystem. Currently at my friend’s place in Seattle.

Every night data from spinnaker is backed up to methuselah, and data from methuselah is backed up to spinnaker.

Services hosted on Methuselah:

Laptop

Contrary to most people my laptop actually doesn’t have a lot of stuff to do.

It functions as an input output device. From my laptop I mosh into my work desktop for my day job and spinnaker for my personal stuff. No code is compiled or run natively on my laptop.

My laptop has a Guake heads up terminal running at all times. This terminal is Moshed into spinnaker. From this mosh session an emacs client is started which connects to the running emacs daemon with org open. This way I get org on my laptop and phone.

Phone

I have been using a Moto G with stylus.
Why stylus? To use the keyboard inside Termux.
Why Termux? To mosh into spinnaker and open the emacs org session.
I prefer this over using something like orgzly with syncthing, since I get a uniform emacs config and keybindings across all my devices. If you have been following along, the common theme is to centralize everything at one place and connect to it from everywhere.

“Put all your eggs in one basket and then watch that basket.” – Andrew Carnegie