Nitin Khanna

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

A brief internet dive

Last night I came across a ListenLater.net which has an interesting value proposition – send them text or the link to an article and they’ll convert it into a podcast using AI TTS.  The podcast link will be public so you can use it in your favorite podcast player, which is such a nice touch! The voice they used seemed familiar but I couldn’t immediately place it.

Digging into their help pages or pricing didn’t give me a lot of details about how they’re generating the audio. They just keep claiming it’s “advanced AI Text-to-Speech”.

Their EULA says you can’t use the audio for commercial use. It has to be personal use only. This is partly because they acknowledge that they claim no ownership to the content you send to them and so if you use it commercially, they don’t want to be held liable for that.

But that voice…

In a spectacular feat of google-fu, I typed in “What TTS is listenlater.net using?”

I learnt that there is a similar service called Listenlater.fm which uses a horrible non-neural TTS (feedback from HackerNews) which is unbearable. Also, though the site is up, the audio samples are not available, which tells me that maybe that service isn’t doing so well. But also, their pricing model is funky – 5 free articles per month and if you want more, $36/year for unlimited.

Listenlater.net instead uses a more AI-aligned pricing of $0.03 per 1000 tokens (about 750 words according to them). This is a clear indication that they’re using a third party service without telling us which.

I then came across a service called listnr.ai which… takes text and gives you a podcast. You can also use their output for YouTube videos, TikToks, Reels, Shorts, Gaming, Social Media, and audiobooks. (Also, they’ve done a nice job of comparing their service to others in the same space. Thanks for doing the market-research for me, folks!)

Except… their terms say you can only use the content you download from their site for “personal, non-commercial use”. So… their own sales are violating their own TOS?

But the service is in India, so I guess they can ignore these rules.

But what’s the point of finding listnr.ai if I can’t validate that they have the same voice as Listenlater.net? It has to match! I listened to 50 voices and the absolutely last one, called “Shimmer” was a match!

Ok, but where is Shimmer coming from? I don’t trust listnr.ai to have built their own AI TTS just like I don’t trust listenlater.net to have.

Back to the Google-board! “Shimmer tts voice”

The first few results are some shitty site called 101soundboards.com and then one from a listnr.ai competitor called FakeYou. Then, below the Google fold of “People also ask”, we get the result we’re looking for. Mirroring the last 6 voices that listnr.ai supports are –

OpenAI’s alloy , echo , fable , onyx , nova , and shimmer.

Ah. There it is. I listened to a sample and sure enough, it matches exactly what listnr.ai is selling and very, very close to listenlater.net’s primary voice. So both these services are basically built on top of OpenAI and they just don’t want to talk about it. Why?

Well, OpenAI’s TTS documentation page says “Please note that our usage policies require you to provide a clear disclosure to end users that the TTS voice they are hearing is AI-generated and not a human voice.”

So while they’re very happy telling you that you’ll be listening to AI TTS, if you use the audio commercially and OpenAI comes after you, these companies want to protect their businesses. Nothing wrong with that.

Also, nothing wrong with reselling OpenAI’s service either. The service is API based. So normal users can’t use it. Building a website, a service, a podcast hosting setup, and supporting all this takes Engineering and Business hours and is well worth the added cost that these services might be pushing to their users. In the case of listenlater.net, it seems that’s not true either. OpenAI charges $30 per 1 million characters for their HD voices and $15 for non-HD. The difference is quality vs speed. Listenlater.net charges the same – $0.03 per 1 thousand characters. So if they’re not using the HD TTS, they’re pocketing half the money. Or they’re not and you’re getting a service that’s running out of love.

Listnr.ai’s pricing is a little more FU – it starts at 4000 words per month for $5 per month. But considering they are adding a lot more bells and whistles to their services – unlimited downloads and audio embeds, 25GB storage, 1000 voices (I didn’t bother finding out where they’re getting their other voices. Most seem to be coming from ElevenLabs, including Santa Clause. Exercise left to the reader), it might be worth it to someone out there.

Anyways, good dive.

My Obsidian Setup

