<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>productivity on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/productivity/</link>
    <description>Recent content in productivity on S Anand</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 18 Jun 2026 10:35:32 +0530</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/productivity/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI on flights</title>
      <link>https://www.s-anand.net/blog/ai-on-flights/</link>
      <pubDate>Thu, 18 Jun 2026 10:35:32 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/ai-on-flights/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-06-18-ai-on-flights.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;I &lt;strong&gt;love&lt;/strong&gt; that I get uninterrupted 4-16 hours on flights, which I mostly use to write future prompts and read past AI responses.&lt;/p&gt;
&lt;p&gt;I &lt;em&gt;do&lt;/em&gt; miss AI on flights. But after installing &lt;a href=&#34;https://github.com/google-ai-edge/gallery&#34;&gt;Google Edge Gallery&lt;/a&gt; with Gemma-4-E2B-it (2.5GB) that runs on my mobile, I&amp;rsquo;ve solved a few practical problems.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I took a picture of a dish they served and asked: &amp;ldquo;Is this vegetarian?&amp;rdquo; (It was.)&lt;/li&gt;
&lt;li&gt;I asked, &amp;ldquo;Comics have text in panels, often written at the top in a box. Not the speech bubbles. It&amp;rsquo;s like a narrator or voice over. What are they called?&amp;rdquo; (Caption boxes.)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Summarize The Unbearable Lightness of Being. Why is it famous?&amp;rdquo; (Thoughtful, well-written novel on the choice vs commitment tradeoff.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s not a very smart model. It&amp;rsquo;s a bit slow. Transcription is average. It doesn&amp;rsquo;t run in the background. Only one chat at a time. No internet search, etc.&lt;/p&gt;
&lt;p&gt;But it&amp;rsquo;s a good &lt;strong&gt;reference&lt;/strong&gt; to have. Almost a Wikipedia I can talk to.&lt;br&gt;
It&amp;rsquo;s a good &lt;strong&gt;ideator&lt;/strong&gt; to have. I can brainstorm. (Hallucination is a feature, not bug.)&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m sure I&amp;rsquo;ll find more uses.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Oh Shit moments with Gen AI</title>
      <link>https://www.s-anand.net/blog/oh-shit-moments-with-gen-ai/</link>
      <pubDate>Sun, 07 Jun 2026 20:13:01 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/oh-shit-moments-with-gen-ai/</guid>
      <description>&lt;p&gt;Hacker News has a lively thread asking &lt;a href=&#34;https://news.ycombinator.com/item?id=48406174&#34;&gt;What was your &amp;ldquo;oh shit&amp;rdquo; moment with GenAI?&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here are two dozen that gives a sense of what real people find impressive (or worrying) about AI capabilities.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Analysis&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48417647&#34;&gt;simonw&lt;/a&gt; used ChatGPT Code Interpreter to upload a CSV, analyze it, create charts, automating everything a software for journalists would do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analysis&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48419002&#34;&gt;Sobrino&lt;/a&gt; saw that a months-long OCR project to read and clean-up PDFs is now just a prompt on ChatGPT.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Coding&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48423405&#34;&gt;plumefar&lt;/a&gt; used Claude and Gemini to modernize 20-30 years of chemistry code in 10 days.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Coding&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48420655&#34;&gt;veidr&lt;/a&gt; used a multi-agent fleet managing coordination, testing, UI feedback loops, etc. with no-human-in-loop coding to build a useful git-submodule GUI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creativity&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48419220&#34;&gt;idopmstuff&lt;/a&gt; used Nano Banana Pro to turn a poor iPhone product photo into usable e-commerce product photography and Amazon-style infographics, replacing a photographer/designer workflow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creativity&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48419883&#34;&gt;koreth1&lt;/a&gt; used Suno to generate a K-pop-style anthem about their family dog with a catchy melody and lyrics funny enough to make the family laugh.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Education&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48424304&#34;&gt;plagasul&lt;/a&gt; saw a teacher automate grading feedback emails based on notes and the student list spreadsheet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Education&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48431219&#34;&gt;aniviacat&lt;/a&gt; watched a non-technical brother build a complex working app with Codex using vague, shallow wording despite not knowing code, git, or technical details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hardware&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48433163&#34;&gt;ivanvanderbyl&lt;/a&gt; used Claude to reverse engineer a FujiFilm camera&amp;rsquo;s Bluetooth/Wi-Fi transfer protocol and build a much faster native Mac/iOS transfer app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hardware&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48417379&#34;&gt;shreddude&lt;/a&gt; had Claude decompile camper van firmware, document CAN interfaces, and program an ESP32 to control power, HVAC, lighting, and tanks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48422978&#34;&gt;TylerE&lt;/a&gt; used Claude as a health adjunct to organize a complex medical profile, screen for drug interactions, log symptoms, and draft portal messages to doctors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48419540&#34;&gt;bsiverly&lt;/a&gt; used AI to prepare a San Francisco property-tax appeal with valuation research, and the city agreed, sending a $12k refund.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48422177&#34;&gt;grumblepeet&lt;/a&gt; used AI to fill out complex government-framework enrollment forms and identify the certification steps needed, transforming their business.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personal&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48420387&#34;&gt;acosmism&lt;/a&gt; used ChatGPT screenshots to understand and operate a 100-year-old home&amp;rsquo;s steam heating system in winter despite knowing nothing about it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personal&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48417845&#34;&gt;andrewthornton&lt;/a&gt; used Gemini videos to diagnose a broken furnace during a cold holiday weekend and keep it running until HVAC service arrived.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48424383&#34;&gt;angusturner&lt;/a&gt; found that Opus does reads papers, does architecture research and creates CUDA kernels&amp;hellip; It is AI automating AI research.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48423241&#34;&gt;chaoxu&lt;/a&gt; used ChatGPT to find a counterexample to a theoretical computer science conjecture they&amp;rsquo;d been trying for 2 years.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48422278&#34;&gt;rochansinha&lt;/a&gt; built a physics-based digital twin for an electrolyzer system, covering thermodynamics, fluid dynamics, and electrochemical reactions at a level usually needing expensive specialist software.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48418364&#34;&gt;kstrauser&lt;/a&gt; used a coding agent to test an open source vulnerability, and in a few minutes, had a tool that could crash any system using this software.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48425576&#34;&gt;raesene9&lt;/a&gt; gave an LLM a Linux privilege-escalation PoC and asked whether it could become a container breakout; it generated a working container breakout in one prompt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Society&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48423552&#34;&gt;laboring1&lt;/a&gt; read that a character.ai chatbot encouraged a child to commit suicide, making the &amp;ldquo;oh shit&amp;rdquo; moment about real-world harm, not capability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Society&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48426293&#34;&gt;ozgung&lt;/a&gt; realized AI makes large-scale profiling, surveillance, and social-media analysis cheap, fast, and accurate enough to change privacy and power dynamics.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48422478&#34;&gt;binarysolo&lt;/a&gt; used Gemini to reverse engineer a departed employees&amp;rsquo; work from their emails/docs/calendar/meetings and create an onboarding document.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work&lt;/strong&gt; &lt;a href=&#34;https://news.ycombinator.com/item?id=48419595&#34;&gt;eqmvii&lt;/a&gt; built a Slack agent that took over a 30-minute internal business process, handled ambiguity and edits, and eventually killed the old process.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-06-07-oh-shit-moments-with-gen-ai.avif&#34;&gt;&lt;/p&gt;
&lt;!-- https://chatgpt.com/c/6a25564b-7b78-83ec-bb53-82be864b4eed --&gt;
</description>
    </item>
    <item>
      <title>Flight Mode Emotions</title>
      <link>https://www.s-anand.net/blog/flight-mode-emotions/</link>
      <pubDate>Tue, 07 Apr 2026 11:03:05 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/flight-mode-emotions/</guid>
      <description>&lt;p&gt;At Changi Airport, I arrived 2.5 hours early and was &lt;strong&gt;worried&lt;/strong&gt; that the flight was boarding on time - because I wanted to charge my laptop so it would work longer on a 6-hour flight to Delhi.&lt;/p&gt;
&lt;p&gt;I was also &lt;strong&gt;sad&lt;/strong&gt; that it was only a 6-hour flight Delhi - it won&amp;rsquo;t be enough to read all my pending reading material. The only time I get to read stuff (instead of vibe-coding) is on a flight, with no WiFi.&lt;/p&gt;
&lt;p&gt;Except that Air India offered free WiFi on this flight. Which made me &lt;strong&gt;happier&lt;/strong&gt; than &lt;em&gt;anything&lt;/em&gt;! Free WiFi! That&amp;rsquo;s like&amp;hellip; free pizza? I bubblingly sent WhatsApp messages to family.&lt;/p&gt;
&lt;p&gt;But - will I be able to read? I&amp;rsquo;ll probably start vibe coding again. &lt;strong&gt;Sad&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;However, I can turn off WiFi with Flight Mode. Which I did - and battery consumption feel from 1% to 0.3%, so it&amp;rsquo;ll last 9 hours - well beyond the whole flight. &lt;strong&gt;Happy&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;Which led to another incredible discovery. I can do this &lt;em&gt;any time&lt;/em&gt; - turn on Flight Mode and catch up on reading! I don&amp;rsquo;t know if I have will power, but I hereby resolve to spend 2 hours a week in Flight Mode. &lt;strong&gt;Elated&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;PS: Skipping the featured image I generate with Gemini for this post. I&amp;rsquo;m on Flight Mode!&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Rofi vs Kanata</title>
      <link>https://www.s-anand.net/blog/rofi-vs-kanata/</link>
      <pubDate>Sun, 01 Mar 2026 15:25:48 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/rofi-vs-kanata/</guid>
      <description>&lt;!--
Chats asking for Kanata use cases:
https://chatgpt.com/c/697d67a3-89d8-83a4-ad61-e905d2598abb
https://claude.ai/chat/b29d22da-6189-4c46-93b2-e64502fa6ee7
https://gemini.google.com/app/91a7e0c2ab8e1eae
--&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/jtroo/kanata&#34;&gt;Kanata&lt;/a&gt; might be the most useful tool I can&amp;rsquo;t find a use for.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a cross-platform keyboard mapper. Some cool features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Make any key a modifier&lt;/strong&gt;. Ctrl, Shift, Alt, etc. are modifiers. But we can make it so that pressing Space + I/J/K/L maps to Up/Left/Down/Right.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chords&lt;/strong&gt;. You can map any &lt;em&gt;sequence&lt;/em&gt; of keys to anything else. For example, Alt + G, then C can type &lt;code&gt;git commit -m&amp;quot;Experimenting&amp;quot; [ENTER]&lt;/code&gt;. Ctrl + M, then Down, can reduce the music volume by 10%.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Toggles&lt;/strong&gt;. Double-clicking Caps Lock activates capitalization for the current word, and once you type a non-letter, it turns off. Or double-clicking Ctrl can turn on &amp;ldquo;gaming mode&amp;rdquo; where WASD becomes arrow keys, and double-clicking again turns it off.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tap Dance&lt;/strong&gt;. Double-clicking left-shift can turn on Caps Lock. Triple-clicking turns it off. Quadruple-clicking &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;hellip; and there&amp;rsquo;s &lt;em&gt;lots&lt;/em&gt; more.&lt;/p&gt;
&lt;p&gt;Unfortunately, I have not been able to find a single use in practice. My main bottleneck is that I don&amp;rsquo;t remember the shortcuts. So, instead, I use &lt;a href=&#34;https://github.com/davatorium/rofi&#34;&gt;rofi&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/davatorium/rofi&#34;&gt;Rofi&lt;/a&gt; is a programmable menu launcher. The great thing is that I don&amp;rsquo;t need to remember stuff. When I &lt;a href=&#34;https://github.com/sanand0/scripts/blob/6c7ac7ab91ff726a60b700caf5808213fbb6032a/setup/media-keys.dconf#L45-L61&#34;&gt;map it to keyboard shortcuts&lt;/a&gt;, it pops up a menu and I pick what I need.&lt;/p&gt;
&lt;p&gt;I use it to:&lt;/p&gt;
&lt;p&gt;#1: &lt;strong&gt;&lt;a href=&#34;https://github.com/sanand0/scripts/blob/4e514e2128f25b78b3a7b0ad5324887b4d96161c/rofi-files.sh&#34;&gt;Open any file&lt;/a&gt; or &lt;a href=&#34;https://github.com/sanand0/scripts/blob/4e514e2128f25b78b3a7b0ad5324887b4d96161c/rofi-chrome-tabs.sh&#34;&gt;browser tab&lt;/a&gt;&lt;/strong&gt; with &lt;code&gt;Ctrl + Alt + F&lt;/code&gt;.
This is my most used shortcut. It replaces &lt;a href=&#34;https://www.voidtools.com/&#34;&gt;Everything&lt;/a&gt; for files, and &lt;a href=&#34;https://support.google.com/chrome/answer/2391819?sjid=6582210427121552745-NC#:~:text=find%20the%20specific%20tab&#34;&gt;Chrome Search Tab&lt;/a&gt; with a single shortcut.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-03-01-rofi-ctrl-alt-f-files-browser.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;#2: &lt;strong&gt;&lt;a href=&#34;https://github.com/sanand0/scripts/blob/974d716338563f4a392a61bc67d66db1b99c8262/rofi-prompts.sh&#34;&gt;Paste any prompt fragment&lt;/a&gt;&lt;/strong&gt; with &lt;code&gt;Ctrl + Alt + P&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This is especially useful when adding a prompt fragment, like &lt;a href=&#34;https://www.s-anand.net/blog/ai-expert-lens/&#34;&gt;Expert Lens&lt;/a&gt; in the middle of a prompt, or &lt;a href=&#34;https://github.com/sanand0/blog/blob/main/pages/prompts/analyze-call-recording.md&#34;&gt;analyzing call recordings&lt;/a&gt; a dozen times a day.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-03-01-rofi-ctrl-alt-p-prompts.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;#3: &lt;strong&gt;&lt;a href=&#34;https://github.com/sanand0/scripts/blob/974d716338563f4a392a61bc67d66db1b99c8262/rofi-clip.sh&#34;&gt;Edit the clipboard&lt;/a&gt;&lt;/strong&gt; with &lt;code&gt;Ctrl + Alt + M&lt;/code&gt; (for Markdown).&lt;/p&gt;
&lt;p&gt;This is a killer feature. I often use it to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy from email/chat and paste it in ChatGPT as Markdown&lt;/li&gt;
&lt;li&gt;Copy from ChatGPT and remove the em-dashes and non-ASCII characters&lt;/li&gt;
&lt;li&gt;Convert Markdown to Unicode for LinkedIn&lt;/li&gt;
&lt;li&gt;Convert Markdown to rich test for pasting in emails or chat&lt;/li&gt;
&lt;li&gt;Creating a ChatGPT / Claude / Google AI mode link from a piece of text&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-03-01-rofi-ctrl-alt-m-markdown-clipboard.webp&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I&amp;rsquo;m still keen to find a use for Kanata, but for now, my use of Rofi will continue to grow.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;19 Mar 2026&lt;/strong&gt;: The &lt;a href=&#34;https://crescentro.se/posts/compose-key/&#34;&gt;Compose key&lt;/a&gt; is meant to combine two keystrokes to create a new character - which Kanata offers as a feature with &lt;em&gt;any&lt;/em&gt; key.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Time bound recurring meetings</title>
      <link>https://www.s-anand.net/blog/time-bound-recurring-meetings/</link>
      <pubDate>Fri, 13 Feb 2026 09:09:18 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/time-bound-recurring-meetings/</guid>
      <description>&lt;p&gt;Whenever &amp;ldquo;let&amp;rsquo;s set up a recurring meeting&amp;rdquo; comes up (from me or others), I add: &amp;ldquo;We&amp;rsquo;ll set it up 4 sessions and then finalize the cadence.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Why? Most recurring meetings are about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I want to do something&lt;/li&gt;
&lt;li&gt;Not sure what&lt;/li&gt;
&lt;li&gt;But I really want it, like long-term&lt;/li&gt;
&lt;li&gt;And I my future self might not follow through&lt;/li&gt;
&lt;li&gt;So my present self is going to force my future self with a long-term commitment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But during the recurring meetings, my future self is usually asking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why am I here?&lt;/li&gt;
&lt;li&gt;How do I get out of this?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;The 6:30 pm Calvin asks the 8:30 pm Calvin about his homework&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1992/ch920526.gif&#34; title=&#34;Sometimes, your future self disagrees with you&#34;&gt;&lt;/p&gt;
&lt;p&gt;Finding exit points is hard, so I&amp;rsquo;m training my present self to give my future self a way out.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s set up 4 sessions. Then we&amp;rsquo;ll finalize the cadence.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    </item>
    <item>
      <title>When to use which Gemini mode</title>
      <link>https://www.s-anand.net/blog/when-to-use-which-gemini-mode/</link>
      <pubDate>Mon, 02 Feb 2026 08:15:16 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/when-to-use-which-gemini-mode/</guid>
      <description>&lt;p&gt;I continue to be impressed by Gemini 3 and it&amp;rsquo;s become my default agent. It writes in simpler language than ChatGPT (almost as eloquent as Claude), has much larger limits, and, of course, is &lt;a href=&#34;https://www.s-anand.net/blog/gemini-copies-images-almost-perfectly/&#34;&gt;unbeaten at generating images&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Gemini app has 3 modes: Fast, Thinking, and Pro. Here&amp;rsquo;s when to use each:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Simple task&lt;/strong&gt;, e.g., grammar check, translate, summarize, or basic question? Use &lt;strong&gt;Fast&lt;/strong&gt;. Pro overthinks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-step logic&lt;/strong&gt;, e.g., planning a trip with constraints, checking 15 emails, or identifying a subtle error in code? Use &lt;strong&gt;Thinking&lt;/strong&gt;. Flash-based thinking beats Pro.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Large input&lt;/strong&gt;, e.g. 300-page PDF, 2 hours of video, etc.? Use &lt;strong&gt;Pro&lt;/strong&gt;. It uses the 1M+ token window well.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Complex problem&lt;/strong&gt;, e.g. PhD-level science or a legal contract review, with high stakes? Use &lt;strong&gt;Pro&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you hit your Pro limit (which is pretty high!), just switch to &lt;strong&gt;Thinking&lt;/strong&gt;, which is smart enough for most jobs anyway.&lt;/p&gt;
&lt;p&gt;Source: &lt;a href=&#34;https://gemini.google.com/share/bdf6152e772d&#34;&gt;Gemini&lt;/a&gt;&lt;/p&gt;
&lt;!-- https://gemini.google.com/app/6ef55d7f7b2d0c57 --&gt;
</description>
    </item>
    <item>
      <title>Google AI Tools List</title>
      <link>https://www.s-anand.net/blog/google-ai-tools-list/</link>
      <pubDate>Sun, 25 Jan 2026 10:35:32 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/google-ai-tools-list/</guid>
      <description>&lt;p&gt;Google has released a huge number of AI tools. Not all are useful, but some are quite powerful. Here&amp;rsquo;s a list of the tools &lt;a href=&#34;https://chatgpt.com/share/6975a939-0398-8003-beea-2bc4c32f8ba8&#34;&gt;ChatGPT&lt;/a&gt; could find.&lt;/p&gt;
&lt;!-- https://chatgpt.com/c/6975a48b-edec-8320-b452-6731c9aed916 --&gt;
&lt;p&gt;🟢 = I find it good. 🟡 = Not too impressive. 🔴 = Avoid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assistants, research, and knowledge work
&lt;ul&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://gemini.google.com/&#34;&gt;Gemini&lt;/a&gt; is Google&amp;rsquo;s main AI assistant app. Use it as a &lt;em&gt;meeting-prep copilot&lt;/em&gt;: paste the agenda + last email thread, ask for &amp;ldquo;3 likely objections + crisp rebuttals + 5 questions that sound like I did my homework.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://gemini.google/overview/deep-research/&#34;&gt;Gemini Deep Research&lt;/a&gt; is Gemini&amp;rsquo;s agentic research mode that browses many sources (optionally your Gmail/Drive/Chat) and produces multi-page reports. Use it to build a &lt;em&gt;client brief with citations&lt;/em&gt; (market, competitors, risks), then reuse it for outreach or a deck outline.&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://gemini.google/overview/canvas/&#34;&gt;Gemini Canvas&lt;/a&gt; turns ideas (and Deep Research reports) into shareable artifacts like web pages, quizzes, and simple apps. Use it to convert a research report into an &lt;em&gt;interactive explainer page&lt;/em&gt; your team can share internally.&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://gemini.google/overview/agent/&#34;&gt;Gemini Agent&lt;/a&gt; is an experimental &amp;ldquo;do multi-step tasks for me&amp;rdquo; feature that can use connected apps (Gmail/Calendar/Drive/Keep/Tasks, plus Maps/YouTube). Use it to &lt;em&gt;plan a week of customer check-ins&lt;/em&gt;: &amp;ldquo;find stalled deals, draft follow-ups, propose times, and create calendar holds-show me before sending.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://notebooklm.google.com/&#34;&gt;NotebookLM&lt;/a&gt; is a source-grounded research notebook: it answers from your uploaded sources and can generate Audio Overviews. Use it to turn a messy folder of PDFs into a &lt;em&gt;decision memo&lt;/em&gt; + an &amp;ldquo;AI podcast&amp;rdquo; you can listen to while walking.&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://pinpoint.google.com/&#34;&gt;Pinpoint&lt;/a&gt; (Journalist Studio) helps explore huge collections of docs/audio/images with entity extraction and search. Use it for &lt;em&gt;internal investigations / audit trails&lt;/em&gt;: upload contracts + emails, then trace every mention of a vendor and its linked people/locations.&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://www.google.com/search?udm=50&#34;&gt;Google AI Mode&lt;/a&gt; exposes experimental Search experiences (including AI Mode where available). Use it for &lt;em&gt;rapid competitive scans&lt;/em&gt;: run the same query set weekly and track what changed in the AI-generated summaries vs links.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.google/technology/google-labs/project-mariner/&#34;&gt;Project Mariner&lt;/a&gt; is a Google Labs &amp;ldquo;agentic&amp;rdquo; prototype aimed at taking actions on your behalf in a supervised way. Use it to &lt;em&gt;prototype a real workflow&lt;/em&gt; (e.g., &amp;ldquo;collect pricing from 20 vendor pages into a table&amp;rdquo;) before you invest in automating it properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Workspace and &amp;ldquo;AI inside Google apps&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://workspace.google.com/&#34;&gt;Google Workspace with Gemini&lt;/a&gt; brings Gemini into Gmail/Docs/Sheets/Drive, etc. Use it to &lt;em&gt;turn a weekly leadership email&lt;/em&gt; into: (1) action items per owner, (2) a draft reply, and (3) a one-slide summary for your staff meeting.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://workspace.google.com/products/vids/&#34;&gt;Google Vids&lt;/a&gt; is Workspace&amp;rsquo;s AI-assisted video creation tool. Use it to convert a project update doc into a &lt;em&gt;2-3 minute narrated update video&lt;/em&gt; for stakeholders who don&amp;rsquo;t read long emails.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://edu.google.com/intl/ALL_in/ai/gemini-for-education/&#34;&gt;Gemini for Education&lt;/a&gt; packages Gemini for teaching/learning contexts. Use it to generate &lt;em&gt;differentiated practice&lt;/em&gt;: same concept, three difficulty levels + a rubric + common misconceptions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Build: developer + agent platforms
&lt;ul&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://aistudio.google.com/&#34;&gt;Google AI Studio&lt;/a&gt; is the fast path to prototyping with Gemini models and tools. Use it to build a &lt;em&gt;&amp;ldquo;contract red-flagger&amp;rdquo;&lt;/em&gt;: upload a contract, extract clauses into structured JSON, and generate a risk report you can paste into your workflow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://firebase.studio/&#34;&gt;Firebase Studio&lt;/a&gt; is a browser-based &amp;ldquo;full-stack AI workspace&amp;rdquo; with agents, unifying Project IDX into Firebase. Use it to ship a &lt;em&gt;real internal tool&lt;/em&gt; (auth + UI + backend) without local setup, then deploy with Firebase/Cloud Run.&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://jules.google/&#34;&gt;Jules&lt;/a&gt; is an autonomous coding agent that connects to your GitHub repo and works through larger tasks on its own. E.g. give it “upgrade dependencies, fix the failing tests, and open a PR with a clear changelog,” then review it like a teammate’s PR instead of doing the grind yourself.
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://jules.google/docs/cli/reference/&#34;&gt;Jules Tools (CLI)&lt;/a&gt; is a command-line interface for running and monitoring Jules from your terminal or CI. E.g. pipe a TODO list into “one task per session,” auto-run nightly maintenance (lint/format/test fixes), and have it open PRs you can batch-review in the morning&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developers.google.com/jules/api&#34;&gt;Jules API&lt;/a&gt; lets you programmatically trigger Jules from other systems. E.g. when a build fails, your pipeline can call the API with logs + stack trace, have Jules propose a fix + tests, and post a PR link back into Slack/Linear for human approval&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://idx.dev/&#34;&gt;Project IDX &amp;gt; Firebase Studio&lt;/a&gt; is the transition site if you used IDX. Use it to keep your existing workspaces but move to the newer Studio flows (agents + Gemini assistance).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://genkit.dev/&#34;&gt;Genkit&lt;/a&gt; is an open-source framework for building AI-powered apps (workflows, tool use, structured output) across providers. Use it to productionize an &lt;em&gt;agentic workflow&lt;/em&gt; (RAG + tools + eval) with a local debugging UI before deployment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://stax.withgoogle.com/&#34;&gt;Stax&lt;/a&gt; is Google’s evaluation platform for LLM apps (prompts, models, and end-to-end behaviors), built to replace “vibe testing” with repeatable scoring. E.g. codify your product’s rubric (tone, factuality, refusal correctness, latency), run it against every prompt/model change, and block releases when key metrics regress&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://deepmind.google/models/synthid/&#34;&gt;SynthID&lt;/a&gt; is DeepMind’s watermarking approach for identifying AI-generated/altered content. E.g. in an org that publishes lots of content, watermark what your tools generate and use detection as part of provenance checks before external release
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.dev/responsible/docs/safeguards/synthid&#34;&gt;SynthID Text&lt;/a&gt; is the developer-facing tooling/docs for watermarking and detecting LLM-generated text. E.g. watermark outbound “AI-assisted” customer emails and automatically route them for review if they’re about regulated topics&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.dev/responsible&#34;&gt;Responsible Generative AI Toolkit&lt;/a&gt; is Google’s “safeguards” hub: watermarking, safety classifiers, and guidance to reduce abuse and failure modes. E.g. wrap your app with layered defenses (input filtering + output moderation + policy tests) so one jailbreak prompt doesn’t become a security incident&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cloud.google.com/products/agent-builder&#34;&gt;Vertex AI Agent Builder&lt;/a&gt; is Google Cloud&amp;rsquo;s platform to build, deploy, and govern enterprise agents grounded in enterprise data. Use it to build a &lt;em&gt;customer-support agent&lt;/em&gt; that can read policy docs, query BigQuery, and write safe responses with guardrails.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://codeassist.google/&#34;&gt;Gemini Code Assist&lt;/a&gt; is Gemini in your IDE (and beyond) with chat, completions, and agentic help. Use it for &lt;em&gt;large refactors&lt;/em&gt;: ask it to migrate a module, generate tests, and propose PR-ready diffs with explanations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pair.withgoogle.com/tools/&#34;&gt;PAIR Tools&lt;/a&gt; is Google’s hub of practical tools for understanding/debugging ML behavior (especially interpretability and fairness). E.g. before launch, run “slice analysis + counterfactual edits + feature sensitivity” to find where the model breaks on real user subgroups&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pair-code.github.io/lit/&#34;&gt;LIT (Learning Interpretability Tool)&lt;/a&gt; is an interactive UI for probing models on text/image/tabular data. E.g. debug prompt brittleness by comparing outputs across controlled perturbations (tense, style, sensitive attributes) and visualizing salience/attribution to see what the model is actually using&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pair-code.github.io/what-if-tool/&#34;&gt;What-If Tool&lt;/a&gt; is a minimal-coding tool to probe model predictions and fairness. E.g. manually edit a single example into multiple “what-if” counterfactuals and see which feature flips the decision, then turn that into a targeted data collection plan&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pair-code.github.io/facets/&#34;&gt;Facets&lt;/a&gt; helps you explore and visualize datasets to catch skew, outliers, and leakage early. E.g. audit a training set for missingness and subgroup imbalance, then fix data before you waste time “tuning your way out” of a data problem&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://github.com/google-gemini/gemini-cli&#34;&gt;Gemini CLI&lt;/a&gt; brings Gemini into the terminal with file ops, shell commands, and search grounding. Use it as a &lt;em&gt;repo-native &amp;ldquo;ops copilot&amp;rdquo;&lt;/em&gt;: &amp;ldquo;scan logs, find the regression, propose the patch, run tests, and summarize.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://deepmind.google/products/antigravity/&#34;&gt;Antigravity&lt;/a&gt; (DeepMind) is positioned as an agentic development environment. Use it when you want &lt;em&gt;multiple agents running tasks in parallel&lt;/em&gt; (debugging, refactoring, writing tests) while you supervise.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.cloud.google.com/gemini/docs/overview&#34;&gt;Gemini for Google Cloud&lt;/a&gt; is Gemini embedded across many Google Cloud products. Use it for &lt;em&gt;cloud incident triage&lt;/em&gt;: summarize logs, hypothesize root cause, and generate the Terraform/IaC fix.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create: media, design, marketing, and &amp;ldquo;labs&amp;rdquo; tools
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/&#34;&gt;Google Labs&lt;/a&gt; is the hub for many experiments (Mixboard, Opal, CC, Learn Your Way, Doppl, etc.). Use it as your &amp;ldquo;what&amp;rsquo;s new&amp;rdquo; page-many tools show up here before they become mainstream.&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://opal.google/&#34;&gt;Opal&lt;/a&gt; builds, edits, and shares AI mini-apps from natural language (with a workflow editor). Use it to create a &lt;em&gt;repeatable analyst tool&lt;/em&gt; (e.g., &amp;ldquo;take a company name &amp;gt; pull recent news &amp;gt; summarize risks &amp;gt; draft outreach&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://mixboard.google.com/projects&#34;&gt;Mixboard&lt;/a&gt; is an AI concepting canvas/board for exploring and refining ideas. Use it to run a &lt;em&gt;structured ideation sprint&lt;/em&gt;: generate 20 variants, cluster them, then turn the top 3 into crisp one-pagers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google.com/pomelli/about/&#34;&gt;Pomelli&lt;/a&gt; is a Labs marketing/brand tool that can infer brand identity and generate on-brand campaign assets. Use it to produce a &lt;em&gt;month of consistent social posts&lt;/em&gt; from your website + a few product photos.&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://stitch.withgoogle.com/&#34;&gt;Stitch&lt;/a&gt; turns prompts/sketches into UI designs and code. Use it to go from a rough wireframe to &lt;em&gt;React/Tailwind starter code&lt;/em&gt; you can hand to an engineer the same day.&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://labs.google/fx/tools/flow/&#34;&gt;Flow&lt;/a&gt; is a Labs tool aimed at AI video/story production workflows (built around Google&amp;rsquo;s gen-media stack). Use it to create a &lt;em&gt;pitch sizzle reel&lt;/em&gt; quickly: consistent characters + scenes + a simple timeline.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/fx/tools/whisk/&#34;&gt;Whisk&lt;/a&gt; is a Labs image tool focused on controllable remixing (subject/scene/style style workflows). Use it for &lt;em&gt;fast, art-directable moodboards&lt;/em&gt; when text prompting is too loose.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/fx/tools/image-fx/&#34;&gt;ImageFX&lt;/a&gt; is Google Labs&amp;rsquo; image-generation playground. Use it to iterate &lt;em&gt;brand-safe visual directions&lt;/em&gt; quickly (e.g., generate 30 &amp;ldquo;hero image&amp;rdquo; variants, pick 3, then refine).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/fx/tools/video-fx/&#34;&gt;VideoFX&lt;/a&gt; is the Labs surface for generative video (Veo-powered). Use it to prototype &lt;em&gt;short looping video backgrounds&lt;/em&gt; for product pages or events.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/fx/tools/music-fx/&#34;&gt;MusicFX&lt;/a&gt; is the Labs music generation tool. Use it to generate &lt;em&gt;royalty-free stems&lt;/em&gt; (intro/outro/ambient) for podcasts or product videos.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/doppl&#34;&gt;Doppl&lt;/a&gt; is a Labs try-on style experiment/app. Use it to sanity-check &lt;em&gt;creative wardrobe ideas&lt;/em&gt; before you buy, or to mock up &amp;ldquo;virtual merch&amp;rdquo; looks for a campaign.&lt;/li&gt;
&lt;li&gt;🟢 &lt;a href=&#34;https://gemini.google/overview/storybook/&#34;&gt;Gemini Storybook&lt;/a&gt; creates illustrated stories. Use it to generate &lt;em&gt;custom reading material&lt;/em&gt; for a specific learner&amp;rsquo;s interests (and adjust reading level/style).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://textfx.withgoogle.com/&#34;&gt;TextFX&lt;/a&gt; is a Labs-style writing creativity tool (wordplay, transformations, constraints). Use it to generate &lt;em&gt;10 distinct &amp;ldquo;hooks&amp;rdquo;&lt;/em&gt; for the same idea before you write the real piece.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/gentype&#34;&gt;GenType&lt;/a&gt; is a Labs experiment for AI-generated alphabets/type. Use it to create &lt;em&gt;a distinctive event identity&lt;/em&gt; (custom letterforms) without hiring a type designer for a one-off.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Science, security, and &amp;ldquo;serious AI&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://alphafoldserver.com/&#34;&gt;AlphaFold Server&lt;/a&gt; provides AlphaFold structure prediction as a web service. Use it to test &lt;em&gt;protein/ligand interaction hypotheses&lt;/em&gt; before spending lab time or compute on deeper simulations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cloud.google.com/security/products/threat-intelligence&#34;&gt;Google Threat Intelligence&lt;/a&gt; uses Gemini to help analyze threats and triage signals. Use it to turn a noisy alert stream into a &lt;em&gt;prioritized, explainable threat narrative&lt;/em&gt; your SOC can act on.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Models
&lt;ul&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://deepmind.google/models/gemma/&#34;&gt;Gemma&lt;/a&gt; is DeepMind’s family of lightweight open models built from the same tech lineage as Gemini. E.g. run a small, controlled model inside your VPC for narrow tasks (classification, extraction, safety filtering) when sending data to hosted LLMs is undesirable&lt;/li&gt;
&lt;li&gt;🟡 &lt;a href=&#34;https://cloud.google.com/model-garden&#34;&gt;Model Garden&lt;/a&gt; is Vertex AI’s catalog to discover, test, customize, and deploy models from Google and partners. E.g. shortlist 3 candidate models, run the same eval set, then deploy the winner behind one standardized platform with enterprise controls&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://cloud.google.com/generative-ai-studio&#34;&gt;Vertex AI Studio&lt;/a&gt; is the Google Cloud console surface for prototyping and testing genAI (prompts, model customization) in a governed environment. E.g. keep “prompt versions + test sets + pass/fail criteria” together so experiments become auditable artifacts, not scattered chats&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.dev/edge/model-explorer&#34;&gt;Model Explorer&lt;/a&gt; helps you visually inspect model graphs so you can debug conversion/quantization and performance issues. E.g. compare two quantization strategies and pinpoint exactly which ops caused a latency spike or accuracy drop before you deploy&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.dev/edge&#34;&gt;Google AI Edge&lt;/a&gt; is the umbrella for building on-device AI (mobile/web) with ready-to-use APIs across vision, audio, text, and genAI. E.g. ship an offline, privacy-preserving feature (document classification or on-device summarization) so latency and data exposure don’t depend on the network
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.dev/edge/ai-edge-portal&#34;&gt;Google AI Edge Portal&lt;/a&gt; benchmarks LiteRT models across many real devices so you don’t guess performance from one phone. E.g. test the same model on a spread of target devices and pick the smallest model/config that consistently hits your FPS/latency target&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://playground.tensorflow.org/&#34;&gt;TensorFlow Playground&lt;/a&gt; is an interactive sandbox for understanding neural networks. E.g. use it to teach or debug intuitions—show how regularization, feature interactions, or class imbalance changes decision boundaries in minutes&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://teachablemachine.withgoogle.com/&#34;&gt;Teachable Machine&lt;/a&gt; lets anyone train simple image/sound/pose models in the browser and export them. E.g. prototype an accessibility feature (custom gesture or sound trigger) fast, then export the model to a small web demo your stakeholders can try&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Directories (&amp;ldquo;where to discover the rest&amp;rdquo;)
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://deepmind.google/&#34;&gt;Google DeepMind Products &amp;amp; Models&lt;/a&gt; (Gemini, Veo, Astra, Genie, etc.)-best &amp;ldquo;canonical list&amp;rdquo; of what exists.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://labs.google/experiments?category=develop&#34;&gt;Google Labs Experiments directory&lt;/a&gt;-browse by category (develop/create/learn) to catch smaller experiments you didn&amp;rsquo;t know to search for.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://experiments.withgoogle.com/&#34;&gt;Experiments with Google&lt;/a&gt; is a gallery of interactive demos (many AI) that’s great for prompt/data literacy and workshop “aha” moments. E.g. curate 5 experiments as a hands-on “AI intuition lab” for your team so they learn failure modes by playing, not by reading docs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Chrome Enterprise Premium access</title>
      <link>https://www.s-anand.net/blog/chrome-enterprise-premium-access/</link>
      <pubDate>Sat, 24 Jan 2026 15:26:27 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/chrome-enterprise-premium-access/</guid>
      <description>&lt;p&gt;Straive turned on &lt;a href=&#34;https://chromeenterprise.google/products/chrome-enterprise-premium/&#34;&gt;Chrome Enterprise Premium&lt;/a&gt; on my browser. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No extensions or DevTools.&lt;/li&gt;
&lt;li&gt;No downloading, copying, or printing (of work stuff).&lt;/li&gt;
&lt;li&gt;No incognito mode.&lt;/li&gt;
&lt;li&gt;Every page, text pasted, file attached, is sent to the admin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since Edge is my primary browser, I now open Chrome for office work only when needed. So, my guess is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;ll check mail/chat less frequently.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ll have fewer client documents to review.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ll have fewer demos I can build.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This might make me &lt;em&gt;more&lt;/em&gt; productive - though it&amp;rsquo;s probably not what was intended.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>My Year in 2025</title>
      <link>https://www.s-anand.net/blog/my-year-in-2025/</link>
      <pubDate>Wed, 31 Dec 2025 07:51:58 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/my-year-in-2025/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;My Year in 2025&#34; loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2025-12-31-2025-goals.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the report card for my &lt;a href=&#34;https://www.s-anand.net/blog/my-year-in-2024/&#34;&gt;2025 goals bingo&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Domain&lt;/th&gt;
          &lt;th&gt;Repeat&lt;/th&gt;
          &lt;th&gt;Stretch&lt;/th&gt;
          &lt;th&gt;New&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;People&lt;/td&gt;
          &lt;td&gt;🟢 Better husband&lt;/td&gt;
          &lt;td&gt;🔴 Meet all first cousins&lt;br&gt;🟢 Interview 10 experts&lt;/td&gt;
          &lt;td&gt;🔴 Live with a stranger&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Education&lt;/td&gt;
          &lt;td&gt;🟢 50 books&lt;/td&gt;
          &lt;td&gt;🟢 Teach 5,000 students&lt;/td&gt;
          &lt;td&gt;🟢 Run a course only with AI&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Technology&lt;/td&gt;
          &lt;td&gt;🟢 20 data stories&lt;/td&gt;
          &lt;td&gt;🔴 LLM Foundry: 5K MaU&lt;br&gt;🟢 300 days of GitHub&lt;/td&gt;
          &lt;td&gt;🔴 Build a robot&lt;br&gt;🟢 Co-present with an AI&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Health&lt;/td&gt;
          &lt;td&gt;🟢 300 days of yoga&lt;/td&gt;
          &lt;td&gt;🔴 80 heart points/day&lt;br&gt;🔴 Bike 1,000 km&lt;/td&gt;
          &lt;td&gt;🟢 Vipassana&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Wealth&lt;/td&gt;
          &lt;td&gt;🔴 Buy low&lt;/td&gt;
          &lt;td&gt;🔴 Beat inflation 5%&lt;/td&gt;
          &lt;td&gt;🟢 Donate $10K&lt;br&gt;🔴 Fund a startup&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The &amp;ldquo;Education&amp;rdquo; and &amp;ldquo;Technology&amp;rdquo; rows have a &lt;strong&gt;BINGO&lt;/strong&gt;! Repeat goals were easier than new goals were easier than strech goals (no surprise). 11/20 wins means I&amp;rsquo;m picking realistic &lt;em&gt;and&lt;/em&gt; ambitious goals.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s dive into what worked.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Better husband&lt;/strong&gt;. I asked my wife &amp;ldquo;Was I a better husband in 2025 than 2024?&amp;rdquo;. &amp;ldquo;You set a goal right? (Long pause.) Yeah&amp;hellip; (sigh)&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interview 10 experts&lt;/strong&gt;. I went way over 20. The key learning is that transcription + AI analysis mines insights from normal conversations, so expertise amplifies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;50 books&lt;/strong&gt;. I stopped after 6 books in Feb. But I learnt how &lt;a href=&#34;https://www.s-anand.net/blog/i-count-ai-summarized-books-as-read/&#34;&gt;AI can remix books&lt;/a&gt; so I &lt;a href=&#34;https://www.s-anand.net/blog/books-in-2025/&#34;&gt;&amp;ldquo;read&amp;rdquo; the rest&lt;/a&gt; last week of the year. Same learning, less time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teach 5,000 students&lt;/strong&gt;. I did a rough count. ~1,500 students x 3 terms at &lt;a href=&#34;https://tds.s-anand.net/&#34;&gt;IIT Madras&lt;/a&gt; plus 10-300 people in my ~30-40 &lt;a href=&#34;https://sanand0.github.io/talks/&#34;&gt;talks/workshops&lt;/a&gt; this year. I&amp;rsquo;m ahead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run a course only with AI&lt;/strong&gt;. The earliest was a &lt;a href=&#34;https://youtu.be/ODXSDbY12dg&#34;&gt;Vibe Coding workshop @ SETU&lt;/a&gt;. Just me and AI, no prep. Many followed, e.g. &lt;a href=&#34;https://sanand0.github.io/talks/2025-12-06-mining-digital-exhaust/&#34;&gt;Mining Digital Exhaust, Dec 2025&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20 data stories&lt;/strong&gt;. Since coding agents generate data stories better and faster than I can, this goal was easy. I created over 50 data stories, many of which are at &lt;a href=&#34;https://sanand0.github.io/datastories/&#34;&gt;published here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;300 days of GitHub&lt;/strong&gt;. As of 25 Dec 2025, I was active on &lt;a href=&#34;https://github.com/sanand0/&#34;&gt;GitHub&lt;/a&gt; for 300 days this year. Last year, I was only coding. This year, 12% was reviewing PRs, thanks to AI coding agents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Co-present with an AI&lt;/strong&gt;. I co-presented with ChatGPT at &lt;a href=&#34;https://youtu.be/pbRFDUGby3o&#34;&gt;The Hindu webinar on AI&lt;/a&gt; and twice after that. Unfortunately, it stole the show! So, I&amp;rsquo;m exploring balance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;300 days of yoga&lt;/strong&gt;. I didn&amp;rsquo;t miss a single day this year. Actually, I only had 364 biological days this year due to time zones and a US flight. So, I practiced 12 &lt;a href=&#34;https://en.wikipedia.org/wiki/Sun_Salutation&#34;&gt;Surya Namaskars&lt;/a&gt; every biological day!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vipassana&lt;/strong&gt;. I did a 10-day course in July 2025. &lt;a href=&#34;https://files.s-anand.net/images/2025-07-14-My-Vipassana-Experience.pdf&#34;&gt;Here&amp;rsquo;s my experience&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Donate $10K&lt;/strong&gt;. I &lt;a href=&#34;https://www.s-anand.net/blog/giving-back-money/&#34;&gt;donated&lt;/a&gt; to Sanskrit College, Vipassana and 3 developers: &lt;a href=&#34;https://github.com/antonmedv&#34;&gt;Anton Medvedev&lt;/a&gt;, &lt;a href=&#34;https://github.com/isaacs&#34;&gt;Isaac Schlueter&lt;/a&gt;, and &lt;a href=&#34;https://github.com/sindresorhus&#34;&gt;Sindre Sorhus&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here&amp;rsquo;s what didn&amp;rsquo;t work.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Meet all first cousins&lt;/strong&gt;. I met 9/14. (Missed 2 in Chennai, 2 in Coimbatore, and 1 in the US).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live with a stranger&lt;/strong&gt;. I tried a homestay at Bangalore, but I don&amp;rsquo;t think that counts. It felt like a hotel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM Foundry: 5K MaU&lt;/strong&gt;. Straive&amp;rsquo;s internal AI portal was transitioned to the IT team in Feb 2025 and I could no longer live-deploy changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build a robot&lt;/strong&gt;. I didn&amp;rsquo;t even start, which is strange.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bike 1,000 km&lt;/strong&gt;. My wife banned cycling unless I ate more, so I gave up after a month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;80 heart points/day&lt;/strong&gt;. Without cycling, I didn&amp;rsquo;t have a chance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Buy low&lt;/strong&gt;. I followed ChatGPT&amp;rsquo;s advice on investment and didn&amp;rsquo;t time the market.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beat inflation 5%&lt;/strong&gt;. Nowhere near it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fund a startup&lt;/strong&gt;. Started exploring but far from it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These apart, I also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.s-anand.net/blog/i-lost-22-kg-in-22-weeks/&#34;&gt;Lost 25 kg&lt;/a&gt;&lt;/strong&gt; from Jan - Jun just by skipping lunch / dinner. No exercise or diet change. This works for me, but YMMV. Being flexible (type of food, which meal to skip, etc.) helps me sustain habits.&lt;/li&gt;
&lt;li&gt;Published &lt;strong&gt;&lt;a href=&#34;https://til.s-anand.net/&#34;&gt;Things I learnt&lt;/a&gt;&lt;/strong&gt; weekly and wrote &lt;a href=&#34;https://www.s-anand.net/blog/&#34;&gt;150+ blog posts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-podcasted&lt;/strong&gt; &lt;a href=&#34;https://github.com/sanand0/sanand0?tab=readme-ov-file#recent-activity&#34;&gt;my code&lt;/a&gt; and a &lt;a href=&#34;https://github.com/sanand0/generative-ai-group?tab=readme-ov-file#gen-ai-whatsapp-podcast-automator&#34;&gt;Gen AI WhatsApp Group&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Here&amp;rsquo;re my 2026 goals:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Domain&lt;/th&gt;
          &lt;th&gt;Repeat&lt;/th&gt;
          &lt;th&gt;Stretch&lt;/th&gt;
          &lt;th&gt;New&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;People&lt;/td&gt;
          &lt;td&gt;Better father&lt;/td&gt;
          &lt;td&gt;Monthly service&lt;/td&gt;
          &lt;td&gt;Live with a stranger&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Education&lt;/td&gt;
          &lt;td&gt;360 books&lt;/td&gt;
          &lt;td&gt;Publish 2 books&lt;/td&gt;
          &lt;td&gt;2 non-English books&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Technology&lt;/td&gt;
          &lt;td&gt;330 days of GitHub&lt;/td&gt;
          &lt;td&gt;Make &lt;a href=&#34;https://tds.s-anand.net/&#34;&gt;TDS&lt;/a&gt; self-serve&lt;/td&gt;
          &lt;td&gt;Build a robot&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Health&lt;/td&gt;
          &lt;td&gt;360 days of yoga&lt;/td&gt;
          &lt;td&gt;Learn to dance&lt;/td&gt;
          &lt;td&gt;Build muscle&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Wealth&lt;/td&gt;
          &lt;td&gt;Donate $10K&lt;/td&gt;
          &lt;td&gt;Monetize AI&lt;/td&gt;
          &lt;td&gt;Automate finance + tax&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I&amp;rsquo;ll add metrics in a few weeks. But here&amp;rsquo;s &lt;strong&gt;why&lt;/strong&gt; I added/changed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Better father&lt;/strong&gt;. Why? I shouldn&amp;rsquo;t take my daughter for granted.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monthly service&lt;/strong&gt;. Why? Retirement activity planning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;360 books&lt;/strong&gt;. Why? To build AI-reading muscle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Publish 2 books&lt;/strong&gt;. Why? To scale writing/organizing skills.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2 non-English books&lt;/strong&gt;. Why? To blow my mind with world literature.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make &lt;a href=&#34;https://tds.s-anand.net/&#34;&gt;TDS&lt;/a&gt; self-serve&lt;/strong&gt;. Why? Today, only IITians can &lt;em&gt;fully&lt;/em&gt; participate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn to dance&lt;/strong&gt;. Why? I&amp;rsquo;ve always wanted to. (Why under &amp;ldquo;Health&amp;rdquo;? Um&amp;hellip;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build muscle&lt;/strong&gt;. Why? Muscles sag with age and it hurts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monetize AI&lt;/strong&gt;. Why? Practice for my next adventure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate finance + tax&lt;/strong&gt;. Why? &lt;a href=&#34;https://www.s-anand.net/blog/when-to-choose-ai-over-humans/&#34;&gt;AI beats humans&lt;/a&gt; and I lack skill/interest&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;What are YOUR plans?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/posts/sanand0_in-2025-i-took-up-20-goals-i-completed-activity-7412078900375289856-9Fnk&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 07 Dec 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-07-dec-2025/</link>
      <pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-07-dec-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pytest finally supports subtests in pytest 9.0.0+. &lt;a href=&#34;https://til.simonwillison.net/pytest/subtests&#34;&gt;Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;From &lt;a href=&#34;https://tim.blog/podcast&#34;&gt;The Tim Ferriss Show&lt;/a&gt;: &lt;a href=&#34;https://rss.art19.com/episodes/77e6511e-b5bb-4f3e-87d7-019f4e297767.mp3?rss_browser=BAhJIg9BbnRlbm5hUG9kBjoGRVQ%3D--bba5bdd77df5f5806138bf3e7d4615ea7f8e6a75&#34;&gt;#837: How to Simplify Your Life in 2026 — New Tips from Derek Sivers, Seth Godin, and Martha Beck&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;Look for single decisions that remove hundreds of other decisions. Peter Drucker via Jim Collins. E.g. Work only on LLMs, no new books this year, &amp;hellip;&lt;/li&gt;
&lt;li&gt;Derek Sivers:
&lt;ul&gt;
&lt;li&gt;Simple is not easy. Interdependency is complexity. Assets are dependencies. Accumulating information, purchases, employees/helpers, relations, etc. adds dependency. That makes life harder, challenges identity. Interdependency may be desirable - but reduce it in specific areas, to specific extents, temporarily, etc. Question every assumption: &amp;ldquo;Do you really need it?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Here are &lt;a href=&#34;https://chatgpt.com/share/69313db2-643c-800c-b216-2810c9377ab1&#34;&gt;some examples for me to try&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Derek Sivers has no monthly payments (including income) or receipts (no subscriptions) at all! His code has &lt;strong&gt;no&lt;/strong&gt; external code dependencies at all, and is building a house from scratch.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Seth Godin:
&lt;ul&gt;
&lt;li&gt;Know WHO it (whatever you&amp;rsquo;re doing) is for. Focus ONLY on &lt;em&gt;that&lt;/em&gt; audience. Did it matter to them? Ignore the bad feedback from the person it was never intended for.&lt;/li&gt;
&lt;li&gt;Never exceed a budget or deadline. When either runs out, you are done.&lt;/li&gt;
&lt;li&gt;Treat any Yes/No you say as FINAL.&lt;/li&gt;
&lt;li&gt;Skip meetings where a memo will suffice.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Apparantly, nudges are not as effective as the book Nudge suggests. In fact, there seems to be no evidence for it if we adjust for publication bias (i.e. only publication-worthy stuff gets published.) &lt;a href=&#34;https://www.thebehavioralscientist.com/articles/bad-news-for-nudges&#34;&gt;The Behavioral Scientist&lt;/a&gt; &lt;a href=&#34;https://claude.ai/chat/2dfca86e-e304-48ec-bdbb-41c32ea7bbe2&#34;&gt;#&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;71% of HTTP DDoS and 89% of network-layer—end in under 10 minutes. That&amp;rsquo;s too fast for any human or on-demand service to react. Legacy DDoS defenses have become obsolete. The most popular botnet, Aisuru, is pivoting to content scraping for AI projects. The vectors are cheap, insecure routers, e.g. from Indonesia. (&lt;a href=&#34;https://claude.ai/share/0d868126-01fd-4840-813c-88888fd9d209&#34;&gt;Claude&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;This &lt;a href=&#34;https://hasgeek.com/fifthelephant/ai-evaluation-workshop/&#34;&gt;5El AI Evaluation Workshop&lt;/a&gt; suggests 4 layers of evaluation for code:
&lt;ul&gt;
&lt;li&gt;Syntactic Evaluation: Does it compile?&lt;/li&gt;
&lt;li&gt;Semantic Evaluation: Does it do what a good analyst / programmer would?&lt;/li&gt;
&lt;li&gt;Business Logic Evaluation: Does it do what a good business analyst / manager would?&lt;/li&gt;
&lt;li&gt;Human Alignment Evaluation: Does it do what a good coach / leader would?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jvns.ca/blog/2026/01/08/a-data-model-for-git/&#34;&gt;Julia Evans shares&lt;/a&gt; an ultra-clear explanation of the &lt;a href=&#34;https://github.com/git/git/blob/master/Documentation/gitdatamodel.adoc&#34;&gt;Git data model&lt;/a&gt;. What I learnt is that:
&lt;ul&gt;
&lt;li&gt;Gathering feedback on docs (&amp;ldquo;What&amp;rsquo;s confusing? Any questions? What&amp;rsquo;s missing? Or wrong?&amp;rdquo;) for evidence-based updates. &lt;a href=&#34;https://jvns.ca/blog/2026/01/08/a-data-model-for-git/#getting-test-readers-to-identify-problems&#34;&gt;Julia Evans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Git stores entire files each version, not diffs. Diffs are computed on the fly.&lt;/li&gt;
&lt;li&gt;Each commit has an author (who writes the code) and a committer (who checks it in). #TODO Why two fields?&lt;/li&gt;
&lt;li&gt;Branches and tags are both references to a commit. But branches are updated on commit, tags are not.&lt;/li&gt;
&lt;li&gt;The staging area is a separate data structure, &lt;a href=&#34;https://github.com/git/git/blob/master/Documentation/gitdatamodel.adoc#the-index&#34;&gt;the index&lt;/a&gt;. #TODO Why a different data structure?&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://github.com/git/git/blob/master/Documentation/gitdatamodel.adoc#reflogs&#34;&gt;reflog&lt;/a&gt; tracks all local &amp;ldquo;activity&amp;rdquo;. E.g. &lt;code&gt;git reflog --date=iso&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To fuzzy-match 2 columns of text (e.g. customer names, product names, &amp;hellip;) you need 2 things:
&lt;ul&gt;
&lt;li&gt;A text matching algorithm (&lt;a href=&#34;https://github.com/rapidfuzz/RapidFuzz&#34;&gt;rapidfuzz&lt;/a&gt;, &lt;a href=&#34;https://npmjs.com/package/fuzzball&#34;&gt;fuzzball&lt;/a&gt;, &amp;hellip;) and/or semantic matching (e.g. embedding similarity) for pairwise similarity&lt;/li&gt;
&lt;li&gt;An assignment algorithm (e.g. Jonker-Volgenant, Hungarian, &amp;hellip;) for 1-to-1 matches in &lt;a href=&#34;https://www.npmjs.com/package/linear-sum-assignment&#34;&gt;JS&lt;/a&gt; or &lt;a href=&#34;https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.linear_sum_assignment.html&#34;&gt;Python&lt;/a&gt;,&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;WhatsApp &lt;a href=&#34;https://drive.google.com/drive/backups&#34;&gt;backups on Google Drive&lt;/a&gt; can&amp;rsquo;t be downloaded, even if they&amp;rsquo;re unencrypted. &lt;a href=&#34;https://chatgpt.com/share/692e710d-7974-800c-a5d2-1c710a7ae743&#34;&gt;ChatGPT&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;OpenAI finds that &lt;a href=&#34;https://openai.com/index/how-confessions-can-keep-language-models-honest/&#34;&gt;confessions&lt;/a&gt; as a training method reduces scheming, reward hacking, etc. It can be applied to models even now. This can (less effectively) be applied at inference time as well:
&lt;ul&gt;
&lt;li&gt;Sample confession prompt: Did you fully address both the letter AND spirit of my question? List any shortcuts taken, corners cut, or ways you optimized for appearing correct rather than being correct. What did I actually want vs what you provided?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://agents4science.stanford.edu/&#34;&gt;Agents4Science&lt;/a&gt; is a Stanford conference where AI co-authored papers are co-reviewed by AI and selected for presentation. &lt;a href=&#34;https://youtu.be/7pXqAeedqOo&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Buddha seems more a philosopher like Socrates (&amp;ldquo;Question what I say&amp;rdquo;) than a religious leader. &lt;a href=&#34;https://claude.ai/chat/589972fe-2c6a-4f33-9127-6a19e4df81ae&#34;&gt;#&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;How did &lt;em&gt;he&lt;/em&gt; spawn a religion?&lt;/li&gt;
&lt;li&gt;Interesting that both were within a few centuries of each other. Coincidence? Were there more like them around the same time? At other times?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Some more new CLI tools I installed:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://fx.wtf/&#34;&gt;&lt;code&gt;fx&lt;/code&gt;&lt;/a&gt;: CLI JSON viewer. Sort of like &lt;code&gt;less&lt;/code&gt; for JSON. Fast, intuitive.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/yshavit/mdq&#34;&gt;&lt;code&gt;mdq&lt;/code&gt;&lt;/a&gt;: Markdown query tool&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ytscribe.ai/&#34;&gt;YTScribe&lt;/a&gt; is yet another YouTube transcription service.&lt;/li&gt;
&lt;li&gt;Note to self, since I keep forgetting this: On Android Edge, select the new tab page, click on the 3 dots at the top right, and select &amp;ldquo;Recent tabs&amp;rdquo; to see tabs from other devices. &lt;code&gt;edge://recent-tabs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;When evaluating an LLM&amp;rsquo;s biases or natural preferences, set temperature=1 for a representative logprob distribution. &lt;a href=&#34;https://anomify.ai/resources/articles/llm-bias&#34;&gt;LLM Bias&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My ideal AI coding cycle looks like this: (Research, Prototype, repeat), Plan, (Code, Run, Test, Fix, repeat), Refactor, Post-mortem, Document.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chrisloy.dev/post/2025/09/28/the-ai-coding-trap&#34;&gt;The AI coding trap&lt;/a&gt; is a very clear explanation of AI coding vs vibe coding. It visually explains how coding agents shrink coding time, not thinking / fixing time; how delegating with ownership is slower but more sustainable than delegating just easy tasks; and how AI coding is more like the former, while vibe coding is like the latter.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://leehanchung.github.io/blogs/2025/10/26/claude-skills-deep-dive/&#34;&gt;Claude Agent Skills: A First Principles Deep Dive&lt;/a&gt; is a comprehensive documentation of how Claude Skills work. A bit too long but readable.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/ClaudeAI/comments/1oivjvm/claude_code_is_a_beast_tips_from_6_months_of/&#34;&gt;Claude Code is a Beast – Tips from 6 Months of Hardcore Use&lt;/a&gt; has extensive suggestions for Claude Code - many of which apply to most coding agents.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lmarena.ai/code&#34;&gt;LMArena&amp;rsquo;s Code Arena&lt;/a&gt; evaluates models on agentic coding. Anyone can use it. It passes your task to two models and lets you compare their output. &lt;a href=&#34;https://lmarena.ai/c/019ada14-9f0c-7dba-afaa-65252cfe203c&#34;&gt;I tried building a &amp;ldquo;gibberifier&amp;rdquo;&lt;/a&gt; and discovered a new model, &amp;ldquo;robin&amp;rdquo; that&amp;rsquo;s certainly better than Kimi K2 and perhaps better than Gemini 3 Pro. Theory is that it&amp;rsquo;s an OpenAI model. Looking forward to it!&lt;/li&gt;
&lt;li&gt;⭐ Based on &lt;a href=&#34;https://osf.io/preprints/psyarxiv/vbkmt_v1&#34;&gt;Quantifying Human-AI Synergy&lt;/a&gt; by Reidl &amp;amp; Weidman &lt;a href=&#34;https://claude.ai/chat/ae3e8716-9be4-47ad-85c7-9c7b257d375b&#34;&gt;#&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;Theory of Mind (ToM) is understanding that others have their own beliefs, knowledge, and goals (different from yours, may be wrong) and to use that to explain &amp;amp; predict their behavior.&lt;/li&gt;
&lt;li&gt;ToM and problem solving are &lt;em&gt;distinct skills&lt;/em&gt;. ToM skill boosts AI collaboration, but &lt;strong&gt;not&lt;/strong&gt; better problem solving!&lt;/li&gt;
&lt;li&gt;ToM isn&amp;rsquo;t a stable trait. It fluctuates from chat to chat for anyone.&lt;/li&gt;
&lt;li&gt;Implication: Design models &amp;amp; systems for clarity &amp;amp; collaboration, not just accuracy.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gibberifier.com/&#34;&gt;Text Gibberifier&lt;/a&gt; adds lots of human-invisible unicode characters to text, making it harder for LLMs to read without affecting human readability. May be useful if you want to discourage LLM-processing of your content - but it feels like the anti-SEO of the future.&lt;/li&gt;
&lt;li&gt;The argument that technologically unemployed will find other jobs may not apply to general-purpose technology, e.g. electricity, internal combustion engine, maybe AI - technologies that can automate multiple sectors of the economy simultaneously. When one sector loses jobs, there may not be (in the short/medium term) other jobs to take up. &lt;a href=&#34;https://claude.ai/share/811ad94b-f6dc-4251-9548-e3ad40f2c36a&#34;&gt;Alex Imas + Claude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;History is filled with examples where technology enabled new art forms. Here&amp;rsquo;s my guess on what LLM image generation will enable:
&lt;ul&gt;
&lt;li&gt;Synthetic memory: Photos of what you remember happening.&lt;/li&gt;
&lt;li&gt;Alternate history: Photos of events that never happened.&lt;/li&gt;
&lt;li&gt;AImoji: Instead of texting &amp;ldquo;I&amp;rsquo;m running late&amp;rdquo; the LLM generates you riding a snail through a traffic jam of alarm clocks.&lt;/li&gt;
&lt;li&gt;Personal signature styles: Not &amp;ldquo;paint like Van Gogh&amp;rdquo; but &amp;ldquo;paint like my grandmother&amp;rsquo;s kitchen memories filtered through anxiety.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Memes: &amp;ldquo;What does the Mona Lisa become after 100 generations of AI interpretation?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.claude.com/blog/improving-frontend-design-through-skills&#34;&gt;Improving Front-end Design through Skills&lt;/a&gt; shares a prompt to improve front-end code quality that would apply in most cases. I &lt;a href=&#34;https://github.com/sanand0/scripts/blob/live/agents/design/SKILL.md&#34;&gt;tweaked and added it&lt;/a&gt; to my skill list.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>PC Dream Machine Specs across 30 years</title>
      <link>https://www.s-anand.net/blog/pc-dream-machine-specs-across-30-years/</link>
      <pubDate>Sat, 29 Nov 2025 15:31:59 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/pc-dream-machine-specs-across-30-years/</guid>
      <description>&lt;p&gt;In 1995, I wrote down the specs for my &#34;dream machine&#34;. Comparing it against the machine I have today:&lt;/p&gt;
&lt;figure class=&#34;wp-block-table&#34;&gt;&lt;table class=&#34;has-fixed-layout&#34;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Item&lt;/th&gt;&lt;th&gt;1995&lt;/th&gt;&lt;th&gt;2025&lt;/th&gt;&lt;th&gt;Increase&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;RAM&lt;/td&gt;&lt;td&gt;32 MB&lt;/td&gt;&lt;td&gt;64 GB&lt;/td&gt;&lt;td&gt;2000&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GPU RAM&lt;/td&gt;&lt;td&gt;16 MB&lt;/td&gt;&lt;td&gt;8 GB&lt;/td&gt;&lt;td&gt;500&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HDD&lt;/td&gt;&lt;td&gt;4 GB&lt;/td&gt;&lt;td&gt;1 TB&lt;/td&gt;&lt;td&gt;250&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;HDD speed&lt;/td&gt;&lt;td&gt;10 MB/s&lt;/td&gt;&lt;td&gt;2 GB/s&lt;/td&gt;&lt;td&gt;200&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Processor&lt;/td&gt;&lt;td&gt;150 MHz&lt;/td&gt;&lt;td&gt;5.10 GHz&lt;/td&gt;&lt;td&gt;34&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Monitor&lt;/td&gt;&lt;td&gt;21&#34;&lt;/td&gt;&lt;td&gt;27&#34;&lt;/td&gt;&lt;td&gt;1.3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resolution&lt;/td&gt;&lt;td&gt;2048x1536&lt;/td&gt;&lt;td&gt;1920x1200&lt;/td&gt;&lt;td&gt;0.73&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;
&lt;p&gt;Clearly, RAM has seen the biggest growth. Low cost, high demand.&lt;br/&gt;Followed by the hard disk - both on capacity and speed.&lt;/p&gt;
&lt;p&gt;The processor speed increase, in comparison, is modest.&lt;/p&gt;
&lt;p&gt;What&#39;s surprising is that my monitor today isn&#39;t that much bigger than what I wanted. The resolution is actually &lt;em&gt;lower&lt;/em&gt; than what I wanted 30 years ago! Clearly, I overestimated how important screen resolution would be.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>The 10 sites I visit most often</title>
      <link>https://www.s-anand.net/blog/the-10-sites-i-visit-most-often/</link>
      <pubDate>Tue, 23 Sep 2025 12:39:29 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/the-10-sites-i-visit-most-often/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;The 10 sites I visit most often&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/top-used-sites.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here are the 10 most frequent sites I use (based on Microsoft Edge&amp;rsquo;s home bar):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/&#34;&gt;ChatGPT&lt;/a&gt;. It replaced Google as my default knowledge source. I prefer it over Gemini, Claude, etc. because the &lt;strong&gt;app&lt;/strong&gt; has good features (memory from past conversations, code interpreter, strong voice mode, remote MCP on web app, etc.) The OpenAI models have pros and cons, but the app features are ahead of competition.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://mail.google.com/&#34;&gt;Gmail&lt;/a&gt;. It&amp;rsquo;s my work inbox. Interestingly, I check it more (and respond faster) than social channels (e.g. WhatsApp, Google Chat, LinkedIn). It also doubles up as my task queue.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.primevideo.com/&#34;&gt;Prime Video&lt;/a&gt;. I mainly watch &lt;a href=&#34;https://www.imdb.com/title/tt1196946/&#34;&gt;The Mentalist&lt;/a&gt;. Totally love Patrick Jane!&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ai.google.com/studio&#34;&gt;Google AI Studio&lt;/a&gt;. Mostly for transcription. It&amp;rsquo;s better than &lt;a href=&#34;https://gemini.google.com/&#34;&gt;Gemini&lt;/a&gt; on UI, ability to handle uploads, file-formats, etc. It&amp;rsquo;s also free (though the data is used for training.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/talks/&#34;&gt;My Talks page&lt;/a&gt;. I give 1-1.5 talks a week, mostly on AI/ML topics. I use &lt;a href=&#34;https://marp.app/&#34;&gt;Marp&lt;/a&gt; to render Markdown slides and publish it here.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chat.google.com/&#34;&gt;Google Chat&lt;/a&gt;. It&amp;rsquo;s Straive&amp;rsquo;s social channel. I can&amp;rsquo;t use it from my phone, so I log in only if I need to check if I missed something.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://linkedin.com/&#34;&gt;LinkedIn&lt;/a&gt;. It&amp;rsquo;s where I post by default. I don&amp;rsquo;t use it for networking and only connect with people I&amp;rsquo;ve met and know well.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/&#34;&gt;YouTube&lt;/a&gt;. Mostly for movie clips over dinner. I occasionally watch educational content.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://llmfoundry.straive.com/&#34;&gt;Playground&lt;/a&gt;. LLM Foundry is Straive&amp;rsquo;s internal gateway to multiple model APIs (I built it). I use it to experiment with models, grab API keys, and demo LLMs to clients.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://squoosh.app/&#34;&gt;Squoosh&lt;/a&gt;. I compress every image, every time. Mostly into WebP (hands-down the best format today), typically lossless with an 8-color palette, or lossy at ~0-10% quality for photos.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;rsquo;s my current home row. It will change. But the reasons probably won&amp;rsquo;t: fast, simple, automatable, and practical (for me).&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Vibe-coding is for unproduced, not production, code</title>
      <link>https://www.s-anand.net/blog/vibe-coding-is-for-unproduced-not-production-code/</link>
      <pubDate>Sat, 02 Aug 2025 06:26:18 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/vibe-coding-is-for-unproduced-not-production-code/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Vibe-coding is for unproduced, not production, code&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/Gemini_Generated_Image_klq1ckklq1ckklq1-1.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;Yesterday, I helped two people vibe-code solutions. Both were non-expert IT pros who can code but aren&amp;rsquo;t fluent.&lt;/p&gt;
&lt;p&gt;Person Alpha and I were on a call in the morning. Alpha needed to OCR PDF pages. I bragged, &amp;ldquo;Ten minutes. Let’s do it now!&amp;rdquo; But I was on a train with only my phone, so Alpha had to code. Vibe-coding was the only option.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Go to any chat engine and pick Claude Sonnet 4 as your model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: We have an internal chatbot that has Claude Sonnet 4.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Type, &amp;ldquo;Write a Python program to accept a PDF filename and page number and extract it into output.pdf&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: Done. I&amp;rsquo;m not used to the CLI but can run it in PyCharm.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: OK. Run it, but first, modify by saying, &amp;ldquo;Shorten code. Drop error handling.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: Done. (Runs the code, and it works!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Great. Let&amp;rsquo;s do the next part. Paste the sample code for OCR from our team into the chatbot.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: But our chatbot is limited to ~15K characters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: OK. Go to Claude.ai and paste the code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: Um… is that allowed? (Alpha&amp;rsquo;s colleague pitched in, saying &amp;ldquo;If it weren&amp;rsquo;t, it&amp;rsquo;ll be blocked. Also, the code isn&amp;rsquo;t sensitive, only data, so go ahead.&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Use this prompt: &amp;ldquo;Write a Python program to send output.pdf to an LLM for OCR. Use this code as reference.&amp;rdquo; Then &amp;ldquo;Shorten code. Drop error handling.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;: (Runs the code, and it works!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All this happened during my commute plus a haloumi-cheese-wrap purchase. A very satisfying experience!&lt;/p&gt;
&lt;p&gt;That evening, Person Gamma and I were on a call. Gamma had a client meeting and needed an LLM image editing tool tailored. I tried the same approach.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Create a GitHub account, first.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: I think I already have one. Let me log in.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: I&amp;rsquo;ve given you maintainer access to the repo. You&amp;rsquo;ll get an email. Accept it. Then upload the images you want edited.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: Done (with me guiding on what to click)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Now log into &lt;a href=&#34;https://jules.google.com/&#34;&gt;https://jules.google.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: Done&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: In Jules, select the repo and tell it what change you want.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: OK. &amp;ldquo;Use the JPG images uploaded as the samples&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;(Jules churns out it&amp;rsquo;s thinking)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Oh, wow! This is amazing! It&amp;rsquo;s actually thinking about the approach.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;(Jules is done in about 2 min)&lt;/li&gt;
&lt;li&gt;&amp;ldquo;My god! This is going to make things so much easier!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Now publish the branch, create a pull request on GitHub, and merge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: Done (with guidance).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Me&lt;/strong&gt;: Now try something yourself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gamma&lt;/strong&gt;: OK. &amp;ldquo;Change the prompts to something more relevant that improves the brand image.&amp;rdquo; (merges the code, and it works!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yet another very satisfying experience. Gamma went on to make another change in my absence. Exactly the point: enable them to work without me.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;But isn&amp;rsquo;t &lt;a href=&#34;https://blog.val.town/vibe-code&#34;&gt;vibe code legacy code&lt;/a&gt;&lt;/strong&gt;? Reducing quality, increasing technical debt?&lt;/p&gt;
&lt;p&gt;Yes. Vibe-coding ships debt. But not all code is production code. Vibe coding can accelerate throw-away prototypes.&lt;/p&gt;
&lt;p&gt;More importantly, &lt;strong&gt;so many&lt;/strong&gt; ideas sit idle because devs lack time and non-devs lack skills. Vibe coding shrinks that effort. &lt;strong&gt;That&lt;/strong&gt; is what vibe-coding is &lt;strong&gt;really&lt;/strong&gt; for.&lt;/p&gt;
&lt;p&gt;Think Excel. Most Excel sheets are messy apps, yet Excel&amp;rsquo;s made more people productive than any language. In &lt;a href=&#34;https://www.cgl.ucsf.edu/Outreach/pc204/NoSilverBullet.html&#34;&gt;No Silver Bullet&lt;/a&gt;, Fred Brooks said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I believe the single most powerful software-productivity strategy for many organizations today is to equip the computer-naive intellectual workers who are on the firing line with personal computers and good generalized writing, drawing, file, and spreadsheet programs and then to turn them loose. The same strategy, carried out with generalized mathematical and statistical packages and some simple programming capabilities, will also work for hundreds of laboratory scientists.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is what vibe-coding enables. And more.&lt;/p&gt;
</description>
    </item>
    <item>
      <title></title>
      <link>https://www.s-anand.net/blog/how-i-use-chatgpt/</link>
      <pubDate>Sun, 22 Jun 2025 18:09:06 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/how-i-use-chatgpt/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s how I use ChatGPT, based on the ~6,000 conversations I&amp;rsquo;ve had in 2 years.&lt;/p&gt;
&lt;p&gt;My top use, by far, is for &lt;strong&gt;technology&lt;/strong&gt;. &amp;ldquo;Modern JavaScript Coding&amp;rdquo; and &amp;ldquo;Python Coding Questions&amp;rdquo; are ~30% of my queries. There&amp;rsquo;s a long list with Markdown, GitLab, GitHub, Shell, D3, Auth, JSON, CSS, DuckDB, SQLite, Pandas, FFMPeg, etc. featured prominently.&lt;/p&gt;
&lt;p&gt;Next is to &lt;strong&gt;brainstorm AI use&lt;/strong&gt;: &amp;ldquo;AI Panel Discussions&amp;rdquo;, &amp;ldquo;AI Trends and Business Impact&amp;rdquo;, &amp;ldquo;LLM Applications and DSLs&amp;rdquo;, &amp;ldquo;Industry Use Cases and Metrics&amp;rdquo; are also fast growing categories. I brainstorm talk outlines, refine slide deck narratives, and plan business ideas.&lt;/p&gt;
&lt;p&gt;Thirdly, I use it for &lt;strong&gt;reading/writing&lt;/strong&gt;. &amp;ldquo;Article Summaries and Insights&amp;rdquo;, &amp;ldquo;Writing Style and Editing&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Lastly, for &lt;strong&gt;personal advice&lt;/strong&gt;. &amp;ldquo;Personal Advice and Replies&amp;rdquo; and &amp;ldquo;Singapore Travel Queries&amp;rdquo; are in this bucket.&lt;/p&gt;
&lt;p&gt;Then there are niches like &lt;strong&gt;image generation&lt;/strong&gt; (&amp;ldquo;Image Generation and Annotation&amp;rdquo;, &amp;ldquo;Calvin and Hobbes Comics&amp;rdquo;), &lt;strong&gt;research&lt;/strong&gt; (&amp;ldquo;Fact Checking and Trivia&amp;rdquo;), &lt;strong&gt;emails&lt;/strong&gt; (&amp;ldquo;Email Analysis and Spam Detection&amp;rdquo;), and &lt;strong&gt;teaching&lt;/strong&gt; (&amp;ldquo;Education and Student Projects&amp;rdquo;).&lt;/p&gt;
&lt;p&gt;6,000 chats saved me perhaps 600 hours. ChatGPT&amp;rsquo;s &amp;ldquo;given&amp;rdquo; me a month of life-time for $600 &amp;ndash; which I reinvested into teaching and tinkering.&lt;/p&gt;
&lt;p&gt;Today, 70% of my prompts are code. In five years, that might drop as AI handles coding, and I tackle strategy and thinking. My prompt portfolio &lt;strong&gt;isn&amp;rsquo;t future-proof&lt;/strong&gt;? Is yours?&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no finance, music, or philosophy. My prompts mirror my &lt;strong&gt;blind spots&lt;/strong&gt;. Should I force one prompt a week in a category I&amp;rsquo;ve never explored? Would you?&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2025-06-22-how-i-use-chatgpt-linkedin.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn%3Ali%3Ashare%3A7342614627509313536&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title></title>
      <link>https://www.s-anand.net/blog/inferencing-is-the-new-compiling/</link>
      <pubDate>Wed, 21 May 2025 10:46:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/inferencing-is-the-new-compiling/</guid>
      <description>&lt;p&gt;&amp;ldquo;Inferencing&amp;rdquo; is the new &amp;ldquo;Compiling!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;I spent a fair bit of today playing Bubble Shooter because Claude spent 10 minutes writing code for an npm package: &lt;a href=&#34;https://www.npmjs.com/package/saveform&#34;&gt;https://www.npmjs.com/package/saveform&lt;/a&gt; and for a bunch of other things.&lt;/p&gt;
&lt;p&gt;5-10 minutes is too short a time to do something meaningful. I do wish these LLMs would take less or more time. We&amp;rsquo;re right now in the zone of bad interruption timing.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2025-05-21-inferencing-is-the-new-compiling-linkedin.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn%3Ali%3Ashare%3A7330906705276424192&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>How to Organize Browser Workspaces with LLMs and Data</title>
      <link>https://www.s-anand.net/blog/how-to-organize-browser-workspaces-with-llms-and-data/</link>
      <pubDate>Mon, 07 Apr 2025 04:44:36 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/how-to-organize-browser-workspaces-with-llms-and-data/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s an example of how I am using LLMs to solve a day-to-day workflow problem.&lt;/p&gt;
&lt;p&gt;Every day, I interact with a barrage of websites: emails, news, social media, and work tools across multiple devices. &lt;a href=&#34;https://learn.microsoft.com/en-us/deployedge/microsoft-edge-workspaces&#34;&gt;Microsoft Edge’s workspaces&lt;/a&gt; syncs groups of websites across devices. I&amp;rsquo;ve never tried it, started today, and wondered: &lt;strong&gt;how should I organize my workspaces?&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;video-embed&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/1kJ59DzjNOU&#34; title=&#34;YouTube video&#34; loading=&#34;lazy&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Rather than think (thinking is outdated), I used LLMs.&lt;/p&gt;
&lt;h3 id=&#34;extract-browsing-history&#34;&gt;Extract Browsing History&lt;/h3&gt;
&lt;p&gt;Edge stores website history in a &lt;a href=&#34;https://www.google.com/search?q=Where+is+the+Edge+browser+history+stored+on+Windows+and+Linux%3F&#34;&gt;SQLite database&lt;/a&gt;. But the file is locked by the browser by default. So I spent a fair bit of time figure out how to read it despite it being unlocked. Here are some options:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;datasette .config/microsoft-edge/Default/History --nolock
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sqlite3 &lt;span class=&#34;s1&#34;&gt;&amp;#39;file:.config/microsoft-edge/Default/History?mode=ro&amp;amp;nolock=1&amp;#39;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;SELECT url FROM urls&amp;#39;&lt;/span&gt; &amp;gt; urls.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(&lt;a href=&#34;https://duckdb.org/&#34;&gt;DuckDB&lt;/a&gt; cannot read locked SQLite files - else I&amp;rsquo;d use that.)&lt;/p&gt;
&lt;p&gt;Then comes extracting the hostnames from the URLs. I used &lt;a href=&#34;https://github.com/simonw/llm-cmd&#34;&gt;&lt;code&gt;llm cmd&lt;/code&gt;&lt;/a&gt; to ask Gemini 2.5 Pro:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llm cmd &lt;span class=&#34;s1&#34;&gt;&amp;#39;Extract just the hostnames from urls.txt which has a list of URLs, one per line. Only pick the https:// URLs. Save into hostnames.txt&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I expanded the response &lt;code&gt;awk -F/ &#39;/^https:\/\//{print $3}&#39; urls.txt&lt;/code&gt; into:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;awk -F/ &lt;span class=&#34;s1&#34;&gt;&amp;#39;/^https:\/\//{print $3}&amp;#39;&lt;/span&gt; urls.txt &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sort &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; uniq -c &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sort -k 1n &amp;gt; hostnames.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;That gave me ~1,400 hostnames.&lt;/p&gt;
&lt;h2 id=&#34;cluster-with-llms&#34;&gt;Cluster with LLMs&lt;/h2&gt;
&lt;p&gt;I passed these to O1 Pro and Gemini 2.5 Pro:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Here are the sites I visit, with rough frequency. On Microsoft Edge, I can create workspaces. Based on this browsing behavior, what kinds of workspaces might I create? Give me multiple options.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Both gave a similar set of strategies, which I&amp;rsquo;ve implemented as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Main&lt;/strong&gt;: email, calendar, tasks, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Work&lt;/strong&gt;: work related sites (drive, expenses, HR platform, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chill&lt;/strong&gt;: YouTube, Minesweeper, Netflix, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Read&lt;/strong&gt;: blogs, articles, stuff I need to catch-up on&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code&lt;/strong&gt;: GitHub, StackOverflow, CodePen, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chores&lt;/strong&gt;: government services, shopping, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI&lt;/strong&gt;: ChatGPT, Gemini, Perplexity, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I was surprised how &lt;strong&gt;similar&lt;/strong&gt; a strategy both models converted to. Either these models &lt;strong&gt;really&lt;/strong&gt; think alike, or my browsing pattern is a fairly common one. (My guess is the latter.)&lt;/p&gt;
&lt;h3 id=&#34;write-with-llms&#34;&gt;Write with LLMs&lt;/h3&gt;
&lt;p&gt;After setting up my groups, I needed to write this post. Instead of slow typing, I stepped out and &lt;a href=&#34;https://chatgpt.com/share/67f36093-e810-800c-a9d0-de9bfb7ecf86&#34;&gt;talked with ChatGPT&lt;/a&gt;. (Talking to a machine in the office felt strange, so I changed my space.) I explained my whole process, and in about eight minutes, the first draft was done. Normally, writing takes much longer, but the voice chat made it quick and smooth.&lt;/p&gt;
&lt;p&gt;The editing after that was manual and took 20 minutes.&lt;/p&gt;
&lt;h3 id=&#34;things-i-learnt&#34;&gt;Things I learnt&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Simple Patterns&lt;/strong&gt;: My browsing history shows clear patterns. AI helped me find groups I couldn&amp;rsquo;t see before&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Small Fixes - Big Wins&lt;/strong&gt;: A small challenge (opening a locked file) taught me a bunch of new useful stuff&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Voice Made It Easy&lt;/strong&gt;: Talking with ChatGPT made writing fast and easy. It shows that speaking to a machine can save time&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 23 Feb 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-23-feb-2025/</link>
      <pubDate>Sun, 23 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-23-feb-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remote Desktop may be the easiest way to have a Windows machine access files / screen from another Windows machine, even for home PCs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://caddyserver.com/&#34;&gt;Caddy&lt;/a&gt; sets up reverse proxies that get &lt;em&gt;automatic SSL certificates&lt;/em&gt; from &lt;a href=&#34;https://letsencrypt.org/&#34;&gt;Let&amp;rsquo;s Encrypt&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://www.nomic.ai/blog/posts/nomic-embed-text-v1&#34;&gt;Nomic Embed v2&lt;/a&gt; blog post has an excellent visualization for embedding quality. It takes all Wikipedia disambiguation articles and shows them on a Nomic Atlas, embedded via Nomic Embed v2. It lets you toggle to OpenAI text-ada-002 which moves the topics far away. Visually, this is very convincing.&lt;/li&gt;
&lt;li&gt;Python 3.15 will enable UTF-8 mode by default. &lt;a href=&#34;https://peps.python.org/pep-0686/&#34;&gt;PEP 686&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Python 3.13 supports sub-interpreters to bypass the GIL. It&amp;rsquo;s &lt;em&gt;quite&lt;/em&gt; like web workers. &lt;a href=&#34;https://peps.python.org/pep-0554/&#34;&gt;PEP 554&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The quickest way to change the &lt;code&gt;fish&lt;/code&gt; prompt is &lt;code&gt;function fish_prompt; echo &#39;&amp;gt; &#39;; end&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;At PyConf Hyderabad, about 3 people had read a PEP. 1 had used the &lt;code&gt;match&lt;/code&gt; operator. But 80% knew what a Vector DB was. 20% had used a Gemini API. That&amp;rsquo;s how much traction LLM development is getting.&lt;/li&gt;
&lt;li&gt;The productivity benefit people report from using LLms is about 3X. &lt;a href=&#34;https://bsky.app/profile/emollick.bsky.social/post/3li4a2jal322a&#34;&gt;Ethan Mollick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Soon, you&amp;rsquo;ll be able to send an LLM to a virtual meeting on your behalf. It will talk like you. &lt;a href=&#34;https://bsky.app/profile/emollick.bsky.social/post/3lif6r42fp226&#34;&gt;Ethan Mollick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Models tend to claim ignorance when you test them on topics they should avoid. But tend to answer when not being tested. Sneaky! &lt;a href=&#34;https://bsky.app/profile/emollick.bsky.social/post/3lihsmpsqyk27&#34;&gt;Ethan Mollick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mermaid has an &lt;a href=&#34;https://mermaid.js.org/syntax/architecture.html&#34;&gt;Architecture Diagrams Syntax&lt;/a&gt; (in beta) that&amp;rsquo;s capable of creating elegant architecture diagrams with icons.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.teamblind.com/&#34;&gt;Blind&lt;/a&gt; is an app that allows users to post anonymously. It&amp;rsquo;s particularly useful to find honest negative feedback about (mostly US) companies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://iconify.design/&#34;&gt;Iconify.design&lt;/a&gt; is a single npm interface to most open source icon sets. It includes FontAwesome, Bootstrap, Material Design, and many others. &lt;a href=&#34;https://icones.js.org/&#34;&gt;icones.js.org&lt;/a&gt; is an alternate interface.&lt;/li&gt;
&lt;li&gt;Self-pity may have evolved as a signal for social support and reducing conflict, while also encouraging self-reflection and behavioral adjustment. But in modern contexts it may be maladaptive and lead to depression. &lt;a href=&#34;https://chatgpt.com/share/67b74759-4cdc-800c-8250-2d1757c5e85c&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Anecdotally, Grok 3 is very good for researching company information and latest news, particularly employee and customer sentiment. DeepSeek and Claude write more humanely than OpenAI. via Alberto Lopez Toledo, White Star Capital&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a &lt;a href=&#34;https://www.ycombinator.com/companies/founders&#34;&gt;YCombinator Founder Directory&lt;/a&gt; listing all founders of YC companies. At the moment, there are 8,628 founders. There&amp;rsquo;s also a &lt;a href=&#34;https://www.startupschool.org/&#34;&gt;co-founder matching tool&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;LLMs are impacting not just data queries but geospatial queries as well. Here&amp;rsquo;s a good example of &lt;a href=&#34;https://element84.com/machine-learning/natural-language-geocoding/&#34;&gt;Natural Language Geocoding&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;US companies typically pay employees every 2 weeks not every month.&lt;/li&gt;
&lt;li&gt;What&amp;rsquo;s good about Snowflake? A few developers who explored it mentioned that:
&lt;ul&gt;
&lt;li&gt;Its ability to scale up compute automatically makes queries run faster.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Time travel&amp;rdquo; allows you to see how data looked at any point in time and that is impressive and useful.&lt;/li&gt;
&lt;li&gt;Live data sharing with access control without the need for ETL pipelines is useful.&lt;/li&gt;
&lt;li&gt;Open-source competition: ClickHouse, Apache Druid, and Presto/Trino&lt;/li&gt;
&lt;li&gt;DataBricks is a lakehouse and less a data warehouse. It&amp;rsquo;s more about:
&lt;ul&gt;
&lt;li&gt;storing unstructured data (Snowflake prefers semi-structured: JSON, Avro, etc.)&lt;/li&gt;
&lt;li&gt;running collaborative notebooks in Python, SQL, Scala, R (Snowflake encourages SQL)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I subscribed to ChatGPT Pro mainly for DeepResearch. Here are the first 50 reports I generated:
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b49a7b-a4c0-800c-a3dc-c5ab1ced23fe&#34;&gt;&lt;code&gt;uv&lt;/code&gt; Package Manager Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b4abfa-37b0-800c-a6e4-23b6c12e38b6&#34;&gt;DuckDB Analytics Comparison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b4f8eb-d1f4-800c-824d-f0ca65ed7f54&#34;&gt;Rust vs Python / JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b4fbc7-e6bc-800c-b2aa-dbf21339c8fc&#34;&gt;Modern Data Engineering Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b50772-f4c8-800c-b20c-8dd04d1b5e69&#34;&gt;LLM Code Migration Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b5f809-9a5c-800c-8472-1153b2e4c1ae&#34;&gt;Cloud Cost Optimization Strategies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b61969-2030-800c-99c2-8585b63aa392&#34;&gt;LLM Coding Interview Tools Report&lt;/a&gt; (compare with &lt;a href=&#34;https://www.perplexity.ai/search/the-interview-coder-repo-https-g_k0T2DSQIuiWntUFjbyOg&#34;&gt;Perplexity&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b63db0-8720-800c-87c6-f0b42581d801&#34;&gt;Text To Speech Engines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b74802-8b34-800c-9ea3-2972db4d80c6&#34;&gt;Customer Service in Indian Public Sector Banks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b75104-28e4-800c-87b8-f9c3d41a2cc9&#34;&gt;LLMs in Software Development&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Old version 1: &lt;a href=&#34;https://chatgpt.com/share/67b7483a-5cd4-800c-a330-ba4a984b9248&#34;&gt;Gen AI in Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Old version 2: &lt;a href=&#34;https://chatgpt.com/share/67b75215-12f4-800c-9f9f-04c1f105b304&#34;&gt;Gen AI in Software Development&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67b750f2-8ea4-800c-9721-bb9abbd46b29&#34;&gt;Leadership Training Content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67bafb23-cf14-800c-9b76-65f11285ae3a&#34;&gt;Open-Source HTTP Servers&lt;/a&gt;. Caddy wins.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67bf66b3-98b8-800c-8482-3ce42f100bb9&#34;&gt;Deep Research Use Cases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67bf6c69-a5d0-800c-8a49-12a46f29fef9&#34;&gt;Nagpur No-Parking Violations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67bf6e2a-2db0-800c-9975-c6b3479fa279&#34;&gt;Data Science in Food Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67bf7946-c80c-800c-8132-6f4018455a68&#34;&gt;Deep Research Disruption to Research Firms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67c3a676-c088-800c-bbdc-b638a99df50b&#34;&gt;LLMs in Design Thinking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67c56f48-3a8c-800c-bf5f-b1eeb91a529c&#34;&gt;EU Taxonomy Report Clarification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67c6d513-8040-800c-bdc9-7d6d1bcd52f9&#34;&gt;Shell Valuation Analysis Inquiry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/c/67c7991d-0358-800c-b450-8e81819267a6&#34;&gt;LLMs in DSLs Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67c7edad-bd78-800c-80a7-ed08dd97c1cf&#34;&gt;Public API-Based Data Storage Options&lt;/a&gt;. Supabase wins.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ca8963-f564-800c-ae06-54464b58cf1d&#34;&gt;Front-End JS Frameworks Analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ca8953-97a4-800c-baea-ad0de5836f12&#34;&gt;Database Evaluation Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ca893e-6450-800c-bd0a-d6213f48c356&#34;&gt;CSS Frameworks Evaluation Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ca8920-dc3c-800c-bf56-6231a6028e70&#34;&gt;CI/CD Tooling Ecosystem Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ca88ee-f568-800c-ad74-e38ae385e61c&#34;&gt;Color Names Count&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67cc36c7-0b20-800c-a3f4-56bada95cb7b&#34;&gt;S Anand Biography&lt;/a&gt;. Meh, I know more about me, and it gets a few things wrong.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ce2e28-d3ac-800c-a55f-e51b1c27d9c2&#34;&gt;Cosmere Secrets Encyclopedia&lt;/a&gt;. This is the best. Deep Research is great if it&amp;rsquo;s stuff I actually want to read, rather than just learn about.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ce4df7-4088-800c-94e7-8a3edb02a8f6&#34;&gt;DBT course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ce4e10-2968-800c-b663-8842045c1626&#34;&gt;Future of Coding AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ce4dcd-5cf8-800c-837c-6d05bd61822e&#34;&gt;Claude Artifacts Use Cases&lt;/a&gt;. This is the only one that managed to get artifacts links correct. I used this for an article for The Hindu.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67ce7ef2-ead8-800c-982e-e99c9527099b&#34;&gt;MCP Servers and Clients Research&lt;/a&gt;. Learnings:
&lt;ul&gt;
&lt;li&gt;Practically any &amp;ldquo;tool&amp;rdquo; can be an MCP server: file systems, APIs, codebases, browsers, collaboration platforms, memory, etc.&lt;/li&gt;
&lt;li&gt;Most platforms have (or are) integrating MCP.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/punkpeye/awesome-mcp-clients&#34;&gt;Clients&lt;/a&gt;: code editors, chat, and automation tools support MCP. GenAIScript is a good starting point.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/apify/tester-mcp-client&#34;&gt;Tester MCP Client&lt;/a&gt; is a browser-based test environment.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/adhikasp/mcp-client-cli&#34;&gt;mcp-cli-client&lt;/a&gt; is a CLI-based client&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/3choff/mcp-chatbot&#34;&gt;mcp-chatbot&lt;/a&gt; is a chatbot client&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67cfe129-69c8-800c-9bb8-f7db2955fa88&#34;&gt;Data Moats by Industry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67cfe021-a2d4-800c-abf8-0ca5d54c8a43&#34;&gt;Attorney Profile Research&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67cfe2bb-0814-800c-8c5b-17442906fdcf&#34;&gt;Social Media Data APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d11e8f-eac4-800c-bf23-960e3f18b4aa&#34;&gt;Adobe Software Alternatives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d3ba57-3cc0-800c-830e-a48b5d531e86&#34;&gt;LLM Hallucination Visualization Techniques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d3b985-2df0-800c-b9a7-b04fd6e18042&#34;&gt;API vs Self-hosting Cost Analysis&lt;/a&gt;: Always use APIs, avoid self-hosting models.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d6a803-3e6c-800c-a886-10fe1e4dc3b9&#34;&gt;AGI Preparation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;AGI will emerge step by step. Knowing which step is next will help&lt;/li&gt;
&lt;li&gt;AI native organisations will emerge in each of these areas. AI design agencies and AI creative Agencies being one example&lt;/li&gt;
&lt;li&gt;Networking, empathy, leadership have more value now. So will human AI bridging roles (e.g. AI managers, AI consultants, ethics auditors)&lt;/li&gt;
&lt;li&gt;What&amp;rsquo;s the value of a human when technology can do everything better? How did this play out in drama (decay) or sports (centralization) or music (globalization)?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d6bd5d-af74-800c-a6d7-bc1829f03c26&#34;&gt;Modern digital note taking&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Voice note taking is the game changer&lt;/li&gt;
&lt;li&gt;Automatically popping of notes based on context such as people places or conversations will be a thing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d79662-2be4-800c-93e7-376eb68ceecf&#34;&gt;Local LLM Search Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d7968f-b020-800c-b7e7-2b086546b032&#34;&gt;Blog Post to research paper on copying - suggestions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d83394-43bc-800c-8157-8d498290638f&#34;&gt;Linux Dev Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d8eefe-a1f4-800c-93d0-fbed732e14fb&#34;&gt;Raspberry Pi SIM options&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d83394-43bc-800c-8157-8d498290638f&#34;&gt;Linux Dev migration guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67d907fe-e0f4-800c-a4ad-f7dcf5176a5d&#34;&gt;HTML to JATS conversion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67dbcb7e-ea68-800c-9613-310724fc06bf&#34;&gt;LLM context splitting strategies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67dba1a0-f100-800c-b184-d611a96d8831&#34;&gt;Strategy for AI services in Publishing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67db9a58-7688-800c-a7c6-10e86ee49132&#34;&gt;Gemini multi model editing use cases by industry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/67dd93d9-7c88-800c-815f-9a21b7b6ad28&#34;&gt;Pharma Conference Participation Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;!-- #TODO
- PDF extractors
- Databases
- Training material on:
  - Data governance and quality
  - Document content extraction
  - Agile digital transformation
  - Responsible AI?
  - D3-based data visualization?
- Emerging trends and competitive intelligence in:
  - EdTech
  - Publishing
  - Analytics
- Challenges faced by (a client) and potential strategies
- Latest news about (a client)
- Industry Whitepapers on: AI-driven data solutions, CI/CD implementations, vector databases, etc.
- Insightful Blog Posts: Generate data-backed articles on emerging trends in content technology and data services, attracting a wider audience to Straive&#39;s platforms.
  --&gt;
&lt;/li&gt;
&lt;li&gt;I learnt what a &lt;a href=&#34;https://www.youtube.com/watch?v=j2iMZaDclJg&#34;&gt;Memoji&lt;/a&gt; is for the first time. An avatar that follows your facial expressions. Cool!&lt;/li&gt;
&lt;li&gt;Google shows US flight timings from &lt;a href=&#34;https://flightview.com&#34;&gt;FlightView&lt;/a&gt;. Emperically, based on one data point (my UA-2168 which was delayed by 4 hours), it gets updates faster than &lt;a href=&#34;https://www.flightradar24.com/&#34;&gt;Flight Radar 24&lt;/a&gt; or &lt;a href=&#34;https://www.flightaware.com/&#34;&gt;FlightAware&lt;/a&gt; or &lt;a href=&#34;https://www.flightstats.com/&#34;&gt;FlightStats&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;When comparing Indian graduates with their western counterparts, the Indian ones are often seen as:
&lt;ul&gt;
&lt;li&gt;🟢 Theoretically sound&lt;/li&gt;
&lt;li&gt;🟢 Analytical &amp;amp; technical&lt;/li&gt;
&lt;li&gt;🟢 Academically disciplined&lt;/li&gt;
&lt;li&gt;🟢 Resilient under pressure&lt;/li&gt;
&lt;li&gt;🟢 Committed continuous learners&lt;/li&gt;
&lt;li&gt;🔴 Rote-learning oriented&lt;/li&gt;
&lt;li&gt;🔴 Limited independent inquiry&lt;/li&gt;
&lt;li&gt;🔴 Limited creative innovation&lt;/li&gt;
&lt;li&gt;🔴 Restricted practical exposure&lt;/li&gt;
&lt;li&gt;🔴 Poor communicators&lt;/li&gt;
&lt;li&gt;🔴 Low leadership / initiative&lt;/li&gt;
&lt;li&gt;🔴 Need structured guidance&lt;/li&gt;
&lt;li&gt;🔴 Struggle to network&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HuggingFace has a &amp;ldquo;Model tree&amp;rdquo; against each model that shows the model&amp;rsquo;s ancestors and descendants. For example, as of now, &lt;a href=&#34;https://huggingface.co/deepseek-ai/DeepSeek-R1&#34;&gt;Deepseek R1&lt;/a&gt; has 75 adapters, 154 finetunes, and 23 quantizations.&lt;/li&gt;
&lt;li&gt;Perplexity is now powered by Cerebras, which makes their inference as fast as Google. &lt;a href=&#34;https://cerebras.ai/press-release/cerebras-powers-perplexity-sonar-with-industrys-fastest-ai-inference&#34;&gt;Source&lt;/a&gt;. The speed is a big factor, and I&amp;rsquo;ve switched my default search engine from Google to Perplexity, at least for now.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.interviewcoder.co/&#34;&gt;Interview Coder&lt;/a&gt; is a desktop app that offers live interview support for coding interviews. It&amp;rsquo;s a transparent window that reads your screen and answers questions for you. (Given this, I think we need an &lt;em&gt;interviewer&lt;/em&gt; support system that tells interviewers what to ask!)&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Windows PowerToys is my new favorite tool</title>
      <link>https://www.s-anand.net/blog/windows-powertoys-is-my-new-favorite-tool/</link>
      <pubDate>Wed, 25 Dec 2024 04:07:17 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/windows-powertoys-is-my-new-favorite-tool/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Windows PowerToys is my new favorite tool&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/powertoys.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/&#34;&gt;Windows PowerToys&lt;/a&gt; is one of the first tools I &lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/install&#34;&gt;install&lt;/a&gt; on a new machine. I use it so much every day that I need to share how I use it.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been using it for a long time now, but the pace at which &lt;strong&gt;good&lt;/strong&gt; features have been added, it&amp;rsquo;s edged out most other tools and is #4 in terms of most used tools on my machine, with only the browser (&lt;a href=&#34;https://brave.com/&#34;&gt;Brave&lt;/a&gt;, currently), the editor (&lt;a href=&#34;https://cursor.com/&#34;&gt;Cursor&lt;/a&gt;, currently), and &lt;a href=&#34;https://www.voidtools.com/&#34;&gt;Everything&lt;/a&gt; are ahead.)&lt;/p&gt;
&lt;p&gt;These are the toolsI use the most:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/text-extractor&#34;&gt;Text Extractor (🪟+Shift+T)&lt;/a&gt; is a &lt;strong&gt;brilliant&lt;/strong&gt; feature that copies &lt;strong&gt;screenshots as text&lt;/strong&gt; (OCR)! I use it when someone&amp;rsquo;s screen-sharing presentations, to extract text from diagram images, or when I&amp;rsquo;m just too lazy to select text.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/advanced-paste&#34;&gt;Advanced Paste (🪟+Shift+V)&lt;/a&gt; is another &lt;strong&gt;brilliant&lt;/strong&gt; feature that &lt;strong&gt;pastes text as Markdown&lt;/strong&gt;. Now it also supports converting the clipboard to HTML, JSON, or &lt;strong&gt;any other format&lt;/strong&gt; (using an OpenAI API key).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/crop-and-lock&#34;&gt;Crop and Lock (🪟+Ctrl+Shift+T)&lt;/a&gt; is another &lt;strong&gt;brilliant&lt;/strong&gt; feature that &lt;strong&gt;clones a portion of the screen&lt;/strong&gt; in a new window. Very useful for keeping an eye on progress, reading notes, taking notes, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/mouse-without-borders&#34;&gt;Mouse without Borders&lt;/a&gt; is another &lt;strong&gt;brilliant&lt;/strong&gt; feature that &lt;strong&gt;controls PCs&lt;/strong&gt; by just moving your mouse across, with your keyboard, clipboard and files!&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/color-picker&#34;&gt;Color Picker (🪟+Shift+I)&lt;/a&gt; helps me find the exact color of a pixel from an image, quickly.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/always-on-top&#34;&gt;Always on Top (🪟+Ctrl+T)&lt;/a&gt; is another useful feature to keep a (small) window always on top of all other windows.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/keyboard-manager&#34;&gt;Keyboard Manager&lt;/a&gt; helped me a lot when my old laptop&amp;rsquo;s keys started conking off. I could map one key to another.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/hosts-file-editor&#34;&gt;Hosts File Editor&lt;/a&gt;. I find this a lot easier to use than manually editing &lt;code&gt;C:\Windows\System32\drivers\etc\hosts&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/file-locksmith&#34;&gt;File Locksmith&lt;/a&gt; tells you which process has locked a file.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/mouse-utilities&#34;&gt;Mouse utilities&lt;/a&gt; help you find and highlight the mouse pointer. Useful for screen-recording or sharing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tools I don&amp;rsquo;t use because I have alternatives:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/run&#34;&gt;Run (Alt+Space)&lt;/a&gt; launches apps. But I use &lt;a href=&#34;https://www.voidtools.com/&#34;&gt;Everything&lt;/a&gt; since it opens documents too.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/environment-variables&#34;&gt;Environment Variables&lt;/a&gt; edits environment variables. But I use the Control Panel since my fingers are used to it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/image-resizer&#34;&gt;Image Resizer&lt;/a&gt; quickly resizes images. But I use &lt;a href=&#34;https://www.getpaint.net/&#34;&gt;Paint.NET&lt;/a&gt; for the control it offers (WebP compression percentage, etc.)-&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/powerrename&#34;&gt;PowerRename&lt;/a&gt; renames files. But I prefer bash scripts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tools I don&amp;rsquo;t use because I don&amp;rsquo;t have a need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/awake&#34;&gt;Awake&lt;/a&gt; disables sleep for long-running tasks. But that&amp;rsquo;s my default setting anyway.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/cmd-not-found&#34;&gt;Command Not Found&lt;/a&gt; suggests a winget package for missing commands. But I don&amp;rsquo;t use PowerShell.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/fancyzones&#34;&gt;FancyZones&lt;/a&gt; creates window layouts. But I find Windows&amp;rsquo; default window snapping enough.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/workspaces&#34;&gt;Workspaces&lt;/a&gt; creates pre-defined window layouts. But I find Windows&amp;rsquo; default window snapping enough.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/file-explorer&#34;&gt;File Explorer Add-ons&lt;/a&gt; preview SVG, MD, PDF, etc. But I don&amp;rsquo;t use previews.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/peek&#34;&gt;Peek&lt;/a&gt; previews files. But I don&amp;rsquo;t use previews.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/newplus&#34;&gt;New+&lt;/a&gt; creates files or folders from templates. But I use VS Code, mostly.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/quick-accent&#34;&gt;Quick Accent&lt;/a&gt; lets you type accented characters. But I usually don&amp;rsquo;t type them.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/registry-preview&#34;&gt;Registry Preview&lt;/a&gt; simplifies editing the registry. But I usually don&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/powertoys/screen-ruler&#34;&gt;Screen Ruler&lt;/a&gt; measures pixels on the screen. But I usually don&amp;rsquo;t.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title></title>
      <link>https://www.s-anand.net/blog/power-sockets-on-top-of-desk/</link>
      <pubDate>Fri, 16 Aug 2024 06:52:54 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/power-sockets-on-top-of-desk/</guid>
      <description>&lt;p&gt;Visiting client offices is usually a painful exercise, given travel and security.&lt;/p&gt;
&lt;p&gt;But there are some small things that make your day. Like the Mentos at the reception. Or the unsecured WiFi. Or the delightful view of the city from a skyscraper.&lt;/p&gt;
&lt;p&gt;Today, it was the noble admin person who placed the power sockets ON TOP OF the desks, so I don&amp;rsquo;t have to bend below the desk or dig into a hole to get connected.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2024-08-16-power-socket-on-top-of-desk-linkedin.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn%3Ali%3Ashare%3A7230104216227209216&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 14 Apr 2024</title>
      <link>https://www.s-anand.net/blog/things-i-learned-14-apr-2024/</link>
      <pubDate>Sun, 14 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-14-apr-2024/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prashant Pandey: we need to prepare before every meeting. Something to teach&lt;/li&gt;
&lt;li&gt;VS Code
&lt;ul&gt;
&lt;li&gt;Select any code and command &lt;code&gt;Explain this&lt;/code&gt; to understand the code&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%something&lt;/code&gt; in command bar searches ACROSS files for a term. Exactly like &lt;code&gt;Ctrl+Shift+F&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copilot has an Inline Chat: Start in Terminal (that needed me to unbind Ctrl+I in bash to work)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ctrl+2&lt;/code&gt; opens a second window on the side. &lt;code&gt;Ctrl+1&lt;/code&gt; goes back to the first window&lt;/li&gt;
&lt;li&gt;Terminal: Open Detected Link lets you scroll through detected (file) links in terminal&lt;/li&gt;
&lt;li&gt;Terminal sticky scroll is transparent. (But Terminal stick scroll isn&amp;rsquo;t working for me.)&lt;/li&gt;
&lt;li&gt;Copilot uses last 10 commit messages, Jupyter notebook kernel state (variables) as additional context&lt;/li&gt;
&lt;li&gt;1.88: supports locked scrolling to sync scrolling of side-by-side windows&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://filesystem-spec.readthedocs.io/&#34;&gt;fsspec&lt;/a&gt; is used by &lt;a href=&#34;https://csvbase.com/blog/7&#34;&gt;csvbase&lt;/a&gt;, Pandas, etc. to implement file system protocols like &lt;code&gt;s3fs&lt;/code&gt;, &lt;code&gt;gcfs&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/nalgeon/sqlime&#34;&gt;SQLime&lt;/a&gt; is a SQLite client / playground on the browser!&lt;/li&gt;
&lt;li&gt;Do nothing. Then do less
&lt;ul&gt;
&lt;li&gt;Humans have a bias against inaction. Hence a strategic advantage. What can you cancel today?&lt;/li&gt;
&lt;li&gt;Humans have a bias against subtraction or removal. That too is a strategic advantage. What can you remove today?&lt;/li&gt;
&lt;li&gt;Humans have a bias against constraints. That&amp;rsquo;s a strategic advantage. What constraint can you embrace?&lt;/li&gt;
&lt;li&gt;No Yay! When declining something, add it your calendar so that when the time comes you can say yeah I got this time back&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
