Nitin Khanna

I was once described as a philosopher programmer. I think I'd like to describe myself as a lifelong student.

Finished reading Earthlings by Sayaka Murata

shooting star on sky

One of the strangest books I’ve read in a while. Even as I was finishing it, I felt like there’s so much more the story can tell but the author knew when to close it so as to leave us with the purity and purpose of the story instead of the comprehensiveness of reality.

Excellent writing by another Japanese author I’m a fan of now.

BTW, the book is full of trigger warnings – paedophelia, child molestation, murder, cannibalism, to name a few.

Colin Devroe asks

How do you balance creation vs consumption?
— Read on cdevroe.com/2022/11/14/11940/

As I mentioned in my recent post, I’m basically consuming right now. Very little creation. That’s partly because my creative energies are being used in upbringing instead of creation. I’m ok with that.

I believe I go in cycles. For a week or two I’ll go hard on creation. I’ll code, I’ll write, I’ll ignore our daily ritual of watching TV after dinner. Then once I’ve achieved some outcome, I can settle down a little and watch something. I’m ok with going a while with just TV or books taking my evenings, as it lets me recharge for an intense period of creation.

Looking forward to the next one.

ActivityPub activated

I installed ActivityPub on my WordPress blog and expected to see it in Mastodon immediately. It just dawned on me that it won’t show older posts. It’ll only show new stuff.

So this is a test post to activate ActivityPub. ?

Chomp Chomp Chomp

A short status update on what’s going on in my life.

With the little one in tow, our days have sort of become more organized, if only by force of taking care of her every day. Her mealtimes, nap times, and bath time dictate what we are doing when. In our “free” time (her naps or after we put her in bed for the night) we focus either on cooking or cleaning or resting up so we can rise for when she needs us next.

In all of this, I’ve noticed that what’s flourishing is my consumption of books. I can’t say reading any more, since 2 out of the 4 books in my “Currently reading” are audiobooks.

I’m currently listening to “Rousseau and Revolution” by Will and Ariel Durant. This is Book 10 of “The Story of Civilization” series. I do not intend on reading the entire series. I picked up this one from the Seattle Public Library (through the Libby app) because I thought it’ll be about, well, Rousseau and the French Revolution. It is, but it encompasses so much more. That’s how I learnt that the series is sort of enmeshed and can be read as one long history. The book started about the life and times of Rousseau and then veered off to tell the contemporary history of every country in Europe. Then it expanded to Turkey and Iran and even went all the way up to Nadir Shah’s conquest of Delhi. So it didn’t really stick around Europe either. I love the extremely detailed descriptions of random things. How many theaters or guild workers or beggars a particular city had in its heyday during this era. How Catherine the Great is linked to her mother-in-law, in excruciating detail. What were the exact names of all the music composed by Mozart and what some of them sounded like. When coming to the Muslim world, the authors also verbatim print out some of their favorite poems by famous poets and the reader does a good job of reading them aloud. I’m also taking the book with a grain of salt. It does a fair job of describing every civilization and country it encounters as the greatest and the finest. But most of the book is written from the perspective of European countries being more advanced, if not superior, due to the Enlightenment.

I listen to this book during the time when I’m doing the dishes. It’s kinda cool to focus on that while getting my hands dirty. I can’t control the flow of the book other than playing and pausing, so I have to just listen. It’s somewhat meditative.

Before this, I was listening to “My year of Rest and Relaxation”. It’s a pretty raucous book, filled with the suicidal and petty inner monologue of the narrator and protagonist of the book. But I grew tired of it around 70% in. I’ve reached a point where I have a hint of what’s going to happen and I’m not looking forward to it. But I am. “Rousseau…” is pretty long. I’m half way in on the 60 hour book. So perhaps I’ll return to “My year of…” before I finish the former. Otherwise, it’ll end up in the “Not Finished” pile and I don’t want to do that to this book. It’s actually pretty funny and sad and grating and great. Highly recommend!

In the “Reading” section, I’ve been reading the web novel “Worm”. It’s about “parahumans” which are humans with some kind of super powers or the other. In a world that normalizes super powers and splits these people into Heroes and Villains (and almost all of them are teenagers), the story of how a teenage girl in High School gains her powers and what she does with them is fascinating. I got to the book via the LessWrong community, so it’s got a sort of hidden agenda too – to teach us readers how it would be if all our decisions are logical and based on thinking things through instead of emotions.

It’s a great contrast to Rousseau (the man and his writings, not the book above) since he was all anti-Enlightenment, Heart-not-Mind, “don’t teach a child about religion or science till they’re a teenage, just let them play”. I have thoughts there, but that may be a whole different rant.

