<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Arpit Batra</title>
  <subtitle>The personal website and blog of Arpit Batra</subtitle>
  <link href="https://arpit.tk/feed.xml" rel="self" />
  <link href="https://arpit.tk/" />
  <updated>2026-03-15T00:00:00Z</updated>
  <id>https://arpit.tk/</id>
  <author>
    <name>Arpit Batra</name>
  </author>
  <entry>
    <title>My Career Journey</title>
    <link href="https://arpit.tk/posts/my-career-journey/" />
    <updated>2026-03-15T00:00:00Z</updated>
    <id>https://arpit.tk/posts/my-career-journey/</id>
    <content type="html">&lt;p&gt;A friend recently asked me what I do for work, which led me to reflect on my career path so far.&lt;/p&gt;
&lt;p&gt;Ever since school, I’ve been a geek at heart and would drool over the prospect of spending time in our Computer Lab. Java was one of the subjects, and I was really good at memorizing rote syntax and reproducing it on paper.&lt;/p&gt;
&lt;p&gt;For my college education, I luckily landed in a Computer Science degree without much thought, as it was almost a default choice for most graduating students aiming for vocational careers.&lt;/p&gt;
&lt;p&gt;College was fun. I spent more time in the high-speed Internet labs than in classes. I would hack away on friends’ phones, installing custom software on them, then come back and spend more time on my home computer, either installing a new flavour of Linux or just playing games day in and day out.&lt;/p&gt;
&lt;p&gt;The last few semesters of college rolled in, and I decided it was time to gain some real-world experience.&lt;/p&gt;
&lt;p&gt;I got an internship as a DevOps engineer. Most insightful time of my life, career-wise. I was deep in the trenches, out in the real world. I spend my days on the AWS Dashboard, exploring the myriad of services it offers. It was fun, but DevOps was machines and configuration. I wanted something I could “see”. I did not take the full-time offer and left after 6 months.&lt;/p&gt;
&lt;p&gt;Hunting for companies where I could do full-stack stuff, I landed at Postman. I was finally comfortable. It was a company that was growing out of its “startup” phase. I was in the company of brilliant minds. I was working on a product used by developers worldwide. It was a hustle, but I learnt a lot.&lt;/p&gt;
&lt;p&gt;I had a good manager, which is a boon for early-career people. I worked in the “Growth” organization. Our goals were multifold. Bring more customers, train them on our platform, and then retain them. I learnt about product-driven development. I could see how my work was making waves and contributing to revenue. It was full-stack JavaScript work. I was there for 3 years.&lt;/p&gt;
&lt;p&gt;Then COVID happened. Personal Tragedy Struck. I got burnt out and left without another job in hand. I was gainfully unemployed. I took care of my health, read books, and took naps in the sun. I travelled and sat across the ocean, feeling free. I spent 4 months like that.&lt;/p&gt;
&lt;p&gt;Time for another job. I decided I’ll move closer to the “user” and look for front-end roles. I landed up at Twilio. It was another developer-focused product. I already knew the ropes. My colleagues were great, my manager was a great leader and mentor. I was having the time of my life. Tech-wise, I was all-in on JavaScript, Typescript, and React.js. Unlike some of my full-stack peers, I never shied away from CSS. Products needed to look good, in addition to working great, was what I always thought. I had taste, I had an eye for details. But frontend is not just pixels, it’s also performance. I worked on performance optimizations, loading speed, and telemetry. It was fun, but the company was going through a period of turbulence. Shifting priorities and undelivered projects. It would stabilize soon, but I had already been here for 2 years, so I decided to look elsewhere!&lt;/p&gt;
&lt;p&gt;Then came my current org. It was a different kind of role. It involved writing more than hands-on technical work. My technical know-how would definitely help me, but this could mean a radical shift in my career path. But it was globally remote - An opportunity to work with people all around the world. It would be a new challenge. As a person, I believe in challenging myself, and I liked writing, and I loved technology, so I thought I’d give it a go. And so far, it’s awesome! I have been writing more, something I’ve wanted to do for years. I’m also not shying away from hands-on, deep technical work when it comes my way. (AI is going to take away this soon anyway)  I’m working with colleagues who live on a different continent from me. And, I’m seeing the impact of my work. Like before, I’m still helping developers deliver the best product for their users.&lt;/p&gt;
&lt;p&gt;According to me, that is the essence of professional life. Do good work with good people. And never stop learning. I think I’m going to keep on doing that, no matter the job role listed under my name.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Blog Questions Challenge</title>
    <link href="https://arpit.tk/posts/blog-challenge/" />
    <updated>2025-03-20T00:00:00Z</updated>
    <id>https://arpit.tk/posts/blog-challenge/</id>
    <content type="html">&lt;p&gt;My friend &lt;a href=&quot;https://danishpraka.sh/posts/blog-questions-challenge/&quot;&gt;Danish&lt;/a&gt; tagged me in this “blog challenge”, and here are my answers:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why did you start blogging in the first place?&lt;/strong&gt;&lt;br&gt;
Ever since I was in school, I’ve been good at writing, so when I discovered blogging, it seemed like a good creative outlet. Later, I studied to be a software engineer and liked front-end development, and a lot of developers had their own blogs, so blogging then became an experimentation ground for polishing my front-end skills as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What platform are you using to manage your blog and why did you choose it? Have you blogged on other platforms before?&lt;/strong&gt;&lt;br&gt;
The current version of the blog ( as of 20 March 2025 ) is built using &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt;. I used my own base &lt;a href=&quot;https://github.com/arpitbatra123/eleventy-blog-mnml&quot;&gt;template&lt;/a&gt; as a starting point. I started with WordPress but found it too cumbersome for my tiny use case of hosting some words with a minimal design.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do you write your posts? For example, in a local editing tool or in a panel/dashboard that’s part of your blog?&lt;/strong&gt;&lt;br&gt;
It’s all over the place honestly. For example, this post is currently being written in Notion. I did not use it much earlier, but my current org uses Notion and I’ve started liking it as well. Most blog posts start in some kind of note-taking tool ( Apple Notes, Simplenote etc.) and I write some of them directly as a Markdown file in the source code directly on VS Code  as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When do you feel most inspired to write?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Inspiration comes and goes ( takes a long time to come back after going ) . I wish I could rely on discipline rather than inspiration, especially for writing technical posts but it is what is is. Some of the posts on my blog however, have been written like as soon as the thought came to my mind, and I like those best.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do you publish immediately after writing, or do you let it simmer a bit as a draft?&lt;/strong&gt;&lt;br&gt;
Some of the posts have been published an year after they were written, because I could not be arsed to edit them. Some of them have been published immediately with grave spelling errors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s your favorite post on your blog?&lt;/strong&gt;&lt;br&gt;
I really like this &lt;a href=&quot;https://arpit.tk/posts/where-are-we-coming-from-where-will-we-go/&quot;&gt;one&lt;/a&gt; . It might not mean much to somebody else reading it, but it means a lot to me. I’m particularly proud of the poem I’ve written there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If I had a dollar for every time I’ve redesigned my blog instead of doing actual writing! I don’t want to move to another platform, I like the simplicity of 11ty very much. A lot of feature additions are pending though, I gotta add a projects page listing some of my side projects.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who’s next?&lt;/strong&gt;&lt;br&gt;
You?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>AirPods in a Drain</title>
    <link href="https://arpit.tk/posts/airpods-in-a-drain/" />
    <updated>2025-02-08T00:00:00Z</updated>
    <id>https://arpit.tk/posts/airpods-in-a-drain/</id>
    <content type="html">&lt;p&gt;Originally written on 19th April 2022&lt;/p&gt;
