<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Arihant Verma</title>
	<subtitle>Learning In Public About Tech, Writing Personal Essays, Poems and Stories</subtitle>
	
	<link href="https://arihantverma.com/feed/feed.xml" rel="self"/>
	<link href="https://arihantverma.com/"/>
	<updated>2024-06-24T00:00:00Z</updated>
	<id>https://arihantverma.com/</id>
	<author>
		<name>Arihant Verma</name>
		<email>arihantverma1994@gmail.com.com</email>
	</author>
	
	<entry>
		<title>Tech Week - 1</title>
		<link href="https://arihantverma.com/posts/2024/06/24/new-things-learnt-this-week/"/>
		<updated>2024-06-24T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/06/24/new-things-learnt-this-week/</id>
		<content type="html">&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://tailwindcss.com/docs/adding-custom-styles#arbitrary-properties&quot;&gt;You can write styles for properties that tailwind@3.x.x doesn&#39;t support&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;[mask-type:luminance] [cx:17px]&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- ... --&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;How to use css variables in tailwind&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;bg-[--my-color]&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- ... --&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;How to use &lt;code&gt;media&lt;/code&gt; and &lt;code&gt;supports&lt;/code&gt; in tailwind inline&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;[@supports(cx:1)]:translate-x-0 [@media(hover:none)]:w-12&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- ... --&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Media Hover can be used to detect which devices don&#39;t have hover ( touch devices )&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;[@media(hover:none)]:w-12&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- ... --&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://adropincalm.com/blog/notes-on-typescript-custom-events/&quot;&gt;How to type custom events in Typescript&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content>
	</entry>
	
	<entry>
		<title>Netlify Astro DB PNPM Typescript Error</title>
		<link href="https://arihantverma.com/posts/2024/06/14/netlify-astro-pnpm-ts-error/"/>
		<updated>2024-06-14T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/06/14/netlify-astro-pnpm-ts-error/</id>
		<content type="html">&lt;p&gt;On netlify, I kept getting this error when trying to build my astro project:&lt;/p&gt;
&lt;pre class=&quot;language-plain&quot;&gt;&lt;code class=&quot;language-plain&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;6:17:37 PM: src/pages/dashboard/messages/index.astro:87:28 - error ts(7006): Parameter &#39;message&#39; implicitly has an &#39;any&#39; type.&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;6:17:37 PM: 87             {messages.map((message) =&gt; {&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;6:17:37 PM:                               ~~~~~~~&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In one of my astro files, in frontmatter, the &lt;code&gt;messages&lt;/code&gt; was all rows from an astro db table:&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; messages &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; db&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;select&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;from&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;ContactMessage&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When I locally ran &lt;code&gt;astro check&lt;/code&gt; there were no errors. &lt;a href=&quot;https://docs.astro.build/en/reference/cli-reference/#astro-sync&quot;&gt;&lt;code&gt;astro check&lt;/code&gt; runs &lt;code&gt;astro sync&lt;/code&gt; as well internally&lt;/a&gt;. &lt;code&gt;astro sync&lt;/code&gt; generates all types for the astro db.&lt;/p&gt;
&lt;p&gt;Looking at the build logs, I saw that netlify uses a particular version of &lt;code&gt;8&lt;/code&gt; for pnpm. I had been using &lt;code&gt;9&lt;/code&gt; locally. So I added the &lt;code&gt;PNPM_VERSION&lt;/code&gt; environment variable to my netlify build settings.&lt;/p&gt;
&lt;p&gt;Then I got a pnpm error:&lt;/p&gt;
&lt;pre class=&quot;language-plain&quot;&gt;&lt;code class=&quot;language-plain&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;6:56:03 PM:  ERR_PNPM_OUTDATED_LOCKFILE  Cannot install with &quot;frozen-lockfile&quot; because pnpm-lock.yaml is not up to date with package.json&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;6:56:03 PM: Note that in CI environments this setting is true by default. If you still need to run install in such cases, use &quot;pnpm install --no-frozen-lockfile&quot;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;6:56:03 PM:     Failure reason:&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;6:56:03 PM:     specifiers in the lockfile &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I deleted the &lt;code&gt;pnpm-lock.yaml&lt;/code&gt; file and ran &lt;code&gt;pnpm install&lt;/code&gt; again.&lt;/p&gt;
&lt;p&gt;Then the build passed.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Old Jems</title>
		<link href="https://arihantverma.com/posts/2024/06/09/old-jems/"/>
		<updated>2024-06-09T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/06/09/old-jems/</id>
		<content type="html">&lt;p&gt;I was trying to find something else in my hardware archives bag when I found these two things, an old office card, which I never gave to anyone, and a multi audio connector/audio splitter. The card says that I am a word nerd and a read-o-holic. That is true. I don&#39;t know why but I&#39;m kind of proud of whoever&#39;s idea it was to add this section in the card. I like that that line says more about me than the purpose of the card itself. Not that I can compare the joys that programming and reading books bring. But I loved that the activity that I engage in the most in the world was written starkly. I could reel a person in more in books and stories than in discussions about software engineering and computers. I got lucky I guess, with an office contact card telling more about me than what I was and did at the job.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I bought the audio splitter after I saw the movie Begin Again. I was fascinated by the night that two platonic friends spent on the live streets of New York City. Especially the scene where they go into a club but with their audios jacked to one of their phones, shared through this splitter, with a sweet origin story, dancing uninhibitedly right there in the moment.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; media=&quot;(max-width: 629px)&quot; srcset=&quot;https://arihantverma.com/images/sZr0XTlWf3-350.webp&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/webp&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/sZr0XTlWf3-808.webp&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/jpeg&quot; media=&quot;(max-width: 529px)&quot; srcset=&quot;https://arihantverma.com/images/sZr0XTlWf3-350.jpeg&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/jpeg&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/sZr0XTlWf3-808.jpeg&quot; /&gt;&lt;br /&gt;
&lt;img loading=&quot;lazy&quot; alt=&quot;Splitter Scene: Begin Again&quot; width=&quot;808&quot; height=&quot;441&quot; src=&quot;https://arihantverma.com/images/sZr0XTlWf3-350.jpeg&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;When I rewatch the movie, I dream of living in a city where people could be appreciated and encouraged to allow themselves to dance like that, listen to the music like that, connect to people, like that. Or perhaps I just need to take steps to make any city like that. Go out and make a fool out of myself, talk to people for no reason at all and see how it goes.&lt;/p&gt;
&lt;div style=&quot;padding:64.72% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/955624519?badge=0&amp;amp;autopause=0&amp;amp;player_id=0&amp;amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;The Dance Club Scene: Begin Again&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;I&#39;m lucky to have a person at home, who picks me up when I say that I&#39;m not feeling like doing anything, when a lot has to be done, hits her dance playlist at the top of the house&#39;s voice, and then dance with me in the living room.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Discriminated / Tagged Union Types</title>
		<link href="https://arihantverma.com/posts/2024/06/02/discriminated-or-tagged-unions-with-partials-and-never/"/>
		<updated>2024-06-02T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/06/02/discriminated-or-tagged-unions-with-partials-and-never/</id>
		<content type="html">&lt;p&gt;I learnt about &lt;strong&gt;Discriminated Union Types&lt;/strong&gt; for the first time 2 years back from &lt;a href=&quot;https://arihantverma.com/posts/2024/06/02/discriminated-or-tagged-unions-with-partials-and-never/-books/typescript-in-50-lessons/&quot;&gt;Typescript in 50 Lessons&lt;/a&gt; book by &lt;a href=&quot;https://mastodon.social/@deadparrot&quot;&gt;Stefan Baumgartner&lt;/a&gt;. The example from the book:&lt;/p&gt;
&lt;pre class=&quot;language-ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// common properties for an event entity&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TechEventBase&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  title&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  description&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  date&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Date&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  capacity&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  rsvp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Talk&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  title&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;abstract&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  speaker&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Conference&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  location&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;conference&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Meetup&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  location&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;meetup&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Webinar&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  url&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;webinar&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TechEvent&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Conference &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; Webinar &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; Meetup&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;getEventTeaser&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;event&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; TechEvent&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;kind&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;conference&#39;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// We now know that I&#39;m in type Conference&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; (Conference), &lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// Suddenly I don&#39;t have to check for price as&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// TypeScript knows it will be there&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;priced at &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;price&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; USD&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;meetup&#39;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// We now know that we&#39;re in type Meetup&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt; (Meetup), &lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// Suddenly we can say for sure that this&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// event will have a location, because the&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// type tells us&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;hosted at &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;location&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;webinar&#39;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// We now know that we&#39;re in type Webinar&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;${event.title} (Webinar), &#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// Suddenly we can say for sure that there will&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// be a URL&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;available online at &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;url&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Not sure what to do with that!&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;      &lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Typescript playground &lt;a href=&quot;https://www.typescriptlang.org/play/?ssl=14&amp;amp;ssc=1&amp;amp;pln=15&amp;amp;pc=1#code/PTAEGMHsFtsg7UAHATpJBTFAXAlhgZ1ADNIVQBDRDANw3m1Hr2wE8AoNzUAFQ3AAWAUToMAQhQIZQAXlABvdqFAsANhgBcoAthS54AcwA0S0ABNC4PUjwItOvYdNmK2TaAAirjCeXgKSBTguGxa8ACu0ABGWL6gKAQ0SGGRMSgmAL7snKzcPBSqANayCqZq7g76xqYUUQ5B2Pa6VXEEmBSFWE2OBuxZOdwAwgjEWPTg0nJ8giLMElKgAGSlyqqQ-rbw3S2mqLgTKdGxZQWFBFr5RQDaALpxhfpmWgDkUPCjKOMYz33ZXNIAWQwGGw4SQJWmwlE2Hm0mWilW61cuDs2mahjiewOaJ6cWwp3OvFOt3ujxe0GBoKQP36-1AAHUMFF9BRyFN+FC5pI4StQOEUKpthjdnoJgB+Q5pPEEi6nUnwJ6gZ4AdyZLJQNL+uWkkNmDBKw3eY3gE1AAB8GWr4KzzaAgSCwdliOETZtQAYQXrsHxuSgABS0ZgXDlegCUvIIypCggD0IAdA8FeGEcoINylW8Pl9nhpTMoQJbQPBIMrQIVi6XsAJXKAAJLPaCgfQqbWgQ1Zk0YPPxB0oRAAAwAJPJAww4+UMqA-e3jRNQ0ZQP3QABqbsFgDK4TMFngqlYdfMCGejGrdBUkAgAn4xVI5Cx0kka7APG166suBsZYrRBCoCjqlUUAYhUK9Pm7ft7zMShGGHUdsDje9JwAVXXDx+27fwFgbSkwRzJ9CwrL8SxAmtVWeT4m0QOl7SpbtPlBPtF1g+MJynGiwXnRcV3wzdt3oPc-2kfxEAICh91vbR+WkKsayrXACHwuC-1wADQFPB9QDWDYUXgBcYn8cIFirLtU1AAs6TcACiEM8CBEgHQMCgmtmOYOMtORBAMnQ0zMOkFUrVZPDTILRki2I8tiJkxgyIo5s6UZZlrRQOje0QZ4XLHVi-QS9VOOebjgrAXidwE1U0xEsSSDISSKKikCxmUgD8OAihQCQgAlAAZcCKBoCgVNqdRQAQVR9AfGCR3jflVC87sLGIChwlURpuyrNBS3gDBSyEFA0H9Z4ADlIEYAgpL-atGGwC8zAvKMqxI7AAEJnlDUxJ1M0A+iAA&quot;&gt;link&lt;/a&gt; for above code.&lt;/p&gt;
&lt;p&gt;Discriminated union types provide…no surprise…discrimination with the help of a common &lt;strong&gt;identifier&lt;/strong&gt;, using which Typescript is able to  identify (discriminate/narrow down) between different kinds of types, just like we can identify rock from metal music.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;rock hands and guitar&quot;&gt;🤘🏼🎸&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;In the case above, that common &lt;strong&gt;identifier&lt;/strong&gt; is the property &lt;code&gt;kind&lt;/code&gt; on all different types of &lt;code&gt;TechEvent&lt;/code&gt;. For your eyes only:&lt;/p&gt;
&lt;pre class=&quot;language-ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Conference&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  location&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;conference&#39;&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Meetup&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  location&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;meetup&#39;&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Webinar&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; TechEventBase &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  url&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;webinar&#39;&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once TypeScript checks that an event has a particular &lt;code&gt;kind&lt;/code&gt; property, TypeScript can narrow down the  &lt;code&gt;TechEvent&lt;/code&gt; type to be one of those union types (see &lt;code&gt;getEventTeaser&lt;/code&gt; above).&lt;/p&gt;
&lt;p&gt;If you don&#39;t have a common identifier property like &lt;code&gt;kind&lt;/code&gt;, and instead try to do this:&lt;/p&gt;
&lt;pre class=&quot;language-ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;OtherProperties&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  location&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  url&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  price&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;number&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  talks&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; Talk&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  kind&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;conference&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;meetup&#39;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;webinar&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;TechEvent&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; OtherProperties &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; TechEventBase&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There&#39;s no necessary knowledge about which properties, the event of kind &lt;code&gt;conference&lt;/code&gt;, or &lt;code&gt;meetup&lt;/code&gt;, or &lt;code&gt;webinar&lt;/code&gt;, &lt;em&gt;definitely has and has not&lt;/em&gt;. Every kind of event could have any kind of property, which is not nice. Because we know that &lt;code&gt;url&lt;/code&gt; property only makes sense for &lt;code&gt;webinar&lt;/code&gt; kind of event, but this type doesn&#39;t help enforce it in any way. Neither does it let us narrow types down when we provide &lt;code&gt;switch&lt;/code&gt; or &lt;code&gt;if&lt;/code&gt; checks on &lt;code&gt;TechEvent&lt;/code&gt; typed value.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Discriminated Union type, with a common property across a union of types, helps Typescript to narrow types down, when you check for one particular kind of that property.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But what if you want to make associations between two properties? Suppose say, I have two properties on a type, property &lt;code&gt;isPending&lt;/code&gt; and &lt;code&gt;pendingText&lt;/code&gt;. I want either both of them to be required or none of them at all. I&#39;m fairly intermediate at TypeScript, and in no way can I pull off what xstate and trpc pull off under the hood, but this is what I found to be one of the ways. And strangely(or not?), it&#39;s a form of telling TypeScript a way of discriminating. See this:&lt;/p&gt;
&lt;pre class=&quot;language-ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;PendingProps&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  isPending&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;boolean&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  pendingText&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Props&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  otherProp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Options&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; Props &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;Partial&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;PendingProps&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; isPending&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;never&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; pendingText&lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;never&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; isPending&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;boolean&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; Required&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Pick&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;PendingProps&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;pendingText&#39;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; pendingText&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token builtin&quot;&gt;string&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; Required&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Pick&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;PendingProps&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;isPending&#39;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token builtin&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// works&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token function&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  otherProp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;whatever&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// works&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token function&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  otherProp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;whatver&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  isPending&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  pendingText&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;Loading…&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// errors&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token function&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  otherProp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;whatver&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  isPending&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// errors&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token function&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  otherProp&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;whatver&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  pendingText&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;Loading…&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Typescript Playground &lt;a href=&quot;https://www.typescriptlang.org/play/?#code/C4TwDgpgBAChB2ATAlvA5jATgezAZygF4oBvAKCimTziVTQC4oAjbbAGwgEN4BuCqJDroAKhAAewJnmCZ6-AL78yoSLBz4ipAdmAALCJiy5ps+mQVQyK8NADyYYMmzwCxY5oBkAgBQDKAD5QPjBcmE5c7AA8tCjoHngAfFCepFQ0CHFoAPxM8BAAboa8gpn0YpK5UPlFmFAKAJT+UEE+JOmx9EysHNzw9SlQAEoQAI4ArsiYEIgxyADGANYxZfEaeAA0UADkQlkVwNuJiU2UgcHte+USUlAycugDqSMTUzNzSyvCGOtb29SddBHE4CBrKABm43g8ycLig4LYPlwsNcTAcKLwDW0lHmLjwvQAdKgEUjHM5XE0FNYAPTUqAAd2wmEWeDICOwbR0+kMHiY23pei4wEKhm2FiaZFpDKZLLZiPIlF0BiMGj5AqFtW2GwEANWjCgsnGEG1lCuohufIAMtguFlAGQEYsaNLphhwmFZ7M5iu5KpMO3VwE1Jo6eqY4MieAg4udUFdTI98q5yt5-sFgdFwbNaAOVpt9sdDSAA&quot;&gt;link&lt;/a&gt; for the above code&lt;/p&gt;
&lt;p&gt;Let&#39;s break that down.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ONE: &lt;code&gt;Partial&amp;lt;PendingProps&amp;gt; &amp;amp; { isPending?: never; pendingText?: never }&lt;/code&gt;.&lt;/strong&gt;&lt;br /&gt;
This means that if you don&#39;t provide any of the &lt;code&gt;isPending&lt;/code&gt; or &lt;code&gt;pendingText&lt;/code&gt; props, both of them will be treated as optional, and you won&#39;t get any TypeScript error. When you intersect &lt;code&gt;Partial&amp;lt;PendingProps&amp;gt;&lt;/code&gt; with &lt;code&gt;{ isPending?: never; pendingText?: never }&lt;/code&gt;, it effectively removes the possibility of having &lt;code&gt;isPending&lt;/code&gt; or &lt;code&gt;pendingText&lt;/code&gt; as optional properties. It kinda makes sense when you read it:&lt;/p&gt;
&lt;p&gt;Because if, say, we provide &lt;code&gt;isPending&lt;/code&gt; and miss &lt;code&gt;pendingText&lt;/code&gt;, TypeScript matches the type with &lt;code&gt;Partial&amp;lt;PendingProps&amp;gt;&lt;/code&gt; (since &lt;code&gt;pendingText&lt;/code&gt; is missing). But it also has to match the intersection.&lt;/p&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;strong&gt;Quick Recap&lt;/strong&gt;: We read Intersection Types (&lt;code&gt;&amp;amp;&lt;/code&gt; operator) as &lt;em&gt;and&lt;/em&gt;. We combine the properties from one type A with that of another type B, much like extending classes. The result is a new type with the properties of type A and type B.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If &lt;code&gt;Partial&amp;lt;PendingProps&amp;gt;&lt;/code&gt; is matched, and it intersects with &lt;code&gt;{ isPending?: never; pendingText?: never }&lt;/code&gt;, we&#39;re basically saying&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nah, uuh! If you give partial, I don&#39;t allow you to use either of them, they are &lt;code&gt;never&lt;/code&gt;!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;TWO: &lt;code&gt;({ isPending: boolean } &amp;amp; Required&amp;lt;Pick&amp;lt;PendingProps, &#39;pendingText&#39;&amp;gt;&amp;gt;)&lt;/code&gt;&lt;/strong&gt;&lt;br /&gt;
This means that if you provide the &lt;code&gt;isPending&lt;/code&gt; prop, the &lt;code&gt;pendingText&lt;/code&gt; prop becomes required. The third part says the vice versa.&lt;/p&gt;
&lt;h1 id=&quot;recap&quot; tabindex=&quot;-1&quot;&gt;Recap &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2024/06/02/discriminated-or-tagged-unions-with-partials-and-never/#recap&quot;&gt;🔗&lt;/a&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Make partial properties impossible&lt;/li&gt;
&lt;li&gt;If one is given, make the other one mandatory.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As and when I find other examples of discriminating in TypeScript, I&#39;ll keep updating here. If you learnt something new, or liked this, share it with others 💃🏻&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Iterators for Pagination</title>
		<link href="https://arihantverma.com/posts/2024/05/29/iterators-for-pagination/"/>
		<updated>2024-05-29T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/05/29/iterators-for-pagination/</id>
		<content type="html">&lt;p&gt;I&#39;ve have been spending some time using and reading github api through their official JavaScript SDK &lt;a href=&quot;https://github.com/octokit/octokit.js&quot;&gt;octokit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;One interesting thing I stumbled upon today was their &lt;a href=&quot;https://github.com/octokit/plugin-paginate-rest.js/?tab=readme-ov-file#octokitpaginateiterator&quot;&gt;&lt;code&gt;.paginate.iterator&lt;/code&gt;&lt;/a&gt; api (&lt;a href=&quot;https://arihantverma.com/posts/2024/05/29/iterators-for-pagination/&quot;&gt;implementation&lt;/a&gt;), wherein you can provide this function any other listing api’s fetching function ( say &lt;code&gt;listCommits&lt;/code&gt; ), and provide options to tell how many to fetch in one time ( and optionally takes a &lt;code&gt;page&lt;/code&gt; ).&lt;/p&gt;
&lt;p&gt;The nice thing about implementing this iterator function is that we can just use a normal &lt;code&gt;for await&lt;/code&gt; loop and it’ll keep fetching next paginated page’s data. Something like&lt;/p&gt;
&lt;pre class=&quot;language-typescript&quot;&gt;&lt;code class=&quot;language-typescript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; mainCommits&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; Endpoints&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;GET /repos/{owner}/{repo}/commits&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;response&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;data&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; mainCommitsIterator &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; octokit&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;paginate&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;iterator&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;octokitRest&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;repos&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;listCommits&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;githubDetails&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  sha&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; mainCommitSHA&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  per_page&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// Set the number of commits per page&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; data&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; commits &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; mainCommitsIterator&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  mainCommits&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;commits&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;mainCommits&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;token operator&quot;&gt;&gt;=&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This provided me a very easy option to &lt;em&gt;‘not fetch after 150 commits have been fetched’&lt;/em&gt; functionality by just breaking the for loop. Internally any loop structure which supports iterating over iterators, calls the iterator’s &lt;code&gt;next&lt;/code&gt; function internally, automatically. &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators&quot;&gt;More on JavaScript iterators&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Patch to make @octokit/types work with vite/astro</title>
		<link href="https://arihantverma.com/posts/2024/05/28/octokit-types-astro/"/>
		<updated>2024-05-28T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2024/05/28/octokit-types-astro/</id>
		<content type="html">&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;If you are using node, use &lt;a href=&quot;https://github.com/ds300/patch-package&quot;&gt;patch-package&lt;/a&gt;. If you are using pnpm use the in-built &lt;a href=&quot;https://pnpm.io/cli/patch&quot;&gt;patch&lt;/a&gt; command.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Trying to use &lt;code&gt;@octokit/types&lt;/code&gt; with vite/astro? You might run into &lt;a href=&quot;https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/resolve.ts#L1078-L1079&quot;&gt;this kind of error&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is because of how vite.js resolves packages. &lt;code&gt;@octokit/types&lt;/code&gt; doesn&#39;t export any javascript file, so vite says&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don&#39;t recognise you, can&#39;t let you in.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You need to add a dummy &lt;code&gt;main&lt;/code&gt; file in the package&#39;s package.json to make it happy. This is how patched package.json of &lt;code&gt;@octokit/types&lt;/code&gt; should look like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;diff --git a/index.js b/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/package.json b/package.json
