<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Codaholic</title>
    <link>https://sriku.org/</link>
    <description>Recent content on Codaholic</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 02 Apr 2026 19:14:44 +0530</lastBuildDate>
    <atom:link href="https://sriku.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Purpose Is Invariant</title>
      <link>https://sriku.org/posts/purpose-is-invariant/</link>
      <pubDate>Thu, 02 Apr 2026 19:14:44 +0530</pubDate>
      <guid>https://sriku.org/posts/purpose-is-invariant/</guid>
      <description>&lt;p&gt;Recently I read a statement by Dr. Timnit Gebru that lodged in my head for a while -&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;The purpose of a system is what it does.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Apart from the critique that it is of so called &amp;ldquo;AI&amp;rdquo; systems we&amp;rsquo;re building today,&#xA;it got me thinking about &amp;ldquo;purpose&amp;rdquo; in general.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modular Arithmetic in Lambda Calculus</title>
      <link>https://sriku.org/posts/modular-arithmetic-in-lambda-calculus/</link>
      <pubDate>Sat, 28 Mar 2026 10:59:29 +0530</pubDate>
      <guid>https://sriku.org/posts/modular-arithmetic-in-lambda-calculus/</guid>
      <description>&lt;p&gt;Recently I got curious about &lt;a href=&#34;https://en.wikipedia.org/wiki/P-adic_number&#34;&gt;p-adic numbers&lt;/a&gt; and was wondering how&#xA;to construct them just using lambda calculus. Why? No real reason except to&#xA;entertain myself. I realized that to do that I need to first represent modular&#xA;numbers &amp;ndash; i.e. numbers as equivalence classes of the natural numbers &amp;ndash; and&#xA;the arithmetic around them before I can proceed to do this. So this is a follow&#xA;on to the earlier workout involving paired up functions and their inverses&#xA;applied to representing integers - in &lt;a href=&#34;https://sriku.org/posts/church-brahmagupta-numerals/&#34;&gt;Church-Brahmagupta numerals&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CS edu and &#39;AI coding agents&#39;</title>
      <link>https://sriku.org/posts/csed-and-agents/</link>
      <pubDate>Fri, 20 Feb 2026 16:15:37 +0530</pubDate>
      <guid>https://sriku.org/posts/csed-and-agents/</guid>
      <description>&lt;p&gt;Damn! Not a day goes by without pondering over the nature of CS-ed going&#xA;forward, given &amp;ldquo;AI coding agents&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: DRAFT THOUGHT DUMP&lt;/p&gt;</description>
    </item>
    <item>
      <title>And a Magnetic Field Appears</title>
      <link>https://sriku.org/posts/and-a-magnetic-field-appears/</link>
      <pubDate>Thu, 19 Feb 2026 21:06:40 +0530</pubDate>
      <guid>https://sriku.org/posts/and-a-magnetic-field-appears/</guid>
      <description>&lt;p&gt;I recently thought-encountered a physics situation in which all charges appear stationary&#xA;and yet a magnetic field appears. Here I&amp;rsquo;ll try to examine this situation in a few different&#xA;ways.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grokking Fermat&#39;s last theorem</title>
      <link>https://sriku.org/posts/flt/</link>
      <pubDate>Wed, 17 Sep 2025 21:14:53 +0530</pubDate>
      <guid>https://sriku.org/posts/flt/</guid>
      <description>&lt;p&gt;One day I just happened to wake up thinking of Fermat&amp;rsquo;s last theorem and an&#xA;urge to try and get a feel for why it is plausible at all. I don&amp;rsquo;t have the&#xA;math chops to grok Wiles&amp;rsquo; proof, but was just reaching for something which&#xA;could suggest to me why it &lt;strong&gt;might&lt;/strong&gt; be true at all. This is what I came up&#xA;with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pascal&#39;s Determinant</title>
      <link>https://sriku.org/posts/pascals-determinant/</link>
      <pubDate>Thu, 04 Sep 2025 07:21:54 +0530</pubDate>
      <guid>https://sriku.org/posts/pascals-determinant/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Status&lt;/strong&gt;: Draft (and will likely remain so due to the spirit of the thing)&lt;/p&gt;&#xA;&lt;p&gt;I came across mathematician Timothy Gowers&amp;rsquo; youtube video - &lt;a href=&#34;https://www.youtube.com/watch?v=byjhpzEoXFs&#34;&gt;A strange&#xA;determinant&lt;/a&gt; some time ago.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; In that video, he captures&#xA;in real time his approach to a maths problem he hadn&amp;rsquo;t solved earlier. I really&#xA;appreciated what he did there as this has been inspirational at so many levels&#xA;and I&amp;rsquo;ve been citing this as an example of the attitude it takes to work on&#xA;problems of comparable intellectual nature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PLHCI - muSE&#39;s &#39;the&#39; and &#39;it&#39;</title>
      <link>https://sriku.org/posts/plhci-muse/</link>
      <pubDate>Mon, 25 Nov 2024 06:24:02 +0530</pubDate>
      <guid>https://sriku.org/posts/plhci-muse/</guid>
      <description>&lt;p&gt;Will Crichton in &lt;a href=&#34;https://blog.sigplan.org/2024/11/21/evaluating-human-factors-beyond-lines-of-code/&#34;&gt;Evaluating Human Factors Beyond Lines of Code&lt;/a&gt;&#xA;recapped and outlined how programmers are users too and so programming&#xA;languages need to be looked at through the HCI lens. He suggests using more&#xA;precise vocabulary than &amp;ldquo;usability&amp;rdquo; and mentioned the &lt;a href=&#34;https://www.sciencedirect.com/science/article/pii/S1045926X96900099&#34;&gt;cognitive dimensions of&#xA;notation&lt;/a&gt; paper as providing some to consider. I thought it might be a&#xA;useful exercise to try and describe &lt;a href=&#34;https://github.com/srikumarks/muSE/&#34;&gt;muSE&lt;/a&gt;&amp;rsquo;s &lt;code&gt;the&lt;/code&gt; and &lt;code&gt;it&lt;/code&gt; constructs&#xA;(&lt;a href=&#34;https://github.com/srikumarks/muSE/wiki/TheAndIt&#34;&gt;ref&lt;/a&gt;) through that lens &amp;hellip; as practice.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GPU friendly approximate matrix exp and log</title>
      <link>https://sriku.org/posts/explog/</link>
      <pubDate>Thu, 01 Aug 2024 03:49:18 +0530</pubDate>
      <guid>https://sriku.org/posts/explog/</guid>
      <description>&lt;p&gt;Matrix &lt;code&gt;exp&lt;/code&gt; and &lt;code&gt;log&lt;/code&gt; calculations typically involve eigen-decomposition which&#xA;is not very GPU friendly. For matrices with &amp;ldquo;well behaved&amp;rdquo; eigenvalues, the&#xA;calculation approaches in this post seem to work sufficiently well without&#xA;using eigen decomposition or matrix inverse.&lt;/p&gt;</description>
    </item>
    <item>
      <title>That&#39;s odd</title>
      <link>https://sriku.org/posts/thatsodd/</link>
      <pubDate>Sun, 21 Apr 2024 06:50:02 +0530</pubDate>
      <guid>https://sriku.org/posts/thatsodd/</guid>
      <description>&lt;p&gt;Sort of a fun &amp;ldquo;what if?&amp;rdquo; question in physics &amp;ndash; What if we considered gravity&#xA;to be approximated by a weaker &amp;ldquo;secondary&amp;rdquo; force in addition to the usual&#xA;attractive force &amp;hellip; similar to how the magnetic field relates to the electric&#xA;field, and let it obey similar equations?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nerd sniped!</title>
      <link>https://sriku.org/posts/nerdsniped/</link>
      <pubDate>Mon, 15 Jan 2024 22:38:31 +0530</pubDate>
      <guid>https://sriku.org/posts/nerdsniped/</guid>
      <description>&lt;p&gt;Ok, I was nerd-sniped by the problem at &lt;a href=&#34;https://xkcd.com/356/&#34;&gt;https://xkcd.com/356/&lt;/a&gt; .&#xA;But I&amp;rsquo;m wondering if I managed to survive it somehow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On the Pythagorean &#34;theorem&#34;</title>
      <link>https://sriku.org/posts/on-the-pythagorean-theorem/</link>
      <pubDate>Sat, 11 Nov 2023 14:55:08 +0530</pubDate>
      <guid>https://sriku.org/posts/on-the-pythagorean-theorem/</guid>
      <description>&lt;p&gt;(&lt;strong&gt;Status&lt;/strong&gt;: draft)&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve long held a view in my mind that the very well known Pythagorean &amp;ldquo;theorem&amp;rdquo;&#xA;is not a &amp;ldquo;theorem&amp;rdquo; &amp;ndash; in the sense of being able to be derived from a set of&#xA;axioms through logical deduction. I want to jot down this thinking here because&#xA;I think it is important for pedagogical reasons &amp;hellip; but mostly I just want to&#xA;get it off my chest even if the mathematical community considers this&#xA;blasphemy. So I shall refer to this using &amp;ldquo;theorem&amp;rdquo; in quotes throughout this&#xA;writeup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Measurement</title>
      <link>https://sriku.org/posts/measurement/</link>
      <pubDate>Sat, 15 Apr 2023 14:48:11 +0530</pubDate>
      <guid>https://sriku.org/posts/measurement/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve never quite felt that I understood what &amp;ldquo;measurement&amp;rdquo; means in quantum&#xA;mechanics and my recent engagement with quantum computing surfaced this rather&#xA;starkly. I&amp;rsquo;m not talking at the handwaving level of &amp;ldquo;wavefunction collapse&amp;rdquo; and&#xA;such esoteric things. I just want an ordinary close hand-lens view understanding&#xA;of what measurement is, even if incomplete at some level. This post is an&#xA;attempt at that. If any reader thinks I should read up X/Y/Z to understand&#xA;this, I&amp;rsquo;d much appreciate any links/references.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deep Type (2016)</title>
      <link>https://sriku.org/posts/deep-type/</link>
      <pubDate>Fri, 03 Feb 2023 02:42:00 +0530</pubDate>
      <guid>https://sriku.org/posts/deep-type/</guid>
      <description>&lt;p&gt;(This post was originally posted on the Imaginea blog on &lt;strong&gt;27 May 2016&lt;/strong&gt;. That blog&#xA;now no longer exists, so I&amp;rsquo;m reposting it here. I have &lt;a href=&#34;https://web.archive.org/web/20201201051900/https://blog.imaginea.com/deep-type/&#34;&gt;The Internet Archive&lt;/a&gt; to&#xA;thank for keeping a copy of the text and my colleague Srikant Patil for his help&#xA;recovering the images originally presented in this post from an archive.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generating values that fit a probability distribution</title>
      <link>https://sriku.org/posts/sample-prob-dist/</link>
      <pubDate>Tue, 31 Jan 2023 09:13:20 +0530</pubDate>
      <guid>https://sriku.org/posts/sample-prob-dist/</guid>
      <description>&lt;p&gt;Constrained randomness is useful in adding a dash of variety to computer&#xA;composed music. Picking values that fit a parametric probabilty distribution&#xA;whose parameters are used for control is therefore a common case. Here I&#xA;describe how to do that given access to only a uniform random number generator&#xA;in the unit interval.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Fourier Transform as a number</title>
      <link>https://sriku.org/posts/ft-as-a-number/</link>
      <pubDate>Sun, 15 Jan 2023 19:27:12 +0530</pubDate>
      <guid>https://sriku.org/posts/ft-as-a-number/</guid>
      <description>&lt;p&gt;There is no dearth of explanations of the Fourier transform on the internet.&#xA;Being a believer in understanding a concept from as many perspectives as possible,&#xA;I welcome all of them. Here I offer yet another perspective that is &amp;ldquo;intuitive&amp;rdquo;&#xA;in its own way and yet is not something I&amp;rsquo;ve seen presented often or presented&#xA;in yet more mysterious ways.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Techie Kurals</title>
      <link>https://sriku.org/posts/techie-kurals/</link>
      <pubDate>Sat, 26 Nov 2022 18:15:50 +0530</pubDate>
      <guid>https://sriku.org/posts/techie-kurals/</guid>
      <description>&lt;p&gt;Kurals are posted in public transport in Chennai - trains as well as buses.&#xA;When taking them pre-covid to work, I used to amuse myself by translating&#xA;them into techie parlance. These are gathered from my tweets. Maybe I should&#xA;expand the collection and maybe I will, but for now, here it is. I feel the&#xA;fun of doing this is spoilt if I provide the actual translation in English&#xA;too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ranking emissions by country</title>
      <link>https://sriku.org/posts/emissions-per-unit-area-by-country/</link>
      <pubDate>Sat, 29 Oct 2022 11:37:48 +0530</pubDate>
      <guid>https://sriku.org/posts/emissions-per-unit-area-by-country/</guid>
      <description>&lt;p&gt;In issues of policy and negotiations between countries on actions to be taken&#xA;to mitigate climate change, the country-level figures that get discussed are either&#xA;total emissions or per capita emissions. While total emissions is an important figure,&#xA;per capita emissions gets all the attention. I&amp;rsquo;m starting to think that might be the&#xA;wrong number to focus on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A note on Alain Aspect&#39;s 2022 Nobel prize win</title>
      <link>https://sriku.org/posts/alain-aspect-nobel/</link>
      <pubDate>Sun, 09 Oct 2022 13:04:28 +0530</pubDate>
      <guid>https://sriku.org/posts/alain-aspect-nobel/</guid>
      <description>&lt;p&gt;(This note on Alain Aspect getting the 2022 Nobel prize was shared by Prof.&#xA;Sivakumar Srinivasan of Krea University. I&amp;rsquo;m posting this note here with his&#xA;permission. I&amp;rsquo;ve taken a bit of liberty to split into paragraphs for easier&#xA;reading. No other changes to his note.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Church-Brahmagupta Numerals</title>
      <link>https://sriku.org/posts/church-brahmagupta-numerals/</link>
      <pubDate>Mon, 15 Aug 2022 18:45:29 +0530</pubDate>
      <guid>https://sriku.org/posts/church-brahmagupta-numerals/</guid>
      <description>&lt;p&gt;Alonzo Church&amp;rsquo;s insight that &lt;code&gt;lambda&lt;/code&gt; is sufficient to express all of&#xA;computation is a non-intuitive stunning revelation. Showing that numbers can be&#xA;represented using lambda alone using what&amp;rsquo;s come to be known as &amp;ldquo;Church&#xA;numerals&amp;rdquo; is also brilliant. However, subtraction was a problem with plain&#xA;Church numerals. Kleene solved that by using a pair of numbers instead. However&#xA;even Kleene&amp;rsquo;s construction doesn&amp;rsquo;t give us a representation for negative&#xA;numbers. Here we&amp;rsquo;ll look at a possible way to use Brahmagupta&amp;rsquo;s formulation to&#xA;represent integers using lambda.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Transformer</title>
      <link>https://sriku.org/posts/transformer/</link>
      <pubDate>Wed, 08 Jun 2022 19:37:38 +0530</pubDate>
      <guid>https://sriku.org/posts/transformer/</guid>
      <description>&lt;p&gt;&lt;strong&gt;THIS IS A DRAFT v1 as of 9 June 2022&lt;/strong&gt;. Posting it early. Beware of&#xA;bugs/errors. Will remove this notice once they&amp;rsquo;re cleaned up. Will also&#xA;post full code soon.&lt;/p&gt;&#xA;&lt;p&gt;I present the transformer architecture from ground up in &lt;a href=&#34;https://julialang.org&#34;&gt;Julia&lt;/a&gt; in this&#xA;post. While my main purpose is to understand it in all detail without relying&#xA;on any framework, I&amp;rsquo;m also hoping to try this out a way to teach machine&#xA;learning &amp;hellip; i.e. assuming whole program gradient calculation as a primitive. I&#xA;won&amp;rsquo;t be explaining the &lt;em&gt;why&lt;/em&gt; of the transformer architecture &amp;ndash; for which I&#xA;refer to &lt;a href=&#34;https://jalammar.github.io/illustrated-transformer/&#34;&gt;Jay Alammar&amp;rsquo;s awesome tutorial&lt;/a&gt; &amp;ndash; but mostly the &lt;em&gt;how&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odd and even numbers</title>
      <link>https://sriku.org/posts/odd-and-even-numbers/</link>
      <pubDate>Thu, 14 Apr 2022 19:02:20 +0530</pubDate>
      <guid>https://sriku.org/posts/odd-and-even-numbers/</guid>
      <description>&lt;p&gt;This is a post by my kid, His first post! The rest of the text below is his attempt at explaining odd and even numbers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Patterns</title>
      <link>https://sriku.org/posts/patterns/</link>
      <pubDate>Fri, 18 Feb 2022 20:00:00 +0530</pubDate>
      <guid>https://sriku.org/posts/patterns/</guid>
      <description>&lt;p&gt;My kid&amp;rsquo;s math teacher recently posted a puzzle for the parents that got me down&#xA;a rabbit hole of sorts and made me reflect on a number of things. This post is&#xA;about that &amp;hellip; and I mix the math and programming bits. I describe the puzzle&#xA;in the first section and then the rest reveal aspects of the solution. So if&#xA;you want to avoid the spoilers, you should stop reading after the first&#xA;section.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dual Vector Spaces</title>
      <link>https://sriku.org/posts/dual-vector-spaces/</link>
      <pubDate>Tue, 18 Jan 2022 12:35:37 +0530</pubDate>
      <guid>https://sriku.org/posts/dual-vector-spaces/</guid>
      <description>&lt;p&gt;When talking about vector spaces, the notion of a dual vector space seems to&#xA;often be introduced via postulates, such as in the excellent &lt;a href=&#34;https://www.youtube.com/playlist?list=PL701CD168D02FF56F&#34;&gt;theoretical&#xA;minimum&lt;/a&gt; series by eminent physicist Dr. Leonard Susskind. While that&amp;rsquo;s fine,&#xA;I like an approach using linear functions, which I&amp;rsquo;ll present here. I learnt&#xA;this from somewhere obviously, though I don&amp;rsquo;t recall where from.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fairness in TLA&#43;</title>
      <link>https://sriku.org/posts/fairness-in-tlaplus/</link>
      <pubDate>Wed, 09 Dec 2020 23:22:21 +0530</pubDate>
      <guid>https://sriku.org/posts/fairness-in-tlaplus/</guid>
      <description>&lt;p&gt;As a &lt;a href=&#34;http://lamport.azurewebsites.net/tla/tla.html&#34;&gt;TLA+&lt;/a&gt; newbie, I found the fairness (weak and strong) formulae in&#xA;TLA+ a bit hard going initially, so sharing the way I managed to wrap my head&#xA;around it in case it is of help to others. What I&amp;rsquo;m hoping to get to is to be&#xA;able to &amp;ldquo;read&amp;rdquo; the formulae in a chunked manner so that they make logical sense&#xA;to me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inai: REST in the Small</title>
      <link>https://sriku.org/posts/inai/</link>
      <pubDate>Mon, 23 Nov 2020 11:17:32 +0530</pubDate>
      <guid>https://sriku.org/posts/inai/</guid>
      <description>&lt;p&gt;(originally posted on the Imaginea Labs blog - &lt;a href=&#34;https://labs.imaginea.com/inai-rest-in-the-small/&#34;&gt;https://labs.imaginea.com/inai-rest-in-the-small/&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://github.com/imaginea/inai&#34;&gt;Inai project&lt;/a&gt; (forked&#xA;&lt;a href=&#34;https://github.com/srikumarks/inai&#34;&gt;here&lt;/a&gt;) began as a light hearted attempt to&#xA;explore the consequences of bringing REST principles to organizing components&#xA;within a single server node. It started off with the following question -&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given we know that REST principles are useful to organize the development,&#xA;deployment and evolution of large collections of services, would those&#xA;principles be useful in the small - i.e. within a single process?&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>The Calculus You Actually Need for Deep Learning</title>
      <link>https://sriku.org/blog/2020/10/02/the-calculus-you-actually-need-for-deep-learning/</link>
      <pubDate>Fri, 02 Oct 2020 00:28:46 +0530</pubDate>
      <guid>https://sriku.org/blog/2020/10/02/the-calculus-you-actually-need-for-deep-learning/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://explained.ai/matrix-calculus/index.html&#34;&gt;The Matrix Calculus You Need For Deep Learning&lt;/a&gt; (MCYNDL) is a great&#xA;summary of what you need and expands starting from pretty much the basics.&#xA;However, I&amp;rsquo;ve always felt that introducing the index notation used in physics&#xA;can help simplify what looks like complicated math, even in that simplified&#xA;intro.  So here is my attempt at re-presenting the material in that paper, but&#xA;using the simplified index notation. I think &lt;a href=&#34;https://sriku.org/blog/2015/08/11/talk-functional-thinking-for-fun-and-profit/#the-importance-of-good-notation&#34;&gt;good notations are technology for&#xA;the mind&lt;/a&gt; because they let you think and work with things that you otherwise&#xA;might find too cumbersome or complicated to deal with.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Speculative: SciML for Physical Modeling Synthesis</title>
      <link>https://sriku.org/blog/2020/08/10/speculative-sciml-for-physical-modeling-synthesis/</link>
      <pubDate>Mon, 10 Aug 2020 15:54:52 +0530</pubDate>
      <guid>https://sriku.org/blog/2020/08/10/speculative-sciml-for-physical-modeling-synthesis/</guid>
      <description>&lt;p&gt;Tools in the &amp;ldquo;Scientific Machine Learning&amp;rdquo; (SciML) space have been getting more&#xA;sophisticated and general purpose. While going through some material regarding&#xA;&amp;ldquo;universal differential equations&amp;rdquo;, I couldn&amp;rsquo;t help dream up potential&#xA;applications to tough problems in physical modeling synthesis of musical&#xA;instruments .. particuarly interested in the vina family of instruments.&#xA;Noting down some speculative thoughts here that I hope will refine and be&#xA;replaced with more accurate ones as I learn more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The await-on-need Pattern</title>
      <link>https://sriku.org/blog/2020/03/26/the-await-on-need-pattern/</link>
      <pubDate>Thu, 26 Mar 2020 11:18:05 +0530</pubDate>
      <guid>https://sriku.org/blog/2020/03/26/the-await-on-need-pattern/</guid>
      <description>&lt;p&gt;The &lt;code&gt;async/await&lt;/code&gt; facility in ES5 is perhaps the single biggest readability&#xA;boost to async code in Javascript - both in NodeJS and in client-side JS code.&#xA;With &lt;code&gt;async/await&lt;/code&gt;, code that does async activities starts to read like&#xA;synchronous code with the keywords &lt;code&gt;async&lt;/code&gt; and &lt;code&gt;await&lt;/code&gt; thrown in at appropriate&#xA;points. But don&amp;rsquo;t lose sight of opportunities for concurrency while settling&#xA;into the comfort zone of synchronous-looking code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I&#39;m LisP. I&#39;m inevitable.</title>
      <link>https://sriku.org/posts/inevitable-lisp/</link>
      <pubDate>Wed, 19 Feb 2020 18:30:00 +0530</pubDate>
      <guid>https://sriku.org/posts/inevitable-lisp/</guid>
      <description>&lt;p&gt;This is a stub post linking to material presented during my talk titled &amp;ldquo;I&amp;rsquo;m LisP. I&amp;rsquo;m inevitable.&amp;rdquo; at the&#xA;first Chennai Clojure meetup at Pramati Technologies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk: the Nuts and Bolts of Webassembly</title>
      <link>https://sriku.org/blog/2019/08/24/talk-the-nuts-and-bolts-of-webassembly/</link>
      <pubDate>Sat, 24 Aug 2019 10:00:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/08/24/talk-the-nuts-and-bolts-of-webassembly/</guid>
      <description>&lt;p&gt;I gave a talk at the &amp;ldquo;Mixed Nuts @ Pramati&amp;rdquo; meetup on 2019-08-24 10am-12pm on&#xA;WebAssembly. This post contains notes from the talk - sort of almost-transcript.&lt;/p&gt;&#xA;&lt;p&gt;Simul-posted at &lt;a href=&#34;https://labs.imaginea.com/talk-the-nuts-and-bolts-of-webassembly/&#34;&gt;https://labs.imaginea.com/talk-the-nuts-and-bolts-of-webassembly/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Abstraction is the root of all evil</title>
      <link>https://sriku.org/blog/2019/08/11/abstraction-is-the-root-of-all-evil/</link>
      <pubDate>Sun, 11 Aug 2019 15:44:48 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/08/11/abstraction-is-the-root-of-all-evil/</guid>
      <description>&lt;p&gt;A prized principle of design is the hiding of &lt;em&gt;unimportant details&lt;/em&gt; from the&#xA;users of a product that enables them to work with it without getting overwhelmed&#xA;by its possibly complex inner workings. This act of deciding that something is&#xA;&lt;em&gt;unimportant&lt;/em&gt; and hiding it behind a simpler facade is what &lt;em&gt;abstraction&lt;/em&gt; is&#xA;about. In this sense, abstraction, when it works, is considered A Good Thing™.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prolog Is Magic</title>
      <link>https://sriku.org/blog/2019/07/16/prolog-is-magic/</link>
      <pubDate>Tue, 16 Jul 2019 20:58:34 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/07/16/prolog-is-magic/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s hard these days to impress kids with stuff computers can do that felt&#xA;like magic back in the early days. Turtle graphics, even the venerable&#xA;Scratch don&amp;rsquo;t have the wow factor from the get go because .. the kids have&#xA;seen too much already. Here is how I (re)discovered something magical in a&#xA;moment of resistant engagement with my 6-yr old when he persistently asked me&#xA;to &amp;ldquo;teach him how to work on a computer&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Good Ideas in Programming</title>
      <link>https://sriku.org/blog/2019/03/20/good-ideas-in-programming/</link>
      <pubDate>Wed, 20 Mar 2019 09:00:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/20/good-ideas-in-programming/</guid>
      <description>&lt;p&gt;Collecting a bag of what I think are good ideas in the history of programming,&#xA;which lead to better thinking about system design, implementation and evolution.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This post will continously be edited to include ideas as they&#xA;come to my mind as worthy of being included here. Also, the ideas are&#xA;in no particular order and this is just a brain dump.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Automatic Differentiation: Higher ranked beings</title>
      <link>https://sriku.org/blog/2019/03/13/automatic-differentiation-higher-ranked-beings/</link>
      <pubDate>Wed, 13 Mar 2019 22:35:01 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/13/automatic-differentiation-higher-ranked-beings/</guid>
      <description>&lt;p&gt;(Status: Draft)&lt;/p&gt;&#xA;&lt;p&gt;We saw how we can try to calculate derivates of a function while evaluating the&#xA;function in the &lt;a href=&#34;https://sriku.org/posts/auto-diff/&#34;&gt;first&lt;/a&gt; and &lt;a href=&#34;https://sriku.org/posts/auto-diff-taylor/&#34;&gt;second&lt;/a&gt; posts on automatic&#xA;differentiation. Those dealt with only functions of a single real number. While&#xA;that is illustrative of the approach, it was merely warm up so we can deal with&#xA;differentiable functions of multiple variables that yield multiple values -&#xA;i.e. vector valued functions of vectors &amp;hellip; or more generally, tensor valued&#xA;functions of tensors.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatic Differentiation: Dual numbers &amp; Taylor numbers</title>
      <link>https://sriku.org/blog/2019/03/12/automatic-differentiation-dual-numbers-taylor-numbers/</link>
      <pubDate>Tue, 12 Mar 2019 17:38:57 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/12/automatic-differentiation-dual-numbers-taylor-numbers/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://sriku.org/posts/auto-diff/&#34;&gt;the earlier post&lt;/a&gt;, we saw how we can calculate the derivative of a&#xA;function as a function itself. We may not need to do that, but may want&#xA;the value of a function&amp;rsquo;s derivative to be calculated while the function&#xA;expression is being evaluated.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatic differentiation</title>
      <link>https://sriku.org/blog/2019/03/08/automatic-differentiation/</link>
      <pubDate>Fri, 08 Mar 2019 23:36:50 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/08/automatic-differentiation/</guid>
      <description>&lt;p&gt;At Pramati Chennai, we&amp;rsquo;ve been having a series of sessions on math. The purpose&#xA;is to try and connect many concepts usually considered as separate. We&amp;rsquo;re&#xA;currently on a track to understand functions of multiple variables and their&#xA;calculus.&lt;/p&gt;&#xA;&lt;p&gt;Along the way, I thought it might be a good idea to try and introduce automatic&#xA;differentiation in a programmatic way so people have a taste of how to&#xA;precisely capture their ideas. This is not an attempt to implement the AD&#xA;algorithms (at least not just yet), but to make the key idea concrete.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A hypothetical conversation with an &#39;imperative programmer&#39;</title>
      <link>https://sriku.org/blog/2019/03/07/a-hypothetical-conversation-with-an-imperative-programmer/</link>
      <pubDate>Thu, 07 Mar 2019 17:42:11 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/07/a-hypothetical-conversation-with-an-imperative-programmer/</guid>
      <description>&lt;p&gt;(This was originally written on May 25, 2015. Publishing it &amp;lsquo;cos a former&#xA;colleague actually recalled it after all this time when even I had forgotten&#xA;about it.)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk: Machine Learning as extreme TDD</title>
      <link>https://sriku.org/blog/2019/03/07/talk-machine-learning-as-extreme-tdd/</link>
      <pubDate>Thu, 07 Mar 2019 10:14:41 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/03/07/talk-machine-learning-as-extreme-tdd/</guid>
      <description>&lt;p&gt;I gave a talk last evening at a meetup at Navis giving a soft introduction to&#xA;machine learning for an audience of mostly developers and QA engineers. I&amp;rsquo;m&#xA;sharing the &lt;a href=&#34;https://sriku.org/talks/ml-as-tdd-20190306-v2.pdf&#34;&gt;slide deck&lt;/a&gt; and also some corrections of mistakes I did&#xA;in the talk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>async/await subtleties</title>
      <link>https://sriku.org/blog/2019/01/03/async/await-subtleties/</link>
      <pubDate>Thu, 03 Jan 2019 12:51:44 +0530</pubDate>
      <guid>https://sriku.org/blog/2019/01/03/async/await-subtleties/</guid>
      <description>&lt;p&gt;ECMAScript&amp;rsquo;s new &lt;code&gt;async&lt;/code&gt; functions and generators simplify working with concurrent&#xA;I/O code. While they work hand-in-hand with Promises, there are some subtleties&#xA;that either seem to be underspecified in the language or not talked about much.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Integers</title>
      <link>https://sriku.org/blog/2018/12/14/integers/</link>
      <pubDate>Fri, 14 Dec 2018 15:56:10 +0530</pubDate>
      <guid>https://sriku.org/blog/2018/12/14/integers/</guid>
      <description>&lt;p&gt;My son is learning about integers at school. It is quite a challenging topic to&#xA;come to, especially as, thus far, for him, trying to understand it purely based&#xA;on the familiar is both a necessity and a tough challenge due to the novelty of&#xA;the idea.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hodja on Debugging</title>
      <link>https://sriku.org/blog/2018/09/10/hodja-on-debugging/</link>
      <pubDate>Mon, 10 Sep 2018 19:00:25 +0530</pubDate>
      <guid>https://sriku.org/blog/2018/09/10/hodja-on-debugging/</guid>
      <description>&lt;p&gt;I loved Naseeruddin Hodja stories when I was a kid. Heck I love them now too.&#xA;They give me a good laugh and, as is common with good humour, manage to point&#xA;at some truth once in a while.&lt;/p&gt;&#xA;&lt;p&gt;One of these is a story where Hodja is searching for something in the garden.&#xA;His wife asks him what he&amp;rsquo;s searching for and he replies he&amp;rsquo;s searching for his&#xA;ring. She then asks him about where he&amp;rsquo;d lost it. He replies saying he&amp;rsquo;d lost&#xA;it in the bedroom. Puzzled, she asks him why then is he searching for it in the&#xA;garden.  Hodja replies &amp;ldquo;because it is brighter here&amp;rdquo;.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;I guess there is more context to that story than I can recall - perhaps&#xA;as an allegory referring to an earlier event involving his wife.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Filter Theory in Physics Notation</title>
      <link>https://sriku.org/blog/2018/09/07/filter-theory-in-physics-notation/</link>
      <pubDate>Fri, 07 Sep 2018 11:01:45 +0530</pubDate>
      <guid>https://sriku.org/blog/2018/09/07/filter-theory-in-physics-notation/</guid>
      <description>&lt;p&gt;I happened to have picked up quantum mechanics from Feynman&amp;rsquo;s lectures and&#xA;Dirac&amp;rsquo;s book before I got around to my main stream theory of linear filters&#xA;during my B.Tech.  So I went through a somewhat weird path of understanding the&#xA;math around filter theory based on the quant-mech math I&amp;rsquo;d picked up. I do&#xA;think it is clearer than the way linear filter theory books deal with the&#xA;topic, especially due to an explicit notation for a &amp;ldquo;signal&amp;rdquo; in the abstract&#xA;that is independent of &amp;ldquo;a representation of a signal&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Here I capture a gist of how it went into my head. Note that I&amp;rsquo;m not aiming for&#xA;mathematical rigour, but more as an illustration of how &lt;a href=&#34;https://sriku.org/blog/2015/08/11/talk-functional-thinking-for-fun-and-profit/&#34;&gt;good notations are&#xA;technology for the mind&lt;/a&gt; - simplifying our ability to reason in a domain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Channels with async and await</title>
      <link>https://sriku.org/blog/2018/04/06/channels-with-async-and-await/</link>
      <pubDate>Fri, 06 Apr 2018 20:52:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2018/04/06/channels-with-async-and-await/</guid>
      <description>&lt;p&gt;&lt;code&gt;async&lt;/code&gt; and &lt;code&gt;await&lt;/code&gt; are, I think, the best thing to happen to Javascript,&#xA;though I&amp;rsquo;d very much like something like &lt;a href=&#34;https://www.sweetjs.org&#34;&gt;sweet.js&lt;/a&gt; so I can &lt;a href=&#34;https://github.com/srikumarks/cspjs&#34;&gt;invent&#xA;it&lt;/a&gt; when I needed it most. However, I mostly see them being described in&#xA;terms of promises. Here, I show how you can implement CSP style channels using&#xA;them without using promises.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Warranties for Smart Contracts</title>
      <link>https://sriku.org/blog/2018/03/06/warranties-for-smart-contracts/</link>
      <pubDate>Tue, 06 Mar 2018 22:29:33 +0530</pubDate>
      <guid>https://sriku.org/blog/2018/03/06/warranties-for-smart-contracts/</guid>
      <description>&lt;p&gt;(Cross posted from &lt;a href=&#34;https://labs.imaginea.com/post/warranties-for-smart-contracts/&#34;&gt;Imaginea Labs&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;The distributed ledger protocol used by blockchains has resulted in systems&#xA;where we do not have to place trust in particular parties involved in&#xA;maintaining these ledgers. Moreover the ledgers are programmable with “smart&#xA;contracts” - transactors whose state changes are recorded and validated on the&#xA;blockchain. A collection of smart contracts describes a system that is expected&#xA;to ensure certain invariants relevant to the domain are upheld. For example, an&#xA;election system is expected to maintain voter confidentiality. While the code&#xA;that describes these “smart contracts” is open for anyone to read, those who’re&#xA;participating in the systems run by these smart contracts are not in general&#xA;competent to evaluate them, with the OSS community being the sole eyes on the&#xA;contracts being deployed. In this post, I examine how these smart contracts can&#xA;provide “warranties” that are easier to ratify and describe clear and automatic&#xA;consequences of violating the warranted properties.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blockchain apps must be closed systems</title>
      <link>https://sriku.org/blog/2017/06/01/blockchain-apps-must-be-closed-systems/</link>
      <pubDate>Thu, 01 Jun 2017 00:09:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2017/06/01/blockchain-apps-must-be-closed-systems/</guid>
      <description>&lt;p&gt;Blockchain tech, especially smart contracts, are the hot new &amp;ldquo;internet&amp;rdquo;. Post&#xA;the creation of Bitcoin, we&amp;rsquo;ve seen the rise of the public smart contract&#xA;system Ethereum and several private systems like Linux Foundation&amp;rsquo;s&#xA;Hyperledger. These distributed ledgers have become the brand new foundation to&#xA;build apps on. This is as app developers hope to leverage the additional trust&#xA;that these ledgers are supposed to provide by virtue of their distributed&#xA;nature.&lt;/p&gt;&#xA;&lt;p&gt;(Cross posted here from blog.imaginea.com - &lt;a href=&#34;https://blog.imaginea.com/blockchain-applications-must-be-closed-systems/&#34;&gt;Blockchain apps must be closed&#xA;systems&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forget password</title>
      <link>https://sriku.org/blog/2017/04/29/forget-password/</link>
      <pubDate>Sat, 29 Apr 2017 00:09:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2017/04/29/forget-password/</guid>
      <description>&lt;p&gt;Can we have a signin/signup flow that is email-based and passwordless similar&#xA;to a &amp;ldquo;forgot password&amp;rdquo; flow but where the URL will work only for the initiator,&#xA;and only once per signin?  This is the scheme I&amp;rsquo;ve implemented on&#xA;&lt;a href=&#34;https://patantara.com&#34;&gt;Patantara&lt;/a&gt; and I describe its innards here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On tech interviews</title>
      <link>https://sriku.org/blog/2017/02/23/on-tech-interviews/</link>
      <pubDate>Thu, 23 Feb 2017 00:09:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2017/02/23/on-tech-interviews/</guid>
      <description>&lt;p&gt;Recently, many techies have spilt words against doing the Google interview&#xA;process. Broadly they feel their real and demonstrated abilities are not being&#xA;valued. The most famous of these cases is Max Howell - the developer of&#xA;&lt;a href=&#34;https://brew.sh&#34;&gt;homebrew&lt;/a&gt; - being &lt;a href=&#34;https://twitter.com/mxcl/status/608682016205344768?lang=en&#34;&gt;rejected&lt;/a&gt; in the interview. Following Google, Amazon&#xA;and the like, much smaller companies have also begun to subject interview&#xA;candidates to such &amp;ldquo;problem solving exercises&amp;rdquo; - either on a whiteboard or&#xA;within test environments such as HackerRank where you can be rewarded for&#xA;coming up with the wrong answer quickly instead of the right answer slowly.&#xA;These same candidates would speak up against these companies as well, had they&#xA;interviewed there. Is there a real problem with this interviewing technique or&#xA;are these candidates crying sour grapes?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Did you guess or did you estimate?</title>
      <link>https://sriku.org/blog/2017/02/07/did-you-guess-or-did-you-estimate/</link>
      <pubDate>Tue, 07 Feb 2017 00:09:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2017/02/07/did-you-guess-or-did-you-estimate/</guid>
      <description>&lt;p&gt;When asking software engineers for an estimate of the time required to build&#xA;something, I often find them guessing the time taken instead of doing the work&#xA;to &lt;em&gt;estimate&lt;/em&gt; it. Yes, estimates come with their own caveats but, like&#xA;planning, if you don&amp;rsquo;t estimate well, you may not have an idea of what you&amp;rsquo;re&#xA;actually dealing with.&lt;/p&gt;&#xA;&lt;p&gt;Here is something that I did with my kid yesterday that illustrates the&#xA;difference between estimation and guessing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>M.S.B.A.</title>
      <link>https://sriku.org/blog/2016/11/23/m.s.b.a./</link>
      <pubDate>Wed, 23 Nov 2016 00:00:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2016/11/23/m.s.b.a./</guid>
      <description>&lt;p&gt;Traffic in any major Indian city can seem crazy to an outsider. Crazy, scary,&#xA;impossible, noisy, unruly, chaotic, .. and you can keep on rattling adjectives&#xA;without ever ending up in a jam. Of these cities, Chennai is perhaps &lt;a href=&#34;https://en.wikipedia.org/wiki/Traffic_collisions_in_India#Extent_of_traffic_accidents&#34;&gt;the&#xA;craziest&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI ... YO!</title>
      <link>https://sriku.org/blog/2016/11/01/ai-...-yo/</link>
      <pubDate>Tue, 01 Nov 2016 00:00:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2016/11/01/ai-...-yo/</guid>
      <description>&lt;p&gt;(This article was originally posted on &lt;a href=&#34;https://medium.com/out-of-office/ai-yo-60f76a9b1faf&#34;&gt;out-of-office&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://www.wired.com/2016/10/president-obama-mit-joi-ito-interview/&#34;&gt;recent Wired interview&lt;/a&gt; between Joi Ito, MIT Media Lab head, Scott Dadich,&#xA;chief editor of Wired and the US President Barack Obama on artificial&#xA;intelligence brought many perspectives into one room. The discussion is a great&#xA;read as it covers the morally ambiguous ground that we might need AI to inhabit&#xA;when we put them into autodrives, the role of government in funding and&#xA;checking AI research, and &amp;hellip; Star Trek. As a techie (and trekie), it is hard for&#xA;me to resist the temptation of having a general AI at my disposal. However,&#xA;what would the big picture be like? Would we be much better off with general AI&#xA;all around us? Would AIs end up taking over the world, as is usually painted in&#xA;dystopian science fiction, leaving us to fight to survive … maybe? Would I want&#xA;to be in a world with general AIs all around, or would I find that world&#xA;wanting?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beta abstraction for bottom up theory building</title>
      <link>https://sriku.org/blog/2016/02/06/beta-abstraction-for-bottom-up-theory-building/</link>
      <pubDate>Sat, 06 Feb 2016 00:30:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2016/02/06/beta-abstraction-for-bottom-up-theory-building/</guid>
      <description>&lt;p&gt;When we begin working on a problem, one of our main tasks is to build a theory&#xA;about the problem space so that we can capture and communicate our understanding&#xA;about it to others and to machines. Given that when we begin building these&#xA;theories we might know only a few parts of the elephant and not the whole elephant&#xA;itself, what chance do we stand to discover the whole elephant if our starting&#xA;point is a few limited perspectives? In this post, I share an example of how to&#xA;arrive at higher level theories about a domain via bottom up exploration using&#xA;systematic beta abstraction.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This post is based on and reuses parts of a discussion on beta abstraction done&#xA;in our &lt;a href=&#34;https://mitpress.mit.edu/sicp/&#34;&gt;SICP&lt;/a&gt; study group at &lt;a href=&#34;http://www.pramati.com/&#34;&gt;Pramati&lt;/a&gt;, Chennai.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Did The Martian biologist eat his own shit?</title>
      <link>https://sriku.org/blog/2015/12/25/did-the-martian-biologist-eat-his-own-shit/</link>
      <pubDate>Fri, 25 Dec 2015 16:15:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2015/12/25/did-the-martian-biologist-eat-his-own-shit/</guid>
      <description>&lt;p&gt;In the movie &amp;ldquo;&lt;a href=&#34;https://en.wikipedia.org/wiki/The_Martian_(film)&#34;&gt;The Martian&lt;/a&gt;&amp;rdquo;, Matt Damon plays astronaut Mark Watney&#xA;who gets stranded on Mars and makes history by practicing open defecation and&#xA;growing potatoes using his own shit as manure on Martian soil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Becoming rational</title>
      <link>https://sriku.org/blog/2015/12/13/becoming-rational/</link>
      <pubDate>Sun, 13 Dec 2015 21:30:00 +0530</pubDate>
      <guid>https://sriku.org/blog/2015/12/13/becoming-rational/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Venkatraman_Ramakrishnan&#34;&gt;Dr. Venkataraman&lt;/a&gt;, in his &lt;a href=&#34;http://www.thehindu.com/todays-paper/india-needs-to-be-less-superstitious-more-rational-nobel-laureate/article7979256.ece&#34;&gt;lecture at the Univesity of Mysore last&#xA;Friday&lt;/a&gt;, said that India needs to become more &lt;em&gt;rational&lt;/em&gt; and less&#xA;&lt;em&gt;superstitious&lt;/em&gt; (emphasis mine). These are just words. What do they mean?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Towards reactive animation in Elm</title>
      <link>https://sriku.org/blog/2015/12/13/towards-reactive-animation-in-elm/</link>
      <pubDate>Sun, 13 Dec 2015 08:17:45 +0530</pubDate>
      <guid>https://sriku.org/blog/2015/12/13/towards-reactive-animation-in-elm/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/reactjs&#34;&gt;ReactJS&lt;/a&gt; is gradually moving towards a purely functional style of specifying&#xA;application views.  In recent versions, you&amp;rsquo;re encouraged to use a pure&#xA;functional syntax that maps a view&amp;rsquo;s props to the appropriate virtual-dom&#xA;components.  Combined with &lt;a href=&#34;https://facebook.github.io/flux/&#34;&gt;Flux&lt;/a&gt;, this approach is getting closer to what is&#xA;already established in the &lt;a href=&#34;http://elm-lang.org&#34;&gt;Elm&lt;/a&gt; world, where it is referred to as &lt;a href=&#34;https://github.com/evancz/elm-architecture-tutorial/&#34;&gt;The Elm&#xA;Architecture&lt;/a&gt;. This is particularly visible in the increasing&#xA;emphasis on working exclusively with &lt;code&gt;props&lt;/code&gt; and avoiding &lt;code&gt;state&lt;/code&gt; when&#xA;rendering React components, and piping all inputs and events into the&#xA;&amp;ldquo;dispatcher&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Norman and Tognazzini on Apple and design</title>
      <link>https://sriku.org/blog/2015/11/29/norman-and-tognazzini-on-apple-and-design/</link>
      <pubDate>Sun, 29 Nov 2015 05:44:10 +0530</pubDate>
      <guid>https://sriku.org/blog/2015/11/29/norman-and-tognazzini-on-apple-and-design/</guid>
      <description>&lt;p&gt;When Don Norman and Bruce Tognazzini write that &lt;a href=&#34;http://www.fastcodesign.com/3053406/how-apple-is-giving-design-a-bad-name&#34;&gt;Apple is giving design a bad&#xA;name&lt;/a&gt;, you sit up and listen. They write that Apple has thrown away well&#xA;established design principles and gone for the pretty and snazzy instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iOS animation notes</title>
      <link>https://sriku.org/blog/2015/11/22/ios-animation-notes/</link>
      <pubDate>Sun, 22 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/11/22/ios-animation-notes/</guid>
      <description>&lt;p&gt;Recently, I had to work on an animated view for an iOS app. I built the view&#xA;using explicit layer-based animations (&lt;code&gt;CABAsicAnimation&lt;/code&gt; and brethren) in a&#xA;separate app and it worked fine. Then I moved the view into the host&#xA;application and all hell broke loose. After much fighting with the API,&#xA;I finally arrived at the techniques needed to ensure that the animations&#xA;work as intended irrespective of context. This post collects these notes as&#xA;a list of recommendations to follow.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intuition</title>
      <link>https://sriku.org/blog/2015/11/01/intuition/</link>
      <pubDate>Sun, 01 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/11/01/intuition/</guid>
      <description>&lt;p&gt;Yesterday, I drove an automatic for the first time. When driving a manual&#xA;shifter, my brain is on auto pilot - I&amp;rsquo;m seldom aware of my gear shifts and&#xA;footwork. When I drove the automatic, all of this suddenly needed to be&#xA;consciously done. So there was a bit of struggle I experienced with a&#xA;supposedly &lt;em&gt;simpler&lt;/em&gt; system. Bleh! The automatic drive is not &lt;em&gt;intuitive&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Now, wait a minute. We know that folks who shift (ahem!) from automatic to&#xA;manual face a harder struggle. In the software world, there is a similar hurdle&#xA;faced by folks shifting between operating systems, and yet we see wars of the&#xA;kind &amp;ldquo;my OS is more intuitive than yours&amp;rdquo;. What do people mean when they say&#xA;something like that?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk @ JSFoo 2015: Orchestrating the Web Audio API</title>
      <link>https://sriku.org/blog/2015/09/22/talk-at-jsfoo-2015-orchestrating-the-web-audio-api/</link>
      <pubDate>Tue, 22 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/09/22/talk-at-jsfoo-2015-orchestrating-the-web-audio-api/</guid>
      <description>&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/J-CvK_GmNMc&#34; frameborder=&#34;0&#34; allowfullscreen&gt;&lt;/iframe&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://sriku.org/talks/jsfoo2015-webaudioapi-srikumarks.pdf&#34;&gt;Slides&lt;/a&gt; (CC BY-SA 3.0)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk: Functional Thinking for Fun and Profit</title>
      <link>https://sriku.org/blog/2015/08/11/talk-functional-thinking-for-fun-and-profit/</link>
      <pubDate>Tue, 11 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/08/11/talk-functional-thinking-for-fun-and-profit/</guid>
      <description>&lt;p&gt;These are elaborate notes on a &amp;ldquo;Tech Tonic&amp;rdquo; talk given at Pramati Technologies,&#xA;Chennai, on 23rd July 2015. The organization of this post reflects the talk&#xA;itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On net neutrality in India</title>
      <link>https://sriku.org/blog/2015/07/18/on-net-neutrality-in-india/</link>
      <pubDate>Sat, 18 Jul 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/07/18/on-net-neutrality-in-india/</guid>
      <description>&lt;p&gt;The net neutrality debate in India largely lingers on what folks will have to&#xA;pay for that they&amp;rsquo;re now getting for free, how much more it is going to cost&#xA;them to do the same things they&amp;rsquo;re doing today, what will happen to the small&#xA;business guys as the large guys take over with money power, etc. Even the&#xA;(in)venerable AIB does more or less the same pitch in their now famous &lt;a href=&#34;https://www.youtube.com/watch?v=mfY1NKrzqi0&#34;&gt;Save&#xA;The Internet&lt;/a&gt; video. There is also &lt;a href=&#34;http://www.thehindu.com/news/national/net-neutrality-govt-panel-for-regulating-domestic-calls-made-using-whatsapp-skype/article7430216.ece&#34;&gt;the article on The Hindu&lt;/a&gt;&#xA;pointing out the panel recommendations and they mostly have to do with who and&#xA;what needs to be paid for and what is to be left untouched.&lt;/p&gt;&#xA;&lt;p&gt;Much of this money-focused hoohah is a distraction on why net neutrality is&#xA;important to us. If we don&amp;rsquo;t adopt a &amp;ldquo;we won&amp;rsquo;t touch the internet&amp;rdquo; policy,&#xA;there is much more at stake than just a few people making more money than we&#xA;think they should.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Melakarta workshop for children at Brhaddhvani</title>
      <link>https://sriku.org/blog/2015/04/23/melakarta-workshop-for-children-at-brhaddhvani/</link>
      <pubDate>Thu, 23 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/04/23/melakarta-workshop-for-children-at-brhaddhvani/</guid>
      <description>&lt;p&gt;Workshop at Brhaddhvani for children this summer on melakarta system.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;http://www.brhaddhvani.org/wp-content/uploads/2015/04/Summer-Music-workshop-Chennai-2015-1.jpg&#34; alt=&#34;brochure&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Closures all the way through</title>
      <link>https://sriku.org/blog/2015/04/02/closures-all-the-way-through/</link>
      <pubDate>Thu, 02 Apr 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/04/02/closures-all-the-way-through/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://sriku.org/blog/2012/04/13/a-mental-model-for-variables-and-closures-in-javascript/&#34;&gt;A Mental Model for Variables and Closures in Javascript&lt;/a&gt;, I described&#xA;an allocation based model that I&amp;rsquo;d used with some success to teach and&#xA;understand the intricacies of closures, as implemented in Javascript engines.&#xA;While we have plenty of tutorials on closures that describe what results are&#xA;gotten under various conditions, with variables being magically &amp;ldquo;captured&amp;rdquo;,&#xA;I&amp;rsquo;ve not seen many work through a mechanistic explanation of closures.  To that&#xA;end, &lt;a href=&#34;https://sriku.org/talks/back2front-closures-27mar2015.pdf&#34;&gt;here is the slide deck&lt;/a&gt; of a session I recently conducted which&#xA;walked the participants through a mechanistic understanding of closures and&#xA;objects, using the Chrome debugger. Read on to find out how to follow the deck&#xA;and the rationale behind it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk: Mathemusicking with children</title>
      <link>https://sriku.org/blog/2015/03/21/talk-mathemusicking-with-children/</link>
      <pubDate>Sat, 21 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/03/21/talk-mathemusicking-with-children/</guid>
      <description>&lt;p&gt;I gave a talk titled &amp;ldquo;Mathemusicking with children: Doing math and music&#xA;without telling them apart&amp;rdquo; at the &lt;a href=&#34;http://www.crraoaimscs.org&#34;&gt;C. R. Rao Advanced Institute for&#xA;Mathematics Statistics and Computer Science&lt;/a&gt; on 14 March 2015, as&#xA;part of a workshop on &lt;a href=&#34;http://www.crraoaimscs.org/Math_Music.pdf&#34;&gt;Math, music and nature&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why I&#39;m a vegetarian</title>
      <link>https://sriku.org/blog/2015/03/18/why-im-a-vegetarian/</link>
      <pubDate>Wed, 18 Mar 2015 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2015/03/18/why-im-a-vegetarian/</guid>
      <description>&lt;p&gt;Some years ago, I had a change of perspective on being vegetarian. The fact&#xA;that I am a vegetarian was not the thing that changed, but it was the &lt;em&gt;why&lt;/em&gt; that&#xA;did.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Errors, recovery and async code flow</title>
      <link>https://sriku.org/blog/2014/10/11/errors-recovery-and-async-code-flow/</link>
      <pubDate>Sat, 11 Oct 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/10/11/errors-recovery-and-async-code-flow/</guid>
      <description>&lt;p&gt;&lt;code&gt;try-catch-finally&lt;/code&gt; style error management is common in many programming&#xA;languages. Though the underlying mechanism of propagating errors up a &amp;ldquo;call&#xA;stack&amp;rdquo; is alright from a development perspective, the common syntax ends up&#xA;invariably mangling the code flow. In &lt;a href=&#34;https://github.com/srikumarks/cspjs&#34;&gt;cspjs&lt;/a&gt;, a macro library presenting an&#xA;easy-to-use syntax for working with async Javascript code, I attempted what&#xA;felt to me to be a better way to fit error handling and recovery code into the&#xA;statement-by-statement sequential flow of activity.&lt;/p&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://sriku.org/blog/2014/02/11/bye-bye-js-promises/&#34;&gt;Bye Bye Javascript Promises&lt;/a&gt;, I intended to present this key reason&#xA;why I wrote &lt;a href=&#34;https://github.com/srikumarks/cspjs&#34;&gt;cspjs&lt;/a&gt; - error handling and recovery specification that respects&#xA;code flow - but I didn&amp;rsquo;t do a good job of presenting it. I attempt that in this&#xA;post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Biking to work in Chennai</title>
      <link>https://sriku.org/blog/2014/10/03/biking-to-work-in-chennai/</link>
      <pubDate>Fri, 03 Oct 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/10/03/biking-to-work-in-chennai/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d &lt;a href=&#34;https://sriku.org/blog/2014/02/21/being-the-change-i-want-to-see-in-chennai&#34;&gt;written quite some time ago&lt;/a&gt; about seriously giving&#xA;biking in Chennai a shot. I&amp;rsquo;ve recently joined Pramati technologies in Chennai&#xA;and have been biking to work (about 9km one way) almost every day for the past&#xA;month-and-a-half. Here are some observations and an initial attempt at&#xA;guidelines for people considering biking as a means of commuting in Chennai.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two trends towards partial programming language freedom everywhere</title>
      <link>https://sriku.org/blog/2014/07/17/two-trends-towards-partial-programming-language-freedom-everywhere/</link>
      <pubDate>Thu, 17 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/07/17/two-trends-towards-partial-programming-language-freedom-everywhere/</guid>
      <description>&lt;p&gt;Two common backends seem to be emerging that enable programmers to choose a&#xA;language and system suitable for their work irrespective of whether they&amp;rsquo;re&#xA;developing server side code or client side code. Programmers who develop&#xA;services that sit behind communication protocols such as HTTP have always&#xA;enjoyed the freedom to choose the programming language and system that best&#xA;supports what they need to develop, because clients who use system requirements&#xA;placed by these languages do not get passed on to clients who make use of these&#xA;services. Client-side programmers have, however, had limited options when it&#xA;comes to programming language choice for various reasons, the most significant&#xA;of which is perhaps accessibility to APIs for doing various things on the&#xA;client device. Hence if you program for iOS, pick Objective-C.  Android? pick&#xA;Java. Windows? Perhaps C# .. or F# if you&amp;rsquo;re adventurous. Web browser? You got&#xA;Javascript. For once, two common performant backends - Java byte code and LLVM&#xA;bit code - are emerging as the common ground enabling portability and hence&#xA;programming language diversity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wash dishes. Don&#39;t collect garbage.</title>
      <link>https://sriku.org/blog/2014/07/06/dish-washing-versus-garbage-collection/</link>
      <pubDate>Sun, 06 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/07/06/dish-washing-versus-garbage-collection/</guid>
      <description>&lt;p&gt;In computer science literature, &amp;ldquo;garbage collection&amp;rdquo; refers to the process by&#xA;which unused computer memory is reclaimed for use by a program. Such memory is&#xA;usually referred to as &amp;ldquo;garbage&amp;rdquo; and the &amp;ldquo;garbage collector&amp;rdquo; periodically runs&#xA;to do this job. Though I understand the process to some extent, I&amp;rsquo;ve never been&#xA;happy with the metaphor since it doesn&amp;rsquo;t help at all with suggesting possible&#xA;techniques for doing the task and is just used to label this part of a&#xA;programming system with automatic memory management. In this post, I explore&#xA;&amp;ldquo;dish washing&amp;rdquo; as a metaphor for the same process and argue why it is a better&#xA;one to adopt for teaching purposes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mathemusicking</title>
      <link>https://sriku.org/blog/2014/06/28/mathemusicking/</link>
      <pubDate>Sat, 28 Jun 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/06/28/mathemusicking/</guid>
      <description>&lt;p&gt;Recent writing in the field of ethnomusicology has re-asked the question of&#xA;&amp;ldquo;what is music?&amp;rdquo;. Christopher Small coined the term &lt;a href=&#34;http://books.google.co.in/books?hl=en&amp;amp;lr=&amp;amp;id=7vS8yQwvuGcC&amp;amp;oi=fnd&amp;amp;pg=PT1&amp;amp;dq=christopher+small+musicking&amp;amp;ots=EPZB70Fi3A&amp;amp;sig=SEvGYaXaIb-ObVtHvk2nPj2v6WE#v=onepage&amp;amp;q=christopher%20small%20musicking&amp;amp;f=false&#34;&gt;&amp;ldquo;musicking&amp;rdquo;&lt;/a&gt;,&#xA;which to me expresses that there is no such thing as &amp;ldquo;music&amp;rdquo; that is apart&#xA;from the act of &amp;ldquo;musicking&amp;rdquo;. Music and mathematics have shared a historical&#xA;bond with each other - with mathematicians finding fascination in musical&#xA;patterns and musicians relishing in artistic construction using mathematical&#xA;patterns, more recently involving computational patterns. The relationship that&#xA;both these activities bear to the functioning of human cognition also share&#xA;great similarities. Mathematicians have long declared the activity of &amp;ldquo;doing&#xA;mathematics&amp;rdquo; as a creative process that is not steeped in certainties, as a&#xA;naive view of mathematics might suppose. Paralleling that, musicians also often&#xA;demonstrate intellectualization of the activity of musicking that resembles a&#xA;mathematical theory of the constructs that they are building. In consideration&#xA;of such deep connections, in this essay, I explore the parallel thesis - there&#xA;is no such thing as mathematics, there is only mathematicking - and where I&#xA;name the joint activity &amp;ldquo;mathemusicking&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Being the change I want to see in Chennai</title>
      <link>https://sriku.org/blog/2014/02/21/being-the-change-i-want-to-see-in-chennai/</link>
      <pubDate>Fri, 21 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/02/21/being-the-change-i-want-to-see-in-chennai/</guid>
      <description>&lt;p&gt;Was it Gandhiji who said &amp;ldquo;Be the change you want to see in the world&amp;rdquo;?&lt;/p&gt;&#xA;&lt;p&gt;There are quite a few things about Chennai traffic that I would like&#xA;to see change &amp;hellip; and where better to begin than with myself?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bye Bye Javascript Promises!</title>
      <link>https://sriku.org/blog/2014/02/11/bye-bye-js-promises/</link>
      <pubDate>Tue, 11 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/02/11/bye-bye-js-promises/</guid>
      <description>&lt;p&gt;In my &lt;a href=&#34;https://sriku.org/blog/2014/01/25/implementing-csp-channels-using-promises/&#34;&gt;previous post&lt;/a&gt;, I explored how programming with &lt;a href=&#34;http://promises-aplus.github.io/promises-spec/&#34;&gt;promises&lt;/a&gt; can&#xA;be made close to programming with values. After some more work on it,&#xA;and some learning from &lt;a href=&#34;https://github.com/petkaantonov/bluebird&#34;&gt;bluebird&lt;/a&gt;, I came to conclude that my brain&#xA;doesn&amp;rsquo;t think well with promises. So I wrote &lt;a href=&#34;https://github.com/srikumarks/cspjs&#34;&gt;a macro&lt;/a&gt; for Javascript that&#xA;expands &amp;ldquo;tasks&amp;rdquo; into async state machines that communicate using channels&#xA;(i.e. CSP). I want to talk about the specific options for error management&#xA;implemented in the &lt;code&gt;task&lt;/code&gt; macro.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing CSP channels using Promises</title>
      <link>https://sriku.org/blog/2014/01/25/implementing-csp-channels-using-promises/</link>
      <pubDate>Sat, 25 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2014/01/25/implementing-csp-channels-using-promises/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://promises-aplus.github.io/promises-spec/&#34;&gt;Promises&lt;/a&gt; are the new old thing in the land of Javascript async abstractions,&#xA;though they aren&amp;rsquo;t as good as CSP-style channels for async programming. In this&#xA;post, I describe a channel implementation based on promises that attempts to&#xA;bring some CSP-style programming abilities into the JS world &amp;hellip; now, instead&#xA;of in ES6.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Anchoring time in the body - 2nd edition</title>
      <link>https://sriku.org/blog/2013/10/03/anchoring-time-in-the-body-2nd-edition/</link>
      <pubDate>Thu, 03 Oct 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/10/03/anchoring-time-in-the-body-2nd-edition/</guid>
      <description>&lt;p&gt;In &lt;a href=&#34;https://sriku.org/blog/2013/09/12/how-to-practice-carnatic-music-with-a-metronome-part-2-the-real-basics/&#34;&gt;part-2 of How to Practice Carnatic Music with a Metronome&lt;/a&gt;, I&#xA;described some beginning exercises for the vina that combine meditation with&#xA;practice of basic right hand plucking techniques that need early mastery. I&#xA;described five such exercises for anchoring the flow of musical time in the&#xA;body through breathing.&lt;/p&gt;&#xA;&lt;p&gt;One problem with having so many exercises is that it isn&amp;rsquo;t clear to beginner&#xA;students which one to pick that&amp;rsquo;s right for them .. and, to be fair, neither&#xA;did I have a clear idea of which one would be good for beginners &amp;ndash; if I were&#xA;to pick one.  Now that some time has passed since I came up with those&#xA;exercises and some students have had the chance to try them out, I &lt;em&gt;do&lt;/em&gt; have a&#xA;better idea and I can suggest one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to practice Carnatic music with a metronome - Part 3: Role Inversion</title>
      <link>https://sriku.org/blog/2013/09/29/how-to-practice-carnatic-music-with-a-metronome-part-3-role-playing/</link>
      <pubDate>Sun, 29 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/09/29/how-to-practice-carnatic-music-with-a-metronome-part-3-role-playing/</guid>
      <description>&lt;p&gt;&lt;em&gt;Status:&lt;/em&gt; Draft&lt;/p&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://sriku.org/blog/2013/05/25/how-to-practice-carnatic-music-with-a-metronome/&#34;&gt;part-1&lt;/a&gt; and &lt;a href=&#34;https://sriku.org/blog/2013/09/12/how-to-practice-carnatic-music-with-a-metronome-part-2-the-real-basics/&#34;&gt;part-2&lt;/a&gt;, I covered some very basic techniques for &amp;ldquo;anchoring&#xA;time in the body&amp;rdquo;. In this part, I illustrate a technique for practice that&#xA;I call &amp;ldquo;role inversion&amp;rdquo; with a pallavi as an example.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to practice Carnatic music with a metronome: Part 2: The (real) basics</title>
      <link>https://sriku.org/blog/2013/09/12/how-to-practice-carnatic-music-with-a-metronome-part-2-the-real-basics/</link>
      <pubDate>Thu, 12 Sep 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/09/12/how-to-practice-carnatic-music-with-a-metronome-part-2-the-real-basics/</guid>
      <description>&lt;p&gt;&lt;em&gt;Status:&lt;/em&gt; Draft&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://sriku.org/blog/2013/05/25/how-to-practice-carnatic-music-with-a-metronome/&#34;&gt;Part 1&lt;/a&gt; presented internalizing &amp;ldquo;layam&amp;rdquo; or musical time as the practice goal&#xA;for working with a metronome. In the course of teaching vina, I realized that&#xA;practice with a metronome already requires a sense of time and if this has not&#xA;been nurtured initially, it can lead to an aversion to practicing with one to&#xA;gain mastery over time and an unhealthy reliance on it, even if warned as I did&#xA;with &lt;a href=&#34;https://sriku.org/blog/2013/05/25/how-to-practice-carnatic-music-with-a-metronome/&#34;&gt;Part 1&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notation: Ganarajena Rakshitoham</title>
      <link>https://sriku.org/blog/2013/07/09/notation-ganarajena-rakshitoham/</link>
      <pubDate>Tue, 09 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/07/09/notation-ganarajena-rakshitoham/</guid>
      <description></description>
    </item>
    <item>
      <title>How to practice Carnatic music with a metronome - Part 1: The Basics</title>
      <link>https://sriku.org/blog/2013/05/25/how-to-practice-carnatic-music-with-a-metronome/</link>
      <pubDate>Sat, 25 May 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/05/25/how-to-practice-carnatic-music-with-a-metronome/</guid>
      <description>&lt;p&gt;Internalizing the flow of musical time, known as &amp;ldquo;layam&amp;rdquo;, is an essential&#xA;aspect of the training of a student of Carnatic music.  Though the adage &amp;ldquo;sruti&#xA;mata, laya pitah&amp;rdquo; (&amp;ldquo;pitch is the mother and time is the father&amp;rdquo;) is oft&#xA;repeated, what we find in practice is that a reference for the sruti (tonic) is&#xA;recommended for and always used by even beginner students, but a comparable&#xA;reference for time in the form of a metronome is almost never seen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fun with nine nadais</title>
      <link>https://sriku.org/blog/2013/05/22/fun-with-nine-nadais/</link>
      <pubDate>Wed, 22 May 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/05/22/fun-with-nine-nadais/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s something fun done in &lt;a href=&#34;http://talakeeper.org&#34;&gt;Tala Keeper&lt;/a&gt; - a walk&#xA;through of &lt;a href=&#34;http://talakeeper.org/tk3?bpm=70&amp;amp;pat=lrrr%7Clrrr%7Clrrr%7Clrrr%7Clrrr%7Clrrr%7Clrrr%7Clrrr%7Clrrr&amp;amp;kal=_%7C_%7C_%7C_%7C_%7C_%7C_%7C_%7C_&amp;amp;nad=_%7C__%7C___%7C____%7C_,_,_%7C_,__,_%7C_,_,_,_%7C___,___,%7C_,_,_,_,_&amp;amp;gat=_._%7C_._%7C_._%7C_._%7C_._%7C_._%7C_._%7C_._%7C_._&amp;amp;name=Nine%20Nadais&#34;&gt;&lt;em&gt;Nine Nadais&lt;/em&gt; in one big 36 beat cycle&lt;/a&gt;. If you&amp;rsquo;re viewing this&#xA;on your iOS device, tapping that link will open it in Tala Keeper. If not, the&#xA;pattern will play in another browser window in the free HTML5 simulator.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tala Keeper 1.3.0 released</title>
      <link>https://sriku.org/blog/2013/03/13/tala-keeper-1-dot-3-0-released/</link>
      <pubDate>Wed, 13 Mar 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/03/13/tala-keeper-1-dot-3-0-released/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://talakeeper.org&#34;&gt;Tala Keeper&lt;/a&gt; version 1.3.0 is the first public release of a visual metronome&#xA;for practicing music involving complex (or simple) time structures.&lt;/p&gt;&#xA;&lt;p&gt;&amp;lt;a href=&amp;ldquo;&lt;a href=&#34;https://itunes.apple.com/us/app/tala-keeper/id614784414?mt=8&amp;amp;uo=4%22&#34;&gt;https://itunes.apple.com/us/app/tala-keeper/id614784414?mt=8&amp;amp;uo=4&amp;quot;&lt;/a&gt; target=&amp;ldquo;itunes_store&amp;quot;style=&amp;ldquo;display:inline-block;overflow:hidden;background:url(&lt;a href=&#34;http://linkmaker.itunes.apple.com/htmlResources/assets/images/web/linkmaker/badge_appstore-lrg.png&#34;&gt;http://linkmaker.itunes.apple.com/htmlResources/assets/images/web/linkmaker/badge_appstore-lrg.png&lt;/a&gt;) no-repeat;width:135px;height:40px;@media only screen{background-image:url(&lt;a href=&#34;http://linkmaker.itunes.apple.com/htmlResources/assets/images/web/linkmaker/badge_appstore-lrg.svg);%7D%22%3E&#34;&gt;http://linkmaker.itunes.apple.com/htmlResources/assets/images/web/linkmaker/badge_appstore-lrg.svg);}&amp;quot;&amp;gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the ScriptProcessorNode</title>
      <link>https://sriku.org/blog/2013/01/30/taming-the-scriptprocessornode/</link>
      <pubDate>Wed, 30 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2013/01/30/taming-the-scriptprocessornode/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;http://www.w3.org/TR/webaudio&#34;&gt;Web Audio API&lt;/a&gt; provides graph based API for audio generation and&#xA;processing primitives with a focus on high performance and low latency. For&#xA;custom processing that is not covered by the builtin native audio nodes, it&#xA;provides a &lt;a href=&#34;http://www.w3.org/TR/webaudio/#ScriptProcessorNode&#34;&gt;ScriptProcessorNode&lt;/a&gt; whose processing is determined by a Javascript&#xA;function. Though the &lt;a href=&#34;http://www.w3.org/TR/webaudio/#ScriptProcessorNode&#34;&gt;ScriptProcessorNode&lt;/a&gt; is presented like any other node&#xA;type by the API, its behaviour differs from the other native nodes in some&#xA;fundamental ways. This post examines some of these differences using a simple&#xA;chime model as the use case, and derives some suggestions for the &lt;a href=&#34;http://www.w3.org/TR/webaudio&#34;&gt;Web Audio API&lt;/a&gt;&#xA;specification.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring graha bhedams</title>
      <link>https://sriku.org/blog/2012/12/30/exploring-grha-bhedams/</link>
      <pubDate>Sun, 30 Dec 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/12/30/exploring-grha-bhedams/</guid>
      <description>&lt;p&gt;Here is a &lt;a href=&#34;https://sriku.org/demos/bhedam&#34;&gt;demo web app&lt;/a&gt; for exploring rāgās and their bhēdams.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Scratch pad for text with diacritics</title>
      <link>https://sriku.org/blog/2012/12/27/scratch-pad-for-text-with-diacritics/</link>
      <pubDate>Thu, 27 Dec 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/12/27/scratch-pad-for-text-with-diacritics/</guid>
      <description>&lt;p&gt;Roman text with a few choice diacritics are a common need when writing about&#xA;Indian classical music. Creating unicode text with diacritics that can be&#xA;ported between applications is in general a pain. So, I made a small in-browser&#xA;app that serves as a &lt;a href=&#34;https://sriku.org/demos/diacritics&#34;&gt;scratch pad for common diacritics&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A critique of Tuna</title>
      <link>https://sriku.org/blog/2012/11/09/a-critique-of-tuna/</link>
      <pubDate>Fri, 09 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/11/09/a-critique-of-tuna/</guid>
      <description>&lt;p&gt;Google has open sourced the &lt;a href=&#34;http://github.com/Dinahmoe/tuna&#34;&gt;Tuna&lt;/a&gt; set of effects used in their &lt;a href=&#34;http://www.google.com/?q=jam+with+chrome&#34;&gt;Jam with Chrome&lt;/a&gt;&#xA;project. Here, I collect some thoughts about the code design decisions for their&#xA;effects framework, since I myself have written &lt;a href=&#34;http://github.com/srikumarks/steller&#34;&gt;Steller&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On eval and evil.</title>
      <link>https://sriku.org/blog/2012/08/28/on-eval-being-evil/</link>
      <pubDate>Tue, 28 Aug 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/08/28/on-eval-being-evil/</guid>
      <description>&lt;p&gt;&amp;ldquo;eval is evil&amp;rdquo; has become a maxim repeated in the Javascript community.&#xA;Douglas Crockford, in &lt;a href=&#34;http://shop.oreilly.com/product/9780596517748.do&#34;&gt;Javascript: The Good Parts&lt;/a&gt;, rightly advises against&#xA;hidden and explicit uses of eval for security and clarity reasons. Now, I find&#xA;&lt;code&gt;eval&lt;/code&gt; useful to implement &lt;a href=&#34;https://sriku.org/gyan/2012/04/14/creating-dsls-in-javascript-using-j-expressions/&#34;&gt;DSLs in Javascript&lt;/a&gt;. The in-browser &lt;a href=&#34;http://coffeescript.org&#34;&gt;CoffeeScript&lt;/a&gt;&#xA;compiler wouldn&amp;rsquo;t be possible without &lt;code&gt;eval&lt;/code&gt; (directly or indirectly). So, in&#xA;this post, I wish to explore what appears interesting about &lt;code&gt;eval&lt;/code&gt; that is&#xA;relevant to building such DSLs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Toy language using j-expressions</title>
      <link>https://sriku.org/blog/2012/04/30/toy-language-using-j-expressions/</link>
      <pubDate>Mon, 30 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/04/30/toy-language-using-j-expressions/</guid>
      <description>&lt;p&gt;Posted a &amp;ldquo;stream of thought&amp;rdquo; compiler for a toy language based&#xA;on the idea of j-expressions as a representation for ASTs.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://github.com/srikumarks/jexpr&#34;&gt;Code&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://srikumarks.github.com/jexpr&#34;&gt;Docs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>J-expressions</title>
      <link>https://sriku.org/blog/2012/04/15/j-expressions/</link>
      <pubDate>Sun, 15 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/04/15/j-expressions/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.json.org&#34;&gt;JSON&lt;/a&gt; has become a kind of de-facto standard for sharing data among services&#xA;on the web. The Lisp folks have enjoyed this luxury ever since &amp;hellip; well ever&#xA;since McCarthy made the language and his student implemented an interpreter for&#xA;it. What&amp;rsquo;s more, they have also had the luxury of using the same syntax for&#xA;sharing &lt;em&gt;logic&lt;/em&gt; .. and in fact take it for granted. This post is a proposal to&#xA;bring that &amp;ldquo;luxury&amp;rdquo; to the web programming world.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Status:&lt;/strong&gt; Draft. Comments welcome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating DSLs in Javascript using J-expressions</title>
      <link>https://sriku.org/blog/2012/04/14/creating-dsls-in-javascript-using-j-expressions/</link>
      <pubDate>Sat, 14 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/04/14/creating-dsls-in-javascript-using-j-expressions/</guid>
      <description>&lt;p&gt;Scheme and Lisp have for long had powerful meta-programming abilities due to&#xA;the syntax of their language being the same as the syntax for the main data&#xA;structure supported by the language - the humble list. These languages are&#xA;therefore well suited for inventing smaller special purpose &amp;ldquo;domain specific&#xA;languages.&lt;/p&gt;&#xA;&lt;p&gt;Javascript, on the other hand, has a &amp;ldquo;full blown syntax&amp;rdquo; that makes&#xA;meta-programming not for the faint of heart. One consequence of the lack of&#xA;such ability is that developers have not had the benefit of the abstraction&#xA;possible through small special purpose DSLs.&lt;/p&gt;&#xA;&lt;p&gt;Here, I outline an approach for creating DSLs in Javascript using the now&#xA;prevalent &lt;a href=&#34;http://www.json.org&#34;&gt;JSON&lt;/a&gt; format that is native to the language. The initial part tries&#xA;to explain the kinds of scenarios in which one might consider building a DSL,&#xA;which is important to have an idea about. Later, I get into the actual&#xA;representation using JSON.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A mental model for variables and closures in Javascript</title>
      <link>https://sriku.org/blog/2012/04/13/a-mental-model-for-variables-and-closures-in-javascript/</link>
      <pubDate>Fri, 13 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/04/13/a-mental-model-for-variables-and-closures-in-javascript/</guid>
      <description>&lt;p&gt;Closures and variables have a strained relationship in Javascript that causes&#xA;much confusion among newcomers and results in hard to spot bugs even for&#xA;experienced JS coders. It is good to have a clear and accurate &amp;ldquo;mental model&amp;rdquo;&#xA;of this relationship using which you can correctly predict what would happen&#xA;with any given piece of code.&lt;/p&gt;&#xA;&lt;p&gt;I came up with such a mental model a while back and posted it on &lt;a href=&#34;http://news.ycombinator.com/item?id=2688438&#34;&gt;Hacker News&lt;/a&gt;&#xA;&amp;hellip; which I reproduce here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Classes and Javascript</title>
      <link>https://sriku.org/blog/2012/04/12/classes-and-javascript/</link>
      <pubDate>Thu, 12 Apr 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/04/12/classes-and-javascript/</guid>
      <description>&lt;p&gt;If you have been programming in Java and C++ for a while and are used to&#xA;thinking about problems in terms of classes and inheritance, you may find&#xA;yourself struggling with Javascript since it has only objects.  This post is to&#xA;&amp;ndash; a) provide you with a perspective on why programming with only objects is&#xA;powerful and b) show you how to translate the class-based concepts you&amp;rsquo;re used&#xA;to thinking in into the Javascript world.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Social hash as identity</title>
      <link>https://sriku.org/blog/2012/01/03/social-hash-as-identity/</link>
      <pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2012/01/03/social-hash-as-identity/</guid>
      <description>&lt;p&gt;(This is a &amp;ldquo;brain-dump&amp;rdquo; post).&lt;/p&gt;&#xA;&lt;p&gt;Many write-ups and studies on social networks and privacy issues talk about the&#xA;risk of using one’s personal information disclosed within social networks for&#xA;identity theft. That made me think about whether it is really possible for an&#xA;identity thief to steal my entire social environment and history or whether&#xA;such theft is simply an indication of how broken the current paper-world&#xA;identity systems are in the digital age?&lt;/p&gt;&#xA;&lt;p&gt;Enter the “social hash” – a short identification string that can be generated&#xA;from the data in your social network’s history that is very highly likely to be&#xA;unique to you and very difficult to duplicate in a &amp;ldquo;prove your identity&amp;rdquo;&#xA;challenge.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Newcomb&#39;s problem and quantum physics</title>
      <link>https://sriku.org/blog/2011/05/07/newcombs-problem-and-quantum-physics/</link>
      <pubDate>Sat, 07 May 2011 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2011/05/07/newcombs-problem-and-quantum-physics/</guid>
      <description>&lt;p&gt;How would &lt;a href=&#34;http://lesswrong.com/lw/nc/newcombs_problem_and_regret_of_rationality/&#34;&gt;Newcomb&amp;rsquo;s problem&lt;/a&gt; look like in the physical world, taking quantum&#xA;physics into account? Specifically, would Omega need to know quantum physics in&#xA;order to predict my decision on &amp;ldquo;to one box or not to one box&amp;rdquo;?&lt;/p&gt;</description>
    </item>
    <item>
      <title>iPad2 wish ..</title>
      <link>https://sriku.org/blog/2011/01/26/ipad2-wish/</link>
      <pubDate>Wed, 26 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2011/01/26/ipad2-wish/</guid>
      <description>&lt;p&gt;Now that macworld is near, it is time for an iPad wish list.&lt;/p&gt;&#xA;&lt;p&gt;I have only one item on it - and it is the addition of a wacom tablet-like&#xA;stylus interface on top of the capacitive touch screen. Camera? Nope don&amp;rsquo;t&#xA;need. I want a pad where I can draw and scribble with precision, flipping the&#xA;stylus on its head to turn it into an eraser. Ah! That&amp;rsquo;ll be a heaven of a&#xA;tablet with both touch and stylus support.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Photon polarization</title>
      <link>https://sriku.org/blog/2011/01/05/photon-polarization/</link>
      <pubDate>Wed, 05 Jan 2011 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2011/01/05/photon-polarization/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://lesswrong.com/lw/pz/decoherence_as_projection/&#34;&gt;Decoherence as projection&lt;/a&gt; discusses photon polarization as a phenomenon that&#xA;can only be explained quantum mechanically even at the macroscopic level –&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Alternate Reality Kit</title>
      <link>https://sriku.org/blog/2010/09/19/the-alternate-reality-kit/</link>
      <pubDate>Sun, 19 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2010/09/19/the-alternate-reality-kit/</guid>
      <description>&lt;p&gt;The term &amp;ldquo;object oriented programming&amp;rdquo; has degraded to the point where I no&#xA;longer take self proclaimed OOP enthusiasts seriously. I don&amp;rsquo;t believe they&#xA;know what they&amp;rsquo;re talking about &amp;hellip; unless they bring up something &amp;hellip; anything&#xA;&amp;hellip; about Smalltalk. If you don&amp;rsquo;t have a clue about what makes me go soft upon&#xA;the mere mention of Smalltalk, check out this 1987 video demo of the&#xA;&lt;a href=&#34;http://www.open-video.org/details.php?videoid=8050&#34;&gt;Alternate Reality Kit&lt;/a&gt;. Makes you wish you had that on an iPad today doesn&amp;rsquo;t it?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primes - Go vs. Haskell</title>
      <link>https://sriku.org/blog/2010/09/18/primes-go-vs-haskell/</link>
      <pubDate>Sat, 18 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2010/09/18/primes-go-vs-haskell/</guid>
      <description>&lt;p&gt;Recently, a friend of mine pointed out a&#xA;&lt;a href=&#34;http://golang.org/s/prime-sieve&#34;&gt;concurrent implementation of Eratosthenes&amp;rsquo; prime sieve&lt;/a&gt;&#xA;expressed in google’s Go programming language. I&#xA;couldn’t resist trying a Haskell version of that same approach.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Randall Munroe (xkcd) likes these</title>
      <link>https://sriku.org/blog/2010/03/12/randall-munroe-xkcd-likes-these/</link>
      <pubDate>Fri, 12 Mar 2010 00:00:00 +0000</pubDate>
      <guid>https://sriku.org/blog/2010/03/12/randall-munroe-xkcd-likes-these/</guid>
      <description>&lt;p&gt;Recently, Randall Munroe held a guest week where some of his favourite&#xA;cartoonists drew for him on &lt;a href=&#34;http://xkcd.com/&#34;&gt;xkcd&lt;/a&gt;. (RM was going through a family illness.) I&#xA;love &lt;a href=&#34;http://xkcd.com/&#34;&gt;xkcd&lt;/a&gt;, so I got curious about what RM likes and decided to jot down links&#xA;to all of them I could find. Here they are –&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://xkcd.com/&#34;&gt;xkcd&lt;/a&gt; – A tribute link to the ever brilliant RM.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.smbc-comics.com/&#34;&gt;Zach Weiner&lt;/a&gt; – Saturday Morning Breakfast Cereal&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://overcompensating.com/&#34;&gt;Jeffrey Rowland&lt;/a&gt; – Overcompensating&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.foxtrot.com/&#34;&gt;Bill Amend&lt;/a&gt; – Foxtrot&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.buttercupfestival.com/&#34;&gt;David Troupes&lt;/a&gt; – Buttercup Festival&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://questionablecontent.net/&#34;&gt;Jeph Jacques&lt;/a&gt; – Questionable Content&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.qwantz.com/index.php&#34;&gt;Ryan North&lt;/a&gt; – Dinosaur Comics&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.asofterworld.com/&#34;&gt;E Horne and J Comeau&lt;/a&gt; – A Softer World&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.pbfcomics.com/&#34;&gt;Nicholas Gurewich&lt;/a&gt; – The Perry Bible Fellowship&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.boltcity.com/copper/&#34;&gt;Kazu Kibuishi&lt;/a&gt; – Cooper&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://achewood.com/&#34;&gt;Chris Onstad&lt;/a&gt; – Achewood&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://wondermark.com/&#34;&gt;David Malki&lt;/a&gt; – Wondermark&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://thisisindexed.com/&#34;&gt;Jessica Hagy&lt;/a&gt; – Indexed&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
  </channel>
</rss>