&lt;p&gt;At around 6:30 PM today, I followed a part of my routine that I’ve been following for a few days. Little did I know how interesting this day was going to get.&lt;/p&gt;
&lt;p&gt;I took out my bicycle and put my AirPods in. I like to listen to music while cycling, and although there’s a lot of traffic on the road, thankfully, the Apple AirPods I own have transparency mode, amplifying outside sounds and making cycling in traffic less dangerous. So, I set out to cycle and cycled for a while when I received a phone call from one of my close friends. He asked me what I was doing, and when I told him I was cycling, he told me he would call later. I decided to keep talking as I was already on my way home. Soon, I returned home, and since I was wearing AirPods, I just kept roaming about while talking to him.&lt;/p&gt;
&lt;p&gt;Now, we have a lovely family renting out the top floor of our house, and they have a young 3-year-old daughter. One of our neighbors had recently kept a white mouse as a pet, and she found them very interesting. The neighborhood girl was roaming outside our house, carrying the white mouse in her hand, and upon having a glance through our gate, the kid immediately wanted to go and see the mouse. I obliged and held her hand, and took her to the mouse.&lt;/p&gt;
&lt;p&gt;She was delighted to see it, and I even gave the cute guy a small pet. Since her mother was also there, I left her to play with the mouse while continuing to talk to my friend on the phone.&lt;/p&gt;
&lt;p&gt;A few minutes later, I heard the girl cry. She had fallen after running on the road and was now crying and demanding to see her mother. I picked her up and tried to find her mother, but she was nowhere to be seen. In between crying, she told me that her Mom had gone grocery shopping nearby, so I walked toward the nearby grocery store.&lt;/p&gt;
&lt;p&gt;When I reached the store, she was pleased to see her mother. I handed her off to her mother, and she soon stopped crying. While she was with her mother, I paced around the shop and talked to my friend.&lt;/p&gt;
&lt;p&gt;Her Mom was inspecting the vegetables, and while the shopkeeper was not looking, she picked some vegetables and tossed them in the nearby drain. She’s a very mischievous child, and when I scolded her for being so, she laughed back at me like she always does. I went to her and picked her up again because she looked adorable.&lt;/p&gt;
&lt;p&gt;There’s also a fast food stall beside the Vegetable Vendor, and when I picked her up, she saw it and shouted, “Noodles” . I did not pay much attention because I was talking to my friend.&lt;/p&gt;
&lt;p&gt;She gets angry when I don’t pay attention to her, so she flicked her hand at my ear to try to get my attention. Unfortunately, I was still wearing my AirPods, and when she flicked her hand, an AirPod went flying.&lt;/p&gt;
&lt;p&gt;I think time stopped in that split second. I wish I had better instincts because the AirPod took a good second to bounce off the tarmac beside the vegetable shop and off into the drain. I saw the exact point where the airport disappeared into the black, sludgy water of the drain and squatted on the road to look for it. My friend was still on the phone and, following this whole story through my commentary, told me to cut the phone and look for it.&lt;/p&gt;
&lt;p&gt;Soon, the little kid’s Mom started looking for it, trying to help me.&lt;/p&gt;
&lt;p&gt;Let me try to describe the drain. It was just beside a vegetable stall, and the water was pitch black. The flashlights on our phone were not helping much, and the guy running the vegetable shop soon came to help.&lt;/p&gt;
&lt;p&gt;I remembered that iPhones can track lost AirPods, so I started up the Find My Phone app. To my delight, it connected to the AirPod despite having a weak signal. I ran the phone on top of the still black sludge of the drain, and my eyes would sparkle whenever the app displayed a strong signal. I tried to “fish” out the AirPods with a stick, but since they were not visible at all, finding them was difficult.&lt;/p&gt;
&lt;p&gt;By now, some onlookers were curious about what we were doing, and when we told them we were finding an AirPod, most of them told me that it had probably stopped working by now.&lt;/p&gt;
&lt;p&gt;Hearing this, the mother of the kid asked me how much it cost, and since I did not remember the price, I said something like 10,000. After saying that, I also realized that this thing was expensive and started looking for it harder. The fact that my phone was still receiving a signal meant it was still there somewhere, and I did not want to give up. Something came onto me, and I dipped my bare, raw hands in that disgusting drain, trying to find the AirPod in the general area where the signal was coming from.&lt;/p&gt;
&lt;p&gt;I searched for 5 minutes, but it did not turn up. At this point, My hand smelt like hell itself, and I decided to give up. The shopkeeper also gave me a basket to try and filter out some of the sludge,&lt;br&gt;
but the drain had a lot of water, and even though the water was still, nothing turned up even using that.&lt;/p&gt;
&lt;p&gt;Dejected, I returned home and washed my hands for 5 minutes to remove the dirt my hands had accumulated, but the stench would not just go away.&lt;br&gt;
I also told my Mom and sister what had happened, and my Mom started to scold me. Meanwhile, I searched my Amazon purchases to find out the price of the AirPods so that I could decide whether to cry over the lost AirPod or let it go. To my amazement, they cost 16000, much more than I thought they did.&lt;/p&gt;
&lt;p&gt;On top of that, I had recently quit my job and was currently unemployed, which had made me a huge miser, and my sister and I headed out again to look for it.&lt;/p&gt;
&lt;p&gt;On reaching the shop, I opened the tracking app on my phone, and it connected to the AirPod again. I was amazed at how resilient this little device was. It was buried deep in the dark drain somewhere,&lt;br&gt;
but it had refused to die and was still broadcasting a signal, a cry for help&lt;/p&gt;
&lt;p&gt;Seeing as I was desperate to find it, the vegetable seller guy brought a spade and started removing the sludge from the drain. At the same time, I ran my phone over it like I was metal detecting.&lt;/p&gt;
&lt;p&gt;Soon, more people gathered around, asking what we were looking for in the drain. All people were giving different answers based on either their guess or&lt;br&gt;
their intent to just humor themselves.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A rare coin of 500 rs, a guy said&lt;/li&gt;
&lt;li&gt;We are catching fish in this drain, another guy said to amuse himself.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I was almost about to give up when I received a strong signal from my AirPod. I hoped to find it this time, so I held my breath and dipped my hand into the disgusting drain again. In retrospect, I could have used gloves instead of dipping my hands in that raw sludge, but I was too excited at that time to think of this. You cannot even imagine when I felt the plastic texture of my lone AirPod inside that dark sludge. Quickly but carefully, I tightly held the AirPod and brought it out. I had a face full of a big grin now that my mission was complete. The crowd had now started to disperse.&lt;/p&gt;
&lt;p&gt;I carried that AirPod back home and rinsed it underwater. I then sprayed an unholy amount of disinfectant on its inside and the outside and left it to dry. I did not touch it for a couple of days. Who knows what kind of germs could have been on it? I was not putting it inside my ear so soon.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The Benches</title>
    <link href="https://arpit.tk/posts/the-benches/" />
    <updated>2025-02-07T00:00:00Z</updated>
    <id>https://arpit.tk/posts/the-benches/</id>
    <content type="html">&lt;p&gt;I decided to go for a run today after finishing some work. I wanted to clear my mind for a while, so going for a run was the best thing I could do for myself.&lt;/p&gt;