I use Obsidian on a daily basis for my office work and frequently for personal notes. Recently, my brother discovered Obsidian and we started talking about setup and usage. So here’s my Obsidian setup, for his reference and mine –

  • My office Obsidian syncs with Google Drive. This is not actually for syncing but for backups. My personal Obsidian syncs with iCloud Drive, which makes it available on my phone as well as my laptop.
  • I use a lot of folders and frequently need to move files into different folders. For this purpose, I’ve overridden the Cmd + M hotkey from minimizing Obsidian to “Move current file into another folder”. This pops up a nice folder selection interface.
  • I also use File Properties a lot, primarily to track whether the file is “done” or not. So I use the Obsidian preferred Cmd + ; hotkey to add a property.
  • I use Obsidian also for Task tracking, so I have my Tasks file pinned too. I’ll talk in a minute about how I use the tasks plugin.
  • I have the AnuPpuccin theme installed and set to Dark mode. Most of the settings for this theme are set using the “Style Settings” Community plugin, which I’ll talk about in a bit.
  • I have most of the Core Plugins turned on. The ones I use are –
    • The very first one is the Word Count Core Plugin. That’s a great feature for me, specially when I’m writing emails.
    • I also use the Daily Notes Core Plugin religiously. For every meeting, I hit the little Daily Note icon and then add the meeting name/details to the title of the file. This let’s me hit the Daily Note icon over and over and just keep my meeting notes organized and easier to find.
    • I also use the Templates Core Plugin religiously. I have a type of meeting for which I’ve made a template and simply use the Cmd + p hotkey to open the Command Palette and go to “Insert Template” and insert my one created template.
  • I also use a LOT of community plugins. Here are the names along with specific settings and reasons for using these plugins –
    • The very first plugin I installed was Style Settings, in order to customize the AnuPpuccin theme. This is based on the recommendations on the theme GitHub page as well as someone’s blog post which I was following to setup Obsidian the first time. The main setting I turned on is under Workspace -> Rainbow Folders. I set the Rainbow style to “Simple”. The idea here is that the names of the folders change in a beautiful rainbow colors gradient. The more folders you have, the prettier it looks. If you set it to “Full”, the entire block of the folder changes color. That might be desirable to some. So test it out and let me know!
    • I also have plugins to “Send to Ghost” and “WordPress”, which let me publish to Ghost and to my WordPress blog. In fact, I’m writing this blog post in Obsidian and will be using the WordPress plugin to post to my blog.
    • I also use the Tasks Community Plugin which is a powerful tool. It took me a while to learn about it. You can use it to create tasks in every file you create and have them all collected in a single file. Basically, this plugin takes over the - [ ] markdown task pattern and lets you add due dates, priority, etc. You can also use the Command Palette and “Create or edit task” and it’ll pop up a very nice interface to deal with the creation process. Then, you can create a specific Tasks document as specified in the plugin docs to collect all of your tasks from across your vault and view them in one place. The best part is that each task is linked back to the file where it comes from.
    • I’ve also installed a plugin called “Various Compliments” which allows for a Fuzzy Search of text for autocompletion. You can choose to use only the current file or the entire vault, or even a custom dictionary as your source for autocompletion. This plugin is so useful that I don’t know how I was surviving before it! It does come in the way once in a while, since I’ve turned on autocompletion instead of only offering autocompletion options. But like with everything else in Obsidian, this is a choice and you can choose what to do here.
    • I also use a plugin called “Paste URL into selection”. By default, if you select some text and paste a URL on it, Obsidian just overwrites your text with the URL. This makes the UX closer to how we’ve come to expect web interfaces and markdown to be – it creates a link with the selected text as the anchor.
    • Lastly, I wanted to use a plugin called “Enhanced Copy” but it’s not released into the Obsidian plugins list. It’s only available through the GitHub repo. The plugin simply lets me control the behavior of how Obsidian copies out text from my notes. Usually, it only gives me 2 spaces for bullet point indentation. I prefer 4. This plugin let’s me make those changes.
    • In order to install the “Enhanced Copy” plugin from GitHub, I had to install a plugin called “BRAT”, which stands for “Beta-Reviewer’s Autoupdate Tool”. It lets you install beta plugins from GitHub repos. Though I wonder if people using it are reviewers at all. I’m not.
  • Now, on to how I use Obsidian –
    • I make a new file for every meeting using the Daily Notes button. Then I rename the title to be “date – topic”.
    • I organize my notes at the end of the day or at the end of the week into topic-specific folders. I use properties as a means of reminding me of certain tasks I need to perform before considering a note as “Done”.
    • I use Tasks extensively, though I often move the dates around. The idea is that I should check into that file daily or multiple times a day to see what’s up next from my ToDo.
    • I also keep some running topics as Pinned because I need to work on them slowly.
    • Also, this post was written in Obsidian and published through the WordPress plugin. 🙂

100 days

At the beginning of this year, I thought I’ll get going on two goals – 

  1. Reading more often, 
  2. Writing more often

For the second goal, I setup a secret public facing blog using the Ghost blogging platform. I tried posting something daily, with the idea being that I’ll just put the title as the day I’m on, and that’ll give me enough push to write every day. That fizzled out at the twenty second day mark.

Sometimes I feel like I need a blogging setup where I have no titles. It’s silly, but titles being in the way feels real. But more than titles, I think it’s the blogging platforms themselves. I have been feeling the weight of WordPress’ Gutenberg lately. It’s too unwieldy to be a clean blogging space. That’s why I went to Ghost. But that’s no better. Now I’m on the prowl again, for something simpler and easier to mess with. Heck, I even went with Classic Editor on WordPress to see if that helps me make writing easier. Let’s see how that plays out.

