<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Sabu Siyad&#39;s Blog</title>
    <subtitle>Thoughts, stories and ideas.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://ssiyad.com/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://ssiyad.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-01-03T00:00:00+00:00</updated>
    <id>https://ssiyad.com/atom.xml</id>
    <entry xml:lang="en">
        <title>Reboot</title>
        <published>2026-01-03T00:00:00+00:00</published>
        <updated>2026-01-03T00:00:00+00:00</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/reboot/"/>
        <id>https://ssiyad.com/posts/reboot/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/reboot/">&lt;p&gt;This is another attempt at rebooting my writing habits. I tried to write blog
posts again and again in the past, but I never managed to keep it up for long.
This time, I&#39;m hoping to make it stick.&lt;/p&gt;
&lt;p&gt;As a first step, I revamped this blog&#39;s design and structure. It is just pitch
black now. The stack is same. &lt;a rel=&quot;external&quot; href=&quot;https://www.getzola.org/&quot;&gt;Zola&lt;/a&gt; is still doing
the heavy lifting and GitHub pages is still hosting it for free. The design is
much more minimalistic now, focusing on content rather than flashy visuals. To
hell with designs.&lt;/p&gt;
&lt;p&gt;I also plan to write more regularly. My goal is to publish at least one post
per month, mostly on work and life updates. Hope I can keep this up!&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Spacing Hard</title>
        <published>2025-02-22T05:29:32+00:00</published>
        <updated>2025-02-22T05:29:32+00:00</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/macbook-space/"/>
        <id>https://ssiyad.com/posts/macbook-space/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/macbook-space/">&lt;p&gt;This is going to be short. So I wake early in the morning, had breakfast and
opened my laptop. The machine is a 2020 Macbook Air M1. It is a beast when it
comes to performance and reliability. Me, an avid open source enthusiast
should not be using this but huh it is hard to let this go. I got this one from
work but more on that later.&lt;/p&gt;
&lt;p&gt;So, long story short, the space bar was stuck. Not stuck as in stuck but the key
barely had any travel. If you know me, then you know what I will do next. Yes!
Fully confident in my ability to tinker with hardware, I carefully (not really)
disassembled the key (not a big deal, I know). Cleaned the area with isopropyl
alcohol. Tried to put the key back. Now the think won&#39;t go in the way which it
came out. I tried to make it push it in but it just did not work.&lt;/p&gt;
&lt;p&gt;As a self proclaimed Google (re)searcher, I tried my best at finding resources
on how to do this stuff. I found some Reddit posts, with some guidance but none
of them really helped. But one of them had a link to this video which did help!&lt;/p&gt;
  &lt;div&gt;
    &lt;iframe
      src=&quot;https://www.youtube.com/embed/cXfOYCrDLvk?start=669&quot;
      title=&quot;YouTube video player&quot;
      referrerpolicy=&quot;strict-origin-when-cross-origin&quot;
      allowfullscreen
    &gt;&lt;/iframe&gt;
  &lt;/div&gt;
&lt;p&gt;The process is not that hard. It just takes some practice. All it took is a
little push at the right point. My space bar is back to it&#39;s former glory now.
Yay! I may try disassemble the whole keyboard now that I am confident.&lt;/p&gt;
&lt;p&gt;:)&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Learning and Loving React</title>
        <published>2025-02-14T14:36:41+00:00</published>
        <updated>2025-02-14T14:36:41+00:00</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/learning-react/"/>
        <id>https://ssiyad.com/posts/learning-react/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/learning-react/">&lt;p&gt;Interestingly enough, React was my first attempt at frontend web development,
