Notes for the Week #4 (2026)
This week note covers the week of 19th–25th January.
Blue As Sky
## Life & Travel
I was on vacation this week. This was my first proper vacation after 6½ years. My wife, I, and our 3yo A took a train to Kodaikanal on last Sunday. This was A’s first train journey of life. There was much excitement, followed by much boredom waiting for the train. We took the overnight train from Bangalore and slept through the journey. I had the upper berth, which was right next to the AC vent, leading to a slight cold that I nursed for the rest of the vacation.
In our unpreparedness caused by the aforementioned lack of vacations for years, we made many mistakes. We forgot to check how far our hotel was from the train station, and it turned out to be a 3 hour car drive away. We didn’t pack enough warm clothes for the cold weather, the right footwear for the hilly terrain, and adequate number of toys for A. Somehow we managed to walk around the town and visit all the touristy places. Keeping A engaged all the time without any friends and toys was the biggest challenge, and we ended up with more TV time than the usual.
The weather in Kodaikanal was chilly—the kind of cold we have forgotten about living in the comfort of Bangalore weather. I had to put on many layers while the locals were walking around in T-shirts—it was slightly embarrassing. I still kept my habit of walking ten thousand steps each day. We spent a lot of time indoors, playing games and reading books. I even found some time to work on my website.
We returned by train on Thursday night and reached home on Friday morning. The return journey was a bit troublesome, both my wife and A fell sick because of motion sickness. Rest of the week was spent in recovering from the vacation.
## Health
I took a break from walking for the last two days to recover from the pain in my knees caused by climbing the hills in the wrong shoes. I walked eleven thousand steps today, causing my average to stay over ten thousand steps per day this month. However, I feel like I’m regressing again from the good sleeping habit I built in the last few months. Also, I keep forgetting to wear my reading glasses.
## Photography
I took over a hundred photos over this vacation. I even dusted out my old point-and-shoot camera that I had been neglecting in preference to my phone camera. I posted some of these photos to my Photography page. The photo on the top of this note is also one of them. I’ll post some more in the upcoming days. Subscribe to my photography feed if you are interested.
## Personal Projects
This week I worked on comments on my website. Informed by a comment on the previous week note, I found that commenting via Isso on my notes was broken. While I was fixing it, I noticed that Isso provides an Atom feed for each comment thread, allowing commenters to subscribe to it to receive updates and replies. So I added per post comment feeds to my website that are just a slightly massaged version of the Isso comment feeds. See this very post’s comment feed for example.
Then I added a feed for all comments on my website, collected from all posts and notes. This feed is for me to keep track of new comments. While I was doing that I also removed comments from Twitter on my posts because Twitter sucks.
After coming back to Bangalore, I spent a day optimizing the static site generator (SSG) executable size. My SSG is written in Haskell, and I use Nix to compile and statically link it to a single binary exe. Recently the size of the exe had ballooned to 120 MB! The reason for this is, the SSG uses Pandoc, Skylighting and some other libraries that are very featureful. Pandoc has readers and writers for scores of formats, and Skylighting supports hundreds of syntax grammars. Even though I only need Markdown and HTML support and have snippets in twenty-some programming languages on this website, I still had to include a lot of unused code in the exe. Pandoc also pulls in many heavy dependencies like Typst and LaTeX etc.
This had been on my mind for years, and yesterday I sat down and wrote a series of patches for Pandoc and Skylighting to delete all the unused code. I apply these patches via my Nix-based build system. I also configured ICU to retain data only for English and removed many advanced features following the build guide. These changes **halved** the exe size to 61 MB! Then I compressed the exe using UPX. The final size is now 9.5 MB. The downsize of compression is a slowdown of 2 seconds when generating the website, which I’m okay with.
## Watching
I rewatched Your Name on a whim when it appeared in my recommendations. Such a beautiful and well-done movie! I didn’t get time to watch or read anything else. Even my feed reader queue has grown to almost a thousand.
## Interesting Internet Links
* The Case For Comments
* Agent Psychosis: Are We Going Insane?
* Dynamic GHC matrix in GitHub CI
That’s all for this week. You can subscribe to the feed of my week notes for updates.
If you have any questions or comments, please leave a comment below. If you liked this post, please share it. Thanks for reading!