August 08, 2023
re: Coding
This Post is part of the Blog Chain: Write An App (2023) Blog-Chain.
I've completed Chapter 3 of The Rust Programming Language book, and found many other great resources to continue to work on the language. Chapter 3 was about control flow - if/then, loops, while, etc. While the concepts are nothing but review for me, the syntax is what I really need to spend time getting familiar with. It makes me wonder if just jumping in to a project is a better way to get where I want to go.
Raspberry Pi, Jellyfin, SSH, Nushell, Etc.
I've been enjoying learning the Linux command line while working through my the Rust exercises and wanted to be able to spend some more hands-on time learning the various commands and workflows in a Linux environment. So in addition to Windows WSL Ubuntu-flavor of Linux, I decided to get my Raspberry Pi 2 out and see about turning it into a Jellyfin media server for streaming my mp3 collection music while motorcycling, or out running.
Jellyfin was exceptionally easy to get up and running via the command line in an ssh session on the raspberry pi ("rpi"), but I realized that the storage available for my rpi was woefully inadequate, and in looking to update various packages and add Nushell to the rpi, I saw that I'd have to reimage the micro-sd card to get the latest OS updates, so I'm back to square one, but I did get Nushell running on the rpi.
Also, although Jellyfin made it easy to expose its service outside of my local area network (and I tested access via my dynamic external ip address), I turned external access off until I can figure out a way to add some measures of security. I'm looking in to a reverse-proxy and VPN, but the setup seems irritatingly complicated. On the upside, its giving me plenty of opportunity to spend time on the command line and try various solutions via the OS.
As a tangent, I think it would be helpful for decentralizing the internet (and prevent further enshittification), if it were easier for people to securely host their own web presence on their own devices. I can't help but believe there are millions of perfectly operable but unused devices like old phones, desktops, laptops, arduinos, and raspberry pis out there that would make perfectly viable web servers for individuals or small families to host their own non-critical services like decentralized social media presence, "cloud" storage, email server, etc. There are some good arguments to be made about whether people would want to become server admins and manage security, etc. and I think the answer is obviously 'no'. I don't want to do it either. How do we make that part of it easy and/or un-necessary?