Arpit BatraThe personal website of Arpit Batra, a software developer and hobbyist writer.2024-03-10T07:44:22Zhttps://arpit.tkArpit Batraarpitbatra123@gmail.comComputer Shenanigans2017-11-26T00:00:00Zhttps://arpit.tk/posts/computer-shenanigans/<p>I’m trying to write something again after a long time. Exams are going on and the last few exams weren’t that great. I will barely manage to pass. But That is nothing new. I can’t seem to drag my ass to study. So Unless the Sun starts rising in the west or something, “Hope I pass” will be my words after every exam.</p>
<p>I had decided to study today. But That Never Happened. Out of the blue, I decided I will hack a certain website. Now I am no hacker or anything. I am just a very curious and enthusiastic person when I’m doing something that I am very passionate about. So I started. I tried to find vulnerabilities that the site was exposed to. Luckily I found one remote code execution vulnerability which in layman’s language means that if I am successful in exploiting the vulnerability then I can make any desired changes to the website. Some more google-fu and I found a ready-made exploit. I followed all the instructions and executed it while constantly having chills flow through my spine.</p>
<blockquote>
<p>But Apparently, Life is not that easy.</p>
</blockquote>
<p>The exploit only worked half way. Later on, I realized My Script Kiddie Idiot Mind Had made a simple mistake.I tried again. A few hours had already passed and amidst all this, I even forgot that I was hungry. My attempts were failing so I thought I’d Better eat something and then get back at it. So after eating I was back at it. By this time I had realized that I could not hack this site Unless I tried to enter through the Front Door that is Trying to guess Some passwords. Half an hour later, It didn’t work either.</p>
<blockquote>
<p>The Sun Had Fallen.</p>
</blockquote>
<p>I decided to do a vulnerability assessment of every service that the website ran on. A few hours and hundreds of failed attempts later, I shut down my laptop in vain.</p>
<p>I guess I wasted another day instead of studying.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Computer Shenanigans
'>Reply via email</a> </p>
30 days of running2018-02-17T00:00:00Zhttps://arpit.tk/posts/running-challenge/<p><a href="https://arpit.tk/assets/images/running-challenge.jpeg"><img src="https://arpit.tk/assets/images/running-challenge.jpeg" alt="" loading="lazy" /></a></p>
<p>A month of 2018 had passed. It was the first day of February. January had passed like a bullet train. That is the thing about time, you think you have control over it, that you’ll remember moments as they pass but always remember, that life will pass right in front of your eyes and you wouldn’t have a clue.</p>
<p>Like every year, I too had made resolutions. Every year, I had forgotten that they even existed after a month. But This year I thought things would be different. This year, I wanted to turn my life around. Last year was not easy at all, it was an emotional roller coaster except that the only place that roller coaster went was down. So this year had to be different if I wanted to be happy.</p>
<p>But, as you might have inferred about now, none of that had happened. I was depressed. How could this have happened?</p>
<p>On 1st February, I decided to turn my life around.</p>
<p>I had been very lazy during the whole of the winter. Some days, I didn’t even see the sun until it was well past noon.</p>
<p>So that was the first thing that I decided to change.</p>
<p>I decided to run daily in the morning for 30 days.</p>
<p>I am not a very healthy person, I am very lean and underweight and that does not make me very comfortable with my own body. Nevertheless, I enjoy running. Now for a person like me who’s already too skinny, Running might not seem like a very good idea.</p>
<p>But, being comfortable in your skin is all in your head. If you do what you want to do, you become what you want to become.</p>
<p>The world is not your problem. You are your problem and you are the solution too.</p>
<p>Damn, I wrote soo much. Usually, I can’t write much but on some days I’m on fire. Hold On! Let me Fist Bump Myself.</p>
<p>Ah, so we were talking about how I decided to run for 30 days.</p>
<p>Now Since it is a well-established fact that I was a very lazy person, I usually slept late at night. Mind you, I am not a night owl by any means. I mean, I never stay up late until 12. But the problem is, like other people I can’t fall asleep immediately after lying down. I require a fair 30 -50 minutes before I fall asleep. And then I wake up late and am almost always late for college.</p>
<p>So, enough of my life story, let’s get back to the topic.</p>
<p>Now, to go running I had to wake up early. And to wake up early I had to go to bed early. Simple Logic. Right?</p>
<p>But, my body was not used to going to sleep that early. Nevertheless, one day while researching insomnia on google, I read an article that stated that to reset your sleep cycle, you have to force your body to fall asleep. And Boy, did I force my body to sleep that night.</p>
<p>I wake up at the right time the next day and went running.</p>
<blockquote>
<p>And the rest is… History?</p>
</blockquote>
<p>Well, Technically It’s not History Yet as It’s Only the 17th of February and Sleep won over Determination on at least 3 days since I started this challenge. But I’m sure I will be able to complete this challenge By the starting week of March.</p>
<p>I run approximately 2 kilometers every day and after running 1 kilometer, I take many ugly selfies. I shall be compiling these selfies into a small video when I will be able to complete the challenge.</p>
<p>The one main important thing I’ve learned from undertaking this challenge until is that whenever you’re chasing your goals, there will be two kinds of the days, the first kind will be the days on which you’ll be full of energy and enthusiasm, you’ll wake up motivated and then you’ll strive towards conquering your goals. The second kind of day will be the day when you’ll be tired and have zero enthusiasm. You will tell yourself a thousand excuses why you shouldn’t do what you’re about to.</p>
<p>It is on these days that you have to conquer your fears, you have to stop your brain from making lame excuses. say to yourself, I will wake up, and I will be hustling through the day and will walk towards the path to success.</p>
<blockquote>
<p>It is the second kind of day that will either break you, Or Make you.</p>
</blockquote>
<p>Mic drop…</p>
<p>Update: 14 March 2018 After writing this very motivational blog, I started slacking. I had exams after that and I couldn’t keep up with this goal. However, now that the exams are over, I plan to start this challenge again. I know that the completion of this challenge is long overdue and therefore I plan to complete it as soon as possible so I can then set new goals and start new challenges.</p>
<p>(Although nobody ever reads my blogs but still) Wish me luck!</p>
<p><a href="https://arpit.tk/assets/images/running-challenge.gif"><img src="https://arpit.tk/assets/images/running-challenge.gif" alt="" loading="lazy" /></a></p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: 30 days of running
'>Reply via email</a> </p>
A Piece Of Your Heart2018-12-27T00:00:00Zhttps://arpit.tk/posts/a-piece-of-your-heart/<p>Another sleepless night! What’s the reason today? Well as soon as I close my eyes, she pops up. And then she smiles. But Alas! In my half-asleep state, I realize that this heavenly smile is not for me. Feeling dejected, I open my eyes and stare into the blankness of the walls. There is she again, laughing at my lame jokes as her eyes light up with joy. But again, Those eyes no longer shine joy upon my heart. It’s been a while since she told me that the feelings are not mutual. I am a rational person. I know how to move on. Why is my heart playing this game with me then?</p>
<p>Maybe in these lines, I’m pouring my heart out to let go of these feelings.<br />
I feel a little empty right now but maybe some things are meant to be lost. She might be gone but not without making me realize that my heart is still capable of love.</p>
<p>I’ve stopped reading her horoscope before mine. Maybe I have moved on and this is a way of acknowledging it to myself.</p>
<p>Anyways without wandering over to dreamland, I’ll conclude this small piece of writing.</p>
<h2>The thing about love is that, love does not go without taking a piece of your heart along</h2>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: A Piece Of Your Heart
'>Reply via email</a> </p>
मंज़िल2018-12-27T00:00:00Zhttps://arpit.tk/posts/anjaan-raho/<p>अनजान राहों पर चले जा रहे हैं,<br />
और मंज़िल का पता नहीं<br />
जीवन-भर के वादे कर बैठे हैं<br />
लेकिन क्या हो जाये कल का पता नहीं</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: मंज़िल
'>Reply via email</a> </p>
Feeling Grateful2019-05-26T00:00:00Zhttps://arpit.tk/posts/feeling-grateful/<p>I very recently switched jobs. I did it because I wanted to explore different technologies and also wanted a better salary. Now, settling into a new workplace is never easy. I’ve struggled with numerous issues including finding a new place to live and adjusting to living alone, trying to make new friends and above all trying to learn new technologies needed for my job.</p>
<p>Somewhere around struggling and badly failing at all this, I wanted to leave everything and run away to home because apparently the pressure was too high to bear for me. I tried to remain positive but failed.</p>
<p>Today in the morning I saw a video of a 63 year old guy who was selling ice cream on the street. The video was an advertisement for some company I don’t remember but in that advertisement the old guy told his story of how his son had died in a very young age and has left two granddaughters of his behind. The 63 year old guy was working hard at such a young age so that his granddaughters’ future could be bright. His job is physically tiring. He is a roadside seller and he must only be able to make ends meet somehow.</p>
<p>That video taught me two things:</p>
<ul>
<li>Always be grateful of what you have</li>
<li>Never lose hope. You might have options to get back to your comfort zone but think of those who don’t and have to keep going on.</li>
</ul>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Feeling Grateful
'>Reply via email</a> </p>
A Hospital is a strange place2019-09-23T00:00:00Zhttps://arpit.tk/posts/hospital-poem/<p>a hospital is a strange place,<br />
the epitome of human suffering.<br />
corridors as busy as a bazaar,<br />
the chaos is maddening.</p>
<p>A metal detector continuously beeps at a distance,<br />
but people’s minds are elsewhere, the noise not distracting.<br />
Faces are filled with concern and worry<br />
and the air, with the bitter smell of medicines.</p>
<p>Ailing old people tell me the poets are right,<br />
our dreams are big but alas! life is finite.<br />
Oh! How lucky are the kids accompanying their parents,<br />
unaware of pain, their buffoonery fills the room with short-lived joy,</p>
<p>What are we in the hands of fate?<br />
nothing but a mere toy.<br />
Two nurses move a stretcher with an old lady around<br />
Her lifeless eyes stare blankly into nothingness,<br />
her ride’s bumpy, but she does not make a sound.</p>
<p>A lady prays to a deity in the main corridor<br />
I say to myself, Maybe god can’t save us,<br />
but God can give us hope.</p>
<p>Far away at the emergency registration counter,<br />
a man counts money with worry on his face.<br />
We have to buy back life with money,</p>
<h2>a hospital is a strange place</h2>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: A Hospital is a strange place
'>Reply via email</a> </p>
बरसात2019-10-02T00:00:00Zhttps://arpit.tk/posts/barsaat/<p><a href="https://arpit.tk/assets/images/rainy-road.jpg"><img src="https://arpit.tk/assets/images/rainy-road.jpg" alt="" loading="lazy" /></a></p>
<p>फिर बरसात आ गई है,<br />
फिर गरीब के आँगन का चूल्हा बुझ गया है.</p>
<p>फिर बरसात आ गई है,<br />
फिर तुम्हारी यादो का दिया जल गया है.</p>
<p>गरीब सोचता होगा,<br />
ना जाने बरसात कब जाएगी</p>
<p>मैं सोचता हूँ,<br />
ना जाने तुम कब आओगी</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: बरसात
'>Reply via email</a> </p>
Inspo(ration)2019-12-07T00:00:00Zhttps://arpit.tk/posts/inspo/<p>Inspired by <a href="https://torvim.github.io/">torvim’s</a> big ass inspo zip, <a href="https://inspo-arpit.vercel.app/">here’s</a> my small ass inspo collection.</p>
<p>The source code is available on <a href="https://github.com/arpitbatra123/inspo-arpit">github</a> in case you wanna have a peek.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Inspo(ration)
'>Reply via email</a> </p>
Lyrics That Go Beyond Words2019-12-08T00:00:00Zhttps://arpit.tk/posts/lyrics-that-go-beyond-words/<blockquote>
<p>tl:dr</p>
</blockquote>
<p><a href="https://open.spotify.com/playlist/53EwdQFx9sh6boC36Ktm1l?si=jJ3rDJFeRtmoooCqiII6kA">Here’s</a> a Spotify playlist with songs that I think have really meaningful lyrics.</p>
<blockquote>
<p>end tl:dr</p>
</blockquote>
<p>I listen to a lot of different genres of music but songs that have meaningful lyrics are the ones I connect to the most. This post is a collection of sorts of the song lyrics I felt a connect with as they remain relevant long after the music fades down. I’ve also attempted to translate some of the non-english lyrics to english while trying to maintain their sanctity.</p>
<p><strong>💡 Tip : You can click on any lyrics title to listen to the song on Youtube.</strong></p>
<h2><a href="https://www.youtube.com/watch?v=OlvXDGJAMT0">मेरा कुछ सामान</a></h2>
<p>एक अकेली छत्री में जब आधे आधे भीग रहे थे<br />
आधे सूखे, आधे गिले,<br />
सुखा तो मैं ले आयी थी<br />
गिला मन शायद, बिस्तर के पास पडा हो<br />
वो भिजवा दो,<br />
मेरा वो सामान लौटा दो</p>
<p>In the magical mellow voice of Asha Bhosle, This song is a lyrical marvel by Gulzaar.</p>
<h2><a href="https://www.youtube.com/watch?v=sW1ZJNVAc-Q">Inside of love</a></h2>
<p>I wanna know what it’s like on the inside of love.<br />
I’m standing at the gates,<br />
I see the beauty above</p>
<p>I first heard this song on the TV show HIMYM, and could not get the lyrics out of my mind. They hit too deep. This song got me through (or put me in?) some tough time in matters pertaining to love.</p>
<h2><a href="https://www.youtube.com/watch?v=L_EVAdvxJcU">इक बगल में चाँद होगा</a></h2>
<p>होनी और अनहोनी की परवाह किसे है मेरी जान,<br />
हद से ज्यादा ये ही होगा कि यहीं मर जायेंगे,<br />
हम मौत को सपना बता कर उठ खड़े होंगे यहीं,<br />
और होनी को ठेंगा दिखाकर खिलखिलाते जायेंगे,<br />
और होनी को ठेंगा दिखाकर खिलखिलाते जायेंगे.</p>
<p>Darling, who cares about what will be our fate,<br />
Death could be the worst thing to get to me.<br />
We’ll say that death was but a dream, and laugh at our fate,<br />
and laugh at our fate.</p>
<h2><a href="https://www.youtube.com/watch?v=DR0S-ocAmvo">अनकही</a></h2>
<p>क्या कभी बहार भी, पेशगी लाती है?<br />
आने वाले पतझड़ की<br />
बारिशें नाराज़गी भी जता जाती है<br />
कभी कभी अम्बर की<br />
पत्तें जो शाखों से टूटे<br />
बेवजह तो नहीं रूठे, हैं सभी<br />
सदियों पुरानी ऐसी इक कहानी रह गयी,<br />
रह गयी अनकही</p>
<p>Does the spring ever signify oncoming autumn?<br />
Or the rains of the anger of the sky?<br />
The leaves that have fallen from the tree, must have parted from it for a reason!<br />
An age-old story like this is left unsaid.</p>
<h2><a href="https://www.youtube.com/watch?v=mIDWsTwstgs">Sea of dreams</a></h2>
<p>You’ll find me In a sea of dreams<br />
Where no one cares about my words</p>
<p>I heard this song on the TV show <strong>Bojack Horseman</strong>. Upon listening to this song, I was engulfed in a weird cloud of loneliness.</p>
<h2><a href="https://www.youtube.com/watch?v=HoJtuk_k3EA">Tunnels</a></h2>
<p>Birthright’s a trouble, my father dug too<br />
He got where he was going at the age of 62</p>
<blockquote>
<p>When will you get to where you are going?</p>
</blockquote>
<p>I heard this one on the TV show Detectorists and loved these lines too much. Thanks to my friend <a href="https://danishpraka.sh/">Danish</a> for recommending this TV show to me as it truly is a gem.</p>
<h2><a href="https://www.youtube.com/watch?v=YpnWnpfJVq4">Life moves on</a></h2>
<p>Life moves on<br />
The way life does<br />
But some things are prettier<br />
The way life was<br />
Don’t you sometimes wish some things in life stay as they were?</p>
<h2><a href="https://www.youtube.com/watch?v=M9YGUkKphsg">ज़िन्दगी प्यार का गीत है</a></h2>
<p>ज़िन्दगी प्यार का गीत है<br />
इसे हर दिल को गाना पड़ेगा<br />
ज़िन्दगी ग़म का सागर भी है<br />
हँस के उस पार जाना पड़ेगा</p>
<p>Life is a song of love,<br />
Every heart has to sing this song.<br />
Life is also an ocean of sorrow,<br />
still, we have to cross it with a smile on our faces.</p>
<h2><a href="https://www.youtube.com/watch?v=KFwjibi-JRU">कहीं तो होगी वो</a></h2>
<p>जाने ना कहाँ वो दुनिया है,<br />
जाने ना वो है भी या नही,<br />
जहाँ मेरी ज़िन्दगी मुझसे,<br />
इतनी खफ़ा नही</p>
<h2><a href="https://www.youtube.com/watch?v=AMRGmAh2NTk">Najeek</a></h2>
<p>तिम्रो आत्मा थाम्ने कसम कसरी दिऊ म जब<br />
आफ्नै आत्मालाई चिनेको छुइन?<br />
आफ्नै छायांसंग भागी दौडदैछु म, भन<br />
तिम्रो छायांको जिम्मा कसरी लिनु म?<br />
संसार छाडिहिड्ने बांचा नदेऊन<br />
शुरुशुरुमा त यस्तै त हो नि<br />
जीन्दगानीको रीतहरुले यसैउसै हामीलाई अल्झाउने नै हो</p>
<p>काश हाम्रो भेट केही<br />
सालअगाडि हुन्थ्यो<br />
या काश हाम्रो भेट केही<br />
सालपछाडि हुन्थ्यो<br />
समय सही हुन्थ्यो<br />
राजै, मौसम बेग्लै हुन्थ्यो<br />
तर, आज हैन नजिक नआऊन</p>
<blockquote>
<p>I don’t understand Nepali, the language the song is written in, so the below translation is collected from various sources on the internet</p>
</blockquote>
<p>I run from my shadows.<br />
Tell me, How can I be responsible for your shadows?<br />
Don’t promise of leaving the world of me.<br />
It’s like this in the beginning<br />
But, life will eventually catch up to us</p>
<p>I wish we’d met a few years ago,<br />
or I wish we would meet a few years hence.<br />
The time would’ve been right.<br />
The weather, different<br />
But not today, no, don’t come close</p>
<h2><a href="https://www.youtube.com/watch?v=XGsx6Yi7a_Y">ज़िंदगी का सफ़र</a></h2>
<p>ऐसे जीवन भी हैं जो जिए ही नहीं<br />
जिनको जीने से पहले ही मौत आ गयी</p>
<p>There are lives which I have not yet lived,<br />
Death reached me before I could start living them.</p>
<h2><a href="https://www.youtube.com/watch?v=BmYT79bYIQw">कहीं दूर जब दिन ढल जाए</a></h2>
<p>कहीं तो ये, दिल कभी, मिल नहीं पाते<br />
कहीं से निकल आए, जनमों के नाते</p>
<p>Somewhere we find it impossible to form loving connections<br />
and Sometimes, without significant effort, we form bonds that could last forever</p>
<h2><a href="https://www.youtube.com/watch?v=SY1V0Y7hscw">Empty</a></h2>
<p>I never learned to count my blessings<br />
I choose instead to dwell<br />
In my disasters</p>
<p>Don’t do what the singer did!</p>
<h2><a href="https://www.youtube.com/watch?v=bk7UHL4OJpg">Maybe Katie</a></h2>
<p>Do you know everyone you ever swore you’d love for life?<br />
I don’t know them anymore<br />
I know their names, I’d recognize them on the street<br />
And I don’t love them</p>
<p>These lines of the song deeply resonate with me and make me realize how we let a lot of good things get away by thinking too hard about them. What we don’t realize is that the things we’re stressing ourselves over today, won’t even matter a few years down the line.</p>
<h2><a href="https://www.youtube.com/watch?v=VEpMj-tqixs">Youth</a></h2>
<p>And if you’re still breathing, you’re the lucky ones<br />
'Cause most of us are heaving through corrupted lungs<br />
Setting fire to our insides for fun<br />
Collecting names of the lovers that went wrong<br />
The lovers that went wrong</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Lyrics That Go Beyond Words
'>Reply via email</a> </p>
Replacing lodash.get with Nullish Coalescing and Optional Chaining2019-12-15T00:00:00Zhttps://arpit.tk/posts/lodash-new-js/<p><a href="https://lodash.com/">lodash</a> is a popular javascript library with a set of utilities. One of the utilities that lodash provides is the <a href="https://lodash.com/docs/4.17.15#get">get</a> function which, as the name suggests is used to get a value from an object. Let us see an example:</p>
<p>Suppose there is an object:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">let</span> response <span class="token operator">=</span> <span class="token punctuation">{</span>
<span class="token literal-property property">data</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">options</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">'Bojack'</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span></code></pre>
<p>Now if you wanted to get the <code>name</code> from the above object, you would typically do it like this:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> response<span class="token punctuation">.</span>data<span class="token punctuation">.</span>options<span class="token punctuation">.</span>name<span class="token punctuation">;</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>name<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>And this will work and output the name <code>Bojack</code>. No Worries, Right?</p>
<p>Well, for the most part, it is. Let me explain. Say, for example, this object is a response from an API and because the coding gods are angry on you, the object has a structure different from what you think it will be. The key <code>options</code> in the <code>data</code> object is now called <code>user_options</code> and the code you’ve written does not account for that. Now if you run the code to get the value of name this is what will happen:</p>
<p>Since <code>data.options</code> is <code>undefined</code> and you are trying to access the <code>name</code> property of <code>undefined</code>, you end up with a <code>TypeError</code>.</p>
<p>To make sure you do not end up in such a situation, you have to put up safety checks in your code. For example, we can do something like this:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> <span class="token punctuation">(</span>response<span class="token punctuation">.</span>data <span class="token operator">&&</span> response<span class="token punctuation">.</span>data<span class="token punctuation">.</span>options <span class="token operator">&&</span> response<span class="token punctuation">.</span>data<span class="token punctuation">.</span>options<span class="token punctuation">.</span>name<span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token string">'Todd'</span><span class="token punctuation">;</span></code></pre>
<p>This will make sure that if at any level of the object, the property you are trying to access is <code>undefined</code>, you do not try to access properties further down the chain and thus, do not end up with a <code>TypeError</code>. Also, if the property we are trying to access is undefined, <code>Todd</code> gets assigned to the name which kind of acts as a fallback value.</p>
<p>However, as you can see in the code, for large objects, the above code segment can be very cumbersome to write.</p>
<blockquote>
<p>Enter lodash.</p>
</blockquote>
<p>The lodash <code>get</code> function lets you easily implement safe checks while getting data from objects. If we use lodash for the above example, we can do it like this:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> _<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>response<span class="token punctuation">,</span> <span class="token string">'data.options.name'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>This will make sure that you do not end up with errors and also don’t have to write complex accessor chains like in the example before this one.</p>
<p>Another beauty of the lodash <code>get</code> function is that you can specify an optional 3rd argument which is the default value to return when the property you are trying to access is falsy. For example,</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> _<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>response<span class="token punctuation">,</span> <span class="token string">'data.options.name'</span><span class="token punctuation">,</span> <span class="token string">'Todd'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>will return Todd if the <code>options</code> key on <code>data</code> does not exist.</p>
<p>So we solved both of the problems we ran into while writing property accessors.</p>
<p>Win-Win right?</p>
<p>Well, not exactly. lodash is essentially a 3rd party dependency and you must have heard the saying <code>mo dependencies, mo problems</code>. Some of these problems include increased bundle size and the responsibility of keeping dependencies up to date.</p>
<p>However, there seems to be a solution coming up in javascript itself. There have been two proposals to add the following two features to the language itself - <a href="https://v8.dev/features/optional-chaining">optional chaining</a> and <a href="https://v8.dev/features/nullish-coalescing">nullish coalescing</a>.</p>
<p>Let us see how these language features can help us in replacing lodash with native javascript.</p>
<h2>Optional Chaining</h2>
<p>As also shown above, this is how you would safely access the <code>name</code> property from the response object.</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> _<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>response<span class="token punctuation">,</span> <span class="token string">'data.options.name'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
<p>This is how you can do it without lodash by using optional chaining:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> response<span class="token operator">?.</span>data<span class="token operator">?.</span>options<span class="token operator">?.</span>name<span class="token punctuation">;</span></code></pre>
<p>The above statement behaves similar to how our code with a lot of <code>&&</code> safe checks would behave, but looks a lot cleaner!</p>
<h2>Nullish Coalescing</h2>
<p>So we now have safety checks in property accessors, but what about default values? If I am unable to find the name property, I want to assign the name <code>Todd</code> to the <code>name</code> variable.</p>
<p>Here is how you can do it by using nullish coalescing:</p>
<pre class="language-js"><code class="language-js"><span class="token keyword">const</span> name <span class="token operator">=</span> response<span class="token operator">?.</span>data<span class="token operator">?.</span>options<span class="token operator">?.</span>name <span class="token operator">??</span> <span class="token string">'Todd'</span><span class="token punctuation">;</span></code></pre>
<p>In the above statement, we combined the use of <em>optional chaining</em> and <em>nullish coalescing</em> to achieve the same result that we were getting by using lodash or making the use of <code>&&</code> and <code>||</code> operators. If I am unable to access the property <code>name</code> from the <code>response</code> object, due to optional chaining, the name will have the default property <code>Todd</code> thanks to nullish coalescing.</p>
<p><strong>So can I go ahead and replace <code>lodash.get</code> in my app?</strong></p>
<p>Sure, but first check out the browser support for the respective features <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator#Browser_compatibility">here</a> and <a href="https://caniuse.com/#feat=mdn-javascript_operators_optional_chaining">here</a> and if you develop for browsers where they aren’t supported, you’ll have to polyfill them.</p>
<p>Further Reading/References -</p>
<ul>
<li><a href="https://v8.dev/features/nullish-coalescing">https://v8.dev/features/nullish-coalescing</a></li>
<li><a href="https://2ality.com/2019/08/nullish-coalescing.html">https://2ality.com/2019/08/nullish-coalescing.html</a></li>
<li><a href="https://v8.dev/features/optional-chaining">https://v8.dev/features/optional-chaining</a></li>
<li><a href="https://2ality.com/2019/07/optional-chaining.html">https://2ality.com/2019/07/optional-chaining.html</a></li>
</ul>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Replacing lodash.get with Nullish Coalescing and Optional Chaining
'>Reply via email</a> </p>
Happy New Year 20192019-12-31T00:00:00Zhttps://arpit.tk/posts/happy-new-year/<p><em>31st December 2019 11:36 PM</em></p>
<p>I stand alone on the roof of my three-floored building, cold winds are blowing in all directions.</p>
<p>I’ve returned from a brisk walk in the neighbourhood.</p>
<p>My neighbourhood is surrounded by bars and restaurants, so there are a lot of people and a lot of the new year cheer.</p>
<p>On the way home from the main road, there’s a row of houses of people who are not as rich as the ones partying in the clubs.</p>
<p>They’re sitting outside the road on their houses, and seem to be drawing some kind of pattern with chalk on the road. Upon close inspection, I see that they’ve drawn a beautiful rangoli as their way of welcoming the new year.</p>
<p>It is way past their bedtime, but sleepy children wander about on the street. Seeing them makes me smile.</p>
<p>Everyone has their own way of celebration.</p>
<p>…</p>
<p>Some people have already started bursting crackers, people can be so impatient.</p>
<p>I seemed to be okay with not having any plans for new years but seeing people dancing away at the clubs made me a little sad.</p>
<p>It is kinda fun though. Cool Winds. The faint rustling of leaves and the even fainter noise of the music which must be playing at a nearby club. If this is not peace, then what is?</p>
<p>I came up here because I wanted to be alone with my thoughts to reflect on how my year has been. It’s been a topsy turvy ride actually.</p>
<p>Last New Year, When I was watching firecrackers at midnight with my friends, I could never have imagined that next year will be tremendously different.</p>
<p>What does the next year have in store for me?</p>
<p>Time passes so swiftly that we will soon find out!</p>
<p>It is almost midnight now. I will now countdown to the new year.</p>
<p>Happy New Year!</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Happy New Year 2019
'>Reply via email</a> </p>
Year in review 20192019-12-31T00:00:00Zhttps://arpit.tk/posts/year-in-review-2019/<p>The year 2019 is almost nearing to the end. I’ve seen a lot of people do these sort of reviews of their year and so I’ve decided to do this as well as it serves two purposes - It lets you reflect where you stand on the path towards accomplishing the goals you’ve set for yourself and also will serve as a memory of sorts so It’s something you can look back to.</p>
<p>Now, I don’t keep a journal of any sort so I’ll be having trouble remembering what all stuff happened this year but I’ll try my best. I’ll do this in a list format. Please note that this list is not in chronological order.</p>
<h2>Things that were good</h2>
<ul>
<li>Finally started a website/personal blog (The one you’re reading this post on)</li>
<li>Got hired as a Product Engineer at <a href="https://postman.com/">@getpostman</a></li>
<li>Kick-started my reading habit</li>
<li>Moved to a new place that has a window that overlooks a giant tree. <code>Nature === Happy</code></li>
<li>Learned to be grateful for stuff that I have, and not whine about what I don’t.</li>
<li>Tried pursuing some hobbies - photography, and writing. I’m still poor at both of them but I like doing them and hope to constantly improve.</li>
</ul>
<h2>Things that could’ve been better</h2>
<ul>
<li>Wasted a lot of time on mindless scrolling on social media. Will have to cut this down to minimal usage</li>
<li>Have a lot of unfinished stuff - blog posts, side projects, etc. that I plan to finish or have significant progress on next year.</li>
<li>I am not great at making decisions because I don’t like the responsibility that comes along with it. This has to improve.</li>
<li>I still sometimes lack in taking care of my physical and mental health. I’ll have to work towards changing that.</li>
</ul>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Year in review 2019
'>Reply via email</a> </p>
worrisome2020-02-01T00:00:00Zhttps://arpit.tk/posts/worrisome/<p><a href="https://arpit.tk/assets/images/worry-handwritten.jpg"><img src="https://arpit.tk/assets/images/worry-handwritten.jpg" alt="" loading="lazy" /></a></p>
<p>See, that’s the thing about people who worry a lot.</p>
<p>If they’re happy, they worry about whether this happiness will last long.</p>
<p>And If they’re sad, they worry about what will they do, if this sadness lasts forever.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: worrisome
'>Reply via email</a> </p>
I Drew Totoro2020-04-11T00:00:00Zhttps://arpit.tk/posts/i-drew-totoro/<figure>
<img src="https://arpit.tk/assets/images/totoro.jpg" alt="totoro" loading="lazy" />
<figcaption style="text-align:center">
<a href="https://en.wikipedia.org/wiki/My_Neighbor_Totoro">totoro</a>
</figcaption>
</figure>
<p>In April, the lockdown due to corona had started and everyone was stuck indoors. This was an apt time for bringing out old hobbies that we no longer have time for otherwise. All over social media, people were showcasing their talents. That was the first time I realised how devoid of creative talent I was. Sure, I can write a nice poem now and then, but there’s no way I can draw a lifelike portrait, like all other people were doing and posting on Twitter and Instagram.</p>
<p>Nevertheless, I decided that I will try to draw something. How hard could it be? I had recently seen the animated movie <a href="https://en.wikipedia.org/wiki/My_Neighbor_Totoro">“My Neighbour Totoro”</a> and I was very delighted over how beautiful “Totoro” from the movie looked. So I googled “How to draw Totoro”. The rest is history. You can see my attempt at drawing on top of the post. It’s not perfect and might look like it was drawn by a child, but I am still very proud of it.</p>
<p>My Neighbor Totoro is a great film btw, and you should watch it you are a fan of <a href="https://en.wikipedia.org/wiki/Hayao_Miyazaki">Miyazaki</a>.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: I Drew Totoro
'>Reply via email</a> </p>
I made a browser extension called mnml new tab2020-04-25T00:00:00Zhttps://arpit.tk/posts/mnml-new-tab/<p>If you’ve seen my blog post titled <a href="https://arpit.tk/posts/inspo">inspo</a>, you already know how impressed I am by <a href="https://torvim.github.io/">torvim’s</a> <a href="https://u.teknik.io/E32bU.zip">inspo</a> collection.</p>
<p>One day, while randomly browsing images in this collection, I came across the following image:</p>
<p><a href="https://arpit.tk/assets/images/mnml-inspo.png"><img src="https://arpit.tk/assets/images/mnml-inspo.png#markdown" alt="Screenshot of inspiration for mnml new tab" loading="lazy" /></a></p>
<p>The screenshot showed a new tab page with a pretty minimal layout.</p>
<p>I had been using other extensions to show bookmarks in the new tab page so that they could be easily accessible, so upon seeing the screenshot from the inspo collection, I decided to create a similar browser extension. There might already be an extension with the exact design (how else would that screenshot exist then?), but creating an extension that I will use daily seemed fun so I went through with it.</p>
<h2>Technical Details</h2>
<p>Since chrome, firefox and edge (since it’s based on chromium), have adopted the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions">webextension</a> spec so it’s easy to develop extensions for all of these browsers using a single codebase. There are some minor differences though. Firefox webextension API’s are promise based but chrome is still using the older callback syntax, also functions on chrome are under the <code>chrome</code> namespace, as compared to <code>browser</code> on firefox. Thankfully, firefox has a handy <a href="https://github.com/mozilla/webextension-polyfill">polyfill</a> which helps iron out these quirks.</p>
<p>The quote that the new tab page displays is fetched from <a href="https://quotes.rest/">quotes.rest</a>. The extension is written in vanilla javascript. The new tab page shows the first 8 bookmarks from the <code>Bookmarks Bar</code> folder on chrome, <code>Favourites Bar</code> on edge and the <code>Bookmarks Toolbar</code> folder on firefox.</p>
<p>The extension’s code is open source and is available <a href="https://github.com/arpitbatra123/mnml-new-tab">on github</a>.</p>
<h2>Screenshots</h2>
<p>Here is how the new tab page looks on chrome and firefox and edge:</p>
<p><a href="https://arpit.tk/assets/images/mnml-chrome.png"><img src="https://arpit.tk/assets/images/mnml-chrome.png#markdown" alt="Screenshot of mnml new tab on chrome" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/images/mnml-firefox.png"><img src="https://arpit.tk/assets/images/mnml-firefox.png#markdown" alt="Screenshot of mnml new tab on firefox" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/images/mnml-edge.png"><img src="https://arpit.tk/assets/images/mnml-edge.png#markdown" alt="Screenshot of mnml new tab on edge" loading="lazy" /></a></p>
<h2>Download</h2>
<ul>
<li><a href="https://addons.mozilla.org/en-GB/firefox/addon/mnml-new-tab/">Firefox Extension</a></li>
<li><a href="https://chrome.google.com/webstore/detail/mnml-new-tab/mceanpcekehmcfalnmllidcfipajpeml?hl=en">Chrome Extension</a></li>
</ul>
<h3>Update - 26th September 2020</h3>
<p>Added dark mode support:</p>
<video controls="" autoplay="" loop="">
<source src="https://arpit.tk/assets/images/mnml-new-tab-dark-mode.mp4" type="video/mp4" />
Your browser does not support the video tag.
</video> <hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: I made a browser extension called mnml new tab
'>Reply via email</a> </p>
Impending Emotional Turmoil2020-06-06T00:00:00Zhttps://arpit.tk/posts/impending-emotional-turmoil/<p>impending emotional turmoil is somewhat like the first drop of the oncoming rain.</p>
<p>you’re out on the road, and there is it suddenly. you feel it on your cheek and you wipe it off.</p>
<p>you don’t think much of it.</p>
<p>you don’t rush to seek shelter even though you are not carrying your umbrella.</p>
<p>a minute after this, you feel 3 drops instead of just one.</p>
<p>you know something’s wrong, but you’re not quite sure of what yet!</p>
<p>and then, one more minute later, all of the skies come pouring down!</p>
<p>you rush to find shelter, but there’s nothing in sight.</p>
<p>you look around with eyes full of hope but the other people are just fending for themselves.</p>
<p>you’re wet from head to toe, but there’s nothing you can do so you keep walking.</p>
<p>you tell yourself to never ignore the first drop of rain in the future.</p>
<p>…</p>
<p>an ample amount of time later, you’re walking home on a cloudy evening.</p>
<p>a drop of rain falls on your shoulder.</p>
<p>you ignore it and keep walking.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Impending Emotional Turmoil
'>Reply via email</a> </p>
What is ‘box-sizing’ in CSS and why should it be 'border-box'?2020-07-09T20:30:00Zhttps://arpit.tk/posts/box-sizing-css/<blockquote>
<p>TLDR: By default, css adds padding and margin values to the width and height of your elements. A 200px wide box with 10px padding will have an effective width of 220px. Use <code>box-sizing: border-box;</code> to prevent this.</p>
</blockquote>
<p>Imagine yourself embarking on a journey towards learning front-end web development. You are pretty excited as you should be! One day, you will turn beautiful designs into code.</p>
<p>You’ve read countless blog posts on writing effective CSS. You don’t remember what most of them were about, but you do know that the golden rule of writing CSS is that “Everything is a box”. Therefore the first thing you will draw using CSS is, well, a box.</p>
<p>Should be fairly easy!</p>
<p>You start by writing some HTML.</p>
<pre class="language-html"><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>box<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span></code></pre>
<p>Then you add some CSS</p>
<pre class="language-css"><code class="language-css"><span class="token selector">.box</span> <span class="token punctuation">{</span>
<span class="token property">background</span><span class="token punctuation">:</span> #00ff00<span class="token punctuation">;</span>
<span class="token property">height</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token property">width</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p class="codepen" data-height="401" data-theme-id="light" data-default-tab="result" data-user="arpitbatra123" data-slug-hash="rNxKyEo" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="border-box step 1"> <span>See the Pen <a href="https://codepen.io/arpitbatra123/pen/rNxKyEo"> border-box step 1</a> by Arpit Batra (<a href="https://codepen.io/arpitbatra123">@arpitbatra123</a>) on <a href="https://codepen.io/">CodePen</a>.</span> </p>
<br />
<p>And sure enough, you see a box on the screen.</p>
<p>You’ve done well so far. Pat yourself on the back. That box does look lonely though! How about we add some text inside the box?</p>
<p>We add a span with some text to our HTML.</p>
<pre class="language-html"><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>div</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>box<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>span</span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>text<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Hey There!<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>span</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>div</span><span class="token punctuation">></span></span></code></pre>
<p>Let’s also add some styles to the text we just added.</p>
<pre class="language-css"><code class="language-css"><span class="token selector">.text</span> <span class="token punctuation">{</span>
<span class="token property">color</span><span class="token punctuation">:</span> white<span class="token punctuation">;</span>
<span class="token property">font-size</span><span class="token punctuation">:</span> 50px<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p class="codepen" data-height="378" data-theme-id="light" data-default-tab="result" data-user="arpitbatra123" data-slug-hash="NWxzjKw" style="height: 378px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="border-box step 2"> <span>See the Pen <a href="https://codepen.io/arpitbatra123/pen/NWxzjKw"> border-box step 2</a> by Arpit Batra (<a href="https://codepen.io/arpitbatra123">@arpitbatra123</a>) on <a href="https://codepen.io/">CodePen</a>.</span> </p>
<br />
<p>Cool! That sure does look fine but the text is stuck on the corner. Let’s add some padding to the box.</p>
<pre class="language-css"><code class="language-css"><span class="token selector">.box</span> <span class="token punctuation">{</span>
<span class="token property">background</span><span class="token punctuation">:</span> tomato<span class="token punctuation">;</span>
<span class="token property">height</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token property">width</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token property">padding</span><span class="token punctuation">:</span> 10px<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p><a href="https://arpit.tk/assets/images/border-box-content-box-demo.gif"><img src="https://arpit.tk/assets/images/border-box-content-box-demo.gif" alt="" loading="lazy" /></a></p>
<p>WHAT? The dimensions of the box have changed? What’s happening? After furiously digging in the browser’s dev tools, you find out the padding value of <code>10px</code> is being added to the width and height of the box. The browser is doing this and is just ignoring the width and height you’ve specified.</p>
<p>So you have to calculate the actual width of all boxes in your brain now. You get anxiety by thinking of all the math you will have to do from now on. If you are somewhat like me, you are wanting to just quit and get back to browsing twitter or watching <strong>#productivity</strong> videos on youtube. You are also thinking of transitioning to learning back end development where at least the code you write will be respected and the language won’t do any magic on its own. (This is far from the truth, but you don’t know that yet)</p>
<p>All of your feelings are valid. At this point, you might start to not like CSS so much.</p>
<blockquote>
<p>Whenever there is a divergence between your thinking model and the workings of a language, bugs, and frustration are bound to happen</p>
</blockquote>
<p>Is there a way to make CSS respect the widths and height you specify?</p>
<p>Yes, there is. Let us add the <code>box-sizing</code> property with a value of <code>border-box</code> to the styles of the box element.</p>
<pre class="language-css"><code class="language-css"><span class="token selector">.box</span> <span class="token punctuation">{</span>
<span class="token property">background</span><span class="token punctuation">:</span> tomato<span class="token punctuation">;</span>
<span class="token property">height</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token property">width</span><span class="token punctuation">:</span> 200px<span class="token punctuation">;</span>
<span class="token property">padding</span><span class="token punctuation">:</span> 10px<span class="token punctuation">;</span>
<span class="token property">box-sizing</span><span class="token punctuation">:</span> border-box<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p class="codepen" data-height="401" data-theme-id="light" data-default-tab="result" data-user="arpitbatra123" data-slug-hash="eYJKWWo" style="height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="border-box step 3"> <span>See the Pen <a href="https://codepen.io/arpitbatra123/pen/eYJKWWo"> border-box step 3</a> by Arpit Batra (<a href="https://codepen.io/arpitbatra123">@arpitbatra123</a>) on <a href="https://codepen.io/">CodePen</a>.</span> </p>
<br />
<p>Lo and behold! The box has the padding, and also has the values for the widths and heights that you specified!</p>
<p>How did this work? Well, by default, all elements have the value <code>content-box</code> for <code>box-sizing</code>. This means any padding and margins you add are added to the width and height of elements. <code>border-box</code> prevents that behavior.</p>
<p>You want <code>border-box</code> to be the default value for all elements to eradicate the frustration you were dealing with a few minutes ago! This can be done easily by using universal selectors in CSS.</p>
<p>Here is how this css-tricks <a href="https://css-tricks.com/box-sizing/">article</a> recommends we do it at a global level:</p>
<pre class="language-css"><code class="language-css"><span class="token selector">html</span> <span class="token punctuation">{</span>
<span class="token property">box-sizing</span><span class="token punctuation">:</span> border-box<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token selector">*,
*:before,
*:after</span> <span class="token punctuation">{</span>
<span class="token property">box-sizing</span><span class="token punctuation">:</span> inherit<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p>Once this is done, you should not struggle with weird widths anymore. The browser will now obey you.</p>
<p>These are the articles that helped me out in understanding and imparting this box-sizing wisdom to you. Visit them for more information on box-sizing and some examples of how this property can be helpful in a world real use case.</p>
<ul>
<li><a href="https://css-tricks.com/box-sizing/">https://css-tricks.com/box-sizing/</a></li>
<li><a href="https://www.paulirish.com/2012/box-sizing-border-box-ftw/">https://www.paulirish.com/2012/box-sizing-border-box-ftw/</a></li>
</ul>
<br />
<p><strong>Interested in more posts like these? Subscribe to my newsletter below to receive new posts by email.</strong></p>
<!-- ConvertKit JS -->
<script async="" data-uid="4d9f7cbaeb" src="https://arpitbatra.ck.page/4d9f7cbaeb/index.js"></script>
<br />
<!-- CodePen JS -->
<script async="" src="https://static.codepen.io/assets/embed/ei.js"></script> <hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: What is ‘box-sizing’ in CSS and why should it be 'border-box'?
'>Reply via email</a> </p>
Painting is fun2020-08-21T00:00:00Zhttps://arpit.tk/posts/painting-is-fun/<p>After trying out <a href="https://arpit.tk/posts/i-drew-totoro/">sketching</a> earlier, I was looking for something else to try so I tried to dabble my hand at watercolor painting.</p>
<p>So, on a Sunday evening, I went on youtube and searched for “Beginner Painting” when this <a href="https://www.youtube.com/watch?v=T5tGiseJAGY">video</a> gathered my attention. Landscapes and Nature are always fascinating and on seeing the video, it looked like something a beginner like me could do. So I got watercolors and a piece of paper and just went through with it.</p>
<p>This is how the painting looked in the video:</p>
<p><img src="https://i3.ytimg.com/vi/T5tGiseJAGY/maxresdefault.jpg#markdown" alt="How the painting looked in the video" loading="lazy" /></p>
<p>And this is my first attempt at the painting:</p>
<p><a href="https://arpit.tk/assets/images/painting-first-attempt.jpg"><img src="https://arpit.tk/assets/images/painting-first-attempt.jpg" alt="My first attempt at the painting" loading="lazy" /></a></p>
<p>I was not very patient while drawing the painting for the first so it did not turn up as good as I wanted it to. Therefore I decided to have another go at it. This is my second attempt:</p>
<p><a href="https://arpit.tk/assets/images/painting-second-attempt.jpg"><img src="https://arpit.tk/assets/images/painting-second-attempt.jpg" alt="My second attempt at the painting" loading="lazy" /></a></p>
<p>This time it was significantly better. The colors could be a little brighter but that’s a lesson for the future.</p>
<p>By the way, if you are fond of art, <a href="https://en.wikipedia.org/wiki/Loving_Vincent">Loving Vincent</a> is a great film!</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Painting is fun
'>Reply via email</a> </p>
Rooftop2020-09-11T18:30:00Zhttps://arpit.tk/posts/rooftop/<p>here i stand, on the moonlit rooftop<br />
watching the clouds pass me by</p>
<p>there’s your silhouette, a thousand rooftops away,<br />
you’re walking under the starry sky</p>
<p>i remember the time i held your hand,<br />
unaware of what time had planned</p>
<p>you came to me like rays of the rising sun,<br />
but departed like the ocean escapes the sand</p>
<p>here i lie beside the window,<br />
staring at the ceiling high</p>
<p>there you are, in the shadows,<br />
the fireflies bid you goodbye</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Rooftop
'>Reply via email</a> </p>
The importance of web accessibility2020-10-08T18:30:00Zhttps://arpit.tk/posts/the-importance-of-web-accessibility/<p>I believe the “web” is one of the most important inventions of humankind. We take being connected to the world 24x7 for granted now, but it’s the web that has empowered us to achieve this feat. But, while we are empowering the world through the web, some people are still being left out because our web interfaces are not accessible.</p>
<p>Let me explain by telling you a personal anecdote.</p>
<p>Some months ago when COVID was not a word, I used to travel to a market near my home on a Metro train. The stairs that lead to the entrance of the Metro station have a very peculiar architecture. They are still stairs but a slope of some kind runs in a zig-zag fashion throughout them. See the picture below to have an idea of what I am saying.</p>
<p><img src="https://arpit.tk/assets/indiranagar-metro.jpeg" alt="Indiranagar Metro Station" loading="lazy" /><br />
For a very long time, I did not think very much of it, until one day I saw a guy drag a man in a wheelchair across that slope. Then it hit me, the slope was there to facilitate users who were unable to use the stairs because of a disability.</p>
<p>The short story you just read was an example of accessibility in the real world. The stairs facilitate the movement of able people, the slope does the same for those who are unable to. Both of these blend together so well that it’s almost difficult to think of them separately.</p>
<p>Accessibility on the web are the same principles but applied to web development. In other words, people’s disabilities should not affect their usage of the web. That of course, is a very ambitious statement, but that is precisely the aim of technology. Things that were unthinkable of yesterday shall be possible tomorrow.</p>
<p>Let me now give you some reasons why I have started caring about accessibility:</p>
<h2>#1 Accessibility empowers all users</h2>
<p>The role of technology is to take humanity to the next level. The invention of the World Wide Web is the driving force for that. The internet has made a student in a remote city in India learn from the best Entrepreneurs in Silicon Valley. But when we don’t think of accessibility, a lot of people with disabilities are unable to reap the benefits of the web.</p>
<blockquote>
<p>Technology is meant to empower people, and inaccessible interfaces leave disabled users feeling powerless</p>
</blockquote>
<h2>#2 The absence of accessibility deeply affects people’s emotions</h2>
<p>(alt- You don’t wanna make Larene’s dad cry)</p>
<p>The internet has brought about an information revolution but what good is a revolution which leaves a lot of people out deliberately?</p>
<p>As Software Engineers, we like to think that we are “Changing the world” but not all of these changes are positive. See this tweet by the user LareneLg for an example of the adverse effects of an inaccessible web:</p>
<p>https://twitter.com/LareneLg/status/1270578058714443776</p>
<p>A few months ago the below video was making rounds on Twitter. It shows how a blind user Kristy_Viersis able to use her iPhone and tweet through the use of accessibility features. Everybody commended the accessibility features that were able to provide her this experience which did not exclude her because of her disability.</p>
<p>https://twitter.com/Kristy_Viers/status/1287189581926981634</p>
<p>The two tweets you just read demonstrate the wide contrast that exists due to the absence of accessibility on the web.</p>
<blockquote>
<p>Always remember all your users are not young healthy people in their 20s, so design for a wide range of users and make sure your web interfaces are accessible</p>
</blockquote>
<h2>#3 Accessibility is not just about blind users</h2>
<p>Due to the tweets you read in the previous point, you must be thinking that accessibility mostly focuses on making interfaces usable for blind users. However, that is not the case. In reality, people’s experience on the web is affected by a wide range of disabilities, ranging from visual (complete blindness, color blindness, etc.) to auditory (hearing impaired), etc.</p>
<blockquote>
<p>Thus, accessibility is making sure that the web should be usable by the widest range of people possible.</p>
</blockquote>
<p><img src="https://arpit.tk/assets/github-accessibility.png" alt="The contrast in the Windows (and I assume other platforms) client is too low, it is killing my eyes. Grey on black or grey on white does not provide enough contrast between text and background. The whole application has a kind of permanently 'disabled' look to it, which it makes it painful to use for extended periods of time. The text needs to be darker in the light theme and lighter in the dark theme. Same for element borders, etc." loading="lazy" /></p>
<p>Color Contrast is one of the things we need to make sure while designing interfaces, as we can see clearly (pun intended), people with good vision can also be adversely affected if we don’t incorporate accessibility in design.</p>
<h2>#4 Accessibility encourages best practices</h2>
<p>Some techniques which are useful for making the web usable also bring in some added benefits. For example, if you write HTML that follows proper semantics, you also reap some benefits in the form of SEO as the search crawlers can extract proper headings from your pages.</p>
<p>If Accessibility is taken care of in the design step itself, then it can enhance the experience of other users as well. For example, if colors that have good contrast are chosen for the designs, even sighted users will benefit from avoiding strain while reading.</p>
<h2>#5 Accessibility saves your company from Lawsuits</h2>
<p>Don’t believe me? <a href="https://www.cnbc.com/2019/10/07/dominos-supreme-court.html" title="https://www.cnbc.com/2019/10/07/dominos-supreme-court.html">See</a> for yourself.</p>
<h2>Closing thoughts</h2>
<p>I hope I was able to open your mind to how important accessibility on the web is. Your next steps from here should be how to incorporate accessibility during development and design. Do remember that small steps towards accessibility can make a big difference. Awareness is the first step, Action the second. The web is full of information on how you can write code that makes sure interfaces on the web are accessible. In the upcoming weeks, I am planning to write some blog posts with quick tips that can help you with accessibility.</p>
<script async="" data-uid="4d9f7cbaeb" src="https://arpitbatra.ck.page/4d9f7cbaeb/index.js"></script> <hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: The importance of web accessibility
'>Reply via email</a> </p>
Ghosts of the fallen past2021-01-10T16:18:00Zhttps://arpit.tk/posts/ghosts-of-the-fallen-past/<p>I went on a trip to Mussoorie today. Mussorie has a very old heritage especially because it was a winter haven for Englishmen who served in the British army. There’s not a lot of British heritage left at first sight, but thanks to a youtube <a href="https://www.youtube.com/watch?v=1COOFaxDK2M">video</a> I was watching to figure out my itinerary for the day, I discovered that there is an old British military cemetery there.</p>
<p>Being the history buff I am, I instantly wanted to visit it.</p>
<p>We were in the area when I put the location on google maps and told the driver to drive. The map showed another active cemetery nearby, and as we reached there was a lock on the gates. I was disappointed and also a little embarrassed because my family in the car were not very supportive of my grave hunting escapades.</p>
<p>I was about to give up when our driver, who must have guessed how hopeful I was of looking at some old graves, decided to stop.</p>
<p>We asked some locals who told me to take the path that led downhill into the jungle.</p>
<p>I don’t think I took heed of anything else around me and dashed into the path.</p>
<p>It was a typical downhill curvy path and I was initially unsure whether I was on the right path. I kept walking and saw an ancient structure that definitely looked like a cemetery, so I kept walking.</p>
<p>As I reached the gates of the place, I realized they were closed as well, with a notice saying that entry was not allowed.</p>
<p>Graves are a morbid place to be, so I understood their intentions, but my expedition was incomplete.</p>
<p>I was breathing heavily due to all the downhill walking I was doing and also out of excitement.</p>
<p>Soon I heard the voices of my mom and sister. They must have followed me here.</p>
<p>Seeing them gave me newfound confidence and I decided to jump over a broken portion of the wall to go inside and do what I came here for.</p>
<p>I was very afraid and definitely prayed to Jesus although I am not a Christian because what I was doing was definitely how a lot of Hollywood horror movies start.</p>
<p>I had a look at some of the graves and started clicking photos but the graves I found were very recent. The youtube video I saw showcased graves from the year 1800 so I decided to keep looking.</p>
<p>If you’ve ever been to a hilly area, you must know that mountain slopes are made navigable by dividing the region into step-like structures.</p>
<p>I headed down some steps and then found what I was looking for.</p>
<p>Here are some photos:</p>
<p><a href="https://arpit.tk/assets/img_0570.jpg"><img src="https://arpit.tk/assets/img_0570.jpg" alt="Path leading to cemetery" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/img_0571.jpg"><img src="https://arpit.tk/assets/img_0571.jpg" alt="Locked Gates of the cemetary" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/img_0570.jpg"><img src="https://arpit.tk/assets/img_0573.jpg" alt="An old structure inside the cemetry" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/img_0577.jpg"><img src="https://arpit.tk/assets/img_0577.jpg" alt="Ancient grave" loading="lazy" /></a></p>
<p><a href="https://arpit.tk/assets/img_0578.jpg"><img src="https://arpit.tk/assets/img_0578.jpg" alt="Ancient grave in the cemetery" loading="lazy" /></a></p>
<video autoplay="" loop="" muted="">
<source src="https://arpit.tk/assets/img_0578.mp4" />
Your browser does not support the video tag.
</video> <hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Ghosts of the fallen past
'>Reply via email</a> </p>
Where are we coming from? Where will we go? 2021-02-08T16:36:00Zhttps://arpit.tk/posts/where-are-we-coming-from-where-will-we-go/<p>I’ve often been obsessed with leaving a legacy behind me. I’ve never really thought why I want this and I’ve also been told that since we’re just a speck of dust in the universe, leaving a legacy does not matter anyway.</p>
<p>Those who love us will remember us.</p>
<p>But then again. People die two deaths, once when their soul leaves their body and the second when their name is uttered for the last time.</p>
<p>I just met a person who has not yet died his second death yet. The person is Sevak Raam Yatri, the father of my maternal grandfather.</p>
<p>A few days ago, my maternal grandmother gave me this book:</p>
<p><img src="https://arpit.tk/assets/sevakraam-book-cover.png" alt="" loading="lazy" /></p>
<p>This is an autobiography of Sevak Raam Yatri, a story of a life consisting of unfortunate disasters, and how this man persisted through it all.</p>
<p>This is not just a story of a man, this is a history lesson through a common man’s life.</p>
<p>This man was a person I’ve always aspired to become. I would never have known about his existence or his greatness if I hadn’t read this book. As it turns out, the original version of this book, a handwritten manuscript also existed but was destroyed by one of my family members as they weren’t aware of its importance. The original book could not be published for financial reasons, so the book I read was only an abridged version of the original, and the original content was summarised by my maternal grandfather. I was sad that a great work of a great man is now most probably lost, so I made some attempts to find some information on the Internet about him.</p>
<p>I found this <a href="https://www.geni.com/people/Sevak-Ram-Yatri/6000000008435511117">page</a> on geni.com, a genealogical website, and when I realized that all of the information provided there about other family members was correct, I asked my mom about the person who had added that info and lo and behold, all the dots connected and soon I was on the phone talking to a very distant family member about my escapades involving the quest of more knowledge about my ancestors.</p>
<p>For the history geeks like me, here is a glimpse of some of the events mentioned/described in this book.</p>
<p>- Life in cities like Abbottabad, located in erstwhile India, now in Pakistan</p>
<p>- India’s Freedom Struggle</p>
<p>- The war for Kashmir’s succession</p>
<p>- The refugee crisis caused due to the partition of India.</p>
<p>- The early days of the Arya Samaj</p>
<p>- The humanitarian efforts of Lala Lajpat Rai</p>
<p>And much more.</p>
<p>Anyway, since I don’t want to lose such a wonderful work of literature again, so I’ve uploaded the <a href="https://archive.org/details/scanned-document_202102">book</a> to the Internet Archive.</p>
<p>There are very few days in life like today. Will I be able to ever match the legacy of this Great Man?</p>
<p>We came from far lands,</p>
<p>Where we left our friends.</p>
<p>Not a penny in our pockets,</p>
<p>Not a ray of hope in our hearts.</p>
<p>We earned our bread,</p>
<p>With life, we tread.</p>
<p>We’ll now be gone,</p>
<p>We’ll sleep on God’s lawn.</p>
<p>Where are we coming from?</p>
<p>Where will we go?</p>
<p>We came from the land,</p>
<p>We’ll rest in the sand.</p>
<p>One day my son,</p>
<p>When your work is done,</p>
<p>We will be one.</p>
<p>Keep walking till then,</p>
<p>Keep walking till then.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Where are we coming from? Where will we go?
'>Reply via email</a> </p>
I’ve seen the world from my window2021-03-11T15:30:00Zhttps://arpit.tk/posts/i-ve-seen-the-world-from-my-window/<p><img src="https://arpit.tk/assets/window.JPG" alt="The window of my messy room" title="Window" loading="lazy" /></p>
<p>i’ve seen the world from my window</p>
<p>i’ve seen the falling rain from the moonlit sky</p>
<p>a couple walking under the same umbrella,</p>
<p>their expressions. oh so shy!</p>
<p>I’ve seen the mighty eagle soaring high</p>
<p>and tiny birds flying back to their homes.</p>
<p>to them, sometimes i whisper goodbye</p>
<p>i’ve seen the empty roads on sleepless nights</p>
<p>i’ve seen the misty leaves on early mornings</p>
<p>i’ve sat at the window when my world was collapsing</p>
<p>i’ve sat at the window feeling immense joy</p>
<p>i’ve seen the dark blue kite flying in the light blue sky</p>
<p>i’ve seen lights sparkling in the mountains up high</p>
<p>i’ve seen the street lamp’s eerie glow on evenings</p>
<p>i’ve heard birdsong welcoming the sunrise on mornings</p>
<p>…</p>
<p>This poem feels incomplete because it is. I started this poem many months ago, as I sat beside my window, deep in self-reflection. That window is now a relic of my past, out of reach. Nevertheless, I could not just leave this poem sitting in my notes app forever. It is now out in the world, for all of those who sit beside their windows and daydream. May you achieve your dreams one day!</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: I’ve seen the world from my window
'>Reply via email</a> </p>
the lands i've walked upon2021-09-06T18:30:00Zhttps://arpit.tk/posts/the-lands-i-ve-walked-upon/<p><a href="https://lands-upon.netlify.app/" title="https://lands-upon.netlify.app/">https://lands-upon.netlify.app/</a></p>
<p>गति प्रबल पैरों में भरी<br />
फिर क्यों रहूं दर दर खडा<br />
जब आज मेरे सामने<br />
है रास्ता इतना पडा<br />
जब तक न मंजिल पा सकूँ,<br />
तब तक मुझे न विराम है,<br />
चलना हमारा काम है ।</p>
<p>कुछ कह लिया, कुछ सुन लिया<br />
कुछ बोझ अपना बँट गया<br />
अच्छा हुआ, तुम मिल गई<br />
कुछ रास्ता ही कट गया<br />
क्या राह में परिचय कहूँ,<br />
राही हमारा नाम है,<br />
चलना हमारा काम है ।</p>
<p>जीवन अपूर्ण लिए हुए<br />
पाता कभी खोता कभी<br />
आशा निराशा से घिरा,<br />
हँसता कभी रोता कभी<br />
गति-मति न हो अवरूद्ध,<br />
इसका ध्यान आठो याम है,<br />
चलना हमारा काम है ।</p>
<p>इस विशद विश्व-प्रहार में<br />
किसको नहीं बहना पडा<br />
सुख-दुख हमारी ही तरह,<br />
किसको नहीं सहना पडा<br />
फिर व्यर्थ क्यों कहता फिरूँ,<br />
मुझ पर विधाता वाम है,<br />
चलना हमारा काम है ।</p>
<p>मैं पूर्णता की खोज में<br />
दर-दर भटकता ही रहा<br />
प्रत्येक पग पर कुछ न कुछ<br />
रोडा अटकता ही रहा<br />
निराशा क्यों मुझे?<br />
जीवन इसी का नाम है,<br />
चलना हमारा काम है ।</p>
<p>साथ में चलते रहे<br />
कुछ बीच ही से फिर गए<br />
गति न जीवन की रूकी<br />
जो गिर गए सो गिर गए<br />
रहे हर दम,<br />
उसी की सफलता अभिराम है,<br />
चलना हमारा काम है ।</p>
<p>फकत यह जानता<br />
जो मिट गया वह जी गया<br />
मूंदकर पलकें सहज<br />
दो घूँट हँसकर पी गया<br />
सुधा-मिक्ष्रित गरल,<br />
वह साकिया का जाम है,<br />
चलना हमारा काम है ।</p>
<p>शिवमंगल सिंह ‘सुमन’</p>
<hr />
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: the lands i've walked upon
'>Reply via email</a> </p>
A Morning in Delhi2022-03-03T00:00:00Zhttps://arpit.tk/posts/a-morning-in-delhi/<p>The early morning, around 4 AM in the summers is the most beautiful of times. As I sit beside this window, listening to the sounds of prayer from a nearby Gurudwara, it instantly takes me back to my school days. Those days, when I would wake up to get ready for school, it was still dark outside, especially in the winters. I remember sitting in my bathroom, staring at the bucket of water, thinking if a bath in such cold weather is really worth it, as the same gurudwara prayer could be heard in the background.</p>
<p>The sky also takes an hopeful color near the arrival of dawn. It is no longer dark and gloomy of the night.</p>
<p>The sounds of the morning fascinate me the most. If other people in your house are still asleep, there isn’t much noise and a constant tick-tick of the clock is echoing in the room, being a constant reminder of the strides of time.</p>
<p>Outside is even more interesting. A crow keeps calling out to is friends with sequential noises. I say noises, but in the silence of the early morning, it appears soothing. Other birds like myna and sparrows are not usually awake yet.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: A Morning in Delhi
'>Reply via email</a> </p>
On burnout and writing2022-03-23T11:48:00Zhttps://arpit.tk/posts/on-burnout-and-writing/<p>Today is the 23rd of March. It’s been a few days since I’ve quit my job.</p>
<p>In the last month or so, I have been battling severe burnout and depression. This was not the first time that I had gotten frustrated at work, but the intensity of my disinclination towards work was very high.</p>
<p>Soon, there came a day when I found myself physically incapable of continuing to work. I was working from home, so avoiding work was easy.</p>
<p>But when my manager asked me about the status of my work, I realize I could not keep saying “I’m looking into it”.</p>
<p>The very next day, I talked to my manager and went on a 1-week break. That was probably one of the worst weeks of my life, mental health-wise. I had a big decision to make regarding my career, and by association, my life.</p>
<p>I was overthinking a lot, and having trouble reconciling with reality. You could say I was having a quarter-life crisis.</p>
<p>In the back of my mind, I had made the decision to quit, but I didn’t know what to do with my life after that. I’ve always wanted a lot from my life, and I was and maybe am a passionate software engineer, but I’ve never wanted that to be the only part of my identity. However, my job was well paid, I was a good employee, and apart from work, I did not have the mental energy to devote my life to more stuff.</p>
<p>This left me stuck in an endless cycle of wanting more from my life, but not being able to get it. All this time, I at least wanted to be good at my job, and earn good money while doing it, but now that I did not even want to do that, I was left with nothing much to look forward to.</p>
<p>I spent that week talking to friends and family. I’m privileged to have a few good friends who I can trust to give good advice. ( Thanks, <a href="https://danishpraka.sh/">Danish</a> ) , and they helped bring my stress levels down.</p>
<p>For those few days, I was very free to do anything my heart desired. All I did was brood, sleep in the sun, and do some light reading.</p>
<p>After that, I booked a trip to Goa with one of my friends, and then soon I had other things to worry about other than my job.</p>
<p>While I was on this holiday, I told my manager that after much thinking, I want to quit. 4th March was my last working day.</p>
<p>Such a life-changing turmoil happened within the span of ~10 days and It’s possibly changed the course of my life.</p>
<p>I’ve recognized a lot of reasons that may have led me down this dark path, but we’ll discuss those another day.</p>
<h2>What next?</h2>
<p>I do have a few months of runway in terms of savings, and therefore me leaving my job won’t bring along financial misfortune, but dipping into my savings makes me anxious, so I’m trying to find another job. I think I’ll be happy to earn a little bit less than what I previously earned, provided the new job is not so stressful and leaves me the energy to do more stuff with my life. These are my short-term plans though. In the long term, I want to, first of all, clear out long-pending items from my to-do list and focus more on things that give me joy.</p>
<h2>Writing</h2>
<p>Yes, Writing is one of the things I’ve always wanted to do more of. I think I’m a good writer and writing stories about your life also helps preserve memories.<br />
However, I’ve not published much on this blog. The major reason for that is yak-shaving. I am a front-end developer, and every few months, I get bored of the current design. I do have things that I wanna write about, but I spend my energy on redesigning and tweaking my website instead. Even this time, I had this huge mental block of redesigning my website first instead of writing this post.</p>
<p>Not this time though, I will keep redesigning my website to practice my design and frontend skills, but I will also post a lot more on this blog. I also won’t care much about the quality of my posts, this is my website, my home on the internet, so if this becomes a public journal, let it be.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: On burnout and writing
'>Reply via email</a> </p>
Wisdom tooth extraction2022-08-23T15:30:00Zhttps://arpit.tk/posts/wisdom-tooth-extraction/<p>I got my right wisdom tooth extracted today. I was lying on the dentist’s chair while the dentist and her assistant operated on me with dangerous-looking tools, and I was trying to distract myself by thinking all kinds of thoughts.<br />
Following one such train of thought, I decided to write about my experience.</p>
<p>It might have been the effect of the anesthesia, but I went into a deeply retrospective state as I lay on the chair. Talking of anesthesia, that’s where the procedure started. The dentist told me to remove my spectacles first, and the world was all kinds of blurry after that. She told me to open my mouth and was trying to inject the anesthesia into my gum. I was having a lot of trouble keeping my tongue out of the way, as the thought of a needle entering my gum was not a very pleasant one, especially for me who gets anxious during medical procedures.</p>
<p>After some maneuvering, she was able to finally inject the medicine and told me to wait for 5 mins until the anesthetic starts to kick in. The anesthesia’s effect was really funny. Slowly, I stopped feeling the right side of my mouth and face and the effect was only getting stronger. Apparently, this was still not strong enough, and I needed another injection. I was anxious again, but thankfully, due to some effect of the anesthesia, I did not even feel the needle go in this time.</p>
<p>After a minute or so, the procedure finally started. The dentist shouted at her assistant to get various kinds of instruments and medical terms which I could only half comprehend.</p>
<p>Interestingly enough, the Dentists’ child was in the same room as us, and she was telling him words to write in his notebook as she was moving around various instruments in my mouth. I was a little bit worried about this, but she was probably used to this arrangement as she was not getting distracted while doing so.</p>
<p>My mouth was completely numb at this point, and she had started to cut and pull with various devices on the insides of my mouth. I was getting anxious, so I decided to stare at random objects in the room. Since I did not have my glasses, I could not even see the clock on the opposite wall properly so I resorted to thinking about my life instead.</p>
<p>I’ve always found medical institutions and procedures to be very <a href="https://arpit.tk/posts/hospital-poem/">gloomy</a> and anxiety-inducing. To me, that particular moment was a symbol of my decaying body. I’ll probably go through some more similar procedures on other parts of my body over the years, but having the dentist and her assistant all over my face was definitely not a very comfortable experience.</p>
<p>Anyways, as I said, the Dentist was clawing away at my mouth and as the blood poured out, her assistant was sucking out the blood using a suction device. The device was tickly, and he moved around the device a lot, but I resisted the urge to cough and move my mouth. After some time, the Dentist changed the instrument she was using and resorted to using a device to pull my tooth out. She was really using a lot of force, but my tooth must have been deeply embedded in my jaw. Whenever she took the device out of my mouth, I thought, maybe this is finally over, only to realize that her instrument had slipped and my tooth was not budging from its place.</p>
<p>She instructed another one of her assistants to get a larger device instead and it seemed to work. As she gave one hard tug at my tooth, it finally came out, and she and I both breathed a sign of relief.</p>
<p>I thought it was finally over, but when she asked for a suture, I realized that there are going to be stitches and my anxiety peaked again. She was at it again, and all I could see was a thread that went inside my mouth. A lot more blood must have been coming out because her assistant was using his suction machine a lot more. I did not have a lot of sensation left in my mouth at that time, so I was failing to follow her instructions on keeping my tongue out of the way, as I was not even sure I had a tongue at that moment. Thankfully, her assistant used another device to keep my tongue away and she was able to complete the procedure. Apparently, I have to go back again after 10 days to get the stitches removed as well. I guess my misery shall continue for a while.</p>
<p>…</p>
<p>I am back home now and have only consumed dal and ice cream, as I wait for the sensation in my mouth to return. I am not able to speak properly at the moment, but I am enjoying having to explain various things to my family only on the basis of various hand movements and throaty sounds.</p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Wisdom tooth extraction
'>Reply via email</a> </p>
Best of 20222024-03-10T07:44:22Zhttps://arpit.tk/posts/best-of-2022/<p>A list of content I enjoyed in 2022 is <a href="https://arpit.tk/bestof22">here</a></p>
<hr/> <p><a href='mailto:arpitbatra123@gmail.com?subject=Reply: Best of 2022
'>Reply via email</a> </p>