<?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>css on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/css/</link>
    <description>Recent content in css on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 05 Jun 2026 17:14:17 +0800</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/css/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>When the prompt is longer than the code</title>
      <link>https://www.s-anand.net/blog/when-the-prompt-is-longer-than-the-code/</link>
      <pubDate>Fri, 05 Jun 2026 17:14:17 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/when-the-prompt-is-longer-than-the-code/</guid>
      <description>&lt;p&gt;I used &lt;a href=&#34;https://pi.dev/&#34;&gt;pi&lt;/a&gt; to create a compact home page for &lt;a href=&#34;https://media.s-anand.net/&#34;&gt;media.s-anand.net&lt;/a&gt; using these prompts:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Create &lt;code&gt;index.html&lt;/code&gt; - a simple, elegant page that says that this page (media.s-anand.net) serves large media files for &lt;a href=&#34;https://www.s-anand.net/&#34;&gt;Anand&lt;/a&gt; - that&amp;rsquo;s where they should look instead.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;hellip; followed by:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Skip the part that says &amp;ldquo;Please visit &amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;hellip; then:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Shorten index.html to just 2-3 elegant rules of CSS. I want it MUCH smaller and simpler.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;hellip; and finally:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Center vertically and horizontally.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These prompts ended up being larger than the 471-byte &lt;code&gt;index.html&lt;/code&gt;:&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-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;en&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;charset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;utf-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;width=device-width, initial-scale=1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;media.s-anand.net&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;min-height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;vh&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;grid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;place-content&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;margin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;auto&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;font&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1.25&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;rem&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;1.6&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;system-ui&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;sans-serif&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;h1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;clamp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;rem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;vw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;rem&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;media.s-anand.net&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;h1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;This domain serves large media files for &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;href&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://www.s-anand.net/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Anand&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;.&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Not that this matters, because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I didn&amp;rsquo;t know what I wanted and having an AI coding agent generate a first draft helped with starting trouble and ideation.&lt;/li&gt;
&lt;li&gt;I don&amp;rsquo;t know how to center on the screen and this did it for me.&lt;/li&gt;
&lt;li&gt;I am practicing the skill that matters - reviewing - and not the skill AI is taking over - writing code.&lt;/li&gt;
&lt;/ol&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 06 Apr 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-06-apr-2025/</link>
      <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-06-apr-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; will soon be &lt;em&gt;very&lt;/em&gt; customizable via CSS. Including custom HTML inside options - even SVG. &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Learn_web_development/Extensions/Forms/Customizable_select&#34;&gt;MDN&lt;/a&gt;. Edge/Chrome already support it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=_cr46G2K5Fo&amp;amp;t=1042s&#34;&gt;The Vitali Set&lt;/a&gt; is every real number none of whose difference is rational. A sparse collection of irrational sets. It&amp;rsquo;s like a line but doesn&amp;rsquo;t have a measurable &amp;ldquo;length&amp;rdquo;.