index 7ee12d257f4213c3583c11acbfde95895f80d261..2693b41cab2f0865f76de2bff5e600a114ccf6e4 100644
--- a/package.json
+++ b/package.json
@@ -43,5 +43,13 @@
     &amp;quot;dist-types/**&amp;quot;
   ],
   &amp;quot;types&amp;quot;: &amp;quot;dist-types/index.d.ts&amp;quot;,
+  &amp;quot;exports&amp;quot;: {
+    &amp;quot;.&amp;quot;: {
+      &amp;quot;import&amp;quot;: &amp;quot;./index.js&amp;quot;,
+      &amp;quot;require&amp;quot;: &amp;quot;./index.js&amp;quot;,
+      &amp;quot;types&amp;quot;: &amp;quot;./dist-types/index.d.ts&amp;quot;
+    }
+  },
+  &amp;quot;main&amp;quot;: &amp;quot;./index.js&amp;quot;,
   &amp;quot;sideEffects&amp;quot;: false
 }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If this helped you down, consider giving me a shout out on twitter :)&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Struggling Experiences At Hospitals</title>
		<link href="https://arihantverma.com/posts/2023/12/21/struggling-experiences-at-hospitals/"/>
		<updated>2023-12-21T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2023/12/21/struggling-experiences-at-hospitals/</id>
		<content type="html">&lt;p&gt;My father&#39;s health deteriorated in the last week of November. My last day at job was November 30th. On 3rd December I booked a flight for the next day to be with him and be of help. He&#39;s never informed me much about what&#39;s up with his health, never acquainted me on which medicines he took and for what. I also never asked. His standard answer to how he&#39;s doing would be and still is&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;First class, all well, perfect.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So when he asked me to come, I knew it was a big deal. I was scared, booked flights the next moment and flew to him.&lt;/p&gt;
&lt;p&gt;During these 20 days, we visited three doctors and three hospitals. The Alchemist Panchkula and Apollo Excelcare Hospital in Guwahati were the main ones. We got admitted to the former for 3 days. We felt clueless at times and helpless at others. These are the recollections of some of those times.&lt;/p&gt;
&lt;h2 id=&quot;alchemist-hospital%2C-panchkula&quot; tabindex=&quot;-1&quot;&gt;Alchemist Hospital, Panchkula &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/21/struggling-experiences-at-hospitals/#alchemist-hospital%2C-panchkula&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We could afford a single bed easily for a couple of days, so we did. We thought that we&#39;d be taken care of properly, after all, we were paying the equivalent of a 4-star hotel stay for a couple of days. But&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I had to constantly ask nurses to come to administer insulin and give medicines, which they surprisingly forgot often.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There was zero sync between different departments of the hospital. Meals were served with no intimation to the nursing staff, refilling water in a small jug—which lasted 30 minutes max—needed constant beckoning and summoning and multiple times. It&#39;d take anywhere between half an hour and one for them to act on it. We were informed of when to take insulin shots. But I fear to think of someone who might not follow instructions properly, or fail to remember for whatever reasons. They&#39;d easily skip calling out for insulin after they had their meals delivered and before eating.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On discharge, when a nurse came to tell us about the last prescription the doctor gave, she was unable to clarify doubts. We had to repeatedly ask her. Finally, the head nurse clarified them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This was the first time Appa had to take insulin. We later found out we did not know what to do when sugar levels were right but close to the lower threshold – do we take the insulin shot or not? We were never told.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The insulin injection pen that the head nurse gave us, we later found out at 10 pm in the night – when we were supposed to take it, didn&#39;t have the needles along with it. Sugar fluctuated drastically. It had touched 400 a couple of days back. It was scary to sleep off without taking the shot.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I don&#39;t know why generally doctors fail to tell exactly what they have diagnosed. We knew that we had to take insulin, but none of the two doctors we consulted over the last 10 days, cared to explain why taking insulin for long is a bad thing for the body, and what we could do to completely rid of it as soon as possible.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;apollo-excelcare-hospital%2C-guwahati.&quot; tabindex=&quot;-1&quot;&gt;Apollo Excelcare Hospital, Guwahati. &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/21/struggling-experiences-at-hospitals/#apollo-excelcare-hospital%2C-guwahati.&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Although the doctor at Guwahati sought history patiently and took time, which was a very calming thing to watch, he completely failed to say that a strict diet is necessary to lower potassium and creatinine levels.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We were the first ones to reach the hospital at 7:45 am. No one tended to the 6 reception counters. We waited for receptionists to come, filled the form, and after unnecessarily waiting for half an hour, gave our first sample at 8:30 am ( why even a 30 minutes wait for just collecting samples when no one else was there? ). After giving second sample at 11 am after breakfast, we were told that we&#39;ll be messaged when reports came. We were not, so we finally reached at 2:30 pm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On asking at the reception, we were first told that the reports had still not come. On showing anger, when they checked again, the reports had come a long time ago. We then waited for an hour and a half, which made sense because the doctor checked every patient very…patiently, but we had one of his first appointments of the day. No queue system whatsoever. We got out of the doctor&#39;s office at 5, then waited another 10 minutes for the dietician, for which, I repeat, we had to ask for ourselves, then another 20 minutes for her to make a diet chart.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A billing mistake at the hospital pharmacy took them 25 minutes to give us 3 medicines. We finally started at 6:10 pm and reached Shillong at 10 pm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We had a hotel to go to until reports came. I shiver to think what happens to a person who comes from far off to get checked, on a bus, with no possibilities of stay except to sit on the uncomfortable waiting chairs, sleeping there without blankets, in peak winters?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Can&#39;t do anything about it, but it&#39;s gut-wrenching to see that hospitals are one of the pioneering institutes of sucking time, resource and wealth, &lt;a href=&quot;https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/&quot;&gt;often with staff lacking empathy&lt;/a&gt; - the only thing that can help people feel better in the difficult health conditions they seek to get cured from.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Where Does The Empathy Go?</title>
		<link href="https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/"/>
		<updated>2023-12-14T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/</id>
		<content type="html">&lt;h2 id=&quot;sadoo-and-pareshaan-in-the-hospital-admin-office&quot; tabindex=&quot;-1&quot;&gt;Sadoo and Pareshaan In The Hospital Admin Office &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/#sadoo-and-pareshaan-in-the-hospital-admin-office&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I waited in the cue to get discharge papers at the hospital. The office had two people sitting and working seriously. One of them, let&#39;s call him Sadoo – the one in a suit – visibly the one working there for longer, looked particularly indifferent, no emotions on his face, except a slight hint of sanctimonious. The other one, let&#39;s call him Pareshaan, a recent joiner, kept coming to Sadoo to ask questions. The questions pertained to things he didn&#39;t yet know about – a fairly regular practice for new joiners to take help. Pareshaan was helping a patient&#39;s custodian fill formalities, take advance and get them admitted. Pareshaan came over to Sadoo for a third time to ask if he could go to have lunch. Sadoo asked if he was on the 11am shift. Pareshaan said yes. Sadoo said that 11am shift people werent&#39;t allowed to have lunch at 2pm, because it&#39;s a peak hour. He asked him to go later to have some snacks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There&#39;s no one else here with us ( pointing to the third empty chair in the office ). If you go, how will I do all the work?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Out of my attention span and sight, Pareshaan might have asked the same question and shared the dilemma with their supervisor/boss, because she came over. She confronted Sadoo directly&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Did you say that Pareshaan wasn&#39;t allowed to have lunch?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sadoo fumbled, taken back suddenly. He defended that he didn&#39;t say it like that, that he meant that there wasn&#39;t a third person in the office to keep up with the load. The boss woman called the third person and asked if he&#39;d had his lunch&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you&#39;ve done your lunch, come back na quickly! What are you waiting for? You&#39;ve been gone a while now!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She asked Parsehaan to have lunch as soon as the third person came back. As soon as the boss left, Sadoo, angry and irritated, stopped what he was doing, craned his neck to his side to confront Pareshaan and bellowed,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Why did you say to her that I told you not to have lunch? Did I say so?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Pareshaan, not sure how to answer back –  since Sadoo had told him exactly that at first ( he had used the word &lt;em&gt;not allowed&lt;/em&gt; ) – played a genuine victim card&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don&#39;t know what politics is going on at this place, I&#39;ve just joined and two complaints have been filed against me already.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sadoo muttered some more words of warning, contempt, displeasure and ridicule and went back to working with the rest of us waiting for him. He worked with dissonance and disinterest but with the focus and attention of an eagle. He complained to a woman who just entered then, that 8k from his salary had been deducted because of an error. The woman – responsible for taking patients to their beds after formalities – asked him to get in touch with the IT department to get it fixed. His reply was a vague combination of lack of intention, will and denial.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Now what can they even do?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Duh! But on second thought, perhaps he was shaken by the way he had acted and how he had been suddenly taken by surprise.&lt;/p&gt;
&lt;p&gt;But I wonder how this would have turned if he had acted with a little empathy, putting himself in the new joinee&#39;s shoes, which I&#39;m sure he was too at some point in time.&lt;/p&gt;
&lt;h2 id=&quot;all-i-want-to-say-is-that-they-don&#39;t-really-care-about-us&quot; tabindex=&quot;-1&quot;&gt;&lt;a href=&quot;https://youtu.be/t1pqi8vjTLY?si=7gYTbTO-ovJp8X4S&quot;&gt;All I Want To Say Is That They Don&#39;t Really Care About Us&lt;/a&gt; &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/#all-i-want-to-say-is-that-they-don&#39;t-really-care-about-us&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;About a year ago, I was thrown into a difficult situation. A colleague had repressed emotions ( as diagnosed later ) and snapped in an unrelated urgent office meeting. He didn&#39;t seem to be himself, kept mumbling absurd, irrational thoughts of grandiosity, walking nonstop, taking cold water baths, wandering around the complex without warning and locking himself up. The best guess seemed to be that he was high on a potent drug. Having waited enough, after two difficult nights, and finding out that Manipal Hospital didn&#39;t have a single person in the psychiatry department, the good psychiatrists diagnosed him as having had a severe manic attack episode, which lasted 4 days. He had to be kept under heavy sedatives.&lt;/p&gt;
&lt;p&gt;I informed a senior colleague of what was up. When he talked to one of the executives, his response to the situation was to &lt;strong&gt;&lt;em&gt;leave it be&lt;/em&gt;.&lt;/strong&gt; Both he and I were shocked, to say the least. Frustrated, headache throbbing, when I called my mom at the end of it all to hear her voice and feel a little better, she consoled me, but also corrected me to feel proud that it all fell for me to handle, that I could be helpful. That instantly shattered the ego-backed pride of my actions and humbled and grounded me.&lt;/p&gt;
&lt;p&gt;Meanwhile, I often think about that person who outright rejected to act and ordered to let it be. I didn&#39;t know an employer could be so fearful and afraid. It seemed like they were indifferent, but I think they were mostly afraid, to not have anything to do with something potentially dangerous – with a person&#39;s life at stake.&lt;/p&gt;
&lt;h2 id=&quot;war-and-the-notion-of-purity&quot; tabindex=&quot;-1&quot;&gt;War And The Notion Of Purity &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/#war-and-the-notion-of-purity&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;With Israel going ballistic on Palestine, my wonder has reached exhaustion. I think of all the kind people around me, the ones who sometimes find it hard to even stand up for themselves with required borrowed aggression. I draw a mental range of everything that would need stripping and brainwashing for them to act worse than animals, without even any personal vendetta, to abolish lives because they fancy it. I can&#39;t imagine that dystopian world where a technology like this exists, not because it might not be possible, but because somehow, somewhere, the blatantly nonsensical ideas of what it takes to become the &lt;em&gt;right kind&lt;/em&gt; of an ideal human being—as if humans were a combination of different species fighting for survival—are being successfully passed to the new generations, who are already gullible to believe anything anyone says, with a cause and a voice, not having the self-awareness to be able to stop, think and ask. Without the ability of even a semblance of self-inquiry, they are up on a long road to stress that will (hopefully) catch their lost conscience and pluck it out. But it&#39;ll be too late still.&lt;/p&gt;
&lt;h2 id=&quot;hmm%E2%80%A6&quot; tabindex=&quot;-1&quot;&gt;Hmm… &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2023/12/14/where-does-the-empathy-go/#hmm%E2%80%A6&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I think of all the times when I didn&#39;t have empathy. It never lasted long because a grip of guilt would hold me accountable and I&#39;d apologize and improve. It&#39;s difficult sometimes when everything at that point in time is acting against your ability to stop and put yourself in the other person&#39;s shoes, and ask a simple question: &amp;quot;What if I was in their place?&amp;quot; The philosophical, angsty, helpless reality of nonanswerable questions like, &#39;Why did I take birth in this particular family, with these privileges, and why did they not?&#39; aids empathy. &lt;em&gt;It could have been me&lt;/em&gt; coupled with the hard-hitting fact—that we are all going to die— that we subtly push aside successfully daily—blossom the need to have empathy as a basic human principle, not as an exclusion of an add-on.&lt;/p&gt;
&lt;p&gt;We&#39;ve all, I&#39;m sure, have people around us whose reasons are dogmas put down our throats and called right. Their way of validation is asking similar people around, if they are right or not, or if they have unchecked power, force us to believe. With the boundaries of race and religion, even if someone had to submit to live in democratic regimes run by authoritarians, they don&#39;t have any option but to suffer, one way or the other. What could one possibly say to people like these? The time when they could be educated is gone. Our only hope is that law brings them to justice. But when the law protectors let violence slip by, or worse, order it, what option is there but to go to extreme measures to—in case of religion—try to go out of the country, or convert like &lt;strong&gt;A&lt;/strong&gt; did in In Rheea Mukherjee&#39;s &lt;a href=&quot;https://www.goodreads.com/en/book/show/198537829&quot;&gt;The Girl Who Kept Falling In Love&lt;/a&gt;. With race, it&#39;s a lost cause. One can&#39;t change the lineage they are born in of course. What do a person do then? I&#39;ve been following Rheea&#39;s relentless efforts to ask people to not stay silent. Reading her book made me uncomfortable because I&#39;ve always been silent. But seeing what is happening in Gaza and things around me regularly, I couldn&#39;t. I had to write something, even if it might not make any difference. A start.&lt;/p&gt;
&lt;p&gt;I hope and pray that the people who are given reigns of power to act brutally without reason get punished, if not sooner by the law then later, if not by the law then by the power of people protesting, with perpetrators&#39; minds catching up to the time when they finally come back to be included in the human species as adults.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Lack of Burning Desire of Dreaming Big</title>
		<link href="https://arihantverma.com/posts/2022/11/23/lack-of-burning-desire-of-dreaming-big/"/>
		<updated>2022-11-23T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/11/23/lack-of-burning-desire-of-dreaming-big/</id>
		<content type="html">&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;Felt vulnerable and introspective. Might delete later.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;When I was a kid I used to revel in the pride of being good at maths and science. When we used to live in villages and small towns of Himachal, we didn&#39;t have a lot of cable channels. So when I&#39;d go to Mohali at my Nani&#39;s, apart from Cartoon Network, I&#39;d be hooked to Discovery and National Geographic channels, especially the programs about space and the universe. Truth be told though, I was just fascinated, nothing more. Despite knowing that I had a good temperament for understanding science and math — and this might be a coloured memory — I really don&#39;t remember a time when I lifted my head and said to myself  &amp;quot;…this! This is what I want become, this is what I want to do,&amp;quot; especially in high school, because during that time there was nothing else to think about but to study to crack JEE.&lt;/p&gt;
&lt;p&gt;There has been an underlying ennui throughout my life. I&#39;ve not felt a burning desire for any ambition – long enough to finish it anyway. I could just get by — feel guilty of not giving everything I&#39;d got — but get over it soon enough knowing I&#39;d never wanted to try – not really. Like everything hits a saturation, I&#39;ve hit it for this ennui again and again. And yet it continues to exist and bother. Which is another way of saying that I am not doing anything about it. But why?&lt;/p&gt;
&lt;p&gt;My mother still thinks I am meant to do great things in life. Before a couple of years, I&#39;d keep writing a draft of a post about how I was tired of being mediocre. I lost all those drafts and desire to both write about it and not be it. I feel lost.&lt;/p&gt;
&lt;p&gt;I am ambitious about a lot of things — I constantly have ideas. Short story ideas, story collection ideas, podcast and community building ideas, tech ideas [I especially like the ones that sit at the intersection of behavioural, community and culture interaction]. I just keep documenting them. Don&#39;t really act upon most of them. Sometimes I fight this ennui and I write. But I know that if I don&#39;t write out of habit and practice, my life long dream to publish big – which already has such low odds, won&#39;t even begin to have a chance let alone a possibility.&lt;/p&gt;
&lt;p&gt;I don&#39;t have a fear of failure. I fear taking risks. Also I think I am just lazy. And the necessary pain that comes to overcome this years worth of privilege and laziness has led me to writing about this today. I don&#39;t feel a pinch of not acting — not enough to keep me up at nights or mornings working on something. I am just okay to live by, but at the same time, I am not.&lt;/p&gt;
&lt;p&gt;I think I am addicted to laziness and pleasure. I am an obsessive — and at the same time — cynical and reluctant hedonist. I think it&#39;s because I don&#39;t have people around me who&#39;d say,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hey yo get up, let&#39;s do this!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Or collaborate with me with the excitement and intensity.&lt;/p&gt;
&lt;p&gt;I mostly don&#39;t surround myself with people at all. I can go on like this for months…&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Is it weird that I really love my own company and can be in a quiet space for days, with minimal need for friendships?&lt;/p&gt;&amp;mdash; Rituparna Chatterjee (@MasalaBai) &lt;a href=&quot;https://twitter.com/MasalaBai/status/1595069839382642695?ref_src=twsrc%5Etfw&quot;&gt;November 22, 2022&lt;/a&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
&lt;p&gt;Maybe that&#39;s the problem? That I don&#39;t have reinforcements from outside to push me into doing creative things together? All I have is my own company which piles on the drag of habit of non change.&lt;/p&gt;
&lt;p&gt;I also eat a lot of junk. I&#39;ve been in denial about this for long, perhaps because I am still fairly slim, and I don&#39;t see its effect really take turns anywhere. But I constantly feel tired, my digestion is really fucked up and I feel like not doing anything at all — not even office work when I am at the peak of a pressure deadline.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Not all is grim and bad. In the past week, I&#39;ve started to follow one simple practice. A notebook where I write what I should do in this fashion&lt;/p&gt;
&lt;svg version=&quot;1.1&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; viewBox=&quot;0 0 692.55859375 1015.07421875&quot; width=&quot;2077.67578125&quot; height=&quot;3045.22265625&quot;&gt;
  &lt;!-- svg-source:excalidraw --&gt;
  &lt;defs&gt;
    &lt;style class=&quot;style-fonts&quot;&gt;
      @font-face {
        font-family: &quot;Virgil&quot;;
        src: url(&quot;https://excalidraw.com/Virgil.woff2&quot;);
      }
      @font-face {
        font-family: &quot;Cascadia&quot;;
        src: url(&quot;https://excalidraw.com/Cascadia.woff2&quot;);
      }
    &lt;/style&gt;
  &lt;/defs&gt;
  &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;692.55859375&quot; height=&quot;1015.07421875&quot; fill=&quot;#ffffff&quot;&gt;&lt;/rect&gt;&lt;g transform=&quot;translate(33.55859375 96.1171875) rotate(0 324.5 45)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;32&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;36px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;21.  22.   23.   24.  25.  26. 27. &lt;/text&gt;&lt;text x=&quot;0&quot; y=&quot;77&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;36px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(37.3359375 145.6015625) rotate(0 307.5 12.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;18&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;20px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;Mo      Tu         Wed       Thu      Fri       Sat    Sun&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(187.05859375 10) rotate(0 163 25)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;18&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;20px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;write down the days of the week&lt;/text&gt;&lt;text x=&quot;0&quot; y=&quot;43&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;20px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;at the top of the page&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(171.703125 82.328125) rotate(0 151.94140625 -7.6015625)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M -0.32,-1.59 Q -0.32,-1.59 1.17,-1.97 2.67,-2.34 4.49,-2.71 6.31,-3.07 8.58,-3.34 10.86,-3.60 13.48,-3.70 16.10,-3.80 18.90,-3.83 21.70,-3.86 24.85,-3.86 28.00,-3.86 31.36,-3.85 34.71,-3.84 38.04,-3.84 41.37,-3.83 44.69,-3.82 48.01,-3.81 51.33,-3.81 54.66,-3.80 57.86,-3.64 61.06,-3.47 64.07,-3.14 67.08,-2.80 69.98,-2.47 72.87,-2.14 75.55,-1.84 78.23,-1.54 80.80,-1.34 83.37,-1.14 85.86,-1.06 88.35,-0.98 90.60,-0.94 92.85,-0.91 95.05,-0.89 97.25,-0.88 99.47,-1.00 101.69,-1.13 103.78,-1.52 105.87,-1.91 107.78,-2.52 109.70,-3.12 111.44,-3.91 113.19,-4.69 114.76,-5.68 116.33,-6.67 117.77,-7.81 119.21,-8.96 120.39,-10.07 121.56,-11.18 122.40,-12.08 123.23,-12.98 124.15,-14.01 125.06,-15.05 125.14,-15.28 125.21,-15.51 125.37,-15.74 125.52,-15.98 125.73,-16.17 125.93,-16.36 126.18,-16.50 126.42,-16.64 126.69,-16.71 126.96,-16.79 127.24,-16.79 127.53,-16.80 127.80,-16.74 128.07,-16.68 128.33,-16.56 128.58,-16.43 128.79,-16.25 129.01,-16.07 129.18,-15.85 129.34,-15.62 129.45,-15.36 129.56,-15.10 129.60,-14.82 129.64,-14.54 129.61,-14.26 129.59,-13.98 129.49,-13.72 129.40,-13.45 129.43,-14.57 129.45,-15.69 130.71,-15.24 131.97,-14.78 133.68,-14.21 135.39,-13.64 136.44,-13.26 137.50,-12.88 138.59,-12.47 139.67,-12.06 140.72,-11.71 141.77,-11.36 143.68,-10.94 145.59,-10.51 147.72,-10.33 149.86,-10.14 151.14,-10.10 152.41,-10.06 153.89,-10.00 155.37,-9.95 156.95,-9.90 158.53,-9.84 160.17,-9.79 161.81,-9.73 163.45,-9.70 165.09,-9.67 166.66,-9.79 168.23,-9.91 169.94,-10.21 171.65,-10.51 173.47,-10.90 175.30,-11.29 177.28,-11.78 179.27,-12.28 181.46,-12.86 183.65,-13.44 185.93,-14.00 188.22,-14.56 190.69,-15.04 193.16,-15.52 195.82,-15.89 198.48,-16.25 201.39,-16.48 204.31,-16.71 207.86,-16.81 211.42,-16.90 215.57,-16.93 219.73,-16.97 224.04,-16.98 228.35,-16.99 232.69,-16.99 237.03,-16.99 241.55,-16.99 246.07,-16.99 250.57,-16.99 255.07,-16.98 259.30,-16.98 263.53,-16.98 267.40,-16.90 271.28,-16.81 274.86,-16.50 278.45,-16.18 281.61,-15.61 284.78,-15.04 287.20,-14.41 289.63,-13.78 291.40,-13.31 293.17,-12.84 294.41,-12.51 295.66,-12.17 296.97,-11.82 298.29,-11.47 299.56,-11.26 300.84,-11.04 302.69,-10.58 304.54,-10.12 304.89,-9.95 305.25,-9.78 305.53,-9.51 305.82,-9.24 306.00,-8.89 306.18,-8.55 306.24,-8.16 306.30,-7.77 306.24,-7.38 306.17,-7.00 305.98,-6.65 305.80,-6.31 305.51,-6.04 305.23,-5.77 304.87,-5.61 304.51,-5.44 304.12,-5.40 303.73,-5.36 303.35,-5.45 302.97,-5.54 302.63,-5.74 302.30,-5.95 302.05,-6.25 301.79,-6.55 301.65,-6.91 301.51,-7.28 301.49,-7.67 301.47,-8.06 301.58,-8.44 301.68,-8.81 301.91,-9.14 302.13,-9.46 302.44,-9.70 302.75,-9.93 303.13,-10.06 303.50,-10.18 303.89,-10.18 304.28,-10.17 304.65,-10.05 305.03,-9.92 305.34,-9.68 305.65,-9.44 305.87,-9.11 306.08,-8.79 306.19,-8.41 306.29,-8.03 306.27,-7.64 306.24,-7.25 306.09,-6.89 305.95,-6.52 305.69,-6.22 305.44,-5.93 305.10,-5.73 304.76,-5.53 304.38,-5.44 303.99,-5.36 303.61,-5.41 303.22,-5.45 303.22,-5.45 303.22,-5.45 301.43,-6.02 299.65,-6.59 298.23,-7.14 296.81,-7.70 295.66,-8.36 294.50,-9.02 293.41,-9.54 292.32,-10.06 290.64,-10.65 288.97,-11.23 286.63,-11.84 284.30,-12.44 281.26,-13.00 278.22,-13.55 274.72,-13.86 271.22,-14.17 267.37,-14.25 263.53,-14.33 259.30,-14.32 255.07,-14.32 250.57,-14.32 246.07,-14.31 241.55,-14.30 237.04,-14.30 232.70,-14.28 228.36,-14.27 224.06,-14.24 219.76,-14.21 215.63,-14.15 211.50,-14.09 208.03,-13.97 204.56,-13.85 201.74,-13.58 198.92,-13.32 196.36,-12.91 193.80,-12.50 191.44,-11.95 189.08,-11.41 186.88,-10.75 184.67,-10.09 182.52,-9.35 180.36,-8.60 178.34,-7.91 176.33,-7.21 174.45,-6.67 172.56,-6.13 170.64,-5.66 168.71,-5.19 166.92,-4.98 165.12,-4.76 163.46,-4.70 161.80,-4.65 160.16,-4.60 158.51,-4.55 156.92,-4.51 155.33,-4.46 153.82,-4.43 152.30,-4.40 150.94,-4.41 149.57,-4.42 148.23,-4.48 146.89,-4.55 145.66,-4.71 144.43,-4.88 143.33,-5.12 142.22,-5.36 141.08,-5.68 139.95,-5.99 138.81,-6.39 137.67,-6.78 136.60,-7.19 135.52,-7.60 133.57,-8.36 131.62,-9.11 129.96,-9.88 128.30,-10.65 126.99,-11.54 125.67,-12.43 125.44,-13.97 125.21,-15.51 125.37,-15.74 125.52,-15.98 125.73,-16.17 125.93,-16.36 126.18,-16.50 126.42,-16.64 126.69,-16.71 126.96,-16.79 127.24,-16.79 127.53,-16.80 127.80,-16.74 128.07,-16.68 128.33,-16.56 128.58,-16.43 128.79,-16.25 129.01,-16.07 129.18,-15.85 129.34,-15.62 129.45,-15.36 129.56,-15.10 129.60,-14.82 129.64,-14.54 129.61,-14.26 129.59,-13.98 129.49,-13.72 129.40,-13.45 128.65,-12.64 127.90,-11.84 126.81,-11.06 125.72,-10.28 124.72,-9.49 123.71,-8.70 122.38,-7.63 121.04,-6.56 119.44,-5.37 117.83,-4.19 116.06,-3.16 114.29,-2.13 112.39,-1.36 110.49,-0.58 108.42,0.04 106.35,0.67 104.09,1.08 101.84,1.49 99.54,1.62 97.23,1.75 95.02,1.73 92.81,1.72 90.54,1.68 88.26,1.65 85.71,1.56 83.17,1.48 80.56,1.28 77.94,1.08 75.26,0.79 72.57,0.49 69.68,0.16 66.79,-0.16 63.86,-0.48 60.93,-0.80 57.79,-0.95 54.66,-1.10 51.34,-1.09 48.01,-1.09 44.69,-1.08 41.37,-1.06 38.05,-1.05 34.72,-1.03 31.37,-1.00 28.03,-0.97 24.89,-0.92 21.76,-0.87 19.01,-0.78 16.27,-0.69 13.80,-0.51 11.33,-0.34 9.16,0.03 7.00,0.40 5.19,0.76 3.38,1.12 1.85,1.35 0.32,1.59 0.12,1.61 -0.06,1.62 -0.26,1.59 -0.45,1.56 -0.63,1.48 -0.81,1.41 -0.97,1.29 -1.13,1.17 -1.25,1.02 -1.37,0.86 -1.46,0.69 -1.54,0.51 -1.58,0.32 -1.62,0.12 -1.61,-0.06 -1.60,-0.26 -1.55,-0.45 -1.49,-0.64 -1.39,-0.81 -1.30,-0.98 -1.16,-1.12 -1.02,-1.26 -0.86,-1.36 -0.69,-1.47 -0.50,-1.53 -0.32,-1.59 -0.32,-1.59 L -0.32,-1.59 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(29.7578125 260.84375) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M10.35 1.28 C13.45 -0.12, 19.61 -0.13, 22.88 1.14 C26.14 2.42, 28.19 5.83, 29.94 8.92 C31.68 12.02, 33.96 16.27, 33.35 19.7 C32.73 23.13, 29.03 27.35, 26.25 29.48 C23.47 31.62, 20.14 32.72, 16.66 32.51 C13.17 32.3, 8.01 30.48, 5.35 28.24 C2.69 25.99, 1.34 22.37, 0.69 19.06 C0.04 15.74, -0.49 11.4, 1.45 8.34 C3.39 5.27, 10.32 2.01, 12.33 0.66 C14.34 -0.69, 13.32 0.07, 13.52 0.26 M19.43 -0.79 C22.62 -0.78, 25.64 2.1, 27.84 4.81 C30.03 7.52, 32.44 12.07, 32.59 15.48 C32.73 18.89, 30.64 22.69, 28.69 25.25 C26.74 27.82, 24.12 30.11, 20.88 30.86 C17.64 31.6, 12.64 31.02, 9.25 29.75 C5.87 28.47, 1.92 26.2, 0.56 23.19 C-0.81 20.18, -0.05 14.9, 1.04 11.68 C2.13 8.47, 4.21 5.69, 7.09 3.89 C9.97 2.09, 16.47 1.49, 18.34 0.88 C20.21 0.27, 18.55 0.29, 18.31 0.23&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(15.28515625 320.19140625) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.33,-3.36 646.45,-3.60 647.02,-3.51 647.60,-3.41 648.12,-3.14 648.63,-2.87 649.03,-2.44 649.43,-2.02 649.68,-1.49 649.92,-0.96 649.99,-0.38 650.05,0.19 649.93,0.76 649.80,1.33 649.50,1.83 649.20,2.33 648.75,2.71 648.31,3.09 647.77,3.30 647.22,3.52 646.64,3.55 646.06,3.58 645.50,3.43 644.93,3.27 644.45,2.94 643.97,2.61 643.61,2.15 643.26,1.68 643.07,1.13 642.89,0.58 642.89,-0.00 642.89,-0.58 643.07,-1.13 643.26,-1.69 643.61,-2.15 643.97,-2.62 644.45,-2.94 644.93,-3.27 645.50,-3.43 646.06,-3.58 646.64,-3.55 647.22,-3.52 647.77,-3.30 648.31,-3.09 648.75,-2.71 649.20,-2.33 649.50,-1.83 649.80,-1.33 649.93,-0.76 650.05,-0.19 649.99,0.38 649.92,0.96 649.68,1.49 649.43,2.02 649.03,2.44 648.63,2.87 648.12,3.14 647.60,3.41 647.02,3.51 646.45,3.60 646.45,3.60 646.45,3.60 643.33,3.36 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(28.4375 347.830078125) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M20.19 0.78 C23.3 1.34, 26.09 3.56, 28.24 6.13 C30.39 8.7, 32.93 12.87, 33.06 16.2 C33.2 19.53, 31.47 23.35, 29.03 26.13 C26.59 28.9, 22.03 32.11, 18.45 32.82 C14.87 33.53, 10.42 32.12, 7.55 30.38 C4.69 28.64, 2.25 25.69, 1.26 22.4 C0.27 19.11, 0.31 14.01, 1.61 10.66 C2.92 7.31, 5.68 3.87, 9.11 2.32 C12.54 0.76, 19.71 1.29, 22.2 1.32 C24.7 1.34, 24.05 2.12, 24.09 2.45 M21.22 -1.13 C24.22 -0.37, 26.15 3.7, 28.09 6.59 C30.03 9.48, 32.86 12.88, 32.86 16.22 C32.86 19.57, 30.32 24.06, 28.09 26.65 C25.86 29.25, 22.74 31.21, 19.48 31.79 C16.23 32.38, 11.6 31.9, 8.57 30.16 C5.54 28.41, 2.51 24.73, 1.29 21.33 C0.06 17.93, -0.2 13.13, 1.23 9.78 C2.66 6.44, 6.85 2.62, 9.85 1.24 C12.85 -0.13, 17.4 1.5, 19.22 1.55 C21.04 1.59, 20.64 1.27, 20.77 1.52&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(13.96484375 407.177734375) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(29.2578125 434.5986328125) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M22.53 0.23 C25.8 0.84, 28.99 4.06, 30.79 7.18 C32.59 10.31, 33.94 15.38, 33.34 18.97 C32.74 22.56, 30.09 26.57, 27.19 28.75 C24.29 30.93, 19.51 31.87, 15.95 32.04 C12.4 32.21, 8.43 31.77, 5.87 29.78 C3.31 27.78, 1.24 23.64, 0.62 20.06 C-0.01 16.49, 0.49 11.32, 2.1 8.3 C3.72 5.29, 7.1 3.14, 10.33 1.97 C13.55 0.8, 19.51 1.41, 21.46 1.27 C23.4 1.13, 21.91 0.85, 22 1.12 M23.03 2.63 C25.66 3.62, 28.62 5.49, 30.04 8.54 C31.46 11.59, 32.38 17.16, 31.54 20.92 C30.7 24.67, 27.56 29.13, 25.01 31.06 C22.45 32.99, 19.69 33.07, 16.19 32.51 C12.69 31.95, 6.63 30.08, 4.01 27.72 C1.39 25.36, 0.68 21.99, 0.47 18.35 C0.26 14.72, 0.9 8.94, 2.75 5.89 C4.6 2.85, 8.01 1.02, 11.57 0.08 C15.13 -0.85, 22.13 -0.21, 24.11 0.26 C26.1 0.73, 23.86 2.35, 23.46 2.91&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(14.78515625 493.9462890625) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(27.9375 521.5849609375) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M23.89 0.99 C26.95 2.37, 30.67 6.48, 32.04 9.79 C33.4 13.11, 33.3 17.65, 32.09 20.88 C30.87 24.11, 27.7 27.1, 24.76 29.16 C21.83 31.22, 17.77 33.39, 14.47 33.23 C11.17 33.08, 7.36 30.88, 4.98 28.24 C2.6 25.6, 0.52 20.8, 0.19 17.37 C-0.13 13.95, 1.14 10.46, 3.03 7.69 C4.93 4.92, 7.79 1.54, 11.57 0.74 C15.35 -0.05, 22.81 1.99, 25.72 2.91 C28.63 3.83, 28.96 5.81, 29.05 6.27 M17.84 -0.93 C21.15 -0.73, 25.89 2.77, 28.29 5.83 C30.68 8.88, 31.85 13.93, 32.21 17.41 C32.58 20.89, 32.74 24.18, 30.49 26.68 C28.24 29.19, 22.34 31.66, 18.71 32.45 C15.07 33.24, 11.7 33.3, 8.69 31.42 C5.68 29.55, 2.08 24.68, 0.65 21.19 C-0.78 17.69, -1.21 13.84, 0.13 10.45 C1.47 7.06, 5.51 2.39, 8.69 0.85 C11.87 -0.69, 17.66 1.16, 19.21 1.2 C20.77 1.23, 18.28 0.98, 18.02 1.06&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(13.46484375 580.9326171875) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(26.29296875 608.57275390625) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M7.86 1.16 C10.61 -0.6, 15.86 -0.65, 19.35 0.26 C22.83 1.18, 26.41 3.95, 28.75 6.64 C31.09 9.32, 33.53 12.98, 33.38 16.35 C33.24 19.72, 30.48 24.17, 27.88 26.86 C25.29 29.54, 21.18 31.98, 17.8 32.45 C14.42 32.91, 10.34 31.47, 7.59 29.65 C4.83 27.82, 2.38 24.75, 1.28 21.51 C0.18 18.26, -0.66 13.61, 1.01 10.2 C2.67 6.78, 9.08 2.52, 11.28 1.01 C13.48 -0.5, 14.21 0.89, 14.21 1.16 M18.36 0.51 C21.55 1.41, 27.08 4.87, 29.42 7.46 C31.76 10.06, 32.72 12.74, 32.39 16.06 C32.06 19.38, 29.73 24.78, 27.44 27.38 C25.14 29.97, 21.74 31.22, 18.63 31.61 C15.52 32, 11.55 31.5, 8.77 29.7 C5.99 27.91, 3.45 24.24, 1.95 20.84 C0.46 17.44, -1.14 12.62, -0.19 9.3 C0.76 5.98, 4.59 2.65, 7.67 0.91 C10.74 -0.83, 16.15 -1.12, 18.26 -1.14 C20.36 -1.16, 20.09 0.11, 20.29 0.79&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(11.8203125 667.92041015625) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(24.97265625 695.55908203125) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M15.62 -0.09 C19 -0.18, 23.21 1.85, 26.12 3.97 C29.03 6.09, 32.43 9.32, 33.09 12.62 C33.74 15.93, 32 20.66, 30.05 23.81 C28.11 26.96, 24.6 30.27, 21.42 31.51 C18.24 32.75, 14.06 32.35, 10.96 31.25 C7.86 30.15, 4.66 27.81, 2.84 24.91 C1.01 22, -0.39 17.23, 0.01 13.8 C0.41 10.38, 2.41 6.52, 5.24 4.36 C8.07 2.19, 14.83 1.38, 16.99 0.8 C19.16 0.23, 18.07 0.63, 18.21 0.9 M9.01 3.4 C11.97 1.52, 16.22 -0.7, 19.37 -0.17 C22.51 0.36, 25.73 3.88, 27.89 6.57 C30.05 9.26, 32.11 12.64, 32.35 15.97 C32.59 19.3, 31.44 23.93, 29.34 26.54 C27.24 29.15, 23.55 31.22, 19.74 31.63 C15.93 32.04, 9.76 30.89, 6.5 29 C3.23 27.11, 1.2 23.66, 0.12 20.3 C-0.96 16.95, -1.56 11.9, 0.01 8.87 C1.59 5.84, 8.07 3.05, 9.58 2.12 C11.1 1.2, 9.23 2.88, 9.13 3.3&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(10.5 754.90673828125) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(25.79296875 782.32763671875) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M9.77 1.51 C12.97 -0.01, 18.83 -0.74, 22.14 0.22 C25.45 1.19, 28.04 4.22, 29.64 7.28 C31.24 10.34, 32.14 15.13, 31.73 18.58 C31.32 22.03, 29.57 25.6, 27.17 27.97 C24.78 30.35, 20.88 32.61, 17.36 32.81 C13.84 33.02, 8.95 31.33, 6.06 29.2 C3.16 27.07, 0.76 23.34, -0.02 20.03 C-0.81 16.73, -0.38 12.52, 1.34 9.38 C3.05 6.25, 8.4 2.5, 10.25 1.21 C12.09 -0.08, 12.34 1.58, 12.41 1.66 M17.26 -0.47 C20.31 -0.61, 23.97 2.6, 26.47 4.99 C28.97 7.37, 31.58 10.53, 32.28 13.84 C32.98 17.15, 32.39 21.97, 30.65 24.87 C28.91 27.76, 25.54 30.34, 21.82 31.19 C18.11 32.05, 11.86 31.49, 8.37 30.01 C4.89 28.52, 2.42 25.46, 0.92 22.28 C-0.59 19.09, -1.79 14.07, -0.65 10.89 C0.49 7.72, 4.67 4.88, 7.78 3.25 C10.88 1.62, 16.39 1.39, 17.96 1.12 C19.52 0.85, 17.46 1.77, 17.17 1.64&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(11.3203125 841.67529296875) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g stroke-linecap=&quot;round&quot; transform=&quot;translate(24.47265625 869.31396484375) rotate(0 16.388671875 16.388671875)&quot;&gt;&lt;path d=&quot;M16.25 -0.58 C19.55 -1.09, 23.1 0.67, 25.64 2.87 C28.19 5.07, 30.64 9.23, 31.5 12.63 C32.37 16.03, 32.21 20.12, 30.82 23.28 C29.43 26.43, 26.42 30.11, 23.17 31.56 C19.92 33.01, 14.81 32.98, 11.32 31.97 C7.83 30.97, 4.19 28.36, 2.22 25.54 C0.26 22.72, -0.85 18.52, -0.48 15.05 C-0.12 11.57, 1.46 7.06, 4.4 4.68 C7.35 2.29, 15.08 1.57, 17.17 0.74 C19.26 -0.09, 16.99 -0.5, 16.95 -0.31 M22.69 2.22 C25.73 3.53, 29.49 6.22, 31.16 9.3 C32.83 12.37, 33.56 17.33, 32.72 20.66 C31.88 24, 29.42 27.53, 26.11 29.3 C22.8 31.08, 16.63 31.83, 12.87 31.31 C9.11 30.79, 5.86 28.8, 3.52 26.17 C1.19 23.54, -1.3 18.83, -1.15 15.55 C-1.01 12.27, 1.99 8.84, 4.4 6.49 C6.8 4.14, 10.08 1.98, 13.29 1.43 C16.49 0.88, 22.07 3.27, 23.62 3.18 C25.17 3.09, 22.66 0.96, 22.6 0.9&quot; stroke=&quot;#000000&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(10 928.66162109375) rotate(0 323.2265625 0)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 0,-3.12 Q 0,-3.12 6.63,-3.05 13.26,-2.98 31.57,-2.93 49.87,-2.88 82.22,-2.85 114.57,-2.81 156.79,-2.79 199.01,-2.76 243.77,-2.74 288.53,-2.72 332.66,-2.71 376.79,-2.69 416.64,-2.68 456.50,-2.67 487.03,-2.67 517.56,-2.66 539.72,-2.65 561.88,-2.65 576.83,-2.65 591.79,-2.64 602.13,-2.64 612.47,-2.64 619.42,-2.63 626.37,-2.63 630.74,-2.63 635.10,-2.63 637.66,-2.88 640.22,-3.12 643.26,-3.35 646.30,-3.57 646.87,-3.48 647.44,-3.39 647.95,-3.12 648.46,-2.84 648.86,-2.42 649.26,-2.00 649.50,-1.48 649.74,-0.95 649.81,-0.38 649.87,0.19 649.74,0.75 649.62,1.32 649.32,1.82 649.02,2.31 648.58,2.69 648.14,3.06 647.60,3.28 647.06,3.49 646.49,3.52 645.91,3.55 645.35,3.40 644.79,3.24 644.31,2.92 643.83,2.59 643.48,2.13 643.13,1.67 642.95,1.12 642.76,0.57 642.76,-0.00 642.76,-0.57 642.95,-1.12 643.13,-1.67 643.48,-2.13 643.83,-2.59 644.31,-2.92 644.79,-3.24 645.35,-3.40 645.91,-3.55 646.49,-3.52 647.07,-3.49 647.60,-3.28 648.14,-3.06 648.58,-2.69 649.02,-2.31 649.32,-1.82 649.62,-1.32 649.74,-0.75 649.87,-0.19 649.81,0.38 649.74,0.95 649.50,1.48 649.26,2.00 648.86,2.42 648.46,2.84 647.95,3.12 647.44,3.39 646.87,3.48 646.29,3.57 646.29,3.57 646.30,3.57 643.26,3.35 640.22,3.12 637.66,2.88 635.10,2.63 630.74,2.63 626.37,2.63 619.42,2.63 612.47,2.64 602.13,2.64 591.79,2.64 576.83,2.65 561.88,2.65 539.72,2.65 517.56,2.66 487.03,2.67 456.50,2.67 416.64,2.68 376.79,2.69 332.66,2.71 288.53,2.72 243.77,2.74 199.01,2.76 156.79,2.79 114.57,2.81 82.22,2.85 49.87,2.88 31.57,2.93 13.26,2.98 6.63,3.05 0,3.12 -0.37,3.07 -0.74,3.03 -1.09,2.90 -1.45,2.76 -1.76,2.55 -2.07,2.33 -2.32,2.05 -2.57,1.77 -2.74,1.44 -2.92,1.10 -3.01,0.74 -3.10,0.37 -3.10,-0.00 -3.10,-0.37 -3.01,-0.74 -2.92,-1.10 -2.74,-1.44 -2.57,-1.77 -2.32,-2.05 -2.07,-2.33 -1.76,-2.55 -1.45,-2.76 -1.09,-2.90 -0.74,-3.03 -0.37,-3.07 0.00,-3.12 0.00,-3.12 L 0,-3.12 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(514.203125 219.171875) rotate(0 9.388671875 392.90234375)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M 3.12,0 Q 3.12,0 3.05,7.97 2.98,15.95 2.93,27.97 2.88,40.00 2.85,56.22 2.81,72.43 2.79,92.89 2.76,113.35 2.74,136.82 2.72,160.29 2.71,182.68 2.69,205.07 2.68,225.93 2.67,246.79 2.67,266.84 2.66,286.88 2.65,304.58 2.65,322.28 2.65,337.29 2.64,352.29 2.64,364.84 2.64,377.38 2.63,388.58 2.63,399.78 2.63,410.21 2.63,420.65 2.63,430.77 2.63,440.89 2.63,450.48 2.63,460.08 2.63,468.05 2.62,476.02 2.62,482.75 2.62,489.47 2.62,495.47 2.62,501.46 2.62,506.62 2.62,511.77 2.62,516.50 2.62,521.23 2.62,525.59 2.62,529.95 2.66,534.03 2.70,538.12 2.73,542.19 2.76,546.27 2.78,550.36 2.80,554.45 2.79,558.63 2.79,562.81 2.86,567.16 2.94,571.51 3.16,575.91 3.39,580.31 3.72,584.68 4.04,589.06 4.43,593.46 4.82,597.86 5.23,602.18 5.63,606.51 6.04,610.70 6.44,614.89 6.91,618.82 7.38,622.75 7.84,626.49 8.30,630.23 8.69,634.03 9.07,637.83 9.48,641.49 9.89,645.15 10.32,648.66 10.76,652.17 11.20,655.41 11.65,658.65 12.10,661.47 12.55,664.30 12.97,666.70 13.40,669.11 13.79,671.31 14.19,673.52 14.53,675.81 14.86,678.10 15.19,680.68 15.52,683.26 15.84,686.20 16.17,689.14 16.49,692.52 16.81,695.89 17.15,699.56 17.48,703.22 17.83,706.62 18.19,710.02 18.55,713.23 18.90,716.45 19.15,719.77 19.40,723.09 19.58,726.42 19.77,729.75 19.91,733.24 20.04,736.73 20.14,740.45 20.23,744.16 20.36,747.82 20.49,751.49 20.67,754.86 20.85,758.24 21.16,761.13 21.47,764.02 21.83,766.33 22.19,768.63 22.73,771.71 23.28,774.79 23.68,777.24 24.09,779.70 24.30,781.88 24.50,784.07 22.30,787.30 20.09,790.53 15.02,790.16 9.95,789.78 9.06,789.38 8.18,788.97 7.46,788.31 6.75,787.64 6.29,786.78 5.83,785.92 5.66,784.96 5.50,784.00 5.65,783.04 5.80,782.07 6.25,781.21 6.70,780.34 7.41,779.67 8.11,778.99 8.99,778.58 9.88,778.16 10.84,778.05 11.81,777.94 12.77,778.14 13.72,778.34 14.56,778.84 15.40,779.34 16.04,780.08 16.67,780.82 17.04,781.72 17.41,782.63 17.46,783.60 17.52,784.57 17.27,785.51 17.01,786.46 16.47,787.27 15.93,788.08 15.16,788.67 14.38,789.27 13.46,789.59 12.54,789.90 11.56,789.91 10.59,789.92 9.66,789.61 8.74,789.30 7.96,788.72 7.18,788.13 6.62,787.33 6.07,786.53 5.80,785.59 5.54,784.65 5.58,783.68 5.63,782.70 5.99,781.79 6.34,780.88 6.97,780.14 7.59,779.39 8.43,778.88 9.26,778.37 10.21,778.16 11.16,777.94 12.13,778.04 13.10,778.14 13.10,778.14 13.10,778.14 15.22,779.59 17.33,781.03 15.15,782.91 12.98,784.79 13.19,782.41 13.40,780.03 13.46,777.88 13.52,775.72 13.47,772.63 13.42,769.54 13.30,767.12 13.17,764.69 13.00,761.66 12.83,758.63 12.69,755.25 12.54,751.87 12.31,748.21 12.08,744.55 11.83,740.85 11.58,737.15 11.37,733.70 11.16,730.25 10.96,726.99 10.77,723.73 10.53,720.56 10.30,717.38 9.96,714.19 9.62,710.99 9.21,707.64 8.80,704.28 8.23,700.62 7.67,696.96 7.20,693.57 6.73,690.18 6.41,687.20 6.09,684.22 5.88,681.61 5.68,679.01 5.57,676.78 5.47,674.54 5.34,672.29 5.21,670.04 5.08,667.60 4.94,665.15 4.76,662.27 4.58,659.40 4.33,656.12 4.09,652.84 3.80,649.30 3.52,645.76 3.23,642.06 2.94,638.35 2.68,634.59 2.41,630.82 2.12,627.08 1.84,623.34 1.48,619.37 1.12,615.40 0.73,611.20 0.34,607.01 -0.07,602.68 -0.49,598.34 -0.90,593.90 -1.31,589.47 -1.66,585.04 -2.01,580.61 -2.28,576.12 -2.54,571.63 -2.66,567.22 -2.79,562.81 -2.79,558.63 -2.80,554.45 -2.78,550.36 -2.76,546.27 -2.73,542.19 -2.70,538.12 -2.66,534.03 -2.62,529.95 -2.62,525.59 -2.62,521.23 -2.62,516.50 -2.62,511.77 -2.62,506.62 -2.62,501.46 -2.62,495.47 -2.62,489.47 -2.62,482.75 -2.62,476.02 -2.63,468.05 -2.63,460.08 -2.63,450.48 -2.63,440.89 -2.63,430.77 -2.63,420.65 -2.63,410.21 -2.63,399.78 -2.63,388.58 -2.64,377.38 -2.64,364.84 -2.64,352.29 -2.65,337.29 -2.65,322.28 -2.65,304.58 -2.66,286.88 -2.67,266.84 -2.67,246.79 -2.68,225.93 -2.69,205.07 -2.71,182.68 -2.72,160.29 -2.74,136.82 -2.76,113.35 -2.79,92.89 -2.81,72.43 -2.85,56.22 -2.88,40.00 -2.93,27.97 -2.98,15.95 -3.05,7.97 -3.12,0 -3.07,-0.37 -3.03,-0.74 -2.90,-1.09 -2.76,-1.45 -2.55,-1.76 -2.33,-2.07 -2.05,-2.32 -1.77,-2.57 -1.44,-2.74 -1.10,-2.92 -0.74,-3.01 -0.37,-3.10 0.00,-3.10 0.37,-3.10 0.74,-3.01 1.10,-2.92 1.44,-2.74 1.77,-2.57 2.05,-2.32 2.33,-2.07 2.55,-1.76 2.76,-1.45 2.90,-1.09 3.03,-0.74 3.07,-0.37 3.12,0.00 3.12,0.00 L 3.12,0 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(164.90625 255.421875) rotate(0 47 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;Task 1&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(171.90625 351.921875) rotate(0 53 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;Task 2&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(168.90625 438.921875) rotate(0 52.5 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;Task 3&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(572.90625 256.921875) rotate(0 20 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;24&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(579.90625 345.921875) rotate(0 21 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;22&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(578.90625 443.921875) rotate(0 20 17.5)&quot;&gt;&lt;text x=&quot;0&quot; y=&quot;25&quot; font-family=&quot;Virgil, Segoe UI Emoji&quot; font-size=&quot;28px&quot; fill=&quot;#000000&quot; text-anchor=&quot;start&quot; style=&quot;white-space: pre;&quot; direction=&quot;ltr&quot;&gt;26&lt;/text&gt;&lt;/g&gt;&lt;g transform=&quot;translate(12.984375 157.4609375) rotate(0 44.005859375 -31.611328125)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M -0.87,-1.54 Q -0.87,-1.54 1.08,-2.57 3.03,-3.60 9.15,-7.92 15.26,-12.24 24.60,-19.04 33.94,-25.83 42.55,-31.84 51.15,-37.85 57.46,-42.33 63.78,-46.81 67.86,-49.86 71.94,-52.91 74.34,-54.61 76.73,-56.31 78.08,-57.40 79.43,-58.50 80.29,-59.37 81.15,-60.24 81.97,-61.08 82.78,-61.92 84.88,-63.45 86.97,-64.98 87.25,-65.10 87.54,-65.23 87.85,-65.26 88.17,-65.29 88.47,-65.22 88.78,-65.15 89.05,-64.99 89.31,-64.82 89.52,-64.58 89.72,-64.34 89.83,-64.04 89.94,-63.75 89.95,-63.43 89.97,-63.12 89.88,-62.82 89.79,-62.52 89.61,-62.26 89.43,-62.00 89.18,-61.81 88.93,-61.63 88.63,-61.53 88.33,-61.43 88.01,-61.44 87.70,-61.44 87.40,-61.54 87.11,-61.65 86.86,-61.84 86.61,-62.04 86.44,-62.30 86.26,-62.56 86.18,-62.86 86.10,-63.17 86.12,-63.48 86.15,-63.80 86.27,-64.09 86.39,-64.38 86.59,-64.61 86.80,-64.85 87.07,-65.01 87.34,-65.17 87.65,-65.23 87.96,-65.30 88.27,-65.26 88.58,-65.22 88.87,-65.08 89.15,-64.95 89.37,-64.73 89.60,-64.51 89.74,-64.23 89.89,-63.95 89.93,-63.64 89.98,-63.33 89.93,-63.02 89.87,-62.71 89.72,-62.43 89.57,-62.16 89.34,-61.95 89.11,-61.73 89.11,-61.73 89.11,-61.73 87.20,-60.39 85.28,-59.05 84.33,-58.34 83.37,-57.63 82.30,-56.86 81.23,-56.09 79.77,-55.09 78.32,-54.09 75.96,-52.39 73.60,-50.70 69.51,-47.61 65.41,-44.52 59.11,-40.00 52.81,-35.49 44.26,-29.46 35.70,-23.42 26.39,-16.57 17.07,-9.71 10.86,-5.21 4.65,-0.72 2.76,0.41 0.87,1.54 0.67,1.62 0.47,1.70 0.26,1.74 0.05,1.77 -0.16,1.75 -0.37,1.73 -0.57,1.66 -0.77,1.59 -0.95,1.47 -1.13,1.36 -1.28,1.20 -1.43,1.05 -1.53,0.86 -1.64,0.67 -1.69,0.47 -1.75,0.26 -1.76,0.05 -1.76,-0.16 -1.72,-0.37 -1.67,-0.58 -1.58,-0.77 -1.48,-0.96 -1.35,-1.12 -1.21,-1.29 -1.04,-1.42 -0.86,-1.54 -0.86,-1.54 L -0.87,-1.54 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;g transform=&quot;translate(105.87109375 155.41796875) rotate(0 36.23046875 -29.654296875)&quot; stroke=&quot;none&quot;&gt;&lt;path fill=&quot;#000000&quot; d=&quot;M -1.22,-1.28 Q -1.22,-1.28 0.94,-3.26 3.11,-5.24 7.10,-8.72 11.09,-12.20 16.66,-16.72 22.23,-21.23 28.07,-25.91 33.90,-30.59 38.57,-34.14 43.24,-37.69 46.73,-40.08 50.22,-42.48 52.57,-44.06 54.92,-45.64 56.46,-46.62 58.01,-47.60 58.99,-48.21 59.97,-48.83 60.82,-49.49 61.68,-50.16 62.69,-50.78 63.70,-51.41 64.73,-53.19 65.76,-54.97 66.61,-56.12 67.46,-57.27 68.53,-58.04 69.60,-58.82 69.59,-59.22 69.57,-59.62 69.69,-60.01 69.80,-60.40 70.04,-60.73 70.27,-61.06 70.60,-61.30 70.93,-61.53 71.31,-61.65 71.70,-61.78 72.10,-61.77 72.50,-61.76 72.88,-61.62 73.26,-61.49 73.58,-61.23 73.90,-60.98 74.12,-60.64 74.34,-60.31 74.44,-59.91 74.54,-59.52 74.51,-59.12 74.48,-58.72 74.32,-58.34 74.16,-57.97 73.89,-57.67 73.63,-57.37 73.28,-57.17 72.93,-56.96 72.53,-56.89 72.13,-56.81 71.73,-56.86 71.33,-56.91 70.97,-57.09 70.61,-57.27 70.32,-57.55 70.03,-57.83 69.85,-58.19 69.67,-58.56 69.61,-58.96 69.55,-59.36 69.63,-59.75 69.70,-60.15 69.90,-60.50 70.09,-60.86 70.39,-61.13 70.69,-61.40 71.06,-61.56 71.43,-61.72 71.83,-61.76 72.24,-61.79 72.63,-61.70 73.02,-61.60 73.36,-61.39 73.71,-61.17 73.96,-60.86 74.22,-60.55 74.36,-60.17 74.50,-59.79 74.50,-59.79 74.50,-59.79 72.97,-57.06 71.45,-54.33 70.58,-53.15 69.71,-51.96 68.82,-50.77 67.94,-49.59 66.35,-48.40 64.76,-47.21 63.80,-46.72 62.84,-46.23 61.18,-45.62 59.51,-45.02 57.98,-44.20 56.44,-43.38 54.12,-41.80 51.79,-40.21 48.37,-37.83 44.95,-35.45 40.34,-31.90 35.72,-28.35 29.92,-23.63 24.12,-18.92 18.64,-14.40 13.16,-9.87 9.28,-6.36 5.39,-2.84 3.30,-0.77 1.22,1.28 1.05,1.41 0.88,1.54 0.68,1.62 0.48,1.71 0.27,1.74 0.06,1.77 -0.15,1.75 -0.36,1.73 -0.56,1.67 -0.77,1.60 -0.95,1.48 -1.13,1.37 -1.27,1.21 -1.42,1.05 -1.53,0.87 -1.63,0.68 -1.69,0.48 -1.75,0.27 -1.76,0.06 -1.77,-0.15 -1.72,-0.36 -1.68,-0.57 -1.58,-0.76 -1.49,-0.95 -1.36,-1.12 -1.22,-1.28 -1.22,-1.28 L -1.22,-1.28 Z&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;
&lt;p&gt;I have made it a point to always keep this notebook around me, and open it on a regular basis — make a habit of looking at it multiple times a day. So far I have been able to do a bunch of things this week — simple chores that needed to be done.&lt;/p&gt;
&lt;p&gt;&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Car service&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Write a letter to my cousin Janisha, buy the book that I will send to her as a late birthday gift, buy the envelops&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Ditto Insurance call book for term insurance guidance&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Haircut&lt;/p&gt;
&lt;!-- &lt;input type=&quot;checkbox&quot; checked disabled&gt; Follow up with Sriya about the exciting project I have in mind --&gt;
&lt;p&gt;&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Buy Vitamin D tablets&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Get RC details for cook bhaiya&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Salt, fruits, cooking oil&lt;br /&gt;
&lt;input type=&quot;checkbox&quot; checked=&quot;&quot; disabled=&quot;&quot; /&gt; Do customs KYC for my new &lt;a href=&quot;http://keyboard.io/&quot;&gt;keyboard.io&lt;/a&gt; coming in&lt;br /&gt;
…&lt;/p&gt;
&lt;p&gt;Things that I would have procrastinated for further weeks. I hope that this list also starts seeing projects soon – both writing and tech.&lt;/p&gt;
&lt;p&gt;I want to look forward to want to automate things at my job, so that I can find other interesting things to do out of my office time. I want to arrest the tendencies of my mind when the mind feels like wasting time on endless instagram scrolling or movie marathons in the middle of the day. It&#39;s really tough. I&#39;ve never felt more stressed by my own mind before, not this much. I just want some discipline in my life, desperately. Otherwise it&#39;s getting harder and harded to live with this habit everyday.&lt;/p&gt;
&lt;p&gt;Thank you for sticking to the end of this introspection/rant section. Key takeouts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take risks&lt;/li&gt;
&lt;li&gt;Follow through plans.&lt;/li&gt;
&lt;li&gt;Writing things down to do 2. is a good idea, keep at it.&lt;/li&gt;
&lt;li&gt;Eat healthier&lt;/li&gt;
&lt;li&gt;Make routine, bring discipline.&lt;/li&gt;
&lt;/ol&gt;
</content>
	</entry>
	
	<entry>
		<title>In The Moments Of Passing Quiet</title>
		<link href="https://arihantverma.com/posts/2022/05/05/in-the-moments-of-passing-quiet/"/>
		<updated>2022-05-05T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/05/05/in-the-moments-of-passing-quiet/</id>
		<content type="html">&lt;h2 id=&quot;the-audacious-car-park-in-the-middle-of-the-road-and-the-eye-smiles&quot; tabindex=&quot;-1&quot;&gt;The Audacious Car Park In The Middle Of The Road And The Eye Smiles &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2022/05/05/in-the-moments-of-passing-quiet/#the-audacious-car-park-in-the-middle-of-the-road-and-the-eye-smiles&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I was coming back from fetching my car from someone who had borrowed it for a trip, early in the morning. About 10 minutes away from my home, at a small T intersection without traffic lights, an audacious driver — without a hint of brakes — came and stood right in the middle of the intersection. I could see her mind saying&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Teri aisi ki taisi, saale itni kya jaldi lagri hai tum sab ko, khada ni jaata 2 second bhi? Ruko mai dikhaati hu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I was in the first line of vehicles that braked because her car was blocking the whole road. She was waiting for the other side of the road traffic to clear. We waited for her. Just like that our eyes met, and usually I would have put my eyes away because of the awkwardness that comes from staring a complete stranger for more than half a second. But instinctively, I just gave a wide nice smile and a bow that said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;That&#39;s okay! Good work done. Good day to you!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Caught by pleasant surprise, she could just begin to smile before she realised that people had started becoming impatient. She put her feet on the accelerator and took off. As her car passed by mine on the other side of the road, I caught a last impatient glance — as if to finish the smile we had started, which lasted a split second before we crossed and moved in opposite directions.&lt;/p&gt;
&lt;p&gt;I&#39;m sure both of us smiled widely in our own cars for a while after that.&lt;/p&gt;
&lt;p&gt;Such a wonderful thing no? A smile with no motive, no reason but to just smile, could be so contagious!&lt;/p&gt;
&lt;h2 id=&quot;eavesdropping-posture-of-a-pensive-relaxed-walking-woman.&quot; tabindex=&quot;-1&quot;&gt;Eavesdropping Posture Of A Pensive-Relaxed Walking Woman. &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2022/05/05/in-the-moments-of-passing-quiet/#eavesdropping-posture-of-a-pensive-relaxed-walking-woman.&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I ignored what seemed like a tolerable ankle twist and the swelling that came with it and took it light. Didn&#39;t nurse it. The swelling largely remained over weeks and I didn&#39;t bother myself with it, until a doctor told me that I shouldn&#39;t leave it unattended, since it could lead to permanent muscle and ligament damages.&lt;/p&gt;
&lt;p&gt;I was just done with massaging my feet with a special inflammation oil and was wrapping the feet with crepé bandage when I saw a girl from my ground floor window — in what seemed like a purple dress in the overcast draining weather — having the most pensive / relaxed stroll walk I have ever seen.&lt;/p&gt;
&lt;p&gt;It was unusual because in Bangalore&#39;s hustle and bustle, people are always in a rush. On a weekday, in a weather just about to rain, watching a person walking, taking her own time, was intriguing and cathartic. As she approached my window, walking on the cemented pathways in between grass on the podium level, making her way through from the nearby playground, I could see she was thinking.&lt;/p&gt;
&lt;p&gt;Walking a little further up from the window, she stopped, turned her head around and looked above as if towards 13th - 17th floor balconies. She had a smile which suggested that she was in a process of letting go of something and was taking the company of the wind and the rain that was about to happen, to ease into it. Slight rain started and she was unfettered by it. Her next step on the ground sprung the knowledge in her smile that she was going to walk in the rain now.&lt;/p&gt;
&lt;p&gt;I instantly decided that I was going to go out and ask if I could walk with her. I found my umbrella and shot out of my front door. Two things stopped me.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;The downpour was thrashing with wind splashing drops all over the body no matter which direction umbrella was put up. A stormy rain in Bangalore. Huh.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I remembered her face again and recognised that whatever she was going through, she intended to be out alone.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And I left it at that and came back in and wrote this.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>The Overarching, Outreaching Hands Of Intuition — The Speaker Who Summons A Middle Path</title>
		<link href="https://arihantverma.com/posts/2022/02/21/outreaching-hands-of-intuition/"/>
		<updated>2022-02-21T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/02/21/outreaching-hands-of-intuition/</id>
		<content type="html">&lt;p&gt;Often our minds swing in between two extremes of actions — complete acquiescence or complete disconsolation wherever you find yourself. Changing jobs, places, partners, friends, don&#39;t help. As if the mind&#39;s vacillations between the past and the future weren&#39;t enough to the already outstanding restlessness and anxiety making up the background of our time. The roots of those &#39;action&#39; extremes are desires, aimed to achieve comfort through convenience and avoiding struggle of any kind.&lt;/p&gt;
&lt;p&gt;So when we struggle, our mind conjures up desires which when fulfilled &lt;em&gt;should&lt;/em&gt; end the struggle. But do they?&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;At my first job, I had a desktop. Most of the others in the team had a mac book pro. I wanted it. I had a college laptop at home whose screen had gone rogue and green. One evening, tired of using the laptop on an external glaring TV screen, I gave in. I bought a late 2015, 13 inches, 8GB RAM mac book pro. After the purchase, not able to survive the guilt of my first expensive shopaholic purchase, I called my father. He asked me to consider it as a gift and sent me half the money. 6 years later, when that laptop has died, I wish to have the best mac there is, which costs the annual salary of my first job. But my senses haven&#39;t taken the better of me, and the laptop only sits in the cart for the right time.&lt;/p&gt;
&lt;p&gt;I can&#39;t begin to tell how many times the thought of leaving a job has come to mind. Some of those times I acted out on them, leaving three jobs, without a prior plan or any job offer.&lt;/p&gt;
&lt;p&gt;Even now that I&#39;m earning better than before and have no major complaints about salary, this thought is omnipresent — for different justifications, the mind provides as reasons. It&#39;s stubborn on days, and just floating around on the periphery on the others.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;When a thought is so persistent and recurring it&#39;s easy to be remiss and give it false meaning, attaching it to a convenient purpose of &#39;&lt;em&gt;what you&#39;re supposed to do&lt;/em&gt;&#39; or passion or calling or just generally dissociating yourself to whatever it is that triggered a revolutionary-escapist instinct in you – a job, a relationship, a situation, a person, a thing… One would think that if a thought so throbbing, incessant, is extant, it might be sort of a calling, or a warning, an omen, or an intuition.&lt;/p&gt;
&lt;p&gt;It is in moments like these that we wish we were a child or a teen again. These thoughts lay the foundation of cravings and aversions that our mind trains upon, event by event, person by person, job by job, situation by situation. Once you&#39;ve attributed what you think is the cause of struggle as such, these two spirals&#39; fire is fueled.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Desires when not observed, and waited for patiently arrest our senses, our mind becomes outbound and it becomes difficult to realise that all desires lead to the same place…the beginning.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The famous and cliché running joke:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They said to study for 10th grade exams and life will be set&lt;/li&gt;
&lt;li&gt;Then they said to get good marks in 12th grade and life will be set&lt;/li&gt;
&lt;li&gt;Then they said to get good marks and placement in college then life will be set&lt;/li&gt;
&lt;li&gt;Then they said to get a better salary, a better job, then life will be set&lt;/li&gt;
&lt;li&gt;Then they said to get married and life will be set&lt;/li&gt;
&lt;li&gt;Then they said to have children and life will be set.&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;does in fact projects what actually happens. It&#39;s a never-ending cycle, isn&#39;t it? I wanted a 13 inches mac book pro 6 years ago. Today I want the best one. The thought to leave the job, take the risk and do something that I&#39;d enjoy is repetitive, and honestly enervating, if sometimes empowering.&lt;/p&gt;
&lt;p&gt;Once there&#39;s this awakening, a recognition – and meditation helps become mindful about this like no other action can, again and again – a middle path opens.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A path where there&#39;s gratitude despite the stress, contentment despite ambition, patience despite struggle and endless work.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These seemingly opposite terms of living become complementary, aiding and sometimes mutually exclusive from each other.&lt;/p&gt;
&lt;p&gt;This path opens up ways where you&#39;d see yourself in the light you might not have seen yourself in before. Self-introspection happens frequently, more importantly, you feel the need to do it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Complaints, doubts and grudges seem like a waste of time.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Action roots in planning, habits and the hum of this present moment, which provides you with a weapon to handle the mind, of &lt;em&gt;it&#39;s okay, never mind, so what, let&#39;s keep going, let&#39;s move on…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It is then that desires often very frequently turn out to be intuitions. We&#39;ve all had those magical moments where trying hard to remember something, but not being able to, letting go suddenly brings it all back. It&#39;s the same faculty that pops out intuitive thoughts.&lt;/p&gt;
&lt;p&gt;In 2018, I attended a meditation retreat that emptied my mind. I&#39;d been having a tough time – unemployed, unclear, unmotivated for over a year and a half. And suddenly after the retreat, I felt like going to Mumbai, where my aunt lived. After 15 days of meeting people from the poetry, music and art circles, people I&#39;d only experienced the art of through Instagram, I felt like going to Bangalore without any plan. 5 months in and I got myself a job again and life started moving again.&lt;/p&gt;
&lt;p&gt;This is not to say that intuition always demands spontaneous actions. That particular time demanded galvanizing. I&#39;ve had intuitions where that voice or feeling told me &lt;em&gt;not&lt;/em&gt; to do something for a very long time; I didn&#39;t.&lt;/p&gt;
&lt;p&gt;On this middle path, between two intuitions, there&#39;s a desire to be helpful and work hard. Discipline no longer demands effort after a while, it becomes second nature. I&#39;m a long way to experience that, but I&#39;m on my way. You realise that consistency is the advocate of all that you do. Ambitions, people, circumstances don&#39;t define your happiness and neither do they make you want to make any fewer efforts. This path becomes the path of a yogi, a peaceful warrior, of moderation, calculated risks, smart tradeoffs and cutthroat priorities.&lt;/p&gt;
&lt;p&gt;The trick is believing you already have what you want, surrendering that desire and then working for it.&lt;/p&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;details&gt;
  &lt;summary&gt;&lt;strong&gt;&lt;i&gt;An excerpt from a story about Buddha in a commentary on Kathopanishad by Gurudev Sri Sri Ravi Shankar:&lt;/i&gt;&lt;/strong&gt;&lt;/summary&gt;
  &lt;div style=&quot;color:black;&quot;&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;Buddha never knew what death was. Astrologers and priests told his parents that Buddha should never see death. If he sees death then you will lose him. But one day Buddha compelled by his charioteer to take him out, and when he went out, he saw an old person for the first time in his life. He asked charioteer about it. His chatrioteer said, &lt;em&gt;He is an old man and that is what we will all be one day&lt;/em&gt;. Buddha was a young boy, just 20 years old. When he heard that, he said, &lt;em&gt;I&#39;ve  already become old. If this is what is going to happen for sure, then it has already happened.&lt;/em&gt; Then he saw a corpse, and asked what it was. His charioteer said, &lt;em&gt;This also will happen to everybody. When you are dead four people will carry you and you will be cremated.&lt;/em&gt; Buddha said, &lt;em&gt;I am already dead. I have that experience right now.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If the mind is sharp, you don&#39;t wait for experience to happen to you. Anyone&#39;s experience becomes your experience.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;  
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The thrill of working like this is unmatched. It&#39;s the reason I&#39;ve been able to write for over a month daily, consistently despite the fear of missing out, self-doubts and uncertainty.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;If I&#39;m walking in public I can&#39;t dance let alone sing even if I&#39;m feeling like it. But my steps imbibe dance when I walk with my headphones on, not caring about the eyes around. I forget I&#39;m outside. I visit my inside so to speak where inhibitions shed. The mind needs tools like these to trick itself into relaxation, because by nature the mind is chaotic even if everything is right. The surprising secret to tricking the mind into relaxed awareness and helping it practice it, just like we were wooed by TV or gimmicks played by our parents to make us eat food, is our breath. Modulating it a certain way helps seep into a meditative state of the mind seamlessly. And through that void, the void of the experience of &lt;em&gt;I&#39;m nothing&lt;/em&gt; or &lt;em&gt;I am&lt;/em&gt; arise intuition and resilience to walk the middle path.&lt;/p&gt;
&lt;p&gt;May the middle path be with you.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Spock Hand&quot;&gt;🖖🏼&lt;/span&gt;&lt;/div&gt;
</content>
	</entry>
	
	<entry>
		<title>Eavesdropping On Neighbours</title>
		<link href="https://arihantverma.com/posts/2022/02/21/eavesdropping-on-neighbours/"/>
		<updated>2022-02-21T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/02/21/eavesdropping-on-neighbours/</id>
		<content type="html">&lt;p&gt;I live in a ground floor apartment. The first floor neighbour on the flat above us shared a lot of feelings with the neighbour on our left on the ground floor. I couldn&#39;t help but take notes.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;She [little kid] suddenly started having a loose stomach after eating a pear. He [husband] was also not picking up the phone and was away so I didn&#39;t know what to do. I didn&#39;t have your number, otherwise I&#39;d have called you. I knew Tia [ground floor neighbour&#39;s wife] was away otherwise I&#39;d have called her directly. I thought it was a normal case of loose tummy so I gave her [a medicine&#39;s name I don&#39;t remember]. I called the doctor online and he also asked to give it a couple of hours. She kept constantly crying. That&#39;s when I knew I had to do something. I went to the Cloud 9 hospital, and all settled then. Turned out it was a urine infection.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The ground floor neighbour acknowledged and showed relief that it was better now. First floor neighbour continued in the archetypal accent of a person who has grown up in Varanasi&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It has been difficult with her. The doctor had asked to use as less diapers as possible because of the rashes in the thighs. I&#39;d been applying B4 Nappi [cream]. But it has been hard to keep cleaning and swiping urine up before her. Without diapers it&#39;s tough.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;When I was packing, I got tears in my eyes. We&#39;ve spent 4 years of our lives here. But it gets lonely sometimes. There&#39;s no one here. Like last night. At least when we&#39;ll go to Banaras I&#39;ll have my sister there. If we end up in Pune, I have a brother there. I could put her in the same school that their children are put in. We could share children responsibilities whenever either of us would need time off. There&#39;ll be less tension.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;We also have a home in Jharkhand. You inform whenever you are in Banaras or Jharkhand.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The ground floor neighbour said the same back to her&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Of course! And whenever you are back here, do let us know and we&#39;d be happy to host you in our home.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I was surprised to see what she said next. It might have been that she was inundated by what she was feeling, or could have been her normal style of asserting the most probable possibility&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Oh, we won&#39;t be coming back here, why would we?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As if this was the most given thing to say, she moved on effortlessly to the next&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The biggest task with her is to detach her from the mobile phone. It&#39;s like a magnet that phone. She wouldn&#39;t eat without it ever. It&#39;s going to be really hard to accustom her to a world without it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Realising that she&#39;d taken a good chunk of his time, she said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have to work. I took a lot of your time. I&#39;ll go back and resume the packing. I&#39;ll come and meet you and Tia before we leave.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Yes of course! And please let me know if I could help in any way in packing since he[her husband] is away.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Oh thank you but no. There&#39;s not much left now, and the boxes will be sent after we&#39;ve left. But thank you. Alright, she needs me, I&#39;ll go.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>Eavesdropping On Kids</title>
		<link href="https://arihantverma.com/posts/2022/02/08/eavesdropping/"/>
		<updated>2022-02-08T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/02/08/eavesdropping/</id>
		<content type="html">&lt;p&gt;After working non stop for over a week at work on a tough project, when I stopped around 8:30pm today, I felt a void. I didn&#39;t feel like doing anything. I&#39;d exhausted my listening to songs capacity. I tried walking, but walking always feels better when it&#39;s sandwiched between things, even if one of the things it&#39;s sandwiched between is sleep. It was too early to sleep. I felt kidnapped, forced to work in a place I knew nothing about, then dumped at another place – at the edge of a precipice, only with no work to do this time, enervated.&lt;/p&gt;
&lt;p&gt;I sat down on a swing nearby. 4 kids had made the jungle gym their battleground arena. As soon as I sat, I heard&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Enemy on the swing!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And all four of them shot at me with all they had got. For a brief moment I thought I&#39;d play dead. But at the last moment I realised I had no energy to engage in a battle, let alone with kids.&lt;/p&gt;
&lt;p&gt;They reminded me of the time when me and my cousins could play with toy guns all day, no kidding. I also remember the time I was in 8th grade, and didn&#39;t feel attracted to playing with toys anymore, but my cousins still did. And when they asked me to play with them and I said no, the expression of having cheated upon on their faces was priceless.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;One of the children immediately broke the war spell and rushed home without saying anything. One of the three childen who were left behind sat on the swing adjacent to me and said to his other two friends:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don&#39;t want to go home but my mother will scold me…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The second child said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have to do one homework and then I have to watch a movie&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The third one said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I always watch movie at night, when I am about to sleep I watch movie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The second asked the third one, standing nearby,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You hug and sleep with your dog?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first one still sitting on the swing by me, wildly swayed side to side.&lt;/p&gt;
&lt;p&gt;The third child answered, &#39;yes.&#39;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So lucky you have a dog. I don&#39;t have. Mum doesn&#39;t let me have one. She keeps me away from them.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The third child watched his watch and rushed off at full speed.&lt;/p&gt;
&lt;p&gt;The first one said to the second one&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You are going too?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;He replied,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Yes… Haha no, kidding, not going.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After a pause he said,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But I&#39;ll have to go, I have to reach home by 8:50pm.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The one on the swing pleads&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please I beg you don&#39;t goooo…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then paused, makes up his mind and said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Alright, see you tomorrow da.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
	</entry>
	
	<entry>
		<title>The Secret Behind A Mysterious Voice Calling A Certain Baby</title>
		<link href="https://arihantverma.com/posts/2022/01/27/baby/"/>
		<updated>2022-01-27T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/01/27/baby/</id>
		<content type="html">&lt;p&gt;In the morning, between 7-8, the same woman would start shouting&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Baby! Baby!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Incessantly. Imagine how you got scolded by your parents when you wouldn&#39;t stop calling them or pulling their clothes for urgent attention. This mysterious woman kept calling a certain &lt;em&gt;&lt;strong&gt;baby&lt;/strong&gt;&lt;/em&gt; that quickly. The hardest part was to wake up to this voice everyday. The inflection in her voice of how she called this certain baby, who was somehow up every morning at the same time, was numbing and irritating.&lt;/p&gt;
&lt;p&gt;To help you make a mental picture of the sound, say &#39;baby&#39; with amplitude of your voice as the same as the value on y axis, over the duration of your saying &#39;baby&#39; —&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; media=&quot;(max-width: 629px)&quot; srcset=&quot;https://arihantverma.com/images/6gewFelYth-350.webp&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/webp&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/6gewFelYth-808.webp&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/jpeg&quot; media=&quot;(max-width: 529px)&quot; srcset=&quot;https://arihantverma.com/images/6gewFelYth-350.jpeg&quot; /&gt;&lt;br /&gt;
&lt;source type=&quot;image/jpeg&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/6gewFelYth-808.jpeg&quot; /&gt;&lt;br /&gt;
&lt;img loading=&quot;lazy&quot; alt=&quot;baby sound inflection graph&quot; width=&quot;808&quot; height=&quot;688&quot; src=&quot;https://arihantverma.com/images/6gewFelYth-350.jpeg&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;For over a year that I&#39;ve lived here in this flat on the ground floor, I assumed it was maybe a very enthusiastic and loving household help, who brought the home baby out on a stroll. But why would she keep calling the baby when the baby would be with her?&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Thinking Emoji&quot;&gt;🤔&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Last week I finally undid the curtains to see what this fuss was all about. Turned out&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Drums Emoji&quot;&gt;🥁&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;It was a society day worker, who would water the plants and play with our neighbour&#39;s baby everyday, calling the baby from afar —&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Baby! Baby!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Though it&#39;s still irritating, instead of getting up fussed up about it, I shake a smile.&lt;/p&gt;
&lt;p&gt;Case solved.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Detective Emoji&quot;&gt;🕵🏻‍♂️&lt;/span&gt;&lt;/div&gt;</content>
	</entry>
	
	<entry>
		<title>Notes On Grief</title>
		<link href="https://arihantverma.com/posts/2022/01/15/notes-on-grief/"/>
		<updated>2022-01-15T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2022/01/15/notes-on-grief/</id>
		<content type="html">&lt;p&gt;I recently read &lt;em&gt;Notes on Grief&lt;/em&gt; by Chimamanda Ngozi Adichie. I didn&#39;t plan to. I saw the book in the Amazon&#39;s home page suggestions and I started reading.&lt;/p&gt;
&lt;p&gt;The author&#39;s father died during Covid from a kidney malfunction. In the book, she tries to do two things –&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Remember her father. As you&#39;d read this tiny but profound book you&#39;ll live memories of difficult, shocking, sudden, chortling, sarcastic and innocent humour times. It&#39;s so heartening, and at the same time not so surprising, to see so much humour filled in a grieving book.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grieve, feel and write out of urgency.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;!-- &lt;details style=&quot;cursor:pointer;&quot;&gt; --&gt;
&lt;!-- &lt;summary&gt;
&lt;/summary&gt; --&gt;
&lt;p&gt;Following are some humorous details from the book to give you a sneak peak —&lt;/p&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;⚠️ Spoilers ahead&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Author&#39;s mother refering to author&#39;s father:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;He won&#39;t eat because he&#39;s busy playing sudoku&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Author&#39;s father:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You don&#39;t &lt;strong&gt;play&lt;/strong&gt; sudoku. It&#39;s not Ludo.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Author would quip:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;James and Grace, bickering since 1963.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;&#39;I have eight cars&#39;, my sister&#39;s wealthy suitor once boasted, and my father replied, &#39;Why?&#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;Once, in the middle of watching an American newscast, he turned to me and asked, &#39;What does this word &amp;quot;nuke&amp;quot; mean?&#39; And when I told him, he said, &#39;Nuclear weapons are too serious to be given nicknames.&#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;When my brothers and I surprised him on his eightieth birthday, arriving at our parents&#39; flat in Nsukka from the US and the UK, he kept looking at my mother in bafflement that she could have &#39;lied&#39; to him. &#39;But you said some friends were coming. You didn&#39;t say the children were coming.&#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And the author had to clarify why:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#39;No, Daddy: she wasn&#39;t allowed to say. That&#39;s what a surprise is.&#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Note how innocent and cool this is, given that the author&#39;s father was the &lt;a href=&quot;https://www.google.com/search?q=first+professor+of+statistics+in+Nigeria&amp;amp;oq=first+professor+of+statistics+in+Nigeria&amp;amp;aqs=chrome..69i57j0i22i30l2.894j0j1&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&quot;&gt;first professor of statistics in Nigeria&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;A Scene from my daughter&#39;s first months: my father is hurrying upstairs, my daughter is a howling baby downstairs in my mother&#39;s care. He has been sent up for the pacifier, whose name he does not remember, and so he urgently gestures to his mouth and tells me, &amp;quot;Mouth plug!&amp;quot; Months later, my daughter&#39;s potty training has passed the milestone of pee, and now she has been cajoled to sit on the potty and do more than pee, a rapt audience of family watching her, and my father wanders in and mildly asks, &#39;Would any of &lt;em&gt;you&lt;/em&gt; go if you had so many people watching you?&#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;p&gt;About a funny incident, involving a billionaire trying to take ancestral land in Abba and only person — Ikemba Njikoka — willing to publicly oppose,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nobody in Abba was close to having the wealth and political connections of the billionaire, but there was a straight-talking businessman, Ikemba Njikoka, who was funding my hometown&#39;s legal expenses and speaking publicly about the billionaire&#39;s conduct. He himself had been threatened. The WhatsApp message on my father&#39;s phone had been forwarded by Ikemba Njikoka, saying that &#39;you&#39; would be arrested at a town hall meeting this weekend. My father, not WhatsApp savvy, did not realise that it was a forwarded message and thought that &lt;em&gt;he&lt;/em&gt; was about to be illegally arrested. He had spent the day silently burdened by this.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;p&gt;Author&#39;s father was kidnapped for ransom from her famous daughter. This is what he said after he returned:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;They didn&#39;t pronounce your name properly, so I told them the correct pronunciation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;!-- &lt;/details&gt; --&gt;
&lt;p&gt;The author shares the pain she goes or went through, having to accept the death a little too quickly because their origin culture demands it —&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But the most important thing [about a person dying in Igbo culture] is &#39;Clearance&#39;. Clearance attests to how deeply, how forcefully communitarian Igbo culture remains. Clearance means that any outstanding dues to the age grade, the town union, the village, the clan, the &lt;em&gt;umunna&lt;/em&gt;, must be paid; otherwise, the funeral will be boycotted.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;There is much I find beautiful in Igbo culture, and much I quarrel with, and it is not celebratory nature of Igbo funerals that I dislike, but how soon they have to be. I need time. For now, I want soberness. A friend sends me a line from my novel: &#39;Grief was the celebration of love, those who could feel real grief were lucky to have loved.&#39; How odd to find it so exquisitely painful to read my own words.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I finally understand why people get tattoos of those they have lost. The need to proclaim not merely the loss but the love, the continuity. &lt;em&gt;I am my father&#39;s daughter&lt;/em&gt;. It is an act of resistance and refusal: grief telling you it is over and your heart saying it is not; grief trying to shrink your love to the past and your heart saying it is present.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Towards the end of the book the author talks to the reader and herself about the urgency of doing valueable things and to not defer them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My father&#39;s past is familiar to me because of stories told and retold, and yet I always intended to document them better, to record him speaking. I kept planning to, thinking we had time. &#39;We will do it next time, Daddy,&#39; and he would say, &#39;Okay. Next time.&#39; There is a sensation that is frightening, of a receding, of an ancestry slipping away, but at least I am left with enough for myth, if not memory.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;It does not matter whether I want to be changed, because I am changed. A new voice is pushing itself out of my writing, full of the closeness I feel to death, the awareness of my own morality, so finely threaded, so acute. A new urgency. An impermanence in the air. I must write everything now, because who knows how long I have?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The author has had a difficult time dealing with death of a loved one, especially in pandemic times, like so many of us. May she find peace amidst changes, may her ways be auspicious.&lt;/p&gt;
&lt;p&gt;Now, I reflect how I dealt with a loved one not being around anymore in the next post.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Why Is Sudarshan Kriya Like Brushing For The Body And Mind</title>
		<link href="https://arihantverma.com/posts/2021/12/26/why-is-sudarshan-kriya-like-brushing/"/>
		<updated>2021-12-26T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/12/26/why-is-sudarshan-kriya-like-brushing/</id>
		<content type="html">&lt;p&gt;We brush our teeth daily.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Toothbrush&quot;&gt;🪥&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Yes, there are some weekends where we become careless and let the day slip by without it. Big deal!&lt;/p&gt;
&lt;p&gt;We poop almost daily too in the morning ( noon or evening, whatever your body and your digestive system clock prefers )&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Poop&quot;&gt;💩&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;What does Sudarshan Kriya have to do with brushing and pooping?&lt;/p&gt;
&lt;p&gt;Our body sustains on periodic cleanliness, does it not? What about our mind? It&#39;s fascinating that we don&#39;t think about how much it might need cleansing, the way we mindlessly and brilliantly have chores set for physical cleanliness. Chores which we don&#39;t even give a second thought.&lt;/p&gt;
&lt;p&gt;Therapy helps big time. I personally have never had sessions, but a lot of my friends successfully have had. Sometimes there is a need to talk things out in a systematic, pragmatic, safe way. How, might not always be evident. That&#39;s why trained, non judgemental professionals come into picture.&lt;/p&gt;
&lt;p&gt;But there are some things that can&#39;t go away with talking. One of them surprisingly and fundamentally is stress. The very word gives such a negative connotation that most of the human minds would feel averse to both the word and its meaning the usage of the word commonly suggests. Some of the possible things that might pop in your brain are:&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;ol&gt;
&lt;li&gt;I don&#39;t have stress in life.&lt;/li&gt;
&lt;li&gt;I have my own ways to deal with stress. I smoke, drink, it helps me put my worries and botheration away.&lt;/li&gt;
&lt;li&gt;I go to the gym when I&#39;m feeling stressful or I go to play football or go running.&lt;/li&gt;
&lt;li&gt;I talk it out with my best friend, take therapy.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;All of the above assumes that stress is bulk event driven. Something happens, and that considerable chunk of an event has an effect on either our mind or our body or both. Maybe you went through a bad breakup, or had a tussle with your manager or boss. Maybe it&#39;s very hard for you to help your parents understand something about you and your choices. Gazillions of events that have happened with you with which you associate stress. And rightfully. They do contribute to stress.&lt;/p&gt;
&lt;p&gt;Overtime, I&#39;ve realised though that stress also sneaks as we live our lives without any comparable significant  event happening. It might be the posture you sit in, the sleep cycles you engage in because of an indoor computer job, digestion stress on your tummy with unhealthy or ill timed meals. This mundane list can go on…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Stress is also accumulated continuously from all walks of life and not just through emotional, physical or mental exhaustion inflection points.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;At the subtlest level stress is concentrating on &lt;u&gt;what is not okay&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
— S&lt;a href=&quot;https://www.swamipurnachaitanya.com/&quot;&gt;wami Purnachaitanya&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The hardest part about stress is, you can&#39;t measure it when it&#39;s seeped deep down into the nervous system in ways difficult to comprehend because of its sneaky characteristic. How it shows in our body-mind complex is different for everybody. And like most of the other times when we catch diseases, we end up treating symptoms rather than being able to find the root cause.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Think of this from this perspective. We eat, food gets stuck, we have to brush. We eat, it gets digested, we have to throw out the waste. With both of these activities if we don&#39;t clean, our bodies are smart enough to put pressure so that we ultimately have to. But the mind doesn&#39;t have a very evident excretory system.&lt;/p&gt;
&lt;p&gt;We use our mind all day, sometimes nights ( dreams ) and it has been constantly working since years without any rest at all. Who is washing the mind? And how?&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;There&#39;s an ancient secret hinted by Maharishi Patanjali in between ~ 200 BC - 150 BC, that was recently discovered again by Gurudev Sri Sri Ravi Shankar on September 17, 1981. Maharishi Patanjali saved this powerful knowledge in this sutra:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Prachchardana vidharanabhyam va pranasya.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let&#39;s break it down:&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;prachchardana&lt;/em&gt;&lt;/strong&gt; = by splitting (expulsion);&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;vidharanabhyam&lt;/em&gt;&lt;/strong&gt; = by retention;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;va&lt;/em&gt;&lt;/strong&gt; = optionally;&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;pranasya&lt;/em&gt;&lt;/strong&gt; = of breath&lt;/p&gt;
&lt;/div&gt;
&lt;div style=&quot;width:100%; margin-top:30px;&quot;&gt;
&lt;blockquote&gt;
&lt;p&gt;By modulating the breath by splitting its rhythms and patterns by retaining and exhaling in a particular fashion / special manner.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the initial hint of how breath can be controlled in a manner which helps ( and teaches, thanks to dopamine ) to calm the mind. That is precisely what my Guru devised: a way to harness the capabilities of breathing in a way that relaxes the mind.&lt;/p&gt;
&lt;p&gt;Think of it this way:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our emotions show in our breath.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When we are under the control of a particular emotion, say anger: our breath is jittery, hot; when we are sad our exhales are longer than inhales, and so forth… What if, we changed the rhythms of the breath ( as hinted by Maharishi Patanjali ) in particular way and it helped control our emotional upsurge? Sounds plausible right?&lt;/p&gt;
&lt;p&gt;That&#39;s the crux of Sudarshan Kriya. All you need to learn it is to know how to breathe, which fortunately we all do. That means every human on the planet is eligible to learn it. Congrats 😋.&lt;/p&gt;
&lt;p&gt;But as easy it is to learn it, it&#39;s as powerful. 90% of our body toxins are released through breath. When the breath is modulated in a rhythmic fashion for a particular period of time, the release process speeds up. Hence it takes a trained teacher&#39;s guidance to learn it.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So Sudarshan Kriya in one line, is a vaccum cleaner for your mind.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You can&#39;t control the mind from the level of the mind.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That&#39;s why &lt;em&gt;mindfulness&lt;/em&gt; is not helpful when your mind is not calm on its own. Using the breath first to calm the mind down, and then enjoying the mindfulness that comes as a side affect of it seems like a decent idea to try, doesn&#39;t it?&lt;/p&gt;
&lt;p&gt;Let&#39;s hear Sudarshan Kriya&#39;s ( also called &lt;strong&gt;&lt;em&gt;SKY&lt;/em&gt;&lt;/strong&gt; ) experiences from Yale university students — who engaged in a &lt;a href=&quot;https://www.frontiersin.org/articles/10.3389/fpsyt.2020.00590/full&quot;&gt;scientific experiment&lt;/a&gt; and didn&#39;t expect it to be so powerful and helpful —&lt;/p&gt;
&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/tv/CD5FfhPDElE/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; data-instgrm-version=&quot;14&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/tv/CD5FfhPDElE/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt;View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;&lt;a href=&quot;https://www.instagram.com/tv/CD5FfhPDElE/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;&quot; target=&quot;_blank&quot;&gt;A post shared by The Art of Living USA (@artoflivingusa)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;https://www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;
&lt;hr /&gt;
&lt;p&gt;Learn the science of breath in a more fun way than I could write in this article here:&lt;/p&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ZiHY3f-wkNM&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;I&#39;ve seen numerous friends and family members immensely benefit from Sudarshan Kriya ( yes even the ones who had everything going on well in their lives ). I&#39;ll curate their experiences soon, stay put :)&lt;/p&gt;
&lt;p&gt;If you want to learn this wonderful piece of art that calms the mind down like magic, &lt;a href=&quot;https://twitter.com/gdadsriver&quot;&gt;message me&lt;/a&gt; and I shall get back to you :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;The best thing is, you can learn it online!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;3 Sparkling Stars&quot;&gt;🌟🌟🌟&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;If you&#39;d like to register right away, you can do that here 👇🏻&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div className=&quot;text-center&quot;&gt;
  &lt;a href=&quot;https://aol-whitefield.vercel.app/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot; style=&quot;padding:4px 16px; background:rgb(34 197 94); color:white; display:inline-block; width:full; text-align:center; font-weight:bold;&quot;&gt;
    Register Now
  &lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;</content>
	</entry>
	
	<entry>
		<title>Song Lyrics I Got Wrong</title>
		<link href="https://arihantverma.com/posts/2021/12/21/songs-lyrics-i-got-wrong/"/>
		<updated>2021-12-21T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/12/21/songs-lyrics-i-got-wrong/</id>
		<content type="html">&lt;p&gt;My aunt who lives in Mumbai now, used to live close by when I was growing up. She&#39;d host New Year&#39;s, Chirstmas parties, where friends and family would get together, sing, eat and dance. Vengaboys CDs and music were rave back then. I remember looking in wonder at the CDs with Vengaboys cartoon cover up one side of the CD.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&#39;re going to Ibizza&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;automatically became&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&#39;re going to &lt;strong&gt;eat pizza&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;p&gt;This post will continue to be updated as and when I remember song lyrics gone wrong in my head.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>If On A Winter&#39;s Night A Traveller — Book Musing No. 1</title>
		<link href="https://arihantverma.com/posts/2021/12/21/if-on-a-winters-night-a-traveller-1/"/>
		<updated>2021-12-21T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/12/21/if-on-a-winters-night-a-traveller-1/</id>
		<content type="html">&lt;p&gt;This is not a book review. Book reviews are difficult to write. You&#39;ve to keep all these notes, and make tradeoffs to keep the book review terse yet powerful and useful. This is a book musing. I underline and write in books I read ( bite me? ), and I thought those notes get lost.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So maybe I should wrap those highlights and notes in the garb of musings and publish them to live on the internet for eternity 😈&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So useful.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Italo Calvino might have given a lot of thought about how he reads – the physical posture of it. In the first chapter of his book &lt;em&gt;If On A Winter&#39;s Night A Traveller&lt;/em&gt;, he&#39;s written extensively about it.&lt;/p&gt;
&lt;p&gt;Asking the reader to get ready to start reading the book ( refering to it as &lt;em&gt;Italo Calvino&#39;s new novel&lt;/em&gt;, which seemed bleh at first but extremely intriguing as the book progresses )&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;Find the most comfortable position: seated, stretched out, curled up, or lying flat. Flat on your back, on your side, on your stomach. In an easy chair, on the sofa, in the rocker, the deck chair, on the hassock. In the hammock, if you have a hammock. On top of your bed, of course, or in the bed. You can even stand on your hands, heads down, in yoga position. With the book upside down, naturally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Of course, the ideal position for reading is something you can never find.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Clearly he didn&#39;t know what yoga is.&lt;/p&gt;
&lt;p&gt;Also new word learnt: &lt;strong&gt;&lt;em&gt;hassock&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;By taking the responsibility of hooking up the reader and telling them what to think or do, subtly directing them in the disguise of being told what the reader is doing in the book, while reading the book, he opens up ways for humour to arise, which otherwise wouldn&#39;t be possible.&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;Well, what are you waiting for? Stretch your legs, go ahead and put your feet on a cushion, on two cushions, on the arms of the sofa, on the wings of the chair, or the coffee table, on the desk, on the piano, on the globe. Take your shoes off first. If you want to, put your feet up; if not, put them back. &lt;strong&gt;&lt;em&gt;Now don&#39;t stand there with your shoes in one hand and the book in the other&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;p&gt;Calvino defines the reader as someone who can still allow themselves to expect to be surprised by a book and the reason for it:&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;You&#39;re the sort of person who, on principle, no longer expects anything of anything. There are plenty, younger than you or less young, who live in the expectation of extraordinary experiences: from books, from people, from journeys, from events, from what tomorrow has in store. But not you. You know that the best you can expect is to avoid the worst.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;What about books? Well precisely because you have deined it in every other field, you believe you may still grant yourself legitimately this youthful pleasure of expectation in a carefully circumscribed area like the field of books, where you can be lucky or unlucky, but the risk of disappointment isn&#39;t serious.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The number of the kind of books that he leads the reader to admit &lt;em&gt;while telling the reader what they would do in a book store&lt;/em&gt; is fascinating to say the least. I&#39;m going to list down all the different types of books he makes the reader believe there are for them in the book store:&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;ol&gt;
&lt;li&gt;Books You Needn&#39;t Read.&lt;/li&gt;
&lt;li&gt;Books Made For Purposes Other Than Reading.&lt;/li&gt;
&lt;li&gt;Books Read Even Before You Open Them Since They Belong To The Category Of Books Read Before Being Written (🤔🤯).&lt;/li&gt;
&lt;li&gt;Books That If You Had More Than One Life You Would Certainly Read But Unfortunately Your Days Are Numbered.&lt;/li&gt;
&lt;li&gt;Books You Mean To Read But There Are Others You Must Read First.&lt;/li&gt;
&lt;li&gt;Books Too Expensive Now And You&#39;ll Wait Till They&#39;re Remaindered.&lt;/li&gt;
&lt;li&gt;Books ditto When They Come Out In Paperback.&lt;/li&gt;
&lt;li&gt;Books You Can Borrow From Somebody.&lt;/li&gt;
&lt;li&gt;Books That Everybody&#39;s Read So It&#39;s As If You Had Read Them, Too.&lt;/li&gt;
&lt;li&gt;Books You&#39;ve Been Planning To Read For Ages.&lt;/li&gt;
&lt;li&gt;Books You&#39;ve Been Hunting For Years Without Success.&lt;/li&gt;
&lt;li&gt;Books Dealing With Something You&#39;re Working On At The Moment.&lt;/li&gt;
&lt;li&gt;Books You Want To Own So They&#39;ll Be Handy Just In Case.&lt;/li&gt;
&lt;li&gt;Books You Could Put Aside Maybe To Read This Summer.&lt;/li&gt;
&lt;li&gt;Books You Need To Go With Other Books On Your Shelves.&lt;/li&gt;
&lt;li&gt;Books That Fill You With Sudden, Inexplicable Curiosity, Not Easily Justified.&lt;/li&gt;
&lt;li&gt;Books Read Long Ago Which It&#39;s Now Time To Reread&lt;/li&gt;
&lt;li&gt;Books You&#39;ve Always Pretended To Have Read And Now It&#39;s Time To Sit Down And Really Read Them.&lt;/li&gt;
&lt;li&gt;New Books Whose Author or Subject Appeals To You&lt;/li&gt;
&lt;li&gt;New Books By Authors Or On Subjects Not New ( for you or in general )&lt;/li&gt;
&lt;li&gt;New Books By Authors Or On Subjects Completely Unknown ( at least to you )&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-top:20px;&quot;&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Mind Blown Emoji&quot;&gt;🤯&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;And listing them down here doesn&#39;t justify how he walks the reader in a book store through the reader&#39;s eye.&lt;/p&gt;
&lt;p&gt;After he has helped the reader buy his book, he helps the reader settle down&lt;/p&gt;
&lt;div style=&quot;background: #ffe6c4; padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12); margin-bottom: 20px;&quot;&gt;&lt;p&gt;Gradually you settle back in the chair, you raise the book to the level of your nose, you tilt the chair, posed on its rear legs, you pull out a side drawer of the desk to prop your feet on it; the position of the feet during reading is of maximum importance, you stretch your legs out on the top of the desk, on the files to be expedited.&lt;/p&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;p&gt;Towards the end of first chapter, as he helps the reader sit in their office chair, book in their hand, amidst all the office work they still have to do, he says&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But doesn&#39;t this seem to show a lack of respect?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And then clarifies&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Of respect, that is, not for your job ( nobody claims to pass judgment on your professional capacities: we assume that your duties are a normal element in the system of unproductive activities that occupies such a large part of the national and international economy ), but for the book.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And then he continues to include the ones that like their jobs so as not to offend them?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Worse still if you belong — willingly or unwillingly — to the number of those for whom working means really working, performing, whether deliberately or without premeditation, something unnecessary or at least not useless for others as well as for oneself;…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then he makes the reader guilty of having brought the book to the workplace and getting distracted by it away from the principal object of their attention.&lt;/p&gt;
&lt;p&gt;I think I&#39;m going to enjoy this book very much. And these musings are so that I could keep reading the book. This is the third time I&#39;ve abandoned and restarted the book. Aaaaaaaaa!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Palpitations And The Way Out?</title>
		<link href="https://arihantverma.com/posts/2021/12/16/palpitations-and-the-way-out/"/>
		<updated>2021-12-16T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/12/16/palpitations-and-the-way-out/</id>
		<content type="html">&lt;p&gt;I don&#39;t know why but when something mind stirring happens, or rather when something happens which stirs the mind, I at least once think about writing it in a non trivial, non banal way, that&#39;d be artistic and artsy to read. Like taking mud after storm and turning pots from it. It has always never happened. Even the cryptic ( reminds me of &lt;a href=&quot;https://www.poetryfoundation.org/poets/jorie-graham&quot;&gt;Jorie Graham&#39;s poems&lt;/a&gt; ), sometimes (?) awe inspiring poems that take birth out of a chaotic mind stops meaning anything after weeks and months. I end up reading my own through a stranger reader&#39;s eye, interpreting it the way I do when reading other people&#39;s poems.&lt;/p&gt;
&lt;p&gt;The earliest I remember wanting to do this was when I remembered the time I was playing football with my basketball alone as a kid, and I saw my grandmother storm out of the house, a gray briefcase packed, shouting loudly, pitying herself.&lt;/p&gt;
&lt;p&gt;Today the woman who loved me the most, despite my lies, holding back, avoidance, fear of commitment, told me that somebody asked her out today and she said yes, that she was glad she could. I felt glad that she could too, that I didn&#39;t hold her off from experience something beautiful.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The biggest reason that I said yes to him is that he is with me the way I used to be with you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But I stopped work because palpitations started. Not knowing what to do, I pinged my best friend, the only woman who didn&#39;t leave despite myself. She told me a lot of things she&#39;ve figured about me. And I&#39;m always glad to listen to some honest things without measure or calculative restrain.&lt;/p&gt;
&lt;p&gt;She asked me if I thought I still loved her. I asked her if not having an immediate answer to that question meant that I did not. She said&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;No, because you are good at avoidance. Tell me after you&#39;ve thought about it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;According to her own experience with this, she said that she thought that the only way out of this was to identify why, else these feeling keep coming back. I told her&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Right now completely different type of questions are coming. The ones which are trying to figure out why am I the way I am, dancing on the tune of Hrithik Roshan&#39;s enacted song. Like &#39;What do I want?&#39;. The ones that I&#39;ve never had answers to.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She slapped an answer right at my face&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because you are fearful. You&#39;ve this whole concept at times, of not wanting to be in a relationship. You&#39;ve been very vehement about it in the past. But the truth is, all the relationship-y things would be happening. What will happen through denial? You have to take ownership of your life, not in the egoistic way, but in the way that if there are stones in your path, you move them, if possible, but if there&#39;s someone who wants to keep sitting on a rock, then let it go. Because maybe it wasn&#39;t your rock.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;It&#39;s like how &lt;a href=&quot;https://instagram.com/srisriravishankar&quot;&gt;Guruji&lt;/a&gt; says to put attention towards the divine as a habit, to save mind at all costs. He too says to commit to it with all your heart. Sometimes it hurts yes. But half hearted effort and commitment hurts more in the longer run.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then she joked ( so truthfully ) about the fact that I listen to Gurudev&#39;s videos more, but she applies it more. Then she said something that alleviated me somehow&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think what bothers you more is that you end up losing friends because of romantic messes. The only way to move through that is to form solid friendships without romance as well.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She then graciously shared a list privy to me, which had such specific, lovely things she had written she wanted to do that&#39;ll make her happy when she&#39;d be doing them, that I felt a little scared. She asked me to make my own things I&#39;d want to do, which I&#39;d be happy doing.&lt;/p&gt;
&lt;p&gt;I told her that I&#39;ve always had idealistic list items. That I just can&#39;t come up with something as actionable as her list items. She suggested that I make two: the idealistic ones and the honest ones.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don&#39;t always have specific thoughts. It&#39;s just that while I want to top the penguin bestseller list, it&#39;s not something I need to make me happy. You said you feel purposeless. It could be because sometimes the imagined tasks are too big to want to start anwwhere. When you start smaller, you&#39;re more likely to get through more. Then you begin to believe in yourself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She shared a video I&#39;d watched a couple of years back, and said she watched it to the full length. So I listened to it as I brushed.&lt;/p&gt;
&lt;iframe style=&quot;margin: 40px auto;&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/Wzf1Epu7duc&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;In this click baity, seemingly &#39;Guru-ish&#39; video, some profound truth bombs are showered. My takeaways from it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;You are the experiencer not the experiences&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;We go through many experiences in life, pleasant, unpleasant. But in all of them we&#39;re like &lt;strong&gt;I&lt;/strong&gt; am agitated, &lt;strong&gt;I&lt;/strong&gt; am upset, &lt;strong&gt;I&lt;/strong&gt; am sad. Or, &lt;strong&gt;I&lt;/strong&gt; am peaceful, &lt;strong&gt;I&lt;/strong&gt; am happy, &lt;strong&gt;I&lt;/strong&gt; am feeling wonderful. This &lt;strong&gt;I&lt;/strong&gt; be seen separate from all the experiences, because experiences change but &lt;strong&gt;I&lt;/strong&gt; doesn&#39;t change. &lt;u&gt;Going deep into this &lt;strong&gt;I&lt;/strong&gt; is what meditation is&lt;/u&gt;. Seeing yourself beyond the thoughts, behind your notions of what is happening to you, what others are and who you are. Can you step back and see &lt;strong&gt;I am not this, I am not this, I am nothing.&lt;/strong&gt; Then you come to a very peaceful place within yourself. There you find me smiling.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Never demand love from people, not even from your Guru. This is the shortest and surest path to become miserable.&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Experiences can be the fruits of past actions coming into play&lt;/strong&gt;. At the peak of devotion ( towards what or whom doesn&#39;t matter ), when knots in the heart opens, tears of gratitude fall and all doubts about yourself, and about others vanish. Your karma — the impending action from the past vanishes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Very clearly mentioned in Devi Bhāgwatam. Any bad, worst experience come you say &amp;quot;I am not that&amp;quot;, because they come and go. &amp;quot;And maybe they&#39;ve come because of something from the past, I&#39;d have to go through it.&amp;quot; And instead of blaming others and making another action (karma) for it, wise thing is to see that &amp;quot;oh okay this might be my karma, doesn&#39;t matter, let&#39;s move on&amp;quot;. &lt;strong&gt;SAVE YOUR MIND AT ALL COSTS&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;&lt;strong&gt;When people start reflecting &lt;em&gt;what do I need to be happy?&lt;/em&gt;, a lot of cobwebs from the mind get cleared.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;p&gt;The woman did right to let me go to save her mind at all costs. This is my karma, impending result of an action of the past. Let&#39;s move on…&lt;/p&gt;
&lt;p&gt;4th was the point that prompted Amrita to share with me her list. I made two tonight. One idealistic, one honest.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>About The Strange Thing About Love</title>
		<link href="https://arihantverma.com/posts/2021/12/13/about-strange-thing-about-love/"/>
		<updated>2021-12-13T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/12/13/about-strange-thing-about-love/</id>
		<content type="html">&lt;p&gt;The first time I read this poem, I felt &lt;em&gt;freer&lt;/em&gt; at that moment. Ever since, I&#39;ve shared this poem with a lot of people, with the intent of gift in mind, even if it only meant sharing a photograph of the physical poem. There have been instances where I&#39;ve wanted to share it with people, but I didn&#39;t have the book with me, and online searches  for the poem were dead ends. Today I opened the poem and decided to learn it by heart, so I wouldn&#39;t need to read it.&lt;/p&gt;
&lt;p&gt;A sudden strangeness tickled me. The kind that Jane Hirshfield wrote in her poem &lt;a href=&quot;https://www.poetryfoundation.org/poetrymagazine/poems/56173/once-i&quot;&gt;Once, I&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As-ifness strange to myself, but complete.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is an attempt to write about who tickled and what. What is the strange thing about love? You can pause here and think about it. No answer is wrong answer of course. If you feel like sharing, &lt;a href=&quot;https://twitter.com/gdadsriver&quot;&gt;you can message or tweet at me&lt;/a&gt;. I&#39;d love to hear what you thought.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href=&quot;https://instagram.com/srisriravishankar&quot;&gt;My spiritual master&lt;/a&gt; makes a property of love — that might not be obvious when we think, talk, discuss about or feel love — evident. He says&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Love is so enormous. And for ages, people have tried to express their love and finally, they felt they cannot. Even the great sage Narada said, &#39;Anirvachaniyam prema swarupam&#39;. &lt;strong&gt;You cannot express it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What he means, and he has said over and over again, in different talks and scripture discourses, is that – &lt;a href=&quot;https://www.artofliving.org/in-en/expressing-love&quot;&gt;one can&#39;t fully express it&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Love should be planted like a seed. If you sow the seed too deep into the earth, then it won’t sprout. And if you keep it on the surface of the mud, then also it won’t sprout; it won’t take roots.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I read the poem it reminded me of this property of love.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;My Guru also throws light&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Facepalm Emoji&quot;&gt;🔦&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;on the fact that love hurts (without wisdom).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is not love which is giving you pain. Jealousy, hatred, greed, arrogance and attachment are all love’s distortions. Love by itself doesn’t bring misery. That is why knowledge and centredness are so important. If you are centred, you can handle all these distortions, they come for a while and they disappear. Feelings are like clouds. They are like the waves on the surface of the ocean. They arise, they come and they go.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I read the following lines, I mentally jumped out of my chair and danced&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;The strange thing about love&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;is that you disagree,&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;disagree wildly,&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;and then figure it&#39;s wiser&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;to dance.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;!-- &gt; Love is the shadow of the Self.  --&gt;
&lt;hr /&gt;
&lt;p&gt;When I thought about it again today, I remembered endless conversations I&#39;ve had with my best friend &lt;a href=&quot;https://www.instagram.com/aham_brahmosmi/&quot;&gt;Amrita&lt;/a&gt;, who&#39;s made me see myself in truth&#39;s light like a mirror over all these years. How we could talk through a rainbow of emotions, sometimes after, without getting affected by it ( if we did, it undo-ed with wisdom of being able to let go, sincere apologies, sharing and time ).&lt;/p&gt;
&lt;p&gt;I remembered the numerous times I shadowed anger into playing hide and seek when mother yelled or complained for whatever reasons. I just assented and quickly diverted attention to something else, so that her mind won&#39;t dwell into a habit, and instead tackle the same things pestering the mind with a &lt;a href=&quot;https://www.goodreads.com/book/show/31203675-the-supreme-yoga?ref=nav_sb_ss_2_16&quot;&gt;spirit of scientific enquiry&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The numerous times my oldest friend could forgive me for all the truths I held back, and ultimately decided to let me go with that forgiveness still intact.&lt;/p&gt;
&lt;p&gt;It is a strange thing about love, that when mixed with wisdom and tools to get to know the tendencies of the mind and how to stay centered amdist those disagreements, it ultimately leads to knowledge that it&#39;s wiser to dance, because we haven&#39;t got all the time in the world to keep at it, if you are getting the drift.&lt;/p&gt;
&lt;p&gt;What does this dance look like? For me it is: not taking life too seriously even in the most chaotic, unfavourable, desperate times. Getting up in the middle of zoom calls, muting, switching camera off and dancing in fits and starts. Catching up with old friends. Acknowledging and understanding the state of the mind, and delaying responses so that they weren&#39;t reactions. And just you know…laughing and smiling without any reason.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Dancing girl Emoji&quot;&gt;💃🏻&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Here&#39;s a wonderful detour about &lt;strong&gt;&lt;em&gt;the paradox of love and truth&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;&lt;strong&gt;The Paradox Of Love And Truth&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Excerpt from the book &lt;a href=&quot;https://www.goodreads.com/book/show/976725.Celebrating_Love&quot;&gt;Celebrating Love&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
  &lt;i&gt;
&lt;p&gt;Why would someone tell a lie to their dear ones or to their beloved?&lt;/p&gt;
&lt;p&gt;This is question often asked by lovers. Love cannot stand untruth; it causes relationships to fall apart. The answer lies in understanding the paradox of love and truth.&lt;/p&gt;
&lt;p&gt;People tell lies just to save and maintain their love. Lies are a result of fear that truth might damage the love between husband and wife, boyfriend and girlfriend, parents and children.&lt;/p&gt;
&lt;p&gt;In love you feel weak byt truth brings strength. So why do people prefer love over truth, weakness over strength?&lt;/p&gt;
&lt;p&gt;No one wants to sacrifice love. Thus people are ready to give up the truth for their love. Love takes the luster out of truth. Sometimes truth can make love bitter; while in love, even lies can appear sweet, like Krishna&#39;s lies to his mother, Yashoda.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The truth that does not nourish love makes no sense and the love that cannot withstand the truth is not true love&lt;/strong&gt;. When you are assured that your love is so strong that the truth can neither break it nor cause bitterness, then truth prevails and love shines.&lt;/p&gt;
&lt;p&gt;With truth there are judgements, but true love is beyond judgments. Thus true love makes you weak and yet it is the greatest strength.&lt;/p&gt;
&lt;p&gt;— Sri Sri Ravi Shankar&lt;br /&gt;
Bangalore Ashram, India&lt;br /&gt;
February 22, 2002&lt;br /&gt;
&lt;/p&gt;&lt;/i&gt;&lt;p&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;hr /&gt;
&lt;p&gt;Good job done reading through this heavy duty stuff. Here&#39;s a song for you to dance on: &lt;a href=&quot;https://open.spotify.com/track/60fZwyISk4GPV6p5rs4LHu&quot;&gt;Dance Around The Room With Me — Ana Egge&lt;/a&gt;. Go go! Dance!&lt;/p&gt;
&lt;p&gt;★&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The strange thing about love&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;is that it evicts you&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;from the land of echoes&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;you thought was home&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;and leads you to&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;friends&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Doesn&#39;t it?&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Facepalm Emoji&quot;&gt;😇&lt;/span&gt;&lt;/div&gt;
&lt;i&gt;
  …
&lt;p&gt;sitting&lt;br /&gt;
under the stars&lt;/p&gt;
&lt;p&gt;in ancient&lt;br /&gt;
bewilderment&lt;br /&gt;
&lt;/p&gt;&lt;/i&gt;&lt;p&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h1 id=&quot;the-part-of-the-poem-that-resonated-with-me-the-most&quot; tabindex=&quot;-1&quot;&gt;The part of the poem that resonated with me the most &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/12/13/about-strange-thing-about-love/#the-part-of-the-poem-that-resonated-with-me-the-most&quot;&gt;🔗&lt;/a&gt;&lt;/h1&gt;
&lt;i&gt;
  The Strange Thing About Love
&lt;p&gt;is that it melts you&lt;/p&gt;
&lt;p&gt;into an amateur,&lt;/p&gt;
&lt;p&gt;never again a professional&lt;br /&gt;
                          even&lt;br /&gt;
                          on the subject of yourself.&lt;br /&gt;
&lt;/p&gt;&lt;/i&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ll quote the last few lines from the article that I shared before&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When you want love, that want itself is turning or delaying love from manifesting. &lt;strong&gt;So all that you need to do is to let go and relax. You will see your nature is love&lt;/strong&gt;. Love is always there. It will manifest when it should. Like the ☀️ is always there but it comes at its own time. In the same way, all the beautiful feelings in your life are there with you all the time. You can’t forcefully manifest them &lt;br /&gt; &lt;br /&gt; They will manifest at different times in life. And that’s why be more relaxed and take them as they come. You ARE Love. You cannot make an effort to love, either yourself or anybody. You simply have to relax and realise that you are love. &lt;strong&gt;Love is the shadow of the Self. The bigger the Self, the bigger the shadow, and the bigger the love. When the love is cast over the entire creation, then you are the Big Self. That is Lordship. When Lordship dawns on the Self, there is a perennial celebration.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Meditation ( Sahaj Samādhi ) and Sudarshan Kriya have been the tools using which I&#39;ve been able to relax and let go. In that constant state of heightened awareness yet deep relaxation, the fact that our very nature is love dawns unexplained irrevocably. One experiences the &lt;em&gt;Self&lt;/em&gt; that is mentioned above. I&#39;ve seen couples married and otherwise practicing both, and work towards one common goal, while acting on their own individual goals, happy like the song, for years.&lt;/p&gt;
&lt;p&gt;Once that deep love is experienced as &lt;em&gt;Self&lt;/em&gt; we turn amateurs on the subject of ourselves, asking the most fundamental questions like: &lt;strong&gt;&lt;em&gt;&#39;Who am I?&#39;&lt;/em&gt;&lt;/strong&gt;, but with a sense of sincere enquiry and wild celebratory wonder. The avenues previously even not thought of, talents, events, manifest outside of the made identities before. So in a way, the experience of love can help us surrender and then act.&lt;/p&gt;
&lt;hr /&gt;
&lt;h1 id=&quot;okay%3F-that&#39;s-it%3F-are-we-done-yet%3F&quot; tabindex=&quot;-1&quot;&gt;Okay? That&#39;s it? Are we done yet? &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/12/13/about-strange-thing-about-love/#okay%3F-that&#39;s-it%3F-are-we-done-yet%3F&quot;&gt;🔗&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Yes, we are done, phew! I&#39;ll keep refining the expression of what I&#39;ve written overtime of course. You would be able to see when the latest revision was made by the date at the start of the post.&lt;/p&gt;
&lt;h1 id=&quot;so-what-about-you%3F&quot; tabindex=&quot;-1&quot;&gt;So what about you? &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/12/13/about-strange-thing-about-love/#so-what-about-you%3F&quot;&gt;🔗&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Your turn! &lt;a href=&quot;https://twitter.com/gdadsriver&quot;&gt;Tell me&lt;/a&gt;, what is &lt;strong&gt;&lt;em&gt;The Strange Thing About Love&lt;/em&gt;&lt;/strong&gt; for you? Also if you&#39;d like to learn more about or experience Sudarshan Kriya &lt;a href=&quot;https://twitter.com/gdadsriver&quot;&gt;hit me up&lt;/a&gt; :)&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Watching The Making Of A Prodigy</title>
		<link href="https://arihantverma.com/posts/2021/10/20/watching-the-making-of-a-prodigy/"/>
		<updated>2021-10-20T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/10/20/watching-the-making-of-a-prodigy/</id>
		<content type="html">&lt;p&gt;I took Tanay Pratap&#39;s advice to not spend too much time learning how to invest. I hired a wealth manager through a mentor-friend, with a proven track record, and I am happily not caring about investments for time being. I told him that I had mentored people online this year – helped them learn to code. He asked me if I could guide his son, whenever he&#39;d have any doubts or would need direction, on the weekends. I assented.&lt;/p&gt;
&lt;p&gt;It&#39;s been a few weeks, and God I&#39;m surprised and joyfully envious of this kid! The other day I showed him an abandoned project that I started in 2017, &lt;a href=&quot;http://poetry-editor.now.sh/&quot;&gt;an attempt to make an online rich text editor for instagram poets&lt;/a&gt; who didn&#39;t like typing on mobile and wanted something barebones than canva. We had half an hour and no specific doubts left to clear. He said he wants to try to make it in half an hour. I let him do it. He started off with a textarea html tag. I told him the nuance that the rich text editor capabilities can&#39;t be made possible with textarea without a lot of hacking. He narrowed down the scope himself and said he&#39;ll make the rest of the things. Behold: &lt;a href=&quot;https://codesandbox.io/embed/elegant-leavitt-5m8c5?fontsize=14&amp;amp;hidenavigation=1&amp;amp;theme=dark&quot;&gt;Codesandbox&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I can never be as smart as this kid and it makes me both delightful and a little sad. He&#39;s in 7th grade! And he knows what JavaScript variables, classes, functions are. He writes p5.js code, knows enough CSS to be able to hack together anything. My mind blows&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;mind blown emoji&quot;&gt;🤯&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;when I think of what he&#39;d be capable of when he goes to college and for the rest of his life.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>React Children, Iteration Methods And Their Limitations</title>
		<link href="https://arihantverma.com/posts/2021/08/04/smashing-article/"/>
		<updated>2021-08-04T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/08/04/smashing-article/</id>
		<content type="html"></content>
	</entry>
	
	<entry>
		<title>Workaround for _next/data URLs throwing 404, for multiple Next.js Apps Running On Same Domain</title>
		<link href="https://arihantverma.com/posts/2021/07/18/workaround-nextjs-data-urls-same-domain-multiple-apps/"/>
		<updated>2021-07-18T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/07/18/workaround-nextjs-data-urls-same-domain-multiple-apps/</id>
		<content type="html">&lt;p&gt;If you have to use multiple Next.js apps on a single domain, the only straightforward way for you to do that is to have &lt;a href=&quot;https://nextjs.org/docs/api-reference/next.config.js/basepath&quot;&gt;&lt;code&gt;baseUrl&lt;/code&gt;&lt;/a&gt; option set in &lt;code&gt;next.config.js&lt;/code&gt;. But the problem with that is, you&#39;ll have different URLs for different apps on your domain:&lt;/p&gt;
&lt;pre class=&quot;language-md&quot;&gt;&lt;code class=&quot;language-md&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;example.com/app-1/some-route&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;example.com/app-2/some-other-route&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you want to do have them as so:&lt;/p&gt;
&lt;pre class=&quot;language-md&quot;&gt;&lt;code class=&quot;language-md&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;example.com/some-route ( from app-1 )&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;example.com/some-other-route ( from app-2 )&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;you&#39;re a little out of luck. My first hunch was that it&#39;d be possible to use the &lt;code&gt;baseUrl&lt;/code&gt; but change the anchor links from&lt;/p&gt;
&lt;pre class=&quot;language-md&quot;&gt;&lt;code class=&quot;language-md&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;/app-1/some-route-on-some-page&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;/app-2/some-route-on-some-page&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;to&lt;/p&gt;
&lt;pre class=&quot;language-md&quot;&gt;&lt;code class=&quot;language-md&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;some-route-on-some-page&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;some-route-on-some-page&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;by using the &lt;a href=&quot;https://nextjs.org/docs/api-reference/next/link&quot;&gt;&lt;code&gt;as&lt;/code&gt;&lt;/a&gt; property of &lt;code&gt;next/link&lt;/code&gt; by masking the URLs that users will see, while still being able to request the correct base-path-added url from next server. As much as I could google, it&#39;s not possible. If you&#39;ve made it work, please tell me on the &lt;a href=&quot;https://twitter.com/gdadsriver&quot;&gt;twitter&lt;/a&gt;, I&#39;d be very grateful 🌻.&lt;/p&gt;
&lt;p&gt;I ended up making it work at my job by doing a bunch of things.&lt;/p&gt;
&lt;p&gt;Using &lt;a href=&quot;https://nextjs.org/docs/api-reference/next.config.js/cdn-support-with-asset-prefix&quot;&gt;asset prefix&lt;/a&gt; to make a distinguishing factor between assets of different next.js apps, along with a &lt;a href=&quot;https://nextjs.org/docs/api-reference/next.config.js/rewrites&quot;&gt;next.js re write rule&lt;/a&gt;.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// next.config.js&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token literal-property property&quot;&gt;assetPrefix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;rewrites&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/_next/:path*&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;destination&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;_next/:path*&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With this, the client will request assets from &lt;code&gt;${BASE_PREFIX_FOR_APP}/_next/:path*&lt;/code&gt;, but it&#39;ll reach your app at a path that it serves assets from &lt;code&gt;/_next/:path*&lt;/code&gt; ( &lt;code&gt;/_next/static/*&lt;/code&gt; to be more precise ).&lt;/p&gt;
&lt;p&gt;In a similar fashion, you&#39;d handle images and api request paths&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// next.config.js&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token literal-property property&quot;&gt;assetPrefix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;rewrites&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token comment&quot;&gt;/** ASSET PREFIX */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/_next/:path*&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;destination&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;/_next/:path*&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;        &lt;span class=&quot;token comment&quot;&gt;/** IMAGE PREFIX */&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/images/:query*&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;destination&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;/_next/image/:query*&#39;&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;      &lt;span class=&quot;token comment&quot;&gt;/** API PREFIX */&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;source&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/api/:path*&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/mark&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;        &lt;span class=&quot;token literal-property property&quot;&gt;destination&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;/api/:path*&#39;&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For images you&#39;ll have to wrap &lt;code&gt;next/image&lt;/code&gt; component in your own component, to request your images with the prefix &lt;code&gt;BASE_PREFIX_FOR_APP&lt;/code&gt;, using a &lt;a href=&quot;https://nextjs.org/docs/api-reference/next/image#loader&quot;&gt;custom Next.js image loader&lt;/a&gt;&lt;/p&gt;
&lt;pre class=&quot;language-ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// CustomImage.tsx&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Image &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;next/image&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; CustomImage&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;typeof&lt;/span&gt; &lt;span class=&quot;token function-variable function&quot;&gt;Image&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; props &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; finalProps &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    props&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token function&quot;&gt;loader&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; src&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; width&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; quality &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; urlQuery &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;?url=/images&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;src&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;BASE_PREFIX_FOR_APP&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;/images&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;urlQuery&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;amp;w=&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;width&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;amp;q=&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;quality &lt;span class=&quot;token operator&quot;&gt;??&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;75&lt;/span&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;Image &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;...&lt;/span&gt;finalProps&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; CustomImage&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All was well and good, and the apps were running fine with the requirements that we had: not having to change our links with app specific base path prefix. But there was still a problem.&lt;/p&gt;
&lt;p&gt;When you use a &lt;code&gt;next/link&lt;/code&gt; to navigate to another route, and that upcoming route has a &lt;code&gt;getServerSideProps&lt;/code&gt; method implemented, Next.js will send an API request to the server, which will run &lt;code&gt;getServerSideProps&lt;/code&gt; and return a JSON containing the result. You can read about this in &lt;a href=&quot;https://nextjs.org/docs/basic-features/data-fetching#only-runs-on-server-side&quot;&gt;Next.js docs here&lt;/a&gt;. That resulted JSON fetch request data is used to render the upcoming route. Those data fetch requests have a path that looks like this: &lt;code&gt;_next/data/&amp;lt;build-id&amp;gt;/&amp;lt;route-slug&amp;gt;.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The problem with that for our context — to be able to run multiple Next.js apps on same domain without base url prefix — is that Next.js doesn&#39;t give us a way to control this path. Which is to say there&#39;s no &lt;strong&gt;&lt;em&gt;data fetch request path URL prefix&lt;/em&gt;&lt;/strong&gt; which Next.js gives as a configuration option. Because of that we have a hard time finding a distinguishing factor for data URLs for multiple apps.&lt;/p&gt;
&lt;p&gt;The fix we ended up using is as follows:&lt;/p&gt;
&lt;p&gt;Remember that the data fetch url looks like &lt;code&gt;_next/data/&amp;lt;build-id&amp;gt;/&amp;lt;route_slug&amp;gt;.json&lt;/code&gt;. If we could have a way generate unique &lt;code&gt;&amp;lt;build-id&amp;gt;&lt;/code&gt; for all our apps, we could use that and write a re write rule at load balancer level to distinguish the request between multiple Next.js apps. By default the &lt;code&gt;&amp;lt;build-id&amp;gt;&lt;/code&gt; is a random id generated by Next.js build process for each build. &lt;a href=&quot;https://nextjs.org/docs/api-reference/next.config.js/configuring-the-build-id&quot;&gt;Thankfully they give us a way to control the build id&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We ended up using a package called &lt;a href=&quot;https://github.com/nexdrew/next-build-id#readme&quot;&gt;&lt;code&gt;next-build-id&lt;/code&gt;&lt;/a&gt; to configure a custom build id where we gave a &lt;code&gt;app-1-&amp;lt;git-commitSHA&amp;gt;&lt;/code&gt; signature and added a re write rule in our load balancer for incoming request host name having &lt;code&gt;app-1&lt;/code&gt; for first app, &lt;code&gt;app-2&lt;/code&gt; for second app and so on and so forth, to solve this.&lt;/p&gt;
&lt;p&gt;Hope this was helpful.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>React&#39;s UI State Model vs Vanilla JavaScript DOM State — A Beginner&#39;s Introduction</title>
		<link href="https://arihantverma.com/posts/2021/07/17/react-ui-state-model-vs-vanilla-js/"/>
		<updated>2021-07-17T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/07/17/react-ui-state-model-vs-vanilla-js/</id>
		<content type="html">&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;This article is aimed at beginners who&#39;ve never had the chance to see &#39;why React&#39;. It takes a very contrived example to make a point about how React&#39;s declarative state model could help keep state sanity when code scales.&lt;/p&gt;