Worm is pretty long. Again, I’m about midway through it and I read a chapter or two before bedtime. It feels a lot like when I read War and Peace – I would keep reading whenever I got even a moment free, and the book just wouldn’t end. Apparently, the follow up books in this “parahumans” series are even longer. So unless Worm ends with some major cliffhangers or unsolved questions, I won’t be pursuing the rest of the books. Besides, I started reading it as a sort of introduction to the thinking of the LessWrong community, so I’m going to use it as the primer it was meant to be and dive back into the community after I finish.

Since I am reading and listening to all these long books which will take me months to finish, I recently decided to pick up something simple and small. I had a copy of Earthlings by Sayaka Murata sitting around and I’ve just started reading it. It’s a nice and easy read. Edit: As I’ve progressed through the book, I’ve come to realize that it’s going to deal with some really heavy themes. But it’s very well written and I’m not going to put it down. I love the feel of the physical book when all I’ve been consuming are audiobooks and webpages. I love Japanese and Chinese authors (along with Russian and Eastern European authors) and I love the world that Murata is creating. I have Convenience Store Woman also sitting somewhere. Will unpack that if I absolutely love this book.

It’s not all books though. We’ve been working through the latest season of The Crown and have finished House of The Dragon (except for the last episode. I don’t think we will watch that till the next season comes along) and we didn’t really like it that much. We’ve also watched a string of movies recently – Fantastic Beasts being the latest one. I loved Grindelwald in it, though the dialog writer must have blacked out through much of the movie as a lot of characters just don’t have lines . Also drunk was the dialog writer of the movie Brahamastra. The dialogs in that one were somewhere between horrible, missing, and cringy.

I’m feeling that there aren’t a lot of great movies or TV out there right now and books and audiobooks are doing the perfect job of replacing them as media. Added bonus that book reading is so individualistic. I have essentially spent days in the number of hours working through these books alone.

Hmmm. This was supposed to be a short post. Oh well, this is why blogs are fun and Twitter is not. I get to write as much or as little as I want on here and you, dear reader, can choose to skip it or read till the end. If you’ve reached here, thanks!

Catch-22 Oct 27, 2022

After a long while, I was in a Catch-22 situation today. I was trying to close two cabinets together quietly. One had latched on to the other and I had to pick which one to stop with my free hand as they swung to a close unexpectedly. Of course when I picked the latter, the former banged hard upon closing.

Sigh.

Remind me to get door softener thingies off Amazon.

Baby Sleep

Generational wisdom says that babies can sense that you are being impatient with them, and they in response become further uncooperative. You end up in a cyclical fight to tears and bedtime becomes a war zone.

But I don’t think this is the case. I don’t think that these tiny little neural networks that can’t tell that not everything is food, can decipher the complex emotion that is impatience… yet.

More than likely, what happens is that our animal brains tend to use that impatience to skip a few crucial steps or focus on only our own desires – that of getting the baby to sleep and for us to get out. Skipping those steps means you forget that babies need soothing, a calm environment and demeanor, and a little bit of play to relax and be amenable to sleeping.

A good example of this comes from the work of software development. Very often, as a software developer, I’ll run into some problem which in the moment seems insurmountable. I can pound at it for hours and it doesn’t budge. The recommended strategies in such a case are to do one of the following –

1. Go for a walk. Go, grab a coffee or lunch. Let your mind wander. Forget about the problem at hand and let your mind decompress. As often happens when you’re trying to remember something that’s on the tip of your tongue, letting go is the easiest way to trick your brain into coming up with the solution.

2. Explain the problem to a fellow coder. The process of explaining the problem very often reveals the hidden bias or flaw in our logic. It lets us review our work and very often even during the very first overview, we come up with the solution to whatever is troubling us. This is why it’s said that the best way to learn something is to teach it. The preparation to teaching it or showing it to someone else tricks your brain into being more critical of the information you’ve received and thinking through its logic deeply.

3. Let someone else take the reigns. If all else fails, step back. Let someone else poke and prod at the code, very often in situ – it’s possible that if you let them work on your system that they’ll reveal an environmental issue or design consideration that wouldn’t be valid if the code were running on their system or a common system. So hand them your baby (pun intended) and let them figure out what’s wrong.

I think you get the drift – all of these are applicable to babies as well. If you’re at your wits end with your baby, hand them to a trustworthy partner and go do something else. Even if it’s something as mindless as washing the dishes. If you think you’re burning out, give your partner the problem to solve and they might shine a light on the issue which was preventing you from the ultimate goal – a happy, healthy baby.

