Perplexity: Pros and Cons

I’ve had Perplexity Pro for over a month now and I’ve dived deep into it. I’ve made it my primary search engine on my computer’s Chrome browser. I’ve downloaded their Mac and iOS apps and given them a prominent place on my digital yard. I’ve started using it for every search under the Sun (except for map searches, which are going to Apple Maps these days). So here are some quick Pros and Cons from my experience –

Pros

  1. Perplexity is very good at search and more specifically, at nuanced search.
    • I am looking for a printer for my home and I gave it a printer I like, a price point I prefer (less than the sample printer), and some features I want in it.
    • It was able to search for and summarize the features of similarly priced printers and let me know what the best option for me is.
    • I separately did the search myself and came to pretty much the same conclusion!
  2. Perplexity Pro isn’t ad-driven.
    • I’m paying for this service. I mean, technically I’m not because I got it for free for a year through a deal, but come Oct 2025, I will probably pay $20/mo for it.
    • While the price point is not great, it feels nice to be able to pay for a service as critical as web search and not have to wade through a bunch of ads to get to a relevant link. (Take a hint Google. I pay for YouTube Premium, why the heck wouldn’t I pay for Google Premium?)
  3. Perplexity lets you organize your searches and system prompt them.
    • Spaces are a way to organize your searches. You can retroactively add a search to a space.
    • I currently have three spaces – Investment, programming, and “software tools”
    • Each space allows you to set a custom AI model and a “system prompt”. For example, you could say “You are an investment advisor. Help me plan investments in stocks, bonds, market funds, and any other type of investment which can give me high returns in the US with a medium amount of risk.” and set the model to GPT-4o.
  4. Perplexity can write small scripts and improve upon them.
    • This is par for the course for every LLM right now, but it’s still a nice to have. It takes the friction away from doing a lot of random experimentation. I asked it to write a script to batch use “Imagemagick”, it did so. I asked it to change the script from bash to zsh, it did so. I asked it to add parameters, print stuff out, supress warnings, it did all of that.
    • That said, I once asked Perplexity to install and run a python package. While it acted like it’s installing the package, when the time came to actually run it, Perplexity balked and told me it doesn’t have runners.
  5. Perplexity taps into other LLM models.
    • In case you didn’t know, Perplexity is web search engine with access to other large language models, instead of building their own. As part of Pro, you can pick and choose which model you want to use to answer the question. Depending on what you pick, you can get different responses. It’s worth noting though, that I ignore this and let Perplexity decide which model to use to give me a response and it just does so and does a good job of it.
  6. Perplexity spills the tea.
    • Perplexity has the news. No, I don’t mean the Perplexity Discover feature, which is a sort of MSN/Apple News competitor in that it collects and recommends news items for me to read, but which invariably feel not particularly well tailored.
    • I mean that I can ask it the latest news on a particular topic and it does a really good job of pulling and summarizing “up to the day” news items on the topic.
  7. Perplexity really understands complex questions.
    • Here’s the question I asked about the printers – “Find a wireless printer for my home, similar to Epson EcoTank ET-2850. It should have a touchscreen display and a way to wirelessly print from computers and phones. It should be able to print double sided pages automatically. It should use a refillable ink tank that I can use third party ink with. Lastly, it should be less than $200.”
    • I did not expect it to get all the points. It did.
  8. Perplexity understands files.
    • Someone sent me a PDF file that was a bunch of land surveys, notes about where the land will be acquired and where it’ll be left untouched, and timelines and other details.
    • I couldn’t made head or tail of the file. So I gave it to Perplexity and asked it some deeply relevant questions.
    • Perplexity actually gave me all accurate answers about the file and helped me understand the issue at hand.
    • I verified the info I got from Perplexity with some neighbors and it turns out Perplexity got everything right!
  9. Perplexity has access to Wolfram Alpha!
    • Someone recently posted online that Perplexity doesn’t do math properly. A colleague commented – “Why the heck would you even ask an LLM to do math?? That’s a fundamental misunderstanding of how LLMs work!”
    • But Perplexity isn’t just an LLM. It’s a Search Engine with an LLM interface. That means it should be able to tie into all kinds of other services, including those that current Search engines do.
    • Services like Wolfram Alpha, arguably the best math tool on the web.
    • I asked Perplexity “What is sqrt(45) times 11,546?”
    • It went straight to Wolfram Alpha and gave me 2 versions of the response.
    • It even gave me the link to Wolfram Alpha, to let me run the query myself.
    • I verified the result with Google Search’s Math Solver.
    • Same result.

