I'm @rsapkf, a programmer. I mainly do full-stack web development with the MERN stack, Django, PostgreSQL, and Jamstack. You can find other technologies that I use on a regular/semi-regular basis on his page. I am also interested in theoretical computer science and *nix systems.
Besides programming, I enjoy doing/learning other things in my spare time:
- Recreational mathematics, puzzles and board games
- Physics, philosophy, and conlangs
- Reading/Watching science fiction and comics
- Personal knowledge management
- Playing CTFs
-----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d? s: a--- C+++>$ UL P+ L+++ E--- W+++ N+ o-- K+ w O- M V- !PS !PE Y++ PGP+++ t+++ 5+ X- R* !tv b++ Dl+ D G++ e* h++ r-- z? ------END GEEK CODE BLOCK-----
My co-ordinates (these are not exact for obvious reasons):
- <Largest number that is the sum of the digits of its cube>.7150,
- <Largest n for which has a solution>.3183
The git repository for this site used to be open source but I have chosen to make it private to a) maintain the privacy of drafts since I don't use a CMS, and b) avoid the risk of having the entire history of some personal info on this site on some stranger's GitHub profile forever. Instead, I will keep this section as descriptive and updated as possible, providing information about the various tools and technologies used. You can verify most of this information by browsing the source maps in the developer console, or by using an extension like Wappalyzer.
This site is pretty trivial but if you have any questions about a particular feature, please let me know. I'll gladly answer such queries.
This site is powered by Next.js, an open source web framework based on React. I use SCSS modules for styling and CSS custom properties for theming. Most of the content lives in a single directory in plaintext markdown along with a sprinkle of MDX features for interactive components. I also use a few remark and rehype plugins to transform markdown into HTML, and YAML frontmatter for metadata.
I do not collect any personal information or use any sort of analytics system on this site. This site briefly used Google Analytics but I removed it due to privacy concerns.
The majority of my personal projects use the system font stack. Previously, I used self-hosted Source Sans Pro fonts on this site, but I have since removed it. In addition to providing a familiar look to visitors, using system fonts also helps improve performance and reduce layout shifts.
This site uses fluid typography, meaning the font size changes based on the width of the viewport of the device, taking a minimum value of 16 pixels on smaller devices and a maximum of 18 pixels on larger ones.
Many of the design and layout choices on this site are inspired by various developer resources, such as Mozilla Developer Network, web.dev, and tools that I use for different projects, including Docusaurus, Tailwind, Astro, and Bootstrap docs. While I try to learn and replicate useful features from these projects, I strive to maintain a simple, intuitive, and unique appearance for my site by avoiding pre-made templates. This approach serves as a way for me to practice and challenge myself and I enjoy this process very much!
Static HTML/CSS → Django → Hakyll → Gatsby → Next.js (now)
I use my personal site to experiment and learn. Previously, this site was built using Gatsby, inspired by Dan Abramov's blog and React docs. Before Gatsby, this was briefly powered by the Haskell based static site generator, Hakyll. Some features that used to exist on this site that were later removed include Netlify's form handling to handle form submissions and Font Awesome for icons. The contents of /wiki used to live at wiki.rsapkf.org, deployed from a different repository using Docusaurus.
Over the years, this site has gone through various iterations of tech stack and designs. When I started learning programming, I had no knowledge of static site generators. So when I learned Django, I used it to create the first version of my personal wiki, which, as expected, turned out to be an overkill. Other tools that I have used at some point include GitBook, mdBook, and Travis CI. In order to avoid link rot, I have taken care to preserve URL routes and implement redirects where feasible. If you encounter any issues regarding dead links, accessibility, or have other feedback, please let me know.