&lt;p&gt;I put on my running shoes and earphones and started running. I should have warmed up a little by running slowly first, but today, the purpose of the run was different. My ankle started cramping, but I just wanted to run quickly. I had not run for months so soon my running progressed into walking and running alternatively. But soon, I reached the place I wanted to.&lt;/p&gt;
&lt;p&gt;There is a set of benches beside the road where I often sit down after a good run to relax. I usually don’t want to be bothered, so I take up an empty bench, and as I catch my breath, I start noticing various things.&lt;/p&gt;
&lt;p&gt;Most cities today are devoid of public spaces, so these benches where people can sit and relax before going onward is a nice little space. A bustling road runs just a few meters away, and I’ve passed through it in a vehicle hundreds of times, but I never notice these benches. Only when I sit on one of the benches myself does this lovely place reveal itself.&lt;/p&gt;
&lt;p&gt;This place is terrific, but I don’t see many people on these benches.&lt;br&gt;
There are various distinct kinds of people, though.&lt;/p&gt;
&lt;p&gt;Mainly, there are old people well past their prime. You don’t see them during the dark; they’re only here when the evenings are bright and the night’s darkness has not overtaken the sky. Being young is a blessing, sure, but there is something about seeing old people that makes me wanna just sit on my verandah reading a newspaper and sipping tea without a care about my career, relationships, dreams, and aspirations. The time of my hustle is over, and I am only here to relax.&lt;/p&gt;
&lt;p&gt;Old people’s discussions are always the same. They talk mostly about politics, or when alone, with a cane in their hand, they stare aimlessly into nothingness.&lt;/p&gt;
&lt;p&gt;There is another set of people I often see here. These are the people who’ve been running all day. A single almost empty bag on their shoulder, the bag probably containing a tiffin box, the contents of which have been long eaten and digested. These men are on a journey; they are toiling in dead-end jobs that don’t pay enough, and on their faces is the look of sadness and tiredness. They are too tired to talk to themselves and approach the benches with blank expressions. They are happy to finally have a place to relax, for home is still a long walk away. They remove their bag from their shoulder and sit on the benches, relaxing them. I don’t think they are overthinkers; they probably don’t have dreams or aspirations. Dreams are for the people who don’t have to worry about earning the next meal or paying the fees of their school-going children. These people stare into nothingness, too, except this time, this nothingness is inside of them. They don’t sit for long; their stomach growls in hunger, and they soon are on their way again.&lt;/p&gt;
&lt;p&gt;The other type of person I often see here is not a single entity, although it might feel like so. They’re a couple sitting close together, basking in some moments of togetherness. Decent people generally leave them alone. They’re in love, possibly one of the best feelings in the world. Even before the dawn of the written word, love has been omnipresent.&lt;/p&gt;
&lt;p&gt;As I catch my breath, it’s time to head home, but I don’t return empty-handed; I return with a story.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Best of 2022</title>
    <link href="https://arpit.tk/posts/best-of-2022/" />
    <updated>2023-01-01T00:00:00Z</updated>
    <id>https://arpit.tk/posts/best-of-2022/</id>
    <content type="html">&lt;p&gt;A list of content I enjoyed in 2022 is &lt;a href=&quot;https://arpit.tk/bestof22&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Wisdom Tooth Extraction</title>
    <link href="https://arpit.tk/posts/wisdom-tooth-extraction/" />
    <updated>2022-08-23T15:30:00Z</updated>
    <id>https://arpit.tk/posts/wisdom-tooth-extraction/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Following one such train of thought, I decided to write about my experience.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I’ve always found medical institutions and procedures to be very &lt;a href=&quot;https://arpit.tk/posts/hospital-poem/&quot;&gt;gloomy&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>On Burnout and Writing</title>
    <link href="https://arpit.tk/posts/on-burnout-and-writing/" />
    <updated>2022-03-23T11:48:00Z</updated>
    <id>https://arpit.tk/posts/on-burnout-and-writing/</id>
    <content type="html">&lt;p&gt;Today is the 23rd of March. It’s been a few days since I’ve quit my job.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;But when my manager asked me about the status of my work, I realize I could not keep saying “I’m looking into it”.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I was overthinking a lot, and having trouble reconciling with reality. You could say I was having a quarter-life crisis.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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, &lt;a href=&quot;https://danishpraka.sh/&quot;&gt;Danish&lt;/a&gt; ) , and they helped bring my stress levels down.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Such a life-changing turmoil happened within the span of ~10 days and It’s possibly changed the course of my life.&lt;/p&gt;
&lt;p&gt;I’ve recognized a lot of reasons that may have led me down this dark path, but we’ll discuss those another day.&lt;/p&gt;
&lt;h2&gt;What next?&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;Writing&lt;/h2&gt;
&lt;p&gt;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.&lt;br&gt;
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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>A Morning in Delhi</title>
    <link href="https://arpit.tk/posts/a-morning-in-delhi/" />
    <updated>2022-03-03T00:00:00Z</updated>
    <id>https://arpit.tk/posts/a-morning-in-delhi/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;The sky also takes an hopeful color near the arrival of dawn. It is no longer dark and gloomy of the night.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>I’ve seen the world from my window</title>
    <link href="https://arpit.tk/posts/i-ve-seen-the-world-from-my-window/" />
    <updated>2021-03-11T15:30:00Z</updated>
    <id>https://arpit.tk/posts/i-ve-seen-the-world-from-my-window/</id>
    <content type="html">&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/i-ve-seen-the-world-from-my-window-window.jpg&quot; alt=&quot;The window of my messy room&quot; title=&quot;Window&quot;&gt;&lt;/p&gt;
&lt;p&gt;i’ve seen the world from my window&lt;/p&gt;
&lt;p&gt;i’ve seen the falling rain from the moonlit sky&lt;/p&gt;
&lt;p&gt;a couple walking under the same umbrella,&lt;/p&gt;
&lt;p&gt;their expressions. oh so shy!&lt;/p&gt;
&lt;p&gt;I’ve seen the mighty eagle soaring high&lt;/p&gt;
&lt;p&gt;and tiny birds flying back to their homes.&lt;/p&gt;
&lt;p&gt;to them, sometimes i whisper goodbye&lt;/p&gt;
&lt;p&gt;i’ve seen the empty roads on sleepless nights&lt;/p&gt;
&lt;p&gt;i’ve seen the misty leaves on early mornings&lt;/p&gt;
&lt;p&gt;i’ve sat at the window when my world was collapsing&lt;/p&gt;
&lt;p&gt;i’ve sat at the window feeling immense joy&lt;/p&gt;
&lt;p&gt;i’ve seen the dark blue kite flying in the light blue sky&lt;/p&gt;
&lt;p&gt;i’ve seen lights sparkling in the mountains up high&lt;/p&gt;
&lt;p&gt;i’ve seen the street lamp’s eerie glow on evenings&lt;/p&gt;
&lt;p&gt;i’ve heard birdsong welcoming the sunrise on mornings&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;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!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Where are we coming from? Where will we go? </title>
    <link href="https://arpit.tk/posts/where-are-we-coming-from-where-will-we-go/" />
    <updated>2021-02-08T16:36:00Z</updated>
    <id>https://arpit.tk/posts/where-are-we-coming-from-where-will-we-go/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Those who love us will remember us.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;A few days ago, my maternal grandmother gave me this book:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/where-are-we-coming-from-where-will-we-go-sevakraam-cover.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;This is not just a story of a man, this is a history lesson through a common man’s life.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I found this &lt;a href=&quot;https://www.geni.com/people/Sevak-Ram-Yatri/6000000008435511117&quot;&gt;page&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;For the history geeks like me, here is a glimpse of some of the events mentioned/described in this book.&lt;/p&gt;
&lt;p&gt;- Life in cities like Abbottabad, located in erstwhile India, now in Pakistan&lt;/p&gt;
&lt;p&gt;- India’s Freedom Struggle&lt;/p&gt;
&lt;p&gt;- The war for Kashmir’s succession&lt;/p&gt;
&lt;p&gt;- The refugee crisis caused due to the partition of India.&lt;/p&gt;
&lt;p&gt;- The early days of the Arya Samaj&lt;/p&gt;
&lt;p&gt;- The humanitarian efforts of Lala Lajpat Rai&lt;/p&gt;
&lt;p&gt;And much more.&lt;/p&gt;
&lt;p&gt;Anyway, since I don’t want to lose such a wonderful work of literature again, so I’ve uploaded the &lt;a href=&quot;https://archive.org/details/scanned-document_202102&quot;&gt;book&lt;/a&gt; to the Internet Archive.&lt;/p&gt;
&lt;p&gt;There are very few days in life like today. Will I be able to ever match the legacy of this Great Man?&lt;/p&gt;
&lt;p&gt;We came from far lands,&lt;/p&gt;
&lt;p&gt;Where we left our friends.&lt;/p&gt;
&lt;p&gt;Not a penny in our pockets,&lt;/p&gt;
&lt;p&gt;Not a ray of hope in our hearts.&lt;/p&gt;
&lt;p&gt;We earned our bread,&lt;/p&gt;
&lt;p&gt;With life, we tread.&lt;/p&gt;
&lt;p&gt;We’ll now be gone,&lt;/p&gt;
&lt;p&gt;We’ll sleep on God’s lawn.&lt;/p&gt;
&lt;p&gt;Where are we coming from?&lt;/p&gt;
&lt;p&gt;Where will we go?&lt;/p&gt;
&lt;p&gt;We came from the land,&lt;/p&gt;
&lt;p&gt;We’ll rest in the sand.&lt;/p&gt;
&lt;p&gt;One day my son,&lt;/p&gt;
&lt;p&gt;When your work is done,&lt;/p&gt;
&lt;p&gt;We will be one.&lt;/p&gt;
&lt;p&gt;Keep walking till then,&lt;/p&gt;
&lt;p&gt;Keep walking till then.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Ghosts of the fallen past</title>
    <link href="https://arpit.tk/posts/ghosts-of-the-fallen-past/" />
    <updated>2021-01-10T16:18:00Z</updated>
    <id>https://arpit.tk/posts/ghosts-of-the-fallen-past/</id>
    <content type="html">&lt;p&gt;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 &lt;a href=&quot;https://www.youtube.com/watch?v=1COOFaxDK2M&quot;&gt;video&lt;/a&gt; I was watching to figure out my itinerary for the day, I discovered that there is an old British military cemetery there.&lt;/p&gt;