&lt;p&gt;If you&#39;re an experienced developer &lt;a href=&quot;https://acko.net/blog/climbing-mt-effect&quot;&gt;these series of posts by Steven&lt;/a&gt; might give deep insights about why declarative abstractions scale in a way you might not have thought before. &lt;a href=&quot;https://news.ycombinator.com/item?id=27871733&quot;&gt;Thanks hackernews user Tomuus for the recommendation&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;When I started my front end journey in 2015, I was privileged enough to have a 6 months training program in which our company at the time — Sapient Nitro ( now Publicis Sapient ) invested in. Our trainer was instructed that by the end of the program we ought to have strong JavaScript fundamentals. I remember one of the SMEs Mahesh, who invested a lot of his time ( and goofy calming laughter ) with us new joinees straight out of college. He guided us to learn DOM JavaScript APIs and make our own jQuery like utility library for the project that we were supposed to deliver in phases during our training.&lt;/p&gt;
&lt;p&gt;At that point of time, I wasn&#39;t very social and open. I wouldn&#39;t talk to any of the SMEs and would just get whatever information I&#39;d get out of limited interaction with other people. But I&#39;m glad that even that had something for me to learn from.&lt;/p&gt;
&lt;p&gt;Recently, I have been &lt;a href=&quot;https://aryamannverma.com/&quot;&gt;collaborating&lt;/a&gt; with my little brother, who&#39;s studying in Canada, in learning web development completely hands on style. So guess what was one of the first things I helped him understand. JavaScript and React both at the same time! Let&#39;s walk through what I told him. Ready?&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;rocket emoji&quot;&gt;🚀&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This is what we are doing to make both in JavaScript and React. Click on the checkbox or the label, it&#39;s got a cute little toggling happening.&lt;/p&gt;
&lt;div id=&quot;app&quot; style=&quot;background: lightpink; padding: 10px; border: 4mm ridge lightcoral;&quot;&gt;&lt;/div&gt;
&lt;script&gt;
const CHECKBOX_ID = &quot;my-checkbox&quot;;
const defaultLabelContent = &quot;Click me to apply fake discount!&quot;;
const beforeDiscountText = &quot;You have not availed discount&quot;;
const afterDiscountText = &quot;Discount Availed!&quot;;