&lt;ul&gt;
&lt;li&gt;The Lebesgue measure measures the length of broken lines. You add up the lengths of the smallest continuous intervals that cover the line.&lt;/li&gt;
&lt;li&gt;The Cantor set (take a line, drop every middle third, repeat) has a Lebesgue measure of 0 because the sum of the removed thirds = 1/3 + 2/9 + 4/27 + &amp;hellip; = 1. You&amp;rsquo;ve removed every &amp;ldquo;length&amp;rdquo; though infinitely many points remain.&lt;/li&gt;
&lt;li&gt;The Vitali set built so that if you shift it by &lt;em&gt;every&lt;/em&gt; rational from -1 to +1 and add them up, you definitely cover every real from 0-1, but never anything beyond -1 to +2. So the length &lt;em&gt;must&lt;/em&gt; be between 1-3. Yet, there&amp;rsquo;s no number you can add infinitely many times to get something between 1-3.&lt;/li&gt;
&lt;li&gt;If you add up multiple unmeasurable sets like the Vitali set, you can get any total length you want. The &lt;a href=&#34;https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox&#34;&gt;Banach Tarski paradox&lt;/a&gt; splits a sphere into unmeasurable sets and adds them to get 2 spheres.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://askubuntu.com/a/1293952/601330&#34;&gt;Ctrl+Alt+F1/F2/&amp;hellip;&lt;/a&gt; on Ubuntu switches the terminal. Typically &lt;a href=&#34;https://askubuntu.com/a/1307012/601330&#34;&gt;Ctrl+Alt+F2&lt;/a&gt; switches back to Gnome. But it&amp;rsquo;s a useful hack if Gnome freezes and you need to kill a process. Press &lt;code&gt;Ctrl+Alt+F3&lt;/code&gt;, log in, and kill what you need.&lt;/li&gt;
&lt;li&gt;Notes from &lt;a href=&#34;https://ai-2027.com/&#34;&gt;AI 2027&lt;/a&gt;. BTW, this is the most impactful piece I&amp;rsquo;ve read recently. It&amp;rsquo;s been on my mind continuously for 36 hours. A bit distubring, too.
&lt;ul&gt;
&lt;li&gt;2025: AI can act as autonomous agents, like &lt;a href=&#34;https://www.glean.com/&#34;&gt;Glean&lt;/a&gt;, &lt;a href=&#34;https://devin.ai/&#34;&gt;Devin&lt;/a&gt;, &lt;a href=&#34;https://openai.com/index/introducing-operator/&#34;&gt;Operator&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;turn bullet points into emails&lt;/li&gt;
&lt;li&gt;take instructions via Slack or Teams and make substantial code changes on their own&lt;/li&gt;
&lt;li&gt;spend half an hour scouring the Internet to answer your question&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2026:
&lt;ul&gt;
&lt;li&gt;automating AI R&amp;amp;D is the biggest enabler for AI Labs&lt;/li&gt;
&lt;li&gt;job market for junior software engineers is in turmoil&lt;/li&gt;
&lt;li&gt;people who know how to manage and quality-control teams of AIs are making a killing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2027:
&lt;ul&gt;
&lt;li&gt;potential demand for ~20,000 FTEs solving long-horizon tasks to train AI&lt;/li&gt;
&lt;li&gt;every researcher/coder becomes the manager of an AI team&lt;/li&gt;
&lt;li&gt;hiring new programmers has nearly stopped, but there’s never been a better time to be a consultant on integrating AI into your business&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.w3.org/TR/css-speech-1/&#34;&gt;CSS Speech&lt;/a&gt; is a W3C spec that lets you control how screen readers should read pages. No browser support now, though.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://euangoddard.github.io/clipboard2markdown/&#34;&gt;Clipboard2Markdown&lt;/a&gt; is a utility that lets you paste rich text and convert it to Markdown.&lt;/li&gt;
&lt;li&gt;ChatGPT can&amp;rsquo;t yet create good sketchnotes. Here&amp;rsquo;s the &lt;a href=&#34;https://freeimage.host/i/35IZkqG&#34;&gt;impact of US tariffs on India&lt;/a&gt;. &lt;a href=&#34;https://chatgpt.com/share/67ee16b8-e8e0-800c-a43e-63bf858f2a9c&#34;&gt;ChatGPT&lt;/a&gt; #IMPOSSIBLE&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ohdsi.org/&#34;&gt;OHDSI&lt;/a&gt; has a &lt;a href=&#34;https://github.com/OHDSI/Vocabulary-v5.0&#34;&gt;vocabulary&lt;/a&gt; you can download from &lt;a href=&#34;https://athena.ohdsi.org/&#34;&gt;Athena&lt;/a&gt; that includes ICD codes and a lot of medical data standards. It also has a hostable &lt;a href=&#34;https://github.com/OHDSI/WebAPI&#34;&gt;WebAPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;No open source LLM-based tool handles live transcription &lt;em&gt;and&lt;/em&gt; allows you to query notes so far &lt;em&gt;during&lt;/em&gt; the transcription. The closest seems to be &lt;a href=&#34;https://github.com/Zackriya-Solutions/meeting-minutes&#34;&gt;Meetily&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Learnings on AI code editors via Deep Research from &lt;a href=&#34;https://chatgpt.com/share/67ecad81-6390-800c-81f6-61a65ebc5d3f&#34;&gt;ChatGPT&lt;/a&gt;, &lt;a href=&#34;https://g.co/gemini/share/02249fb0c53d&#34;&gt;Gemini&lt;/a&gt;, &lt;a href=&#34;https://x.com/i/grok/share/7BLsfId9mCZOZFiO7TkmDWdol&#34;&gt;Grok&lt;/a&gt;, &lt;a href=&#34;https://www.perplexity.ai/search/write-a-detailed-practical-act-OxUIlTlOQzGi0k_H7DYi3Q&#34;&gt;Perplexity&lt;/a&gt;: #ai-coding
&lt;ul&gt;
&lt;li&gt;GitHub Copilot can identify the source of a code snippet as a repo. That helps with copyright issues.&lt;/li&gt;
&lt;li&gt;Cursor uses a shadow workspace - a temporary sandbox where it edits files before applying changes at one shot.&lt;/li&gt;
&lt;li&gt;Cursor auto-complete has context of other files, i.e. inserting an class in a .js file based on another HTML file&amp;rsquo;s contents.&lt;/li&gt;
&lt;li&gt;Windsurf seems to be best for large code bases and for large-scale refactoring. It can also run test results fix them.&lt;/li&gt;
&lt;li&gt;Windsurf includes a browser and lets you click on an element and prompt to change its behavior, etc. That&amp;rsquo;s good for front-end developers.&lt;/li&gt;
&lt;li&gt;Roo Code can run scripts as part of the workflow, letting you run linting, tests, starting web apps, query databases, etc.&lt;/li&gt;
&lt;li&gt;Roo Code lets you create persona, e.g. code reviewer, data storytelling and analysis, etc. with access to different tools and behaviors.&lt;/li&gt;
&lt;li&gt;Roo Code does not support auto-complete.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s outrage around Cursor not taking responsibility for a rules file backdoor (&lt;a href=&#34;https://x.com/i/grok/share/P7fs71jI5kIKbQSEyxBM9LiLI&#34;&gt;via Grok Deep Research&lt;/a&gt;) and &lt;a href=&#34;https://www.reddit.com/r/cursor/comments/1jmitld/wtf_have_you_done/&#34;&gt;pricing&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://zapier.com/mcp&#34;&gt;Zapier has an MCP server&lt;/a&gt;. That should make most integrations easier.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/astronomer/airflow-ai-sdk&#34;&gt;Airflow AI SDK&lt;/a&gt; is a clever idea. Airflow is a workflow system. Agents are a workflow system (sort of). This SDK exposes LLMs as Airflow tasks.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2503.15299v2&#34;&gt;Hidden Factual Knowledge in LLMs&lt;/a&gt; finds that the hidden states in LLMs contain much more knowledge than they share. (Sort of like sub-consciously knowing the answer.) Even after asking 1,000 times, the answer is not expressed. &lt;a href=&#34;https://chatgpt.com/share/67eb8cee-44f4-800c-9377-25066a5a8ef6&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2503.18866v1&#34;&gt;Reasoning to Learn from Latent Thoughts&lt;/a&gt; finds that the internal reasoning process of LLMs is useful to train other models.&lt;/li&gt;
&lt;li&gt;Notes from &lt;a href=&#34;https://youtu.be/D7BzTxVVMuw&#34;&gt;AI Engineering Summit, NY, Day 1&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;When deploying in production, you need reliable output with fundamentally unreliable components. Sort of like how the ENIAC worked with 17,000 vacuum tubes that would fail every few hours. This is a reliability engineering subject matter and needs to be thought of that way.&lt;/li&gt;
&lt;li&gt;Google
&lt;ul&gt;
&lt;li&gt;Follow up Deep Research queries are a natural way to extend knowledge beyond just a single report&lt;/li&gt;
&lt;li&gt;Deep research offloads less relevant parts of the context to a separate memory store for selective retrieval later.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Anthropic
&lt;ul&gt;
&lt;li&gt;Don&amp;rsquo;t use agents if workflows can do the task.&lt;/li&gt;
&lt;li&gt;The reliability of each individual step of an agent is critical.&lt;/li&gt;
&lt;li&gt;Code, file access, search. These are the top three tools to use.&lt;/li&gt;
&lt;li&gt;Making agents budget aware can help deploy reliably in production.&lt;/li&gt;
&lt;li&gt;Having multiple agents like sub agents can help protect the main agents context window.&lt;/li&gt;
&lt;li&gt;Self evolving tools are a useful next step in the evolution of agents.&lt;/li&gt;
&lt;li&gt;Software development lifecycle is about how we iteratively improve consistently without getting worse. Almost like the scientific principle.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Morgan Stanley
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s easy to improve knowledge in a problem. It&amp;rsquo;s very hard to influence skin in a problem. Reinforcement learning from deepseek seems one of the most promising approaches that allow llms to learn skills&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;I published an eBook on Amazon. It takes about an hour if you have the content ready.
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://account.kdp.amazon.com/&#34;&gt;Set up a Kindle Direct Publishing account&lt;/a&gt; with your address, bank details, and tax information. (10 min.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://wordpress.com/support/export/&#34;&gt;Export&lt;/a&gt; my &lt;a href=&#34;https://www.s-anand.net/blog/category/london-2000/&#34;&gt;London 2000&lt;/a&gt; blog archive and &lt;a href=&#34;https://github.com/lonekorean/wordpress-export-to-markdown&#34;&gt;convert to Markdown&lt;/a&gt;. (15 min)&lt;/li&gt;
&lt;li&gt;Reformat the Markdown by writing a script in Cursor (10 min). Here&amp;rsquo;s the prompt:
&lt;blockquote&gt;
&lt;p&gt;Write a Python script that reads &lt;code&gt;*.md&lt;/code&gt; including the YAML frontmatter, adds the YAML &lt;code&gt;title&lt;/code&gt; as H1, &lt;code&gt;date&lt;/code&gt; (yyyy-mm-dd) like &lt;em&gt;Sun, 01 Jan 2000&lt;/em&gt; in a new para after the frontmatter and before the content.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;Convert it to an ePub using pandoc &lt;code&gt;pandoc *.md -o book.epub --toc --metadata title=&amp;quot;An LBS Exchange Program&amp;quot; --metadata author=&amp;quot;Anand S&amp;quot; --metadata language=en --metadata date=&amp;quot;31 Mar 2025&amp;quot;&lt;/code&gt; (15 min).&lt;/li&gt;
&lt;li&gt;Generated a cover page with &lt;a href=&#34;https://chatgpt.com/&#34;&gt;ChatGPT&lt;/a&gt; (5 min) and compressed it into JPEG via &lt;a href=&#34;https://squoosh.app/&#34;&gt;Squoosh&lt;/a&gt;. (10 min)
&lt;blockquote&gt;
&lt;p&gt;Draw a comic-style book cover page that covers the experiences of an Indian exchange student (picture attached) from IIM Bangalore at London Business School and exploring London. The book title is &amp;ldquo;An LBS Exchange Program&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kdp.amazon.com/&#34;&gt;Publish the book on KDP&lt;/a&gt; (10 min)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There are several &lt;em&gt;small&lt;/em&gt; things that delight me about switching to Ubuntu. One that brings joy to my heart is that I can customize gestures for music on Gnome using &lt;a href=&#34;https://github.com/JoseExposito/touche&#34;&gt;Touche&lt;/a&gt; and &lt;a href=&#34;https://github.com/JoseExposito/touchegg&#34;&gt;TouchEgg&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;Swipe with 3 fingers Up: Increase volume. Execute a command &lt;code&gt;amixer sset Master 5%+&lt;/code&gt;. Repeat command.&lt;/li&gt;
&lt;li&gt;Swipe with 3 fingers Down: Decrease volume. Execute a command &lt;code&gt;amixer sset Master 5%-&lt;/code&gt;. Repeat command.&lt;/li&gt;
&lt;li&gt;Swipe left/right with 3 fingers: Play/Pause VLC. &lt;code&gt;dbus-send --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause&lt;/code&gt; on Gesture start.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Notes from discussion with &lt;a href=&#34;https://www.linkedin.com/in/anandamoy/&#34;&gt;Roy&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;There&amp;rsquo;s more pressure on successful founders in Asia than in the US, since winners are rarer.
&lt;ul&gt;
&lt;li&gt;Most failed founders try another startup based on their experience. Their likelihood of getting funded is largely based on their reputation, e.g. did the venture fail despite them or because of then.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Expertise is over-rated when the underlying context changes. A lot of expertise is about managing current constraints. As Jeff Bezos asks, &amp;ldquo;What are the invariants?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;As the cost of intelligence drops, industries that rely on intelligence are disrupted.
&lt;ul&gt;
&lt;li&gt;E.g. Cyber security. It&amp;rsquo;s a data analysis problem. A needle in the haystack problem. A signal anticipation problem. A classic IQ gap problem.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;As building software becomes easy:
&lt;ul&gt;
&lt;li&gt;Demand will explore, since ROI is higher.&lt;/li&gt;
&lt;li&gt;Not everyone will build software. (3D printers are cheap. How many people own one?)&lt;/li&gt;
&lt;li&gt;So demand for custom software and craftsmen engineers will grow - including from enterprises.&lt;/li&gt;
&lt;li&gt;Demand for SaaS (one-size-fits-all) will shrink.&lt;/li&gt;
&lt;li&gt;Demand for personalized software (services model) will grow.&lt;/li&gt;
&lt;li&gt;Code migration will get consolidated. It&amp;rsquo;s a niche space competing with new app generation. There is an opportunity for high margins in fragmented businesses. Consolidation is likely.&lt;/li&gt;
&lt;li&gt;Verticalized coding agents (i.e. specialized software for specific platforms) might grow.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;ldquo;You don&amp;rsquo;t get the US without the guns!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;AI voice generation is in the uncanny valley. We need non-verbal cues for good voice conversations.
&lt;ul&gt;
&lt;li&gt;An aside: Is the uncanny valley biological? Did the revulsion push homo hapiens to kill off the homo neanderthalensis, homo erectus, etc?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Vertical model gardens (i.e. specialized HuggingFaces, e.g. for HealthCare) are a niche, potentially temporary, opportunity corporates will likely leverage in the near future.&lt;/li&gt;
&lt;li&gt;Thoughts on angel investing.
&lt;ul&gt;
&lt;li&gt;The VC industry is designed to win in the long run. Given a huge AuM base managed by a small team with a steady carry, it&amp;rsquo;s hard to lose in the long term&lt;/li&gt;
&lt;li&gt;But you need that large AuM. Angel investing is &lt;em&gt;not&lt;/em&gt; designed to win.&lt;/li&gt;
&lt;li&gt;Know why you want to angel-invest. Lack of clarity hurts most people&lt;/li&gt;
&lt;li&gt;For most people, angel investing is an expensive MBA. You don&amp;rsquo;t know shit. Invest if a VC will invest &lt;em&gt;at that moment&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;The angel investor matters only until the point of investment. For successful companies, once VCs start funding them, you&amp;rsquo;re a drop in the ocean and irrelevant.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pick portfolio managers who don&amp;rsquo;t advertise. The ones that do don&amp;rsquo;t have enough business. &lt;!-- Roy aims for 18% in India in sub 10K cr companies. --&gt;&lt;/li&gt;
&lt;li&gt;The Telok Blangah walking trail and the Sentosa walk are less known but good walking trails in Singapore.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&#34;https://www.qrcode-monkey.com/#vcard&#34;&gt;QR vCards&lt;/a&gt; instead of business cards. Less to carry. Directly adds to their contacts.&lt;/li&gt;
&lt;li&gt;LLM Native Multimodal image generation experiments:
&lt;ul&gt;
&lt;li&gt;Stickers
&lt;ul&gt;
&lt;li&gt;Sending your wife AI-generated family photos, stickers, etc. is now a thing. Both an AI use case and a &amp;hellip; um&amp;hellip; &amp;ldquo;family media&amp;rdquo; (?) use case. For example, ask ChatGPT to &amp;ldquo;Create a transparent comic-style sticker of a lady chef featuring this person happily cooking salad&amp;rdquo; with a photo. Then &lt;a href=&#34;https://faq.whatsapp.com/639351827594474&#34;&gt;send it as a custom sticker&lt;/a&gt;. &lt;a href=&#34;https://iili.io/3ASLUJ9.png&#34;&gt;Image&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vadivelu stickers work well but the Tamil script generation is poor. &lt;a href=&#34;https://iili.io/3ASs9YF.png&#34;&gt;Image&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Asking ChatGPT to generate 25-year younger pictures of people produces pretty poor results if you really knew what they looked like then. If you didn&amp;rsquo;t, it&amp;rsquo;s fairly convincing. Yet another example of &amp;ldquo;hallucinations&amp;rdquo; - except, it does have its uses.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>MSN hates Opera</title>
      <link>https://www.s-anand.net/blog/msn-hates-opera/</link>
      <pubDate>Sun, 09 Feb 2003 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/msn-hates-opera/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://my.opera.com/dev/discussion/openweb/20030206/&#34;&gt;MSN&amp;rsquo;s attempt to foil Opera&lt;/a&gt;. &lt;a href=&#34;http://www.jacobsen.no/anders/blog/archives/2003/02/07/msncom_plays_dirty_with_opera.html&#34;&gt;via andersja&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Customizable CSS interface</title>
      <link>https://www.s-anand.net/blog/customizable-css-interface/</link>
      <pubDate>Wed, 16 Oct 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/customizable-css-interface/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.alltheweb.com/alchemist/&#34;&gt;AllTheWeb&amp;rsquo;s Alchemist: customizable CSS interface&lt;/a&gt;. Possibly the first non-Google search-engine innovation I&amp;rsquo;ve seen in a few years. AllTheWeb lets you customise the look and feel of your search results. It looks quite flexible, but I wonder how much the interface will be constrained by the bounds of Cascading Style Sheets itself. Google&amp;rsquo;s API may end up being the truly customizable interface. &lt;a href=&#34;http://www.jacobsen.no/anders/blog/archives/2002/10/15/alltheweb_vs_google.html&#34;&gt;via andersja&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Changes to my site</title>
      <link>https://www.s-anand.net/blog/changes-to-my-site/</link>
      <pubDate>Sat, 03 Aug 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/changes-to-my-site/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve overhauled my site, replacing tables and frames with CSS. If you have problems with your browser, please let me know.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>CSS is boring</title>
      <link>https://www.s-anand.net/blog/css-is-boring/</link>
      <pubDate>Wed, 06 Feb 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/css-is-boring/</guid>
      <description>&lt;p&gt;The author of &lt;a href=&#34;http://www.chunkysoup.net/opinion/boringcss/&#34;&gt;CSS is boring&lt;/a&gt; is now making &lt;a href=&#34;http://www.neuralust.com/~cac6982/200202/&#34;&gt;one CSS sheet a day&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Black</title>
      <link>https://www.s-anand.net/blog/black/</link>
      <pubDate>Sat, 06 Oct 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/black/</guid>
      <description>&lt;p&gt;Well, &amp;ldquo;kashmira&amp;rdquo;, is black any better?&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Brown</title>
      <link>https://www.s-anand.net/blog/brown/</link>
      <pubDate>Sun, 30 Sep 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/brown/</guid>
      <description>&lt;p&gt;I got bored of blue. I&amp;rsquo;ve changed this site to a &amp;ldquo;brown&amp;rdquo; theme.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>w3schools</title>
      <link>https://www.s-anand.net/blog/w3schools/</link>
      <pubDate>Fri, 12 Jan 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/w3schools/</guid>
      <description>&lt;p&gt;Learn web-development at &lt;a href=&#34;http://www.w3schools.com/&#34;&gt;w3schools&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