&lt;p&gt;Being the history buff I am, I instantly wanted to visit it.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;We asked some locals who told me to take the path that led downhill into the jungle.&lt;/p&gt;
&lt;p&gt;I don’t think I took heed of anything else around me and dashed into the path.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;As I reached the gates of the place, I realized they were closed as well, with a notice saying that entry was not allowed.&lt;/p&gt;
&lt;p&gt;Graves are a morbid place to be, so I understood their intentions, but my expedition was incomplete.&lt;/p&gt;
&lt;p&gt;I was breathing heavily due to all the downhill walking I was doing and also out of excitement.&lt;/p&gt;
&lt;p&gt;Soon I heard the voices of my mom and sister. They must have followed me here.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I headed down some steps and then found what I was looking for.&lt;/p&gt;
&lt;p&gt;Here are some photos:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-path.jpg&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-path.jpg&quot; alt=&quot;Path leading to cemetery&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-gates.jpg&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-gates.jpg&quot; alt=&quot;Locked Gates of the cemetary&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-structure.jpg&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-structure.jpg&quot; alt=&quot;An old structure inside the cemetry&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-grave-1.jpg&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-grave-1.jpg&quot; alt=&quot;Ancient grave&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-grave-2.jpg&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-grave-2.jpg&quot; alt=&quot;Ancient grave in the cemetery&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;video autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot;&gt;
&lt;source src=&quot;https://arpit.tk/assets/images/ghosts-of-the-fallen-past-video.mp4&quot;&gt;
Your browser does not support the video tag.
&lt;/video&gt;</content>
  </entry>
  <entry>
    <title>The importance of web accessibility</title>
    <link href="https://arpit.tk/posts/the-importance-of-web-accessibility/" />
    <updated>2020-10-08T18:30:00Z</updated>
    <id>https://arpit.tk/posts/the-importance-of-web-accessibility/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Let me explain by telling you a personal anecdote.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/the-importance-of-web-accessibility-indiranagar.jpeg&quot; alt=&quot;Indiranagar Metro Station&quot;&gt;&lt;br&gt;
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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Let me now give you some reasons why I have started caring about accessibility:&lt;/p&gt;
&lt;h2&gt;#1 Accessibility empowers all users&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Technology is meant to empower people, and inaccessible interfaces leave disabled users feeling powerless&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;#2 The absence of accessibility deeply affects people’s emotions&lt;/h2&gt;
&lt;p&gt;(alt- You don’t wanna make Larene’s dad cry)&lt;/p&gt;
&lt;p&gt;The internet has brought about an information revolution but what good is a revolution which leaves a lot of people out deliberately?&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;https://twitter.com/LareneLg/status/1270578058714443776&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;https://twitter.com/Kristy_Viers/status/1287189581926981634&lt;/p&gt;
&lt;p&gt;The two tweets you just read demonstrate the wide contrast that exists due to the absence of accessibility on the web.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;#3 Accessibility is not just about blind users&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thus, accessibility is making sure that the web should be usable by the widest range of people possible.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/the-importance-of-web-accessibility-screenshot.png&quot; alt=&quot;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 &#39;disabled&#39; 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.&quot;&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;#4 Accessibility encourages best practices&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;#5 Accessibility saves your company from Lawsuits&lt;/h2&gt;
&lt;p&gt;Don’t believe me? &lt;a href=&quot;https://www.cnbc.com/2019/10/07/dominos-supreme-court.html&quot; title=&quot;https://www.cnbc.com/2019/10/07/dominos-supreme-court.html&quot;&gt;See&lt;/a&gt; for yourself.&lt;/p&gt;
&lt;h2&gt;Closing thoughts&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Rooftop</title>
    <link href="https://arpit.tk/posts/rooftop/" />
    <updated>2020-09-11T18:30:00Z</updated>
    <id>https://arpit.tk/posts/rooftop/</id>
    <content type="html">&lt;p&gt;here i stand, on the moonlit rooftop&lt;br&gt;
watching the clouds pass me by&lt;/p&gt;
&lt;p&gt;there’s your silhouette, a thousand rooftops away,&lt;br&gt;
you’re walking under the starry sky&lt;/p&gt;
&lt;p&gt;i remember the time i held your hand,&lt;br&gt;
unaware of what time had planned&lt;/p&gt;
&lt;p&gt;you came to me like rays of the rising sun,&lt;br&gt;
but departed like the ocean escapes the sand&lt;/p&gt;
&lt;p&gt;here i lie beside the window,&lt;br&gt;
staring at the ceiling high&lt;/p&gt;
&lt;p&gt;there you are, in the shadows,&lt;br&gt;
the fireflies bid you goodbye&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Painting is fun</title>
    <link href="https://arpit.tk/posts/painting-is-fun/" />
    <updated>2020-08-21T00:00:00Z</updated>
    <id>https://arpit.tk/posts/painting-is-fun/</id>
    <content type="html">&lt;p&gt;After trying out &lt;a href=&quot;https://arpit.tk/posts/i-drew-totoro/&quot;&gt;sketching&lt;/a&gt; earlier, I was looking for something else to try so I tried to dabble my hand at watercolor painting.&lt;/p&gt;
&lt;p&gt;So, on a Sunday evening, I went on youtube and searched for “Beginner Painting” when this &lt;a href=&quot;https://www.youtube.com/watch?v=T5tGiseJAGY&quot;&gt;video&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;This is how the painting looked in the video:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://i3.ytimg.com/vi/T5tGiseJAGY/maxresdefault.jpg#markdown&quot; alt=&quot;How the painting looked in the video&quot;&gt;&lt;/p&gt;
&lt;p&gt;And this is my first attempt at the painting:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/painting-is-fun-first-attempt.jpg&quot; alt=&quot;My first attempt at the painting&quot;&gt;&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/painting-is-fun-second-attempt.jpg&quot; alt=&quot;My second attempt at the painting&quot;&gt;&lt;/p&gt;
&lt;p&gt;This time it was significantly better. The colors could be a little brighter but that’s a lesson for the future.&lt;/p&gt;
&lt;p&gt;By the way, if you are fond of art, &lt;a href=&quot;https://en.wikipedia.org/wiki/Loving_Vincent&quot;&gt;Loving Vincent&lt;/a&gt; is a great film!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What is &#39;box-sizing&#39; in CSS and why should it be &#39;border-box&#39;?</title>
    <link href="https://arpit.tk/posts/box-sizing-css/" />
    <updated>2020-07-09T20:30:00Z</updated>
    <id>https://arpit.tk/posts/box-sizing-css/</id>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;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 &lt;code&gt;box-sizing: border-box;&lt;/code&gt; to prevent this.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Should be fairly easy!&lt;/p&gt;
