Skip to main content
Photo of DeepakNess DeepakNess

Raw Notes (93)

Plaintext raw notes containing useful resources, incomplete thoughts, ideas, and learnings as I go about my day. You can subscribe to the RSS feed to stay updated.


Notion Mail is publicly available now

To give you some context, Notion has launched an AI-powered email client where you can connect your personal or workspace Gmail account (currently only Gmail). Earlier, this was in beta but now it's publicly available and you can start using it.

Some of the interesting features of the app are:

  • automatic organization of emails into suitable labels
  • AI-powered reply drafting
  • minimal and cleaner interface, just like Notion
  • available offline, much like the official Apple Mail client

Currently, it's only available for the macOS and iOS as well as Android app is planned to be launched soon, some time in 2025 itself.

On the website, there's not very clear mention of the pricing as it just says "it's free to get started". But I was going through this Reddit discussion and got to know that if you have a Notion AI subscription already, Notion Mail doesn't cost extra. But the free version of Notion Mail is usable as well, with limited features.

I am yet to try this myself.


Varun Mayya is building the next big game

It's so nice to see Varun Mayya building the next big completely homegrown game while competing with international AAA games. It's so early to predict the success of the game, but I truly applaud the courage and dedication he and the team is putting in. I watched the intro video of the game and it's so good.

One thing I am particularly struck by the fact is their approach to create all the required 3D assets. They went out in the real world to scan real locations, buildings, streets, cloths, etc. and cleaned them to make the perfect 3D model. Varun claimed that they now have one of the largest 3D library of objects used in video games worldwide.

Again, I wish all the best to the team and really excited for the game.


Gemini 2.5 Pro Deep Research is better

For the past few days, I have been heavily experimenting with the Gemini 2.5 Pro and Perplexity Pro Deep Research tools, and my conclusion is that Gemini's Deep Research is far better than that of Perplexity or even OpenAI and Grok.

For example, I asked Perplexity to give me a list of events from the Indian History with proper reference URLs and most of the events happen to be correct but reference URLs are wrong, broken, and non-existent most of the time. On the other hand, Gemini's research is solid and all the reference URLs are perfectly working as well.

And this is just one example, in almost every cases, Gemini 2.5 Pro Deep Research was far better than any other Deep Research tools available as of now.


Creating a timeline using the new GPT-4.1 model

OpenAI just released a new GPT-4.1 model which is said to be the "Flagship GPT model for complex tasks", but it doesn't pass my timeline creation test. Yes, I asked the new model to create a responsive timeline of events using HTML and CSS, and it didn't work. I have also recorded a video for the same that you can watch in this tweet.

Actually, I propose this as the new coding test for new models that get launched. I think, creating the timeline isn't a very complex task but all the LLMs are still very bad at this.

And the funny part is, even if you keep providing screenshot of how the timeline is not responsive, they still can't fix it.


Opening external links in new tabs

While I am not a huge fan of opening external links in new tabs, my friend Rohit suggested adding this feature, and it does make sense. And thanks to Sardine for making a simple tool for 11ty (which my blog is built using).

I used Sardine's @sardine/eleventy-plugin-external-links package which adds target="_blank" as well as rel="noreferrer" to all the external links.

To install, I ran the below command:

npm install --save-dev @sardine/eleventy-plugin-external-links

And then I had to add this in the 11ty config file:

const safeLinks = require('@sardine/eleventy-plugin-external-links');

module.exports = function (eleventyConfig) {
  eleventyConfig.addPlugin(safeLinks);
};

I think, it checks when links are not relative and then does the magic because I added an internal link using the full URL and it was opening that in the new tab. Also, I wish I could customize it a bit and also add rel="noopener" to all external links to make it even safer. But that's not a big issue and I'm good so far.


Suggestions on backing up to Hetzner

For the past few months, I have been backing up my computer folders to a Hetzner Storage Box via rsync. When I shared about it on X, I received a really good suggestion which I hadn't thought about it earlier.

