Anthropic says supported Claude models will add imperceptible watermarks to generated text. The watermark is part of the text itself, so it can travel with copied text and can even survive some editing.
For supported images and other files, Claude will attach signed C2PA provenance metadata instead. Anthropic says detection tools and technical details are still to come, and these marks are signals rather than perfect proof of origin.
I am not sure how this works, but I think it might work based on this paper. And this is similar to Google's SynthID that also embeds imperceptible watermarks in AI-generated content.
Composio ran DeepSeek V4 Flash through 8 agent harnesses on 30 agentic tasks, and as per the report Pi agent came out on top in almost every metric. Here is the leaderboard for tasks passed.
Pi agent passed 20 of 30 tasks, 3 more than the next best harness (Oh My Pi at 17). Claude Code, Codex, and Deep Agents tied at 16, and the rest were at 14-15.
Cost per successful task is where Pi pulls ahead the most. It came in at $0.028, the cheapest of all 8 harnesses, while Claude Code at the other end cost $0.195, almost 7x more. Pi's median time per task was 132 seconds, only Claude Code and OpenCode were slightly faster.
The same model delivered 47-67% task success, cost $0.019-$0.104 per task, and took 122-272 seconds median time, depending on the harness. Their closing point is a good one. Benchmark the model-harness pair you will actually use, not the model in isolation.
I built a tiny Chrome extension called Kapture Fast that captures the visible part of a tab and copies it to the clipboard in one click. Just click the toolbar icon or right-click the page and pick "Copy screenshot to clipboard".
It only captures the visible viewport, not the full page. A checkmark flashes on the icon when it works, and on failure a ! badge shows the reason on hover.
It needs just four permissions, no network requests, no analytics, and the screenshot never leaves the machine. Open source under MIT, load it unpacked from the repo in about a minute.
I had this question that which subscription is more value for money when using the Grok 4.5 model – Cursor Pro ($20/mo) or SuperGrok ($30/mo). And I just came across this post on X that does a comparison between the both.
Here, I have created a comparison table to better understand the usage these subscriptions get you.
Subscription
Price
Tokens per month
Tokens per $
Value advantage
Cursor Pro
$20/mo
716,077,180
35,803,859
Better value
SuperGrok
$30/mo
987,902,940
32,930,098
—
Basically, if you consider the $10 price difference between the two, Cursor gets you ~8.73% more tokens than SuperGrok.
tl;dr – Cursor Pro is better than Grok.
I have used Cursor previously, and currently using SuperGrok, but since I availed their promotional offer of $30 for 3 months (i.e., $10/mo), SuperGrok is better value for money for me right now.
The "keep reading" block under every post and note used to pick its suggestions by counting shared tags. Most matches won.
That sounds reasonable until you look at my tags. The ai tag alone sits on 186 of my 637 posts and notes, so sharing it counted for as much as sharing something rare like hetzner. Hundreds of candidates tied at one shared tag, the tiebreakers collapsed, and the sort quietly turned into "show the newest thing tagged ai".
Three things stood out when I finally measured it.
289 entries had never shown up as a suggestion anywhere on the site
one note about my terminal config was sitting on 113 pages
most entries were getting three suggestions instead of five
So now it scores every pair of entries instead of sorting them, and four things feed that score.
shared tags, weighted so rare ones count for more than common ones
how similar the titles and descriptions are
internal links, counted both ways, so linking A to B also points B back at A
recency, but only enough to break ties
The title matching did most of the heavy lifting here. Around 40% of my entries carry a single tag, so tags were never going to say much about them, but titles always do. The internal links I add by hand turned out to be the most trustworthy signal of the lot.
Where it landed.
every entry now gets a full five suggestions
entries that never surfaced dropped from 289 to 36
nothing appears on more than 20 pages anymore
I can also pin suggestions from the frontmatter now, where scoring fills whatever slots are left.
related:- /blog/some-post/
- /raw/some-note/
It all runs once at build time instead of per page, so the build did not get any slower. I had reorganized this block once before, and this time it is the matching underneath that got fixed.
I just got to know that Ahrefs has a free API that returns DR (Domain Rating) for domains, and it's completely free to use. You do require a free API key and requests do not consume any API units.
I tested it for deepakness.com with a free API key, and DR comes out to be 46, as you see in the response below.
Unauthenticated calls still work today but return a deprecation warning as they now return 401 unless you send the free key. If you use the data, Ahrefs requires attribution as "Domain Rating by Ahrefs" with a link to ahrefs.com, under their Domain Rating License program.
I liked this because this can be used for analyzing domains in bulk and then there can be other interesting usage as well.
From the new v0.84.0 update, the Pi coding agent has now started supporting Mermaid diagrams natively. The agent can now show a preview of the diagram directly inside the terminal you're using, as you see below.
It's turned on by default when you update to the new 0.84.0 version by running the pi update --all command. It's set to streaming as you see below, but you can turn it off or change it to final as well, and you can learn about it more from the docs.
I think, this is a nice addition to the agent as it helps users visualize complex ideas in a better way. If you see the first diagram above, that is basically the entire architecture of deepakness.com.
Apart from this, loved the new fullscreen TUI mode that you can turn on from the settings. It keeps the text-box pinned at the bottom when you scroll, it's very useful.
I removed webmentions from this site entirely today.
How the setup worked (receiving via webmention.io + Bridgy, sending via webmention.app, Eleventy fetch at build time, UI under posts) is already written up in an earlier post.
I removed them because they were not adding much value, and the UI below posts felt messy. Email and Mastodon CTAs already cover how to reply, and the webmention block mostly cluttered the bottom of posts without making the site better to use.
What still shows under posts and notes is Comment via Email, and Comment on Mastodon when a post has a status URL.
By the way, I am not against the webmention protocol. But just clean slate for now; the implementation post is enough if I ever rebuild it.
Recently, a new model called Parakeet Unified EN 0.6B appeared in the Handy app. When I wrote about finding the best local speech-to-text app, I was using Parakeet v3, which was already great. But this new Unified EN 0.6B model is on another level.
It is significantly faster and much more accurate than the earlier models. The latency drop is immediately noticeable, and words appear almost instantly as you speak, with virtually zero delay. I am running it on an M2 MacBook Air with 16 GB RAM, and it works flawlessly without slowing down the system.
Punctuation, capitalization, and technical terms are also handled much better.
After trying the Kero terminal for a few days, I came back to cmux and audited how it handles configurations and themes so I can quickly restore everything if I ever reinstall or move to a new Mac.
Because cmux uses Ghostty as its underlying terminal rendering engine, terminal styling is separate from cmux app settings, and here's how it looks on my computer.
1. Terminal visual theme & fonts live inside the Ghostty config file:
This is also symlinked to ~/.config/ghostty/config. It uses the built-in GitHub Dark Default theme, Fira Code ligatures (+calt, +zero, +ss01), font thickening, a 50,000-line scrollback buffer, and clipboard auto-copy on select.
2. cmux app settings & shortcuts live in the main cmux config file:
Here is the exact config.ghostty content for the terminal theme and font:
# Theme (GitHub Dark Default, built into Ghostty)theme=GitHub Dark Defaultfont-family="Fira Code"font-size=14font-feature=+caltfont-feature=+zerofont-feature=+ss01font-thicken=true# Scrollbackscrollback-limit=50000# Windowwindow-padding-x=20window-padding-y=12window-padding-balance=truewindow-inherit-working-directory=true# Cursorcursor-style=barcursor-style-blink=false# Mouse & Clipboardmouse-hide-while-typing=truecopy-on-select=clipboard
For quick CLI interaction, I added these productivity aliases to ~/.zshrc:
alias cm-diff="cmux diff --source unstaged"
alias cm-diff-staged="cmux diff --source staged"
alias cm-md="cmux markdown"
alias cm-browser="cmux browser open"
alias cm-jump="cmux jump-to-unread"
alias cm-status="cmux list-status"
Also, cmux automatically creates timestamped backups of cmux.json inside ~/.config/cmux/ whenever settings are saved (like cmux.json.bak.20260722T055253).
If I ever reinstall cmux or move to a new Mac, I just need to recreate the folders and restore those files:
Because these files sit in standard macOS user directories rather than inside the .app bundle, simply uninstalling cmux.app leaves all themes, sessions, and shortcuts completely safe and intact.
If you use the Antigravity CLI via agy, you might notice an "AI: Out of credits" warning in the status bar footer.
Toggling "Use AI Credits" off via /config inside the CLI fixes it temporarily, but every time you exit and reopen agy, it automatically turns back on and the error message shows up again.
This happens because changing the setting in the CLI UI only updates the active session, while the persistent global config file keeps "useAiCredits": true.
To turn it off permanently:
Open ~/.gemini/config/config.json in your text editor.
Locate "useAiCredits" under userSettings and change it to false, something like this:
{"userSettings":{"useAiCredits":false}}
(Optional) You can also open ~/.gemini/antigravity-cli/settings.json and add "useAiCredits": false there.
Save the file and restart agy and the warning won't appear in the footer anymore.
On and off, I have been using Claude Code for several months, and in all that time I never ran any model below Extra High effort. It always felt like if I use with lower effort, the model will mess up with my existing code. Even when Opus 5 launched, I kept it at Max without thinking twice.
For the last few days, I've been running Opus 5 at Low instead, and I'm loving it so far. It's faster, and it consumes noticeably fewer tokens. I'm working on a huge project right now, so not running out of limits halfway through the day matters a lot more to me than squeezing out the last bit of reasoning.
Claude Code is the tool I use almost entirely for frontend and design work, and that's where this holds up best. For UI design work, the difference between the higher efforts and Low is negligible – I can't really tell which one wrote the component. Higher effort now feels like overkill for most of what I do day to day.
So my default has flipped. I start at Low and only bump the effort, to Medium or High but almost never to Extra High or Max up when a task actually asks for it, like a tricky bug or a change spanning a lot of files.
SharePDF has now crossed 400 users and tens of new users are signing up every week. The rate varies as per different weeks of the month, but it's growing consistently.
The MRR is currently at $37.33 and I am very happy with the progress.
While n8n worked, it relied on polling RSS feeds after Netlify finished deploying, and didn't give me fine-grained control over which social platforms a specific post should go to.
So I replaced the n8n setup with a small Node.js script scripts/sync-typefully.js built directly into my existing pnpm blog:push and pnpm raw:push workflow commands.
Here's how it works:
Whenever I publish a post, git commits and pushes the code to GitHub first.
The script polls the live post URL on deepakness.com until Netlify returns a 200 OK status. This ensures no broken 404 links on social media.
Mastodon and Bluesky are enabled by default so I don't have to specify them.
If I want to send the draft to extra channels like Threads, X, or LinkedIn, I can pass a flag like pnpm raw:push --platforms=threads,x.
Once live, it calls the Typefully API to schedule the draft for the next free slot.
And the output in the terminal is shown like this:
[Typefully Sync] Found target file: content/raw/typefully-local-sync/index.md
[Typefully Sync] Configured platforms: mastodon, bluesky
[Typefully Sync] Waiting for Netlify deploy... Polling https://deepakness.com/raw/typefully-local-sync/
[Typefully Sync] ✓ Live page confirmed!(HTTP 200 OK after 42s)[Typefully Sync] Sending draft to Typefully API...
[Typefully Sync] 🎉 Draft successfully scheduled in Typefully!
Draft ID: 10183778
Draft Title: "Replacing n8n with a local script for Typefully drafts"
Platforms: mastodon, bluesky
Schedule: next-free-slot
Now there are no external n8n workflows to maintain, zero broken link issues, and full control over social distribution directly from the terminal.
Absolutely love it.
Update: August 05, 2026
I updated scripts/sync-typefully.js to automatically schedule drafts for 15 minutes in the future by default (calculated right after Netlify deployment finishes), instead of pushing to next-free-slot.
I can also customize the delay directly from the command line using the --in flag:
pnpm raw:push --in=5 – Schedules 5 minutes from now.
pnpm blog:push --in 20 – Schedules 20 minutes from now.
pnpm raw:push --now – Publishes immediately.
pnpm raw:push --next-free-slot – Keeps the queue slot behavior.
I just discovered this new terminal app called kero.sh that basically removes the need of opening an IDE like VS Code or so when vibe coding. It was recommended to me on X, and I tried and liked it immediately.
I mainly use the cmux app that works great, but the inbuilt files and git extension in Kero caught my attention. I miss a few things in the Kero terminal though, like the ability to drag terminal tabs to the left, right, bottom, or top sides as possible in cmux. But I can still use cmd + t or cmd + d in Kero and that is enough.
Another thing I didn't like about Kero is, cmd + + or - didn't work for zoom in or out, as I can do in basically any other terminal. You can only adjust the font size from settings, if you want bigger or smaller text.
Currently, I'm mainly using cmux but testing and trying Kero with my workflow as well. And if I like it after a few days, I'll migrate everything to using Kero.
Let's see.
Update:
Another major thing I didn't like about Kero is that it doesn't persist AI agent sessions (like Pi agent or OMP agent) when the app is restarted. In cmux, if I'm working with Pi or OMP agent and close and reopen the app, all those sessions automatically stay open and I can just continue typing new prompts right away. That doesn't happen in Kero.
So after using it for 3-4 days, I'm back to using cmux.
I have been using Typefully for, I think, more than 2 years now. And I was super glad to learn that it has now started supporting directly publishing posts to Substack as well. I immediately created an account on Substack, and connected it to Typefully to send my first post, as you see below.
After this, I think, Typefully is the best social media management and automation tool out there. I haven't come across another such SaaS that is such a delight to use and actually listens to their users.
I use Hetzner VPS a lot for many of my projects and currently have 5 different servers via them. And after Hetzner hiked their prices, they still let existing users retain their old prices, at least, for now. On the new price, I would be paying €95.95/mo but on old price I'm only paying €45.95, saving €50 each month.
As in the screenshot, I have these VPS currently locked on the old price.
Came across a short talk by Ross Simmonds on how brands should show up on Reddit, and I liked it. He recommends three types of accounts brands should have:
1. Brand subreddit –r/yourbrand
Create this last week if you haven't already. If someone else claims it and owns it, you lose complete control. And if the subreddit already exists, slide into the mod's DMs and ask if they'd be okay with you becoming a co-mod.
2. Brand user account – u/yourbrand
This is the official brand voice. Use it only when people are saying nice things. Don't get into fights with this account.
3. Personified human account
A real person representing the brand in the subreddits where your community already exists. This one shows up when people are complaining, have problems, or are asking questions adjacent to what you sell.
Google Search Console has received one of the biggest updates in years as it now supports adding social profiles like Instagram, TikTok, X, and YouTube. It will show which of your contents are performing good, and how many clicks they're getting from Google.
I just added and verified my X (Twitter) profile where I had to log in and give GSC access to my X profile. It requested access to details like profile picture, username, followers count, etc. as you see in the screenshot here.
It will take up to 48 hours for the data to appear. And it will be interesting to see those data about my X posts.
Cursor AI has launched a new pricing plan exclusive to India, it's called Start and costs ₹649 per month. It sits between the Free and Pro plan, and I'm sure the limits are accordingly adjusted.
I think, it's a good plan for casual coders or beginners. They can use Composer 2.5 model for everything and if more intelligence is required, Grok 4.5 can also be used.
I was subscribed to Cursor's Pro+ plan and used Grok 4.5 via there, and absolutely loved the model. It's fast and intelligent. And now that my Cursor subscription has ended, I was suggested to use Grok Build via SuperGrok as there was a great ongoing offer.
I checked and discovered that there is a pay for 1-month and get 2 months extra for free offer going on via Grok Android app. So I immediately subscribed to it and now using it via Grok Build.
So far so good, and will share my experience in the next few days.
I spent some time reorganizing the footer on this site. Nothing fancy, just making it easier to scan after it had slowly turned into a long flat list of links over time.
Earlier the footer menu was basically one row of everything – all with the same weight. It worked, but nothing felt primary. So I split it into two rows: the main links up top and the rest slightly smaller and quieter below.
The stats line got a small polish too. Numbers are a bit heavier now so they stand out, separators are simple center dots, and GitHub contributions stay on the second line. I had written about showing stats in the footer earlier, so this is more of a layout cleanup than a new feature.
Before:
After:
While I was at it, I also cleaned up a few nearby things: “Building now” on the homepage, a single Related block on posts and notes (tag matches plus the AI stack link when it fits), and a small latest writings list on the Now page. Also switched most page headings to sentence case so they feel more consistent, except on individual posts and notes.
I have a wifi connection from Airtel Fiber at my place and it's quite good, until I experienced a 2-3 hours downtime last week. And where I live, there's no strong cellular signal as well, so I'm completely dependent on the wifi for internet and calls.
To prevent this from happening again, I'm thinking of getting another wifi connection, likely from Jio Fiber. It should not be very high speed and even 30 Mbps would work as it's just for backup, as my main connection is good for me at 200 Mbps.
I'm almost sure about this and will be getting this installed next week.
Today, my Cursor AI subscription is expiring (yet to decide whether I will renew or not) and I was surprised when I checked my usage in the last 30 days. I used $934.38 worth of tokens across different models on my Cursor Pro+ ($60/mo) plan, as you see in the screenshot here.
That's 15x!
I used more than 2.9 billion tokens across different models, and most used were Cursor Grok 4.5 and Composer 2.5 models. While I could have managed and done better for the API models, I am still very happy with everything.
Apart from this, here's a screenshot from my Cursor profile that shows some more data points.
Currently, I have auto-renew turned off and have yet to decide whether I would want to renew the subscription or not. I am currently also subscribed to Claude $100 plan, and can also use Grok Build via my X Premium subscription.
I think, for now, Cursor Pro for $20/mo would be enough for me.
Apart from this, I remembered one more thing that even after I finished 100% in both Cursor Models and Other Models pools, the Auto mode kept working. I used another ~90 million tokens in the last 2-3 days of my subscription.