&lt;p&gt;You start by writing some HTML.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; class&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&quot;box&quot;&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then you add some CSS&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#E67E80&quot;&gt;box&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  background&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; #&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;00ff00&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  height&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  width&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;401&quot; data-theme-id=&quot;light&quot; data-default-tab=&quot;result&quot; data-user=&quot;arpitbatra123&quot; data-slug-hash=&quot;rNxKyEo&quot; data-pen-title=&quot;border-box step 1&quot;&gt; &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/arpitbatra123/pen/rNxKyEo&quot;&gt; border-box step 1&lt;/a&gt; by Arpit Batra (&lt;a href=&quot;https://codepen.io/arpitbatra123&quot;&gt;@arpitbatra123&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;br&gt;
&lt;p&gt;And sure enough, you see a box on the screen.&lt;/p&gt;
&lt;p&gt;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?&lt;/p&gt;
&lt;p&gt;We add a span with some text to our HTML.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; class&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&quot;box&quot;&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;  &amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;span&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; class&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;Hey There!&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;span&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;div&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Let’s also add some styles to the text we just added.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#E67E80&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  color&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D699B6&quot;&gt; white&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  font-size&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 50&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;378&quot; data-theme-id=&quot;light&quot; data-default-tab=&quot;result&quot; data-user=&quot;arpitbatra123&quot; data-slug-hash=&quot;NWxzjKw&quot; data-pen-title=&quot;border-box step 2&quot;&gt; &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/arpitbatra123/pen/NWxzjKw&quot;&gt; border-box step 2&lt;/a&gt; by Arpit Batra (&lt;a href=&quot;https://codepen.io/arpitbatra123&quot;&gt;@arpitbatra123&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Cool! That sure does look fine but the text is stuck on the corner. Let’s add some padding to the box.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#E67E80&quot;&gt;box&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  background&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D699B6&quot;&gt; tomato&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  height&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  width&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  padding&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 10&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/box-sizing-css-border-box-content-box-demo.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;10px&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;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 &lt;strong&gt;#productivity&lt;/strong&gt; 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)&lt;/p&gt;
&lt;p&gt;All of your feelings are valid. At this point, you might start to not like CSS so much.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Whenever there is a divergence between your thinking model and the workings of a language, bugs, and frustration are bound to happen&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Is there a way to make CSS respect the widths and height you specify?&lt;/p&gt;
&lt;p&gt;Yes, there is. Let us add the &lt;code&gt;box-sizing&lt;/code&gt; property with a value of &lt;code&gt;border-box&lt;/code&gt; to the styles of the box element.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#E67E80&quot;&gt;box&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  background&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D699B6&quot;&gt; tomato&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  height&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  width&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 200&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  padding&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; 10&lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  box-sizing&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; border-box&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p class=&quot;codepen&quot; data-height=&quot;401&quot; data-theme-id=&quot;light&quot; data-default-tab=&quot;result&quot; data-user=&quot;arpitbatra123&quot; data-slug-hash=&quot;eYJKWWo&quot; data-pen-title=&quot;border-box step 3&quot;&gt; &lt;span&gt;See the Pen &lt;a href=&quot;https://codepen.io/arpitbatra123/pen/eYJKWWo&quot;&gt; border-box step 3&lt;/a&gt; by Arpit Batra (&lt;a href=&quot;https://codepen.io/arpitbatra123&quot;&gt;@arpitbatra123&lt;/a&gt;) on &lt;a href=&quot;https://codepen.io&quot;&gt;CodePen&lt;/a&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;br&gt;
&lt;p&gt;Lo and behold! The box has the padding, and also has the values for the widths and heights that you specified!&lt;/p&gt;
&lt;p&gt;How did this work? Well, by default, all elements have the value &lt;code&gt;content-box&lt;/code&gt; for &lt;code&gt;box-sizing&lt;/code&gt;. This means any padding and margins you add are added to the width and height of elements. &lt;code&gt;border-box&lt;/code&gt; prevents that behavior.&lt;/p&gt;
&lt;p&gt;You want &lt;code&gt;border-box&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Here is how this css-tricks &lt;a href=&quot;https://css-tricks.com/box-sizing/&quot;&gt;article&lt;/a&gt; recommends we do it at a global level:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D699B6&quot;&gt;html&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  box-sizing&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; border-box&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;before&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;after&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#83C092&quot;&gt;  box-sizing&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt; inherit&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once this is done, you should not struggle with weird widths anymore. The browser will now obey you.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/box-sizing/&quot;&gt;https://css-tricks.com/box-sizing/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.paulirish.com/2012/box-sizing-border-box-ftw/&quot;&gt;https://www.paulirish.com/2012/box-sizing-border-box-ftw/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;  
&lt;br&gt;
&lt;!-- CodePen embed script is loaded in the post layout for the live page. --&gt;</content>
  </entry>
  <entry>
    <title>Impending Emotional Turmoil</title>
    <link href="https://arpit.tk/posts/impending-emotional-turmoil/" />
    <updated>2020-06-06T00:00:00Z</updated>
    <id>https://arpit.tk/posts/impending-emotional-turmoil/</id>
    <content type="html">&lt;p&gt;impending emotional turmoil is somewhat like the first drop of the oncoming rain.&lt;/p&gt;
&lt;p&gt;you’re out on the road, and there is it suddenly. you feel it on your cheek and you wipe it off.&lt;/p&gt;
&lt;p&gt;you don’t think much of it.&lt;/p&gt;
&lt;p&gt;you don’t rush to seek shelter even though you are not carrying your umbrella.&lt;/p&gt;
&lt;p&gt;a minute after this, you feel 3 drops instead of just one.&lt;/p&gt;
&lt;p&gt;you know something’s wrong, but you’re not quite sure of what yet!&lt;/p&gt;
&lt;p&gt;and then, one more minute later, all of the skies come pouring down!&lt;/p&gt;
&lt;p&gt;you rush to find shelter, but there’s nothing in sight.&lt;/p&gt;
&lt;p&gt;you look around with eyes full of hope but the other people are just fending for themselves.&lt;/p&gt;
&lt;p&gt;you’re wet from head to toe, but there’s nothing you can do so you keep walking.&lt;/p&gt;
&lt;p&gt;you tell yourself to never ignore the first drop of rain in the future.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;an ample amount of time later, you’re walking home on a cloudy evening.&lt;/p&gt;
&lt;p&gt;a drop of rain falls on your shoulder.&lt;/p&gt;
&lt;p&gt;you ignore it and keep walking.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>I made a browser extension called mnml new tab</title>
    <link href="https://arpit.tk/posts/mnml-new-tab/" />
    <updated>2020-04-25T00:00:00Z</updated>
    <id>https://arpit.tk/posts/mnml-new-tab/</id>
    <content type="html">&lt;p&gt;If you’ve seen my project titled &lt;a href=&quot;https://inspo-arpit.vercel.app/&quot;&gt;inspo&lt;/a&gt;, you already know how impressed I am by &lt;a href=&quot;https://torvim.github.io/&quot;&gt;torvim’s&lt;/a&gt; &lt;a href=&quot;https://u.teknik.io/E32bU.zip&quot;&gt;inspo&lt;/a&gt; collection.&lt;/p&gt;
&lt;p&gt;One day, while randomly browsing images in this collection, I came across the following image:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/mnml-new-tab-inspo.png&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/mnml-new-tab-inspo.png#markdown&quot; alt=&quot;Screenshot of inspiration for mnml new tab&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The screenshot showed a new tab page with a pretty minimal layout.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;Technical Details&lt;/h2&gt;
&lt;p&gt;Since chrome, firefox and edge (since it’s based on chromium), have adopted the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions&quot;&gt;webextension&lt;/a&gt; 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 &lt;code&gt;chrome&lt;/code&gt; namespace, as compared to &lt;code&gt;browser&lt;/code&gt; on firefox. Thankfully, firefox has a handy &lt;a href=&quot;https://github.com/mozilla/webextension-polyfill&quot;&gt;polyfill&lt;/a&gt; which helps iron out these quirks.&lt;/p&gt;
&lt;p&gt;The quote that the new tab page displays is fetched from &lt;a href=&quot;https://quotes.rest/&quot;&gt;quotes.rest&lt;/a&gt;. The extension is written in vanilla javascript. The new tab page shows the first 8 bookmarks from the &lt;code&gt;Bookmarks Bar&lt;/code&gt; folder on chrome, &lt;code&gt;Favourites Bar&lt;/code&gt; on edge and the &lt;code&gt;Bookmarks Toolbar&lt;/code&gt; folder on firefox.&lt;/p&gt;
&lt;p&gt;The extension’s code is open source and is available &lt;a href=&quot;https://github.com/arpitbatra123/mnml-new-tab&quot;&gt;on github&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Screenshots&lt;/h2&gt;
&lt;p&gt;Here is how the new tab page looks on chrome and firefox and edge:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/mnml-new-tab-chrome.png&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/mnml-new-tab-chrome.png#markdown&quot; alt=&quot;Screenshot of mnml new tab on chrome&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/mnml-new-tab-firefox.png&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/mnml-new-tab-firefox.png#markdown&quot; alt=&quot;Screenshot of mnml new tab on firefox&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://arpit.tk/assets/images/mnml-new-tab-edge.png&quot;&gt;&lt;img src=&quot;https://arpit.tk/assets/images/mnml-new-tab-edge.png#markdown&quot; alt=&quot;Screenshot of mnml new tab on edge&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Download&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/en-GB/firefox/addon/mnml-new-tab/&quot;&gt;Firefox Extension&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/mnml-new-tab/mceanpcekehmcfalnmllidcfipajpeml?hl=en&quot;&gt;Chrome Extension&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Update - 26th September 2020&lt;/h3&gt;
&lt;p&gt;Added dark mode support:&lt;/p&gt;
&lt;video controls=&quot;&quot; autoplay=&quot;&quot; loop=&quot;&quot;&gt;
  &lt;source src=&quot;https://arpit.tk/assets/images/mnml-new-tab-dark-mode.mp4&quot; type=&quot;video/mp4&quot;&gt;
  Your browser does not support the video tag.