const checkBoxEl = document.createElement(&quot;input&quot;);
checkBoxEl.type = &quot;checkbox&quot;;
checkBoxEl.id = CHECKBOX_ID;

const labelEl = document.createElement(&quot;label&quot;);
labelEl.style = &quot;margin-left:5px; font-weight:bold;font-style:italic;&quot;;
const labelTextNode = document.createTextNode(defaultLabelContent);
labelEl.htmlFor = CHECKBOX_ID;
labelEl.append(labelTextNode);

const discountContentEl = document.createElement(&quot;div&quot;);
discountContentEl.style = &quot;padding-left: 25px;&quot;
const discountContentTextNode = document.createTextNode(beforeDiscountText);
discountContentEl.append(discountContentTextNode);

// appending
const appContainerEl = document.getElementById(&quot;app&quot;);
appContainerEl.append(checkBoxEl);
appContainerEl.append(labelEl);
appContainerEl.append(discountContentEl);

function toggleCheckBoxHandler(event) {
  const checkBoxOnWhichChangeHappened = event.target;

  if (checkBoxOnWhichChangeHappened.checked) {
    discountContentTextNode.textContent = afterDiscountText;
    labelTextNode.textContent = &#39;Click on me to remove fake discount&#39;
  } else {
    discountContentTextNode.textContent = beforeDiscountText;
    labelTextNode.textContent = defaultLabelContent
  }
}