Folks, I made a thing – NYT Redirect

So, The New York Times provides a nice service where they put the day’s newspaper’s front page as a PDF up on an obscure URL for anyone to see

https://static01.nyt.com/images/2022/08/26/nytfrontpage/scan.pdf

If you’re a logged in user who wants to use their webapp instead, you can go to –

https://www.nytimes.com/section/todayspaper

If you’re like me, you can never remember how to get to these links.

So, using the power of Cloudflare Workers, I made a little URL redirector that takes you to these pages.

You can access it by going to these URLs –

https://nyt.nitinkhanna.com or https://nyt.nitinkhanna.com/front for the PDF version

https://nyt.nitinkhanna.com/today or https://nyt.nitinkhanna.com/todayspaper for the webapp version

https://nyt.nitinkhanna.com/about for my omg.lol profile which has all this information, including a link to the GitHub repo for this little thing 🙂

Cheers!

Some quality of life improvements on my iPhone

When iOS 15 dropped, I noticed that it added a feature that Shortcuts could run on their own, without user approval every time. This is a pretty major change to the way they were working before, and allows for some truly good automation.

A few months ago, I created a folder in my Photos app called Wallpapers and added subfolders called Morning and Evening. I created automation that runs at Sunrise and Sunset and sets a random wallpaper from the folders as the lockscreen wallpaper. It’s a nice way to update my lockscreen frequently.

Over time though, I got bored of the same few wallpapers, so I’ve created two more automations – these go out to source.unsplash.com and pull wallpapers using simple search terms.

Unsplash has run their free Source endpoint for a long time and even though it’s technically deprecated, they don’t prevent it’s use if you know what you’re doing. The search terms I use are –

https://source.unsplash.com/1080×1920/?Morning and

https://source.unsplash.com/1080×1920/?Sunset

Note that if you put the search term as “Evening”, it leads to some particularly Non-Family Friendly results.

So now, I’ve got 4 automations – on Mondays, Wednesdays, and Fridays, I set Morning and Evening wallpapers from my local folder. On the rest of the days, I let Unsplash send me some nice wallpapers for my phone twice a day.

The best part of this is that the wallpapers from Unsplash don’t get downloaded to my phone and clutter my photos. They directly get used as wallpapers.


The other quality of life improvement I’ve made is webapps!

At some point, I found this shortcut which lets you create a fullpage standalone browser app icon on your iOS homescreen for any URL or website you pass to it.

I had just installed Amazon Luna and rocketcrab as webapps using Safari’s Add to Homescreen feature some time before that, and really like how they come off almost as proper apps (as good an app as Amazon can make, and they make some spectacularly terrible apps).

When you try to turn a website into a webapp but it doesn’t support this feature, it opens in a new tab in Safari, which takes away from the feeling of a standalone app. But the shortcut above solves that problem!

It creates a webapp using a configuration profile, which you then have to go into the settings app to accept. It’s an unsigned profile, so the risk is all yours. But you can look at what the Shortcut is doing and let me know if there are any security concerns.

One caveat – the shortcut asks for an icon image. You better have one ready when you’re using the shortcut and it has to be more than 128×128 pixel. I tried an image that was 64×64 and the icon just turned out blank.

Since I discovered this, I’ve gone on somewhat of a binge. I made webapps (or Web Clips, as iOS calls them) of three webbooks I’m reading on and off (these aren’t available as ebooks in any way). I also often have to check up on my GitHub Actions runs of a particular secret project, so I made a webapp of that direct URL. I made one of my blog, so I can easily go into the admin section and make edits to my posts in the Gutenberg editor (which still doesn’t have proper support in WordPress iOS apps). The only one I haven’t made (and thus opens in Safari) is solitaired.com and that’s basically because I got lazy. I’ll make it one of these days.


From the time I started writing this post, I made another improvement.

I don’t really like Wallpapers cluttering my photos app. Over time, they make a mess, the good ones used to get lost when I moved phones, and overall, it’s a lot of pain to manage them in the Photos app, which needs a long overdue overhaul, Apple.

I figured out that I can make a shortcut that actually picks a random file from a folder in the Files app. So I moved both the Morning and Evening folders to the iCloud Drive and now I can add any good wallpapers I find on my desktop to my phone too! 🙂

I like when things fall into place nicely like this 😀

Cover art is from emoji.supply, which is a ridiculously awesome source of emoji based wallpapers!