&lt;/video&gt;</content>
  </entry>
  <entry>
    <title>I Drew Totoro</title>
    <link href="https://arpit.tk/posts/i-drew-totoro/" />
    <updated>2020-04-11T00:00:00Z</updated>
    <id>https://arpit.tk/posts/i-drew-totoro/</id>
    <content type="html">&lt;figure&gt;
  &lt;img src=&quot;https://arpit.tk/assets/images/i-drew-totoro-totoro.jpg&quot; alt=&quot;totoro&quot; loading=&quot;lazy&quot;&gt;
  &lt;figcaption style=&quot;text-align:center&quot;&gt;
  &lt;a href=&quot;https://en.wikipedia.org/wiki/My_Neighbor_Totoro&quot;&gt;totoro&lt;/a&gt;
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Nevertheless, I decided that I will try to draw something. How hard could it be? I had recently seen the animated movie &lt;a href=&quot;https://en.wikipedia.org/wiki/My_Neighbor_Totoro&quot;&gt;“My Neighbour Totoro”&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;My Neighbor Totoro is a great film btw, and you should watch it you are a fan of &lt;a href=&quot;https://en.wikipedia.org/wiki/Hayao_Miyazaki&quot;&gt;Miyazaki&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Worrisome</title>
    <link href="https://arpit.tk/posts/worrisome/" />
    <updated>2020-02-01T00:00:00Z</updated>
    <id>https://arpit.tk/posts/worrisome/</id>
    <content type="html">&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/worrisome-handwritten.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;See, that’s the thing about people who worry a lot.&lt;/p&gt;
&lt;p&gt;If they’re happy, they worry about whether this happiness will last long.&lt;/p&gt;
&lt;p&gt;And If they’re sad, they worry about what will they do, if this sadness lasts forever.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Year in review 2019</title>
    <link href="https://arpit.tk/posts/year-in-review-2019/" />
    <updated>2019-12-31T12:00:00Z</updated>
    <id>https://arpit.tk/posts/year-in-review-2019/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;Things that were good&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Finally started a website/personal blog (The one you’re reading this post on)&lt;/li&gt;
&lt;li&gt;Got hired as a Product Engineer at &lt;a href=&quot;https://postman.com&quot;&gt;@getpostman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kick-started my reading habit&lt;/li&gt;
&lt;li&gt;Moved to a new place that has a window that overlooks a giant tree. &lt;code&gt;Nature === Happy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Learned to be grateful for stuff that I have, and not whine about what I don’t.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Things that could’ve been better&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Wasted a lot of time on mindless scrolling on social media. Will have to cut this down to minimal usage&lt;/li&gt;
&lt;li&gt;Have a lot of unfinished stuff - blog posts, side projects, etc. that I plan to finish or have significant progress on next year.&lt;/li&gt;
&lt;li&gt;I am not great at making decisions because I don’t like the responsibility that comes along with it. This has to improve.&lt;/li&gt;
&lt;li&gt;I still sometimes lack in taking care of my physical and mental health. I’ll have to work towards changing that.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Happy New Year 2019</title>
    <link href="https://arpit.tk/posts/happy-new-year/" />
    <updated>2019-12-31T00:00:00Z</updated>
    <id>https://arpit.tk/posts/happy-new-year/</id>
    <content type="html">&lt;p&gt;&lt;em&gt;31st December 2019 11:36 PM&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I stand alone on the roof of my three-floored building, cold winds are blowing in all directions.&lt;/p&gt;
&lt;p&gt;I’ve returned from a brisk walk in the neighbourhood.&lt;/p&gt;
&lt;p&gt;My neighbourhood is surrounded by bars and restaurants, so there are a lot of people and a lot of the new year cheer.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;It is way past their bedtime, but sleepy children wander about on the street. Seeing them makes me smile.&lt;/p&gt;
&lt;p&gt;Everyone has their own way of celebration.&lt;/p&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;p&gt;Some people have already started bursting crackers, people can be so impatient.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;What does the next year have in store for me?&lt;/p&gt;
&lt;p&gt;Time passes so swiftly that we will soon find out!&lt;/p&gt;
&lt;p&gt;It is almost midnight now. I will now countdown to the new year.&lt;/p&gt;
&lt;p&gt;Happy New Year!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Replacing lodash.get with Nullish Coalescing and Optional Chaining</title>
    <link href="https://arpit.tk/posts/lodash-new-js/" />
    <updated>2019-12-15T00:00:00Z</updated>
    <id>https://arpit.tk/posts/lodash-new-js/</id>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://lodash.com/&quot;&gt;lodash&lt;/a&gt; is a popular javascript library with a set of utilities. One of the utilities that lodash provides is the &lt;a href=&quot;https://lodash.com/docs/4.17.15#get&quot;&gt;get&lt;/a&gt; function which, as the name suggests is used to get a value from an object. Let us see an example:&lt;/p&gt;