checkBoxEl.addEventListener(&quot;change&quot;, toggleCheckBoxHandler);
&lt;/script&gt;
&lt;h2 id=&quot;let&#39;s-start-with-javascript&quot; tabindex=&quot;-1&quot;&gt;Let&#39;s Start With JavaScript &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/07/17/react-ui-state-model-vs-vanilla-js/#let&#39;s-start-with-javascript&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We&#39;ll have one root html element where we are going to &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Element/append&quot;&gt;append&lt;/a&gt; things&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;app&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;div&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Let&#39;s create a checkbox and set its &lt;code&gt;id&lt;/code&gt; attribute&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my-checkbox&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; checkBoxEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;input&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;checkbox&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You could also have used &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute&quot;&gt;&lt;code&gt;setAttribute&lt;/code&gt;&lt;/a&gt; to set the &lt;code&gt;type&lt;/code&gt; and &lt;code&gt;id&lt;/code&gt; attributes. We did it in short hand.&lt;/p&gt;
&lt;p&gt;Right now the &lt;code&gt;checkBoxEl&lt;/code&gt; is a floating in the memory, it&#39;s not attached to any &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Node&quot;&gt;DOM node&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let&#39;s create a label the same way we created checkbox&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;label&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Let&#39;s create a text node and append it to the label.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; defaultLabelContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Click me to apply fake discount!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelTextNode &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createTextNode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;defaultLabelContent&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Remember, the label and its text node are still in memory because we haven&#39;t attached them to a DOM node.&lt;/p&gt;
&lt;p&gt;Let&#39;s append this the checkbox and label we have made, to our &lt;code&gt;div#app&lt;/code&gt; element, so that it actually shows up in the browser.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; appContainerEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;app&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So far we have:&lt;/p&gt;
&lt;div id=&quot;app-1&quot; style=&quot;background: lightpink; padding: 10px; border: 4mm ridge lightcoral;&quot;&gt;&lt;/div&gt;
&lt;script&gt;
const _CHECKBOX_ID = &quot;my-checkbox-1&quot;;