back in 2019. It didn&#39;t take me much to understand the basics then, but it
didn&#39;t excite me either. I was in college at the time, having fun with writing
Telegram bots and command line tools. Colors in an html file did not really
concern me but I tried, and failed. But after 5 years and a lot of
&lt;a rel=&quot;external&quot; href=&quot;https://vuejs.org/&quot;&gt;Vue&lt;/a&gt;, I&#39;m back in the game. This time though its a bit
different. The nuances of CSS and insanity of user experience is much more
apparent to me.&lt;/p&gt;
&lt;p&gt;This is my story of learning and loving &lt;a rel=&quot;external&quot; href=&quot;https://react.dev/&quot;&gt;React&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;the-first-attempt&quot;&gt;The first attempt&lt;/h2&gt;
&lt;p&gt;Back when I tried to learn React, it was preferring a class based approach. I
was not familiar with JavaScript classes at the time. Moreover, it felt somewhat
different from all the other frameworks I have seen before. But since it was my
first time checking out any frontend web framework, I couldn&#39;t really expect
anything. My tech stack at the time was mostly &lt;a rel=&quot;external&quot; href=&quot;https://nestjs.com/&quot;&gt;NestJs&lt;/a&gt;,
&lt;a rel=&quot;external&quot; href=&quot;https://flask.palletsprojects.com/en/stable/&quot;&gt;Flask&lt;/a&gt; and
&lt;a rel=&quot;external&quot; href=&quot;https://gin-gonic.com/&quot;&gt;Gin&lt;/a&gt;. Those frameworks, each from different languages,
were beautifully written. Examples were great and tips and tricks were really
helpful. Even if I tried, I couldn&#39;t write bad code in flask. Maybe because I
loved python, or because it was very lite weight, or because it was a backend
framework. Mind you, backend developers are obsessed with code quality and
overall hygiene. This is were I started my career, and this initial part
influenced me from there onwards.&lt;/p&gt;
&lt;p&gt;React felt nothing like those frameworks. The getting started documentation was
decent enough, but not in a level of NestJS, or Flask, or Gin. Maybe there was
some other documentation I could check but I certainly didn&#39;t see any. It does
not mean the React community is lacking any resources. There are plenty of
medium posts, video tutorials, udemy courses and many more. But an official
documentation, that too a simple one, is an important first step in a long
journey. I don&#39;t remember building anything in React at the time, except a
counter, which is what every one us build as a first project.&lt;/p&gt;
&lt;p&gt;My venture with React then came to quick stop. I could almost say the initial
novelty vanished off very quickly. The only outcome of that trial is cementing
my belief that backend developers and technologies are superior. I do realise I
was wrong, and every piece of technology is important. But lets fast forward 5
years into 2024, and I&#39;m going to try React again.&lt;/p&gt;
&lt;h2 id=&quot;once-more&quot;&gt;Once more&lt;/h2&gt;
&lt;p&gt;The year is 2024, month of September and the occasion is work. It is important
to understand that I had an option between Vue or React, and I was fairly good
with Vue at this point. But I chose React. Who does not love some challenge? I
was practicing some React here and there for some some. I wrote a counter
(again) and a tic tac toe game in React, which was a decent experience. React
suddenly did not feel as bad how I felt before, so I wanted to continue, have a
go at something I couldn&#39;t crack before.&lt;/p&gt;
&lt;h2 id=&quot;users-as-a-service&quot;&gt;Users as a service&lt;/h2&gt;
&lt;p&gt;I already told you that I was fairly comfortable with Vue. I&#39;ll tell you about
that later, in another post, maybe. But the exposure to one frontend web
framework taught me something. The way you think when writing user facing
software is different from that of backend (hidden) frameworks. Honestly, &lt;em&gt;we
are the only industry where customers are called users&lt;/em&gt; and a for a good reason.
&lt;em&gt;People use our product, and we use them. They are our lab rats. They are
idiots. They are numbers&lt;/em&gt;. A common man (or woman) does not care how good your
code is. They don&#39;t care if your method is performant. They want to see things.
They want things in the way they expect it to be. You can try it yourself. If
you are a backend developer with zero interest in user facing stuff, build
something you think you are efficient and give them to people for free. You can
have plenty of never expecting feedback quickly. I would say it is important to
touch grass once in a while, and I did, with Vue. And it made my React learning
a little bit better.&lt;/p&gt;
&lt;h2 id=&quot;css&quot;&gt;CSS&lt;/h2&gt;
&lt;p&gt;I hated CSS. It never made sense to me. But at some point in my career, I was
forced to embrace it and that changed my perspective. Don&#39;t get me wrong, CSS is
still somewhat weird, but I do see how people do it, how we can use it and how
good it is. Most of my CSS experience is with
&lt;a rel=&quot;external&quot; href=&quot;https://tailwindcss.com/&quot;&gt;Tailwind&lt;/a&gt;. Without it I couldn&#39;t call myself a CSS
ninja. We could almost say Tailwind is synonymous with CSS these days. But
enough about it, React don&#39;t need CSS to work.&lt;/p&gt;
&lt;h2 id=&quot;from-a-vue-perspective&quot;&gt;From a Vue perspective&lt;/h2&gt;
&lt;p&gt;Even though I don&#39;t want to have a bias towards Vue, it is almost impossible to
do the comparison. And this comparison is especially relevant when TypeScript is
involved. I assume you know what TypeScript is and why it is needed. I won&#39;t be
killing your time preaching something you already know.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Vue supports TypeScript but React is TypeScript.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The goodness of typing, whole of it, is readily available in React. This is no
magic, React is simply a collection of functions that compile into native
JavaScript, while Vue do some magic to convert
&lt;a rel=&quot;external&quot; href=&quot;https://news.ycombinator.com/item?id=15340300&quot;&gt;Vue DSL&lt;/a&gt; to JavaScript. The
difference is that the developer experience, at-least at the surface level, is
much better with React. You use native array map to loop through your list of
items, unlike magic in Vue. This make React somewhat east to pick up.&lt;/p&gt;
&lt;h2 id=&quot;hooks&quot;&gt;Hooks&lt;/h2&gt;
&lt;p&gt;But but! Why wasn&#39;t I able to learn this thing some time ago? Well the answer
mostly is hooks. Hooks are a newer addition to React, and these tiny blocks of
logic replaced classes. So everything is a function now, and fortunately it felt
very similar to what I did with Vue. I feel hooks and functions are much better
than classes. I personally feel the code is much more splittable now, and it
kind of helps with bigger codebases. But do not take my word for it, for I am
still learning the framework. Hooks brings their own chaos though. There are
annoying rules I have to follow when writing components. I don&#39;t know why they
have to be there but I&#39;m sure there is a reason.&lt;/p&gt;
&lt;h2 id=&quot;ecosystem&quot;&gt;Ecosystem&lt;/h2&gt;
&lt;p&gt;The ecosystem! How can I not talk about the React ecosystem? If there something
you want, there is a plugin for that in React. Whether you want design systems,
tooling or anything remotely related to React, it is there. All you have to do
is a basic web search. I love &lt;a rel=&quot;external&quot; href=&quot;https://ui.shadcn.com/&quot;&gt;shadcn/ui&lt;/a&gt;, I love
&lt;a rel=&quot;external&quot; href=&quot;https://zustand-demo.pmnd.rs/&quot;&gt;Zustand&lt;/a&gt; and I&#39;m sure there are plenty of other
such plugins we will love.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I am learning and loving React at the moment. But there are annoyances too.
There is a lack of overall code hygiene. There are signs of mediocrity. But as
someone said, this is no time for hate. That comes later.&lt;/p&gt;
&lt;p&gt;Adios!&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Breath In</title>
        <published>2025-02-13T18:41:08+00:00</published>
        <updated>2025-02-13T18:41:08+00:00</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/breath-in/"/>
        <id>https://ssiyad.com/posts/breath-in/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/breath-in/">&lt;p&gt;This is my first time writing anything in a span of an year. I rarely wrote
