nikhil.io

A photo of me. I was somewhere in Florida.

I was born in Hyderabad, India and grew up in a small emirate along the Persian Gulf. When I’m lazy, or when speaking to people who remain proudly incurious about geography, I just say “around Dubai” and hope for the best.

It was an unforgiving but consistent dry heat, my parents made sure we traveled a lot, I was taught by exceptional teachers, and my graduating class had around thirty kids.

I was lucky and privileged enough to come to America for college and eventually graduated from The University of Iowa (Go Hawks 🤘🦅) and absolutely loved living and learning and working in Iowa City. My focus was Biomedical Engineering but I somehow veered towards the programmatic side of things and ended up specializing in bioinformatics & computational biology. Grad school was at Georgia Tech.

I helped scientists at what is now the Iowa Institute for Vision Research before moving to Corteva AgriScience where, for the past decade, I’ve written software for sequencing machines and greenhouse robots, and humans like the company’s customers, data scientists, and salespeople.

I’ve resided in Iowa almost continuously for the past twenty-four years. During this time, I managed to meet a lovely girl who inexplicably agreed to marry me.

I am an avid note-taker and use this site to log things of interest1 and experiment with personal publishing, programming, and design. Here’s what I’m up to now and things I like using.

I’d love to hear from you about anything you’d like to say 🤗


Colophon

Text is mostly set in Lineto Circular which makes me very happy to look at. EB Garamond is used for italics with panache. All icons are from the excellent Phosphor library. Colors are stolen from palettes like Gruvbox, Marvel Comics, and books like these.

I write all posts in Markdown (the Github-flavored one) and manage content with a minimally customized fork of the excellent 11ty.js and a lot of markdown-it plugins. I’ve found TSX to be far superior for templating than ye olde Nunjucks or anything else I’ve tried thus far. To use it, I have a small setup that registers ESBuild with Node to transpile TypeScript and TSX for 11ty2. I use Tailwind in the manner I’m told it’s not really supposed to be used3 with SASS to keep design intent terse, modular, and reusable4.

Live-reloading is provided by Vite. Searching on the archive page is via SQLite5 and SQL.js. Other pages like this one use state-of-the-art programming techniques to search their contents. I push my content to GitHub which tells CircleCI to build and publish things to Amazon’s cloud6.

it took eleven seconds to generate this entire mess on an x64 system running Ubuntu 22.04.1 LTS with a 36-core 3 GHz Intel Xeon® Platinum 8124M CPU and 73.62GB of memory.

Privacy

I use Plausible for privacy-friendly analytics. I set some keys in Local Storage to drive various views, like Light/Dark modes. No cookies.

  1. I also have a small wiki which I try and use for information I’d like to keep updated.↩︎

  2. This is an old hack. v3 of 11ty will support TypeScript/TSX out of the box 🎉↩︎

  3. As CSS shorthand with a bunch of @applys↩︎

  4. Modern CSS supports a lot of cool SASS-y things (variables, nesting, partials) but I still prefer SASS for reasons of color utilities, functions (love me my conditionals), and inheritance (which I don’t use too much tbh).↩︎

  5. Which just might be my favorite open-source project, if only just for its license.↩︎

  6. When I get impatient I just build and publish from my laptop.↩︎