const _checkBoxEl = document.createElement(&quot;input&quot;);
_checkBoxEl.type = &quot;checkbox&quot;;
_checkBoxEl.id = _CHECKBOX_ID;

const _labelEl = document.createElement(&quot;label&quot;);
_labelEl.style = &quot;margin-left:5px; font-weight:bold;font-style:italic;&quot;;
const _defaultLabelContent = &quot;Click me to apply fake discount!&quot;;
const _labelTextNode = document.createTextNode(_defaultLabelContent);

_labelEl.append(_labelTextNode);

const _appContainerEl = document.getElementById(&quot;app-1&quot;);
_appContainerEl.append(_checkBoxEl);
_appContainerEl.append(_labelEl);
&lt;/script&gt;
&lt;p&gt;You would have seen that on websites whenever you click the label of a checkbox, you are able to check and un-check checkbox as if you were clicking on it directly! Let&#39;s make that happen now.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;htmlFor &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// CHECKBOX_ID is &#39;my-checkbox&#39;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We tell label element&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Hey label! You are linked with the checkbox with id &lt;code&gt;my-checkbox-1&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let&#39;s try clicking on the label now and confirm that it checks and unchecks the checkbox.&lt;/p&gt;
&lt;div id=&quot;app-2&quot; style=&quot;background: lightpink; padding: 10px; border: 4mm ridge lightcoral;&quot;&gt;&lt;/div&gt;
&lt;script&gt;
  {
    const _CHECKBOX_ID = &quot;my-checkbox-2&quot;;

    const _checkBoxEl = document.createElement(&quot;input&quot;);
    _checkBoxEl.type = &quot;checkbox&quot;;
    _checkBoxEl.id = _CHECKBOX_ID;

    const _labelEl = document.createElement(&quot;label&quot;);
    _labelEl.style = &quot;margin-left:5px; font-weight:bold;font-style:italic;&quot;;
    _labelEl.htmlFor = _CHECKBOX_ID; 

    const _defaultLabelContent = &quot;Click me to apply fake discount!&quot;;
    const _labelTextNode = document.createTextNode(_defaultLabelContent);

    _labelEl.append(_labelTextNode);

    const _appContainerEl = document.getElementById(&quot;app-2&quot;);
    _appContainerEl.append(_checkBoxEl);
    _appContainerEl.append(_labelEl);
  }
&lt;/script&gt;
&lt;p&gt;So far so good?&lt;/p&gt;
&lt;p&gt;You&#39;d notice in our &lt;a href=&quot;https://arihantverma.com/posts/2021/07/17/react-ui-state-model-vs-vanilla-js/#app&quot;&gt;original demo&lt;/a&gt; that when the checkbox is unchecked we have a text saying &lt;em&gt;&lt;strong&gt;You have not availed discount&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Let&#39;s add that in the same fashion as we&#39;ve added checkbox and label&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; beforeDiscountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;You have not availed discount&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountContentEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;div&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountContentTextNode &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createTextNode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;discountContentEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;discountContentEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So far we have:&lt;/p&gt;
&lt;div id=&quot;app-3&quot; style=&quot;background: lightpink; padding: 10px; border: 4mm ridge lightcoral;&quot;&gt;&lt;/div&gt;
&lt;script&gt;
  {
    const _CHECKBOX_ID = &quot;my-checkbox-3&quot;;

    const _checkBoxEl = document.createElement(&quot;input&quot;);
    _checkBoxEl.type = &quot;checkbox&quot;;
    _checkBoxEl.id = _CHECKBOX_ID;

    const _labelEl = document.createElement(&quot;label&quot;);
    _labelEl.style = &quot;margin-left:5px; font-weight:bold;font-style:italic;&quot;;
    _labelEl.htmlFor = _CHECKBOX_ID; 

    const _defaultLabelContent = &quot;Click me to apply fake discount!&quot;;
    const _labelTextNode = document.createTextNode(_defaultLabelContent);

    _labelEl.append(_labelTextNode);

    const beforeDiscountText = &quot;You have not availed discount&quot;;

    const discountContentEl = document.createElement(&quot;div&quot;);
    discountContentEl.style = &quot;padding-left: 25px;&quot;
    const discountContentTextNode = document.createTextNode(beforeDiscountText);
    discountContentEl.append(discountContentTextNode);


    const _appContainerEl = document.getElementById(&quot;app-3&quot;);
    _appContainerEl.append(_checkBoxEl);
    _appContainerEl.append(_labelEl);
    _appContainerEl.append(discountContentEl);
  }
&lt;/script&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;At this point of time, I want to point your attention to the fact that &lt;strong&gt;we are using &lt;em&gt;imperative&lt;/em&gt; DOM APIs&lt;/strong&gt;. What the heck does &lt;strong&gt;&lt;em&gt;imperative&lt;/em&gt;&lt;/strong&gt; mean? It means that when we use the APIs that browsers give us, we have to use them and tell the browsers &lt;strong&gt;HOW TO DO SOMETHING&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Let&#39;s understand imperative vs declarative in layman terms first, with an example borrowed from &lt;a href=&quot;https://ui.dev/imperative-vs-declarative-programming/&quot;&gt;ui.dev&lt;/a&gt;&lt;/p&gt;
&lt;h2 style=&quot;margin-bottom:0;&quot;&gt;Imperative Way&lt;/h2&gt;
&lt;p style=&quot;margin:0;&quot;&gt;&lt;i&gt;emphasises on &lt;strong&gt;how&lt;/strong&gt; to do&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;You go into a restaurant at the reception and say&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I see that table with two chairs, located at the far right corner, which has just emptied. My friend and I am going to walk over there and sit down.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In contrast:&lt;/p&gt;
&lt;h2 style=&quot;margin-bottom:0;&quot;&gt;Declarative Way&lt;/h2&gt;
&lt;p style=&quot;margin:0 0 25px 0;&quot;&gt;&lt;i&gt;emphasises on &lt;strong&gt;what&lt;/strong&gt; to do&lt;/i&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Table for two, please.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And the receptionist will will take you to the table.&lt;/p&gt;
&lt;p&gt;Now let&#39;s take a look at why native DOM APIs that we have used are imperative by eavesdropping to this conversation between you and browser APIs:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;YOU:&lt;/strong&gt; Hey Browser! Yeah you! Listen… I want you to make a div for me&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;createElement API:&lt;/strong&gt; Okay! Use me and tell me how to do it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;YOU:&lt;/strong&gt; &lt;code&gt;const divEl = document.createElement(&#39;div&#39;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;YOU:&lt;/strong&gt; Okay, hey browser I want to actually show this in-memory div element in the browser. Tell me HOW to do it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BROWSER:&lt;/strong&gt; &lt;code&gt;append&lt;/code&gt; API will tell you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;append API:&lt;/strong&gt; Hey! yeah, use me and tell me what to append and how ( you&#39;ll get how to do that in my documentation ), and I&#39;ll do it for you&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;YOU:&lt;/strong&gt; Alright so okay, I already have div with id &lt;em&gt;app&lt;/em&gt; in html, so I&#39;ll select it using &lt;code&gt;const appEl = document.getElementById(&#39;app&#39;)&lt;/code&gt; and I&#39;ll append div element I created before in it by doing &lt;code&gt;appEl.append(divEl)&lt;/code&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;So when you use browser APIs we have to explicitly use those APIs to tell the browser HOW to do things. This is a very simple example, and already we have a little verbose code:&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my-checkbox&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; defaultLabelContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Click me to apply fake discount!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; beforeDiscountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;You have not availed discount&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** Create checkbox */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; checkBoxEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;input&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;type &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;checkbox&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;id &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** Create label */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;label&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelTextNode &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createTextNode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;defaultLabelContent&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;htmlFor &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** Create a dov wotj initial value of the text we have to toggle */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountContentEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;div&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountContentTextNode &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createTextNode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;discountContentEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** append all the above to our div#app html element */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; appContainerEl &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;app&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;labelEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;appContainerEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;discountContentEl&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And we are not done yet. We still have to actually toggle the text when checkbox toggles. Let&#39;s make that happen. Let&#39;s put a change event on checkbox and toggle stuff&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// ... the code that we wrote before //&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; afterDiscountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Discount Availed!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; afterToggleCheckboxLabelText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;Click on me to remove fake discount&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** apply change event listener and pass in a handler function */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;checkBoxEl&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addEventListener&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;change&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; toggleCheckBoxHandler&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toggleCheckBoxHandler&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// get hold of the checkbox&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// always safer for browser to tell us&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// on which element it fired the event,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// instead of us having to pluck out&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// the element from the DOM itself,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// which might be error prone in a moderately big codebase&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; checkBoxOnWhichChangeHappened &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// we check the actual `checked` value of the checkbox DOM Element&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// if it&#39;s true we change two things&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// 1. the discount text&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token comment&quot;&gt;// 2. the label text of checkbox&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;checkBoxOnWhichChangeHappened&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;checked&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; afterDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; afterToggleCheckboxLabelText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// if checkbox is not checked, we restore the values&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token comment&quot;&gt;// to the old ( initial ones )&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; defaultLabelContent&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We are done! Let&#39;s see it in action&lt;/p&gt;
&lt;div id=&quot;app-10&quot; style=&quot;background: lightpink; padding: 10px; border: 4mm ridge lightcoral;&quot;&gt;&lt;/div&gt;
&lt;script&gt;
  {
    const CHECKBOX_ID = &quot;my-checkbox-10&quot;;
    const defaultLabelContent = &quot;Click me to apply fake discount!&quot;;
    const beforeDiscountText = &quot;You have not availed discount&quot;;
    const afterDiscountText = &quot;Discount Availed!&quot;;

    const checkBoxEl = document.createElement(&quot;input&quot;);
    checkBoxEl.type = &quot;checkbox&quot;;
    checkBoxEl.id = CHECKBOX_ID;

    const labelEl = document.createElement(&quot;label&quot;);
    labelEl.style = &quot;margin-left:5px; font-weight:bold;font-style:italic;&quot;;
    const labelTextNode = document.createTextNode(defaultLabelContent);
    labelEl.htmlFor = CHECKBOX_ID;
    labelEl.append(labelTextNode);

    const discountContentEl = document.createElement(&quot;div&quot;);
    discountContentEl.style = &quot;padding-left: 25px;&quot;
    const discountContentTextNode = document.createTextNode(beforeDiscountText);
    discountContentEl.append(discountContentTextNode);

    // appending
    const appContainerEl = document.getElementById(&quot;app-10&quot;);
    appContainerEl.append(checkBoxEl);
    appContainerEl.append(labelEl);
    appContainerEl.append(discountContentEl);

    function toggleCheckBoxHandler(event) {
      const checkBoxOnWhichChangeHappened = event.target;

      if (checkBoxOnWhichChangeHappened.checked) {
        discountContentTextNode.textContent = afterDiscountText;
        labelTextNode.textContent = &#39;Click on me to remove fake discount&#39;
      } else {
        discountContentTextNode.textContent = beforeDiscountText;
        labelTextNode.textContent = defaultLabelContent
      }
    }

    checkBoxEl.addEventListener(&quot;change&quot;, toggleCheckBoxHandler);
  }