anything in paper in this decade. When I did, it was mostly office work or
chores. I can even say I forgot the pleasure of having a pen on paper. It used
to be quite satisfying, and now I forgot that feeling. It is not an issue with
pen and paper though. The case is same with digital tools. Though I spend a lot
of time with my computer, I rarely write anything other than code. Code, on the
other hand, is not satisfying as it once used to be.&lt;/p&gt;
&lt;p&gt;None of those issues are unique to me. Many of my friends and colleagues are
facing the same thing. I have neither the time nor the patience to investigate
why. Alas, maybe its the very reason why we are in such a situation. One thing
for sure is that it has to change, for better of-course.&lt;/p&gt;
&lt;p&gt;This is not a petition to myself, nor this is an attempt at finding anything.
This is simply me trying to write something once again, even if this is not
paper. I made some progress in my career and overall personal life. But one I
miss is my willingness to spend time to read and write. Hopefully I may turn it
around this time. Mind you, this is not first time I tried to restart my habits
but I really hope this is the last.&lt;/p&gt;
&lt;p&gt;I made some changes to this very website. It may not look prettier to you but
does to me, and I am happy with that :) I learned React in that past 4 months.
Its neither better nor worse than Vue. I kinda like it at times but not always.
More on it later.&lt;/p&gt;
&lt;p&gt;In the meantime, welcome back - me to myself.&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Retrospect</title>
        <published>2023-01-28T01:35:30+00:00</published>
        <updated>2023-01-28T01:35:30+00:00</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/retrospect/"/>
        <id>https://ssiyad.com/posts/retrospect/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/retrospect/">&lt;p&gt;Would you prefer if people only talked about the necessary bits, leaving any