Another handy addition to make it a bit like timemachine

If you add in /$(date +%F)/ to the remote side of the rsync command, you're backups will be in daily folders like /2025-04-11/ so you can roll back to a specific day if you ever need too

You can then add a script on the remote box to delete folders after a certain amount of time to save space.

Shane replied to the post with above suggestions where I can automate the daily backups into different folders by date. The old ones can also be deleted after a certain date via a CRON job.

Simple, yet really useful suggestion.


PostgreSQL vs MySQL

A controversial post about PostgreSQL being 360 times faster than MySQL from a X user.

PostgreSQL finally finished the test. In this case, MySQL was 360 times faster. The chart below shows the bottleneck in PostgreSQL — experienced people will recognize the issue at a glance. No wonder it’s rarely used in Chinese internet companies.

@wangbin579

But I didn't understand the mention of Chinese internet companies in the context. Do no companies in China use the PostgreSQL database?


Dario Amodei on future of AI

Came across this great blog post titled Machines of Loving Grace by the CEO of Anthropic Dario Amodei. He makes great points for how the upside of the future of AI is going to be great.

I think that most people are underestimating just how radical the upside of AI could be, just as I think most people are underestimating how bad the risks could be.

Although I think most people underestimate the upside of powerful AI, the small community of people who do discuss radical AI futures often does so in an excessively “sci-fi” tone (featuring e.g. uploaded minds, space exploration, or general cyberpunk vibes). I think this causes people to take the claims less seriously, and to imbue them with a sort of unreality.

The five categories I am most excited about are:

  1. Biology and physical health
  2. Neuroscience and mental health
  3. Economic development and poverty
  4. Peace and governance
  5. Work and meaning

And then he goes on to discussing each of these area in super detail. I read through the post, and have a whole new perspective about the future of AI.


New prompt engineering guide by Google

Google has published the updated version of their prompt engineering PDF discussing several prompting techniques and best practices. I have gone through the first 25% of the ebook, and there are definitely some good techniques in here.

The best thing is, the prompting techniques explained in the PDF are not just limited to Google's Gemini but will apply to other LLMs as well.


Showing full content on the raw archive page

Since my raw notes section contains very short notes, at least most of the time, I have started showing the full content on the notes archive page itself. All notes have a separate page as well, but I think, entire content on the archive page itself makes much more sense for byte-sized notes.

I really liked Simon's feed and that was the main inspiration to implement this.


About cloud costs

Came across this interesting post talking about the cloud.

To give you an idea of how expensive cloud has gotten, I picked up a server off FB marketplace today for $500. 128Gb of RAM and a 1Tb SSD.

It will cost about $6/month in electricity to run it.

An equivalent server in AWS would cost $950/mo. so I'll have payback in two weeks.

I'm going to buy a GPU for $600, and the cost of that in AWS would be about $350/mo.

I think if someone created a distributed garage hosting network it would kill it.

Greg Mushen


Trying Django

I do have some basic knowledge about Python and I am thinking of trying the Django framework to build a web app for searching and filtering abandoned Chrome extensions for ideas. I am already scraping 1000s of such Chrome extensions and it would be a fun project to learn everything.

As of now, I am not very sure about the complexity that Django has, but I am willing to try it. I will be storing all the extensions data in a sqlite3 database, and can host the app on a Hetzner VPS.


Gemini 2.5 Pro in cursor is amazing

Was trying to design a Supabase database schema based on the requirements I gave the Gemini 2.5 Pro model in Cursor and it just quickly got started by saying this:

Okay, let's design the Supabase database schema based on your requirements. We'll need three main tables: profiles, timelines, and events.

1. Database Schema (SQL) Here's the SQL to create the tables, define relationships, and set appropriate constraints:

And when I ran the provided SQL queries in Supabase SQL Editor, I saw no errors. But other models like Claude 3.7 or 3.5 are not this sleek. First, they provide a lot of commentary and second, most of the time SQL query show errors on the first run. So... Google, I'm impressed. Again.


Finding manifest versions of Chrome extensions

I scraped a list of more than 64,000 Chrome extensions and wanted to find their manifest_version, but this isn't mentioned anywhere on the Chrome Webstore public page anywhere. But after spending hours, I finally found a way to know the exact manifest version of each extension, automatically.

First, I am downloading the CRX file of each extension through an automated way, extracting the CRX file to find the manifest.json file, and then reading the JSON file to get the manifest_version (whether it's 2 or 3).

I think, there's a huge opportunity of building much required Chrome Extensions where they have not been updated to the latest manifest v3 and have stopped working. One can find such an extension with 1000s of downloads/reviews/ratings, and build an alternative one.


The idea of second brain is useless

I think, this idea of having a second brain is utter useless and it doesn't help anyone in any way. It sure feels nice when you're just loading all the information in Notion, Obsidian, or other tools that are suitable for it. But this is just a kind of productivity porn that I was once addicted to – and I had a serious addiction towards it. I am writing about this because I came across this tweet when scrolling today, and it reminded me how I also ditched this second brain thing a few years ago and have only been better since then.

And the reason why it doesn't work is, you spend a lot of time "preparing" your second brain for what information you might need in the future then actually working on something productive. Whenever you see an interesting piece of information, instead of going through it and learning it right away, you start saving it in your second brain for when you might need this in the future. Whenever I found a good article, instead of reading it right away, I would save it and then forget about it. But this is just the part of the problem – the bigger issue is you don't just save things that are useful as of now, but your mind also hallucinating about what information you might need in the future.

But yes, someone who is actually writing all the information in the second brain as they learn, and not using some kind of clipper to save random articles and links from the internet – for them it might actually be useful. Out of 100s of videos I watched back then about the second brain, only a few's second brain were actually helpful for themselves, now that I think about it.


We keep wanting more

Sometimes, it feels that AI tools like ChatGPT or Cursor have become dumber over the last few months but the reality is: they have not, and only our perspective have changed. We have started having more expectations from these tools, as we use them.

The slow and gradual update in something is not appreciated enough.

It wasn't even possible to write code using AI only a few years ago, in fact, even AI tools like ChatGPT weren't also available only a few years ago. Now, we are able to do a lot of things using AI but... it's not enough, actually, it will never be enough because that's how we are.

I came across this tweet and it's correctly explained how it's all about "perspective". With time, our perspective changes.

Another example comes in mind:

It wasn't possible to do video calls using smartphones only a decade and a half ago, and that the changes from keypad phones to modern day smartphones were "gradual" – it's not appreciated enough.

But yes, it is how it is.


Trying more things

I think, trying more and more new things places you in front of a lot of possible opportunities that you wouldn't have believed otherwise. Most of my projects are results of some silly projects that I did in a weekend.

Lately, my goal has been to learn a lot, a lot of different things by trying different things and keep iterating and keep doubling down on things that show some potential for growth.

Everything in the world is coincidence or rather luck, and if you try more things, your chances of becoming lucky increases.

Yes, this is what I believe in.


Which browser then

Came across this post which suggests to not use the Brave browser, which I am currently using (I was using Chrome earlier). All the points it suggests are true, but the question is – what do I use then? It's a shame that we don't even have a decent web browser on the internet?

  • Google Chrome - tracking, privacy risk, consumes a lot of resources
  • Brave - keeps pushing ads, AI, and crypto stuff
  • Firefox - not good anymore
  • Safari - not user friendly, but most of all not ideal for web development (which I need)
  • Edge - too clunky, has too many options
  • Zen - very new, have experienced some bugs

Have tried them all.

Should I really just keep trying all the browsers – Opera, Vivaldi, DuckDuckGo, etc. are still left to install and try for me. Have tried DuckDuckGo on my phone, but not on the desktop.

But the problem here is, it's not only about the performance or the UI. It's also about the concerned security issues, and I am no expert to know all those things of how a browser is working behind the scenes – I have to rely on people for this. And opinions changes, because once everyone said is a good browser is now the worst, right?

For now, I am going to stick with Brave... and will be open to trying new recommendations as I discover.


Vibe coders are developers

One thing I am noticing these days that all the successful vibe coders are developers, or at least, they understand the basics of programming. They just keep downplaying it by saying that they don't know how to code but still able to build successful apps.

Why?

Because it gives them more attention as people are more attracted towards something which requires less effort but does more impact.


AI is power

I think, AI is going to speed up the innovation and it's going to bring more good to the world than more harm.

Think of AI as a tool, just a tool. For example, how inventions of "tools" like wheels or iron or other groundbreaking things completely changed the course of the then-future. Similarly, AI is a tool which is enabling people to do more people's work and that's indeed a great thing.

Yes, it's going to take some people's jobs but at the same time it's enabling people, who use AI, to work more, or rather, do more work with less efforts in less time. No?

What say?


Using AI + reading docs

Yes, vibe coding is really cool as it should be. But have you ever tried going a bit slow and also reading the docs and understanding what AI is writing? It's so satisfying, to be honest.

I was trying to implement auth to a Next.js project and Claude 3.7 Sonnet was really struggling with that. However, Google's Gemini 2.5 Pro did successfully implemented it and I was so happy. But I decided to re-do the authentication, but I was also going through the generated code this time; I was surprised that how easy the auth implementation was as compared to earlier when I was just asking AI to fix the issues again and again. If I had just followed the docs, it would have taken me a lot less time and I would have also felt more confident vibe coding.

Sometimes, it does feel that I don't need to read the code and let's just get it over with. But I am trying my best to, at least, just have a casual look at the code that AI is generating.

What say?


Art evolves

Like everything else, art evolves.

I keep seeing people not accepting the images or rather visuals that AI produces, and I get it because acceptance takes time.

But... if you think, were the current popular form of arts always like this? No, back then people did different things and now people are interested in different form of arts. And the transition phase is difficult, no doubts.

For example, initially, they draw on stones or leaves and then would they have easily accepted when someone first invented paper and starting drawing on the paper? No, absolutely not. But eventually, everyone moved to paper, right?

Similarly, people nowadays are making Ghibli arts using AI and then some people are calling it bad. I understand that, but eventually, this will be widely accepted and no one will say a thing.

This is how it works.


Git branching fundamentals

Viewing Branches

git branch                  # List local branches
git branch -a               # List all branches (local and remote)

Creating Branches

git branch <branch-name>    # Create a new branch (stays on current branch)
git checkout -b <branch-name>  # Create and switch to new branch in one command

Switching Branches

git checkout <branch-name>  # Switch to an existing branch

Merging Branches

git checkout main           # Switch to the target branch
git merge <branch-name>     # Merge specified branch into current branch

Deleting Branches

git branch -d <branch-name> # Delete a branch (safe - won't delete unmerged)
git branch -D <branch-name> # Force delete a branch (even if unmerged)

Remote Branch Operations

git push origin <branch-name>  # Push branch to remote
git pull origin <branch-name>  # Pull remote branch

AI coding is hard

Yes, coding using AI is harder than you imagine, especially when you try building complex apps.

For example, I tried building a web app using AI and it perfectly did everything I asked, but only at a point; after that it started hallucinating and the changes were not very good. And, in fact, I tried all major AI coding apps available in the market.

Here's what I think about AI coding tools:

  • Lovable.dev: bad
  • Bolt.new: good for simple projects
  • v0.dev: really good, but highly opinionated
  • cursor.com: the best (but sucks in UI)

Yes, I have tried only these as of now.