Cons

  1. Perplexity is great for Search. Just not Website Search.
    • A lot of times, all I want to do is get to a website. I know Keepa exists. I don’t know if it’s a .com or .somethingelse
    • I know Kindle’s Online Reader exists. I just haven’t visited it on this computer, so I don’t have the URL in my history.
    • Instead of giving me the next hop, Perplexity strives to give me the next hop and a summary of the service, a Chrome extension, the iOS app, and “features and benefits” of the service. I do not need any of this. Just give me the link and let me go!
    • I really wish Perplexity would offering a dumber and faster version of their search for one-word searches or keyword searches like “website for writefreely”. I do not want an AI summary, I do not want options, I just want a jumping point.
  2. While Perplexity is really good at product search, it feels limited to the sites that they have collaborated with. For example, in the first Pro point, I mentioned printers. It seemed like Perplexity only looked at prices on Best Buy. It looked for advice on reddit, NY Times, etc. But pricing came only from Best Buy. So are you really getting the best pricing advice or just more vendor lock-in? Remains to be seen.
  3. Also, one of Perplexity’s offerings is called Perplexity Purchases. It’s basically a customized interface for shopping, where you can apparently compare products and buy from within the Perplexity interface.
    • I have not signed up for the service because of a few key points which made it feel weird.
    • While they take your address and credit card info like any other service, the copy around it says that “Perplexity will purchase it on your behalf. For a limited time, shipping is free!”
    • What this tells me is that I’ll pay Perplexity and they’ll pay the vendor. This is not good because what if disputes arise or I want to return a product? Will Perplexity provide the same level of support that we’ve come to expect from vendors?
    • Also, will this mean that I lose out on points on my Credit Card because the payment isn’t going directly to the vendor? Like if Chase is running a points bonanza on a particular mattress brand, and I buy it. But the payment looks like it went to Perplexity and not to the mattress brand, do I still get the cashback or extra points?
    • Lastly, what the heck does “shipping is free for a limited time” even mean? Why is Perplexity in charge of shipping anyway? Most vendors provide free shipping these days. So if I’m buying from Costco or Best Buy through Perplexity, is there a future where Perplexity would charge me for shipping while buying directly from the vendor would not?
  4. Perplexity has opened our eyes to paid web search. Good for Kagi. If most of the time, I’m using Perplexity to only do web searches, I do not want to pay twenty dollars per month for it. I want to pay less. Ten dollars per month for unlimited searches on Kagi seems like a nice number.
  5. Perplexity doesn’t have a Firefox extension!
    • I use Firefox for my personal browsing. Perplexity doesn’t have an official extension there. Not a problem as I just go to perplexity.ai and then do the search. But we’re all so used to the Omnibar.

Verdict

Perplexity is awesome! It’s got a lot of search results (I don’t know who their backend web-crawler is, or if they’re building the database themselves), advanced search capabilities, and features to make your research easier. It even has some confusing and moonshot features which may or may not pan out, and it is experimenting with ads too, for their free offering.

But. It is not a Google Search replacement. Yet.

There are simpler things that Perplexity brings too much complexity to. If I’m looking just for the weather, or simple math, or the domain of a website, I do not need LLMs or explanations or summaries. I need a quicker interface.

Perhaps Perplexity could hire a few Google Engineers and implement DNS prefetching to improve their page load times. Perhaps they could build simpler, faster interfaces to solve some of our non-LLM queries faster.

Then how valuable would the company be?

Also, since the company has introduced us to the concept of paid web search, I’m now more open with experimenting with search engines like Kagi, which cost less per month and act like traditional search engines. Maybe at the end of my Perplexity Pro free trial, I’ll go experiment with that company and see what comes of it. If I don’t like it after using it for a month or so, I know I’m going to come back to Perplexity.

GPT based “Denial of Information” attack

Academic journals, archives, and repositories are seeing an increasing number of questionable research papers clearly produced using generative AI. They are often created with widely available, general-purpose AI applications, most likely ChatGPT, and mimic scientific writing. Google Scholar easily locates and lists these questionable papers alongside reputable, quality-controlled research. Our analysis of a selection of
— Read on misinforeview.hks.harvard.edu/article/gpt-fabricated-scientific-papers-on-google-scholar-key-features-spread-and-implications-for-preempting-evidence-manipulation/

