This is a (mostly static) website intended to collect my thoughts and much of my life into one place. This page will serve as a quick introduction to the website and details on how I put it together - partially for other people but mostly for me in case I want to do it again!
Please note that the content on this site is licensed under CC BY-SA-NC 4.0.
My name is Sanchit Sharma, sometimes also referred to as:
- TTIO or TTIOttio (each letter pronounced separately)
- PuppyKit (hence the url)
I'm a software developer, devops person and all-round nerdy person. Head on over to my personal page for more info.
If you've been following me for a while, you may have noticed that my site has been down for a while. Now that it's back up, I've updated large amounts of the content, including this page. I have removed the stale information, but if you still want to see it you can always take a look at old commits on github.
Update part 2: Electric Boogaloo!
I'm bad at keeping this site up to date. So, to pressure me into doing so, here's a list of things I haven't done yet.
- Contact form still doesn't do anything.
- The artificial window project page got released too early, it's not complete yet.
- I was gonna totally rewrite the RPGs page to be more... Data driven, I guess? Instead of just a massive table. Not complete, but the major work is done.
- WWW has the wrong cert. Ficksed it!
This website is running off a microserver that lives in my sister's house. I've done everything from scratch - from hosting to the domain to writing the code myself, by hand. This started out as a learning exercise, but I quite enjoy hosting the site myself. So long as traffic remains low, I see little to no reason to move to a cloud provider.
So how does it work? The code is hosted on github so feel free to browse at your leisure. The code is licensed under the Apache-2.0 license, so copy, reuse, mess around with whatever you feel like. If you have suggestions, feel free to open pull requests or issues.
I own a HPE ProLiant MicroServer Gen8. Aside from being a small and low-powered device, it's very quiet. Inside is currently a single 1TB spinning-platter drive - unfortunately the previous 2TB drive died. I plan to increase that, eventually, to four 4TB drives, as I plan to eventually use this as mass network storage in addition to the current role of webserver.
The server itself is running Ubuntu Server 18.04. The reason for this was initially because of difficulties with installing Charmed Kubernetes, but I eventually chose to leave it as-is whilst removing Charmed (see below).
Since this site is currently running on the single server (no HA yet!), this results in relatively high downtime. For me, this is a satisfactory tradeoff as the site has little traffic at the moment. I am pretty comfortable working on HA systems, but this doesn't seem worthwhile for my personal site, at least not at this stage.
Although previously I was running my code in Openshift, I have instead decided to lean more heavily on the lower level tools for this iteration. Currently all of the content on this site is hosted via Docker containers, and these are routed by nginx.
In a previous version of this site I said that Openshift is overkill for what I'm doing here. This is largely the reason that I've switched to using just plain docker - now that I'm comfortable with openshift my main motivator is minimising energy consumption on this machine. Since security is still strong with docker, it seems like a sensible shift.
My registrar is Gandi, although it annoys me that they spelled Gandhi wrong :p
They've been pretty easy to work with and have a good corporate philosophy in my opinion. I use their mail server as I'm not interested in setting up a mail server from scratch just yet.