<?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>ubuntu on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/ubuntu/</link>
    <description>Recent content in ubuntu on S Anand</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 10 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/ubuntu/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Things I Learned - 10 May 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-10-may-2026/</link>
      <pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-10-may-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;m experimenting with &lt;a href=&#34;https://tauonmusicbox.rocks/&#34;&gt;Tauon MusicBox&lt;/a&gt; as an alternative to VLC as a music player. Update: 01 Jun 2026. I switched back to VLC. Tauon Music Box is glitch. It stops songs mid-way and doesn&amp;rsquo;t play automatically when launched.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xz&lt;/code&gt; is pretty slow by default. &lt;code&gt;xz -T0&lt;/code&gt; uses all available threads and speeds it up ~3X. Enabling &amp;ldquo;Performance mode&amp;rdquo; (over a power-saver mode) produces a further speed-up of ~2X for me. For a 200MB file, that reduces the time from ~1 minute to 10 seconds.&lt;/li&gt;
&lt;li&gt;Notes from &lt;a href=&#34;https://simonwillison.net/2026/May/6/code-w-claude-2026/&#34;&gt;Simon Willison&amp;rsquo;s notes from the Claude Code event&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Design for the next model&amp;rdquo;. Build things that don&amp;rsquo;t quite work today on the assumption that they&amp;rsquo;ll start working with a model upgrade in the future.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The advisor strategy&amp;rdquo;. Instead of using a smarter model to plan, use smaller models to ask Opus for advice-on-demand.&lt;/li&gt;
&lt;li&gt;Dreaming looks really interesting. You can run a task over night which examines previous sessions and creates new memories.&lt;/li&gt;
&lt;li&gt;A &lt;a href=&#34;https://code.claude.com/docs/en/routines&#34;&gt;routine&lt;/a&gt; is a saved Claude Code configuration: a prompt, one or more repositories, and a set of connectors, packaged once and run automatically. Routines execute on Anthropic-managed cloud infrastructure, so they keep working when your laptop is closed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Overheard: &amp;ldquo;VCs say, &amp;lsquo;OpenAI wants to get into commerce, so why are you getting into commerce?&amp;rsquo; A few weeks later, &amp;lsquo;OpenAI no longer wants to get into commerce, so why are you?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Delightful discovery of the day: Super + Shift + Arrow keys to move windows between monitors on Ubuntu.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/alexpasmantier/television&#34;&gt;television&lt;/a&gt; is a fast, portable fuzzy finder. Like &lt;code&gt;fzf&lt;/code&gt; but faster, useful for files, text, git repos, docker images, etc.&lt;/li&gt;
&lt;li&gt;I added &lt;code&gt;approvals_reviewer = &amp;quot;auto_review&amp;quot;&lt;/code&gt; to my &lt;code&gt;~/.codex/config.toml&lt;/code&gt;. This enables &lt;a href=&#34;https://alignment.openai.com/auto-review&#34;&gt;auto review&lt;/a&gt; which uses an LLM to figure out whether to ask a human to approve or not. It&amp;rsquo;s a lot less intrusive than asking every time. Not perfectly safe, though.&lt;/li&gt;
&lt;li&gt;Copilot supports a &lt;a href=&#34;https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle&#34;&gt;&lt;code&gt;/chronicle&lt;/code&gt;&lt;/a&gt; command that suggest tips and improvements when using Copilot. It&amp;rsquo;s like &lt;code&gt;/insights&lt;/code&gt; on Claude Code and&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/fathyb/carbonyl/releases&#34;&gt;Carbonyl&lt;/a&gt; is a CLI Chromium browser. Sort of like Lynx, but supports audio/video, JavaScript, even WASM, etc. This was the &lt;a href=&#34;https://fathy.fr/carbonyl&#34;&gt;author&amp;rsquo;s first Rust project&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I tried &lt;a href=&#34;https://zed.dev/&#34;&gt;Zed&lt;/a&gt; as an alternative to VS Code. It&amp;rsquo;s fast and lightweight, but lacks the ecosystem of VS Code. Plugins are harder to build and Markdown support is weak. I would use it on a flight to save power, not otherwise. This is similar to others&amp;rsquo; experience. &lt;a href=&#34;https://chatgpt.com/share/69f703b4-409c-83ea-a9fd-0c601de973f3&#34;&gt;ChatGPT&lt;/a&gt; &lt;!-- https://chatgpt.com/c/69f6cf11-f870-83ea-b9bb-e35402db3226 --&gt; UPDATE 05 Jun 2026. It DOES use some battery power - more than I&amp;rsquo;d like. I am uninstalling it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/localsend/localsend&#34;&gt;LocalSend&lt;/a&gt; is a pretty quick way to share files between phone and laptop even if you don&amp;rsquo;t have a network - if you connect the laptop to the phone hotspot.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://flathub.org/en/apps/org.gnome.NetworkDisplays&#34;&gt;GNOME Network Displays&lt;/a&gt; works pretty well if you want to screencast your screen to a network display - e.g. a Smart TV with Miracast or Chromecast support.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m evaluating &lt;a href=&#34;https://github.com/rtk-ai/rtk&#34;&gt;rtk&lt;/a&gt; - a CLI proxy to reduce tokens. For example &lt;code&gt;rtk ls&lt;/code&gt; or &lt;code&gt;rtk git status&lt;/code&gt; shows agent-friendly compact output. I just added one like to my AGENTS.md: &amp;ldquo;Always prefix shell commands with &lt;code&gt;rtk&lt;/code&gt;. Examples: &lt;code&gt;rtk git status&lt;/code&gt;, &lt;code&gt;rtk pytest -q&lt;/code&gt;, etc.&amp;rdquo; instead of using &lt;code&gt;rtk init -g&lt;/code&gt;. I am testing it out, so I don&amp;rsquo;t know the impact, but it seems harmless. (Based on 2 days&amp;rsquo; usage, across 216 commands, it saved ~50% of 37K tokens. Not much, but harmless.)&lt;/li&gt;
&lt;li&gt;The emerging convention to mark a section of HTML / Markdown as AI generated content is to wrap it in:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;section ai-disclosure=&amp;quot;ai-generated&amp;quot; data-ai-model=&amp;quot;claude-sonnet-4.6&amp;quot; data-ai-provider=&amp;quot;Anthropic&amp;quot;&amp;gt;&lt;/code&gt; (&lt;a href=&#34;https://www.w3.org/community/ai-content-disclosure/&#34;&gt;W3C AI Content Disclosure Community Group&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 05 Apr 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-05-apr-2026/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-05-apr-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s pretty convenient (on Ubuntu) to be able to move windows around desktops. Apart from the usual Super + Arrow keys to manage windows within a desktop, you can use:
&lt;ul&gt;
&lt;li&gt;Ctrl + Alt + Left/Right Arrow: Move desktops&lt;/li&gt;
&lt;li&gt;Ctrl + Alt + Shift + Left/Right Arrow: Move window to desktop&lt;/li&gt;
&lt;li&gt;Super + Shift + Arrow: Move window to another monitor&lt;/li&gt;
&lt;li&gt;Super + Drag: Drag window from anywhere&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jq . file.json&lt;/code&gt; is an efficient way to pretty-print JSON files in the terminal. (Or &lt;code&gt;jaq . file.json&lt;/code&gt;, which is ~30% faster.)&lt;/li&gt;
&lt;li&gt;GitHub Copilot monthly premium requests were &lt;em&gt;not&lt;/em&gt; reset at 12 am UTC&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://social.jvns.ca/@b0rk/116297197345549083&#34;&gt;How Diffie Hellman Key Exchange Works&lt;/a&gt; by Julia Evans is an &lt;em&gt;excellent&lt;/em&gt; explanation. Share a random number. A multiplies it by their private key and shares S&lt;em&gt;A. B multiplies it by their private key and shares S&lt;/em&gt;B. They multiply the others&amp;rsquo; key with their secret key and they get S&lt;em&gt;A&lt;/em&gt;B = S&lt;em&gt;B&lt;/em&gt;A. Now &lt;em&gt;both&lt;/em&gt; of them have the same &lt;em&gt;new&lt;/em&gt; secret they can encrypt/decrypt with, but no one else knows, even though they shared everything publicly! This may be one of the &lt;strong&gt;best&lt;/strong&gt; cool uses of math I&amp;rsquo;ve seen in a long time.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.hofstede.it/shell-tricks-that-actually-make-life-easier-and-save-your-sanity/&#34;&gt;Shell tricks&lt;/a&gt; I didn&amp;rsquo;t know:
&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;&lt;span class=&#34;c1&#34;&gt;# ALT + . cycles through the last arguments typed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mv file.&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;txt,md&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Move file.txt to file.md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls &lt;span class=&#34;p&#34;&gt;|&amp;amp;&lt;/span&gt; tee file.txt  &lt;span class=&#34;c1&#34;&gt;# Pipe both stdout and stderr to tee&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&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>SSH Tunneling via Rackspacecloud</title>
      <link>https://www.s-anand.net/blog/ssh-tunneling-via-rackspacecloud/</link>
      <pubDate>Thu, 11 Feb 2010 17:42:14 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/ssh-tunneling-via-rackspacecloud/</guid>
      <description>&lt;p&gt;I wrote about &lt;a href=&#34;https://www.s-anand.net/blog/ssh-tunneling-through-web-filters/&#34;&gt;SSH Tunneling through web filters&lt;/a&gt; using &lt;a href=&#34;http://aws.amazon.com/ec2/&#34;&gt;Amazon’s EC2&lt;/a&gt; at 8 cents/hr. With &lt;a href=&#34;http://www.rackspacecloud.com/cloud_hosting_products/servers&#34;&gt;Rackspacecloud&lt;/a&gt;, you can get that down to 1.5 cents/hr. This turns out to be a lot simpler than EC2 as well!
&lt;strong&gt;Ingredients&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://www.rackspacecloud.com/signup&#34;&gt;Rackspacecloud account&lt;/a&gt; (sign up for free – you won’t be charged until you use it)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&#34;&gt;Putty&lt;/a&gt; (which may be available on your Intranet, if you’re lucky)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Directions&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On the Rackspacecloud console, click on &lt;a href=&#34;https://www.knownhost.com/wordpress-hosting.html&#34;&gt;wordpress website hosting&lt;/a&gt;– Cloud Servers – Add Server and select Ubuntu 9.10 (Karmic Koala). Actually, you can pick any other instance. I’m going to talk through this using Ubuntu 9.10 as the example.
&lt;a href=&#34;https://www.s-anand.net/blog/assets/ssh1.webp&#34;&gt;&lt;img alt=&#34;ssh-1&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/ssh1.webp&#34; title=&#34;ssh-1&#34;&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Type any server name, pick a 256MB RAM instance, and click on Create Server.
&lt;a href=&#34;https://www.s-anand.net/blog/assets/ssh2.webp&#34;&gt;&lt;img alt=&#34;ssh-2&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/ssh2.webp&#34; title=&#34;ssh-2&#34;&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Once the server has started, you’ll get the screen below. Click on the Console to open a session.
&lt;a href=&#34;https://www.s-anand.net/blog/assets/ssh3.webp&#34;&gt;&lt;img alt=&#34;ssh-3&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/ssh3.webp&#34; title=&#34;ssh-3&#34;&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Your password would have been e-mailed to the account you registered with. Log in as root with that password. Now type the following:
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;sed –i &amp;ldquo;s/^Port 22/Port 443/&amp;rdquo; /etc/ssh/sshd_config
/etc/init.d/ssh restart&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;   [![ssh-4](/blog/assets/ssh4.webp &amp;#34;ssh-4&amp;#34;)](/blog/assets/ssh4.webp)
5. Run Putty. Type in **[root@](mailto:root@&amp;lt;server-IP-address)**[**&amp;lt;server-IP-address**](mailto:root@&amp;lt;server-IP-address)**&amp;gt;** as the host name, and **443** as the port
   ![putty14](/blog/assets/putty14.webp &amp;#34;putty14&amp;#34;)
6. Under **Connection &amp;gt; Proxy**, set **HTTP** as the proxy type. Type in the **Proxy hostname** and **Port** you normally use to access the Internet. Select **Yes** for **Do DNS name lookup at proxy end**. Type in your Windows login ID and password.
   ![putty22](/blog/assets/putty22.webp &amp;#34;putty22&amp;#34;)
7. Under **Connection &amp;gt; SSH**, select **Enable Compression**.
   ![putty53](/blog/assets/putty53.webp &amp;#34;putty53&amp;#34;)
8. Under **Connection &amp;gt; SSH &amp;gt; Tunnels**, type **9090** as the **Source port**, **Dynamic** as the **Destination**, and click **Add**.
   ![putty42](/blog/assets/putty42.webp &amp;#34;putty42&amp;#34;)
9. Now click **Open**. You should get a terminal into your Rackspacecloud instance. Log in with the same password as before.
10. Open your Browser, and set the SOCKS server to localhost:9090. For Internet Explorer, go to **Tools – Options – Connections – LAN Settings**, select **Use a proxy ...**, click on **Advanced**, and type **localhost**:**9090** as the **Socks** server. Leave all other fields blank.
    ![ieconfig2](/blog/assets/ieconfig2.webp &amp;#34;ieconfig2&amp;#34;)
11. For Firefox, go to **Tools – Options – Advanced – Network – Settings** and select **Manual proxy configuration**. Set the Socks Host to **localhost**:**9090** and leave all other fields blank.
    ![ffconfig2](/blog/assets/ffconfig2.webp &amp;#34;ffconfig2&amp;#34;)
12. Also, go to URL **about:config**, and make sure that **network.proxy.socks\_remote\_dns** is set to **true**.

---

## Comments

&amp;lt;!-- wp-comments-start --&amp;gt;
- **Kishor Gandham** _28 Feb 2010 3:41 pm_:
  Excellent post Anand. I was able to connect to Gmail while at work through the SSH tunnel using the free shell account provided by CJB.
  One issue that I faced: Putty doesnt seem to be supporting HTTP proxies with NTLM authentication. To overcome, I use NTLMAPS (http://ntlmaps.sourceforge.net/) to create a local HTTP proxy.
  Cheers,
  Kishor
- **[S Anand](http://www.s-anand.net/)** _11 Feb 2010 9:48 pm_:
  Cool tip from Amit http://www.google.com/profiles/chakradeo
  There is another Free (and slow) option. Use http://www.cjb.net/shell.html
  They run ssh server on port 22 and 443. It is a basic account, and they run all outbound TCP traffic via the TOR network, which gives you anonymity too. But the downside is the slow speed!
- **pgt** _13 Feb 2010 3:39 pm_:
  The 1.5c/hour is just a teaser and for all practical purposes this works out to $10.95/month as there is no option to shutdown the machine.
  From their FAQ
  Currently the server would either be running or you would have to delete it altogether. There is no &amp;#34;suspension&amp;#34; mode where you are not charged while not receiving traffic to the server
- **[S Anand](http://www.s-anand.net/)** _14 Feb 2010 4:56 pm_:
  @pgt: well, not quite. You can use it hourly. That&amp;#39;s how I do it. I just create an instance when I need to, use it for an hour or two, and then shut it down.
- **i** _31 Mar 2012 8:29 pm_:
  While you can&amp;#39;t suspend, you can save a custom image of the server with your sshd config, usernames, passwords, RSA keys, etc. already set up. Then you can create an instance as needed and delete it when you&amp;#39;re done, without duplication of effort.
&amp;lt;!-- wp-comments-end --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Ubuntu 8.10 on a Dell Latitude D420</title>
      <link>https://www.s-anand.net/blog/ubuntu-8-10-on-a-dell-latitude-d420/</link>
      <pubDate>Thu, 15 Jan 2009 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/ubuntu-8-10-on-a-dell-latitude-d420/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s the fastest way I&amp;rsquo;ve found to install Ubuntu on a USB flash drive, for my Dell Latitude D420. (&lt;a href=&#34;http://www.pendrivelinux.com&#34;&gt;Pendrivelinux.com&lt;/a&gt; is a great resource for this sort of thing.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ingredients&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;One large USB flash drive &lt;a href=&#34;http://www.amazon.co.uk/exec/obidos/ASIN/B001E97G6C&#34;&gt;like this one&lt;/a&gt;. Not less than 4GB. I&amp;rsquo;d suggest 8GB or more&lt;/li&gt;
&lt;li&gt;One CD (not a DVD)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://releases.ubuntu.com/releases/8.10/ubuntu-8.10-desktop-i386.iso&#34;&gt;Ubuntu 8.10 desktop&lt;/a&gt; CD ISO&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.imgburn.com/&#34;&gt;IMGBurn&lt;/a&gt; or any other CD burning software&lt;/li&gt;
&lt;li&gt;Direct Internet via LAN cable (without proxy, without wireless)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;http://www.pendrivelinux.com/ubuntu-810-install-using-the-built-in-usb-installer/&#34;&gt;Installation&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Burn the Ubuntu ISO file on the CD&lt;/li&gt;
&lt;li&gt;Press F12 when the laptop boots up, and select CD/DVD Drive as the boot device&lt;/li&gt;
&lt;li&gt;On the Ubuntu splash screen, select &amp;ldquo;Try Ubuntu without making any change to your computer&amp;rdquo; and wait&lt;/li&gt;
&lt;li&gt;Insert the flash drive&lt;/li&gt;
&lt;li&gt;Go to System &amp;gt; Administration &amp;gt; Create a USB startup disk and follow instructions there&lt;/li&gt;
&lt;li&gt;Once done, remove the CD and reboot using the USB flash drive (pressing F12 during the boot sequence)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;To enable wireless&lt;/strong&gt;, which won&amp;rsquo;t work by default&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Connect to the Internet using a LAN cable&lt;/li&gt;
&lt;li&gt;Go to System &amp;gt; Administration &amp;gt; Hardware devices&lt;/li&gt;
&lt;li&gt;Select the Broadcom LAN driver, and activate it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;rsquo;s it. It&amp;rsquo;s been a fairly painless installation.&lt;/p&gt;
&lt;p&gt;I do have one big crib. I planned to use Hibernation (or suspend-to-disk on Ubuntu) to switch between Windows and Ubuntu. But there are a couple of problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hibernate doesn&amp;rsquo;t work on Ubuntu. I need to reboot Ubuntu every time, and that takes 3 minutes&lt;/li&gt;
&lt;li&gt;When Windows is hibernating, Ubuntu can&amp;rsquo;t access any files on the hard disk&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This means switching between Ubuntu and Windows is roughly a 6 minute shutdown-one-OS-reboot-the-other process rather than the 1-minute hibernate-one-OS-resume-the-other that I had had hoped for.&lt;/p&gt;
&lt;p&gt;Another minor problem I have is that our Exchange server doesn&amp;rsquo;t seem to have an IMAP interface, at least that I know of. So I can&amp;rsquo;t check mail. But like I said, it&amp;rsquo;s minor. I just forward mails from my BlackBerry to GMail.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;deeaycee&lt;/strong&gt; &lt;em&gt;19 Jan 2009 10:50 am&lt;/em&gt;:
Your post is how I got my wireless working. Thank you.&lt;br&gt;
I&amp;rsquo;m also using a Dell D420. I have 8.10 on a 8g Attache flash drive. I ran into a problem while updating. I&amp;rsquo;m stuck at kernel 2.6.27-7 and it should be updating to 2.6.27-11. The error it gives has something to do with running from a live-cd. After some research, I found that there is a bug that prevents solid updates from the live-cd. The work-around is to actually do a real install to the flash drive from the live-cd. This presents another problem/bug. The only way to see the flash drive during the install is to disconnect the hd, so the install prg doesn&amp;rsquo;t see it. It was suggested to physically disconnect the hd, but I wonder if it could be done temporarily through the bios. I&amp;rsquo;ll try this later today. I haven&amp;rsquo;t even thought about the hibernation/suspend issues yet. Good luck!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;http://www.bmezine.com&#34;&gt;ActionParsnip&lt;/a&gt;&lt;/strong&gt; &lt;em&gt;30 May 2010 10:22 pm&lt;/em&gt;:
orks 100% OOTB with Ubuntu Lucid.&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
  </channel>
</rss>