As for the first goal – reading more – I don’t just want to read more. I want to read daily.

I started the year with StoryGraph’s January Challenge – read a page or listen to a minute of an audiobook a day, and be entered to win something. I didn’t win anything but I enjoyed the process and it made the habit that much easier to adopt. It coincided with me finding some really well written Harry Potter fan-fic, so I spent the month burning through some really fun writing. Now I’ve settled into something longer and deeper. I like this tracking thing because I’m not really worried about the number of books I read but rather the number of pages I read. It’s a welcome change in how I gamify my reading habits.  

I know that for many, it’s not much of a milestone, these 100 days. But reading consistently for almost the third of the year isn’t a bad milestone at all and I’m proud enough to blog about it.

Cheers!

Finished: Jenny Odell’s How to do Nothing. 2/5⭐️

What an absolute shitshow of a book. I went in with great expectations. The first chapter gave me even greater expectations. So much so that even before I was done with that chapter, I had ordered a physical copy of the book from Half Price Books for future reference and rereading.

It went downhill from there.

I’ve often heard that if California were an independent economy, it would be the sixth or seventh largest in the world.

Now I understand why that statement makes a lot of sense. Just like all other economies in the world, the people who belong there are often so Nationalistic and narrow minded that their thinking starts and ends with that economy. It just so happens that that economy more often than not coincides with a country.

The same is true for California. The author wouldn’t be bothered to give an international example with a gun to their head. Yes, at the outset of the book there were references to European philosophers and places. But that’s all foil. Once you are invested in the book, the author can’t get their head out of California’s ass.

So much so that the grand idea – how to resist the attention economy and do something structured as a means of protest against it – is completely lost in example after example of how fucking amazing California’s people, ecology, redwoods, and birds are.

Oh. My. God. The fucking birding. We get it. You’re into birding. Shut up about it.

No, the author just keeps dragging you through tired metaphor after tired metaphor about birding and how fucking great it is.

Seriously Jenny, get a life.

Key takeaway from this rant – don’t waste your time, energy, mind, and effort on this book. If you are desperate to know what’s in it, read the article the author has based this book on. It’ll probably have just the same amount of drivel in a concise form.

2/5 ⭐️ because while the book is a waste of space, it’s got a nice set of references which can feed my TBR for a long time to come. Goes to show that you can take some really world class reading and churn out utter drivel from it. Also, the hardcover will form a nice and light doorstopper for me one day.

How to do Nothing Chapter 2

I mentioned before that I’m listening to Jenny Odell’s book “How to do Nothing” before. Well, slowly, I’ve inched towards closing Chapter 2. At first, I was irritated by the chapter. After a wonderful chapter 1 where she talked about the Ethics of Care and Deleuze and how she’s building a philosophy to inculcate instead writing a book that’s just meant to be read once, she then waded into a whole history of the 1960s in the US and the commune movement thereof. So boring. But I trudged along knowing that there must be some reason why she’s talking about this completely left-field topic. Towards the end of the chapter, she explains that she’s covered all these failed communes to talk about how the way to protest this attention economy is not to run away, since that rarely works, but to protest in place. She wants us to be a part of society and to find a middle path instead of diving in too deep or leave altogether (a concept I’m deeply familiar with).

I’ve also ordered the physical copy of the book, so I can potentially accept Jenny’s suggestion to make it a part of my digital life instead of a flash in the pan.

Note on Jenny Odell’s How to do Nothing

I’m really loving listening to Jenny Odell’s How to do Nothing. It’s an insightful book and a pleasure to read. I didn’t go into it thinking of philosophy, but then midway in the first chapter, she starts quoting Deleuze and talking about the Ethics of Care and that’s just perfect serendipity to me!

Her lived experience around dealing with technology as an isolating and enraging medium and her ways of dealing with it, including by going to a particularly Rose Garden which I too loved when I went to California last, as well as her quoting Rebecca Solnit, just make this a must-read for me.

Looking forward to flowing with this book and integrating its precepts into my life. Also considering buying a physical copy of it after I finish the library book I have right now.

Gah!

Yesterday was the first time in the year that I read a percentage point of a book just so I don’t lose my streak. I was tired, needed to get some work done, am currently in between ebooks. So I just picked up a random fantasy novel from Libby and read a few pages of it. The worst part of this is that I’m not even sure I want to actually read the book. It’s one of those pulp fiction ones where in the sidebar itself there’s the main intrigue but also the stupid love affair which the protagonist must deal with.

But maybe it’ll be good for me. A light read that maybe, just maybe will be a fast one too. Let’s see.