emotion out of it? Regardless of your answer, it is most effective communication
method I know. Things could be very straightforward and clear, removing any
cloud of doubt in the message. This combined with logical reasoning might the
best ever form of communication we are capable of. Does this mean a perfect
human is one without emotions? Doesn&#39;t it mean we will achieve greater
efficiency and success with it?&lt;/p&gt;
&lt;p&gt;But it also means we lose apathy right? What new heighs are we going climb
without it? Why are we climbing anyways? Why not just enjoy it from the valley?
This reminds me of &lt;a rel=&quot;external&quot; href=&quot;https://www.imdb.com/title/tt0238380/&quot;&gt;Equilibrium&lt;/a&gt;. Nice
Movie. Would recommend.&lt;/p&gt;
&lt;h2 id=&quot;what-do-we-die-for&quot;&gt;What do we die for?&lt;/h2&gt;
&lt;p&gt;I am one of those who seek the meaning of life. People believe in different
things. Some strive for eternal paradise, some for peace and some for whatever
niceties they can get before and after death. Death was always interesting for
me. Maybe because dearest people died in front of me. Did they have something to
tell me, after they were dead? Or were they just, dead? I don&#39;t know. What I
know is that there isn&#39;t much for me the grand scheme of things. There is
probably no purpose to my life. There is (probably) nothing that awaits me after
death. It is said that the lifetime of a universe is the time of breath cycle of
Brahma, and we are so in-significant that the next universe will be created
right after.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think anything eternal will eventually become boring. I love to drive, but
driving forever is a punishment. Same for my favourite
snack/game/movie/paradise. Maybe eternal hell will be boring as well&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;night&quot;&gt;Night&lt;/h2&gt;
&lt;p&gt;Night is special for me. Earth (I never been outside so can&#39;t talk about other
planets) is so much more enjoyable without the light of sun. Everything comes to
life at night. There is a certain beauty to the darkness that it becomes so
possessive at times.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Fun fact: I was nicknamed &lt;em&gt;owl&lt;/em&gt; in high school&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;football-malayalam-pntuklli&quot;&gt;Football (Malayalam: പന്തുകളി)&lt;/h2&gt;
&lt;p&gt;Northern Kerala (Malabar) has a special festival that happens mostly in winter.
It is called &lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Sevens_football&quot;&gt;sevens football&lt;/a&gt;
tournaments. Trust me, we love football. But we also love to butcher it. If you
know football, you know it is (officially) played with 11 players on each team.
But we play it with 7 on each. Matches are extremely physical, and are played in
a mud pitch. Venues are usually wide fields (we have a lot of paddy fields) or
school grounds. They may not have the necessary infrastructure, hence everything
is built temporarily, using arecanut tree, including the gallery. The atmosphere
is usually electric, sometimes violent, and rarely chaotic.&lt;/p&gt;
&lt;p&gt;It has been a while since I went to one of these events. Past week, me and a
friend very accidentally got into one. We were out for our usual evening walk,
and saw fireworks from distance. I knew about the event and we decided to check
it out. By the team we reached there, it was already half time. I was not really
interested in getting in. Mostly because I unknowingly developed this football
elitism, in which only higher tier (read English Premier League) football is
considered actual. All other forms are seen as disgraces. But as you may have
imagined, we finally got in. This happened because of two things&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There was nobody to check tickets&lt;/li&gt;
&lt;li&gt;The atmosphere suddenly became so loud (became interesting)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://ssiyad.com/posts/retrospect/./football.jpg&quot; alt=&quot;football&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I did not know which teams were playing, or at what time this will end. Any of
decision is immediately followed by a regret check. I don&#39;t regret any of it,
but sometimes make changes to catch up. In this case, I felt like I am alone in
a crowd (friend beside me), and it wouldn&#39;t be false to say I considered
leaving. After a while though, I found myself cheering both teams. I cussed at
both teams, and found home in both teams. These tournaments import a lot of
manpower from african continent. They don&#39;t understand the local language, nor
does locals understand them. But in the heat of the moment, everybody understand
everybody else. I could read their happiness, curses, antics and whatnot without
any words. I know they were not teaching quantum physics in that football field,
but I felt emotions are as powerful as words.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Unexpressed emotions will never die. They are buried alive and will come forth
later in uglier ways. - Sigmund Freud&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;kathakali-malayalam-kthklli&quot;&gt;Kathakali (Malayalam: കഥകളി)&lt;/h2&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Kathakali&quot;&gt;Kathakali&lt;/a&gt; (katha: story, kali: play)
is a classical dance form native to (Southern) Kerala. It is boring, not at all
engaging and you need to have a lot of knowledge to even understand what is
going on. The pace is usually extremely slow and it takes forever to finish.&lt;/p&gt;
&lt;p&gt;I watched kathakali before, but as part of school and college art festivals. But
that is not why we (or me) attend such events. The blood brooding youth does not
usually show interest in such art. Long story short, even though it is very
popular in my state, I had no idea what it actually is.&lt;/p&gt;
&lt;p&gt;Me and friend were out for some shopping. And while passing a temple, we heard
some music. On the way back, curious to know what was happening there, we went
in. Unsurprisingly, it was kathakali. Now you know I don&#39;t like it, but decided
to give it a try. We spent about 2 hours there, and realized&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I&#39;m not in school/college anymore&lt;/li&gt;
&lt;li&gt;I don&#39;t understand a thing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Third point must be obvious. You have to have some knowledge about the story
that is being presented. I don&#39;t have any such knowledge, and didn&#39;t understand
a thing.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Kathakali actors don&#39;t speak (the speak a sign language tbf), they only act.
There is supposed to be a song in background iirc, but wasn&#39;t that case here.
I might be wrong tho. Maybe we need words to effectively communicate&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&quot;https://ssiyad.com/posts/retrospect/./kathakali.jpg&quot; alt=&quot;kathakali&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I was more invested in the music, acting and atmosphere. It was all dark except
for a few lamps in the building. There was a &lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Nilavilakku&quot;&gt;traditional fire lamp&lt;/a&gt;
in front of the stage, and a few other lamps in the stage. It all means,
everything other than the stage/actor was grayed out. So you could really
notice all the expressions and emotions on his face, and the accompanying music
amplified it the next level. Every bit of that music transferred his emotions
straight into my heart. I could feel the anger, panic and ultimately regret. It
made me so immersed that I could visualise the scene myself (not knowing the
story became a boon, because I now have the freedom to make up my own). It made
me think if sound/atmosphere actually contribute to effective communications. My
answer would be yes, it does. Interestingly,
&lt;a rel=&quot;external&quot; href=&quot;https://theconversation.com/whats-behind-the-obsession-over-whether-elizabeth-holmes-intentionally-lowered-her-voice-177961&quot;&gt;this&lt;/a&gt;
came into mind.&lt;/p&gt;
&lt;h2 id=&quot;kantara&quot;&gt;Kantara&lt;/h2&gt;
&lt;p&gt;You might know &lt;a rel=&quot;external&quot; href=&quot;https://www.imdb.com/title/tt15327088/&quot;&gt;Kantara&lt;/a&gt;. It tells the
story of a remote village and their traditions. I&#39;m not a movie reviewer so I
can&#39;t entertain you with all the technicalities. The movie did not impress me
much, except the rare occasions in which the demigod appears. I am not a
believer, so I won&#39;t talk about god and stuff. What made it interesting is the
background score. It was so chilling and engaging that it conveyed the message
pretty well. But in the end, it is a movie and I&#39;m watching it in air
conditioned cinema theater.&lt;/p&gt;
&lt;p&gt;Watching kathakali though, is a very similar very different experience.
Everything felt hyper realistic, nerve chilling and engaging. Our ability to
communicate (universally) with slighter movements of muscles is fascinating. I
would recommend you to try any of these arts. There are plenty in our great
nation.&lt;/p&gt;
&lt;h2 id=&quot;why-though&quot;&gt;Why though?&lt;/h2&gt;
&lt;p&gt;These events (with numerous others) taught me that we are, in the end, simply
live to live. It is hard to survive in a world where competition is in it&#39;s
extreme. We often forget to enjoy the things around us. We miss the opportunity
to actually live instead of being in a rat race. I still don&#39;t know the purpose
of life, but I now know there are places to go and things to do, starting from
home. Maybe we don&#39;t need to be all logical. Some things don&#39;t make sense at
all, but they still make you happy (how do you define happiness?). Maybe words
are not the basis of communication. Instead they could be tip of this iceberg.
With emotions deep under.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#39;Which is more important,&#39; asked Big Panda, &#39;the journey or the destination?&#39;
&#39;The company,&#39; said Tiny Dragon.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Thanks for bearing with me, adios!&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Veronika Decides To Try JavaScript</title>
        <published>2022-08-23T20:52:29+05:30</published>
        <updated>2022-08-23T20:52:29+05:30</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/veronika-decides-to-try-javascript/"/>
        <id>https://ssiyad.com/posts/veronika-decides-to-try-javascript/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/veronika-decides-to-try-javascript/">&lt;p&gt;That’s a joke, she didn’t. Instead, she decides to die only to meet a new world of infinite
