2024–W50 #
Bluetooth to the rescue again. I have my Steamdeck plugged into an external display with bluetooth keyboard and mouse and it's a pleasure to use. Who even needs a gaming PC, right? 😅
Got neovim auto-completion working again as I missed it, but boy it needed several plugins. My config now has a block like this:
Plug 'neovim/nvim-lspconfig'
# These are the completion ones! Seven!
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'junegunn/goyo.vim'
Plug 'gruvbox-community/gruvbox'
Plug 'tpope/vim-eunuch'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-vinegar'
Plug 'christoomey/vim-tmux-navigator'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'fatih/vim-go'
Plug 'vimwiki/vimwiki'
Plug 'luochen1990/rainbow'
That's not even the config, just the plugin list. This seems out of hand. We're not emacs users!
UPDATE: I upgraded to the latest development release of Neovim, to try out native completions, but tbh I don't like them (yet). I aimed to start from scratch leaning as much on language servers as possible, but in the end I have a stripped back version of the config I started with. Plugins that I can't easily remember the keybindings for without looking them up got booted. Mostly that means that fzf, rainbow parentheses, and tmux navigation made the cut. (Also gruvbox, of course). I'll leave vim-go commented out and probably will do serious Go development in Visual Studio Code (womp).
Prometheus: I've decided I dislike running Grafana -- it's a big complicated thing that I mostly rely on being packaged by other people. Instead I'm sticking with Prometheus and adding a standalone AlertManager. This lets me manage my config with YAML files instead of click-ops or an API and it supports Pushover natively which is pleasant enough.
If I want to look at one-off graphs (like I used to with Graphite or Collectd) I can just use the native Prometheus UI (recently updated!) to look at one-offs. I didn't really need pre-built dashboards, but I do need things like "out of disk space" alerts.
Regarding my music SSG, I've decided to write it from scratch again. I've learned what I need to know from the prototype and now I think that that refactoring it into the thing that I want is more work than writing a new one that does what I want. I'll keep a few of the tests and structs though, they are fine. But I don't want to depend on SQLite just because I was avoiding doing a GROUP BY in Go (vs. SQL) and because I wanted to avoid keeping a few big maps in RAM.
In the end, the Go part of the project is really just Advent-of-Code complexity. (There's a bit more to the Javascript parts, but also hopefully as little as possible, y'know?)
Suddenly inspired to fix and generally massage my BGP set up -- the node in Montreal broke at some point and I ended up completely replacing the VM. Now I have BGP-over-WireGuard from Ottawa to Montreal. I extended things with a GRE tunnel to my VM in Wales, which is a separate (private) AS using GoBGP (I used FRR for the "real" routers in my house and at OVH).
Now I'm here creating a bunch of objects in DN42 as a practice run for hopefully doing similar with ARIN in a few weeks. So far, so good? Looking forward to setting up some peerings.