I think we can define a new type of attack on the Internet. Much like the Denial of Service attack makes a service unavailable to ordinary users, a Denial of Information attack makes readily searchable information obscure by inundating it with generative AI based nonsense or outright misinformation.

This can be both a malicious attack or negligence.

A malicious attack would be threat actors specifically targeting information silos such as social media or SEO with misinformation intended to influence society.

A negligent attack is either in the form of misguided attempts by end users to use LLMs to churn out content faster, thereby inundating traditional systems with unverifiable data; or a negligent attack can come in the form of data retrieval infrastructure (such as search engines or LLMs) using generative AI to compile information without adequate gates to verify such information.

A Denial of Information attack is more insidious than a Denial of Service attack because it’s much more difficult to detect and even harder to neutralize due to the individualistic nature of information retrieval and consumption.

Steam Deck’s Killer App (Game)

I’ve owned a Steam Deck since April – a birthday gift I deeply desired.

In the first few months, I fired up the old favorite of Counter Strike and figured out what else out of my 100 game Steam collection is playable on the Deck. But I couldn’t figure out one thing – what’s the killer game for this device?

What’s the one thing that will make me keep coming back and wanting to keep coming back when I can’t?

I couldn’t find it. I spent some money here and there, played some demos here and there. But nothing stuck.

100 games – that’s a big collection. Though, out of that, only about 40 or so seem to have exceptional support on the Deck. Of those, only 20 or so interested me in terms of graphics and what I’m doing with the game.

Of those, basically none captured my imagination.

Then, about a month ago, I came across Skyrim on a bargain bin site. I remember happy hours playing this game. Not too challenging, adequately open world, a storyline that catches you every once in a while because a random dragon will plop down and force you to kill it. With the Skyrim Special Edition I have on Steam now, I get a lot more missions, artifacts, strange tales. I also get to explore the idea of mods. I’ve never modded any games. With Skyrim, I can dip my toes into that space and see how it works. Folks online swear by running Skyrim as an NPC, or in Cozy mode, or adding skins and missions and areas, all of which is very interesting to me.

But most importantly – it beckons me. I want to go back to it at the end of every day, to unwind as I roam the terrain in search of one mission or one cave or one challenge to conquer. I can’t get to it every day. But when I do, I come out satisfied by the experience.

I don’t know how long Skyrim will hold my interest. Last time, once I’d finished the main quest, I dropped the game. But this time, I want to revisit it and play as some other character, and see if I can install mods to make it a wild ride. With Skyrim, it’s possible, simply because even 17 or so years later, this game still compels people.

It’s a proper killer game for the Steam Deck.

Addled

“I’m really concerned about you.”

This is how my wife started the conversation the other day, as she sat in the car.

I didn’t know how to proceed, but blood rushed to my face, unsure but embarrassed.

“What happened?”

“These videos you keep watching… You really need to stop. Go back to reading. You used to read. Go back to that. Do anything, but stop watching these videos.”

Ah.

See… while I was waiting for my wife to get ready to leave the house, I sat down and hit up YouTube to watch some Shorts. I’d been doing that a lot lately. Enough to know that the algorithm is irritating. Enough to not know that I need to stop.

This was an intervention.

“I know, I know. I need to stop. I’ve said it myself. The algorithm sucks too… It’s pinned me down and shows me only a few categories of videos. A few SNL shorts, specially the news ones. A few geeky shorts from a YouTube channel that focuses on DND and other table-top and online RPGs, and…”

That was my defense. It was clearly meant to deflect.

“That’s fine,” my wife countered, “but these videos suck you in. You can’t stop watching them. Trust me. I know. I watch them on Instagram. I know I need to stop too. But you definitely need to stop. This stuff addles your brain.”

“You’ve spent over thirty years,” she continued, “not getting addicted to any of this stuff. You read books. You read articles and blogs. You need to go back to those. We can’t all be addicts.”

She knows of my RSS feeds and Instapaper “habit”. I reckon a habit needs to be something you do regularly, but I don’t follow up on those often enough. Not anymore.

I thought for a second about how true her words are. My wife has been sucked into Instagram. It’s part true social network for her, with a constant line of communication with her girlfriends; it’s part addiction. Any time I see her phone, it’s open to Instagram.