possibilities that awaited her. She is a character from Paulo Coelho’s stellar novel titled
‘Veronika Decides to Die’. If you haven’t read it already, I suggest you do. It’s a good
book with a very much relatable setting. Meanwhile, I thought it might make a good title so
here we are.&lt;/p&gt;
&lt;p&gt;You might be thinking, what is this about then, if not Veronika? yes! it’s JavaScript! Even
tho I’m not a big fan of JavaScript, I find it quite tinker-able and useful. JavaScript
makes its way into almost everything, from front-end web development to smartphone
applications. If you’re one of those who use VSCode, your editor runs on JavaScript. If you
happen to use any cross-platform desktop applications, it is probably an electron app that
renders JavaScript in a polished window. That being said, if you’re a JavaScript guru,
please ignore the rest of this post, and wave your hands as you close this window. If
you’re going to continue reading, let me welcome you to the problem and the reasons for it.&lt;/p&gt;
&lt;h2 id=&quot;the-backstory&quot;&gt;The Backstory&lt;/h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt; 1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt; 1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is good, both &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; have a value of &lt;code&gt;1&lt;/code&gt; and when we check if &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt;
are equal (&lt;code&gt;==&lt;/code&gt;), it returns &lt;code&gt;true&lt;/code&gt; which means both &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; have equal values.
Let&#39;s also note that,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; typeof&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#79740E, #B8BB26);&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; typeof&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#79740E, #B8BB26);&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And let&#39;s try,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Why wouldn&#39;t &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; not equal? They are both empty right? Well, as developer docs says,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If the operands are both objects, return true only if both operands reference the same object.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That means a and b have different memory addresses unlike,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; =&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: light-dark(#076678, #83A598);&quot;&gt; b&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;where a point to b and equality is satisfied. In the case of primitive values like in the first
case, we have a different condition that says,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If the operands have the same type, they are compared as follows:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;String&lt;/code&gt;: return &lt;code&gt;true&lt;/code&gt; only if both operands have the same characters in the same order.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Number&lt;/code&gt;: return &lt;code&gt;true&lt;/code&gt; only if both operands have the same value. &lt;code&gt;+0&lt;/code&gt; and &lt;code&gt;0&lt;/code&gt; are
treated as the same value. If either operand is &lt;code&gt;NaN&lt;/code&gt;, return &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Boolean&lt;/code&gt;: return &lt;code&gt;true&lt;/code&gt; only if operands are both &lt;code&gt;true&lt;/code&gt; or both &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-problem&quot;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;We know that,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; typeof&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#79740E, #B8BB26);&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and let&#39;s try,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;false&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is known since both have different memory addresses and variables referencing different
objects do not satisfy equality. But then we can,&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; &amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#9D0006, #FB4934);&quot;&gt; &amp;amp;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; &amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;which to be frank, looks like an abomination but helps me spit this point. This essentially
means we have equality satisfied but at a very high cost. But why would this work when ==
doesn’t? Because we have a different algorithm for &amp;lt; and &amp;gt;. From developer docs,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;First, objects are converted to primitives using Symbol.ToPrimitive with the hint parameter
be &#39;number&#39;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If both values are strings, they are compared as strings, based on the values of the Unicode
code points they contain. Otherwise JavaScript attempts to convert non-numeric types to
numeric values: Boolean values true and false are converted to 1 and 0 respectively. null is
converted to 0. undefined is converted to NaN. Strings are converted based on the values they
contain, and are converted as NaN if they do not contain numeric values. If either value is
NaN, the operator returns false. Otherwise the values are compared as numeric values.&lt;/p&gt;
&lt;p&gt;So what &lt;code&gt;&amp;lt;&lt;/code&gt; and &lt;code&gt;&amp;gt;&lt;/code&gt; does is converting the date object to its numerical value, which is the
number of milliseconds between 1 January 1970 00:00:00 UTC and the given date aka the
epoch.* JavaScript use &lt;code&gt;Date.prototype.valueOf()&lt;/code&gt; behind the scenes to convert a date object
to a primitive value. But we can use &lt;code&gt;Date.prototype.getTime()&lt;/code&gt; since &lt;code&gt;Date.prototype.valueOf()&lt;/code&gt;
is usually called internally by JavaScript and not explicitly in code.&lt;/p&gt;
&lt;h2 id=&quot;the-solution&quot;&gt;The Solution&lt;/h2&gt;
&lt;p&gt;Now we know what was wrong, and how we should actually equality check date objects&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#3C3836, #EBDBB2); background-color: light-dark(#FBF1C7, #282828);&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt;getTime&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#427B58, #8EC07C);&quot;&gt; ==&lt;/span&gt;&lt;span style=&quot;color: light-dark(#AF3A03, #FE8019);&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt; Date&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span style=&quot;color: light-dark(#7C6F64, #A89984);&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B57614, #FABD2F);&quot;&gt;getTime&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#8F3F71, #D3869B);&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;that-s-it&quot;&gt;That&#39;s it!&lt;/h2&gt;
&lt;p&gt;JavaScript is a weird programming language to learn, but it&#39;s also a fun experience. So if you
decide to try it, like Veronika, I&#39;d recommend you to play with its core, there is a lot to
explore. Thanks for reading!&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>ClubHouse Sucks</title>
        <published>2022-08-23T20:37:30+05:30</published>
        <updated>2022-08-23T20:37:30+05:30</updated>
        
        <author>
          <name>Unknown</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://ssiyad.com/posts/clubhouse-sucks/"/>
        <id>https://ssiyad.com/posts/clubhouse-sucks/</id>
        
        <content type="html" xml:base="https://ssiyad.com/posts/clubhouse-sucks/">&lt;p&gt;If you don&#39;t know what ClubHouse is, check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Clubhouse_(app)&quot;&gt;Clubhouse (app) - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;https://www.joinclubhouse.com/&quot;&gt;Clubhouse: Drop-in audio chat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;inherent-problems&quot;&gt;Inherent Problems&lt;/h2&gt;
