A small observation about Large Language Models (LLMs), human psychology, and some common pricing models for the APIs of hosted models: LLMs induce Gell-Mann Amnesia1 when asked about any topic about which the inquirer is unfamiliar. If one should ask an LLM a question to which one knows the answer, one scoffs at the small or large errors it makes. When one asks it about something with which one is unfamiliar, it outputs something "reasonable" that is difficult not to take at face value.| silly business
There's an old idea, one which never took hold in any serious way, called "literate programming," that nonetheless has been discussed at some length over the years. The idea is that code should be more prose than code, and that reading a codebase should feel like reading a piece of literature. Now that the industry is more mature, the general consenus is that this is not a realistic way to write software.| silly business
Many operating systems, including most Linux distributions, configure devices to have a hostname like device.local accessible on the local network. The way this works is via a protocol called mDNS or Multicast DNS. Arch doesn't set it up by default. To enable it, you only need to enable it in systemd-resolved: Uncomment a section in /etc/systemd/resolved.conf MulticastDNS=yes And then restart systemd-resolved $ sudo systemctl restart systemd-resolved Make sure it's enabled permanently| silly business
It turns out that git worktree makes working on your Emacs config much more convenient. Don't you hate it when you're editing your config, and you don't notice that you messed it up until you restart Emacs, and it doesn't start? As it turns out, it's easy to move those changes off to a temporary directory if you're tracking your config directory in git. git stash git worktree add /tmp/that-change-i-just-had-to-make cd /tmp/that-change-i-just-had-to-make git stash pop Now, restart Emacs and it...| silly business
I had heard of GPG/PGP (same thing, as it turns out) for years and I heard it was hard and unpopular so I never investigated it independently. However, I needed to learn how to sign and encrypt things with it for work at some point and I learned the basics, and more recently I noticed that GitHub will allow you to verify commits with GPG. So, I decided, why not start signing my commits? That would be cool and at least useful in my imagination where someone might want to prove that I was reall...| silly business
A few weeks ago I was fiddling around with my neglected Zsh setup, wherein some years ago I had installed a theme through the Zim framework – one of many open source frameworks that allows you to quickly "supercharge" a shell like Zsh which has a lot of latent power if you know how to use it, for mere mortals like me who just want better ergonomics and don't want to learn all the intricate details of Zsh in order to have a meaningful PS1 – and I decided for one reason or another to update...| silly business
I knew this day would come. I have uninstalled lsp-mode and made the transition to eglot. I've been using lsp-mode since long enough ago that eglot was fairly barebones and it was not obvious which one was the "better" client. Maybe it still isn't obvious. I tend to prefer a more batteries-included solution; time is short. I picked lsp-mode. But lsp-mode was always kind of janky, to be honest, even if it was very functional. And eglot got upstreamed. It's just an Emacs feature, now. That's no...| silly business
Reared in the age of GitHub, I am ashamed to admit that it took me too long to realize that you do not need a "forge" like GitHub or GitLab in order to be able to git push to a repository and in fact you don't need to do any extra configuration at all, if you already have an SSH server running. Ever since realizing this I've just started putting repos in my home directory on my home server. Now, when I start a new project I simply| silly business
Today I built out the beginnings of this blog. I am not going to go into great detail about it because I find "I started a blog" posts to be boring. Suffice to say, I used Hugo. It shouldn't be a surprise. It integrates well with Emacs, and it's based on Go so I tend to find its patterns familiar. I'm not sure I'll stick with it long term but it's good enough for now. I've always found Hugo to be a bit overkill for this kind of thing, but it lets me write my posts in Emacs by natively support...| silly business
Prologue This is my Emacs configuration. It is written in Org Mode format, which means that I can display a static representation here, but the source repository and document (plain text view), are interactive when opened in Emacs. It follows the concept of "literate programming" and both defines my Emacs configuration (as well as a few other, related things) and includes my notes about why I made those changes, and what I was doing at the time, as well as whatever other commentary I felt lik...| silly business
Later I will add some more detail but for now, here are a few of the things I've built for fun: a tool for reading Weatherflow Tempest UDP data a silly Mattermost plugin an RNN chat bot before LLMs were cool a Mattermost weather plugin| silly business
You Can Add Custom Buttons To Your Browser That Do Whatever "Bookmarklets" are an underutilized and frankly little-known feature in Chrome and Firefox (and probably most other browsers too) that allows you to create a bookmark that contains a little bit of JavaScript instead of a link to a web page. That doesn't seem too exciting, but combined with the ability to put bookmarks on a bookmark toolbar, we can create custom buttons that can take arbitrary action within the context of the currentl...| silly business