&lt;/script&gt;
&lt;p&gt;Feeling nice having gotten this far isn&#39;t it? Good reading!&lt;/p&gt;
&lt;p&gt;I want to emphasize again on the fact of how we wrote the toggle logic. We&#39;ve to manually check for a lot of things and actually reach out inside the DOM&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;To check if the the checkbox is checked or un-checked&lt;/li&gt;
&lt;li&gt;To manually select the text nodes whose content has to be changed and manually change them &lt;strong&gt;depending on the state of the DOM itself!&lt;/strong&gt; ( the checkbox check state )&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;That&#39;s a considerable amount of things you have to tell the browser HOW to do&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I remember writing assembly code for my microprocessor class in 3rd year of college — explicitly telling which register should hold what value and what operation should be performed when, to achieve a particular result &lt;strong&gt;&lt;em&gt;explicitly&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;imperatively&lt;/em&gt;&lt;/strong&gt;. That&#39;s how trying to change DOM values through vanilla JavaScript APIs feels like. It&#39;s not bad, it&#39;s actually really powerful in a way if you want to make website. But to be able to make app like features and interactions with these APIs usually result in developers making abstractions on top of these APIs.&lt;/p&gt;
&lt;p&gt;One such, one of the most popular abstractions over DOM APIs is jQuery. Some reasons why developers chose it at the time was because&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;It&#39;s very heavily tested&lt;/li&gt;
&lt;li&gt;It made up for browser quirks, which at that time was urgently needed.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But it still deals with us &lt;strong&gt;&lt;em&gt;keeping the UI state in the DOM itself&lt;/em&gt;&lt;/strong&gt; ( like we did when we checked if checkbox was checked or not by actually reading its value from the checkbox element ).&lt;/p&gt;
&lt;p&gt;Let&#39;s now see how React&#39;s declarative state and element modeling helps to mitigate verboseness.&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; React&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; useState &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;react&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; ReactDOM &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;react-dom&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my-checkbox&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; defaultLabelContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Toggle me, you newbies&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; beforeDiscountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;You have not availabled discount&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; afterDiscountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Discount Availed!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; beforeLabelText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Click me to apply fake discount!&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; afterLabelText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Click on me to remove fake discount&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;App&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;isChecked&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; setIsChecked&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;useState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;handleChange&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token function&quot;&gt;setIsChecked&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; isChecked&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; afterDiscountText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; isChecked&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; afterLabelText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; beforeLabelText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;input&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        checked&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;isChecked&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;checkbox&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        id&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        onChange&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;handleChange&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;label htmlFor&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;        &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;labelText&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;label&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;      &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;discountText&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; rootElement &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;root&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;ReactDOM&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;render&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;App &lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  rootElement&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Instead of storing the checkbox close and open state in DOM itself and reading it by reaching out into the DOM element, we are using React&#39;s state model to store that value. &lt;strong&gt;&lt;em&gt;Think of it as a fish rod. Instead of having to go inside the water and catching the fish with your hand, you can now do that with your fish rod while sitting in your boat.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instead of handling change on checkbox like this:&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;toggleCheckBoxHandler&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; checkBoxOnWhichChangeHappened &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; event&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;target&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;checkBoxOnWhichChangeHappened&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;checked&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; afterDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;Click on me to remove fake discount&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    discountContentTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;    labelTextNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;textContent &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; defaultLabelContent&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We&#39;re just toggling React state&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;handleChange&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token function&quot;&gt;setIsChecked&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;prevState&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;!&lt;/span&gt;prevState&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and giving that state to the checkbox, so that it obeys whatever React state tells it do&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;input&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;  checked&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;isChecked&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  type&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;checkbox&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  id&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  onChange&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;handleChange&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;since React re renders the component when any of its state variables change, we can depend on the value of &lt;code&gt;isChecked&lt;/code&gt; state to show something different when checkbox is checked&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; discountText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; isChecked&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; afterDiscountText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; beforeDiscountText&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; labelText &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; isChecked&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;?&lt;/span&gt; afterLabelText&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;  &lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; beforeLabelText&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;label htmlFor&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token constant&quot;&gt;CHECKBOX_ID&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;  &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;labelText&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/mark&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;label&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;mark class=&quot;highlight-line highlight-line-active&quot;&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;discountText&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;div&lt;span class=&quot;token operator&quot;&gt;&gt;&lt;/span&gt;&lt;/mark&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;with the help of React we are telling WHAT we want. We want a state called &lt;code&gt;isChecked&lt;/code&gt; which should toggle when &lt;code&gt;change&lt;/code&gt; event listener fires for checkbox. And React is doing its &lt;a href=&quot;https://reactjs.org/docs/reconciliation.html&quot;&gt;reconciliation magic&lt;/a&gt; to &lt;em&gt;commit&lt;/em&gt; the changes to DOM for us, so that we don&#39;t have to do it manually, and only the elements which are dependent on the &lt;em&gt;changed&lt;/em&gt; state actually change in the DOM.&lt;/p&gt;
&lt;p&gt;That&#39;s why React as an abstraction to write UIs enable us to tell WHAT to do, instead of HOW.&lt;/p&gt;
&lt;p&gt;Hope that if you are new to React, this write up gave a glimpse of one of the reasons why writing UI in React helps us wrap our head around of the &lt;strong&gt;UI State&lt;/strong&gt; much easily than what is possible when we only use vanilla JavaScript.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>The Problem With Glorification Of Rockstar Culture In Tech</title>
		<link href="https://arihantverma.com/posts/2021/07/02/the-problem-with-rockstar-culture/"/>
		<updated>2021-07-02T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/07/02/the-problem-with-rockstar-culture/</id>
		<content type="html">&lt;h2 id=&quot;disclaimer&quot; tabindex=&quot;-1&quot;&gt;Disclaimer &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/07/02/the-problem-with-rockstar-culture/#disclaimer&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;These points are made out of observation and experience and in no way attempts to generalise.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;let&#39;s-talk-glorification-rockstar-culture-in-tech&quot; tabindex=&quot;-1&quot;&gt;Let&#39;s Talk Glorification Rockstar Culture In Tech &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/07/02/the-problem-with-rockstar-culture/#let&#39;s-talk-glorification-rockstar-culture-in-tech&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;It&#39;s draining, impersonal and segregating but monetarily rewarding.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Values only outputs rather than processes that enable tech innovations and helps multiple people reach results. In this process, the silent hard workers, who might have tremendous potential to make tech that makes business product development extremely easy are seldom recognized.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It doesn&#39;t necessarily lead to collaboration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It isn&#39;t a good motivator.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It&#39;s tightly coupled with performance based appraisal. It feels like school and college exams all over again.&lt;/p&gt;
&lt;p&gt;Imagine being able to choose between two motivators&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Having the privilege to work with the people who are much smarter than you.&lt;/li&gt;
&lt;li&gt;Chasing a variable pay based on performance, &lt;a href=&quot;https://web.archive.org/web/20210628231425/https://kyleshevlin.com/whats-going-on-mid-2021&quot;&gt;where most of the work demands that you sit alone and code&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Which one would you choose? It&#39;s surprising – the amount of work that a company can get done if they hire top of the skill developers, &lt;a href=&quot;https://www.goodreads.com/book/show/49099937-no-rules-rules&quot;&gt;drop the appraisal system altogether&lt;/a&gt; and &lt;a href=&quot;https://www.goodreads.com/book/show/36417234-powerful?ac=1&amp;amp;from_search=true&amp;amp;qid=PAnPc88Y2l&amp;amp;rank=1&quot;&gt;just pay them properly instead, while leaving them to do wonderful things together.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It doesn&#39;t aid learning. But then again, most of the tech jobs are a tradeoff — making things just work, rather than doing things properly in the best way possible, because of course, the company doesn&#39;t have time to slow down the pace. If they do they tend to suffer. Maybe there&#39;s a middle ground? ( Hint: It&#39;s gathering smart people together and leaving them be to do smart things ).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It values hustling culture: late night working, celebrating achieving things quickly at the cost of mental and physical health. Of course HR and leadership in such companies would ask their employees to value their health first. But the stature in doing so silently slips through the back door, because in doing so, one wouldn&#39;t be able to perform as much as over working would help achieve.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://www.paulgraham.com/hwh.html#f6n&quot;&gt;Performative Hard Work inclines to be bad overall&lt;/a&gt; for a person for a considerably long period of time&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It leaves people, especially programmers in this weird mental space where when once in a blue moon they get free time before their late bed time, they feel restless, jittery, not being able to rest, because they&#39;ve gotten so used to working that they don&#39;t know what to do otherwise, anymore.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</content>
	</entry>
	
	<entry>
		<title>Learning to Teach ☀️</title>
		<link href="https://arihantverma.com/posts/2021/06/05/learning-to-teach/"/>
		<updated>2021-06-05T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/06/05/learning-to-teach/</id>
		<content type="html">&lt;p&gt;I want to tell you a story of full circle&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;red circle emoji&quot;&gt;⭕️&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;In 2015, I got a job out of college. I was not very happy about it, I was not sad about it either. I wasn&#39;t excited about it to put it fair and square. Probably because I didn&#39;t study &lt;strong&gt;at all&lt;/strong&gt; to get it. I think the highlight of the interview, which got me in, was when I told the interviewer that I had &lt;em&gt;tried&lt;/em&gt; to create a font out of using &lt;a href=&quot;https://processing.org/&quot;&gt;Processing Programming Language&lt;/a&gt;, to be used on the home page of our college&#39;s literary magazine.&lt;/p&gt;
&lt;p&gt;I started the job in Bangalore on June 1&lt;sup&gt;st&lt;/sup&gt;, 2015. The new joinees had to go through a 6 months training. Long story short, the first 2-3 months I was scared of a lot of things. But I was most scared about the fact that I was having a very hard time to understand what was being taught. Our instructor was a nice chap. But learning from him didn&#39;t excite, didn&#39;t open the possibilities of what we could do with code.&lt;/p&gt;
&lt;p&gt;I remember, towards the end of 3rd month, I was so frustrated that I had decided to pack up and go back home and figure out what to do next. Fortunately, my good friend Anusheel stayed late in office with me that night and broke down the CSS for me in a way instructor hadn&#39;t been able to. I stayed, persisted. Then slowly I started liking it. The buzz of the tech world, new cool things coming out every week.&lt;/p&gt;
&lt;p&gt;I started looking forward to going home and reading about stuff. I read that a new code text editor – atom – had come. Made by folks at Github, written in web technologies, it was fascinating to download and use it. When Google&#39;s material design spec came out in 2015, I thought Google had invented an optical mobile technology which would help developers make user interfaces which would actually interact with a brief vertical 3D space between the bottom and the surface of a mobile screen.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;&lt;span role=&quot;img&quot; aria-label=&quot;Facepalm Emoji&quot;&gt;🤦🏽‍♂️&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;But that is all I did for a long time — marvel at what people built, without trying to make anything of my own.&lt;/p&gt;
&lt;p&gt;Then I took a course on full stack development on Coursera. It was a free specialisation with 5 courses which used Meteor framework to make a fully functional web application. It&#39;s the only set of courses I&#39;ve finished on Coursera. I got a taste of how to build things end to end. Up until then, in the training, we had only been picking things up one at a time, mostly syntax. Learning syntax in any language is the most boring and cumbersome but necessary thing to do. When you are a beginner, it gets boring very quickly. It also takes a lot of time to debug when you make a typo. You know how it goes…&lt;/p&gt;
&lt;p&gt;So anway. Slowly I started learning a lot – something I had left after 12th grade. Overtime, I also started finding joy in sharing the things that I discovered and learnt.&lt;/p&gt;
&lt;p&gt;Fast forward to today, lately I have doing two things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Mentoring beginners online for money, since people actually are up for giving good money for really good educators. They want to understand things propertly and not just bear having to learn half heartedly.&lt;/p&gt;
&lt;p&gt;It really struck a chord of the past. While I taught I&#39;d remember the style of teaching which didn&#39;t work for me. And I improvize and give practical examples to people to help them understand things in depth. I also repeat appropriately so that what I teach retains.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I have doing a lot of learning myself. I&#39;ve started going knee deep into understanding TypeScript properly. The best way? To learn to teach. A couple of days ago, I gave a pretty intensive but gentle introduction to TypeScript to my team, because we are using TypeScript in the project I&#39;m working on. But nobody in the team is completely ramped up with TypeScript yet. So I took the responsibility to bring everyone up to speed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What I found is that when you learn to teach, you learn in a way you would never forget. That&#39;s why &lt;a href=&quot;https://arihantverma.com/posts/2021/05/30/time-lost-but-learning/&quot;&gt;many instructors&lt;/a&gt; are go good when they teach. When I was a teenager and learnt advance mathematics and physics to solve complex academic problems, I could have never imagined that the biggest motivator to learn would be to teach it to others. And in the process&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You get solid foundations&lt;/li&gt;
&lt;li&gt;Now that you have learnt all that, you can focus on building stuff with it, instead of struggling to understand it anymore.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;From a person who was afraid that he was understanding nothing of what was being taught to helping others learn, I&#39;ve come a long way.&lt;/p&gt;
&lt;p&gt;In the last one and a half months, I&#39;ve mentored a lot of people who are undergoing one or the other bootcamps all around the world, mostly in the US. And you wouldn&#39;t believe me if I told you, that people are scared when they see such daunting tasks being thrown away at them. Many bootcamps aren&#39;t doing a very good job. The fact that their students are turning online to people like me to clear their doubts instead of their teachers, is a testament to the broken curriculums.&lt;/p&gt;
&lt;p&gt;You make a difference in helping people like these understand something. You find purpose and peace. It&#39;s a form of service — helping people learn in a skillful understanding way which doesn&#39;t seem mammoth and daunting, which in turn helps ease their anxiety and tension. I&#39;ve been fortunate enough to have not quit and persist to be able to be of help to people like this. And I hope I continue to learn, build and teach.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Time Traveling Learning</title>
		<link href="https://arihantverma.com/posts/2021/05/30/time-lost-but-learning/"/>
		<updated>2021-05-30T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/05/30/time-lost-but-learning/</id>
		<content type="html">&lt;p&gt;Since the last three weeks I&#39;ve been on a continuous work ride. My wrists hurt from typing too fast too much, my eyes are baggy, I lose track of when days go by to the point where I don&#39;t recognise when the week has passed. I haven&#39;t seen my face in the mirror for a long time. I&#39;m pushing myself to learn because my efforts will directly affect the code quality and standards of the project I&#39;m working on. If I don&#39;t it&#39;ll still be okay, because how the product looks and if it &lt;em&gt;generally&lt;/em&gt; works is all that matters at the end of the day. But how would that be any different from the kind of work that I&#39;ve done in the past?&lt;/p&gt;
&lt;p&gt;To be honest, I&#39;ve been having mixed feelings about the pace of the learning I have had to pick up lately. The amount of tech literature I&#39;ve read in the last three weeks astonishes me. I&#39;ve also finished a big &lt;a href=&quot;https://www.smashingmagazine.com/printed-books/typescript-in-50-lessons/#:~:text=In%20TypeScript%20in%2050%20Lessons,explained%2C%20from%20start%20to%20finish.&quot;&gt;Typescript book&lt;/a&gt;, knowing more about Typescript than I&#39;ve ever had. At the same time I haven&#39;t been getting enough sleep. This week, I didn&#39;t sleep for two nights. If you were with me for a work day you might say,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What are you talking about? This is doable, manageable work&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And I&#39;d tell you back that I don&#39;t want things just working. I want my team to grow and learn while making things work in the best possible way. That I don&#39;t want to make ends meet. I want to thrive.&lt;/p&gt;
&lt;p&gt;To set a culture in a team is a tough job. Especially when you have to find ways to keep people – including yourself – motivated. I&#39;m banking on the thrill of learning as the number one contender. Because I&#39;m the biggest complainer I know, and even though I&#39;d have liked a job which pays well but doesn&#39;t demand so much – enables work life balance, the learning that I&#39;m having is not letting me complain. I have to find a way to share this feeling of learning acting as a life safer and satisfaction and motive giver to the team. Starting tomorrow I&#39;ve decided to invest time to take the team over on short calls over the week to help share the knowledge as I learn.&lt;/p&gt;
&lt;p&gt;For years, I&#39;ve been wanting&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In the next company, more than anything, I want tech mentors and people much smarter than me, who still code&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&#39;ve always had that itch to get a practical hands on mentor because the lack of one has followed since college. There&#39;d be these tenured professors who were caught copying material from different research papers and collating in a smart way so as to not get caught for plagiarism, to write their mandatory annual research paper, just because it was a requirement.&lt;/p&gt;
&lt;p&gt;And then you get to hear about these amazing professors out of the country, who work with the students as actively as students do. It&#39;s natural to have a longing to work with people who are smarter than you. After deciding that I didn&#39;t want to go for higher education, because the cost didn&#39;t make sense to me, the only way I could get mentors I wanted was by getting good jobs, like perhaps at Netflix, my dream company. So far I have not had much luck, primarily because of lack of effort and career planning.&lt;/p&gt;
&lt;p&gt;I&#39;ve also realised that working solo is a skill that every company cherishes, especially my dream company. So the things that are happening workwise are perfect to tap into working solo, share knowledge across the team, make things work. So in a way going forward, hopefully, I&#39;d be able to balance things better, and take care of my health as well. Otherwise there&#39;s no sustenance of mind and body with this kind of work load.&lt;/p&gt;
&lt;p&gt;I&#39;ve finally started to give good thought about what kind of work I&#39;d want to do in the long term. It boils down to two options&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Learn, build, teach, like many people I follow on the internet have done – made a career out of learning, building and then teaching. Kent C Dodds and Josh Comeau come to mind.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Push to keep learning like I&#39;m doing now, so that I&#39;d have enough experience and knowledge to be able to go work at a company like Netflix.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But sometimes when the work load is off the charts, one can&#39;t help but wonder, what&#39;s the meaning of it all. I keep asking myself again and again&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;For how long will I keep working like this day and night? For how long will I keep coding for companies?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And as much as I ask, I&#39;m inspired to keep doing what I&#39;m doing so that slowly, but surely, I&#39;d make way to get myself out of corporate world, to give more time to my friends, family, writing, reading, something I&#39;ve not been able to do ever.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Observations and Experiences Earning Money Through Codementor</title>
		<link href="https://arihantverma.com/posts/2021/05/04/experiencing-earning-money-through-codementor/"/>
		<updated>2021-05-04T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/05/04/experiencing-earning-money-through-codementor/</id>
		<content type="html">&lt;p&gt;I don&#39;t remember when I started following &lt;a href=&quot;https://twitter.com/sunilc_&quot;&gt;Sunil&lt;/a&gt; on Twitter. He&#39;s a developer who — apart from his day job — invests a lot of time in curating development resources in Twitter threads. He has a significantly large Twitter following. He spends a lot of free time freelancing. He also writes ebooks about developer platforms, passive income generation, freelancing, his developer experiences, how to become a better developer, &lt;a href=&quot;https://gumroad.com/l/joCkt&quot;&gt;which he sells&lt;/a&gt;. Once, I saw him tweet about a platform called &lt;a href=&quot;https://codementor.io/&quot;&gt;codementor.io&lt;/a&gt;. After that tweet I repeatedly saw him tweet about how easy it was and how nice it felt to just help someone out with their doubts or help debug somebody&#39;s code and make easy money out of it.&lt;/p&gt;
&lt;p&gt;So I decided to try it out. And he was right. It really is easy pocket money coming in on the side. I earned a little over my rent&#39;s money in about a month, helping people with their doubts about JavaScript, React, Redux, Typescript and CSS styling in my free time.&lt;/p&gt;
&lt;p&gt;I got to talk to a lot of people, ranging from different behaviours, cultures, hailing from different countries, with varied experience levels.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;A couple of super humble and eager to learn university students. What I learnt observing how they learnt was how aggresive they were towards getting their code working, not minding if they were doing things properly, or if they were handling edge cases or doing error handling upfront.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A person who had taken a project from someone and was seeking out help on it. Kinda like subletting.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A person in his mid 30s or early 40s. A mobile app developer, who had just inherited a React Redux web app code in a Create React App setup. He took notes by hand old school. I was able to help him get a general understanding of React and JavaScript ecosystem at large, and give him detailed suggestions as we walked through the codebase – surprisingly well written and commented. The amount of research, learning and follow up that he conveyed through chat messages afterwards was inspiring. He came up with smart doubts and questions and I loved resolving them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A bootcamp student, a woman, who was doing her last project assignment. React on frontend with a Ruby on Rails backend. She had trouble making sense of React state across components and React Router usage. She sounded polite but panicked. She had a southern US accent. It was the first time I&#39;d talked and listened to someone with one, outside of Hollywood movies. It was inspiring that she was seeking help. But by the sound of her voice I sensed that nobody until then had been able to explain to her some of the concepts that I did. When I asked her if I could help her run VS Code live share session because zoom&#39;s remote control was excruciatingly slow, she got worried that the live session will be live for anybody to see, which was sweet. But by the amount of tension she seemed to be was evident, even though she did a good job to cover it up with her naturally calming and polite voice. She asked me if I&#39;d be willing to help her learn JavaScript in a better way, since things got rushed, as they often do, in the bootcamp.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A machine learning veteran. Having sold a couple of technology companies in the US, he had decided to not start a new one and instead work with an existing company. Hailing from Malleshwaram in Bangalore, we bonded over having lived in the same city. He told me that he had gone to Kendra Vidyalaya there. He then went onto study in the US and eventually settled there. He was trying UI development with React for the first time, working on a personal project. Being the experienced person he is, he had already found a couple of hackish solutions, albeit wrong, to the problem he had approached on the platform for. When I helped him learn to resolve the problem in the most correct &#39;React-y&#39; way, he was elated. He gave me his number and email id and asked me to talk with him in case I&#39;d need a job in Bangalore anytime, with possibly the double income that I&#39;d have in mind. I was humbled and felt a little shy. I told him, I&#39;d definitely let him know when need be. I helped him once again with some layouting.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;From this experience I observed a very alarming fact – I had come across with all the people who had either started themselves out, or somebody else had started them out to learn web development in a way that might be misleading. I say that because I was started with learning web development the same way — through focussing too much on frameworks and not stressing more on the underlying foundations.&lt;/p&gt;
&lt;p&gt;The coming of a new bare bones React framework called &lt;a href=&quot;https://www.youtube.com/watch?v=4dOAFJUOi-s&amp;amp;ab_channel=Remix&quot;&gt;Remix&lt;/a&gt; felt surprisingly liberating, because using it, one would actually be forced to code in a way that takes care of progressive enhancement (an app would work fine end to end even without JavaScript with all the forms and things and what have you). Inspired by remix and Sarah Drasner&#39;s Github tagline&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Comprehension Over Configuration&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Over the next several weeks I&#39;m going to embark on the journey to read through the &lt;a href=&quot;https://github.com/GoogleChrome/web.dev&quot;&gt;web.dev&lt;/a&gt; codebase and share my learnings from there.&lt;/p&gt;
&lt;p&gt;Stay tuned!&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Creating An Outside Focus And Click Handler React Component</title>
		<link href="https://arihantverma.com/posts/2021/03/03/smashing-magazine-article/"/>
		<updated>2021-03-03T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/03/03/smashing-magazine-article/</id>
		<content type="html"></content>
	</entry>
	
	<entry>
		<title>The 💩 Incidents</title>
		<link href="https://arihantverma.com/posts/2021/02/14/valentines-day-potty-memories/"/>
		<updated>2021-02-14T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/02/14/valentines-day-potty-memories/</id>
		<content type="html">&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;Trigger Warning: 💩 grossness&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;when-the-water-in-the-toilet-mug-danced-on-a-sunday&quot; tabindex=&quot;-1&quot;&gt;When The Water In The Toilet Mug Danced On A Sunday &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/02/14/valentines-day-potty-memories/#when-the-water-in-the-toilet-mug-danced-on-a-sunday&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;6th grade. It had been 6 months that I had moved from Majra to Nahan, both an hour apart. Father had transferred, and I had to switch schools. On a lazy Sunday, with mother, father and brother not at home, I was in the house with my grandmother. I woke up late, went to the toilet on wobbly feet, sleep drunk. I sat on the toilet seat, afraid that mother would suddenly come home and find that I&#39;ve slept on the seat again. Lately it had become a frequent affair, leading to missing the school bus.&lt;/p&gt;
&lt;p&gt;I jolted back to wakefulness and pushed. It was one of the moments where trying to relieve bowel movements at a time off the usual, results in extra effort. I was accustomed to 6 in the morning. This Sunday it was 11am, and it was just not happening. Tired of all the pushing, I rested for a breath and happened to see the water mug on the right side.&lt;/p&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;For westerners reading this, you might not understand what a water mug was doing beside a toilet seat. We Indians also use water to clean off 💩 butt properly and wash hands afterwards.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The water inside the mug suddenly started shaking and throbbing, creating tiny ripples. I crunched my eyes and blinked them fast, thinking I might be dreaming. I started swaying left and right. I remember thinking,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Either I&#39;m still half asleep or I&#39;ve gone berserk.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I ruled out the chances that my mind might not be functioning properly having just woken up, by looking down at the pit of the toilet. The 💩 pieces were shaking as well.&lt;/p&gt;
&lt;p&gt;That&#39;s when my grandmother screamed at the top of her voice,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Arihant! EarthQuake! Come out now!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I got up without thinking, put my shorts up and rushed out.&lt;/p&gt;
&lt;p&gt;Grandmother pushed me to a wall corner under one of the dining table corners. After the tremors finished, I had to do more than the regular state of 🚽 affairs – wash my shorts and take a bath before brushing.&lt;/p&gt;
&lt;h2 id=&quot;when-i-danced-in-the-school-bus-coming-back-home.&quot; tabindex=&quot;-1&quot;&gt;When I Danced In The School Bus Coming Back Home. &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/02/14/valentines-day-potty-memories/#when-i-danced-in-the-school-bus-coming-back-home.&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In 5th grade, I had a friend in  6th grade. His name was Shivam. You know how all people have different quotients of different feminine traits in them? He was sensitive, caring and kind, unlike my hooligan classmates and carefree friends.&lt;/p&gt;
&lt;p&gt;Both of us lived in Majra. The school was in Paonta Sahib, 15 km away. At the end of the day, the buses first used to take rounds of the city, and then come back to pick us students who lived far. Just like any other day after the last class, we waited in the waiting room alloted to us for the year. My stomach rumbled and gurgled. I had read that when it made sounds, it wasn&#39;t a sign of hunger. I took it lightly.&lt;/p&gt;
&lt;p&gt;The bus came after about half an hour. We boarded. I sat at the last seat which accomodated at least 6 people if not more. The stomach rumbles had reached near the anal sphincter. It was difficult to control, and I didn&#39;t know what to do. As soon as the bus alighted some of the students, I stood up and held onto the hand rail atop me. I started moving my feet around to try to feel in control. On some stretches of the road it seemed to work, on some it didn&#39;t.&lt;/p&gt;
&lt;p&gt;Shivam was confused. He kept asking what was up. I kept telling I was tired of sitting. Other people threw a &lt;em&gt;what the heck are you doing&lt;/em&gt; look.&lt;/p&gt;
&lt;p&gt;I got down the bus at my stop and rushed home. Opened the door, flung the school bag on the floor, avoiding any concerned follow ups from the family members shouting,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ari, what happened?!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My mum followed me to the toilet. I lowered my school pants, then lowered the seat. Just when I was about to sit, I couldn&#39;t control it any longer. The anal sphincter sprayed liquid 💩 on the 🚽 and I sat on it.&lt;/p&gt;
&lt;p&gt;Happy Valentine&#39;s Day&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  💩
&lt;/div&gt;
</content>
	</entry>
	
	<entry>
		<title>When I Woke Up To ₹ 28,000 Bill From Google Cloud Not Knowing Why</title>
		<link href="https://arihantverma.com/posts/2021/02/10/when-a-pr-cost-me-28000-rupees/"/>
		<updated>2021-02-10T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/02/10/when-a-pr-cost-me-28000-rupees/</id>
		<content type="html">&lt;p&gt;Until recently, like many of us, the first thing I used to do in the morning would be to check my mobile phone. I realised that it was taking about 20 mins to half an hour of my morning time. So I stopped doing it and replaced it with keeping my eyes closed and meditating instead for 15-20 mins. But the incident I&#39;m going to tell you about happened when I still used to look up for my mobile phone first thing in the morning, in half asleep state, with one eye open and the other closed, hid behind the pillow contour.&lt;/p&gt;
&lt;div&gt;
&lt;picture&gt;&lt;source type=&quot;image/webp&quot; media=&quot;(max-width: 629px)&quot; srcset=&quot;https://arihantverma.com/images/HYvYBL4Boo-350.webp&quot; /&gt;
                      &lt;source type=&quot;image/webp&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/HYvYBL4Boo-808.webp&quot; /&gt;
                      &lt;source type=&quot;image/jpeg&quot; media=&quot;(max-width: 529px)&quot; srcset=&quot;https://arihantverma.com/images/HYvYBL4Boo-350.jpeg&quot; /&gt;
                      &lt;source type=&quot;image/jpeg&quot; media=&quot;(min-width: 630px)&quot; srcset=&quot;https://arihantverma.com/images/HYvYBL4Boo-808.jpeg&quot; /&gt;
        &lt;img loading=&quot;lazy&quot; alt=&quot;a woman half awake on bed with one eye open&quot; width=&quot;808&quot; height=&quot;539&quot; src=&quot;https://arihantverma.com/images/HYvYBL4Boo-350.jpeg&quot; /&gt;&lt;/picture&gt;
&lt;caption&gt;
  &lt;p class=&quot;font-size-base&quot; style=&quot;margin: 0.5rem 0;&quot;&gt;
    Caption: Photo by Markus Winkler on Unsplash
  &lt;/p&gt;
&lt;/caption&gt;
&lt;/div&gt;
&lt;p&gt;On 3rd September, 2020, I woke up to an automated email from Google Cloud Platform. First response – shock. It was a bill of $377. That amount meant a lot because I didn&#39;t earn much in INR, and it was a significant portion of my salary. Without even opening my Google Cloud console, I started a chat with Google Cloud support. In about a couple of hours, they told me in detail what I was billed for.&lt;/p&gt;
&lt;p&gt;I was billed for a Google Cloud project which had used Google Maps JavaScript APIs for over 2 months. I was so sure that I had done nothing wrong that I started telling this to the customer support over emails and chat messages. But they kept reiterating that my project had infact used Google Maps JavaScript APIs, for which I was charged.&lt;/p&gt;
&lt;p&gt;I worked for &lt;a href=&quot;https://goibibo.com/&quot;&gt;Goibibo&lt;/a&gt; at the time. Goibibo is one of the largest online travel agencies in India. Two months before this happened, I was working on the &lt;a href=&quot;https://www.goibibo.com/hotels/taj-bangalore-bengaluru-hotel-in-bengaluru-1045137713186360887/?hquery=%7B%22ci%22:%2220210212%22,%22co%22:%2220210213%22,%22r%22:%221-2-0%22,%22ibp%22:%22%22%7D&amp;amp;cc=IN&quot;&gt;hotels details page&lt;/a&gt;&#39;s Google Maps project — you know — to show the location of the hotel in the map, and all the points of interest around that hotel, and the ability to search for any location in reference to the hotel.&lt;/p&gt;
&lt;p&gt;I read a partiular line in one of the Google Cloud support communication emails:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Just a quick disclaimer, we cannot reveal domain information if the usage is from a domain outside of your authorized ones due to our privacy and security policy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And then it hit me.&lt;/p&gt;
&lt;p&gt;Goibibo&#39;s google cloud account didn&#39;t have &lt;code&gt;localhost&lt;/code&gt; added to their whitelist of allowed domains. So it was impossible to for me to develop locally. To avoid the round trip of having to find the required person, and request them to add localhost to the whitelist, and then start developing, I created a google cloud project from my personal account and started developing locally. I created an API key and enabled Google Maps JavaScript APIs against that key in my project. Here&#39;s how I kept both of the Goibibo&#39;s and my API keys in the code while developing:&lt;/p&gt;
&lt;pre class=&quot;language-javascript&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/* Only use this key for production, comment the one below */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// export const googleMapsApiKey = `&amp;lt;goibibo account&#39;s api key&gt;`;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;/*
&lt;span class=&quot;highlight-line&quot;&gt; * WARNING: Do not push the key to production. Is only meant&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt; * for development purposes only&lt;/span&gt;
 */&lt;/span&gt;