My brother has been sucked into TikTok. He’s on it constantly. He sends me videos here and there. He is always mentioning it in our conversations. Taking decisions based on it. I don’t know if it’s an echo chamber for him, though I wouldn’t be surprised. Clearly… something has clicked for him there, the way Instagram has for my wife and YouTube Shorts has for me.

I’ve struggled against algorithms all my Internet life. From the time life on the Internet became easier thanks to search engines and ludicrously plentiful email accounts and social networks that just felt like natural connections (till they didn’t), I’ve had to constantly feed the side of me that says “enough” to someone else deciding what I should be seeing and reading and consuming. It’s why I’ve maintained some RSS feed reader or other since 2012, when I bought my first RSS reader – Fever. I’ve also been paying for Instapaper since I gave myself an annual subscription as a birthday gift a half decade ago. But it’s a struggle to keep that hunger fed. I’ve often burned down my RSS subs (numbering to around 400) to the ground and rebuilt them, only to realize that if I don’t have the firehose pointed at me, I get bored of it. It’s a constant push and pull of having enough to read and having too much to read in every single blog post. (Hence, Instapaper.)

So when it became as easy as opening the YouTube app (an app that lives on my phone’s first page anyways, due to the myriad other uses of the service) and getting dropped into an algorithmic feed, the question didn’t even present itself. I was constantly on it, filling up time at first – the interstitial time of waiting for buses, waiting for other people, waiting for the microwave to finish its dance. Then, I was finding time for it – standing at the microwave longer than I should, stealing moments when I should have been paying attention to my family, being awake for hours in bed. All of these video platforms are excellent for revenge bedtime procrastination, I’ve learnt.

But it’s time to pull back.

We can’t be going into our 40s getting sucked into echo chambers and algorithmic escapes. That’s not the way to live a life.

Immediately after my wife pointed this out to me, I cut myself off completely. Cold turkey, as they say. Then, a week later, I found myself going back into the warm embrace of short form videos. It’s just too easy to switch off your brain for a minute, or thirty.

But it’s time to pull back.

Maybe this time it’ll not be cold turkey. I might keep going back to Shorts every few days, only to taper off my usage over the next few weeks or months. Or maybe this is what remission looks like and I just don’t know it yet.

We’ll have to wait and watch keep reading.

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.

Migrated VPS

black server racks on a room

When I started hosting this website on DigitalOcean about 9 years ago, the version of Ubuntu that was all the rage was 14.04 LTS. So I started my hosting journey with that. Pretty soon though, 16.04 came along and since I was ever active on my server, I upgraded to that using nothing more than a few apt update commands. Since then, other than a few forced efforts to secure the OS and install what I needed for experimentation, I didn’t do much to upgrade the underlying software.

So it happened that, when at the beginning of the year I tried to upgrade from PHP 7.3 to 7.4 (a process which failed), I was made aware of the fact that the chasm between where my software stack is and where it ought to be is rather large. I tried running a straightforward upgrade from 16.04 to 20.04. The blocker was mysql. Apparently, no matter what third party repos I tried, the upgrade from what I was running to whatever’s the current just wasn’t possible. Well, it may be possible, but it would not be easy. The recommended path, on multiple websites, forums, and blogs, was to just fire up a new VPS and migrate my websites and services manually. Daunting.

When I learnt of this, I realized that the amount of time and effort it would take was too much for me to give at that moment. Family needs and other projects held precedence. Right now, I wouldn’t say those needs have abated, just that I’ve adjusted to both those asks, and I’ve given myself enough time and another factor for this migration – money. DigitalOcean is a nice provider in that they’ll only charge me for what I use through the number of days that I use it. I know this is sort of the norm everywhere now, but it’s a nice-to-have and a nice-to-mention nevertheless. Instead of doing the entire migration within the span of a few hours, tiring myself, and increasing the odds of a failed migration, I spread the entire project over the last few days. I moved my other WordPress install first, the one whose failure wouldn’t affect me directly and personally. It’s a side project that we’ve gotten side-tracked from. I’d be totally fine if it craps out.

Moving WordPress seemed daunting, until I realized that I have a tool that can make it extremely easy. I’ve been backing up this website to Dropbox using UpdraftPlus for the longest time. It’s fast, easy, and totally a background process which has not needed my input since I set it up. I checked it out and sure enough, it’s got a pretty straightforward restore process too, included in the free version of the plugin. Of course, they offer paid tools for much easier migration. But I reckoned the free one has got to work just as well. UpdraftsPlus creates a bunch of separate zip files for the database, uploads, themes, plugins, and “other”. All you have to do to migrate is to create a fresh install of WordPress, install the plugin and drop the files into the interface and then hit restore.

