personal website resource zone

kicking this site off and having some success with it made me feel like wanting to give something back to other users of nekoweb and the likes. in this section i want to assemble something that’s kind of a middle ground between the general learning resources and things i personally use and value in software development.

what i use for this website

the site itself is just an astro project with a bunch of plugins. i use bun for package management, as it is reasonably compatible with node and much easier to set up and maintain, for now at least. node’s mess of a version management kind of irks me, and bun eases the pain by just being an update command away from the newest version.

notable dynamic elements on the webpage, specifically site stats and the last.fm widgets, much like many other sites on nekoweb, are using the widgets written/publicized by max, which i modified by adapting them into astro components that pre-render at build time, making them look passable without javascript.

i typically use visual studio code for site development, although given that i tend to end up in situations where i don’t have my own computer at hand, but am still able to connect to a server, i am learning modal editors like neovim and helix to do things over a command line.

i plan on setting up some kind of a cms for post management, but currently every writing piece i do is authored manually. the only thing of note is that i have a mixed cloud sync setup: i use syncthing to sync my drafts between both my laptops (windows and mac) and a server, which are also located in my icloud folder for easy note access from an iphone. when i finish writing a given draft, i just drag-and-drop (or mv ig) the markdown file into my project folder, set the necessary metadata, and then astro manages things from there by itself upon build.

learning resources i can recommend

barring the typical beginner recommendations for webdev one might bring up (freeCodeCamp, w3schools, etc.), if you’re interested in more curriculum-based structured learning without much handholding, i think the foundations section of the odin project is really solid for getting the core knowledge. the course overall is intentionally advanced, kind of light on specifics and is more oriented towards full-stack and landing a job in web development. imo for foundations specifically the suggestion to dual-boot linux or use wsl2 might be quite overkill, but i think it does the solid job at teaching not just how to use industry-standard tooling, but also how to problem solve, look for solutions on the internet, and meaningfully ask others for help to get the best possible answers for whatever question you might have.

managing software packages on windows

i’m a bit of a linux veteran at this point, so i am yearning for a command line so much that i use it to install software even on windows. package managers like that have great advantages like the ability to update all the software you install through them with a single command and basically no extra interaction required, which is just too convenient to give up.

windows has had chocolatey for a while, and there’s a microsoft-backed solution with winget, but imo both of them have a shortcoming where everything they install requires privilege elevation, which on windows involves manually clicking through each admin prompt, thus making software updates an exercise in babysitting. my preferred solution instead is scoop, which installs all software on user level without elevating admin privileges most of the time, resulting in a much more seamless update experience. i don’t use scoop for everything, and it isn’t for everything, especially stuff that either really does need admin privileges, or has auto-update baked in [discord, steam, etc.], but it is surprisingly solid for most stuff and does the job so well that it’s been a must have on my windows machines for years now.

nekoweb-specific thingies

i maintain a sitebox previewer for a more convenient method of hacking on nekoweb siteboxes.