skip to content
Site header image Nerdy Momo Cat

Stream

  • Link Previews in Chrome using MaxFocus

    Those cool link popups in Arc can now be yours, in Chrome.
    MaxFocus is a new-ish extension focussing on creating link previews on any link you hover on. It works on apps that do not allow for iframe embeds (like Notion), and hence is different than the majority extensions out there. You really do not need the PRO option with this one, unless you really want AI summaries of the page, but I can usually skim the page faster than the AI can generate a good summary of. The looks and feel are customizable and you can make it look just like Arc, which is a feature that I always missed when I switched back to Chrome.

    The features setting is a bit messy, but this quick guide should probably help.
    Screenshot of MaxFocus Link Preview settings with options for interaction preferences, activation triggers, advanced protection, performance, popup behavior, AI settings, appearance, and disabling on specific websites.
    And this is how the popup looks like
    Screenshot of a MaxFocus popup displaying an article. Annotations highlight features: share option, open in new tab, change ratio, maximize, close, pin popup, reader mode, AI tools, zoom, and settings.
    Something you might find frustrating is, you cannot access right click menu inside this popup. When I open articles like these, I often want to save them to reader. But because clicking on the top link opens it in a new tab, and I cannot access right click to use the Save to Reader option, I often end up needing to copy link address and then saving it in Reader. I wish the share option copied or provided MacOS or custom share menu than the QR code it has at the moment.
    Sidenote Jun 17, 2024: Chrome is testing native Link Previews too, and it would be fun to see what they entail
    Chrome Flags entry for "Link Preview." Description: Enables previewing a linked page in a small window before navigating. Triggered by context menu or user actions. May be unstable on some platforms. Options: Default.


  • My favorite “find a time” app

    So, like everyone else, I have too wandered down the roads of using doodle, when2meet, zcal and all other 800 alternatives to the problem. Until 5 months back that is, when I found, schej.it; and trust me, it is the best app ever (in my opinion) for finding a time to meet. Allows you to overlay your google calendar, restrict participant visibility, send google calendar invite based on the decided time, everything you can think of.

  • Want to Unlike All Liked Pages on Facebook?

    I have been wanting to unlike all pages on Facebook that I liked as a teen in 2010. Because I stopped using Facebook pretty early (around 2014) — I thought unliking all of them made perfect sense. I did find some extensions to do so, that are now defunct; and 2 console tricks, that no longer work because Facebook keeps changing it layouts.
    That is, until I landed on this comment on a gist.
    Long story short; log into Facebook, open this link, install TamperMonkey if you don’t have it, paste and save the code below as user script, refresh that page and let it run. This uses the activity log to unlike pages, so when you go to your likes; there might still be brands that you ned to go to pages of and unlike and unfollow manually. The reload built into the script is required because after a few iterations, Facebook stops loading your earlier activity unless you refresh the page.
    // ==UserScript==
    // @name         Facebook Auto Unlike
    // @namespace    http://tampermonkey.net/
    // @version      2024-04-24
    // @description  Automatically unlikes posts on Facebook
    // @author       You
    // @match        https://www.facebook.com/usrID/allactivity?activity_history=false&category_key=LIKEDINTERESTS&manage_mode=false&should_load_landing_page=false
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=facebook.com
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        function runAutomation() {
            setTimeout(() => {
                const options = [].slice.call(document.querySelectorAll('[aria-label="Action options"]'));
                options.forEach(option => option.click());
    
                setTimeout(() => {
                    const menuItems = [].slice.call(document.querySelectorAll('[role="menuitem"]'));
                    const unlikeItems = menuItems.filter(item => item.innerText.includes('Unlike'));
                    unlikeItems.forEach(item => item.click());
    
                    setTimeout(() => {
                        location.reload();
                    }, 3000); // 10 seconds after clicking unlike
    
                }, 3000); // 5 seconds after clicking action options
    
            }, 3000); // Start 5 seconds after page load
        }
    
        // Run the automation function when the page loads
        window.addEventListener('load', runAutomation);
    })();
    


  • My Company Shifted to Linear and It's Meh?

    Seriously, why is it regarded as pinnacle of software engineering? Just because it's opinionated?
    I don't understand why people rave about Linear. Sure, it is a bit faster than Notion but then I have way less content in Linear. It also does not instant search for some reason? So the search results show up when you press enter and then you have to retype your query if it doesn't bring up what you wanted it to. The flat design is up my alley, but interactions are heavily keyboard based and require reading documentation — example how do you move an existing issue as a subtask of another issue? You then use Cmd+K to type Mark Issue As which isn't obvious at all? You can't drag issues into one another for some reason? You can't assign project just by typing like Todoist. 🤷🏽‍♀️ Am I missing something here?

  • Sync Mutes and Blocks

    I finally synced the block list and muted word list between my main and alt accounts on twitter, and I feel so relieved 😅. You might be wondering how I did it?
    At the moment, it's a completely non-automated process because API costs money. I downloaded the archived data through X, extracted the block list and mute list from block.js and mute.js using GPT4 code analysis, and then copied and pasted the curl commands into a for loop for all the darn accounts with userid as a variable. I even took a scrolling screenshot of muted words, converted it into a list using GPT4-V, and muted those through a bash script with cookie tokens.
    You can sense my desperation from this. I was tired of seeing the same nonsense across multiple accounts for over a year, and I just had to do something about it.
    Mar 3, 2024, 08:52 PM: I got tired of trying to find userids from usernames for new blocks, because of course I wasn’t going to download the archive every time. There are websites you can do it from, but I wanted an option to not leave the website, and hence this comment from github helped. Paste it into console and voila.
    id = JSON.parse(
    document.evaluate(
        '//script[@type="application/ld+json"]', 
        document.lastChild, 
        null,
        XPathResult.ANY_TYPE, null).iterateNext().textContent
    ).author.identifier;
    Someday, I will use these libraries but today is not that day

  • This is a Shottr Appreciation Post

    Just a tiny Shottr appreciation post, for everything it has. When I started using Shottr, I didn’t have Cleanshot X. The only reason I got Cleanshot X was because (a) it had a deal on AppSumo; and; (b) I can record videos with my face in them easily.
    But for everything screenshot related (and now you can paste in multiple screenshots too!); you should definitely use Shottr.


  • Discovered Clop

    I recently discovered this app called Clop. And man, it is so good. I often take these 3MB full screen screenshots and directly paste them into Notion (including on these pages rendered as a website), and Clop basically auto-optimizes any images on clipboard, whether shot directly, or if you use ⌘+C in your finder on an image file.
    The free version works for all images (though doesn’t have an option to auto-convert to webp, I so wish it did!). The paid version (or with limits on the free version) can also work with videos and pdfs, though, I haven’t tested that part much.

  • I Tried Many Canvas Apps For Paper Reading

    I have been wanting to explore paper reading apps that work on a spatial canvas like structure. I do want them to work with Apple Pencil because I feel the most comfortable writing with papers, so heptabase is not on the list. I am not looking for paper annotation apps like Highlights, more for excerpting regions of paper into a canvas I can drag those “components” around in. The main thing I am looking for that isn’t a usual part of most canvas apps like tldraw or concepts, is the ability to locate the “snippet” or excerpt back in the pdf.
    The main app that does this is Muse, but (a) it is an expensive (fairly priced subscription) for just paper reading, and (b) I would pay that much if you could share the boards on web, but you need the Muse app, unfortunately.
    So, I tried other apps, and I am going to try BoardNotes for a bit, because that kinda checks the boxes of snippets, canvas, Apple Pencil, and pdf locator. GUGA on the other hand is collaborative, has snippets, has a great canvas, works well with Apple Pencil, but does not have pdf locator unless the specific pdf is already open. Neither of them have a macOS app like Muse does, or have publicly shareable boards, but they both are pretty cheap, a one-time purchase. Kosmik 2.0 seems to have public universes as a thing even for free plans, and there is an extract option, that doesn’t remember pdf location, but remembers the pdf the extraction came from. Or maybe I should stop trying to find something and just use Muse or Liquid Text (though I am unsure how it compares with MarginNote).
    Some apps that I tested
    You can open multiple “pages” in XNote
    And you can create excerpts for ONE pdf in XNote, but not multiple ones that can be combined onto a board
    Board Notes on the other hand works with multiple pdfs on the page and has pdf locator option even when pdf is not specifically opened.
    Interface of liquid text is a bit dated, but it works across multiple devices (especially, it works on mac), you can create connections, ink stuff, but it is a paid app, and I am unsure if it is any better than Muse then.

    BigPaper on the other hand imports pdf as a series of images that you can draw on etc, but it is not the snippets structure that I was looking for

    Highlights might be good for pdf data labeling, because it has an option to extract just the “annotated” content but it is not what I am looking for
    For GUGA though, you need to have the pdf open in side view before the locator option works
    Kosmik has a web app and a mac app, it doesn’t work really well on the ipad but that is fine, I think? It does have public universes though releasing in Feb 24, so maybe it is worth a shot?


  • Use Notion’s Property Description As Text → DB add-itor

    Val town script here (which you can import as a module if you want!)
    Demo using the template Money Database
    A video demonstrating the use of function - with an http endpoint

    And the outcome of the demo video above. Shows 3 entries, 2 of type debit, 1 of credit, across various inferred categories etc.

    • Uses instructor and open ai (with gpt-4-turbo) to process any content into a notion database entry.
    • Use addToNotion with any database id and content.
    await addToNotion(
      "DB_ID_GOES_HERE",
      "CONTENT_GOES HERE"//"for example: $43.28 ordered malai kofta and kadhi (doordash) [me and mom] jan 3 2024"
    );
    Prompts are created based on your database name, database description, property name, property type, property description, and if applicable, property options (and their descriptions).
    Supports: checkbox, date, multi_select, number, rich_text, select, status, title, url, email. Filters properties where either type is title or description starts with ✨.
    • Uses NOTION_API_KEY, OPENAI_API_KEY stored in env variables and uses Valtown blob storage to store information about the database.
    • Use get_notion_db_info to use the stored blob if exists or create one, use get_and_save_notion_db_info to create a new blob (and replace an existing one if exists).

  • My Problem with Productivity Social Media

    Productive doing something that is irrelevant to me
    These two comments on reddit exactly explain why I don't watch productivity content. Whether it be youtube or twitter or anything else — I do not want to be productive running courses, I do not want to be productive running a productivity business - but the content creation grind requires so much input — that sooner than later, that becomes your job, either the content itself, or the course itself, or the business teaching about productivity. And I do not fault creators for that. But, that isn’t me. And now it isn’t relatable. Ali Abdaal used to stand out for his content being productive at being/or learning to be a doctor, but that is no longer the case.
    That+sponsorships -- but the latter is not productivity sphere related.
    simosaurus says - Like most YouTube productivity creators, my main issue is that his videos are 99% of the time focused on how to optimise making YouTube content about productivity. I get that it's what he does for a living, but... YouTube/online video as a career is unique and the approaches to work often aren't very applicable to people that do literally anything else.
    Juicecalculator says - Yes I completely agree. Now that he is a productivity content creator I struggle to understand his mission. He’s productive, but productive doing what? He talks about wanting to be more fit, but he doesn’t seem to be very successful with it over the years and he still talks a lot about playing World of Warcraft. Congrats on writing the book I will probably do the audiobook when it releases