&lt;p&gt;When I look back at social media platforms I been a part of, it makes me think if
ClubHouse will ever be able to solve it&#39;s inherent problems of being an online
platform. Provided, ClubHouse is still in beta and registration is solely based on
invitation from existing users. Even then I saw an noticeable number of faceless
folk here and there. Don&#39;t get me wrong, I very much promote anonymity in public
places, especially when it comes to online communities. But a platform which very
much boast it&#39;s &lt;em&gt;real identity policy&lt;/em&gt;, it seemed like the very opposite of
what the platform stands for. A few of them were even moderators of some really big
chat rooms where a lot of real people did not have the chance to speak.&lt;/p&gt;
&lt;p&gt;To quote Martin Garrix,&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Using social media to hurt and destroy is callous, acted out by cowards hiding
behind computers. My advice is to ignore negativity. Focus on the love around.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ClubHouse managed to fix this to a point, but not in a perfect way. Something like
strict verification using volunteers/staff would have been a lot better.&lt;/p&gt;
&lt;h2 id=&quot;freshness&quot;&gt;Freshness&lt;/h2&gt;
&lt;p&gt;A lot of people I know praise ClubHouse for it&#39;s freshness. I don&#39;t get it. As far
as I understand, ClubHouse is a modern-podcast platform aka the voice chat. The idea
of podcasts are very well known and there are multiple instant messengers with voice
chat, like WhatsApp and Telegram. And there is numerous video-communication services
which is nowadays used by people all around the world to conduct meetings and stuff.
Heck, there is discord which is literally &lt;em&gt;ClubHouse + numerous other features&lt;/em&gt; like
text channels, roles and much more good moderation. You should give it a try if you
didn&#39;t already. That being said, &lt;em&gt;ClubHouse is old wine in new bottle&lt;/em&gt;. There is
nothing new as advertised.&lt;/p&gt;
&lt;h2 id=&quot;privacy-or-anonymity&quot;&gt;Privacy (or Anonymity)&lt;/h2&gt;
&lt;p&gt;It should be an important aspect of every communication medium in today&#39;s world, or so I
believe. No one would know what happens in China if anonymity was not important.
&lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Arab_Spring&quot;&gt;Arab Spring&lt;/a&gt; wouldn&#39;t have happened. No news
of anything that ever happens in any &lt;a rel=&quot;external&quot; href=&quot;https://en.wikipedia.org/wiki/Authoritarianism&quot;&gt;authoritarian&lt;/a&gt;
country will reach us. Anonymity is really a boon when it comes to real life. I understand
that it is sometimes a pain in the ass to control these trolls and whatnot, but it is
a price we pay for having platform where we can safely and courageously broadcast or
ideas. Without anonymity, I would have be jailed/dead already, much like a majority
of people I interact with. In a modern world where criticism against governing bodies
are being suppressed with great strength, it is important to have such anonymous
friends to speak up certain things.&lt;/p&gt;
&lt;p&gt;When it comes to privacy, I&#39;d like if ClubHouse does not tell my followers what I am
listening to, or speaking to, in their front page. I very much hate that. If I
participate in a discussion, it means I&#39;m interested in it and does not mean I want
all my friends to let know I&#39;m in such a discussion. It is even worse when anyone
could follow me and spy me like ever before.&lt;/p&gt;
&lt;p&gt;Thus, I suspect if ClubHouse have any preference for privacy or anonymity and I very
much hate that.&lt;/p&gt;
&lt;h2 id=&quot;synchronicity&quot;&gt;Synchronicity&lt;/h2&gt;
&lt;p&gt;From Wikipedia:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;synchronous: At the same time, at the same frequency&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Almost every online communication tool is asynchronous, and there is a reason for it.
Our &lt;em&gt;real life&lt;/em&gt; is very much different from our &lt;em&gt;online life&lt;/em&gt;, even if seems to be the
one and same. Let&#39;s assume they are two threads in our program. &lt;em&gt;online life&lt;/em&gt; is fast
and you may loose many updates if you try to block it for even a little interval. &lt;em&gt;real
life&lt;/em&gt; on the other hand is slow and you&#39;re committed to it 100%.&lt;/p&gt;
&lt;p&gt;From &lt;a rel=&quot;external&quot; href=&quot;https://www.imdb.com/title/tt1375666/&quot;&gt;Inception&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cobb: Well, dreams, they feel real while we&#39;re in them right? Its only when we wake
up then we realize that something was actually strange.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Like dreams, you engage too much in social media, you lose track of real life and start
to live in a very artificial -handpicked for you- mental state. This is why a lot of
social media platforms start as &lt;em&gt;asynchronous&lt;/em&gt; and starts to sync you in with constant
notifications. An &lt;em&gt;asynchronous&lt;/em&gt; platform is where you start something, do something
else, come back and finish what you previously started. This enables you to engage in
both worlds while being a slave to neither.&lt;/p&gt;
&lt;p&gt;as an exact opposite to this, ClubHouse starts &lt;em&gt;synchronous&lt;/em&gt; and stay &lt;em&gt;synchronous&lt;/em&gt;.
You are expected to stay 100% committed to any event unlike &lt;em&gt;asynchronous&lt;/em&gt; platforms
where you could take occasional breaks.&lt;/p&gt;
&lt;p&gt;I&#39;d also say, ClubHouse success is a side effect of recent situations where a lot of
us are unable interact with the society around us, which leaves a big gaps in our
daily schedule and let us commit to things we disagreed to before.&lt;/p&gt;
&lt;h2 id=&quot;sound-as-a-medium&quot;&gt;Sound as a medium&lt;/h2&gt;
&lt;p&gt;I very much like to listen to things, but I like to read more. So my views are biased
and may make no sense to you, beware. We all value our time. Me too. I&#39;d love it when
people actually prepare beforehand and talk about about things clear and fair.
Unfortunately that&#39;s not what I experienced from ClubHouse. After all, we are all
common people and have our own weaknesses, but I&#39;d rather listen to TED talk rather
than a ClubHouse discussion.&lt;/p&gt;
&lt;p&gt;That being said, it is impossible to re-read (or re-analyze/re-listen) conversations,
unless you manage to record them, which I consider to be very unethical if you don&#39;t
have permission from every speaker participating. Even if a re-reading/re-listening is
possible, it will be very harder to cross reference than in case of text.&lt;/p&gt;
&lt;p&gt;Also, me being an introvert, would like to participate in a way other than speaking, and
an absence of such feature makes me think if ClubHouse is not for my kind.&lt;/p&gt;
&lt;h2 id=&quot;does-it-really-suck&quot;&gt;Does it really suck?&lt;/h2&gt;
&lt;p&gt;I think so. But in the end, it is just my opinion. Yours may differ and I&#39;m perfectly okay
with that. I&#39;ll encourage you to contribute more and more the society we live in. It
just feels that it is not for me.&lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;
</content>
        
    </entry>
</feed>