&lt;span class=&quot;highlight-line&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; googleMapsApiKey &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;my personal account&#39;s api key&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I frantically checked the code in the main branch to see if I had accidetally forgotten to follow my own advice. That was in fact the case, and I did a big:&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  🤦🏽‍♂️
&lt;/div&gt;
&lt;p&gt;I git blamed the file to find the pull request which had enabled this blunder. Then I sent its screenshot to both the google cloud support, apologizing for an honest mistaken, and to my team&#39;s slack channel to blare loudly at them for not having done a decent code review.&lt;/p&gt;
&lt;p&gt;I had also &lt;a href=&quot;https://www.youtube.com/watch?v=2_HZObVbe-g&amp;amp;feature=emb_title&amp;amp;ab_channel=GoogleMapsPlatform&quot;&gt;forgotten to restrict&lt;/a&gt; my personal account&#39;s API key to allow requests to Google Maps APIs from only &lt;code&gt;localhost&lt;/code&gt; domain.&lt;/p&gt;
&lt;p&gt;That meant that&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;2 months worth of Goibibo&#39;s Details Page traffic was charged against my personal account&#39;s project. Good thing that we had lazy loaded map, which meant that all the JavaScript and other files necessary to render google maps was loaded only when the user had scrolled down to the location section. It&#39;d have cost a lot more, if the resources loaded as soon as the details page loaded.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Had someone extracted that API key by watching the API request from browser developer tools, they could have potentially bombarded requests to Google Maps APIs billed against my personal account from any domain.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I didn&#39;t detect this blunder for a month, because for the first month, google had used the $100 free credit that I had gotten from somewhere. So in the first month&#39;s billed it showed &lt;code&gt;$0&lt;/code&gt;. It was only a month later that that month&#39;s $277 showed as amount charged on my credit card.&lt;/p&gt;
&lt;p&gt;On multiple requests the Google Cloud team refunded that amount after taking confirmations from me that I had read and now understood all the ways to restrict access of api keys, and to set billing alerts on google cloud projects. After giving multiple assurances and acknowledgements that I had indeed read up all the docs that taught how to do all these things, I found peace.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  🕊✌🏼☮️
&lt;/div&gt;
</content>
	</entry>
	
	<entry>
		<title>Thinking About Writing As A Means Of Livelihood</title>
		<link href="https://arihantverma.com/posts/2021/01/23/thinking-about-writing-as-means-of-livelihood/"/>
		<updated>2021-01-23T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/01/23/thinking-about-writing-as-means-of-livelihood/</id>
		<content type="html">&lt;h2 id=&quot;history&quot; tabindex=&quot;-1&quot;&gt;History &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/23/thinking-about-writing-as-means-of-livelihood/#history&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In May 2015, during the last days of college,  I kept expressing a wish which no body cared to reply or attend to. They had no reason to. I casually wished to my friends &lt;em&gt;I wish we had something of our own, some of us, so that we wouldn&#39;t have to go away from each other and these memories and friendship&lt;/em&gt;. Some of my batchmates ended up &lt;a href=&quot;http://fossbytes.com/&quot;&gt;doing their things&lt;/a&gt;. None of my close friends did. Ever since, I&#39;ve been dreaming to start something of my own.&lt;/p&gt;
&lt;p&gt;Thinking about starting something of one&#39;s own, &lt;a href=&quot;https://www.instagram.com/arjitraj_/&quot;&gt;Arjit Raj&lt;/a&gt; comes to mind. We were neighbours in final year of college in 2014-15. I remember our constant brain storming sessions. He was fondly called Andaman ( where his folks lived back then ). He was the topper of mechanical engineering batch. Always dreamt big. Right from the first year, he set targets, achievable goals. He&#39;d sleep at 9pm, get up at 4am, and work towards whatever he wanted to do.&lt;/p&gt;
&lt;p&gt;I remember in 2014, early on, as we entered our final year of engineering, he set a target to become a &lt;a href=&quot;https://www.quora.com/profile/Raj-Arjit&quot;&gt;Quora top writer&lt;/a&gt; by December. He did it by September. In 2nd year, he had a bad internship experience. He decided to do something about it so that no Indian student would ever have to face what he did. He started curating internship experiences on &lt;a href=&quot;http://internfeel.com/&quot;&gt;internfeel&lt;/a&gt;. He included me in his endeavour and for some time I edited and posted internship experiences on the wordpress website.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://udemy.com/user/arjit/&quot;&gt;He made udemy courses&lt;/a&gt; before it was cool and earned from them. He quit his first job out of college in about a couple of years and just started &lt;a href=&quot;https://www.instagram.com/spacetechie/&quot;&gt;making&lt;/a&gt; &lt;a href=&quot;https://www.kickstarter.com/projects/rajarjit/the-rocket-deck?ref=5bugvs&quot;&gt;stuff&lt;/a&gt;. Arjit always pampered me. I knew I didn&#39;t deserve his praise, but he still kept at it. I don&#39;t know what he initially saw in me. But he eventually decided to stop.&lt;/p&gt;
&lt;p&gt;We had a fallout when I promised re making &lt;a href=&quot;http://internfeel.com/&quot;&gt;internfeel.com&lt;/a&gt; from scratch but never did. He was the first person to call me out on my tendency to over commit and not deliver at a consistent rate. After that I never promised anybody anything I couldn&#39;t do for them. In fact, I almost stopped committing. I haven&#39;t talked with him in years. Now that I&#39;ve quit my job and have actively started a thought process to figure out ways of making a good living without being employed, only Arjit comes to the mind.&lt;/p&gt;
&lt;h2 id=&quot;scratch-to-quit-job&quot; tabindex=&quot;-1&quot;&gt;Scratch To Quit Job &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/23/thinking-about-writing-as-means-of-livelihood/#scratch-to-quit-job&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&#39;m not special to have urges to quit job. I&#39;m not even one of those people who have it hard with their bosses. Yet, I&#39;ve constantly felt the urge to quit. In the last 2.4 years, I&#39;ve had to have a staggering amount of commitment to not quit. I&#39;m glad I did, and I learnt a lot along the way. Most of all, I learnt a very important skill in life – how to keep at something you do not particularly enjoy doing, with a sense of responsibility, ownership and gratefulness.&lt;/p&gt;
&lt;p&gt;Though lesser salary has been a reason to constantly mull over if all the work that I was putting up was worth it, something bigger drove the urges to quit, more than getting paid less. To feel free is the simplest I can put it. If I can find ways to monetize the things I love to do, what better than that? That&#39;s what started to make me think a couple of months ago. Even if there&#39;d be an initial struggle, wouldn&#39;t long term benefits come more quickly?&lt;/p&gt;
&lt;p&gt;Ever since December last year, I&#39;ve established one thing – whatever I do, if I don&#39;t find ways to earn an income on my own by the side, I&#39;m going to keep having constant urges to quit. So this year I decided to start.&lt;/p&gt;
&lt;h2 id=&quot;taking-a-serious-look-at-writing&quot; tabindex=&quot;-1&quot;&gt;Taking A Serious Look At Writing &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/23/thinking-about-writing-as-means-of-livelihood/#taking-a-serious-look-at-writing&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I love to write. I write &lt;a href=&quot;https://arihantverma.com/posts/2021/01/14/changing-narration-voices-and-tenses/&quot;&gt;short stories&lt;/a&gt;, &lt;a href=&quot;https://arihantverma.com/writing&quot;&gt;poetry&lt;/a&gt;, &lt;a href=&quot;https://arihantverma.com/tags&quot;&gt;essays&lt;/a&gt; and technical articles about code gymnastics. But I never wrote consistently. So I made two goals for myself. I want to get paid writing two kinds of articles.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Writing for news / literary magazines.&lt;/li&gt;
&lt;li&gt;Writing for tech / coding magazines.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I want to write about stories and books that I read and hear. This way I&#39;ll get to read and listen more, and possibly get paid. Sounds really cool, doesn&#39;t it? I&#39;m going to make it possible, and document everything – failures and successes, as I do so.&lt;/p&gt;
&lt;p&gt;I want to write about the code that I read, because I want to read more code. So basically I&#39;m just playing deals with myself.&lt;/p&gt;
&lt;p&gt;I recently pitched an article to &lt;a href=&quot;https://www.smashingmagazine.com/&quot;&gt;Smashing Magazine&lt;/a&gt; and got accepted. They pay for each article you write. Getting paid to do something of my own is the best incentive for me there has ever been.&lt;/p&gt;
&lt;p&gt;Meanwhile, I&#39;m working hard to bring to life an idea I&#39;ve had for quite a while. That&#39;ll be the first ever end to end product I&#39;d have worked on :) In all honestly, apart from all the reasons for trying to make this product — having a sustainable passive income while I sleep being one of them — I&#39;m doing this to show it to Arjit, so that we could collaborate like we used to, but with me putting as much effort, life and vigour as he does.&lt;/p&gt;
&lt;p&gt;This year I only have one resolution — establish this cycle:&lt;/p&gt;
&lt;p&gt;make something self sustaining ➡️ earn through it ➡️ invest it back in learning ➡️ make something else with that learning ➡️ ∞&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Changing Narration Voices and Tenses ft. Margaret Atwood and Shinjini Kumar</title>
		<link href="https://arihantverma.com/posts/2021/01/14/changing-narration-voices-and-tenses/"/>
		<updated>2021-01-14T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/01/14/changing-narration-voices-and-tenses/</id>
		<content type="html">&lt;p&gt;Some months back I had a completely random thought&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We are done.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Just like this sentence popped out of nowhere, I thought it&#39;d be interesting to use it in a story where it&#39;s completely unexpected. The story — at least in this first draft — starts as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;We are done&amp;quot;, I hear someone say. I interrupt Litany singing PS2 in my ear pods. It feels like a dream broken.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you notice, I&#39;ve used &lt;a href=&quot;https://www.grammarly.com/blog/simple-present/&quot;&gt;simple present tense&lt;/a&gt;. It wasn&#39;t in the first shot that I decided to have it so. At first I started writing it in simple past and as a third person narrative:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;We are done&amp;quot;, Arindam heard someone say. He interrupted Litany singing PS2 in my ear pods. It felt like a dream broken.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After writing about 500 words, I felt that the narration was too impersonal and &lt;a href=&quot;https://www.google.com/search?q=insouciant+meaning&amp;amp;oq=insouciant+meaning&amp;amp;aqs=chrome.0.0i433i457j0l4j0i395l5.925j1j4&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&quot;&gt;insouciant&lt;/a&gt;. It was then that I decided to try to write it down in simple present and first person narration. Margaret Atwood talks about this.&lt;/p&gt;
&lt;p&gt;In her masterclass, there&#39;s a section called &lt;em&gt;Who Tells The Story Narrative Point of View?&lt;/em&gt; In it there&#39;s a subsection called &lt;em&gt;You Can Always Change Your Mind&lt;/em&gt;. In it she says the following.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How are you going to decide who&#39;s going to tell the story? Learn by doing. You pick a likely canditate and start off, and if that is not going well, maybe you need to reconsider. So if you started with a third person and it&#39;s not going well, try switching to the first person, vice versa. Maybe if that character isn&#39;t working out for you at all, maybe you want to come at it from a point of view from a different character. Maybe you&#39;ve chosen the wrong narrator. Writing &#39;The Blind Assasin&#39; I think I had to start over three or four times, because I had picked the wrong narrator. The first one that I had picked was a younger person telling the story of this older woman. Next came an attempt to approach her through two journalists who were interested in the novel written by her dead sister. However the two journalists started having an involvement which took over the story, and their&#39;s was not the story I was really interested in telling, so I got rid of them. And then I had the woman start telling her own story and that&#39;s when the novel really started to move. You know when things have started to move, because you start writing faster *giggles*.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then she &lt;a href=&quot;https://english.stackexchange.com/questions/416440/he-goes-on-to-say-or-he-goes-on-to-saying&quot;&gt;goes onto say&lt;/a&gt; that as a writer you&#39;ve got to decide how much the narrator knows. Does the narrator know more than the reader? Or less? Or equal?. It&#39;s going to be either of those arrangements. She gives the example of the novel Dracula, which has a narrator that knows less than the reader. One of the Agatha Christie&#39;s novels had a first person narrator, who knew more than the reader ( and the narrator turned out to be the murderer at the end ). In the end she says that it&#39;s always interesting to write the same event from multiple points of views and then decide which one(s) is(are) clicking.&lt;/p&gt;
&lt;p&gt;In my story, the reader knows as much as the narrator does at any given point. Things are happening to the narrator and he&#39;s talking about it. There are also stream of consciousness short monologues going on, which help to get to know the narrator better. The way I&#39;m able to keep my reader ( at the time of this writing, only me ) curious is by establishing some unknowns before every step of the narration.&lt;/p&gt;
&lt;p&gt;For example, the story itself starts with an unknown person telling the narrator  &lt;em&gt;&lt;span class=&quot;double-open-close-quote&quot;&gt;We Are Done&lt;/span&gt;&lt;/em&gt;. Narrator gets confused by it. He tries to find the person who&#39;s said these words, in pitch black darkness. It&#39;s snowing. That person reveals herself and a conversation ensues. At every step of the conversation, I plant more &lt;em&gt;known unknowns&lt;/em&gt;. It&#39;s thrown as much at the narrator as at the reader.&lt;/p&gt;
&lt;h2 id=&quot;a-small-excerpt-from-the-beginning-of-my-story&quot; tabindex=&quot;-1&quot;&gt;A small excerpt from the beginning of my story &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/14/changing-narration-voices-and-tenses/#a-small-excerpt-from-the-beginning-of-my-story&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;div style=&quot;background: var(--color-gray-90); padding: 10px 15px; border-radius: 20px; box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12);&quot;&gt;
“We are done”, I hear someone say.
&lt;p&gt;I interrupt Litany singing PS2 in my ear pods. It feels like a dream broken. A moment before, the consciousness experiencing senses without a body – the lyrics of the songs talking to me, as I tap my feet in the snow. The next moment, the saliva drooling on the pillow and riling up the beard – eyes open to the darkness around. An aftertaste of a pungent snack but nothing to kill or replace it with. I raise my head from the Spotify playlist which conveniently says ‘hmm…’. Next up, a song I haven&#39;t heard, of an unknown artist, unknown genre. Not anymore. Next up, a lamp in front of me.&lt;/p&gt;
&lt;p&gt;It’s pitch dark behind the street lamp, which is circumspect with a spherical white dome of light. &lt;em&gt;Mediocre&lt;/em&gt;, I think. It snowed an hour ago. I couldn’t have stayed inside, knowing I didn’t know when I’d be in the mountains next. Like always, running behind something fleeting. I hear footsteps from an invisible door from the back of the house I sit in front of and squint my eyes to look for the outline of the voice I just heard.&lt;/p&gt;
&lt;p&gt;“We are done, aren’t we?”&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id=&quot;a-story-i-read-recently&quot; tabindex=&quot;-1&quot;&gt;A Story I Read Recently &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/14/changing-narration-voices-and-tenses/#a-story-i-read-recently&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I recently read a lovely story by &lt;a href=&quot;https://twitter.com/shinjini9&quot;&gt;Shinjini&lt;/a&gt; in Sahitya Akademi&#39;s bi-monthly journal &lt;em&gt;Indian Literature&lt;/em&gt;. It&#39;s a first person, simple present narration. The narrator knows as much as the reader, like in my story. In the possible future blog post, I&#39;m going to try to run down the things that caught my eye in her story — &lt;em&gt;Family Values&lt;/em&gt; — as a writer. In it, Shinjini has shown sarcasm, conflict and contradiction without the need to explicitly write about it. She uses short sentences, sometimes even one word ones. They help keep the pace of the story decidedly fast.&lt;/p&gt;
&lt;p&gt;She was kind enough to share with me another story she&#39;s written, which has first person narration as well, and is available online.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/shinjini9/status/1348818664821121027&quot;&gt;Shinjini&#39;s story &#39;No Tomorrow&#39; Published In The Beacon Webzine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Shinjini has been a &lt;a href=&quot;https://www.linkedin.com/in/shinjini-kumar-5659ba10/?originalSubdomain=in&quot;&gt;Director with Price Waterhouse Coopers&lt;/a&gt; and has worked with Citigroup. &lt;a href=&quot;https://www.shethepeople.tv/news/citigroups-head-of-consumer-banking-in-india-shinjini-kumar-to-step-down/&quot;&gt;She&#39;s planning on starting her own startup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.indiamags.com/indian-literature-journal&quot;&gt;Indian Literature subscription is 500 Rupees for a year&lt;/a&gt; ( 6 editions ). This was the first time I read a whole edition, and I thoroughly enjoyed and learnt from it. You get everything — essays, research pieces, poetry, short stories, short stories in translation from a number of Indian dialets, book reviews and more.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Butterfly With A Third Wing; A Possibly Blind, Hypnotized or Drunk Pigeon; Memory Of An Old Friend</title>
		<link href="https://arihantverma.com/posts/2021/01/10/creatures-and-old-friend/"/>
		<updated>2021-01-10T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/01/10/creatures-and-old-friend/</id>
		<content type="html">&lt;h2 id=&quot;the-butterfly-with-a-third-wing&quot; tabindex=&quot;-1&quot;&gt;The Butterfly With A Third Wing &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/10/creatures-and-old-friend/#the-butterfly-with-a-third-wing&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Sitting down in the lawn of my father&#39;s government residence in Rohru, Himachal Pradesh, I was miles away from worries in the head, thanks to the listlessness that had grappled my senses. The setting sunlight hit my face. As I stood to walk the ennui off, I almost stepped over a butterfly sitting on a blade of golden dry winter grass. I casually sat down and saw a weird thing. It had three wings.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  🤯 😲
&lt;/div&gt;
&lt;p&gt;Not trusting my bird&#39;s eye view, I squatted comfortably, went closer and brought my hand to touch the third wing gently. It didn&#39;t budge. I poked it a little harder. Nothing. As I positioned my knees to crouch down and take a closer look, it flew away. I was happy that it wasn&#39;t dead. I was irritated because I couldn&#39;t see what that third wing was all about. It went onto mounting the kitchen window sill. I followed.&lt;/p&gt;
&lt;p&gt;I closed in on it again, and this time I could see for sure. It HAD a third wing. But the third wing wasn&#39;t fluttering, not even mildly swaying under the force of the air. Like it was paralysed.&lt;/p&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  😰
&lt;/div&gt;
&lt;p&gt;Cautious, but impatient, I gently squished the third wing between my index finger and thumb and pulled. The butterfly didn&#39;t care to squirm or try to pull out. I lifted it up, and it dangled in between my fingers in mid air, motionless. Afraid I might have killed it, I brought my face so close to it that my nose almost touched one of its other wings.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It wasn&#39;t a third wing. It was the whole male butterfly, with its wings closed, so much, they appeared as one wing, attached to the female butterfly, mating.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;font-size: 4rem; text-align: center;&quot;&gt;
  🙈
&lt;/div&gt;
&lt;p&gt;I googled and google threw at me&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If the female is interested she may join the male&#39;s dance. They will then mate by joining together end to end at their abdomens. During the mating process, when their bodies are joined, the male passes sperm to the female. As the eggs later pass through the female&#39;s egg-laying tube, they are fertilized by the sperm.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;the-blind-%2F-hypontized-%2F-drunk-pigeon&quot; tabindex=&quot;-1&quot;&gt;The Blind / Hypontized / Drunk Pigeon &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/10/creatures-and-old-friend/#the-blind-%2F-hypontized-%2F-drunk-pigeon&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A couple of days back a pigeon came inside our 7th floor balcony in Bangalore. I hadn&#39;t noticed, when our cook bhaiya called it out as he was just about to enter the kitchen to make dinner.&lt;/p&gt;
&lt;p&gt;I ran towards it to shoo it off, it didn&#39;t move. Surprised at the audacity of the beings which wander around cooing outside my room&#39;s windows all day long, and 💩 to their liking on the shelf outside of bathroom, I flourished a shoo gesture.&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;https://i.pinimg.com/564x/0a/8b/d6/0a8bd6f1639147c5000ae62d6bf708a0.jpg&quot; alt=&quot;batman slapping robin meme&quot; style=&quot;margin: 0 auto;&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;It didn&#39;t move an inch. I considered the possibility that it might be blind, or hypnotized. Or drunk. Or sad.&lt;/p&gt;
&lt;p&gt;I managed to walk it alongside me, and bring it to the balcony from which it had entered. I sat there for about 5 minutes and watched it walk to and fro. Like our physics professor in the first year used to, as he blabbered his lecture out. He looked like a slug. The ice age slug. One day, I struggled to contain my laugh thinking, that this is how I would walk like, if I had been denied access to the toilet for 3 hours at full pressure.&lt;/p&gt;
&lt;p&gt;And then, after 5 minutes, as if the pigeon was jolted back to reality, the pigeon fluttered its wings faster than I would relieve my bladder at full pressure and flew off.&lt;/p&gt;
&lt;h2 id=&quot;memory-of-an-old-friend&quot; tabindex=&quot;-1&quot;&gt;Memory Of An Old Friend &lt;a class=&quot;direct-link&quot; href=&quot;https://arihantverma.com/posts/2021/01/10/creatures-and-old-friend/#memory-of-an-old-friend&quot;&gt;🔗&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;post__note&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;a href=&quot;https://i.pinimg.com/564x/0a/8b/d6/0a8bd6f1639147c5000ae62d6bf708a0.jpg&quot;&gt;Song by the same name by Angus &amp;amp; Julia Stone&lt;/a&gt; for you to listen to, while you read the remaning text.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;When I had come back home from Kota, and was prepping in the last months of 12th grade, for engineering entrance exams, my mother would bring me nuts. Walnuts, almonds, pista and such. I&#39;d break small pieces of them and put them outside my first floor room, on the terrace floor. A squirrel had successfully made a routine of coming at one time, and nibbling at the nutties. As it did, I&#39;d take a break, and watch the sun sliding behind the mountains in front of me. After eating, the squirrel would be off to doing its chores, darting about on trees, kukking and twitching, and I&#39;d go back in my room and resume rote learning inorganic chemistry, or fearfully solving maths and physics questions. Not because I didn&#39;t like them, but because I had to study under deadline. Now that I think about it, I&#39;ve never mended relationships with deadlines. Unless self imposed for the tasks self assigned.&lt;/p&gt;
&lt;p&gt;That squirrel reminded me of the first tough transition of my life. My father had transferred to Solan from Nahan. I had got selected in St. Lukes, a top notch school in Solan. An introvert, I found it really hard to make friends there. I struggled with my grades as well. It came as a complete shock because I had never got bad grades in my life before.&lt;/p&gt;
&lt;p&gt;Father was posted inside Nauni University, an agriculture and horticulture research university, 13 kms away from the main city of Solan, where the school was. Since there were no residential apartments available inside the university, me, father and grandmother lived in a couple of PWD circuit house rooms. One afternoon, after lunching, I brought my hindi literature book out and sat on the common dining table. As the sun&#39;s setting rays warmed my face, and made me feel important, special and in limelight, I read a short story about a squirrel. I couldn&#39;t remember the name of the story, or who had written it, or its plot until I searched for it again. I just remember feeling awe and expanded after reading the story. The story was called &lt;em&gt;Gillu&lt;/em&gt; (गिल्लू) by Mahadevi Verma.&lt;/p&gt;
&lt;p&gt;During those tough 3 months — after which father got transferred back to Nahan — that story gave me a home to return to every evening after school. I read the story multiple times. It&#39;s probably the only piece of literature I&#39;ve read over and over again.&lt;/p&gt;
&lt;p&gt;There was one person who was my seat mate and eased my anxiety out by just being who she was. Her name&#39;s Parul and I see her Instagram pictures, wondering how she&#39;d have grown up after I transferred. I remember learning the word &lt;em&gt;inculcate&lt;/em&gt; from her, as she and Rimjhim brain stormed a speech for some upcoming occasion that was to be celebrated in the school.&lt;/p&gt;
</content>
	</entry>
	
	<entry>
		<title>Being Useful ft. A Hungry Bird And Being Truthful To Myself</title>
		<link href="https://arihantverma.com/posts/2021/01/03/being-useful-ft-hungry-bird-and-being-truthful-to-myself/"/>
		<updated>2021-01-03T00:00:00Z</updated>
		<id>https://arihantverma.com/posts/2021/01/03/being-useful-ft-hungry-bird-and-being-truthful-to-myself/</id>
		<content type="html">&lt;p&gt;Last 6 months have been tougher than I had thought would be. It still feels unreal. Everything actually. Sometimes I have these bouts of blankness. I see something, or I just sit back and look around and feel…blank. The answers to questions &lt;em&gt;why am I doing what I am doing&lt;/em&gt; and &lt;em&gt;what&#39;s the point of all this&lt;/em&gt; are still elusive in a way that makes me answer dull, sometimes frustrating &lt;em&gt;I don&#39;t know&lt;/em&gt; and &lt;em&gt;nothing&lt;/em&gt; respectively. The same two answers can be wonderful &lt;em&gt;I don&#39;t know!&lt;/em&gt; and &lt;em&gt;nothing! :)&lt;/em&gt;, but they come and go, thanks to the energy sucker that was 2020 and which continues to cast its shadown on 2021.&lt;/p&gt;
&lt;p&gt;In the last days of 2020, it snowed in &lt;a href=&quot;https://www.google.co.in/maps/place/Rohru,+Himachal+Pradesh+171207/@31.2028219,77.7477443,16z/data=!3m1!4b1!4m5!3m4!1s0x3905faa9597cfd4d:0x1e8b0e09f860e6f8!8m2!3d31.2045526!4d77.7523608&quot;&gt;Rohru&lt;/a&gt;. It was an overcast day, with white all around, mountains&#39; tops and contours covered. An audacious bird came fluttering on the terrace&#39;s railing, then flitted onto the terrace floor and started finding and picking things to eat. She mostly got tiny sludges of ice mixed with dirt, and she dropped them as soon as she picked them up. The way she was searching, I knew she was hungry. My mum had made early dinner, we&#39;d had a heavy brunch. I picked vegetables and cottage cheeze out of my sandwich and slowly opened my room&#39;s door to trudge on the terrace. I thought if I was not slow, the bird might fly off. To my surprise she didn&#39;t. In fact, she keenly kept her eye on me and I put her food on the railing. As soon as I went back she ate it all with relish.&lt;/p&gt;
&lt;p&gt;As I looked at her from the glass window, eating to her fullest, I cried. I hadn&#39;t been useful in such a long period of time, that it felt really nice to be able to be of service. It&#39;s the answer I want to every &lt;em&gt;why am I doing what I am doing&lt;/em&gt;. In preparation to fly off, she did something which made me guffaw. Using the narrow rectangular top surface of the railing, she swiped her beak clean like we do with a tissue. And she flew away.&lt;/p&gt;
&lt;p&gt;I ran to my mother like a child to tell her all about the bird.&lt;/p&gt;
&lt;p&gt;As I sat that night, I reflected on how I&#39;ve always found subtle ways to complain about things, rather than stepping up to be a part of the solution. I read Sarah Drasner&#39;s &lt;a href=&quot;https://sarahdrasnerdesign.com/blog/reflections-on-2020&quot;&gt;Reflections on 2020&lt;/a&gt;. She coded and worked despite her husband battling with cancer, the conundrum to decide if they should tell that to their children, and having a constant battle of clash of opinions with the birth mother of their children. After I read the blog post, I put my hands on my face in utter disbelief. I thought to myself &lt;em&gt;&lt;span class=&quot;double-open-close-quote&quot;&gt;and you complain about the smallest things in the world, don&#39;t you feel ashamed?&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;That night I decided that I&#39;d be more truthful with myself. For me, that meant being more specific about finding words to describe answers to some of the questions like &lt;em&gt;what do I want?&lt;/em&gt;, &lt;em&gt;what do I want to do in the next hour, the day?&lt;/em&gt;, and to have precise words for the reason for feeling a particular way. Writing helps to introspect, learn from retrospect and plan.&lt;/p&gt;
&lt;p&gt;I&#39;ve acted on my feelings more than I ever acknowledged. To battle that I started keeping a journal. Every time I have to decide something substantial or reason about feelings, I write down as specific words about them as possible. I wrote pros and cons about leaving the job. I wrote why I wanted to go back to Bangalore, especially when I&#39;d be unemployed and have to pay rent out of meagre savings. Writing down specific things helps me to be truthful to myself. It has been working so far. Let&#39;s hope it shows results as well. Desperately needed results.&lt;/p&gt;
</content>
	</entry>
</feed>
