Self-hosting
Lately I’ve been trying to figure out how to do self-hosting of my applications, including websites, Discord bots and game servers. I’ve been using a friend’s Kubernetes server for my hosting needs, but recently I’ve repurposed one of my old phones to be a web server and made it a new home for most of my apps. It’s nice to be able to make use old devices like that.
Raspberry Pi 5
I own a Raspberry Pi 5 loaded with LineageOS 23.2 Android TV (Android 16) and equipped with a TSOP38238 IR receiver. As you can guess, I use it as an TV box and it has been working incredibly well for that end (at least for my usage). It even works seamlessly with my One for All remote now that I’ve connected the IR receiver on the RPi’s GPIO pins. However, I still feel like I’m not tapping into the full potential of the device, so want to look into doing more development on it, even if I might be a bit constrained by the Android OS.
Šordle
I did a quick write-up on Šordle not too long ago. Proud to see do well to this day.
Discord bots
I have developed several Discord bots for the convenience of some online communities I partake in. Here are some of them
Librarian of Stoa
Librarian of Stoa is a bot that finds and quotes passages of some classical era philosophers, in particular the Stoics. The bot wraps the text in a beautiful embedded format on Discord. For now, only books in the public domain are included. The bot runs on Python and relies on py-cord as the API wrapper for Discord. Source code can be found on GitHub.
I would be happy to include more books or passages future if they easily accessible, parsable and free to use (preferably in the public domain).
List of Commands
Use
.help <module/command>to see information about a particular module/command. Using a command without giving it a number will send a random passage or chapter from that book.
.randomPosts a random passage or chapter from any of the available books.
.happylife <chapter>Of a Happy Life by Seneca (Stewart’s translation). Example:.happylife 12
.discourses <bk_ch>The Discourses by Epictetus (Oldfather’s translation). Example:.discourses 1:21
.meditations <bk_ch>The Meditations by Marcus Aurelius (Farquharson’s translation). Example:.mediations 5:23
.musonius <lec_para> <post_all>Lectures and Fragments by Musonius Rufus (Cora E. Lutz’s translation). Example:.musonius 4:3-6gives §3-6 from Lecture 4..musonius 19 allspews out all pages of Lecture 19 at once. Aliases:lectures,lecture,fragment
.letters <bk_ch> <post_all>Moral letters to Lucilius by Seneca (Gummere’s translation). Example:.letters 99:3-6gives §3-6 from Letter 99..letters 19 allspews out all pages of letter 19 at once. Aliases:letter
.toc <title>Shows table of contents (if any) of a given book. Example: .toc letters Aliases:tableofcontents
.shortness <chapter>On the shortness of life by Seneca (Basore’s translation). Example:.shortness 13
.help <command>Shows the help message for a particularcommand.
.anger <bk_ch>Of Anger by Seneca (Stewart’s translation). Example:.anger 2.10Aliases:ofanger,onanger
.enchiridion <chapter>Enchiridion by Epictetus (Oldfather’s translation). Example:.enchiridion 34
Saba - Sámi Word of the Day bot
Renberg - Member management bot for organizations
This post is a work in progress