This blog’s backup comes in at about 750 MB, while the other site is about 160 MB. I did the latter first, and since it stayed up just fine over the last few days, while for the first time in my life I ran two VPS in parallel in DigitalOcean, I ported over this blog as well as the other applications and sites which I wanted to keep. It ended up being a good housekeeping too, since most of the active nginx sites were not doing anywhere and thus were liable to be security issues. Plus, it gave me a chance to really start from scratch.

Over the years, I let the older VPS grow organically and get cluttered as all in-use systems do. When I was attacked by a script kiddie trying to get into this site and wreak havoc (at which they partially succeeded), I installed fail2ban and went aggressive with it, to the point where I got locked out of SSH quite a few times and had to recover via console. I installed multiple versions of node to run shortlived telegram bots or expressJS apps. I installed numpy to create a webUI for an experiment my brother wanted to run. I also created a series of scripts to run via cron – to periodically free up space and memory, to pull in data and recycle logs.

All of this had become a sore point for me anyways. The services running on the VPS often went down. The APIs responded only half the time. The downtime was somewhat acceptable till it wasn’t.

So this new VPS, well, I’ll run it as clean as I can for as long as I can. Of course, I’ll get hit by something or the other and I’ll have to respond with better security measures. But I wasn’t running any firewall before and ubuntu 20.04 seems to be running ufw by default, which is nice. I was also able to update PHP from v7.3 all the way to v8.0, which is nice, but came with it’s own set of challenges. One function in WordPress and another in a homegrown bookmarking tool were failing since they don’t work in PHP 8.0, so I had to spend some time figuring that out. But it’s good to have the latest software and to hope I’ll keep things updated better this time around.

All in all, a good experience. My old VPS is now sitting in shutdown mode. I’ll let it sit for a couple weeks, while I test out the new system and see if I forgot to move some settings or such. I know it’ll cost me almost twice as much for the month to run both machines in parallel, but it’s worth the peace of mind I’m getting.

Plus, this migration got me in touch with some projects I’d forgotten! I regularly use my liveblog, but completely forgot about “SomeDay”, a bookmark/linkblog of articles I didn’t finish reading and hope to, some day. It’s got an RSS feed and all, so maybe you can find something in there that you might want to read, today.

Links to everything currently hosted on my new VPS –

this blog

tempdeals.net

scratch.nikhco.in – a minimal writing tool with local browser storage and ability to start a TogetherJS session to collaborate with others in real time.

liveblog.nitinkhanna.com

someday.nitinkhanna.com – I haven’t read these articles yet. Maybe you should try?

ReplikaAI

Saw an ad on Instagram today for Replika AI, where it was touting the romantic relationships feature of the chatbot service, including photo sharing, role playing, and “caring and loving”. All of these, with an AI.

Replika started off as an experiment by an engineer who lost a dear friend. She had experience with chatbots and decided to feed her friend’s text messages into a neural network to create a “digital memorial” of him. Read more about it in this Wired article.

But the ad I saw today was something wildly different. It was gross and far from a “digital friend” or a likeness thereof. Over the years, while I’ve not used Replika much, I’ve kept my eye on the service. I stopped using it right when it started leaning into this romantic aspect instead of friendship. It started asking me to share pics of my day-to-day life, selfies to get started with the app after I came back after a break of a few months, and to voice chat with it. It felt gross the way the app was transforming right in front of me.

Now, wherever there are chatbots and turing tests, there’s the baseness and loneliness of humanity. I understand that. I understand that people were seeing this “friend” app and asking it romantic questions, and laughing when it was giving them even slightly romantic responses. But for the service to lean into that feels like a betrayal of the original intent.

Dystopian storytelling often pins on this idea of people being so isolated from society that only an AI gives them the comfort of a relationship. Heck, we don’t need to look to science fiction for that. Real news coming out of China about people’s social media usage behavior often shows how messed up the landscape already is.

But to see an app in the US be so blatant in its disregard for real human connection and its outright mission to replace it with a chatbot feels like something society and politicians should condemn.

What I also don’t understand is how this app isn’t violating at least one or more of Apple’s ridiculous App Store policies. Thoughts?

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!