&lt;p&gt;Suppose there is an object:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;let&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;  data&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;    options&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;      name&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; &#39;Bojack&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now if you wanted to get the &lt;code&gt;name&lt;/code&gt; from the above object, you would typically do it like this:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;name;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;console&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;(name);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And this will work and output the name &lt;code&gt;Bojack&lt;/code&gt;. No Worries, Right?&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;options&lt;/code&gt; in the &lt;code&gt;data&lt;/code&gt; object is now called &lt;code&gt;user_options&lt;/code&gt; 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:&lt;/p&gt;
&lt;p&gt;Since &lt;code&gt;data.options&lt;/code&gt; is &lt;code&gt;undefined&lt;/code&gt; and you are trying to access the &lt;code&gt;name&lt;/code&gt; property of &lt;code&gt;undefined&lt;/code&gt;, you end up with a &lt;code&gt;TypeError&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; (response&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;data &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;&amp;#x26;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;options &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;&amp;#x26;&amp;#x26;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;options&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;name) &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;||&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; &#39;Todd&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This will make sure that if at any level of the object, the property you are trying to access is &lt;code&gt;undefined&lt;/code&gt;, you do not try to access properties further down the chain and thus, do not end up with a &lt;code&gt;TypeError&lt;/code&gt;. Also, if the property we are trying to access is undefined, &lt;code&gt;Todd&lt;/code&gt; gets assigned to the name which kind of acts as a fallback value.&lt;/p&gt;
&lt;p&gt;However, as you can see in the code, for large objects, the above code segment can be very cumbersome to write.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Enter lodash.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The lodash &lt;code&gt;get&lt;/code&gt; 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:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; _&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;(response, &lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;&#39;data.options.name&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Another beauty of the lodash &lt;code&gt;get&lt;/code&gt; 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,&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; _&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;(response, &lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;&#39;data.options.name&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;&#39;Todd&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;will return Todd if the &lt;code&gt;options&lt;/code&gt; key on &lt;code&gt;data&lt;/code&gt; does not exist.&lt;/p&gt;
&lt;p&gt;So we solved both of the problems we ran into while writing property accessors.&lt;/p&gt;
&lt;p&gt;Win-Win right?&lt;/p&gt;
&lt;p&gt;Well, not exactly. lodash is essentially a 3rd party dependency and you must have heard the saying &lt;code&gt;mo dependencies, mo problems&lt;/code&gt;. Some of these problems include increased bundle size and the responsibility of keeping dependencies up to date.&lt;/p&gt;
&lt;p&gt;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 - &lt;a href=&quot;https://v8.dev/features/optional-chaining&quot;&gt;optional chaining&lt;/a&gt; and &lt;a href=&quot;https://v8.dev/features/nullish-coalescing&quot;&gt;nullish coalescing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let us see how these language features can help us in replacing lodash with native javascript.&lt;/p&gt;
&lt;h2&gt;Optional Chaining&lt;/h2&gt;
&lt;p&gt;As also shown above, this is how you would safely access the &lt;code&gt;name&lt;/code&gt; property from the response object.&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; _&lt;/span&gt;&lt;span style=&quot;color:#859289&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color:#A7C080&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;(response, &lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt;&#39;data.options.name&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is how you can do it without lodash by using optional chaining:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response?.data?.options?.name;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The above statement behaves similar to how our code with a lot of &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; safe checks would behave, but looks a lot cleaner!&lt;/p&gt;
&lt;h2&gt;Nullish Coalescing&lt;/h2&gt;
&lt;p&gt;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 &lt;code&gt;Todd&lt;/code&gt; to the &lt;code&gt;name&lt;/code&gt; variable.&lt;/p&gt;
&lt;p&gt;Here is how you can do it by using nullish coalescing:&lt;/p&gt;
&lt;pre class=&quot;shiki everforest-dark&quot; style=&quot;background-color:#2d353b;color:#d3c6aa&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E69875&quot;&gt;const&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt; response?.data?.options?.name &lt;/span&gt;&lt;span style=&quot;color:#E69875&quot;&gt;??&lt;/span&gt;&lt;span style=&quot;color:#DBBC7F&quot;&gt; &#39;Todd&#39;&lt;/span&gt;&lt;span style=&quot;color:#D3C6AA&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In the above statement, we combined the use of &lt;em&gt;optional chaining&lt;/em&gt; and &lt;em&gt;nullish coalescing&lt;/em&gt; to achieve the same result that we were getting by using lodash or making the use of &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; and &lt;code&gt;||&lt;/code&gt; operators. If I am unable to access the property &lt;code&gt;name&lt;/code&gt; from the &lt;code&gt;response&lt;/code&gt; object, due to optional chaining, the name will have the default property &lt;code&gt;Todd&lt;/code&gt; thanks to nullish coalescing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So can I go ahead and replace &lt;code&gt;lodash.get&lt;/code&gt; in my app?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sure, but first check out the browser support for the respective features &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator#Browser_compatibility&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://caniuse.com/#feat=mdn-javascript_operators_optional_chaining&quot;&gt;here&lt;/a&gt; and if you develop for browsers where they aren’t supported, you’ll have to polyfill them.&lt;/p&gt;
&lt;p&gt;Further Reading/References -&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://v8.dev/features/nullish-coalescing&quot;&gt;https://v8.dev/features/nullish-coalescing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2ality.com/2019/08/nullish-coalescing.html&quot;&gt;https://2ality.com/2019/08/nullish-coalescing.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://v8.dev/features/optional-chaining&quot;&gt;https://v8.dev/features/optional-chaining&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2ality.com/2019/07/optional-chaining.html&quot;&gt;https://2ality.com/2019/07/optional-chaining.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Lyrics That Go Beyond Words</title>
    <link href="https://arpit.tk/posts/lyrics-that-go-beyond-words/" />
    <updated>2019-12-08T00:00:00Z</updated>
    <id>https://arpit.tk/posts/lyrics-that-go-beyond-words/</id>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;tl:dr&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/playlist/53EwdQFx9sh6boC36Ktm1l?si=jJ3rDJFeRtmoooCqiII6kA&quot;&gt;Here’s&lt;/a&gt; a Spotify playlist with songs that I think have really meaningful lyrics.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;end tl:dr&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;💡 Tip : You can click on any lyrics title to listen to the song on Youtube.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=OlvXDGJAMT0&quot;&gt;मेरा कुछ सामान&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;एक अकेली छत्री में जब आधे आधे भीग रहे थे&lt;br&gt;
आधे सूखे, आधे गिले,&lt;br&gt;
सुखा तो मैं ले आयी थी&lt;br&gt;
गिला मन शायद, बिस्तर के पास पडा हो&lt;br&gt;
वो भिजवा दो,&lt;br&gt;
मेरा वो सामान लौटा दो&lt;/p&gt;
&lt;p&gt;In the magical mellow voice of Asha Bhosle, This song is a lyrical marvel by Gulzaar.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=sW1ZJNVAc-Q&quot;&gt;Inside of love&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I wanna know what it’s like on the inside of love.&lt;br&gt;
I’m standing at the gates,&lt;br&gt;
I see the beauty above&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=L_EVAdvxJcU&quot;&gt;इक बगल में चाँद होगा&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;होनी और अनहोनी की परवाह किसे है मेरी जान,&lt;br&gt;
हद से ज्यादा ये ही होगा कि यहीं मर जायेंगे,&lt;br&gt;
हम मौत को सपना बता कर उठ खड़े होंगे यहीं,&lt;br&gt;
और होनी को ठेंगा दिखाकर खिलखिलाते जायेंगे,&lt;br&gt;
और होनी को ठेंगा दिखाकर खिलखिलाते जायेंगे.&lt;/p&gt;
&lt;p&gt;Darling, who cares about what will be our fate,&lt;br&gt;
Death could be the worst thing to get to me.&lt;br&gt;
We’ll say that death was but a dream, and laugh at our fate,&lt;br&gt;
and laugh at our fate.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=DR0S-ocAmvo&quot;&gt;अनकही&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;क्या कभी बहार भी, पेशगी लाती है?&lt;br&gt;
आने वाले पतझड़ की&lt;br&gt;
बारिशें नाराज़गी भी जता जाती है&lt;br&gt;
कभी कभी अम्बर की&lt;br&gt;
पत्तें जो शाखों से टूटे&lt;br&gt;
बेवजह तो नहीं रूठे, हैं सभी&lt;br&gt;
सदियों पुरानी ऐसी इक कहानी रह गयी,&lt;br&gt;
रह गयी अनकही&lt;/p&gt;
&lt;p&gt;Does the spring ever signify oncoming autumn?&lt;br&gt;
Or the rains of the anger of the sky?&lt;br&gt;
The leaves that have fallen from the tree, must have parted from it for a reason!&lt;br&gt;
An age-old story like this is left unsaid.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=mIDWsTwstgs&quot;&gt;Sea of dreams&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You’ll find me In a sea of dreams&lt;br&gt;
Where no one cares about my words&lt;/p&gt;
&lt;p&gt;I heard this song on the TV show &lt;strong&gt;Bojack Horseman&lt;/strong&gt;. Upon listening to this song, I was engulfed in a weird cloud of loneliness.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=HoJtuk_k3EA&quot;&gt;Tunnels&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Birthright’s a trouble, my father dug too&lt;br&gt;
He got where he was going at the age of 62&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When will you get to where you are going?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I heard this one on the TV show Detectorists and loved these lines too much. Thanks to my friend &lt;a href=&quot;https://danishpraka.sh&quot;&gt;Danish&lt;/a&gt; for recommending this TV show to me as it truly is a gem.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=YpnWnpfJVq4&quot;&gt;Life moves on&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Life moves on&lt;br&gt;
The way life does&lt;br&gt;
But some things are prettier&lt;br&gt;
The way life was&lt;/p&gt;
&lt;p&gt;Don’t you sometimes wish some things in life stay as they were?&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=M9YGUkKphsg&quot;&gt;ज़िन्दगी प्यार का गीत है&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ज़िन्दगी प्यार का गीत है&lt;br&gt;
इसे हर दिल को गाना पड़ेगा&lt;br&gt;
ज़िन्दगी ग़म का सागर भी है&lt;br&gt;
हँस के उस पार जाना पड़ेगा&lt;/p&gt;
&lt;p&gt;Life is a song of love,&lt;br&gt;
Every heart has to sing this song.&lt;br&gt;
Life is also an ocean of sorrow,&lt;br&gt;
still, we have to cross it with a smile on our faces.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=KFwjibi-JRU&quot;&gt;कहीं तो होगी वो&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;जाने ना कहाँ वो दुनिया है,&lt;br&gt;
जाने ना वो है भी या नही,&lt;br&gt;
जहाँ मेरी ज़िन्दगी मुझसे,&lt;br&gt;
इतनी खफ़ा नही&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=AMRGmAh2NTk&quot;&gt;Najeek&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;तिम्रो आत्मा थाम्ने कसम कसरी दिऊ म जब&lt;br&gt;
आफ्नै आत्मालाई चिनेको छुइन?&lt;br&gt;
आफ्नै छायांसंग भागी दौडदैछु म, भन&lt;br&gt;
तिम्रो छायांको जिम्मा कसरी लिनु म?&lt;br&gt;
संसार छाडिहिड्ने बांचा नदेऊन&lt;br&gt;
शुरुशुरुमा त यस्तै त हो नि&lt;br&gt;
जीन्दगानीको रीतहरुले यसैउसै हामीलाई अल्झाउने नै हो&lt;/p&gt;
&lt;p&gt;काश हाम्रो भेट केही&lt;br&gt;
सालअगाडि हुन्थ्यो&lt;br&gt;
या काश हाम्रो भेट केही&lt;br&gt;
सालपछाडि हुन्थ्यो&lt;br&gt;
समय सही हुन्थ्यो&lt;br&gt;
राजै, मौसम बेग्लै हुन्थ्यो&lt;br&gt;
तर, आज हैन नजिक नआऊन&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I don’t understand Nepali, the language the song is written in, so the below translation is collected from various sources on the internet&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I run from my shadows.&lt;br&gt;
Tell me, How can I be responsible for your shadows?&lt;br&gt;
Don’t promise of leaving the world of me.&lt;br&gt;
It’s like this in the beginning&lt;br&gt;
But, life will eventually catch up to us&lt;/p&gt;
&lt;p&gt;I wish we’d met a few years ago,&lt;br&gt;
or I wish we would meet a few years hence.&lt;br&gt;
The time would’ve been right.&lt;br&gt;
The weather, different&lt;br&gt;
But not today, no, don’t come close&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=XGsx6Yi7a_Y&quot;&gt;ज़िंदगी का सफ़र&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ऐसे जीवन भी हैं जो जिए ही नहीं&lt;br&gt;
जिनको जीने से पहले ही मौत आ गयी&lt;/p&gt;
&lt;p&gt;There are lives which I have not yet lived,&lt;br&gt;
Death reached me before I could start living them.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=BmYT79bYIQw&quot;&gt;कहीं दूर जब दिन ढल जाए&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;कहीं तो ये, दिल कभी, मिल नहीं पाते&lt;br&gt;
कहीं से निकल आए, जनमों के नाते&lt;/p&gt;
&lt;p&gt;Somewhere we find it impossible to form loving connections&lt;br&gt;
and Sometimes, without significant effort, we form bonds that could last forever&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=SY1V0Y7hscw&quot;&gt;Empty&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I never learned to count my blessings&lt;br&gt;
I choose instead to dwell&lt;br&gt;
In my disasters&lt;/p&gt;
&lt;p&gt;Don’t do what the singer did!&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=bk7UHL4OJpg&quot;&gt;Maybe Katie&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Do you know everyone you ever swore you’d love for life?&lt;br&gt;
I don’t know them anymore&lt;br&gt;
I know their names, I’d recognize them on the street&lt;br&gt;
And I don’t love them&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=VEpMj-tqixs&quot;&gt;Youth&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;And if you’re still breathing, you’re the lucky ones&lt;br&gt;
&#39;Cause most of us are heaving through corrupted lungs&lt;br&gt;
Setting fire to our insides for fun&lt;br&gt;
Collecting names of the lovers that went wrong&lt;br&gt;
The lovers that went wrong&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>बरसात</title>
    <link href="https://arpit.tk/posts/barsaat/" />
    <updated>2019-10-02T00:00:00Z</updated>
    <id>https://arpit.tk/posts/barsaat/</id>
    <content type="html">&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/barsaat-rainy-road.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;फिर बरसात आ गई है,&lt;br&gt;
फिर गरीब के आँगन का चूल्हा बुझ गया है.&lt;/p&gt;
&lt;p&gt;फिर बरसात आ गई है,&lt;br&gt;
फिर तुम्हारी यादो का दिया जल गया है.&lt;/p&gt;
&lt;p&gt;गरीब सोचता होगा,&lt;br&gt;
ना जाने बरसात कब जाएगी&lt;/p&gt;
&lt;p&gt;मैं सोचता हूँ,&lt;br&gt;
ना जाने तुम कब आओगी&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>A Hospital is a Strange Place</title>
    <link href="https://arpit.tk/posts/hospital-poem/" />
    <updated>2019-09-23T00:00:00Z</updated>
    <id>https://arpit.tk/posts/hospital-poem/</id>
    <content type="html">&lt;p&gt;A hospital is a strange place,&lt;br&gt;
The epitome of human suffering.&lt;br&gt;
Corridors as busy as a bazaar,&lt;br&gt;
The chaos is maddening.&lt;/p&gt;
&lt;p&gt;A metal detector continuously beeps at a distance,&lt;br&gt;
But people’s minds are elsewhere, the noise not distracting.&lt;br&gt;
Faces are filled with concern and worry&lt;br&gt;
And the air, with the bitter smell of medicines.&lt;/p&gt;
&lt;p&gt;Ailing old people tell me the poets are right,&lt;br&gt;
Our dreams are big but alas! life is finite.&lt;br&gt;
Oh! How lucky are the kids accompanying their parents,&lt;br&gt;
Unaware of pain, their buffoonery fills the room with short-lived joy,&lt;/p&gt;
&lt;p&gt;What are we in the hands of fate?&lt;br&gt;
Nothing but a mere toy.&lt;br&gt;
Two nurses move a stretcher with an old lady around&lt;br&gt;
Her lifeless eyes stare blankly into nothingness,&lt;br&gt;
Her ride’s bumpy, but she does not make a sound.&lt;/p&gt;
&lt;p&gt;A lady prays to a deity in the main corridor&lt;br&gt;
I say to myself, Maybe god can’t save us,&lt;br&gt;
But God can give us hope.&lt;/p&gt;
&lt;p&gt;Far away at the emergency registration counter,&lt;br&gt;
A man counts money with worry on his face.&lt;br&gt;
We have to buy back life with money,&lt;br&gt;
A hospital is a strange place&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Feeling Grateful</title>
    <link href="https://arpit.tk/posts/feeling-grateful/" />
    <updated>2019-05-26T00:00:00Z</updated>
    <id>https://arpit.tk/posts/feeling-grateful/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;That video taught me two things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Always be grateful of what you have&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>मंज़िल</title>
    <link href="https://arpit.tk/posts/anjaan-raho/" />
    <updated>2018-12-27T00:00:00Z</updated>
    <id>https://arpit.tk/posts/anjaan-raho/</id>
    <content type="html">&lt;p&gt;अनजान राहों पर चले जा रहे हैं,&lt;br&gt;
और मंज़िल का पता नहीं&lt;br&gt;
जीवन-भर के वादे कर बैठे हैं&lt;br&gt;
लेकिन क्या हो जाये कल का पता नहीं&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>A Piece Of Your Heart</title>
    <link href="https://arpit.tk/posts/a-piece-of-your-heart/" />
    <updated>2018-12-27T00:00:00Z</updated>
    <id>https://arpit.tk/posts/a-piece-of-your-heart/</id>
    <content type="html">&lt;p&gt;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?&lt;/p&gt;
&lt;p&gt;Maybe in these lines, I’m pouring my heart out to let go of these feelings.&lt;br&gt;
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.&lt;/p&gt;
&lt;p&gt;I’ve stopped reading her horoscope before mine. Maybe I have moved on and this is a way of acknowledging it to myself.&lt;/p&gt;
&lt;p&gt;Anyways without wandering over to dreamland, I’ll conclude this small piece of writing.&lt;/p&gt;
&lt;h2&gt;The thing about love is that, love does not go without taking a piece of your heart along&lt;/h2&gt;
</content>
  </entry>
  <entry>
    <title>30 days of Running</title>
    <link href="https://arpit.tk/posts/running-challenge/" />
    <updated>2018-02-17T00:00:00Z</updated>
    <id>https://arpit.tk/posts/running-challenge/</id>
    <content type="html">&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/running-challenge-hero.jpeg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;But, as you might have inferred about now, none of that had happened. I was depressed. How could this have happened?&lt;/p&gt;
&lt;p&gt;On 1st February, I decided to turn my life around.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;So that was the first thing that I decided to change.&lt;/p&gt;
&lt;p&gt;I decided to run daily in the morning for 30 days.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;The world is not your problem. You are your problem and you are the solution too.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Ah, so we were talking about how I decided to run for 30 days.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;So, enough of my life story, let’s get back to the topic.&lt;/p&gt;
&lt;p&gt;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?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I wake up at the right time the next day and went running.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;And the rest is… History?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is the second kind of day that will either break you, Or Make you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mic drop…&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;(Although nobody ever reads my blogs but still) Wish me luck!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://arpit.tk/assets/images/running-challenge-demo.gif&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Computer Shenanigans</title>
    <link href="https://arpit.tk/posts/computer-shenanigans/" />
    <updated>2017-11-26T00:00:00Z</updated>
    <id>https://arpit.tk/posts/computer-shenanigans/</id>
    <content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But Apparently, Life is not that easy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Sun Had Fallen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;I guess I wasted another day instead of studying.&lt;/p&gt;
</content>
  </entry>
</feed>