Org Web Adapter

pages/documentation.org

ID
adbc1662-6543-4f53-bb5e-2064b0904fe8

Documentation

#+AUTHOR: Colin Powell

#+EMAIL: mailto:colin@onec.me

#+LANGUAGE: en

#+OPTIONS: toc:nil h:4 html-postamble:nil html-preamble:t tex:t f:t

#+OPTIONS: H:2 num:nil toc:t \n:nil @:t ::t |:t ^:nil f:t *:t TeX:t LaTeX:t skip:nil p:nil

#+OPTIONS: prop:("VERSION")

#+HTML_DOCTYPE: <!DOCTYPE html>

#+SETUPFILE: theme-readtheorg-local.setup

There is a joy to being your own master. No one need know how the things you

build work, or why you do the things you do. But then there's everyone else.

The ability to communicate how or why you do things may be one of the most

important and defining factors in human civilization. Together with the ability

to find meaning in a random assortment of events, communication is important.

So why are you here? Why not?! Here you'll find my justifications and process

for the digital world I've created. As with most things freely given, there are

no guarrantees that following any of this will help you rebuild. But maybe

you'll understand a little more why I've done this and build something better.

The impetus for all these services was to divest myself of as much corporate

internet infrastructure as possible. This means services like Github, Slack,

Spotify, Google and Facebook/Twitter had to go. I've made a number of runs at

this in the past, but it's never felt so possible to go it alone as it does

right now. A big part of that is the availability of open source projects that

fill in all the gaps that used to really stand out when ripping out corporate

software from my life. I also have a stable home internet connection and

mostly-always on electricity, which are privileges of my class and education

that allow me to this as well.

Hosting

Chat

Dendrite [Matrix]

Element [Matrix Client]

Prosody [XMPP]

Converstions.js [XMPP Client]

Music

Mopidy

Overview

I use a custom-built docker container to run a personal instance of Mopidy behind Traefik with a custom subdomain. While I've thought about a direct connection out of the container to the host it's running on for music, right now I just have any tracks played piped through an Icecast stream for listening.

The result is actually pretty neat. I can pop up a stream wherever I happen to

be and it's kind of like a low-rent Sonos system.

Mopidy is hooked up to my personal music collection (which isn't very

comprehensive), Spotify, and Soundcloud. I'm a little disappointed that I still

use Spotify, but it's the least evil way I can find to enjoy new music. I do

wish there was a way to more easily compensate musicians I listen to most

directly. But this will suffice.

Resources

- https://github.com/wernight/docker-mopidy

Media

Plex

Editing

Emacs

I made the full time switch to Emacs back in 2016 after being a stalwart vim +

terminal developer since probably 1996 when I first figure out how to actually

quit out of vim. That's a long time to use vim, and not much time to use Emacs.

Naturally, I picked an evil-mode configuration of Emacs when I made the jump. At

first I played with Spacemacs but found it's default installation method of

re-checking all packages on start exhausting. I need my editor to start in less

than 1 second on a reasonable machine. Spacemacs couldn't deliver.

The real nail in the coffin, however, was when I was doing a screenshare with a

fellow developer and Spacemacs pulled a spinning beachball and just froze on me.

That was inexcusable. Trying to reason about which layer did it proved fruitless

and I left on a quixotic adventure to find a new pre-configured version of

evil-mode Emacs that might suit my fancy.

Thankfully I landed on Doom Emacs back in 2017 and there was no going back.

Henck has done a fantastic job balancing customization with stock Emacs such

that commands that need not be over-ridden are not. This is not the

transformation of Emacs into a vim machine. It is a vim-like layer over

traditional Emacs. Thus, I still use M-x an awful lot. And I'm often falling

back to default Emacs keystrokes to do simple things.

Vim

For vim, I keep as much to vanilla vim as possible. There was a great lecture a

while back by Max Cantor [1] about doing 90% of what is usually done with plugins in

vim with vanilla vim. Given that I use a hulking beast of an editor in Emacs for

most of my editing work, it stands to reason that when I do open vim, I expect

it to do so quickly.

Thus, I don't use plugins at all. My vimrc file is really straightforward [2]

and when I need to search for files, I exit vim, fire up ranger and go to town.

This also means that when I'm on a server I haven't been on before I know

exactly what I'm getting when I open vim.

[1] https://invidio.us/watch?v=XA2WjJbmmoM

Search

Searx

I remember dogpile. The Great Midwest Trivia contest encouraged you to cull

answers from all around the internet. A single search engine would not do.

Searx is the modern dogpile, a search engine aggregator that pulls in results

from all over the place. It also, thankfully, obfuscates your searches to sites

that like to track you. So Google, Yahoo and Bing are still accessible, but

hidden behind API calls that can't tailor their response to your search history.

What I lose in result filtering, I gain in transparency over what's on the

internet and knowing that the search engines are not tailoring their response

for what the they think I want. Let me figure out what I think. Let the search

engine show me what it found.

Git

Gitea

Email

Mailinabox (Hosting)

Overview

I had wanted to host my own email for a while. Google is more and more evil

everyday, and the thought of depending on them for communication makes me throw

up in my mouth a little bit. But running your own email server is horrible.

Postfix is one of the least obvious pieces of software I've ever tried to

configure, and the ability to foot-shoot yourself is tremendously high.

Add on to that spam, bouncing, blacklisting and evertyhing else and there had to

be a better way.

Enter, https://mailinabox.email

This software stack is great. With a $5 Digital Ocean VPS I have a secure,

upgradeable and performant personal email server. It has a nice admin interface

so I can easily add new email addresses or domains. Best yet, it uses a DNS glue

configuration to allow me to use my MiB machine as a personal DNS service (see

Traefik above) that updates super fast.

Notmuch (Indexing)

iSync + mSMTP (Receiving + Sending)

Social media

Mastodon

Tusky

Browsing

Qutebrowser

Firefox

I pretty much never use Firefox these days. It tends to suck up resources and

cause lower battery life when I'm not wired.

One unique use case is Zoom meetings. Qutebrowser does not open Zoom links

properly, and it doesn't integrate with GCal. So I still use Firefox for Zoom

meetings. But otherwise, Qutebrowser has replaced it for now.

I may go back in the future.

Calendar

Org mode

Nextcloud (via MiB)