<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>scientiac::syntropy</title>
    <subtitle>A Computer Engineering student who loves FOSS and is learning about privacy, the Internet and languages writing about the things he does.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://scientiac.space/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://scientiac.space"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-02-14T00:00:00+00:00</updated>
    <id>https://scientiac.space/atom.xml</id>
    <entry xml:lang="en">
        <title>Clinical Love</title>
        <published>2026-02-14T00:00:00+00:00</published>
        <updated>2026-02-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/clinical-love/"/>
        <id>https://scientiac.space/blog/clinical-love/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/clinical-love/">&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;&lt;code&gt;01: Keep Her Smiling&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;02: Treat Her Better&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;03: Make Her Laugh&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;04: Give Her Flowers&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;05: Take Her Places&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;06: Listen Her Voices&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;07: Buy Her Sweets&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;08: Show Her Respect&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;09: Protect Her Worth&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;10: Leave Her Space&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;em&gt;
&lt;p&gt;It&#x27;s a list of order that you cannot touch.&lt;br &#x2F;&gt;
Some BID, Some QD but never too much.&lt;br &#x2F;&gt;
If L status drops, PRN increase the doses.&lt;br &#x2F;&gt;
Always test the stats with a bouquet of roses.&lt;&#x2F;p&gt;
&lt;p&gt;Treat the patient with nourishment and a gentle care.&lt;br &#x2F;&gt;
Don&#x27;t stop the treatment till the speech is fully clear.&lt;br &#x2F;&gt;
Remember this advice, before taking part in a fight.&lt;br &#x2F;&gt;
Never miss the endearments, no matter day or night.&lt;&#x2F;p&gt;
&lt;p&gt;Trust the procedure and follow the protocol.&lt;br &#x2F;&gt;
Make sure to keep her VS steady and normal.&lt;br &#x2F;&gt;
Talk a little less but keep listening to her rambles.&lt;br &#x2F;&gt;
Don&#x27;t put too much effort, just be kind and humble.&lt;&#x2F;p&gt;
&lt;&#x2F;em&gt;
&lt;&#x2F;div&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Kiss</title>
        <published>2026-02-13T00:00:00+00:00</published>
        <updated>2026-02-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/kiss/"/>
        <id>https://scientiac.space/blog/kiss/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/kiss/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;I had forgotten the world.&lt;br &#x2F;&gt;
Didn&#x27;t know what&#x27;s real from fake.&lt;br &#x2F;&gt;
I trusted all of you.&lt;br &#x2F;&gt;
Never realizing that it was a mistake.&lt;br &#x2F;&gt;
I treated you like my soul.&lt;br &#x2F;&gt;
Not knowing the taste of heartbreak.&lt;br &#x2F;&gt;
I gave you all of me and more.&lt;br &#x2F;&gt;
Clearly unknown about what was at stake.&lt;&#x2F;p&gt;
&lt;p&gt;I wanted to see you happy.&lt;br &#x2F;&gt;
But, the efforts kept making me weak.&lt;br &#x2F;&gt;
I listened to all your stories.&lt;br &#x2F;&gt;
Many nights I didn&#x27;t sleep.&lt;br &#x2F;&gt;
I gave you all my secrets.&lt;br &#x2F;&gt;
Of mistakes made, that I&#x27;d rather die with.&lt;br &#x2F;&gt;
I used to wish that you&#x27;d know me.&lt;br &#x2F;&gt;
Before knowing that our dream was just a myth.&lt;&#x2F;p&gt;
&lt;p&gt;I let you rule my mind.&lt;br &#x2F;&gt;
Didn&#x27;t suspect a bit, of what was making me sick.&lt;br &#x2F;&gt;
I didn&#x27;t care about myself.&lt;br &#x2F;&gt;
From you, I learned what was narcissistic.&lt;br &#x2F;&gt;
I have finally cracked the code.&lt;br &#x2F;&gt;
Now I know, that it was all a trick.&lt;br &#x2F;&gt;
I had never suspected a thing.&lt;br &#x2F;&gt;
Hallucinating to the taste of your lipstick.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Hug</title>
        <published>2026-02-12T00:00:00+00:00</published>
        <updated>2026-02-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/hug/"/>
        <id>https://scientiac.space/blog/hug/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/hug/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;I&#x27;ll keep you warm, I&#x27;ll tuck you tight.&lt;br &#x2F;&gt;
You&#x27;ll never want to leave.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll lose track of time, you&#x27;ll realize.&lt;br &#x2F;&gt;
My love is addictive.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll hold your hands, I&#x27;ll make you dance.&lt;br &#x2F;&gt;
You&#x27;ll want me even more.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll compete with me, you&#x27;ll want to win.&lt;br &#x2F;&gt;
On who loves whom the most.&lt;&#x2F;p&gt;
&lt;p&gt;We&#x27;ll go on a walk, I&#x27;ll make you laugh.&lt;br &#x2F;&gt;
You&#x27;ll forget your way back home.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll want me to rest, stick me to your chest.&lt;br &#x2F;&gt;
And kiss me on your own.&lt;&#x2F;p&gt;
&lt;p&gt;I won&#x27;t just try, I&#x27;ll never lie.&lt;br &#x2F;&gt;
You&#x27;ll miss me when I&#x27;m far.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll want me so bad, that you&#x27;ll start,&lt;br &#x2F;&gt;
wishing me to the stars.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll be your man, and by your side.&lt;br &#x2F;&gt;
In sadness and hard times.&lt;&#x2F;p&gt;
&lt;p&gt;When you are sad, I&#x27;ll make you sleep.&lt;br &#x2F;&gt;
With my lullabies and rhymes.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll keep you awake, we&#x27;ll talk all night.&lt;br &#x2F;&gt;
Our future and past lives.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll share with me, the secrets you keep.&lt;br &#x2F;&gt;
Beyond mere truth and lies.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m always there, for you in need.&lt;br &#x2F;&gt;
You&#x27;ll always have a friend.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;ll think of me, and the things we did.&lt;br &#x2F;&gt;
Hoping it never ends.&lt;&#x2F;p&gt;
&lt;p&gt;I wish to give, a gift so sweet.&lt;br &#x2F;&gt;
You&#x27;d wish that you were mine.&lt;&#x2F;p&gt;
&lt;p&gt;A hug so firm, and full of love.&lt;br &#x2F;&gt;
It transcends space and time.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Promise</title>
        <published>2026-02-11T00:00:00+00:00</published>
        <updated>2026-02-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/promise/"/>
        <id>https://scientiac.space/blog/promise/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/promise/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;What could have been if promises were enforced?&lt;br &#x2F;&gt;
A price to pay for every broken promises.&lt;br &#x2F;&gt;
Would people still make them and take them lifelong.&lt;br &#x2F;&gt;
Promises will be extinct, if I know the people where I&#x27;m from.&lt;br &#x2F;&gt;
Where I&#x27;m from, people would die if they made promises.&lt;br &#x2F;&gt;
People will cry from all the punishments.&lt;br &#x2F;&gt;
Only the bravest could make a promise,&lt;br &#x2F;&gt;
with no bad intentions, who&#x27;s disciplined and honest.&lt;&#x2F;p&gt;
&lt;p&gt;Looking at a mirror, I have made my fair share.&lt;br &#x2F;&gt;
Most have been broken while some are safe.&lt;br &#x2F;&gt;
When I think about my promises, it fills me with rage.&lt;br &#x2F;&gt;
Writing poems to calm down is just one of the ways.&lt;br &#x2F;&gt;
For me, the cost of a promise was rage and pain.&lt;br &#x2F;&gt;
Lost some of myself that now I cannot gain.&lt;br &#x2F;&gt;
A promise can make a bond so strong, that&#x27;s unheard of.&lt;br &#x2F;&gt;
But, don&#x27;t you dare make a promise when you know you can not love.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Teddy</title>
        <published>2026-02-10T00:00:00+00:00</published>
        <updated>2026-02-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/teddy/"/>
        <id>https://scientiac.space/blog/teddy/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/teddy/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;As a poet, I am not ready.&lt;br &#x2F;&gt;
Hurts my brain trying to rhyme teddy.&lt;br &#x2F;&gt;
Maybe something related to lady?&lt;br &#x2F;&gt;
Writing this poem, I&#x27;m going crazy.&lt;br &#x2F;&gt;
Just buy a teddy and give it to your baby.&lt;br &#x2F;&gt;
Heck buy a barbie and surprise her maybe?&lt;br &#x2F;&gt;
Completing this poem is making me hungry.&lt;br &#x2F;&gt;
Now, all I can think is about chicken gravy.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Chocolate</title>
        <published>2026-02-09T00:00:00+00:00</published>
        <updated>2026-02-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/chocolate/"/>
        <id>https://scientiac.space/blog/chocolate/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/chocolate/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;Never doubt the power of something sweet.&lt;br &#x2F;&gt;
Intoxicates your mind till you cannot quit.&lt;&#x2F;p&gt;
&lt;p&gt;White lies in it to make you feel better.&lt;br &#x2F;&gt;
You&#x27;ll learn to love it, even when it&#x27;s bitter.&lt;&#x2F;p&gt;
&lt;p&gt;Glitters in the wrapper, with a price to pay.&lt;br &#x2F;&gt;
It&#x27;s always worth it. It&#x27;ll make you say.&lt;&#x2F;p&gt;
&lt;p&gt;Reasoning consumption, is an unpopular opinion.&lt;br &#x2F;&gt;
Following trends like a bunch of minions.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s never true that something is always bad.&lt;br &#x2F;&gt;
Even death&#x27;s pretty, losing something you once had.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m so desperate, I don&#x27;t even fear death.&lt;br &#x2F;&gt;
In my deathbed, bring me a bag of chocolate.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Propose</title>
        <published>2026-02-08T00:00:00+00:00</published>
        <updated>2026-02-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/propose/"/>
        <id>https://scientiac.space/blog/propose/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/propose/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;Should I state the truth or just follow.&lt;br &#x2F;&gt;
Fluffy coat around my heart that&#x27;s hollow.&lt;br &#x2F;&gt;
Follow the rainbow just to see your eyes glow?&lt;br &#x2F;&gt;
I&#x27;ll give you my truth and let the tears fall low.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m not sure if it&#x27;s an ask or you&#x27;re telling.&lt;br &#x2F;&gt;
I wonder if it&#x27;s a want or you&#x27;re just wishing.&lt;br &#x2F;&gt;
You had to get it out. Was it really killing?&lt;br &#x2F;&gt;
I doubt that it was more than just a feeling.&lt;&#x2F;p&gt;
&lt;p&gt;With a box of chocolate and a bouquet or a rose,&lt;br &#x2F;&gt;
teasing your chances for a small love dose.&lt;br &#x2F;&gt;
No matter the story, the end had to hurt us.&lt;br &#x2F;&gt;
Choosing to propose someone lacking a purpose.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Rose</title>
        <published>2026-02-07T00:00:00+00:00</published>
        <updated>2026-02-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/rose/"/>
        <id>https://scientiac.space/blog/rose/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/rose/">&lt;em&gt;
&lt;div style=&quot;text-align: left&quot;&gt;
&lt;p&gt;Dear Rose,&lt;&#x2F;p&gt;
&lt;p&gt;You don&#x27;t have a choice to make.&lt;br &#x2F;&gt;
With me, your thorns don&#x27;t need to break.&lt;br &#x2F;&gt;
You&#x27;ll have nothing at stake.&lt;br &#x2F;&gt;
You are red, the smell of blood, no need to fake.&lt;br &#x2F;&gt;
Now&#x27;s the time to wake, don&#x27;t wait.&lt;br &#x2F;&gt;
It&#x27;s the only chance you&#x27;ll get.&lt;br &#x2F;&gt;
Only a miracle that you and I met.&lt;br &#x2F;&gt;
With me you&#x27;ll forget, all the things in your head,&lt;br &#x2F;&gt;
that keeps you awake, crying on your bed.&lt;br &#x2F;&gt;
You can make the same mistakes, this time.&lt;br &#x2F;&gt;
There will be no regrets, when you&#x27;re mine.&lt;br &#x2F;&gt;
Poke holes in my heart, it still is fine.&lt;br &#x2F;&gt;
Be my queen of darkness, no need to shine.&lt;br &#x2F;&gt;
My partner in crime, red blood in my wine.&lt;br &#x2F;&gt;
Be on my mind, all the time, it&#x27;s weird I write,&lt;br &#x2F;&gt;
all the words I rhyme, I will stop the time,&lt;br &#x2F;&gt;
wipe all mankind, just give me your word,&lt;br &#x2F;&gt;
that you will always be mine.&lt;br &#x2F;&gt;
And, forever will be mine.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Re: Static Site Webmention</title>
        <published>2026-01-10T00:00:00+00:00</published>
        <updated>2026-01-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/reply-2026-01-10/"/>
        <id>https://scientiac.space/syndications/reply-2026-01-10/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/reply-2026-01-10/">&lt;p&gt;&lt;a class=&quot;u-in-reply-to&quot; href=&quot;https:&#x2F;&#x2F;islandinthenet.com&#x2F;sn&#x2F;142426&#x2F;&quot;&gt;Khürt&lt;&#x2F;a&gt;, think you got mistaken, I am not Joel! Was the mention supposed to be for me?&lt;&#x2F;p&gt;
&lt;p&gt;I see that you yourself have a &lt;code&gt;URL&#x2F;Permalink&lt;&#x2F;code&gt; input field to send mentions, mine is the same. And it is only for the ones who haven&#x27;t &lt;a href=&quot;https:&#x2F;&#x2F;webmention.app&#x2F;docs#using-the-command-line&quot;&gt;automated sending&lt;&#x2F;a&gt; them in their site building pipeline.&lt;&#x2F;p&gt;
&lt;p&gt;It is only there as an option. In case the automation fails or is not set up.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: File System</title>
        <published>2026-01-05T00:00:00+00:00</published>
        <updated>2026-01-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2026-01-05/"/>
        <id>https://scientiac.space/syndications/kl-os-2026-01-05/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2026-01-05/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-15.md&quot;&gt;Day 15&lt;&#x2F;a&gt; was about File System.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;operating-system-in-1000-lines.vercel.app&#x2F;en&#x2F;&quot;&gt;book&lt;&#x2F;a&gt; that I am following has come to an end with &lt;strong&gt;File System&lt;&#x2F;strong&gt; as the final chapter where it teaches to implement &lt;code&gt;tar&lt;&#x2F;code&gt; file as a filesystem.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;tar&lt;&#x2F;code&gt; is an archive format (like zip) that can contain multiple files. It contains file contents, filenames, creation dates, and other information necessary for a filesystem. Compared to common filesystem formats like FAT or ext2, tar has a much simpler data structure.&lt;&#x2F;p&gt;
&lt;p&gt;First a simple directory with two files is made as an example which is then archived&#x2F;compressed into the &lt;code&gt;tar&lt;&#x2F;code&gt; format using the command line &lt;code&gt;tar&lt;&#x2F;code&gt; tool. Which, also is added to the &lt;code&gt;buildscript&lt;&#x2F;code&gt; before launching the &lt;code&gt;qemu&lt;&#x2F;code&gt; VM.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt; disk &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;amp;&amp;amp; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;tar cf ..&#x2F;disk.tar --format&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ustar &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;.txt&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# The following flag is also added to qemu.
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;-drive id=drive0,file=disk.tar,format=raw,if=none \
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To read the filesystem, first, the data structures related to the tar filesystem is defined in &lt;code&gt;kernel.h&lt;&#x2F;code&gt;. This implementation has all files read from the disk at boot.&lt;&#x2F;p&gt;
&lt;p&gt;To write to the disk, the contents of the &lt;code&gt;files&lt;&#x2F;code&gt; variable is written back to the disk in the tar file format. The &lt;code&gt;files&lt;&#x2F;code&gt; variable contains the copy of the &lt;code&gt;disk&lt;&#x2F;code&gt; variable declared as a static variable (It is a temporary buffer and, since the stack has a limited size it is preferred to use static variable instead of local &lt;code&gt;stack&lt;&#x2F;code&gt; variable.) which contains the disk image.&lt;&#x2F;p&gt;
&lt;p&gt;File read&#x2F;write system calls are then designed in the &lt;code&gt;user.c&lt;&#x2F;code&gt; and &lt;code&gt;user.h&lt;&#x2F;code&gt; files and then the system calls are implemented on the kernel files and then the system calls are implemented in the kernel. We also add the read and write commands to the shell.&lt;&#x2F;p&gt;
&lt;p&gt;But, we still have to address the user pointers.&lt;&#x2F;p&gt;
&lt;p&gt;In RISC-V, the behaviour of &lt;code&gt;S-Mode&lt;&#x2F;code&gt; (kernel) can be configured through &lt;code&gt;sstatus&lt;&#x2F;code&gt; &lt;code&gt;CSR&lt;&#x2F;code&gt;, including SUM (permit Supervisor User Memory access) bit. When SUM is not set, &lt;code&gt;S-Mode&lt;&#x2F;code&gt; programs (i.e. kernel) cannot access U-Mode (user) pages.&lt;&#x2F;p&gt;
&lt;p&gt;All we need to do is to set the SUM bit when entering user space and voila! Our OS with a filesystem implementation is now ready.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Disk I&#x2F;O</title>
        <published>2026-01-04T00:00:00+00:00</published>
        <updated>2026-01-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2026-01-04/"/>
        <id>https://scientiac.space/syndications/kl-os-2026-01-04/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2026-01-04/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-14.md&quot;&gt;Day 14&lt;&#x2F;a&gt; was about Disk &lt;code&gt;I&#x2F;O&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;A device driver for the &lt;code&gt;virtio-blk&lt;&#x2F;code&gt;, a virtual disk device was implemented.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;Virtio&lt;&#x2F;code&gt; is one of the APIs for device drivers to control devices. It is widely used in virtualization environments such as QEMU.
The &lt;code&gt;virtio&lt;&#x2F;code&gt; devices have a structure called &lt;code&gt;virtqueue&lt;&#x2F;code&gt; and it is a queue shared between the driver and the device.
It consists of &lt;code&gt;Discriptor Table&lt;&#x2F;code&gt;, &lt;code&gt;Available Ring&lt;&#x2F;code&gt; and &lt;code&gt;Used Ring&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;First we enable &lt;code&gt;virtio&lt;&#x2F;code&gt; drivers in our &lt;code&gt;buildscript&lt;&#x2F;code&gt; which is &lt;code&gt;run.sh&lt;&#x2F;code&gt;. We use the following flags for &lt;code&gt;qemu&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;-drive id=drive0,file=lorem.txt,format=raw,if=none
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;-device virtio-blk-device,drive=drive0,bus=virtio-mmio-bus.0
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Here, &lt;code&gt;lorem.txt&lt;&#x2F;code&gt; is a file made for testing purposes beforehand.&lt;&#x2F;p&gt;
&lt;p&gt;Then, the definition of &lt;code&gt;c&lt;&#x2F;code&gt; structs and macros is done in &lt;code&gt;kernel.h&lt;&#x2F;code&gt;. To access the &lt;code&gt;MMIO&lt;&#x2F;code&gt; registers we add that functionality in &lt;code&gt;kernel.c&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;create_process&lt;&#x2F;code&gt; function is modified to map the &lt;code&gt;virtio-blk&lt;&#x2F;code&gt; &lt;code&gt;MMIO&lt;&#x2F;code&gt; region to the page table so the kernel can access the &lt;code&gt;MMIO&lt;&#x2F;code&gt; registers. &lt;code&gt;MMIO&lt;&#x2F;code&gt; region to the page table so the kernel can access the &lt;code&gt;MMIO&lt;&#x2F;code&gt; registers.&lt;&#x2F;p&gt;
&lt;p&gt;Then the &lt;code&gt;Virtio Device Initialization&lt;&#x2F;code&gt; and &lt;code&gt;Virtqueue Initialization&lt;&#x2F;code&gt; is done with the process described in the &lt;a href=&quot;https:&#x2F;&#x2F;ozlabs.org&#x2F;~rusty&#x2F;virtio-spec&#x2F;virtio-0.9.5.pdf&quot;&gt;spec&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;I&#x2F;O&lt;&#x2F;code&gt; requests to the disk is implemented by &quot;adding processing requests to the &lt;code&gt;virtqueue&lt;&#x2F;code&gt;&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;A request is sent in the following steps:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Construct a request in &lt;code&gt;blk_req&lt;&#x2F;code&gt;. Specify the sector number you want to access and the type of read&#x2F;write.&lt;&#x2F;li&gt;
&lt;li&gt;Construct a descriptor chain pointing to each area of &lt;code&gt;blk_req&lt;&#x2F;code&gt; (see below).&lt;&#x2F;li&gt;
&lt;li&gt;Add the index of the head descriptor of the descriptor chain to the Available Ring.&lt;&#x2F;li&gt;
&lt;li&gt;Notify the device that there is a new pending request.&lt;&#x2F;li&gt;
&lt;li&gt;Wait until the device finishes processing (aka busy-waiting or polling).&lt;&#x2F;li&gt;
&lt;li&gt;Check the response from the device.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;To test, we initialize the &lt;code&gt;virtio&lt;&#x2F;code&gt; device in the kernel main and try reading and writing to the disk with the implemented functions.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Device drivers are just &quot;glue&quot; between the OS and devices. Drivers don&#x27;t control the hardware directly; drivers communicate with other software running on the device (e.g., firmware). Devices and their software, not the OS driver, will do the rest of the heavy lifting, like moving disk read&#x2F;write heads.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: System Call</title>
        <published>2026-01-03T00:00:00+00:00</published>
        <updated>2026-01-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2026-01-03/"/>
        <id>https://scientiac.space/syndications/kl-os-2026-01-03/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2026-01-03/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-13.md&quot;&gt;Day 13&lt;&#x2F;a&gt; was about system call.&lt;&#x2F;p&gt;
&lt;p&gt;Similar to &lt;code&gt;SBI Call&lt;&#x2F;code&gt; implementation, the system calls are invoked in a similar way.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;syscall&lt;&#x2F;code&gt; function sets the system call number in the &lt;code&gt;a3&lt;&#x2F;code&gt; register and the system call arguments in the &lt;code&gt;a0&lt;&#x2F;code&gt; to &lt;code&gt;a2&lt;&#x2F;code&gt; registers, then executes the &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction. The &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction is a special instruction used to delegate processing to the kernel. When the &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction is executed, an exception handler is called, and control is transferred to the kernel. The return value from the kernel is set in the &lt;code&gt;a0&lt;&#x2F;code&gt; register.&lt;&#x2F;p&gt;
&lt;p&gt;The first &lt;code&gt;systemcall&lt;&#x2F;code&gt; implemented is &lt;code&gt;putchar&lt;&#x2F;code&gt;. It takes a character as the first argument and the second and subsequent unused arguments are set to 0.&lt;&#x2F;p&gt;
&lt;p&gt;Then the &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction is handled in the kernel. The calling of &lt;code&gt;ecall&lt;&#x2F;code&gt; can by determined by checking the value of &lt;code&gt;scause&lt;&#x2F;code&gt;. Before calling the &lt;code&gt;handle_syscall&lt;&#x2F;code&gt; function we also add the size of &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction (4) to the value of &lt;code&gt;sepc&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This is because &lt;code&gt;sepc&lt;&#x2F;code&gt; points to the program counter that caused the exception, which points to the &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction. If we don&#x27;t change it, the kernel goes back to the same place, and the &lt;code&gt;ecall&lt;&#x2F;code&gt; instruction is executed repeatedly.&lt;&#x2F;p&gt;
&lt;p&gt;Then a &lt;code&gt;system call&lt;&#x2F;code&gt;  handler is made and is called from trap handler. It receives a
structure of registers at the time of exception that was saved in the trap handler. It determined the type of system call by checking the value of &lt;code&gt;a3&lt;&#x2F;code&gt; register.&lt;&#x2F;p&gt;
&lt;p&gt;The system call was then tested with a main print function in &lt;code&gt;shell.c&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;An &lt;code&gt;exit&lt;&#x2F;code&gt; system call is also implemented where it takes the first argument as &lt;code&gt;3&lt;&#x2F;code&gt; which is defined as &lt;code&gt;SYS_EXIT&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The system call changes the process state to &lt;code&gt;PROC_EXITED&lt;&#x2F;code&gt;, and calls yield to give up the CPU to other processes. The scheduler will only execute processes in &lt;code&gt;PROC_RUNNABLE&lt;&#x2F;code&gt; state, so it will never return to this process. However, &lt;code&gt;PANIC&lt;&#x2F;code&gt; macro is added to cause a panic in case it does return.&lt;&#x2F;p&gt;
&lt;p&gt;A bare-bones shell was then implemented to use the syscalls to perform actions from the user mode.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: User Mode</title>
        <published>2026-01-02T00:00:00+00:00</published>
        <updated>2026-01-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2026-01-02/"/>
        <id>https://scientiac.space/syndications/kl-os-2026-01-02/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2026-01-02/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-12.md&quot;&gt;Day 12&lt;&#x2F;a&gt; was about user mode.&lt;&#x2F;p&gt;
&lt;p&gt;The application that we had made had to be run on the user mode. And since, the execution
image is a raw binary, it needs to be prepared with a fixed binary.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;c&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-c &quot;&gt;&lt;code class=&quot;language-c&quot; data-lang=&quot;c&quot;&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#define &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;USER_BASE &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0x1000000
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;After defining the symbols to use in the embedded raw binary, the create process function is updated to start the application from the &lt;code&gt;user_entry&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;create_process&lt;&#x2F;code&gt; is modified to take the pointer to the execution image and image size as arguments. It copies the execution image page by page for the specified size and maps it to the process page table.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, the &lt;code&gt;create_process&lt;&#x2F;code&gt; function is modified to create a user process.&lt;&#x2F;p&gt;
&lt;p&gt;After checking if the execution image is mapped as expected, to run applications we must transition the CPU to the user mode. Or, in RISC-V, the U-Mode.&lt;&#x2F;p&gt;
&lt;p&gt;This switch from &lt;code&gt;S-Mode&lt;&#x2F;code&gt; to &lt;code&gt;U-mode&lt;&#x2F;code&gt; is done with the &lt;code&gt;sret&lt;&#x2F;code&gt; instruction. It does two writes to CSRs while switching:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PC&lt;&#x2F;code&gt; is set for when transitioning in U-Mode in the &lt;code&gt;sepc&lt;&#x2F;code&gt; register where &lt;code&gt;sret&lt;&#x2F;code&gt; jumps to.&lt;&#x2F;li&gt;
&lt;li&gt;Then, setting &lt;code&gt;SPIE&lt;&#x2F;code&gt; bit in the &lt;code&gt;sstatus&lt;&#x2F;code&gt; register enables hardware interrupts and the handler set in the &lt;code&gt;stvec&lt;&#x2F;code&gt; register will be called while entering the &lt;code&gt;U-Mode&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Application</title>
        <published>2026-01-01T00:00:00+00:00</published>
        <updated>2026-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2026-01-01/"/>
        <id>https://scientiac.space/syndications/kl-os-2026-01-01/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2026-01-01/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-11.md&quot;&gt;Day 11&lt;&#x2F;a&gt; was about application.&lt;&#x2F;p&gt;
&lt;p&gt;First, a linker script named &lt;code&gt;user.ln&lt;&#x2F;code&gt; was made this time starting at address &lt;code&gt;1000000&lt;&#x2F;code&gt; so that the application doesn&#x27;t overlap with the kernel space.&lt;&#x2F;p&gt;
&lt;p&gt;Then a simple &lt;code&gt;userland&lt;&#x2F;code&gt; library is created with minimal features just enough to indicate the existence of a userland application.
A header file for the userland library is also made.&lt;&#x2F;p&gt;
&lt;p&gt;Then an application is made, very &lt;code&gt;barebones&lt;&#x2F;code&gt;, it is just an infinite loop for now since there is no way to print characters at the moment.&lt;&#x2F;p&gt;
&lt;p&gt;To build the application, we first compile it with cc to get an executable in a &lt;code&gt;ELF&lt;&#x2F;code&gt; format. The executable is then converted to raw binary format with the &lt;code&gt;objcopy&lt;&#x2F;code&gt; tool.
Then the raw binary executable format is then again converted to a format that can be embedded in the C language.&lt;&#x2F;p&gt;
&lt;p&gt;Lastly, the &lt;code&gt;shell.bin.o&lt;&#x2F;code&gt; output is then passed to &lt;code&gt;clang&lt;&#x2F;code&gt; (kernel build section of the script) which gets embedded into the kernel image.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Examining Pages</title>
        <published>2025-12-31T00:00:00+00:00</published>
        <updated>2025-12-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-31/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-31/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-31/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-10.md&quot;&gt;Day 10&lt;&#x2F;a&gt; was about testing and debugging paging and page table contents.&lt;&#x2F;p&gt;
&lt;p&gt;Running the &lt;code&gt;buildscript&lt;&#x2F;code&gt; should give us the exact same output of repeating letters similar to how it was before paging was implemented.&lt;&#x2F;p&gt;
&lt;p&gt;Then the page table contents were examined. To check about the registers, following command was run on the &lt;code&gt;qemu&lt;&#x2F;code&gt; console.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;sh&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-sh &quot;&gt;&lt;code class=&quot;language-sh&quot; data-lang=&quot;sh&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;qemu&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt; info registers
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then the value of &lt;code&gt;satp&lt;&#x2F;code&gt; register is read and then interpreted by doing the following hexadecimal math:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;py&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-py &quot;&gt;&lt;code class=&quot;language-py&quot; data-lang=&quot;py&quot;&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;hex&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;((0x&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;val of satp&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt; &amp;amp; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0x3fffff&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;* &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4096&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then the &lt;code&gt;VPN[1]&lt;&#x2F;code&gt; and &lt;code&gt;VPN[0]&lt;&#x2F;code&gt; physical addressed were also examined.&lt;&#x2F;p&gt;
&lt;p&gt;The consequences of forgetting to set the paging mode, specifying physical address instead of physical page number was also seen. &lt;code&gt;qemu&lt;&#x2F;code&gt; logs were also enabled.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Page Table</title>
        <published>2025-12-30T00:00:00+00:00</published>
        <updated>2025-12-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-30/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-30/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-30/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-9.md&quot;&gt;Day 9&lt;&#x2F;a&gt; was about memory management and virtual addressing.&lt;&#x2F;p&gt;
&lt;p&gt;The structure of the virtual address is defined by the RISC-V paging mechanism called &lt;code&gt;Sv32&lt;&#x2F;code&gt;.
It uses a two level page table where the 32 bit virtual address  is divided into a first-level page table index, a second level and a page offset. The tables are named &lt;code&gt;VPN[1]&lt;&#x2F;code&gt; and &lt;code&gt;VPN[0]&lt;&#x2F;code&gt; respectively.&lt;&#x2F;p&gt;
&lt;p&gt;First the macros for the construction of the page table are defined. Then the function to map pages &lt;code&gt;map_page&lt;&#x2F;code&gt; is made which is utilized in process creation. For that we also add an element called &lt;code&gt;page_table&lt;&#x2F;code&gt; on the &lt;code&gt;struct&lt;&#x2F;code&gt; of process. And to make everything work we define the starting address of the kernel space &lt;code&gt;__kernel__base&lt;&#x2F;code&gt; in the linker script just after boot.&lt;&#x2F;p&gt;
&lt;p&gt;To utilize the above setup of page tables and switch them, we specify the first-level page table in &lt;code&gt;satp&lt;&#x2F;code&gt; (Supervisor Address Translation and Protection) register.&lt;&#x2F;p&gt;
&lt;p&gt;I still need to understand more about this. I am not satisfied with the explanation from the resource.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Process</title>
        <published>2025-12-29T00:00:00+00:00</published>
        <updated>2025-12-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-29/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-29/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-29/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-8.md&quot;&gt;Day 8&lt;&#x2F;a&gt; was about Process. Though, modern operating systems use the concept of threads to provide execution context. We treat processes like individual threads being run for our implementation.&lt;&#x2F;p&gt;
&lt;p&gt;First we define a structure for PCB (Process Control Block). We first define &lt;code&gt;PROC_UNUSED&lt;&#x2F;code&gt; and &lt;code&gt;0&lt;&#x2F;code&gt; and &lt;code&gt;PROC_RUNNABLE&lt;&#x2F;code&gt; as &lt;code&gt;1&lt;&#x2F;code&gt;. Then we create a structure for a unit process with the following slots:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Process ID as an Integer.&lt;&#x2F;li&gt;
&lt;li&gt;State (&lt;em&gt;&lt;code&gt;PROC_UNUSED &lt;&#x2F;code&gt;or &lt;code&gt;PROC_RUNNABLE&lt;&#x2F;code&gt;&lt;&#x2F;em&gt;) as an Integer as defined before.&lt;&#x2F;li&gt;
&lt;li&gt;Stack Pointer as a &lt;code&gt;vaddr_t&lt;&#x2F;code&gt; (Virtual Address Type).&lt;&#x2F;li&gt;
&lt;li&gt;Kernel Stack as a list of unsigned &lt;code&gt;8bit&lt;&#x2F;code&gt; Integers.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The Kernel Stack is essential for saving the registers while context switching.&lt;&#x2F;p&gt;
&lt;p&gt;Then, we defined the &lt;code&gt;switch_context&lt;&#x2F;code&gt; function that does the context switching. It takes
the previous and next stack pointer as arguments and then switches them during execution.
It saves the callee-saved registers into the stack, switches the stack pointer then restores the callee-saved registers from the stack. &lt;em&gt;The execution context is saved as a temporary local variable on the stack.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Then, we work on process creation. The process creation function &lt;code&gt;create_process&lt;&#x2F;code&gt; takes
in the entry point of the process as a parameter and then returns the process struct.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;delay&lt;&#x2F;code&gt; function is also created to act as a sleep style function which just does &lt;code&gt;nop&lt;&#x2F;code&gt; (Nothing) for 30000000 clock pulses.&lt;&#x2F;p&gt;
&lt;p&gt;Then a &lt;strong&gt;scheduler&lt;&#x2F;strong&gt; is made to make the context switching more autonomous.
A scheduler is basically a Kernel program which decides the next process.&lt;&#x2F;p&gt;
&lt;p&gt;Then, in the exception handler, we make it so that each process has it&#x27;s own independent kernel stack. While switching, the contents of &lt;code&gt;sscratch&lt;&#x2F;code&gt; are switched too to resume the execution of process from where it was interrupted as if nothing had happened.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Memory Allocation</title>
        <published>2025-12-28T00:00:00+00:00</published>
        <updated>2025-12-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-28/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-28/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-28/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-7.md&quot;&gt;Day 7&lt;&#x2F;a&gt; was about Memory Allocation. First the memory regions were defined in the linker script so that it can determine the position to avoid overlapping the memory to kernel&#x27;s static data.&lt;&#x2F;p&gt;
&lt;p&gt;The size of the memory space was &lt;code&gt;64 * 1024 * 1024&lt;&#x2F;code&gt; bytes or &lt;code&gt;64MB&lt;&#x2F;code&gt; and it is aligned to a &lt;code&gt;4KB&lt;&#x2F;code&gt; boundary.&lt;&#x2F;p&gt;
&lt;p&gt;Then a function &lt;code&gt;alloc_pages&lt;&#x2F;code&gt; was implemented which allocated &lt;code&gt;n&lt;&#x2F;code&gt; pages of memory and returned it&#x27;s starting address.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Exceptions</title>
        <published>2025-12-27T00:00:00+00:00</published>
        <updated>2025-12-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-27/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-27/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-27/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-6.md&quot;&gt;Day 6&lt;&#x2F;a&gt; was about Exceptions and handling those Exceptions in the kernel.&lt;&#x2F;p&gt;
&lt;p&gt;In RISC-V the CPU first checks &lt;code&gt;medeleg&lt;&#x2F;code&gt; register to determine which operation mode should handle the exception.
In our case &lt;code&gt;U-mode&#x2F;S-mode&lt;&#x2F;code&gt; is already handled by &lt;code&gt;OpenSBI&lt;&#x2F;code&gt;.
Then, the CPU saves states into various &lt;code&gt;CSRs&lt;&#x2F;code&gt;.
&lt;code&gt;stvec&lt;&#x2F;code&gt; register is set to &lt;code&gt;pc&lt;&#x2F;code&gt; then the exception is handled using the handler. Then &lt;code&gt;sret&lt;&#x2F;code&gt; is called to resume execution from the point where exception occurred.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;handle_trap&lt;&#x2F;code&gt; function reads why the exception occurred and triggers the kernel panic. Which was implemented yesterday.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: PANIC</title>
        <published>2025-12-26T00:00:00+00:00</published>
        <updated>2025-12-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-26/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-26/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-26/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;Perfect topic for today because early morning I was shown why It was a stupid decision to do something, then at afternoon I got into a bike accident. Though it was minor with no injuries to both parties except some scratches on the bikes. It could have caused huge consequences. Then I did another mistake and then another.&lt;&#x2F;p&gt;
&lt;p&gt;PANIC!&lt;&#x2F;p&gt;
&lt;p&gt;It is &lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-5.md&quot;&gt;day 5&lt;&#x2F;a&gt;. Implementing panic was very easy, it is implemented as a macro because if we defined it as a function it would have printed the &lt;code&gt;__LINE__&lt;&#x2F;code&gt; and &lt;code&gt;__FILE__&lt;&#x2F;code&gt; where &lt;code&gt;PANIC&lt;&#x2F;code&gt; is defined and not where it is called. And to halt the kernel it uses a &lt;code&gt;while true&lt;&#x2F;code&gt; loop which goes on infinitely.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: C Standard Library</title>
        <published>2025-12-25T00:00:00+00:00</published>
        <updated>2025-12-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-25/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-25/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-25/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;To make a useful kernel we require it to perform tasks like setting a memory chunk to zero,
or copying the memory from a source address to destination address. It may have to understand
what a boolean is or what NULL is. So, for that we require the &quot;C Standard Library&quot; and hence
we need to implement it (or the functions it contains as abstractions to commonly used functions).&lt;&#x2F;p&gt;
&lt;p&gt;For this, in &lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-4.md&quot;&gt;day 4&lt;&#x2F;a&gt; I utilized &lt;code&gt;clang&lt;&#x2F;code&gt;&#x27;s internal C library as well as resorted to writing the functions all by myself.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Printing</title>
        <published>2025-12-24T00:00:00+00:00</published>
        <updated>2025-12-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-24/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-24/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-24/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;As the days progress the journey is getting more fun and interesting.
It was the part where actual text was going to be printed.
It was a kernel &lt;code&gt;hello-world&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-3.md&quot;&gt;Day 3&lt;&#x2F;a&gt; focused on printing characters on the console by talking to SBI finally implementing &lt;code&gt;putchar&lt;&#x2F;code&gt; and eventually &lt;code&gt;printf&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>In Between</title>
        <published>2025-12-23T00:00:00+00:00</published>
        <updated>2025-12-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/in-between/"/>
        <id>https://scientiac.space/blog/in-between/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/in-between/">&lt;em&gt;
&lt;p&gt;Everything, is not your wrong, but you haven&#x27;t one, to forgive.&lt;br &#x2F;&gt;
Not selfless, or selfish you&#x27;ll be, but you don&#x27;t, have to believe.&lt;&#x2F;p&gt;
&lt;p&gt;Some should cry, while others grin, there&#x27;s no right, way to live.&lt;br &#x2F;&gt;
Do it right, all steps by book, yet the thing, never ends in relief.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;re in pain, were ya ostracized? What did they, have to say?&lt;br &#x2F;&gt;
Left alone, no you were not, the ghosts lie, mere thoughts away.&lt;&#x2F;p&gt;
&lt;p&gt;Don&#x27;t want to blame, or see your pain, help&#x27;s just, all I&#x27;ll bring.&lt;br &#x2F;&gt;
Break us part, there&#x27;s no such being, death is, a one time thing.&lt;&#x2F;p&gt;
&lt;p&gt;Desires keep, pushing you through, but it&#x27;s one way, up or down.&lt;br &#x2F;&gt;
Yourself and next, you&#x27;ll chastise or pride, an ego, etched crown.&lt;&#x2F;p&gt;
&lt;p&gt;Off outside the wall, the grass is green, love&#x27;s final, in their eye.&lt;br &#x2F;&gt;
All you&#x27;ll want, is to reach the heaven, but are you, willing to die?&lt;&#x2F;p&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Boot</title>
        <published>2025-12-23T00:00:00+00:00</published>
        <updated>2025-12-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-23/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-23/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-23/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;The actual development of OS started with making the build script &lt;code&gt;run.sh&lt;&#x2F;code&gt; in bash to setup and launch a &lt;code&gt;qemu&lt;&#x2F;code&gt; RISC-V virtual machine with &lt;code&gt;OpenSBI&lt;&#x2F;code&gt; as bios for QEMU.&lt;&#x2F;p&gt;
&lt;p&gt;Then a linker script &lt;code&gt;kernel.ld&lt;&#x2F;code&gt; was made and a basic kernel process &lt;code&gt;kernel.c&lt;&#x2F;code&gt; was written. Finally, the build script was updated to include compiler and execution commands and flags to properly boot the kernel.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-2.md&quot;&gt;Day 2&lt;&#x2F;a&gt; focused on writing a basic starting process of a kernel and running it in a virtual machine.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Setting Up</title>
        <published>2025-12-22T00:00:00+00:00</published>
        <updated>2025-12-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-22/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-22/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-22/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;I have set up the environment required to run RISC-V 64 toolchain using &lt;code&gt;QEMU&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Installed a &lt;code&gt;debian&lt;&#x2F;code&gt; RISC-V 64 &lt;code&gt;iso&lt;&#x2F;code&gt; and set it up to my liking with &lt;code&gt;autologin&lt;&#x2F;code&gt; and proper terminal emulation and &lt;code&gt;sudo&lt;&#x2F;code&gt;. I then installed &lt;code&gt;gcc&lt;&#x2F;code&gt;, &lt;code&gt;gdb&lt;&#x2F;code&gt; and &lt;code&gt;neovim&lt;&#x2F;code&gt; for writing and compiling programs.&lt;&#x2F;p&gt;
&lt;p&gt;Details of what happened on &lt;a href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;scientiac&#x2F;KL-OS&#x2F;src&#x2F;branch&#x2F;main&#x2F;progress&#x2F;day-1.md&quot;&gt;Day 1&lt;&#x2F;a&gt; is tracked using &lt;code&gt;git&lt;&#x2F;code&gt; with &lt;code&gt;codeberg&lt;&#x2F;code&gt; as a remote.&lt;&#x2F;p&gt;
&lt;p&gt;I have decided to use &lt;a href=&quot;https:&#x2F;&#x2F;operating-system-in-1000-lines.vercel.app&#x2F;&quot;&gt;Operating System in 1000 Lines&lt;&#x2F;a&gt; as the learning material because it was featured as a beginner level learning material in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;riscv&#x2F;learn&quot;&gt;github:riscv&#x2F;learn&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KL-OS: Checkpoint</title>
        <published>2025-12-21T00:00:00+00:00</published>
        <updated>2025-12-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/kl-os-2025-12-21/"/>
        <id>https://scientiac.space/syndications/kl-os-2025-12-21/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/kl-os-2025-12-21/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;I want to learn systems programming and I thought why not go with the open source one which is currency in development.
So, I chose the RISC-V architecture.
That way if I decide to keep pursuing it, I can grow along with the ISA slowly catching up to it.&lt;&#x2F;p&gt;
&lt;p&gt;I want to keep a streak by posting here every day about what I learn. Let&#x27;s hope it goes well.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Eerie: Floating</title>
        <published>2025-12-08T00:00:00+00:00</published>
        <updated>2025-12-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/eerie-2/"/>
        <id>https://scientiac.space/blog/eerie-2/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/eerie-2/">&lt;em&gt;
&lt;p&gt;I slowly open my eyes, but, all I can see is a hole just above my head from where a bright light is entering the room.
Slowly, I turn my head and look around, there&#x27;s a table, or something that resembles a table.
The colour is brown and has patches of lichens all around and on it there is a grey mug with greenish liquid.&lt;&#x2F;p&gt;
&lt;p&gt;I slowly get up from the floor and look around, the room is small and it is entirely covered by a
green moss and had radiant yellow flowers. I touch the table and it was cold and rough.
I tried to pick up the mug, it was heavy, it was carved out of stone.
As soon as I picked it up, I heard a screeching sound and a bright light appeared from an opening
that just formed on the floor. I sipped the liquid and it was just water, I drank it all.&lt;&#x2F;p&gt;
&lt;p&gt;Slipping through the opening on the floor I got outside the room. Everything was bright,
my eyes teared up, I rubbed my eyes and opened them again. As my eyes adjusted to the light, I look ahead.
Big plateaued hills of different shapes floating in air, the top of the plateau was full of what looks
like trees and plants. Around the walls of the hills were intricate paths, structured like a balcony,
hanging by what looks like strings. I see the sun, midst the floating hills with a yellow glow of warmth.&lt;&#x2F;p&gt;
&lt;p&gt;I start to walk and as I walk It feels like I am approaching the edge. I don&#x27;t have to assume
to know that I am also on one of the floating plateaus. As I keep walking I am out of the shadow
cast by one of the plateau, I feel the warmth of the sun, it is comforting but It doesn&#x27;t help with
the feeling that I am all alone there.&lt;&#x2F;p&gt;
&lt;p&gt;I am mesmerized with the view from the edge. Suddenly my stomach growls, it feels like I haven&#x27;t eaten in days.
I see a way going down from the edge, and as I walk It just feels like I am walking on the side of a hill.
I keep going down. If it was a hill, I would expect a river on the bottom and an uphill after I crossed the river.
But, there wasn&#x27;t another hill. Without a shade, the walls of the plateau were thriving with green plants, but,
there exists bits and hints of a civilization living there. I keep walking downhill and, far away I see a shed.&lt;&#x2F;p&gt;
&lt;p&gt;I make it my mission to reach the shade. I am hoping to find some food I can eat there.
I keep walking but as the shed looks closer my hunger starts getting worse, I start feeling more tired.
Sprinting faster, I try to reach the shed sooner but as am walking, something passes through my peripheral vision.
I walk back a few steps and see a creek on the wall of the plateau. I go closer to the wall and splash! I step on water.&lt;&#x2F;p&gt;
&lt;p&gt;It was leaking from the crack on the wall. And on the wall I see a small watery ball
hanging by the root of a plant. I pluck it off the root and drop it in the puddle near my leg which I would have
completely missed if I had not looked back sprinting toward the shed. It was shaped with the soil around it
to preserve a scoop-able body of water. I bent down and see a few tadpoles floating on the puddle.
I wash the ball and take a bite, it is watery and a little bitter, so I throw the remaining half it away.
I scoop some water and drink it, it is clear and cold. I wash my face, hands, and legs
, take some rest and start walking again. I get closer to the shed. There is a creature, it looks like a hybrid
of a horse and a dragon. I am astonished. It it tied to its horns and it seems to be domesticated.&lt;&#x2F;p&gt;
&lt;p&gt;Along with a pile of grass it is also feeding on the same watery balls I had tasted before.
I see a pile of grass beside the shed, it looks like it was gathered there for the creature.
I go there and see a bunch of root-balls, so I decide to eat them.&lt;&#x2F;p&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>E-reader First Android</title>
        <published>2025-11-18T00:00:00+00:00</published>
        <updated>2025-11-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/e-reader-android/"/>
        <id>https://scientiac.space/blog/e-reader-android/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/e-reader-android/">&lt;p&gt;&lt;em&gt;This time it is a really simple thing. But, I wanted to document it anyway.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why&quot;&gt;Why?&lt;&#x2F;h3&gt;
&lt;p&gt;I am constantly in a quest of making things better for the sake of reducing my media addiction.
The only social media with &quot;status updates&quot; that I use is &lt;a href=&quot;https:&#x2F;&#x2F;polymaths.social&#x2F;@iac&quot;&gt;polymaths.social&lt;&#x2F;a&gt; a &lt;code&gt;gotosocial&lt;&#x2F;code&gt;(Fediverse) instance.
I have stopped using Facebook and Instagram a while back and I block the shorts section of my YouTube.&lt;&#x2F;p&gt;
&lt;p&gt;Having done that, the addiction has shifted from a whole range of social media to just watching YouTube videos till the end of time.
So, I decided to make YouTube only show what I search with no home page or even the subscription page. &lt;em&gt;(Though, I can still access them with a toggle.)&lt;&#x2F;em&gt;
I also don&#x27;t want to consume YouTube on my phone. And I want to read books instead of consuming visual media.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;so&quot;&gt;So?&lt;&#x2F;h3&gt;
&lt;p&gt;For a while now my YouTube recommendations were full of e-readers, dumb phones and modding kindles.
I did like the idea and checked the price of those devices (Classic Consumerism).
Since, they are manufactured in small quantities, they are very expensive for the specs they offer.
And most of them are not available in my region.
But, my stubbornness, or maybe my addiction is so bad that I need to have what I want and if I don&#x27;t I just can&#x27;t do any other work properly.&lt;&#x2F;p&gt;
&lt;p&gt;Then I thought, I cannot convert something dumb to something advanced by itself but the reverse is possible.
I remembered a device called &lt;a href=&quot;https:&#x2F;&#x2F;shop.boox.com&#x2F;products&#x2F;palma&quot;&gt;BOOX Palma&lt;&#x2F;a&gt; and since it is an android device I thought I could recreate it with my own phone that I already have.
From the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Qtk7ERwlIAk&quot;&gt;kindle modding video&lt;&#x2F;a&gt; I also realised that &lt;code&gt;KOReader&lt;&#x2F;code&gt; is not just an old, weirdly made e-book reader app.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;So, I decided to base the entire personality of my phone to the &lt;code&gt;KOReader&lt;&#x2F;code&gt; app.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;preparing-android&quot;&gt;Preparing Android&lt;&#x2F;h3&gt;
&lt;p&gt;Since I use a &lt;code&gt;custom ROM&lt;&#x2F;code&gt; it is much easier for me to customize my device to a greater potential than vanilla android that google offers. I use &lt;a href=&quot;https:&#x2F;&#x2F;projectinfinity-x.com&#x2F;&quot;&gt;Project Infinity X&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;I wanted the &lt;code&gt;B&amp;amp;W&lt;&#x2F;code&gt; monochromatic look of e-readers, so, the first thing I did is set a &lt;a href=&quot;https:&#x2F;&#x2F;wallpapercave.com&#x2F;wp&#x2F;wp6681156.jpg&quot;&gt;white background&lt;&#x2F;a&gt; as my wallpaper.&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;Monet color&lt;&#x2F;code&gt; is set to be monochromatic.&lt;&#x2F;li&gt;
&lt;li&gt;In &lt;code&gt;Accessibility &amp;gt; Color and motion &amp;gt; Use color correction &amp;gt; Grayscale&lt;&#x2F;code&gt; is turned on. (I just disable this via a quick setting toggle when I need colours.)&lt;&#x2F;li&gt;
&lt;li&gt;In &lt;code&gt;Accessibility &amp;gt; Color and motion &amp;gt; Remove animations&lt;&#x2F;code&gt; is turned on.&lt;&#x2F;li&gt;
&lt;li&gt;In &lt;code&gt;Display &amp;gt; Color &amp;gt; Night Light&lt;&#x2F;code&gt; is turned on.&lt;&#x2F;li&gt;
&lt;li&gt;Dark Theme is disabled.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;Display &amp;gt; Display cutout&lt;&#x2F;code&gt; is set to &lt;code&gt;notchbarkiller&lt;&#x2F;code&gt;. (&lt;em&gt;This setting is generally in &lt;code&gt;Developer Options&lt;&#x2F;code&gt; if not in &lt;code&gt;Display&lt;&#x2F;code&gt; but, the exact name: &lt;code&gt;notchbarkiller&lt;&#x2F;code&gt; may not be present.&lt;&#x2F;em&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Additionally, a &lt;code&gt;Reading Mode&lt;&#x2F;code&gt; can be made with the features like: disabling notifications and setting the screen as greyscale. But, I wanted to control those settings individually.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;installing-the-launcher&quot;&gt;Installing the Launcher&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;I decided to install &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;gezimos&#x2F;inkOS&#x2F;&quot;&gt;InkOS&lt;&#x2F;a&gt; as my launcher because it adds on to the e-reader aesthetic.&lt;&#x2F;li&gt;
&lt;li&gt;I removed all the shortcuts of the home screen and set &lt;code&gt;Books&lt;&#x2F;code&gt; as the only shortcut there.&lt;&#x2F;li&gt;
&lt;li&gt;From the app drawer I changed the name of the apps to their generic names and hid most of the unused apps.&lt;&#x2F;li&gt;
&lt;li&gt;Configured &lt;code&gt;swipe left&lt;&#x2F;code&gt; gesture to &lt;code&gt;KOReader&lt;&#x2F;code&gt; and &lt;code&gt;swipe right&lt;&#x2F;code&gt; to &lt;code&gt;App Drawer&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Finally I set &lt;code&gt;InkOs&lt;&#x2F;code&gt; as my default launcher.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;e-reader-android&#x2F;homescreen.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;e-reader-android&#x2F;lockscreen.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;Home Screen&lt;&#x2F;code&gt; with a single books shortcut and &lt;code&gt;Lock Screen&lt;&#x2F;code&gt; with a big digital clock.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;setting-up-koreader&quot;&gt;Setting Up &lt;code&gt;KOReader&lt;&#x2F;code&gt;&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Installed &lt;code&gt;KOReader&lt;&#x2F;code&gt; &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;koreader&#x2F;koreader&quot;&gt;from GitHub&lt;&#x2F;a&gt; and set it to &lt;code&gt;Start with: last file&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Disabled &lt;code&gt;Cover Browser Plugin&lt;&#x2F;code&gt; and installed &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;joshuacant&#x2F;ProjectTitle&quot;&gt;Project: Title&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;e-reader-android&#x2F;koreader.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;e-reader-android&#x2F;app-drawer.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;KOReader&lt;&#x2F;code&gt; with &lt;code&gt;The Shape of Design&lt;&#x2F;code&gt; (Swiping Left) and the &lt;code&gt;App Drawer&lt;&#x2F;code&gt; (Swiping Right).&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;em&gt;In &lt;code&gt;KOReader&lt;&#x2F;code&gt; individual books have their individual settings but once everything is set up, scaled and aligned properly for the book that you want to read, only reading it will be the remaining task.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;final-touches&quot;&gt;Final Touches&lt;&#x2F;h3&gt;
&lt;p&gt;The phone is normally is in &lt;code&gt;DND&lt;&#x2F;code&gt; mode, but when it is not, I have disabled the notifications of almost every app except signal.
I have installed &lt;a href=&quot;https:&#x2F;&#x2F;ublockorigin.com&#x2F;&quot;&gt;&lt;code&gt;uBlock Origin&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; on &lt;code&gt;firefox&lt;&#x2F;code&gt; and have hidden different UI elements that I don&#x27;t want to see e.g. YouTube Shorts.
The quick settings panel is now cleared and only the very essential settings like &lt;code&gt;WIFI&lt;&#x2F;code&gt;, modes and colour correction toggles are there.&lt;&#x2F;p&gt;
&lt;p&gt;All in all, I have made reading books the easiest task on the phone and added friction to everything else by locking the apps so I have some time to realise what I actually want to do.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I aim to read more books with this setup. Wish me luck!&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Eerie: Separation</title>
        <published>2025-11-08T00:00:00+00:00</published>
        <updated>2025-11-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/eerie-1/"/>
        <id>https://scientiac.space/blog/eerie-1/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/eerie-1/">&lt;em&gt;
&lt;p&gt;And there I was, in the sky. Being flown uncontrollably with the wind&#x27;s will.
The string of a big red balloon in my right hand and the other hand; sore, blistered and in burning pain.
I am shouting, screaming but there&#x27;s no one that can hear me. All I see is the clear blue sky all around me, and a single patch of cloud far away.
I look down, the ocean, all blue, it hurts my head, I feel dizzy.
I look up, a sharp reflection of the white sun burns my eyes while the cold wind keeps drifting, jerking me left and right.&lt;&#x2F;p&gt;
&lt;p&gt;I don&#x27;t know what time it is. I don&#x27;t know where I am. I don&#x27;t remember where I came from.
All I can feel is an excruciating pain in my arm, my eyes burning and the wind keeps piercing my body with cold.
I switch arms, and hold the string tighter. But, I am slipping, my hand&#x27;s wet with sweat. I don&#x27;t know If I can hold it very long.&lt;&#x2F;p&gt;
&lt;p&gt;Far away, near the horizon, I see something. Something big, approaching toward me. Or, maybe I was approaching it.
I can not describe it the way I saw it but, this is the best description I can give you.
It looked like the sky had divided the ocean into two halves. The separation looked like two bubbles of soap merging.
The ocean was same, but the water, it felt different. The colour of the sky was same, that of the water was same but, it felt wrong, weird.&lt;&#x2F;p&gt;
&lt;p&gt;I get closer and closer and closer. And then all of a sudden I had crossed it. I was at the other half of the earth.
The air was heavy, the water was muddy, the wind colder and the sky was white. It was bright but I couldn&#x27;t find the sun.
The separation drifted further and further away from me. I began to sink. I could see a green patch of land from high above.
I saw two little flowers; a red, and an orange dot. I switch hands again. My neck hurts, my throat is sore. But, I keep shouting.&lt;&#x2F;p&gt;
&lt;p&gt;I am sinking down and as I sink the land got bigger. I could see the waves of grass as the wind glides through the field.
Those weren&#x27;t flowers, they were two little girls sitting on the grass.&lt;&#x2F;p&gt;
&lt;p&gt;Help! Hellllllp! I scream! But they can&#x27;t hear me. I keep screaming and finally the girl in the orange sees me.
She stands up, pulls the other girl&#x27;s hand and points toward me. The girl in the red stands up and starts running after me.
I was a little relieved, but as the ground got closer my hand starts to give up.
I hold the string tight with both my hands with all the energy left in me. But as I the ground gets nearer, the harder it gets to hold on.
I put each and every ounce of my strength to it. It&#x27;s getting difficult to sustain.
All of a sudden everything turned dark.&lt;&#x2F;p&gt;
&lt;p&gt;I can&#x27;t feel my breath, I can not see, a constant beep in my ears get louder.
And a flash! The white light faded away as I saw the clouds with blue patches of sky here and there.
Half the sky covered by the green leaves of a rain tree.
I can feel a wet cloth in my forehead. Then, I hear a voice, &quot;Sister! The guy is awake! Come back.&quot;
I try to get up, but I cannot. The girl in the red dress comes near me.&lt;&#x2F;p&gt;
&lt;p&gt;I can see that she&#x27;s wearing a red gown, it has a pattern of small yellow daisies. I look at her.
Freckles on her cheeks, black eyes, her face is glowing, skin&#x27;s dark and curly black hair that&#x27;s shining brown as the light passes through it.
She is beautiful. She breaks a taro leaf near a puddle, gently folds it, scoops some water in it and asks her sister to slowly lift my head.
I look at her, she is in a plain yellow dress, it has layers of white stripes in the neck and sleeves.
Grey eyes, her skin is bright, hair&#x27;s brown and a small mole on her left cheek just above her dimples as she smiles and gently raises my head.&lt;&#x2F;p&gt;
&lt;p&gt;I take a sip of water, it was the best sensation I had ever felt in my whole life. I was alive, I slowly pulled myself up and leaned on the tree trunk.
I look in front of me, it was only grassland spanning up to the horizon. Then the girl in the red gown spoke to me.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;What is your name?&quot;&lt;br &#x2F;&gt;
I don&#x27;t know.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;Where did you come from?&quot;&lt;br &#x2F;&gt;
I don&#x27;t remember.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;Do you remember anything?&quot;, she asked.&lt;br &#x2F;&gt;
Trying to think I close my eyes. I clench my fists, grit my teeth and hold my breath in concentration.&lt;&#x2F;p&gt;
&lt;&#x2F;em&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A Living Corpse</title>
        <published>2025-10-27T00:00:00+00:00</published>
        <updated>2025-10-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/a-living-corpse/"/>
        <id>https://scientiac.space/blog/a-living-corpse/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/a-living-corpse/">&lt;p&gt;What is to live? If not a wait for death.&lt;br &#x2F;&gt;
I worry at times. What if now&#x27;s the end?&lt;br &#x2F;&gt;
To not have a purpose is a scary feeling.&lt;br &#x2F;&gt;
What is to die? If not to stop believing.&lt;&#x2F;p&gt;
&lt;p&gt;Excited for the future, but not too far.&lt;br &#x2F;&gt;
Believing why you are, the way you are.&lt;br &#x2F;&gt;
Scared to accept, that beyond doesn&#x27;t exist.&lt;br &#x2F;&gt;
Living ideal stories, while verities missed.&lt;&#x2F;p&gt;
&lt;p&gt;Tallying truth with good, and false with bad.&lt;br &#x2F;&gt;
Questioning each step, yet following same path.&lt;br &#x2F;&gt;
Why are we bound to the norms man has made.&lt;br &#x2F;&gt;
While there are infinite paths, one can take.&lt;&#x2F;p&gt;
&lt;p&gt;If acceptance more valued, and ambitions low,&lt;br &#x2F;&gt;
desires become a curse for who wants to grow.&lt;br &#x2F;&gt;
Living matters more, than what&#x27;s after you die.&lt;br &#x2F;&gt;
It doesn&#x27;t even matter, if you die living a lie.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Faulty&#x27;s Site</title>
        <published>2025-10-26T00:00:00+00:00</published>
        <updated>2025-10-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-10-26/"/>
        <id>https://scientiac.space/syndications/posse-2025-10-26/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-10-26/">&lt;p&gt;I just love when people use webmentions. Cool site &lt;a href=&quot;https:&#x2F;&#x2F;faulty.carboxi.de&#x2F;one&#x2F;&quot;&gt;@faulty&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Almost splitting a Keyboard in Half</title>
        <published>2025-09-30T00:00:00+00:00</published>
        <updated>2025-09-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/diy-split-keyboard/"/>
        <id>https://scientiac.space/blog/diy-split-keyboard/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/diy-split-keyboard/">&lt;p&gt;&lt;em&gt;Yeah! I keep doing stupid things.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The idea of remapping keys isn&#x27;t new, be it for typing in a different language or to make the escape key more ergonomic for vim users.
I mapped my &lt;kbd&gt;escape&lt;&#x2F;kbd&gt; key to &lt;kbd&gt;`&lt;&#x2F;kbd&gt; and &lt;kbd&gt;caps-lock&lt;&#x2F;kbd&gt; key to &lt;kbd&gt;escape&lt;&#x2F;kbd&gt; when I bought my 65% keyboard.
It was because I had to use some weird function keybind just to type a &lt;kbd&gt;~&lt;&#x2F;kbd&gt;. Then I realised my laptop key got remapped too, but I
just went ahead with it. That is when I used this software called &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rvaiya&#x2F;keyd&quot;&gt;keyd&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Fast forward to today and rewind to a month back, I was bored out of my mind and was fidgeting with my keyboard when I popped one of the keys
out of it. And right then I looked at the keys and wondered if I could make a minimal split keyboard out of it using &lt;code&gt;keyd&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I had watched many videos about split keyboards, and one was even in my &lt;a href=&quot;https:&#x2F;&#x2F;boardsource.xyz&#x2F;products&#x2F;unicorne-lp-aluminum-corne-case&quot;&gt;wish&lt;&#x2F;a&gt;list for a long time. So, I wondered if I was gonna invest in a keyboard that is going to shape my typing muscle memory, I should at least give it a try beforehand.&lt;&#x2F;p&gt;
&lt;p&gt;Now that I started writing about it, I don&#x27;t think it was that big a deal. It only took too much of my time to configure it. First I tried the &lt;code&gt;ferris sweep&lt;&#x2F;code&gt; layout which was too much of a sacrifice, then I tried &lt;code&gt;corne&lt;&#x2F;code&gt; and finally decided on the &lt;code&gt;5 column corne&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;before-operation&quot;&gt;Before Operation:&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;diy-split-keyboard&#x2F;before.png&quot; alt=&quot;keyboard-before&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;after-operation&quot;&gt;After Operation:&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;diy-split-keyboard&#x2F;after.jpeg&quot; alt=&quot;keyboard-after&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;Here is the &lt;code&gt;keyd&lt;&#x2F;code&gt; configuration:&lt;&#x2F;summary&gt;
&lt;pre data-lang=&quot;yaml&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-yaml &quot;&gt;&lt;code class=&quot;language-yaml&quot; data-lang=&quot;yaml&quot;&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# corne-36.conf
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# keyboard id to enable [wired, bluetooth and 2.4ghz]
&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;ids&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;5566:0008
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;3151:6001
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;1235:aa22
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;main&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;q&amp;quot; to write q
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;1 = q
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;w&amp;quot; to write w
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;2 = w  
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;e&amp;quot; to write e
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;3 = e
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;r&amp;quot; to write r
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;4 = r
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;t&amp;quot; to write t
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;5 = t
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;a&amp;quot; to write a
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;q = a
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;s&amp;quot; to write s
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;w = s
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;d&amp;quot; to write d
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;e = d
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;f&amp;quot; to write f
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;r = f
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;g&amp;quot; to write g
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;t = g
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;z&amp;quot; to write z
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;a = z
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;x&amp;quot; to write x
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;s = x
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;c&amp;quot; to write c
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;d = c
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;v&amp;quot; to write v
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f = v
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;b&amp;quot; to write b
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;g = b
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# BOTTOM ROW - Special keys
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;down-arrow&amp;quot; for leftmeta, hold &amp;quot;down-arrow&amp;quot; for meta
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;x = overload(meta, leftmeta)
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;alt&amp;quot; for space, hold &amp;quot;alt&amp;quot; for navigation
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;c = overload(navigation, space)
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;up-arrow&amp;quot; for esc, hold &amp;quot;up-arrow&amp;quot; for control
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;v = overload(control, esc)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;y&amp;quot; to write y
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;8 = y
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;u&amp;quot; to write u
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;9 = u
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;i&amp;quot; to write i
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;0 = i
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;o&amp;quot; to write o
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;minus = o
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;p&amp;quot; to write p
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;equal = p
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;h&amp;quot; to write h
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;u = h
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;j&amp;quot; to write j
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;i = j
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;k&amp;quot; to write k
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;o = k
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;l&amp;quot; to write l
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;p = l
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;;&amp;quot; to write semicolon
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftbrace = semicolon
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;n&amp;quot; to write n
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;j = n
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;m&amp;quot; to write m
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;k = m
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;,&amp;quot; to write comma
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;l = comma
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;.&amp;quot; to write dot, hold &amp;quot;.&amp;quot; for control
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;semicolon = dot
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;&#x2F;&amp;quot; to write slash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;apostrophe = slash
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# BOTTOM ROW - Special keys
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;-&amp;gt;&amp;quot; for enter, hold &amp;quot;-&amp;gt;&amp;quot; for alt
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;m = overload(alt, enter)
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;del&amp;quot; for backspace, hold &amp;quot;del&amp;quot; for symbols
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;comma = overload(symbols, backspace)
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Press &amp;quot;&amp;lt;-&amp;quot; for tab, hold &amp;quot;&amp;lt;-&amp;quot; for shift
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;dot = overload(shift, tab)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ALL UNUSED KEYS FROM THE KEYBOARD
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;tab = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;capslock = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;backspace = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;backslash = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;rightbrace = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;esc = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;enter = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;6 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;7 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;y = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftshift = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;z = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;b = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;h = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;slash = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;rightshift = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftcontrol = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftalt = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;space = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;rightalt = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;rightcontrol = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftmeta = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;rightmeta = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;grave = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f1 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f2 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f3 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f4 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f5 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f6 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f7 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f8 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f9 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f10 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f11 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f12 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;up = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;down = noop  
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;left = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;right = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;home = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;end = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;pageup = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;pagedown = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;insert = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;delete = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp0 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp1 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp2 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp3 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp4 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp5 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp6 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp7 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp8 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kp9 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpdot = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpenter = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpplus = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpminus = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpasterisk = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;kpslash = noop
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#  [ 1:q ] [ 2:w ] [ 3:e ] [ 4:r ] [ 5:t ]                    [ 8:y ] [ 9:u ] [ 0:i ] [ -:o ] [ =:p ]
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#   [ q:a ] [ w:s ] [ e:d ] [ r:f ] [ t:g ]              	[ i:h ] [ o:j ] [ p:k ] [ [:l ] [ ]:; ]
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#    [ a:z ] [ s:x ] [ d:c ] [ f:v ] [ g:b ]          	     [ j:n ] [ k:m ] [ l:, ] [ ;:. ] [ &amp;#39;:&#x2F; ]
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#          [ x:meta ] [ c:nav&#x2F;space ] [ v:ctrl&#x2F;esc ]    	[ m:alt&#x2F;return ] [ ,:sym&#x2F;backspace ] [ .:shift&#x2F;tab ]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;symbols&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;q&amp;quot; for &amp;quot;!&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;1 = S-1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;w&amp;quot; for &amp;quot;@&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;2 = S-2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;e&amp;quot; for &amp;quot;#&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;3 = S-3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;r&amp;quot; for &amp;quot;$&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;4 = S-4
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;t&amp;quot; for &amp;quot;%&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;5 = S-5
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;a&amp;quot; for &amp;quot;1&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;q = 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;s&amp;quot; for &amp;quot;2&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;w = 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;d&amp;quot; for &amp;quot;3&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;e = 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;f&amp;quot; for &amp;quot;4&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;r = 4
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;g&amp;quot; for &amp;quot;5&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;t = 5
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;capslock = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;z&amp;quot; for &amp;quot;6&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;a = 6
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;x&amp;quot; for &amp;quot;7&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;s = 7
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;c&amp;quot; for &amp;quot;8&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;d = 8
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;v&amp;quot; for &amp;quot;9&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f = 9
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;b&amp;quot; for &amp;quot;0&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;g = 0
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# BOTTOM ROW - Special keys
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;x = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;c = backslash
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;v = &amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;y&amp;quot; for &amp;quot;^&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;8 = S-6
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;u&amp;quot; for &amp;quot;&amp;amp;&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;9 = S-7
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;i&amp;quot; for &amp;quot;*&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;0 = S-8
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;o&amp;quot; for &amp;quot;(&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;minus = S-9
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;p&amp;quot; for &amp;quot;)&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;equal = S-0
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;h&amp;quot; for &amp;quot;_&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;u = minus
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;j&amp;quot; for &amp;quot;=&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;i = equal
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;k&amp;quot; for &amp;quot;`&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;o = grave
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;l&amp;quot; for &amp;quot;[&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;p = leftbrace
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;;&amp;quot; for &amp;quot;]&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftbrace = rightbrace
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;n&amp;quot; for &amp;quot;_&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;j = S-minus
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;m&amp;quot; for &amp;quot;+&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;k = S-equal
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;,&amp;quot; for &amp;quot;~&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;l = S-grave
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;.&amp;quot; for &amp;quot;{&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;semicolon = S-leftbrace
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;del&amp;quot; and press &amp;quot;&#x2F;&amp;quot; for &amp;quot;}&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;apostrophe = S-rightbrace
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# BOTTOM ROW - Special keys
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;m = backspace
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;comma = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;dot = rightshift
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;navigation&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;q&amp;quot; for &amp;quot;f1&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;1 = f1
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;w&amp;quot; for &amp;quot;f2&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;2 = f2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;e&amp;quot; for &amp;quot;f3&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;3 = f3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;r&amp;quot; for &amp;quot;f4&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;4 = f4
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;t&amp;quot; for &amp;quot;f5&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;5 = f5
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;a&amp;quot; for &amp;quot;f6&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;q = f6
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;s&amp;quot; for &amp;quot;f7&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;w = f7
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;d&amp;quot; for &amp;quot;f8&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;e = f8
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;f&amp;quot; for &amp;quot;f9&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;r = f9
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;g&amp;quot; for &amp;quot;f10&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;t = f10
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LEFT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;z&amp;quot; for &amp;quot;f11&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;a = f11
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;x&amp;quot; for &amp;quot;f12&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;s = f12
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;d = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;f = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;g = noop
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 1
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;8 = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;u&amp;quot; for &amp;quot;tab&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;9 = tab
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;i&amp;quot; for &amp;quot;pageup&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;0 = pageup
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;o&amp;quot; for &amp;quot;pagedown&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;minus = pagedown
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;p&amp;quot; for &amp;quot;print&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;equal = print
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 2
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;h&amp;quot; for &amp;quot;left&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;u = left
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;j&amp;quot; for &amp;quot;down&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;i = down
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;k&amp;quot; for &amp;quot;up&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;o = up
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;l&amp;quot; for &amp;quot;right&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;p = right
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;leftbrace = noop
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ROW 3
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;n&amp;quot; for &amp;quot;home&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;j = home
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Hold &amp;quot;alt&amp;quot; and press &amp;quot;m&amp;quot; for &amp;quot;end&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;k = end
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;l = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;semicolon = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;apostrophe = noop
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# ------------------------------------------ #
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# RIGHT HAND
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# BOTTOM ROW - Special keys
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;m = noop
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;comma = delete
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;dot = noop
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;I even vibe coded a &lt;a href=&quot;&#x2F;images&#x2F;diy-split-keyboard&#x2F;corne-36.html&quot;&gt;layout visualiser&lt;&#x2F;a&gt; to remember the keybinds.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;happy-ending&quot;&gt;Happy Ending?&lt;&#x2F;h3&gt;
&lt;p&gt;Well, I could just lie and say that I have increased my productivity by 200% but, that is far from the reality. After I had fun changing the layout, I am just happy with the comfort of my laptop keyboard and have not used the split keyboard at all. I do use it sometimes but, I am so slow on it that I immidiately fall back to the laptop. It is obvious, it takes time to learn a split layout but, I am just not investing my time on it. Nevertheless, &lt;strong&gt;it was so damn fun while I configured it&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Projects like &lt;code&gt;keyd&lt;&#x2F;code&gt; just keep the spirit of Linux alive.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Static Site Webmentions</title>
        <published>2025-08-31T00:00:00+00:00</published>
        <updated>2025-08-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/webmentions/"/>
        <id>https://scientiac.space/blog/webmentions/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/webmentions/">&lt;p&gt;I had set up Webmentions on my static site &lt;a href=&quot;&#x2F;syndications&#x2F;posse-2024-11-05&#x2F;&quot;&gt;a while back&lt;&#x2F;a&gt;. It was because I really like the concept of a completely custom yet static social media where it&#x27;s not instant but it&#x27;s regular communication. But, the drawback of any kind of unique and DIY technology is not having people that actually use it.&lt;&#x2F;p&gt;
&lt;p&gt;Ironically, after the setup, I only have received Webmentions from myself during testing (&lt;em&gt;I am not counting the mastodon likes that propagated through &lt;a href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;web&#x2F;scientiac.space&quot;&gt;Bridgy Fed&lt;&#x2F;a&gt;)&lt;&#x2F;em&gt;. I am still sceptical about Bridgy Fed because It isn&#x27;t what I wanted Webmentions to be, I didn&#x27;t want any connections to a social media but I wanted to test the workings so I connected it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-i-do-it&quot;&gt;How I Do It&lt;&#x2F;h2&gt;
&lt;p&gt;My blog is a static site and being static comes with the cost of not being able to continuously listen to incoming messages. So, Webmentions don&#x27;t really work on a static site. At least that&#x27;s what I thought at first, then I found out about &lt;a href=&quot;https:&#x2F;&#x2F;webmention.io&#x2F;&quot;&gt;webmention.io&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s sort of like a retrofitted static site to support Webmentions.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;components&quot;&gt;Components&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;A Static Site Generator &lt;a href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;&quot;&gt;www.getzola.org&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Indieweb Compatibility &lt;a href=&quot;https:&#x2F;&#x2F;indiewebify.me&#x2F;&quot;&gt;indiewebify.me&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Send webmentions &lt;a href=&quot;https:&#x2F;&#x2F;webmention.app&#x2F;&quot;&gt;webmention.app&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Receive Webmentions &lt;a href=&quot;https:&#x2F;&#x2F;webmention.io&#x2F;&quot;&gt;webmention.io&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Render Webmentions &lt;a href=&quot;https:&#x2F;&#x2F;keats.github.io&#x2F;tera&#x2F;&quot;&gt;keats.github.io&#x2F;tera&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Runner &lt;a href=&quot;https:&#x2F;&#x2F;docs.github.com&#x2F;en&#x2F;actions&quot;&gt;GitHub actions&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;a-static-site-generator&quot;&gt;A Static Site Generator&lt;&#x2F;h4&gt;
&lt;p&gt;I am using &lt;code&gt;zola&lt;&#x2F;code&gt; as my static site generator and I love it. The comfort of just writing in &lt;code&gt;markdown&lt;&#x2F;code&gt; and letting &lt;code&gt;zola&lt;&#x2F;code&gt; do the heavy lifting to generate feeds is awesome. Generating an Atom&#x2F;RSS feed is a must. This is needed by webmention.app to send webmentions by reading all your posts.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;indieweb-compatibility&quot;&gt;Indieweb Compatibility&lt;&#x2F;h4&gt;
&lt;p&gt;To make an Indieweb compatible static site you need to pass these tests from &lt;a href=&quot;https:&#x2F;&#x2F;indiewebify.me&#x2F;&quot;&gt;indiewebify.me&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Web Sign In - This helps you sign in to indieweb services with your domain. &lt;em&gt;You must have your own registered domain name.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;h-card&lt;&#x2F;code&gt; and &lt;code&gt;h-entry&lt;&#x2F;code&gt; classes on homepage as well as on the &quot;post&quot; page.&lt;&#x2F;li&gt;
&lt;li&gt;Ability to send Webmentions.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h4 id=&quot;sending-webmentions&quot;&gt;Sending Webmentions&lt;&#x2F;h4&gt;
&lt;p&gt;I use my generated Atom feed and webmention.app &lt;a href=&quot;https:&#x2F;&#x2F;webmention.app&#x2F;docs#using-the-command-line&quot;&gt;CLI&lt;&#x2F;a&gt; to send Webmentions.
It is as simple as running:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;npx webmention https:&#x2F;&#x2F;scientiac.space&#x2F;atom.xml --limit&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;0 --send
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;receiving-webmentions&quot;&gt;Receiving Webmentions&lt;&#x2F;h4&gt;
&lt;p&gt;To receive Webmentions you need a perpetual listening server and the service is provided by &lt;a href=&quot;https:&#x2F;&#x2F;webmention.io&#x2F;&quot;&gt;webmention.io&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Sign into webmention.io with your domain. It will use &lt;a href=&quot;https:&#x2F;&#x2F;indielogin.com&#x2F;&quot;&gt;indielogin.com&lt;&#x2F;a&gt;. This requires you to have at least an email address on your h-card.&lt;&#x2F;li&gt;
&lt;li&gt;Go to &lt;code&gt;sites&lt;&#x2F;code&gt; and in the table click on &lt;code&gt;Get Setup Code&lt;&#x2F;code&gt; which will give you a tag to put on your HTML template header.&lt;&#x2F;li&gt;
&lt;li&gt;Test that you actually can receive Webmentions by mentioning yourself in a site and running the above command. It should show up in the dashboard of &lt;code&gt;webmention.io&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h4 id=&quot;render-webmentions&quot;&gt;Render Webmentions&lt;&#x2F;h4&gt;
&lt;p&gt;You can now fetch the json feed of the Webmentions you have received in webmention.io using the following command and replacing the &lt;code&gt;${WEBMENTION_TOKEN}&lt;&#x2F;code&gt; with your own token.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;curl -s &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;https:&#x2F;&#x2F;webmention.io&#x2F;api&#x2F;mentions.json?token=${&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;WEBMENTION_TOKEN&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt; -o webmentions.json
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This json file can be used to render the Webmentions on your website using your static site generator&#x27;s feature to read json files.&lt;&#x2F;p&gt;
&lt;p&gt;I made and activity page in zola where all the webmention activities are listed.&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;Zola Template HTML&lt;&#x2F;summary&gt;
&lt;p&gt;This is located at &lt;code&gt;templates&#x2F;activity.html&lt;&#x2F;code&gt; and used at &lt;code&gt;content&#x2F;activity&#x2F;_index.md&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;templates&#x2F;activity.html&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;html&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-html &quot;&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot;&gt;&lt;span&gt;{% extends &amp;quot;base.html&amp;quot; %}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;{% block content %}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;section&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;{% set data = load_data(path=&amp;quot;webmentions.json&amp;quot;, format=&amp;quot;json&amp;quot;) %}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;activity-box&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;{% for links in data.links %}
&lt;&#x2F;span&gt;&lt;span&gt;    {% set trimmed_path = links.target | trim_start_matches(pat=&amp;quot;https:&#x2F;&#x2F;&amp;quot; ~ config.extra.url ~ &amp;quot;&#x2F;&amp;quot;) | trim_end_matches(pat=&amp;quot;&#x2F;&amp;quot;) %}
&lt;&#x2F;span&gt;&lt;span&gt;    {% set relative_path = trimmed_path ~ &amp;quot;.md&amp;quot; %}
&lt;&#x2F;span&gt;&lt;span&gt;    {% set target_page = get_page(path=relative_path) %}
&lt;&#x2F;span&gt;&lt;span&gt;    {% if not links.source is starting_with(&amp;quot;https:&#x2F;&#x2F;&amp;quot; ~ config.extra.url) %}
&lt;&#x2F;span&gt;&lt;span&gt;        {% if links.activity.type == &amp;quot;like&amp;quot; %}
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;mention-profile like&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.source }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ links.data.author.name }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; liked &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.target }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ target_page.title }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;        {% endif %}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        {% if links.activity.type == &amp;quot;link&amp;quot; %}
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;mention-profile link&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.source }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ links.data.author.name }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; mentioned &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.target }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ target_page.title }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;        {% endif %}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        {% if links.activity.type == &amp;quot;reply&amp;quot; %}
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;mention-profile reply&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.source }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ links.data.author.name }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; replied to &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;{{ links.target }}&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;{{ target_page.title }}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;        {% endif %}
&lt;&#x2F;span&gt;&lt;span&gt;    {% endif %}
&lt;&#x2F;span&gt;&lt;span&gt;{% endfor %}
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;div&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;{% endblock content %}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;code&gt;content&#x2F;activity&#x2F;_index.md&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;md&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-md &quot;&gt;&lt;code class=&quot;language-md&quot; data-lang=&quot;md&quot;&gt;&lt;span&gt;+++
&lt;&#x2F;span&gt;&lt;span&gt;template = &amp;quot;activity.html&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;+++
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;Webmentions are rendered by zola utilizing the &lt;code&gt;load_data&lt;&#x2F;code&gt; function of tera templating engine. The fetched &lt;code&gt;webmention.json&lt;&#x2F;code&gt; file is parsed and formatted. [&lt;em&gt;Can be seen in &lt;code&gt;activity.html&lt;&#x2F;code&gt; in the above template.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;h4 id=&quot;runner&quot;&gt;Runner&lt;&#x2F;h4&gt;
&lt;p&gt;To rebuild the site by fetching new Webmentions we will need a runner that does the process repeatedly in said amount of time. This is where GitHub actions come in. I have three workflows &lt;code&gt;send-webmentions.yaml&lt;&#x2F;code&gt;, &lt;code&gt;zola.yml&lt;&#x2F;code&gt; and &lt;code&gt;fetch-webmentions.yaml&lt;&#x2F;code&gt; which as the name says, sends Webmentions from the site, builds the site using zola and fetches received Webmentions from &lt;code&gt;webmention.io&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;For fetching I have saved my webmention.app api key as a secret in GitHub and use that in the workflow file.&lt;&#x2F;p&gt;
&lt;p&gt;First put your token form webmention.io in &lt;code&gt;settings &amp;gt; security &amp;gt; secrets and variables &amp;gt; actions &amp;gt; new repository secret&lt;&#x2F;code&gt; of your GitHub repo with the name &lt;code&gt;WEBMENTION_TOKEN&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Then, the workflow files should be put in place.&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;Workflow Files&lt;&#x2F;summary&gt;
&lt;p&gt;This is located at &lt;code&gt;.github&#x2F;workflows&#x2F;&lt;&#x2F;code&gt; from the root of your repository.&lt;&#x2F;p&gt;
&lt;p&gt;First workflow fetches new mentions every 30 minutes.&lt;br &#x2F;&gt;
&lt;code&gt;fetch-webmentions.yml&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yml&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-yml &quot;&gt;&lt;code class=&quot;language-yml&quot; data-lang=&quot;yml&quot;&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Fetch Webmentions
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;push&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;branches&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;main
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;schedule&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;cron&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;*&#x2F;30 * * * *&amp;#39;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Runs every 30 minutes
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;workflow_dispatch&lt;&#x2F;span&gt;&lt;span&gt;:  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Allows manual triggering of the workflow if needed
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;fetch_webmentions&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Checkout Repository
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;actions&#x2F;checkout@v4
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Fetch Webmentions
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;WEBMENTION_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;${{ secrets.WEBMENTION_TOKEN }}
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          mkdir -p static&#x2F;webmention
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          # Fetch webmentions and save (overwrite) to a single file
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          curl -s &amp;quot;https:&#x2F;&#x2F;webmention.io&#x2F;api&#x2F;mentions.json?token=${WEBMENTION_TOKEN}&amp;quot; -o static&#x2F;webmentions.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Commit and Push Webmentions
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git config --global user.name &amp;quot;github-actions[bot]&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git config --global user.email &amp;quot;github-actions[bot]@users.noreply.github.com&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git add static&#x2F;webmentions.json
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git commit -m &amp;quot;Update webmentions&amp;quot; || echo &amp;quot;No changes to commit&amp;quot;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          # Pull latest changes from main with rebase to avoid conflicts
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git pull --rebase origin main
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          # Now push the updated branch
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          git push
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Second workflow builds the site from the source after fetching the Webmentions.&lt;br &#x2F;&gt;
&lt;code&gt;zola.yml&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yml&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-yml &quot;&gt;&lt;code class=&quot;language-yml&quot; data-lang=&quot;yml&quot;&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Zola on GitHub Pages
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;workflow_run&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;workflows&lt;&#x2F;span&gt;&lt;span&gt;: [&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Fetch Webmentions&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;types&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;completed
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;build&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Publish site
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Checkout main
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;actions&#x2F;checkout@v4
&lt;&#x2F;span&gt;&lt;span&gt;    - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Build and deploy
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;shalzz&#x2F;zola-deploy-action@v0.19.2
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;env&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;GITHUB_TOKEN&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;${{ secrets.GITHUB_TOKEN }}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Third workflow sends Webmentions from the detected links in the newly generated &lt;code&gt;atom.xml&lt;&#x2F;code&gt;.&lt;br &#x2F;&gt;
&lt;code&gt;send-webmentions.yml&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;yml&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-yml &quot;&gt;&lt;code class=&quot;language-yml&quot; data-lang=&quot;yml&quot;&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Send Webmentions
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;workflow_run&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;workflows&lt;&#x2F;span&gt;&lt;span&gt;: [&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Zola on GitHub Pages&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;types&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;completed
&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;jobs&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;send_webmentions&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Send Webmentions with Delay
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;runs-on&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;ubuntu-latest
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;steps&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Checkout Repository
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;uses&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;actions&#x2F;checkout@v4
&lt;&#x2F;span&gt;&lt;span&gt;        
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Wait for Delay
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;sleep 60  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Waits for 1 minute (60 seconds) before running the next steps
&lt;&#x2F;span&gt;&lt;span&gt;        
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Read Site URL from CNAME
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;id&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;get_url
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;|
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          SITE_URL=$(cat static&#x2F;CNAME)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;          echo &amp;quot;site_url=$SITE_URL&amp;quot; &amp;gt;&amp;gt; $GITHUB_OUTPUT
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;        
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Install Webmention Package
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;npm install @remy&#x2F;webmention
&lt;&#x2F;span&gt;&lt;span&gt;        
&lt;&#x2F;span&gt;&lt;span&gt;      - &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;Send Webmentions
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;run&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;npx webmention https:&#x2F;&#x2F;${{ steps.get_url.outputs.site_url }}&#x2F;atom.xml --limit=0 --send
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;&#x2F;details&gt;
&lt;h2 id=&quot;sending-webmentions-1&quot;&gt;Sending Webmentions&lt;&#x2F;h2&gt;
&lt;p&gt;In order to send Webmentions, the content should be formatted accordingly. In general I like to utilize three activities to send Webmentions.
[&lt;em&gt;It is preferred to only use one activity for one mention.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;h3 id=&quot;mention&quot;&gt;Mention&lt;&#x2F;h3&gt;
&lt;p&gt;One can mention a site using webmention by simply putting the link to the page being mentioned.
The site will get the webmention if it supports it.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;md&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-md &quot;&gt;&lt;code class=&quot;language-md&quot; data-lang=&quot;md&quot;&gt;&lt;span&gt;[Void Bed](https:&#x2F;&#x2F;flux.carboxi.de&#x2F;void-bed&#x2F;) by flux.
&lt;&#x2F;span&gt;&lt;span&gt;or
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;https:&#x2F;&#x2F;flux.carboxi.de&#x2F;void-bed&#x2F;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;Void Bed&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; by flux
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;like&quot;&gt;Like&lt;&#x2F;h3&gt;
&lt;p&gt;One can like a post using webmention by formatting the link as follows:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;md&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-md &quot;&gt;&lt;code class=&quot;language-md&quot; data-lang=&quot;md&quot;&gt;&lt;span&gt;I like how flux talks about his bed in &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;u-like-of&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;https:&#x2F;&#x2F;flux.carboxi.de&#x2F;void-bed&#x2F;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;Void Bed&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I like how flux talks about his bed in &lt;a class=&quot;u-like-of&quot; href=&quot;https:&#x2F;&#x2F;flux.carboxi.de&#x2F;void-bed&#x2F;&quot;&gt;Void Bed&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;reply&quot;&gt;Reply&lt;&#x2F;h3&gt;
&lt;p&gt;One can reply to a post by formatting the link and the text as follows:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;md&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-md &quot;&gt;&lt;code class=&quot;language-md&quot; data-lang=&quot;md&quot;&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;class=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;u-in-reply-to&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;href=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;https:&#x2F;&#x2F;flux.carboxi.de&#x2F;void-bed&#x2F;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;Void Bed&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#8ec07c;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;I feel the same about my bed. Nice writing flux!
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;bridges&quot;&gt;Bridges&lt;&#x2F;h3&gt;
&lt;p&gt;Though I have connected this site to the fediverse with Bridgy Fed, it is opt in using a zola shortcode. Because, I want the articles to have a &quot;blog interaction&quot; from other peoples blog but not from the social media. But, I do use bridgy on my short posts sometimes. &lt;a href=&quot;&#x2F;syndications&#x2F;posse-2024-11-05&#x2F;&quot;&gt;Webmentions&lt;&#x2F;a&gt; and &lt;a href=&quot;&#x2F;syndications&#x2F;posse-2025-02-04&#x2F;&quot;&gt;Linux is&#x2F;not Difficult&lt;&#x2F;a&gt; are some posts I have used bridgy with and they also work as example posts to see how different webmention activities look like in my website.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lastly&quot;&gt;Lastly&lt;&#x2F;h2&gt;
&lt;p&gt;I had forgotten about webmentions and interactions on my site, but I recently read a post from Joel titled &lt;a href=&quot;https:&#x2F;&#x2F;joelchrono.xyz&#x2F;blog&#x2F;webmentions-but-manual&#x2F;&quot;&gt;Webmentions but manual (for Jekyll)&lt;&#x2F;a&gt; and people giving names to the interactions really caught my attention. I haven&#x27;t given it a name because mine are just Webmentions but I feel like Webmentions are still a good option to have &lt;em&gt;(with much less spam)&lt;&#x2F;em&gt; for interaction if it isn&#x27;t connected to an actual social media.
Some other posts I read were:
[&lt;em&gt;At least for the sake of just pinging them.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;notes.jeddacp.com&#x2F;implementing-community-echoes&#x2F;&quot;&gt;Implementing Community Echoes&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;forkingmad.blog&#x2F;blog-interactions&#x2F;&quot;&gt;Blog interactions&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;kevquirk.com&#x2F;blog&#x2F;what-others-said&quot;&gt;What Others Said...&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I hope webmention on blogging sites takes off. Or maybe it has already taken off. I want the future where everyone can express themselves with their own taste and creativity not having to compromise personality for protocols.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Rusting</title>
        <published>2025-08-28T00:00:00+00:00</published>
        <updated>2025-08-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-08-28/"/>
        <id>https://scientiac.space/syndications/posse-2025-08-28/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-08-28/">&lt;p&gt;Trying to replace as many apps I use with the apps written in rust to see how much is possible.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;u-in-reply-to&quot; href=&quot;https:&#x2F;&#x2F;flux.carboxi.de&#x2F;continuous-oxidation&#x2F;&quot;&gt;Continuous: Oxidation&lt;&#x2F;a&gt; by flux was very helpful.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Typst is Love</title>
        <published>2025-07-12T00:00:00+00:00</published>
        <updated>2025-07-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/typst/"/>
        <id>https://scientiac.space/blog/typst/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/typst/">&lt;p&gt;Let me start by saying, I just love typst. A bit too must at this point. Whenever I get the chance I just sit down and open typst. Electricity goes down, I open typst. I feel bored I open typst.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Now that I think of it, I don&#x27;t have anything else to do on my laptop and only interactive thing is typst.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;You might be thinking what &lt;code&gt;typst&lt;&#x2F;code&gt; is. So, let me introduce you to typst.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;introduction-to-typst&quot;&gt;Introduction to typst&lt;&#x2F;h2&gt;
&lt;p&gt;Typst is a typesetting software that help you make documents. And since documents are the things we all just need to make, it is one of the most essential piece of software for everyone.&lt;&#x2F;p&gt;
&lt;p&gt;It is no new idea [&lt;em&gt;I mean, it is a new idea but, making documents using a typesetting in plaintext has been a thing since ages.&lt;&#x2F;em&gt;] There has been LaTeX and Markdown and org and other typesetting software and each of them have their own strengths and weaknesses. Typst aims to achieve all their strengths and none of their weaknesses. At least, that is how I see typst to be.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;comparing-typst-with-other-typesetting-software&quot;&gt;Comparing Typst with other typesetting software&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Properties&lt;&#x2F;th&gt;&lt;th&gt;Typst&lt;&#x2F;th&gt;&lt;th&gt;LaTex&lt;&#x2F;th&gt;&lt;th&gt;Markdown&lt;&#x2F;th&gt;&lt;th&gt;Org&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Fast Preview&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lightweight&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Extensible&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Simple Syntax&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Platform Agnostic&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Automatic Dependency Management&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;Not Supported&lt;&#x2F;td&gt;&lt;td&gt;Not Supported&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Single Binary&lt;&#x2F;td&gt;&lt;td&gt;Yes&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;td&gt;No&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Let me tell you what all these means too:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Fast Preview:&lt;&#x2F;strong&gt; If you can see the changes live as you type.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lightweight&lt;&#x2F;strong&gt;: If it can be installed quickly and has a small footprint(storage consumption).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Extensible:&lt;&#x2F;strong&gt; If modules&#x2F;packages can be made and used as dependencies that you can just import. Like templates, styles and formatting that can just be imported to use.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simple Syntax:&lt;&#x2F;strong&gt; If you can do the basic formatting without needing to know complex syntax for it. For e.g.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;\begin{itemize} \item &amp;lt;text&amp;gt; \end{itemize}&amp;quot; makes a bullet list in LaTeX
&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;- &amp;lt;Text&amp;gt;&amp;quot; Makes a bullet list in Typst
&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;* &amp;lt;Text&amp;gt;&amp;quot; Makes a bullet list in Markdown
&lt;&#x2F;span&gt;&lt;span&gt;&amp;quot;- &amp;lt;Text&amp;gt;&amp;quot; Makes a bullet list in Org
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Platform Agnostic&lt;&#x2F;strong&gt;: Here technically every software is platform agnostic and can be used in any text editor of your choice but the complete &quot;Org-mode&quot; is only available in &lt;code&gt;emacs&lt;&#x2F;code&gt; and is very difficult to replicate it anywhere else.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automatic Dependency Management:&lt;&#x2F;strong&gt; I only realised that it is a thing when I actually used Typst, but if you import something, the LSP automatically installs the module if it isn&#x27;t available on your device. Latex cannot do that and the other software are not extensible so, you cannot use modules at all.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Single Binary:&lt;&#x2F;strong&gt; This makes typst very portable and easy to install since it doesn&#x27;t need to rely on other packages in the system to work. Which is not the case with Latex at all and not for others too unless they are, in that case, sorry I didn&#x27;t know.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;how-i-use-it&quot;&gt;How I use it&lt;&#x2F;h2&gt;
&lt;p&gt;I use typst with my text editor of choice &lt;code&gt;neovim&lt;&#x2F;code&gt;. If you ask a person who uses Neovim as their text editor, they&#x27;ll say how much they hate it when they have to type text in a normal text editor. Since it is just plain text, I surely can write it without the need of any LSP or Plugins and use the typst compiler to render it continuously on save. But, it has a LSP called &lt;code&gt;tinymist&lt;&#x2F;code&gt; and it has a previewer plugin for Neovim called &lt;code&gt;typst-preview&lt;&#x2F;code&gt; which generates live SVG preview and any good browser can render it.&lt;&#x2F;p&gt;
&lt;p&gt;The best thing about &lt;code&gt;tinymist&lt;&#x2F;code&gt; and &lt;code&gt;typst-preview&lt;&#x2F;code&gt; coming from &lt;code&gt;vimtex&lt;&#x2F;code&gt; for LaTeX, the preview is instant and it also follows the cursor as I move in neovim. When, I am bored I just scroll on my &lt;code&gt;neovim&lt;&#x2F;code&gt; to see the preview scroll automatically on the browser.&lt;&#x2F;p&gt;
&lt;p&gt;Talking about browser, I use &lt;code&gt;qutebrowser&lt;&#x2F;code&gt; for preview since it supports the VIM keys by default and I can remove all the UI elements to just see the preview while it being a full fledged browser. And it is just awesome.&lt;&#x2F;p&gt;
&lt;p&gt;I use &lt;code&gt;lazy&lt;&#x2F;code&gt; as my plugin manager for &lt;code&gt;neovim&lt;&#x2F;code&gt; and the following snippet sets my whole environment for typst apart from installing &lt;code&gt;typst&lt;&#x2F;code&gt; itself and &lt;code&gt;qutebrowser&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;lua&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-lua &quot;&gt;&lt;code class=&quot;language-lua&quot; data-lang=&quot;lua&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;chomosuke&#x2F;typst-preview.nvim&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;ft &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;typst&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;version &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;1.*&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;opts &lt;&#x2F;span&gt;&lt;span&gt;= {
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;formatterMode &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;typstyle&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;invert_colors &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;{&amp;quot;rest&amp;quot;: &amp;quot;auto&amp;quot;,&amp;quot;image&amp;quot;: &amp;quot;never&amp;quot;}&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;open_cmd &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;qutebrowser %s&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;  },
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;config &lt;&#x2F;span&gt;&lt;span&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;function&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;_&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;opts&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;require&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;typst-preview&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setup(opts)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span&gt;.api.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;nvim_create_autocmd(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;FileType&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, {
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;pattern &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;typst&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;callback &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;function&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;()
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;        vim.defer_fn(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;function&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;()
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;          vim.cmd(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;TypstPreview&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;end&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;end&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;,
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;    })
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;end&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Here is how my typst setup looks like. It doesn&#x27;t look like much but it works too well. I use &lt;code&gt;harper-ls&lt;&#x2F;code&gt; for my grammar checking and with everything on the single environment I can write my documents in the editor I want with proper formatting, live preview and offline grammar checking. What more can I ask for?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;typst&#x2F;typst-environment.png&quot; alt=&quot;My Typst Environment&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;If you want to check the document and see how I have formatted it you can see the source code &lt;a href=&quot;&#x2F;images&#x2F;typst&#x2F;creative-suite-that-doesnt-trap-you&#x2F;creative-suite-that-doesnt-trap-you.typ&quot;&gt;here&lt;&#x2F;a&gt;, and the compliled PDF &lt;a href=&quot;&#x2F;images&#x2F;typst&#x2F;creative-suite-that-doesnt-trap-you&#x2F;creative-suite-that-doesnt-trap-you.pdf&quot;&gt;here&lt;&#x2F;a&gt;. You can also visit the directory in &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;scientiac&#x2F;scientiac.github.io&#x2F;tree&#x2F;main&#x2F;static&#x2F;images&#x2F;typst&#x2F;creative-suite-that-doesnt-trap-you&quot;&gt;github&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;you-might-be-wondering-why-i-didn-t-mention-microsoft-or-google-docs&quot;&gt;You might be wondering, why I didn&#x27;t mention Microsoft or Google Docs.&lt;&#x2F;h3&gt;
&lt;p&gt;I forgot about it. I am being honest here, I forgot about it while writing the comparison but the &lt;a href=&quot;https:&#x2F;&#x2F;typst.app&#x2F;#:~:text=Why%20should%20I%20use%20Typst%20instead%20of%20...&quot;&gt;typst homepage&lt;&#x2F;a&gt; has a pretty nice comparison between &lt;code&gt;LaTeX&lt;&#x2F;code&gt;, &lt;code&gt;Typst&lt;&#x2F;code&gt; and &lt;code&gt;Google Docs&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;But, if you want to know my take on these Word Processing Software is that I just hate aligning and placing figures and images in them. The age old meme still holds true. (&lt;em&gt;Or, maybe it&#x27;s my skill issue.&lt;&#x2F;em&gt;)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;typst&#x2F;meme.png&quot; alt=&quot;Microsoft Word Meme&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;mandatory-in-the-end&quot;&gt;Mandatory &quot;In the end&quot;&lt;&#x2F;h3&gt;
&lt;p&gt;I love using typst. I feel like I have made documents in typst more than I have used any other software to make documents in my life. And after the &lt;code&gt;neovim&lt;&#x2F;code&gt; setup I just fell madly, deeply, truly in love with it. And I just recommend it to everyone and want typst to grow to the point where all academic journals accept it as a format to support papers in. It will be just smooth sailing from there on.&lt;&#x2F;p&gt;
&lt;p&gt;My only wish is being able to do Literate Programming in &lt;code&gt;typst&lt;&#x2F;code&gt;, then it&#x27;ll be the best for writing reproducable technical documents, kinda like what org can do with &lt;code&gt;org-tangle&lt;&#x2F;code&gt;. But, it is just a wish and if someone esle doesn&#x27;t, I might try to make it a reality.&lt;&#x2F;p&gt;
&lt;p&gt;This much for today, I might add more to this if I feel like I missed something. Or, maybe I will write a follow up blog on this. Seeya soon...&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Booting Arch Linux Smoothly</title>
        <published>2025-07-05T00:00:00+00:00</published>
        <updated>2025-07-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/boot-arch-smoothly/"/>
        <id>https://scientiac.space/blog/boot-arch-smoothly/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/boot-arch-smoothly/">&lt;h2 id=&quot;my-device&quot;&gt;My Device&lt;&#x2F;h2&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                  -`                     scientiac@einstein
&lt;&#x2F;span&gt;&lt;span&gt;                 .o+`                    ------------------
&lt;&#x2F;span&gt;&lt;span&gt;                `ooo&#x2F;                    OS: Arch Linux x86_64
&lt;&#x2F;span&gt;&lt;span&gt;               `+oooo:                   Host: ASUS Zenbook 14 UM3406HA_UM3406HA (1.0)
&lt;&#x2F;span&gt;&lt;span&gt;              `+oooooo:                  Kernel: Linux 6.15.4-arch2-1
&lt;&#x2F;span&gt;&lt;span&gt;              -+oooooo+:                 Uptime: 31 mins
&lt;&#x2F;span&gt;&lt;span&gt;            `&#x2F;:-:++oooo+:                Packages: 997 (pacman)
&lt;&#x2F;span&gt;&lt;span&gt;           `&#x2F;++++&#x2F;+++++++:               Shell: zsh 5.9
&lt;&#x2F;span&gt;&lt;span&gt;          `&#x2F;++++++++++++++:              Display (SDC419D): 2880x1800 @ 60 Hz (as 1440x900) in 14&amp;quot; [Built-in]
&lt;&#x2F;span&gt;&lt;span&gt;         `&#x2F;+++ooooooooooooo&#x2F;`            WM: niri (Wayland)
&lt;&#x2F;span&gt;&lt;span&gt;        .&#x2F;ooosssso++osssssso+`           Cursor: Adwaita (24px)
&lt;&#x2F;span&gt;&lt;span&gt;       .oossssso-````&#x2F;ossssss+`          Terminal: ghostty 1.1.3-arch1
&lt;&#x2F;span&gt;&lt;span&gt;      -osssssso.      :ssssssso.         Terminal Font: FantasqueSansM Nerd Font Mono (11pt)
&lt;&#x2F;span&gt;&lt;span&gt;     :osssssss&#x2F;        osssso+++.        CPU: AMD Ryzen 7 8840HS (16) @ 5.13 GHz
&lt;&#x2F;span&gt;&lt;span&gt;    &#x2F;ossssssss&#x2F;        +ssssooo&#x2F;-        GPU: AMD Radeon 780M Graphics [Integrated]
&lt;&#x2F;span&gt;&lt;span&gt;  `&#x2F;ossssso+&#x2F;:-        -:&#x2F;+osssso+-      Memory: 2.51 GiB &#x2F; 14.91 GiB (17%)
&lt;&#x2F;span&gt;&lt;span&gt; `+sso+:-`                 `.-&#x2F;+oso:     Swap: 0 B &#x2F; 4.00 GiB (0%)
&lt;&#x2F;span&gt;&lt;span&gt;`++:.                           `-&#x2F;+&#x2F;    Disk (&#x2F;): 20.95 GiB &#x2F; 475.94 GiB (4%) - btrfs
&lt;&#x2F;span&gt;&lt;span&gt;.`                                 `&#x2F;    Local IP (wlan0): 192.168.1.71&#x2F;24
&lt;&#x2F;span&gt;&lt;span&gt;                                         Battery (ASUS Battery): 52% [Discharging]
&lt;&#x2F;span&gt;&lt;span&gt;                                         Locale: en_US.UTF-8
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;firstly&quot;&gt;Firstly...&lt;&#x2F;h2&gt;
&lt;p&gt;My friend challenged me to achieve flicker free boot on my laptop like someone achieved it many-many years ago, and said if fedora can do it by default why can&#x27;t we?&lt;&#x2F;p&gt;
&lt;iframe
	class=&quot;youtube-embed&quot;
	src=&quot;https:&#x2F;&#x2F;www.youtube-nocookie.com&#x2F;embed&#x2F;5DW2JgJmsuY&quot;
	allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot;
	referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;
&lt;&#x2F;iframe&gt;
&lt;p&gt;Technically he didn&#x27;t challenge me, he only mentioned that it was possible. And, I took it as a challenge. Because I know that linux can be as smooth and polished looking as
other commercial OS offerings. And I want my laptop to be as smooth as possible and as clean looking as possible.&lt;&#x2F;p&gt;
&lt;p&gt;So, I tried.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;how-did-you-start&quot;&gt;How did you start?&lt;&#x2F;h3&gt;
&lt;p&gt;The only thing I didn&#x27;t really want to do was reinstall my OS again. But, I had to.
I had never used the Unified Kernel Image (UKI) and I was using &lt;code&gt;systemd-boot&lt;&#x2F;code&gt; as my bootloader.
So, the bootloader had to go and UKI had to be installed.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;strong&gt;1.&lt;&#x2F;strong&gt; &lt;em&gt;When installing Arch Linux, use &lt;code&gt;UKI&lt;&#x2F;code&gt; Unified Kernel Image and instead of using a bootloader, use &lt;code&gt;EFIstub&lt;&#x2F;code&gt; (EFI Boot Stub)&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;I used &lt;code&gt;archinstall&lt;&#x2F;code&gt; and it had both of these options. It was very easy. I picked all other configurations as I used to do and just installed the system.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;after-installation&quot;&gt;After Installation&lt;&#x2F;h3&gt;
&lt;p&gt;I had to change the kernel parameters, to make all those text go away. So, I tried using &lt;code&gt;efibootmgr&lt;&#x2F;code&gt; and failed again and again.
I couldn&#x27;t for science&#x27;s sake use it properly. Once, I tried using the script recommended by the &lt;code&gt;arch-wiki&lt;&#x2F;code&gt;, the boot process flickered more than It had ever flickered.
Luckily it hadn&#x27;t removed the original entry and &lt;code&gt;efibootmgr&lt;&#x2F;code&gt; had a way to remove the broken entries, so I brought everything back to normal and tried it a countless times, failing each time.&lt;&#x2F;p&gt;
&lt;p&gt;I gave up on &lt;code&gt;efibootmgr&lt;&#x2F;code&gt;, from previous experiences with booting with a splash screen, I knew &lt;code&gt;plymouth&lt;&#x2F;code&gt; was a thing. So, I installed it. And went searching for ways to put kernel-parameters during boot. Plymouth needed &lt;code&gt;quiet splash&lt;&#x2F;code&gt; to work.&lt;&#x2F;p&gt;
&lt;p&gt;Then, I found &lt;code&gt;&#x2F;etc&#x2F;kernel&#x2F;cmdline&lt;&#x2F;code&gt;. I added &lt;code&gt;quiet splash&lt;&#x2F;code&gt; to the end of the line and then rebooted. It showed no changes.
I found out that I had to rebuild the initial ramdisk environment. In other words I had to run:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# To (re-)generate initramfs images based on all existing presets, the -P&#x2F;--allpresets switch is used. 
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;sudo mkinitcpio -P
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;strong&gt;2.&lt;&#x2F;strong&gt; &lt;em&gt;To add kernel parameters, you need to append the text on &lt;code&gt;&#x2F;etc&#x2F;kernel&#x2F;cmdline&lt;&#x2F;code&gt; and then, rebuild the initramfs image using &lt;code&gt;sudo mkinitcpio -P&lt;&#x2F;code&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;My &lt;code&gt;&#x2F;etc&#x2F;kernel&#x2F;cmdline&lt;&#x2F;code&gt; looks like this:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;txt&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-txt &quot;&gt;&lt;code class=&quot;language-txt&quot; data-lang=&quot;txt&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;root=PARTUUID=4638cd24-77e4-4ed3-bb8a-9478d9c2d2db zswap.enabled=0 rw rootfstype=btrfs quiet loglevel=3 udev.log-priority=3 systemd.show_status=false splash
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The part until &lt;code&gt;rootfstyps=btrfs&lt;&#x2F;code&gt; was autogenerated during installation and I added the rest afterwards.&lt;&#x2F;p&gt;
&lt;p&gt;Now, &lt;strong&gt;It Worked!&lt;&#x2F;strong&gt; But, it was the same(somewhat). The splash animation for ASUS ran, then it showed me a big Arch Linux logo, then the screen went black and then the splash screen reappeared and it dropped me to my login manager. This was the behavior it used to show before I installed arch without doing anything I previously did. Basically, I was back to how it was before I reinstalled my OS. All that copying and configuring for nothing.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-you-should-not-give-up&quot;&gt;Why you should not give up&lt;&#x2F;h3&gt;
&lt;p&gt;So, I started putting different kernel params to check if one of it worked and if any of it removed blackout before showing me the splash screen again. The wiki for &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;title&#x2F;Silent_boot&quot;&gt;silent boot&lt;&#x2F;a&gt; suggested I put &lt;code&gt;loglevel=3 systemd.show_status=auto rd.udev.log_level=3&lt;&#x2F;code&gt; in the kernel parameters.&lt;&#x2F;p&gt;
&lt;p&gt;It also said:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;If you also want to stop systemd from printing its version number when booting, you should also append udev.log_level=3 to your kernel parameters. If systemd is used in an initramfs, append rd.udev.log_level=3 instead.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Since, I wasn&#x27;t using &lt;code&gt;systemd&lt;&#x2F;code&gt; in the initramfs, I used &lt;code&gt;udev.log_level=3&lt;&#x2F;code&gt; instead. Then I rebuilt the initramfs and rebooted. &lt;strong&gt;It was the same.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;strong&gt;3.&lt;&#x2F;strong&gt; &lt;em&gt;Append &lt;code&gt;quiet loglevel=3 udev.log-priority=3 systemd.show_status=false splash&lt;&#x2F;code&gt; in &lt;code&gt;&#x2F;etc&#x2F;kernel&#x2F;cmdline&lt;&#x2F;code&gt; to enable splash and quiet out the logs.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;Then I became desperate and started looking everywhere; forums, wikis, even YouTube comment section. And, you know what? YouTube comments helped for once.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;boot-arch-smoothly&#x2F;comment.png&quot; alt=&quot;Youtube Comment&quot; &#x2F;&gt;
This comment is from the YouTube video I have linked above.&lt;&#x2F;p&gt;
&lt;p&gt;I finally realised, &lt;code&gt;plymouth&lt;&#x2F;code&gt; was the culprit. The kernel had to hand over the process to plymouth and it caused the delay after the big Arch Linux logo.&lt;&#x2F;p&gt;
&lt;p&gt;I also found out that kernel itself can render the logo without plymouth, that was how the Arch Linux Logo was being rendered even before plymouth had started.
If only, I had read the silent boot wiki entry properly:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;To prevent the kernel from blanking the vendor logo, Linux 4.19 introduced a new configuration option &lt;code&gt;FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER&lt;&#x2F;code&gt; that retains the contents of the framebuffer until text needs to be printed on the framebuffer console. Since version 4.19.arch1, the official Arch Linux kernels are compiled with &lt;code&gt;CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y&lt;&#x2F;code&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Thanks to arch I didn&#x27;t have to recompile the kernel to get that.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;tip&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Tip&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;em&gt;There is no need to use &lt;code&gt;plymouth&lt;&#x2F;code&gt; because the Linux kernel can show splash images by itself and enabling both only makes the process less smoother.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;it-still-wasn-t-smooth&quot;&gt;It still wasn&#x27;t &quot;smooth&quot;&lt;&#x2F;h3&gt;
&lt;p&gt;I didn&#x27;t want the Arch Linux logo, I wanted my vendor logo to be continued, like it was still booting until my login screen appeared.
If only I can replace the &quot;Arch Linux&quot; logo with &lt;code&gt;bgrt&lt;&#x2F;code&gt; (The vendor&#x27;s splash logo). So, I went looking where I could change that.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The Boot Graphics Record Table (BGRT) is an optional ACPI table which contains a pointer to the image that has been drawn during boot.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I found &lt;code&gt;&#x2F;etc&#x2F;mkinitcpio.d&#x2F;linux.preset&lt;&#x2F;code&gt; to be the exact thing I was looking for. And from the name itself I knew I needed to rebuild the initramfs again for the changes to be reflected.&lt;&#x2F;p&gt;
&lt;p&gt;I had to change the following line in &lt;code&gt;linux.preset&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;ini&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-ini &quot;&gt;&lt;code class=&quot;language-ini&quot; data-lang=&quot;ini&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;default_options&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;--splash &#x2F;usr&#x2F;share&#x2F;systemd&#x2F;bootctl&#x2F;splash-arch.bmp&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;My first instinct was to go to &lt;code&gt;&#x2F;usr&#x2F;share&#x2F;systemd&#x2F;bootctl&#x2F;&lt;&#x2F;code&gt; and &lt;code&gt;rm splash-arch.bmp&lt;&#x2F;code&gt;. I did that and rebooted, Now, It showed black screen until the login manager showed up.
It was progress.&lt;&#x2F;p&gt;
&lt;p&gt;Then I found my &lt;code&gt;bgrt&lt;&#x2F;code&gt; image in &lt;code&gt;&#x2F;sys&#x2F;firmware&#x2F;acpi&#x2F;bgrt&#x2F;&lt;&#x2F;code&gt; it was named &lt;code&gt;image&lt;&#x2F;code&gt; with no file extension.&lt;&#x2F;p&gt;
&lt;p&gt;So, I changed the above line to:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;ini&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-ini &quot;&gt;&lt;code class=&quot;language-ini&quot; data-lang=&quot;ini&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;default_options&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;--splash &#x2F;sys&#x2F;firmware&#x2F;acpi&#x2F;bgrt&#x2F;image&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Then I rebuilt the initramfs and rebooted. To be greeted with a smooth boot. Like I wanted it to be. Showing bgrt until the login manager showed up.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;strong&gt;4.&lt;&#x2F;strong&gt; &lt;em&gt;Change the &lt;code&gt;default_options=&lt;&#x2F;code&gt; configuration to &lt;code&gt;&#x2F;sys&#x2F;firmware&#x2F;acpi&#x2F;bgrt&#x2F;image&lt;&#x2F;code&gt; in &lt;code&gt;&#x2F;etc&#x2F;mkinitcpio.d&#x2F;linux.preset&lt;&#x2F;code&gt; then rebuild the initramfs by doing &lt;code&gt;sudo mkinitcpio -P&lt;&#x2F;code&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;it-was-not-as-smooth-as-plymouth&quot;&gt;It was not as &quot;smooth&quot; as plymouth&lt;&#x2F;h3&gt;
&lt;p&gt;The booting process was good and how I wanted it to be, but when it came to rebooting it showed:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;txt&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-txt &quot;&gt;&lt;code class=&quot;language-txt&quot; data-lang=&quot;txt&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;[    54.796241] watchdog: watchdog0: watchdog did not stop!
&lt;&#x2F;span&gt;&lt;span&gt;[    54.918590] watchdog: watchdog0: watchdog did not stop!
&lt;&#x2F;span&gt;&lt;span&gt;[    55.597358] reboot: Restarting system
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I didn&#x27;t want that to show up and with a bit of research, I came to a conclusion that disabling watchdog was fine so I did. I edited &lt;code&gt;&#x2F;etc&#x2F;modprobe.d&#x2F;blacklist.conf&lt;&#x2F;code&gt; and added &lt;code&gt;blacklist sp5100_tco&lt;&#x2F;code&gt;. Intel users are supposed to &lt;code&gt;blacklist iTCO_wdt&lt;&#x2F;code&gt; or the watchdog that their system used.&lt;&#x2F;p&gt;
&lt;p&gt;Now my &lt;code&gt;&#x2F;etc&#x2F;modprobe.d&#x2F;blacklist.conf&lt;&#x2F;code&gt; has:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;txt&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-txt &quot;&gt;&lt;code class=&quot;language-txt&quot; data-lang=&quot;txt&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;# Do not load the watchdog module on boot.
&lt;&#x2F;span&gt;&lt;span&gt;blacklist sp5100_tco
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;&lt;strong&gt;5.&lt;&#x2F;strong&gt; &lt;em&gt;Blacklist your watchdog so you don&#x27;t get watchdog messages when rebooting and powering off by editing &lt;code&gt;&#x2F;etc&#x2F;modprobe.d&#x2F;blacklist.conf&lt;&#x2F;code&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;i-don-t-like-having-nice-things&quot;&gt;I don&#x27;t like having nice things&lt;&#x2F;h3&gt;
&lt;p&gt;What I did above is enough to get flicker free boot&#x2F;smooth boot or whatever you call it, but I wanted more, I want &lt;code&gt;plymouth&lt;&#x2F;code&gt; to work without flicker. Spoiler: I couldn&#x27;t.&lt;&#x2F;p&gt;
&lt;p&gt;Anyway, I switched to &lt;code&gt;systemd&lt;&#x2F;code&gt; instead of &lt;code&gt;udev&lt;&#x2F;code&gt; so my &lt;code&gt;&#x2F;etc&#x2F;mkinitcpio.conf&lt;&#x2F;code&gt; has the following hooks now:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;txt&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-txt &quot;&gt;&lt;code class=&quot;language-txt&quot; data-lang=&quot;txt&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;HOOKS=(base systemd modconf autodetect kms keyboard sd-vconsole block filesystems fsck plymouth)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I reinstalled plymouth, and I like it when it smoothly transitions to GDM instead of flashing me to GDM. It was a tradeoff between GDM flash or just flicker when loading spalash screen.&lt;&#x2F;p&gt;
&lt;p&gt;I added more kernel parameters to mitigate the flashing but I couldn&#x27;t do it.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;txt&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-txt &quot;&gt;&lt;code class=&quot;language-txt&quot; data-lang=&quot;txt&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;root=PARTUUID=4638cd24-77e4-4ed3-bb8a-9478d9c2d2db zswap.enabled=0 rw rootfstype=btrfs amdgpu.modeset=1 amdgpu.dc=1 video=efifb:keep plymouth.use-simpledrm quiet vt.global_cursor_default=0 loglevel=3 rd.udev.log_level=3 systemd.show_status=auto splash
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;code&gt;plymouth.use-simpledrm&lt;&#x2F;code&gt; does start plymouth immediately but when the &lt;code&gt;amdgpu&lt;&#x2F;code&gt; driver is ready it mode-switches to it and the black screen appears. I can technically use &lt;code&gt;nomodeset&lt;&#x2F;code&gt; and achieve true flicker free boot with plymouth and everything but then I lose out on my graphics driver setting dpi scaling and brightness and more for me on boot.&lt;&#x2F;p&gt;
&lt;p&gt;I even tried setting &lt;code&gt;&#x2F;etc&#x2F;plymouth&#x2F;plymouthd.conf&lt;&#x2F;code&gt; to delay it&#x27;s starting but it still doesn&#x27;t stop flickering. It either flickers or it skips and I get the UKI splash screen until the login manager.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;ini&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-ini &quot;&gt;&lt;code class=&quot;language-ini&quot; data-lang=&quot;ini&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;[Daemon]
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ShowDelay&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;DeviceTimeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;30
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I think I will just remove the plymouth configuration since it isn&#x27;t helping anything. Or maybe I&#x27;ll just leave it there because it is not doing anything.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;removing-arch-linux-logo&quot;&gt;Removing Arch Linux Logo&lt;&#x2F;h3&gt;
&lt;p&gt;To remove the logo from GDM I quickly installed &lt;code&gt;gdm-settings&lt;&#x2F;code&gt; and there was a toggle which I turned off.&lt;&#x2F;p&gt;
&lt;p&gt;I didn&#x27;t like the logo shown by plymouth during boot either, so I just removed the image &lt;code&gt;watermark.png&lt;&#x2F;code&gt; from the spinner theme in &lt;code&gt;&#x2F;usr&#x2F;share&#x2F;plymouth&#x2F;themes&#x2F;spinner&#x2F;&lt;&#x2F;code&gt;. I also removed all animation and throbber images just to make everything clean.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h3&gt;
&lt;p&gt;I did eventually come back to &quot;not so smooth boot&quot; but I am one &lt;code&gt;sudo pacman -R plymouth&lt;&#x2F;code&gt; away from it. Furthermore, I can boast about having 3 splash screens that look the same transitioning seamlessly*, even 4 if you count the UEFI animation.&lt;&#x2F;p&gt;
&lt;p&gt;It goes as follows:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;UEFI&lt;&#x2F;code&gt; animation starts and ends.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;UKI Splash Screen&lt;&#x2F;code&gt; starts and ends.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;simpledrm&lt;&#x2F;code&gt; backed &lt;code&gt;plymouth&lt;&#x2F;code&gt; bgrt theme starts and screen goes blank.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;amdgpu&lt;&#x2F;code&gt; backed plymouth screen gradually appears and transitions to GDM.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;But, if I remove plymouth:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;UEFI&lt;&#x2F;code&gt; animation starts and ends.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;UKI Splash Screen&lt;&#x2F;code&gt; starts and drops me to GDM.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Tech Minimalism</title>
        <published>2025-05-29T00:00:00+00:00</published>
        <updated>2025-05-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/tech-minimalism/"/>
        <id>https://scientiac.space/blog/tech-minimalism/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/tech-minimalism/">&lt;h2 id=&quot;firstly&quot;&gt;Firstly&lt;&#x2F;h2&gt;
&lt;p&gt;I don&#x27;t really have hardware that is minimal. It could be minimal for some people, but having a working smartphone
and a pretty good laptop isn&#x27;t minimal, judging by the plethora of things I can do within these devices.&lt;&#x2F;p&gt;
&lt;p&gt;A huge chunk of my personality is influenced by Linux and the principles&#x2F;philosophies I have learned to interact with the
Linux and Open Source ecosystem. KISS, UNIX, DRY, YAGNI, etc. These are some of the things I have been exposed to
for too many times. I see that they all have one thing in common; &lt;strong&gt;&lt;em&gt;Minimalism&lt;&#x2F;em&gt;&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-are-thoseeeee&quot;&gt;What are thoseeeee?&lt;&#x2F;h2&gt;
&lt;p&gt;Let&#x27;s start with &lt;strong&gt;KISS&lt;&#x2F;strong&gt; because I like the sound of it,&lt;&#x2F;p&gt;
&lt;h4 id=&quot;kiss&quot;&gt;KISS&lt;&#x2F;h4&gt;
&lt;p&gt;&lt;strong&gt;Keep It Simple Stupid&lt;&#x2F;strong&gt; or one of the variations below implies that simplicity should be a design goal.&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;Variations&lt;&#x2F;summary&gt;
&lt;ul&gt;
&lt;li&gt;Keep It Super Simple&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Simple, Silly&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Short and Simple&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Short and Sweet&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Simple and Straightforward&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Small and Simple&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Simple, Sweetie&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Stupidly Simple&lt;&#x2F;li&gt;
&lt;li&gt;Keep It Sweet and Simple&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;details&gt;
&lt;h4 id=&quot;unix&quot;&gt;UNIX&lt;&#x2F;h4&gt;
&lt;p&gt;&lt;strong&gt;UNIX&lt;&#x2F;strong&gt; philosophy is a set of norms and philosophical approaches to minimalist, modular software development.
The most emphasized concept is,&quot;Write programs that do one thing and do it well.&quot;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;dry&quot;&gt;DRY&lt;&#x2F;h4&gt;
&lt;p&gt;The &lt;strong&gt;Don&#x27;t Repeat Yourself&lt;&#x2F;strong&gt; principle is stated as &quot;Every piece of knowledge must have a single,
unambiguous, authoritative representation within a system&quot;. What I understand by it is that, redundancy
makes a system confusing and unintuitive.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;yagni&quot;&gt;YAGNI&lt;&#x2F;h4&gt;
&lt;p&gt;&quot;You aren&#x27;t gonna need it&quot; or &quot;You ain&#x27;t gonna need it&quot; is something that arose from &lt;em&gt;Doing the simplest
thing that could possibly work&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;etc&quot;&gt;etc&lt;&#x2F;h4&gt;
&lt;p&gt;&quot;End of thinking capacity&quot; or I don&#x27;t want to lengthen my blog yapping about acronyms and want to
come to the actual topic.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;so-what-did-you-do&quot;&gt;So, what did you do?&lt;&#x2F;h2&gt;
&lt;p&gt;I am trying to follow these principles in my daily life and in using tech in general. Partly because I
want to live outside these devices more, and mostly because I don&#x27;t like the &quot;attention economy&quot; and big
tech constantly trying to pull our attention and make us watch more ads. In general, &quot;I don&#x27;t want to be
the product.&quot; I guess the reasons for partly and mostly should have been the other way around, but I&#x27;ll get
the same outcome anyway.&lt;&#x2F;p&gt;
&lt;p&gt;For starters, I bought a watch, just so that I don&#x27;t have to keep pulling out my phone and check the time only to see
a notification and get sucked into the rabbit hole. That has made keeping the phone in my bag instead of in my pocket
possible.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;That&#x27;s the only thing I bought.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Everything else is software minimalism now. I removed my previous ROM and installed LineageOS on my phone. And, I
removed Windows and installed Linux. (Technically, I have been using Linux for years by now, but I did remove windows.)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;how-are-your-devices-set-up&quot;&gt;How are your devices set up?&lt;&#x2F;h3&gt;
&lt;p&gt;Let&#x27;s start with my phone because it was the thing I used the most while being aware that I am using it the most, and it was
wasting my time more than I was utilizing it.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;lineageos-android&quot;&gt;LineageOS (Android)&lt;&#x2F;h4&gt;
&lt;p&gt;The first thing I will see when I pick up my phone is the &lt;strong&gt;lock screen&lt;&#x2F;strong&gt;, and it is set up such that my screen will not light
up when I receive a notification, but, the notifications are visible with content in the lock screen because it is easier for
me to decide if I need to respond immediately, or it can wait.&lt;&#x2F;p&gt;
&lt;p&gt;I have my phone &lt;em&gt;almost perpetually in DND mode&lt;&#x2F;em&gt; with the exception of my parents being in favorite and being able to ring me anytime.
For others, if I receive two calls within a 15-second interval, I&#x27;ll get the call. And all text messages and notifications are
disabled while the DND Mode is on.&lt;&#x2F;p&gt;
&lt;p&gt;Now, let the phone be unlocked. I have &lt;strong&gt;YAM Launcher&lt;&#x2F;strong&gt; installed, and I will only be able to see the time on the
home screen. Upon a swipe up, the app list opens up with only text and edited to represent what it&#x27;ll do instead of
the app&#x27;s name.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;video src=&quot;&#x2F;images&#x2F;tech_minimalism&#x2F;yam.webm&quot; controls style=&quot;width: 15rem;&quot;&gt;&lt;&#x2F;video&gt;&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;App List&lt;&#x2F;summary&gt;
&lt;ol&gt;
&lt;li&gt;Browser - Firefox Nightly&lt;&#x2F;li&gt;
&lt;li&gt;Calculator&lt;&#x2F;li&gt;
&lt;li&gt;Camera&lt;&#x2F;li&gt;
&lt;li&gt;Contacts&lt;&#x2F;li&gt;
&lt;li&gt;Devices - KDE Connect&lt;&#x2F;li&gt;
&lt;li&gt;Email - Thunderbird Daily&lt;&#x2F;li&gt;
&lt;li&gt;Files&lt;&#x2F;li&gt;
&lt;li&gt;Gallery - Aves Gallery&lt;&#x2F;li&gt;
&lt;li&gt;Messaging&lt;&#x2F;li&gt;
&lt;li&gt;Packages - Obtainium&lt;&#x2F;li&gt;
&lt;li&gt;Passwords - Bitwarden (Keyguard)&lt;&#x2F;li&gt;
&lt;li&gt;Phone&lt;&#x2F;li&gt;
&lt;li&gt;Reader - Readest&lt;&#x2F;li&gt;
&lt;li&gt;Recorder&lt;&#x2F;li&gt;
&lt;li&gt;Settings&lt;&#x2F;li&gt;
&lt;li&gt;Signal - Signal FOSS&lt;&#x2F;li&gt;
&lt;li&gt;Terminal - Termux&lt;&#x2F;li&gt;
&lt;li&gt;Videos - VLC&lt;&#x2F;li&gt;
&lt;li&gt;YouTube - NewPipe (Tubular)&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;Inside the &lt;strong&gt;browser&lt;&#x2F;strong&gt; I have &lt;strong&gt;UBlock Origin&lt;&#x2F;strong&gt; installed, and it blocks all ads and redirects and also YouTube. YouTube links
on my phone are automatically redirected to &lt;strong&gt;NewPipe&lt;&#x2F;strong&gt; which has no feeds and suggestions, only search and play.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;KDE Connect&lt;&#x2F;strong&gt; is for transferring files from my phone to my laptop and vice versa and sometimes clipboard contents, but If
I really need it; I could &lt;strong&gt;ssh&lt;&#x2F;strong&gt; into either of the devices and get what I want, (in my local network). I used to use tailscale
as a VPN, but I have not felt the need of it for now.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Obtainium&lt;&#x2F;strong&gt; is to install packages and updates to my apps, since LineageOS doesn&#x27;t have an app store. It gets apps straight from sources like
git-services, fdroids-repos and web-links. I can get the apps from right where the bakers baked it.&lt;&#x2F;p&gt;
&lt;p&gt;Every other app is pretty self-explanatory and they do their job well.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;nixos-linux&quot;&gt;NixOS (Linux)&lt;&#x2F;h4&gt;
&lt;p&gt;I have a full-fledged desktop environment (DE) and a minimal window manager (WM) installed on my laptop. I normally live on my window manager
but sometimes it doesn&#x27;t cut it, or I have to configure it (which takes some time) so I just fall back on the DE and get the work done. Yes it
breaks from the &quot;DRY&quot; principle, but WM and DE are like my DND Focus and Normal Mode for the laptop.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Nix Package Manager&lt;&#x2F;strong&gt; also works somewhat like obtainium (I am oversimplifying this a lot.) I can get the apps straight from source and compile it
on device or I can get the packages from the NixOS repos.&lt;&#x2F;p&gt;
&lt;p&gt;Technically, the terminal and the browser should be sufficient for everything. But I like my dedicated apps.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;window-manager-niri&quot;&gt;Window Manager (Niri)&lt;&#x2F;h4&gt;
&lt;p&gt;My window manager is set up in such a way that everything is hidden by default. If I hover over the correct places on my screen, I will get what I
want to quickly access like brightness, volume, mic sensitivity, time, battery and the tray.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;video src=&quot;&#x2F;images&#x2F;tech_minimalism&#x2F;zen-mode.webm&quot; controls&gt;&lt;&#x2F;video&gt;&lt;&#x2F;p&gt;
&lt;p&gt;And the scrolling tiling window management is by far the best window management workflow I have experienced till now. I can categorize
my windows in 2 dimensions (Technically all 3, but I rarely want to use the third.) and choose to focus on 1–2 windows while all other windows
are one swipe away. I can&#x27;t explain it by just yapping about it here, you need to use it to feel it.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;desktop-environment-gnome&quot;&gt;Desktop Environment (GNOME)&lt;&#x2F;h4&gt;
&lt;p&gt;It looks similar to niri at first glance, but I have tweaked it with extensions to be minimal. I don&#x27;t open it unless I am playing a game from &lt;strong&gt;Steam&lt;&#x2F;strong&gt; or using an app that only supports XOrg because niri doesn&#x27;t have XWayland support and the workarounds are a bit clunky. Or, if niri crashes for some reason.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;browser-s&quot;&gt;Browser(s)&lt;&#x2F;h4&gt;
&lt;ol&gt;
&lt;li&gt;Firefox (Gecko) - I have my own userCSS and that is the workflow I want in my browser, minimal by default, powerful when needed.&lt;&#x2F;li&gt;
&lt;li&gt;QuteBrowser (Blink&#x2F;QTWebEngine) - It is almost what I wanted in a chromium based browser, if only it had support for Firefox extensions.&lt;&#x2F;li&gt;
&lt;li&gt;Epiphany (WebKit) - It&#x27;s a WebKit browser when I need to test things for a WebKit environment.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;strong&gt;Firefox&lt;&#x2F;strong&gt; is the only browser that has extensions support on my device. I have UBlockOrigin, Unhook, SponsorBlock, VimiumC and Bitwarden installed
and if not all, UBlockOrigin and Bitwarden are the absolute must-haves for me. [&lt;em&gt;I am spoiled by UBlockOrigin.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;QuteBrowser&lt;&#x2F;strong&gt; is my current primary browser because I feel like it uses less power than Firefox does. Also, it is minimal and uses the
whole area for web rendering and not browser components like url-bar and buttons and menus, and also it is entirely keyboard
oriented with VIM-style workflow. I have set its AdBlock to use UBlockOrigin&#x27;s block list, and it does pretty well, but not as well as UBlockOrigin.
Unlike Firefox, I have left the YouTube feed to show up in it, but I don&#x27;t play YouTube on the browser but instead utilize MPV and &lt;code&gt;yt-dlp&lt;&#x2F;code&gt; to watch
on my video player of choice. (The YouTube player is automatically paused and hidden using a greasemonkey script, which is the closest to extensions that Qute has.)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Epiphany&lt;&#x2F;strong&gt; is a browser I almost never use but keep for the sake of testing stuff on WebKit when doing web development.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;applications&quot;&gt;Applications&lt;&#x2F;h4&gt;
&lt;p&gt;I said &quot;app&quot; for mobile but &quot;application&quot; for desktop because they are exactly how they sound like.&lt;&#x2F;p&gt;
&lt;details&gt;
&lt;summary&gt;App List&lt;&#x2F;summary&gt;
&lt;ol&gt;
&lt;li&gt;Browsers - We already discussed them.&lt;&#x2F;li&gt;
&lt;li&gt;Terminal - Ghostty + Alacritty (I couldn&#x27;t choose between features and minimalism on this one.)&lt;&#x2F;li&gt;
&lt;li&gt;Inkscape - Vector Graphics&lt;&#x2F;li&gt;
&lt;li&gt;Emacs - Note-taking using org-roam and for almost nothing else.&lt;&#x2F;li&gt;
&lt;li&gt;Neovide - Neovim dedicated GUI where I do all my text editing and programming.&lt;&#x2F;li&gt;
&lt;li&gt;NewsFlash - RSS Reader&lt;&#x2F;li&gt;
&lt;li&gt;Thunderbird - Email Client&lt;&#x2F;li&gt;
&lt;li&gt;Steam - For &lt;em&gt;Hollow Knight&lt;&#x2F;em&gt; which I play once a month&lt;&#x2F;li&gt;
&lt;li&gt;Valent - A gnome implementation of KDE Connect&lt;&#x2F;li&gt;
&lt;li&gt;Fractal - A matrix client&lt;&#x2F;li&gt;
&lt;li&gt;Foliate - Book Reader&lt;&#x2F;li&gt;
&lt;li&gt;Sioyek - PDF Reader&lt;&#x2F;li&gt;
&lt;li&gt;Fragments - Torrent Client&lt;&#x2F;li&gt;
&lt;li&gt;Refine - The New Gnome Tweaks&lt;&#x2F;li&gt;
&lt;li&gt;Gnome Apps - Weather, Software, Files, Audio Player, Discs, Camera, Calculator, etc.&lt;&#x2F;li&gt;
&lt;li&gt;Spotify + Spicetify - Music Streaming&lt;&#x2F;li&gt;
&lt;li&gt;Telegram - Chat&lt;&#x2F;li&gt;
&lt;li&gt;Signal - Chat&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;The things I mostly use are QuteBrowser and Ghostty and I can prolly do the entirety of what I do within these two apps.
(Maybe I&#x27;ll use Firefox instead of Qute if I was forced to use only two apps.)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;social-media&quot;&gt;Social Media&lt;&#x2F;h2&gt;
&lt;p&gt;Yes! It deserves its own topic. It&#x27;s not like I don&#x27;t use social media, how did you find this blog?
But I don&#x27;t use social media as much. I am not a saint, and I do use things like Microsoft, Meta, and Google
Services and Social media they offer because that&#x27;s where everyone is.&lt;&#x2F;p&gt;
&lt;p&gt;My favourite is &lt;strong&gt;The Fediverse;&lt;&#x2F;strong&gt; it&#x27;s calm, and I can get caught up with everyone I follow within 5 minutes of scrolling,
not even that much. But as much as I love you guys, I still have real-life friends who don&#x27;t use and don&#x27;t know about the Fediverse.&lt;&#x2F;p&gt;
&lt;p&gt;So, I have to use &lt;strong&gt;Facebook Messenger&lt;&#x2F;strong&gt; to contact almost anyone I know. But I have my Facebook ID
deactivated to only use Messenger and don&#x27;t have Instagram and also WhatsApp.&lt;&#x2F;p&gt;
&lt;p&gt;I made a &lt;strong&gt;LinkedIn&lt;&#x2F;strong&gt; account a while back, and I sometimes scroll through it to check what everyone
is up to. I do post once in a while but have not done anything worthy of posting there lately.&lt;&#x2F;p&gt;
&lt;p&gt;I have &lt;strong&gt;Telegram&lt;&#x2F;strong&gt; just to check in with custom ROM communities and mobile Linux communities, but I rarely do that nowadays.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Signal&lt;&#x2F;strong&gt; for the dearest who do use it. It&#x27;s what I use for texting people and have it on my phone as well.&lt;&#x2F;p&gt;
&lt;p&gt;Lastly, let&#x27;s talk about &lt;strong&gt;YouTube&lt;&#x2F;strong&gt;. I didn&#x27;t consider it a social media and used to use the full-fledged YouTube apps, but
I got so addicted to it that I could not stop scrolling, looking for videos to watch. I spent most of the time of the
day on it. But it is definitely a social media, and it definitely should be used and not consumed. And I hate shorts with
passion. Most of my device usage was for YouTube and YouTube only. I am still a YouTube addict, but I am consuming less and
using it more each day.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;lastly&quot;&gt;Lastly&lt;&#x2F;h2&gt;
&lt;p&gt;Though, reading all this (if you really did) made you feel like it is definitely not a minimalist setup. It really is.
I feel like I have fixed my social media overconsumption with this setup. At least I am getting more work done and also
getting a good sleep.&lt;&#x2F;p&gt;
&lt;p&gt;I used to take my phone to bed and scroll YouTube till I slept, and I would always sleep the next day (i.e., after 00:00)
but now I get sleep at 10 and will be asleep within 10 minutes. (That is, unless something is bugging me.)&lt;&#x2F;p&gt;
&lt;p&gt;My phone does absolutely nothing to distract me, and I don&#x27;t have my laptop at all times. The only thing I don&#x27;t have that is
necessary is banking apps, but not having that has made me spend even less, so it&#x27;s still a win.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have been writing this since 04:45 and it&#x27;s 08:45, I&#x27;ll be back after breakfast.&lt;br &#x2F;&gt;
09:06 I&#x27;m Back!&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Yeah! I don&#x27;t think I have more to write about it. The flow got interrupted. I had to do something for my addiction, and it
is what I did. Hopefully I don&#x27;t fall back into the same trap again. Meet you guys in the next blog; byeeeee.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Multiple Faces</title>
        <published>2025-04-06T00:00:00+00:00</published>
        <updated>2025-04-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/multiple-faces/"/>
        <id>https://scientiac.space/blog/multiple-faces/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/multiple-faces/">&lt;p&gt;&lt;em&gt;This one is for you. How many faces do you have?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;How many? I think I lost count.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I hate her with all my guts.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I don&#x27;t understand, if you hate her so badly, why do you still talk to her
nicely. Why not confront her? After all, she may not realize that something
she is doing is making you feel bad.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Did I ask you for a solution? Just listen to me. Also, I am a good person, I
can&#x27;t confront her like that. I will let someone else do that for me. What I
currently know is I hate her.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Maybe it&#x27;s the work of this good person to let them know that it is making
you uncomfortable. After all, this is a talk you should be having with that
friend not me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Well, I don&#x27;t know, I can&#x27;t do that. It&#x27;s not me. Do you not have people you
hate? At least, people you don&#x27;t like?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;No, I mean I may have some people that I didn&#x27;t like at that moment of time
but I forget easily, so next time I meet them I just behave and talk with them
how I previously did. With my face I specially created for them when I got to
know them.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;So, you don&#x27;t have people you hate? Not even a single person? I mean, there is
at least a person that someone doesn&#x27;t like in their life by one way or another.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Maybe I will have one, one day. But I don&#x27;t think I currently have one. We, were
talking about multiple faces. Why do you think you need multiple faces for
multiple people.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Well, there are people I like and I want them to keep liking me. And there are
people I don&#x27;t like, and I don&#x27;t care what they think of me, so, I become a
little devilish to them. And there are teachers, friends, relatives various
people with various ways they see me. Having one for each is to maintain
balance. Why did you ask me that? You yourself said you lost track of your faces
why do you think you need multiple faces?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I don&#x27;t think I &quot;need&quot; them, it&#x27;s just to hide who I am to people I don&#x27;t know.
I tend to gradually turn into the me-me when I get to know them better, to let
them know me better.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;But all my faces are me. It&#x27;s all me. I just want different people to remember
me differently, according to how they treat me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;But what if your friends who know you differently meet? Won&#x27;t they have totally
different take on you. What if one hates you for the same reason someone likes
you?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Why do you keep calling them both my &quot;friends&quot;, obviously the one I like is my
friend and the other isn&#x27;t. Do you call everyone who talk with you your friend?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Hmm, I thought that was a friend. Someone who you talk to and someone who talks
to you, no matter how they behave, if they are with you, they are your friends,
at least, I think it that way. I think I am missing a point here.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;How I see it, is that friends are those special people who match your personality,
who think the same things you do. Who supports you with the things you do.
You are together for everything. I have people who talk to me, whom I don&#x27;t
consider my friends. You should see my inbox, there are so many weird people in
the world.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Maybe you are a beautiful lady, I only have people who I talk to, and I don&#x27;t
get many messages from random people. Even if I do, it&#x27;s about something, or
they go straight to my spam list. Also, I didn&#x27;t mean your internet friends I
meant your real life ones. Internet friends are a whole other topic, haha.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Oh, I don&#x27;t know. I had a friend, but she lives far from me, we rarely meet, we
sometimes chat, I always wish to meet her. I will anytime I get a chance. It&#x27;s
so sad that we had to go separate places after college. I don&#x27;t feel like any
of my colleague are my friends, they only come they need me, want something
from me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;What? Your colleagues are not your friends? I think we have completely different
Views for who we consider a friend. How do you live a life without having
any friends around? I couldn&#x27;t.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I mean, see, the one I was talking about, she is infuriating. And others are
boys who think they can &quot;get&quot; me by smooth talking, augh! Disgusting. And there
are people who admire you in front of you, but they do that to everyone. I don&#x27;t
think they are worthy to be called friends.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Well, if you put it that way... I guess. But, maybe they need a chance to get
to know you better if you want them to treat you in a special way than others.
Like, I wouldn&#x27;t have shared my story with you if we never talked more than
buisness affair today. So, you don&#x27;t consider me a friend, do you?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Well, are you on my side? I don&#x27;t know.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Haha, am I on your side? You betcha I am. But I am also on everyone else&#x27;s side
because I know them all, and they seem like good people. Look, that guy too, he
once hit me with a plastic bottle. We had a fight. I took the last drop from the
water filter when he was waiting behind me to fill his bottle. I don&#x27;t think it
was a good thing to hit me like that, but that doesn&#x27;t determine that he always
wants to fight.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;You are weird, you still talk to him? Even if he hit you for something that was
not in your control? What kind of person is he? I don&#x27;t like him now.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Maybe, it was in my control, maybe it wasn&#x27;t. I just don&#x27;t think that one thing
made him the worst person for life. I got to know him after. He was scared that
I had come to take a revenge. He is a chill guy indeed, something may have
got on his nerve that day.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;If you say so. Look, she is coming toward us. Ahh, now what does she want from
me again?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Heyyyyyy! I have to buy a some things for my sister&#x27;s birthday, will you go
shopping with me?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Why not, sure. You wait, I have to get my keys.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Oh, I thought we were going together. I&#x27;ll drive, we have to come back here
anyway.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Sure! Right now?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Yeah! lets go hurry!&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I&#x27;ll show you where I shop, you&#x27;ll like it.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Hey, I&#x27;m back. I saw this cute dress and had to buy it. She wanted someone to
go with her, I wouldn&#x27;t have found this dress if that hadn&#x27;t happened.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;See, I was right. She isn&#x27;t bad all the time, is she?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;She is still the same her at the office, though.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Hey, you&#x27;re here, I was searching for you. Let&#x27;s go, I&#x27;ll take you to my
favourite restaurant today. I have to repay you for showing me that place, haha.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Sure, where?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;You&#x27;ll know. By the way, who is that guy you were talking to?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;We just... he... I... Ignore him. He talks way too much.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A quote from &#x27;Daredevil: Born Again&#x27;</title>
        <published>2025-03-26T00:00:00+00:00</published>
        <updated>2025-03-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-03-26/"/>
        <id>https://scientiac.space/syndications/posse-2025-03-26/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-03-26/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;center&gt;
&lt;p&gt;&lt;em&gt;Don&#x27;t rely on anyone to do what you can do for yourself.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;Angela Del Toro, Daredevil: Born Again, 2025&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
&lt;p&gt;I don&#x27;t mean it in a dangerous sense, like how she does in the series. But think it in a more general sense. It&#x27;s a good advice.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A Dead Romantic</title>
        <published>2025-03-24T00:00:00+00:00</published>
        <updated>2025-03-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/a-dead-romantic/"/>
        <id>https://scientiac.space/blog/a-dead-romantic/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/a-dead-romantic/">&lt;p&gt;&lt;em&gt;I still smell the roses bloom,&lt;br &#x2F;&gt;
the scent in the air, still draws me.&lt;br &#x2F;&gt;
I still see those butterflies fly,&lt;br &#x2F;&gt;
the wind still, gently whispers me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I still sense a breath of life,&lt;br &#x2F;&gt;
a caring hand, when one lends me.&lt;br &#x2F;&gt;
I still hear my heart pounding,&lt;br &#x2F;&gt;
when someone&#x27;s smile, enchants me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;I still taste rose petal&#x27;s sweet,&lt;br &#x2F;&gt;
imagining her, lips kiss me.&lt;br &#x2F;&gt;
I still feel the touch of care,&lt;br &#x2F;&gt;
reading someone, they miss me.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;center&gt;  
*
&lt;&#x2F;center&gt;
&lt;p&gt;When you find out, that I am dead,&lt;br &#x2F;&gt;
with all the promises, I had made.&lt;br &#x2F;&gt;
And all these senses, were dead with me,&lt;br &#x2F;&gt;
leaving behind, only memories.&lt;&#x2F;p&gt;
&lt;p&gt;Memories of love, for love in return,&lt;br &#x2F;&gt;
for those hugs, with hugs in return,&lt;br &#x2F;&gt;
I&#x27;ll be buried, with the debt of love,&lt;br &#x2F;&gt;
only respect for you, will lie above.&lt;&#x2F;p&gt;
&lt;p&gt;With screams of love, from my coffin,&lt;br &#x2F;&gt;
where I won&#x27;t get, to see you again.&lt;br &#x2F;&gt;
I&#x27;ll be hoping, that you&#x27;ll move on,&lt;br &#x2F;&gt;
what I couldn&#x27;t, they&#x27;ll improve on.&lt;&#x2F;p&gt;
&lt;p&gt;Of all the pain, that came from me,&lt;br &#x2F;&gt;
a small void, for love there&#x27;ll be.&lt;br &#x2F;&gt;
My love would want, for you to kill,&lt;br &#x2F;&gt;
the moments of me, that you still feel.&lt;&#x2F;p&gt;
&lt;p&gt;Don&#x27;t keep me alive, it traps me in pain,&lt;br &#x2F;&gt;
when memories die, I&#x27;ll die again.&lt;br &#x2F;&gt;
And that very death, will be my last,&lt;br &#x2F;&gt;
and I&#x27;ll finally be happy, at last-alas.&lt;&#x2F;p&gt;
&lt;p&gt;For you to live, one full life with love,&lt;br &#x2F;&gt;
I will die, and must die at&#x27;ll costs.&lt;br &#x2F;&gt;
So, here&#x27;s my last, love letter so bleak.&lt;br &#x2F;&gt;
With lots of love, &lt;em&gt;&lt;strong&gt;your dead romantic&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Ingenuity</title>
        <published>2025-03-23T00:00:00+00:00</published>
        <updated>2025-03-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-03-23/"/>
        <id>https://scientiac.space/syndications/posse-2025-03-23/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-03-23/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;I have tears in my eyes, hearing that ingenuity is dead, but not fully dead. First she just shocks everyone by living more than we anticipated her to, and now she is dead because she can no longer do what she went there to do. But, still alive that she&#x27;s doing work that she wasn&#x27;t even assigned to do, with broken wings and muddy eyes.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>3o14 social</title>
        <published>2025-02-28T00:00:00+00:00</published>
        <updated>2025-02-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/3o14-social/"/>
        <id>https://scientiac.space/blog/3o14-social/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/3o14-social/">&lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;makuro.png&quot; alt=&quot;App Icon for 3o14&quot; style=&quot;width: 25%;&quot; &#x2F;&gt;
&lt;h2 id=&quot;preface&quot;&gt;Preface&lt;&#x2F;h2&gt;
&lt;p&gt;When I started using Linux, I found out that I had to use cronjobs to run some scripts I wanted to run in repeat, that was how I was introduced about services&#x2F;daemons. Then it was when trying to make a website, I needed a server to continuously see the live changes that I did to my HTML file. I gradually learned about more industry standard servers like Apache after playing with the python server module almost all the time when testing and making a website. Then I found out about self-hosting. [&lt;em&gt;That&#x27;s what&#x27;s like growing in a Linux environment.&lt;&#x2F;em&gt;] I hated subscriptions and was unable to use the &quot;free&quot; VPS services due to their credit card requirements. Almost everything I did was entirely on my laptop and on my phone with Termux. [&lt;em&gt;I used to use Termux even before I got a laptop.&lt;&#x2F;em&gt;] Then, being in the Linux communities I got interested in Privacy and Security, then I joined mastodon as a healthier alternative social media platform as an experiment.&lt;&#x2F;p&gt;
&lt;p&gt;I didn&#x27;t know about decentralization and federation back then, I used the link from the YouTube channel I liked and that was my social media home, until that server (Instance) got shut down, and I had to move to a new instance, that is how I got to know about decentralization and federation. Now living in one of the servers, I found out about more services like mastodon that weren&#x27;t mastodon but could communicate with my instance but had a completely different UI and features. I learned about single user instances and servers particularly for a single user. Since then, I wanted my own private island(instance) of my social media. I did somewhat treat this blogging site as my own island, but it is static and isn&#x27;t like a &quot;social&quot; media at all. This is how I got interested in ActivityPub and wanted to build my own.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h2&gt;
&lt;p&gt;3o14 (pi) is a single user ActivityPub based social media that also supports rendering mathematical typesetting as a way to scientifically communicate between people. It is a self-hostable social media for a single person that is Privacy respecting (obviously) and we (It&#x27;s not my single effort.) built it to understand the underlying protocol ActivityPub and how it worked. (And as a minor project for our computer engineering degree.)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;how-the-fediverse-works&quot;&gt;How the Fediverse works&lt;&#x2F;h3&gt;
&lt;p&gt;The Fediverse operates on a decentralized model, allowing various independent servers, or instances, to communicate with one another through open protocols like ActivityPub. Each instance hosts its own community and user base [&lt;em&gt;It could be a single user too&lt;&#x2F;em&gt;], enabling users to create accounts on different servers while still interacting seamlessly with users on other instances. When a user posts content, that activity is packaged in a standardized format and sent to other instances, allowing for real-time updates and interactions across the network. This federated approach ensures that no single entity controls the entire ecosystem, promoting user autonomy and privacy. Additionally, the use of open-source software means that anyone can set up their own instance, fostering a diverse range of platforms and experiences within the Fediverse. By leveraging these protocols, you can build applications that not only respect user privacy but also facilitate rich, interconnected social experiences across various platforms.&lt;&#x2F;p&gt;
&lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;fediverse.png&quot; alt=&quot;App Icon for 3o14&quot; &#x2F;&gt;
&lt;h3 id=&quot;what-we-wanted-to-build-and-eventually-built&quot;&gt;What we wanted to build (and eventually built)&lt;&#x2F;h3&gt;
&lt;p&gt;We wanted to build a single user social media platform using the protocol, that supported mathematical syntax for scientific communication. It had to be easy to deploy with minimal efforts and had to be federated with the network of Fediverse. It would be a platform for tech minded scientific people who want privacy in their social media and want to own their own data without having to rely on big tech and black box social media with constraints like Facebook, X, Instagram, etc. which do not have anything helpful for using mathematical symbols in the posts. [&lt;em&gt;This absolutely doesn&#x27;t mean that it doesn&#x27;t support regular posts, it should.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;p&gt;I want to start from the frontend, because that is the most amount of work I have put in.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;frontend&quot;&gt;Frontend&lt;&#x2F;h3&gt;
&lt;p&gt;For the frontend, I used React Native because I was looking at the trends and saw a growing social media Bluesky writing its cross-platform frontend entirely in React Native and saw how they had all the features available in both their web and mobile platforms. It was fairly easy to use with a framework called &#x27;Expo&#x27;, which made building and testing the app in web and in android much easier. Learning about routes of expo and how it handled screens and modals was a bit difficult at first, but it got easier as the app grew. But working with multiple platform did bring multiple issues for different platforms.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;login.png&quot; alt=&quot;Instance Chooser&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;One of the issues was rendering mathematics, there was no library that could render math on web as well as in mobile. I had to work around by using two libraries with separate rendering logic for web and mobile, of which I still am not satisfied with how the mobile renderer is a bit slow and janky, but I made the two platforms act as closest as possible.&lt;&#x2F;p&gt;
&lt;p&gt;Learning about ActivityPub APIs was fun, I got to know how the requests were made and how things worked after the UI is clicked, how screens were loaded and so much. AI tools helped a lot to write logics and understand them when I was absolutely blank about what to do. [&lt;em&gt;It happened more often than you&#x27;d think.&lt;&#x2F;em&gt;]&lt;&#x2F;p&gt;
&lt;h3 id=&quot;backend&quot;&gt;Backend&lt;&#x2F;h3&gt;
&lt;p&gt;I did not do much work on the backend, &lt;a href=&quot;https:&#x2F;&#x2F;faulty.carboxi.de&quot;&gt;faultypointer&lt;&#x2F;a&gt; did the work. But I do understand the technologies used in it. Hono was used for the server and fedify was used as the typescript library to eliminate the boilerplate for building Fediverse apps (I didn&#x27;t just take that from the fedify site). The server too is written in typescript like the frontend. Fedify works as the middleware that processes the &lt;code&gt;activity&#x2F;json&lt;&#x2F;code&gt; data that are requested to the server for federation. The database is Postgres and the schema and query is handled by the drizzle ORM.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;showcase&quot;&gt;Showcase&lt;&#x2F;h2&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;home_page.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;reply_page.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;homepage and replies page&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;light_compose.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;light_reply.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;post compose and reply compose page in light mode with post visibility menu toggled&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;light_mobile.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;3o14_com&#x2F;dark_mobile.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;homepage and profile page in mobile&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;There isn&#x27;t much to conclude here because we have achieved the basics of what we want, but the work is very incomplete and alpha. We have an android app that does work with all other servers, not just ours thanks to Fediverse, but everything is bare-bones and need many improvements. This piece of art is presentable, but I now need to host both the webui and backend on a Raspberry Pi to show that a simple device can handle your social media, and you don&#x27;t have to rely on big tech for it.&lt;&#x2F;p&gt;
&lt;p&gt;Lastly, here is the source for what we are working on, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;3o14-com&quot;&gt;github&#x2F;3o14-com&lt;&#x2F;a&gt;. Enjoy!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Mufasa: Not a very good brother</title>
        <published>2025-02-19T00:00:00+00:00</published>
        <updated>2025-02-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-02-19-second/"/>
        <id>https://scientiac.space/syndications/posse-2025-02-19-second/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-02-19-second/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;So, Scar was suffering from depression, after all he had the pressure of becoming a king, and yet he wasn&#x27;t trained, cared, taught, loved....(As described in the story.). Why did Mufasa not understand and forgive him and let him be the part of the family (While he was once lost and alone too.)?&lt;&#x2F;p&gt;
&lt;p&gt;Spoiler Alert: He wanted the villain to its sequel.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>What is Hate?</title>
        <published>2025-02-06T00:00:00+00:00</published>
        <updated>2025-02-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-02-06/"/>
        <id>https://scientiac.space/syndications/posse-2025-02-06/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-02-06/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;center&gt;
&lt;p&gt;Until next time,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Hate is when you are hurt seeing them happy.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;The Adventures of Scientiac, 2025&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Linux is&#x2F;not Difficult</title>
        <published>2025-02-04T00:00:00+00:00</published>
        <updated>2025-02-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-02-04/"/>
        <id>https://scientiac.space/syndications/posse-2025-02-04/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-02-04/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;Using linux coming from windows is like, talking in a different language. You try to use your grammar with their words (making it an accent) and you feel difficult communicating.&lt;&#x2F;p&gt;
&lt;p&gt;And saying linux is harder to use than windows is like speaking &lt;code&gt;&amp;lt;insert foreign language here&amp;gt;&lt;&#x2F;code&gt; is harder than speaking &lt;code&gt;&amp;lt;insert your language here&amp;gt;&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Live in the place for some time and instead of worrying about the language, you&#x27;ll think about the services, products and lifestyle the place offers.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Verification</title>
        <published>2025-01-29T00:00:00+00:00</published>
        <updated>2025-01-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-01-29/"/>
        <id>https://scientiac.space/syndications/posse-2025-01-29/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-01-29/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;I once called myself an optimist.&lt;&#x2F;p&gt;
&lt;p&gt;But since negativity has started seeping in, it has become very difficult to focus on the positives, not even for people who ( is, are ) would have been loved if it wasn&#x27;t for that negativity ( pride, ego, narcisicim, misogeny, misandry, .... ).&lt;&#x2F;p&gt;
&lt;p&gt;I won&#x27;t trust me for how I describe people, and won&#x27;t trust anyone but myself to really know one. And neither should you. I suggest you create a picture of a person on your own and not from someone else&#x27;s description or bias.&lt;&#x2F;p&gt;
&lt;p&gt;This won&#x27;t change the people who I say are are bad to not be bad, but verifying it is essential. Thank you.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>&quot;Advices from a Male&quot;</title>
        <published>2025-01-28T00:00:00+00:00</published>
        <updated>2025-01-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-01-28/"/>
        <id>https://scientiac.space/syndications/posse-2025-01-28/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-01-28/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;How are people supposed to trust you when all you give are excuses. When are you gonna learn that your actions have consequences, consequences that affect other people.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Death of a View</title>
        <published>2025-01-18T00:00:00+00:00</published>
        <updated>2025-01-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/death-of-a-view/"/>
        <id>https://scientiac.space/blog/death-of-a-view/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/death-of-a-view/">&lt;p&gt;The roses that aren&#x27;t being picked, are making my path more beautiful today. Yet the so called (relation, situation, partner, companion)ship which once was a thing, is now a &lt;em&gt;parasocial&lt;&#x2F;em&gt; one for me. I never in my life thought that I would give up on some(thing, one), but here I am with a knife in my hand, which I might have used for picking roses before is now being used to plant them.&lt;&#x2F;p&gt;
&lt;p&gt;Perception, a view of the world, &lt;em&gt;their world&lt;&#x2F;em&gt;, from their eyes. But all eyes have their weakness, their truth, their belief, their arrogance for what the world is. But sometimes the tears wash them away, new worlds are born, new views, new ideas, a completely new picture forming right behind(before?) their eyes. Though what it is remained unchanged, what there is, is something different from what there was.&lt;&#x2F;p&gt;
&lt;p&gt;There was a time when I justified that the flowers were meant to be picked, and they were meant for me to be picked. The ones without life in them were more precious, more meaningful. Values change, dead flowers are nothing but litter, nothing more than a wrapper to a well thought present(as in time), made to be torn(thrown) away.&lt;&#x2F;p&gt;
&lt;p&gt;The simplest of the sentences can feel cryptic, with hidden messages. But the ones I write neither make sense without the message nor only the message itself. These aren&#x27;t stories that I write, these are the realities that I relive each day differently, from different perspectives and see from eyes of different people. This could mean a lot of things and at the same time nothing.&lt;&#x2F;p&gt;
&lt;p&gt;We humans crave being seen, being noticed, being understood and none of us think that what we are, are &lt;strong&gt;wrong&lt;&#x2F;strong&gt;, are &lt;strong&gt;bad&lt;&#x2F;strong&gt;. We don&#x27;t think negatively of ourselves, and we don&#x27;t want others thinking negatively about us. But, fear, that evolved to save us from danger, is now hurting ourselves. Not saying anything, not having views, is far easier than having a negative version of you in someone&#x27;s mind because of your views. This is hurting us all, this is why we don&#x27;t talk, we run away from being a part of the drama but at the same time we love to be the audience, and we love to feel it (to be the protagonists in the drama), in other words we love to be the winners in the drama despite having a view or an opinion of who was correct.&lt;&#x2F;p&gt;
&lt;p&gt;I don&#x27;t like how we are moving ahead with fear. To be incorrect, to not always be the main character, to let our experiences be judged no matter the outcome, to get framed (both in good and in a bad way) or to be loved (both in good and in a bad way) is just how we know things, it&#x27;s the way life works, it&#x27;s the way tears fall, it is the way perspectives change.&lt;&#x2F;p&gt;
&lt;p&gt;Believing in something is different from believing in what you are and what you can do. Truths change, but beliefs remain. If you believe in the ability of yourself to do something, it should not be able to be changed by someone&#x27;s perspective of you, but beliefs toward something should be moldable.&lt;&#x2F;p&gt;
&lt;p&gt;Why am I saying all this? It is because I have gone through perspective shifts and they are painful. One day, you will believe something that you wish you didn&#x27;t believe in, you&#x27;ll cry(or die, to be born again). That day these texts will mean something to you if it doesn&#x27;t now. And that day you&#x27;ll know that the thing that you were waiting for was just a wish to a falling star, just a false, hopeful, belief and the only thing you will want is for things to get better, though now it won&#x27;t have any effect on you because those dead roses will have crumbled away and the roses you planted will already have died.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Charlie</title>
        <published>2025-01-14T00:00:00+00:00</published>
        <updated>2025-01-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-01-14/"/>
        <id>https://scientiac.space/syndications/posse-2025-01-14/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-01-14/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;center&gt;
Charlie Puth remains my favourite.
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>What is Love?</title>
        <published>2025-01-01T00:00:00+00:00</published>
        <updated>2025-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2025-01-01/"/>
        <id>https://scientiac.space/syndications/posse-2025-01-01/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2025-01-01/">&lt;center&gt;
&lt;p&gt;Until next time,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Love is just a choice.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;The Adventures of Scientiac, 2025&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Correction</title>
        <published>2024-12-31T00:00:00+00:00</published>
        <updated>2024-12-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/you-were-true/"/>
        <id>https://scientiac.space/blog/you-were-true/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/you-were-true/">&lt;p&gt;It won&#x27;t always be the same.&lt;br &#x2F;&gt;
You always said to me.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
I never wanted to agree.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Yet all endings will be.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Though I wanted it to be.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
When laughs have become eery.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Everything reminds me.&lt;&#x2F;p&gt;
&lt;p&gt;It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The light now casts darkness.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Was same until we were friends.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The roses begun to die now.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Yet we don&#x27;t know how.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The history to be buried.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
But it only did repeat.&lt;&#x2F;p&gt;
&lt;p&gt;It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Words back then and they are now.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Love back then and it is now.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Because the writers didn&#x27;t agree.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Like the book I have to bury.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
I pushed it hard to be.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Like nothing has ever been.&lt;&#x2F;p&gt;
&lt;p&gt;It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Like the times I used to think how.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Because picking flowers kill them now.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The gifts now fill me with rage.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Since we are not in the same page.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The &quot;genys&quot; are now what I have.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Only one in us two can be sad.&lt;&#x2F;p&gt;
&lt;p&gt;It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The ink doesn&#x27;t flow with care.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
The jokes made turned into dares.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
From symbiotes to paracites.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Roses and cares to slaps and fights.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Like spears of words that you threw.&lt;br &#x2F;&gt;
It won&#x27;t always be the same.&lt;br &#x2F;&gt;
Were you right? Am I tired loving you?&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Humans</title>
        <published>2024-11-23T00:00:00+00:00</published>
        <updated>2024-11-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/humans/"/>
        <id>https://scientiac.space/blog/humans/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/humans/">&lt;p&gt;And he said...&lt;&#x2F;p&gt;
&lt;p&gt;We humans are pathetic for hiding our emotions, the only thing that makes us humans.
Nothing is visual, nothing is apparent, nothing is what it seems like it is.
If only it was simple, to understand the person sitting in front of you smiling.
But, we never know what a person is feeling just by asking them.
Yet the words that describe emotions are getting heavier,
I am happy, I am sad, I am unsatisfied, I am confused, I am worried, I am angry, I am sad, I am sad, I am sad, I am at the verge of depression..........&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;important&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Important&lt;&#x2F;p&gt;
	&lt;p&gt;If there are italic voices inside &quot;(&lt;em&gt;parenthesis&lt;&#x2F;em&gt;)&quot; then that it is me talking to myself in my head, feel free to ignore my head.&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;The problem is even worse in &lt;mark&gt;the social media&lt;&#x2F;mark&gt;.
The moment you stop interacting with them in real like, poof they are the happiest people on earth.
Yet, nobody is happy in this beautiful place &lt;code&gt;#nature&lt;&#x2F;code&gt; &lt;code&gt;#mother_earth&lt;&#x2F;code&gt; &lt;code&gt;#savetheplanet&lt;&#x2F;code&gt;.
Everyone has a problem to share and nobody wants a do what it takes (or get help) to solve their problem.
(&lt;em&gt;Ironically, this sentence proves that I am a &quot;man&quot;.&lt;&#x2F;em&gt;)&lt;&#x2F;p&gt;
&lt;p&gt;Still, As our world is getting to a point that a piece of glass is how we understand people,
(&lt;em&gt;Both, the people we meet in real life and the people we &quot;meet&quot; in the magic mirror.&lt;&#x2F;em&gt;)
we are moving away from our own identity in nature, the feeling of knowing the things(&lt;em&gt;especially people&lt;&#x2F;em&gt;) we interact with.&lt;&#x2F;p&gt;
&lt;p&gt;The another problem is the ability to ignore(&lt;em&gt;in other words, run away from interactions and confrontations&lt;&#x2F;em&gt;)
is supercharged by an arrangement of rocks that can think.
(&lt;em&gt;thinking about it, we too are arrangements of rocks that can think, but you get the point.&lt;&#x2F;em&gt;)&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;note&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Note&lt;&#x2F;p&gt;
	&lt;p&gt;This is a checkpoint, congratulations! You have successfully read to x% of this story.&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;We were always attention seekers to begin with,
but now our attention span is so bad that we need to be doing something to do something.
I myself am addicted to the glowing box that I subconsciously(&lt;em&gt;umm, actually, mindlessly*&lt;&#x2F;em&gt;) pick it up
and do something on it.&lt;&#x2F;p&gt;
&lt;center&gt;
&lt;p&gt;something &#x2F;sŭm′thĭng&#x2F;&lt;br &#x2F;&gt;
&lt;strong&gt;Pronoun:&lt;&#x2F;strong&gt;&lt;br &#x2F;&gt;
I do not know what&lt;br &#x2F;&gt;
I do not remember what&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
&lt;blockquote class=&quot;caution&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Caution&lt;&#x2F;p&gt;
	&lt;p&gt;I was so invested in arranging the meaning of something, that I forgot what I was writing about,
the story below is after 5 minutes of reading what I wrote from top to this point.&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;(&lt;em&gt;Where were we? Yes! &quot;Attention span&quot;.&lt;&#x2F;em&gt;) We(&lt;em&gt;I?&lt;&#x2F;em&gt;) have lost our(&lt;em&gt;my&lt;&#x2F;em&gt;) abilty to focus.
We need something to stimulate us all the time.&lt;&#x2F;p&gt;
&lt;p&gt;The time table is something like this:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;Wake Up: Yay, new video from &amp;quot;xyz&amp;quot;! I can’t wait to see what they’ve posted overnight.
&lt;&#x2F;span&gt;&lt;span&gt;Morning Routine: Scroll through the news. Gotta stay updated on current events!
&lt;&#x2F;span&gt;&lt;span&gt;Exercise: Listen to a podcast while I’m at it. It makes the workout feel shorter and more productive.
&lt;&#x2F;span&gt;&lt;span&gt;Freshen Up: I can’t bathe without listening to some music. It sets the mood and makes the routine enjoyable.
&lt;&#x2F;span&gt;&lt;span&gt;Breakfast: Did anyone post something interesting? Maybe I’ll share my breakfast too!
&lt;&#x2F;span&gt;&lt;span&gt;Commute to Work&#x2F;School: It’s so hard to find good music.
&lt;&#x2F;span&gt;&lt;span&gt;Work&#x2F;School: Slides, slides, slides, ahah! PDF overload!.
&lt;&#x2F;span&gt;&lt;span&gt;Mid-Morning Break: I need a quick TikTok break. These videos are so funny.
&lt;&#x2F;span&gt;&lt;span&gt;Lunch: Scrolling through Instagram while I eat.
&lt;&#x2F;span&gt;&lt;span&gt;Afternoon Slump: I need a boost! Time for a quick game on my phone to recharge my brain.
&lt;&#x2F;span&gt;&lt;span&gt;Back from School: How is someone, let’s call them? I need to catch up on the latest gossip! Let’s text them.
&lt;&#x2F;span&gt;&lt;span&gt;Evening Activities: Watching a new series on Netflix while scrolling through social media. Multitasking is key!
&lt;&#x2F;span&gt;&lt;span&gt;Dinner: I’ll put on a YouTube video while I eat.
&lt;&#x2F;span&gt;&lt;span&gt;Post-Dinner: Time for a quick scroll through Twitter. I need to see what’s trending today!
&lt;&#x2F;span&gt;&lt;span&gt;In Bed: Can’t sleep without white noise. I need that sound to drown out the silence and help me drift off.
&lt;&#x2F;span&gt;&lt;span&gt;Before Sleep: Just one last scroll through social media.
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Well, we never know when the thing we despise becomes a short break, then a habit and finally the ultimate form: addiction.
I mean I hate social media, and yet I find myself endlessly scrolling and while still being aware of it multiple times a day.
My excuse to it for myself is: I love technology, I am pursuing a career in it and well this is a part of it, it is how I become
up to date to the things I need to know. Otherwise, I will be behind this race(&lt;em&gt;Basically FOMO&lt;&#x2F;em&gt;). Sometimes I try to focus on
only things that I think matters and control myself of being overly simulated and the next day(&lt;em&gt;withdrawls start&lt;&#x2F;em&gt;) all night scroll compensating
the day before.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;warning&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Warning&lt;&#x2F;p&gt;
	&lt;p&gt;Do not just take this story as fiction. Ignorance in this case, isn&#x27;t bliss.&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;I wish &quot;living&quot; was simple, talking to people was simple, sharing your views was simple, sharing achievements (&lt;em&gt;showing off&lt;&#x2F;em&gt;) was simple, sharing pain was simple; but nothing is.
I am an introvert, I have no friends, I have no one to talk to, I am not what people expect; all these feeling hit everyone at least once
in our lives but the problem is that mostly they all hit at once(&lt;em&gt;Could it, be.. any worse?&lt;&#x2F;em&gt; &lt;code&gt;#chandler&lt;&#x2F;code&gt;).
But, it seems that this is normal.&lt;&#x2F;p&gt;
&lt;p&gt;Each generation perceives life differently. The entire perspective of life seen by our grandparents is different from our parents and is different from how we perceive the world and I wonder the tension of views it creates when all the generations with their own good perspective of the world are together in the same place(&lt;em&gt;imagine them living in the same place&lt;&#x2F;em&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;A grandchild disagreeing to both their father&#x2F;mother&#x27;s and grandparent&#x27;s way of thinking (&lt;em&gt;In this sentence, all three generations can be permuted to any place.&lt;&#x2F;em&gt;) is the best way to create hate amongst family members. This is why, living alone and meeting people only during special occasions works best to have a healthy family. (&lt;em&gt;&quot;I guess&quot;, because I haven&#x27;t scientifically collected the data to say it with confdence.&lt;&#x2F;em&gt;)&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;tip&quot;&gt;
	&lt;p class=&quot;alert-title&quot;&gt;Tip&lt;&#x2F;p&gt;
	&lt;p&gt;Assume that you are reading the mind of a person who is struggling to write what they want to write. That way this story feels more natural.&lt;&#x2F;p&gt;

&lt;&#x2F;blockquote&gt;
&lt;p&gt;We humans are the superior animals because we can reason, then change and adapt. You might argue that other animals change and adapt too, but the adaptation they go through is from natural selection not through intelligence. Yet, to change from what we are currently to what we want to be is a very energy consuming process and evolutionarily we are built to save our energy which prevents us from changing from what we are(&lt;em&gt;yes, we have been evolved to be lazy and it is inhuman(inanimal?) to not be lazy, beat that excuse the next time someone calls you lazy.&lt;&#x2F;em&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;(&lt;em&gt;jokes aside&lt;&#x2F;em&gt;) The best thing that we humans can do is change and adapt and know that it is worth it to use the enery to change our nature. And the point of this story is there is no point
&lt;span class=&quot;spoiler&quot;&gt;in being arrogant and believing in something so badly that you can not change how you see it&lt;&#x2F;span&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Webmentions</title>
        <published>2024-11-05T00:00:00+00:00</published>
        <updated>2024-11-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-11-05/"/>
        <id>https://scientiac.space/syndications/posse-2024-11-05/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-11-05/">&lt;a class=&quot;u-bridgy-fed&quot; href=&quot;https:&#x2F;&#x2F;fed.brid.gy&#x2F;&quot; hidden=&quot;from-humans&quot;&gt;&lt;&#x2F;a&gt;
&lt;p&gt;Indieweb is such a cool place. And the fact that you have webrings and
webmentions makes it the most open and custom social media. The possibility of interactions and replies adds beauty with convenience to this unique form of communication.&lt;&#x2F;p&gt;
&lt;p&gt;I just love it. Thanks &lt;a href=&quot;https:&#x2F;&#x2F;aaronparecki.com&#x2F;2018&#x2F;06&#x2F;30&#x2F;11&#x2F;your-first-webmention&quot;&gt;@aaronpk&lt;&#x2F;a&gt; for the tests.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Hurt</title>
        <published>2024-11-04T00:00:00+00:00</published>
        <updated>2024-11-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-11-04/"/>
        <id>https://scientiac.space/syndications/posse-2024-11-04/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-11-04/">&lt;p&gt;Sometimes I want to hurt (not physically) people (when I am disappointed or dissatisfied).
To maybe let them know that I am hurt (I know I Know it&#x27;s the wrong way).&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;d do things that would hurt me, to hurt them, but it hurts me back when they don&#x27;t feel a thing when the thing would have hurt me.
Call it a weakness, call it &quot;doesn&#x27;t make sense&quot; but at last the one who gets hurt is the one who tried to hurt people (not those who hurt people).&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>&quot;Bad&quot;</title>
        <published>2024-10-30T00:00:00+00:00</published>
        <updated>2024-10-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/bad/"/>
        <id>https://scientiac.space/blog/bad/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/bad/">&lt;p&gt;Deeds of blood that villains pump keep all books alive.&lt;br &#x2F;&gt;
Never are things, clear they seem, looking through the eyes.&lt;br &#x2F;&gt;
When I see a problem solved, rule books see me wrong.&lt;br &#x2F;&gt;
Amidst the people, ones who get me, is where I belong.&lt;&#x2F;p&gt;
&lt;p&gt;What I have, an evil twin, deep beneath my heart,&lt;br &#x2F;&gt;
Takes control, shreds you apart; dare not push too hard.&lt;br &#x2F;&gt;
Your world is the same as mine; thorns where roses grow.&lt;br &#x2F;&gt;
Black and white of your grays is what I try to show.&lt;&#x2F;p&gt;
&lt;p&gt;Neither good nor am I bad; it&#x27;s just what you see.&lt;br &#x2F;&gt;
Can&#x27;t I show, and you didn’t see, what I deemed to be.&lt;br &#x2F;&gt;
I&#x27;ll try to die and die happy, teaching how not to go.&lt;br &#x2F;&gt;
I&#x27;m sorry I failed to be what the world wanted me to show.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Masculism v&#x2F;s Matriarchy</title>
        <published>2024-09-17T00:00:00+00:00</published>
        <updated>2024-09-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/masculism-and-feminism/"/>
        <id>https://scientiac.space/blog/masculism-and-feminism/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/masculism-and-feminism/">&lt;blockquote&gt;
&lt;p&gt;I would like to apologize for the very clickbaity title. This is what it takes to be heard in the internet.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;In our rapidly evolving world, the concepts of feminism and patriarchy have become increasingly polarizing topics. However, it&#x27;s crucial to consider the existence of alternative perspectives, such as masculism and matriarchy, which offer equally valid viewpoints in this context. As a humanist, I believe that men and women should view each other as complementary pieces of a whole, functioning together, kinda like plants which have both male and female organs in the same body.&lt;&#x2F;p&gt;
&lt;p&gt;The natural differences between male and female in humans are not as extreme as in some species, where male bees die after mating or female spiders are consumed by their offspring. While individual humans have unique personalities, strengths, and weaknesses, neither males nor females are complete without the other. Historically, we have coexisted for the sake of offspring and family.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s important to recognize that traditional gender roles, where females solely care for children and males exclusively work or hunt, are not the only viable arrangement. Both caring for children and earning a living are equally necessary, and these responsibilities should be shared based on individual abilities and circumstances. Suppressing one gender from their potential is counterproductive; instead, we should foster understanding between partners and organize our efforts intellectually to create a balanced approach to living, caring, and raising offspring.&lt;&#x2F;p&gt;
&lt;p&gt;My analysis of internet content, particularly on platforms like YouTube, reveals a troubling trend. As a male, I&#x27;ve noticed that I&#x27;m often exposed to male-oriented content, which can lead to increasingly extremist views portraying men as &quot;right&quot; and women as trying to &quot;win at everything.&quot; Conversely, women may be exposed to equally polarizing content depicting men as oppressors, killers, and rapists. This divisive approach creates an &quot;us vs. them&quot; mentality, where each side views the other through an extremist lens.&lt;&#x2F;p&gt;
&lt;p&gt;The media&#x27;s focus on controversial and extreme content, driven by the pursuit of attention and profit, has contributed to this polarization. However, I believe that no sane, educated person is inherently an oppressor or oppressed in a relationship. Most reasonable men support equal rights and opportunities for women. Labeling entire groups as weak or strong is unscientific and counterproductive.&lt;&#x2F;p&gt;
&lt;p&gt;As humans, we have achieved remarkable technological and scientific advancements through proper planning and reasoning. It&#x27;s essential to question outdated ways of thinking and embrace new truths as they emerge. Prioritizing one gender over another in the name of culture, especially when scientific evidence contradicts such practices, hinders human progress.&lt;&#x2F;p&gt;
&lt;p&gt;However, it&#x27;s also important to recognize that new ways of thinking aren&#x27;t always entirely correct. For instance, pornography, while introducing many people to sex and reproduction, has created unrealistic expectations and unhealthy influences on relationships where people are no longer being stimulated by &quot;normal&quot; and getting into extremes which might have caused in an increase in rape and child abuse cases. Similarly, social media has fostered insecurities about lifestyle, body image, and personal appearance by presenting an idealized version of life that makes people feel inadequate and might be the cause of depression and anxiety feeling worthless and never enough.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;That being said the causes of child abuse, rape cases and an existance of countless supressed voices of victims isn&#x27;t only by extreme porn but also a sense of authority of some males in the society who actually are opressors and think they can get away with anything or the arrogant confidence that &quot;nobody will believe&quot; they have done such things.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I once had asked my friend about what could have caused these cases where men get away of doing such cruel deeds and she said, &quot;Our society is largely run by men. Most positions of power – be it in government, corporations, or law enforcement – are occupied by men. This creates a system where men in authority might be inclined to protect other men accused of wrongdoing. They may downplay the severity of crimes, question the credibility of victims, or find ways to shift blame onto the affected parties. This pattern often leads to a conclusion that somehow excuses the perpetrator or suggests the victim is partially responsible for what happened to them.&quot; which I think is true.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I long for a society that supports and uplifts everyone, regardless of gender, physiology, or biology. A culture where people help each other overcome weaknesses instead of using them as grounds for oppression. By working together, we can solve problems that we as individuals cannot tackle alone and for that we have to remove the extreme categorization of people soley based on sex or race. Because in the world where no two people are alike I don&#x27;t think that categorization solves any issue.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Perhaps reality is more neutral, and I dont know what I am talking about because the internet is where I live and I consume what it offers. I just hope that we are heading toward a better future where the differences of people isn&#x27;t a problem but our strength.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;lastly&quot;&gt;Lastly...&lt;&#x2F;h2&gt;
&lt;p&gt;I was very scared to publish this in the internet, but, it&#x27;s crucial to address these complex societal issues. They don&#x27;t have easy solutions, but open dialogue is a vital step towards understanding the world we inhabit.&lt;&#x2F;p&gt;
&lt;p&gt;This post is just the beginning of a larger conversation. I eagerly anticipate your responses and insights, as I recognize there&#x27;s still much for me to learn.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;additions&quot;&gt;Additions&lt;&#x2F;h1&gt;
&lt;blockquote&gt;
&lt;h3 id=&quot;2024-09-18&quot;&gt;&lt;strong&gt;2024-09-18&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;em&gt;I decided to use the word &quot;humanist&quot; as a more neutral term to address similar values to feminism aiming to avoid the negative connotations some people associate with the word &quot;feminist&quot;. The word &quot;humanist&quot; respects the feminist thought because it aligns with the feminist principles and by no means shadows the historical as well as ongoing struggles for women&#x27;s rights. Feminism is in no way about female superiority or harming men, and to be a humanist is also being feminist without the mentioned wrong perspective of society and in general the male population.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;It is catered toward a male population who would hesitate to talk about feminism due to the polarization of the topic by the mass media. Understanding the values of &quot;humanism&quot; and providing the information that humanism is in fact feminism just hiding behind a curtain of insecurity of being misjudged for the looks and the negative protrayal.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>What is Love?</title>
        <published>2024-08-25T00:00:00+00:00</published>
        <updated>2024-08-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-08-25/"/>
        <id>https://scientiac.space/syndications/posse-2024-08-25/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-08-25/">&lt;center&gt;
&lt;p&gt;Until next time,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Love is when two people agree on what love is.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;The Adventures of Scientiac, 2024&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Beautifying Firefox with &quot;chrome&quot;</title>
        <published>2024-08-20T00:00:00+00:00</published>
        <updated>2024-08-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/firefox-userstyle/"/>
        <id>https://scientiac.space/blog/firefox-userstyle/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/firefox-userstyle/">&lt;p&gt;My mind goes hyperactive whenever exams are near, this semester is no different. I always find something very interesting to do every time an exam is around. This semester, I went into a rabbit hole of customizing Firefox to make it minimal (or immersive), I&#x27;d say.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;normal-home.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;normal-tabs.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;homepage and tabs-expanded view&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;normal-website.png&quot; alt=&quot;normal-website&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;webpage view&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;I am very much into customization, and I like to keep changing things around. When I was using gnome in arch Linux some years back I had come across &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rafaelmardojai&#x2F;firefox-gnome-theme&quot;&gt;rafaelmardojai&#x2F;firefox-gnome-theme&lt;&#x2F;a&gt; which I immediately installed to make my system consistent with the &lt;em&gt;libadwaita&lt;&#x2F;em&gt; style. That was the time when I realized the repo had almost 100% CSS in the GitHub language thingy bar. I knew what CSS was but never bothered to look into the Firefox theme, it simply worked.&lt;&#x2F;p&gt;
&lt;p&gt;Fast-forward to a few months ago, the arc browser had the internet going crazy about it. I did like the UI being minimal and focused on viewing websites, hiding the settings that would normally show up all the time. Since you had to make an account to just use the browser, I didn&#x27;t use it. Then I went searching for themes that replicated the UI on Firefox itself. I found &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;KiKaraage&#x2F;ArcWTF&quot;&gt;KiKaraage&#x2F;ArcWTF&lt;&#x2F;a&gt; which I used for a while. This time I modified the CSS and restarted Firefox and kept on updating the CSS and restarting Firefox until I got what I wanted. I hated that I had to restart Firefox to apply the small change in &lt;code&gt;userChrome.css&lt;&#x2F;code&gt; that I was going to repeat because I didn&#x27;t know what I was doing.&lt;&#x2F;p&gt;
&lt;p&gt;I am currently using &lt;code&gt;nix&lt;&#x2F;code&gt;, so, eventually this was to come. I had to configure my Firefox with &lt;code&gt;home-manager&lt;&#x2F;code&gt;. This caused me to leave behind my arcWTF css because there was no easy way to simply put the chrome folder in its place with nix. But, there was a way to write &lt;code&gt;userChrome&lt;&#x2F;code&gt; within the nix configuration. This way of changing CSS was even more of a hassle because I had to first write it inside nix with no LSP for CSS, then I had to evaluate the nix file to put things into place and then restart Firefox.&lt;&#x2F;p&gt;
&lt;p&gt;Aaah! That was really clunky but, I then made single &lt;code&gt;userChrome.css&lt;&#x2F;code&gt; and &lt;code&gt;userContent.css&lt;&#x2F;code&gt; files and then just imported them with nix to read the file instead of writing the CSS inside the &lt;code&gt;.nix&lt;&#x2F;code&gt; file, and it was a little better. Now started my journey to make the most minimal and at the same time good Firefox userstyle in a single &lt;code&gt;.css&lt;&#x2F;code&gt; file. I then found &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;migueravila&#x2F;SimpleFox&quot;&gt;simplefox&lt;&#x2F;a&gt; a goldmine for minimal Firefox config, but there was a single issue, I was used to the tabs being tree style and on the left sidebar. So, I installed &lt;a href=&quot;https:&#x2F;&#x2F;addons.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;addon&#x2F;sidebery&#x2F;&quot;&gt;sidebery&lt;&#x2F;a&gt; and got some CSS from arcWTF to make the collapsed sidebar work.&lt;&#x2F;p&gt;
&lt;p&gt;Then I got a new laptop, which currently has windows, but It has a gorgeous screen which in comparison to the previous laptop is the difference of 70% more DCI-P3 with a 3k OLED screen. I copied my CSS from my NixOS machine, and it was working pretty well. Until I had an idea to improve it further. For days, I kept editing the CSS and restarting my Firefox to change the &lt;code&gt;.css&lt;&#x2F;code&gt; with hit and trial getting more failures than success in the style actually being like I intended it to be. And then yesterday I was fed up with doing that and actually searched if there was a way of doing that without restarting Firefox (live).&lt;&#x2F;p&gt;
&lt;p&gt;Surprise, surprise, it was not just possible but intentional. I wished I had known about this before. You just do the following things:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;code&gt;hamburger menu&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Go to &lt;code&gt;more tools&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Click on &lt;code&gt;web developer tools&lt;&#x2F;code&gt;.
The web developer interface will open, now on the top right side of the toolbox,&lt;&#x2F;li&gt;
&lt;li&gt;Click on the &lt;code&gt;3 dot menu&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Click on &lt;code&gt;settings&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Enable two options:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    enable remote debugging
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    enable browser chrome and add-on debugging toolboxes.
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;7&quot;&gt;
&lt;li&gt;Then go to &lt;code&gt;hamburger menu &amp;gt; more tools &amp;gt; browser toolbox&lt;&#x2F;code&gt; or the shortcut &lt;code&gt;Ctrl+Shift+Alt-I&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Then it&#x27;ll ask for confirmation with the following prompt:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    An incoming request to permit remote debugging connection was detected. A remote client can take complete control over your browser!
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    Client Endpoint: 127.0.0.1:51146
&lt;&#x2F;span&gt;&lt;span&gt;    Server Endpoint: 127.0.0.1:51141
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    Allow connection?
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;9&quot;&gt;
&lt;li&gt;Allow it and the toolbox opens. Go to the &lt;code&gt;style editior&lt;&#x2F;code&gt; from the menu.&lt;&#x2F;li&gt;
&lt;li&gt;Find &lt;code&gt;userChrome.css&lt;&#x2F;code&gt; and enjoy live tinkering. When you are done, just click on save or &lt;code&gt;Ctrl+S&lt;&#x2F;code&gt; and it is permanent.&lt;&#x2F;li&gt;
&lt;li&gt;For &lt;code&gt;userContent.css&lt;&#x2F;code&gt; just come to the Firefox homepage and hit &lt;code&gt;Ctrl+Shift+C&lt;&#x2F;code&gt;, go to the style editor and find the &lt;code&gt;userContent.css&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;finally&quot;&gt;Finally&lt;&#x2F;h2&gt;
&lt;p&gt;I created this beautiful Firefox userstyle with a focus on minimalism and web content. It&#x27;s called &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;scientiac&#x2F;scifox&quot;&gt;scifox&lt;&#x2F;a&gt; because duh! It&#x27;s my Firefox I will call it whatever I want. I am also working on a version with hidden panels that show up on hover to make it even more minimalistic and immersive. If you want to check that out, it&#x27;s on the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;scientiac&#x2F;scifox&#x2F;tree&#x2F;immersive&quot;&gt;immersive&lt;&#x2F;a&gt; branch.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;immersive-home.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;immersive-tabs.png&quot; style=&quot;width: 19rem; padding:0.25rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;immersive homepage and tabs-expanded view&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;firefox-userstyle&#x2F;website.png&quot; alt=&quot;website&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;div style=&quot;text-align: center&quot;&gt;
&lt;p&gt;&lt;strong&gt;img:&lt;&#x2F;strong&gt; &lt;em&gt;immersive webpage view&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;I have grown to prefer this minimal UI, and I absolutely love &lt;a href=&quot;https:&#x2F;&#x2F;addons.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;addon&#x2F;adaptive-tab-bar-colour&#x2F;&quot;&gt;Adaptive Tab Bar Colour&lt;&#x2F;a&gt; for making the whole UI follow the style the creator of the website intended. And one more thing, I am in love with &lt;a href=&quot;https:&#x2F;&#x2F;addons.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;addon&#x2F;ublock-origin&#x2F;&quot;&gt;uBlock Origin&lt;&#x2F;a&gt; and can&#x27;t live without it. &lt;strong&gt;So, if you are not a Firefox user give Firefox a go, I know it&#x27;ll not disappoint you and even if it does Firefox is like Linux, you can pick and plug features make it work the way you want.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Looking for the URL bar in webpage? Hover where it should be and you might just find it.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Home Manager: Cosy Home With Nix</title>
        <published>2024-07-31T00:00:00+00:00</published>
        <updated>2024-07-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/home-manager/"/>
        <id>https://scientiac.space/blog/home-manager/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/home-manager/">&lt;p&gt;Home Manager is a Nix thing that helps one manage their home directory, specially the dotfiles in a Nix fashion. And here I am talking about &lt;code&gt;Nix&lt;&#x2F;code&gt; not &lt;code&gt;nix*&lt;&#x2F;code&gt;. It is nix* but not that nix* but you can use it in most kind of nix* if the nix* you mainly know are most linux distros and macos.&lt;&#x2F;p&gt;
&lt;p&gt;Confusing right? No! I made it confusing! Home manager is just a tool to write all your configurations (.dotfiles) in a cosy Nix language and is primarily inspired by the NixOS and use the Nix package manager. Well, a little confusing because the OS is called Nix, the language is called nix and also the package manager is called Nix, and at last all unix based systems are also in combination known as nix*(with an astrisk in the end).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;home-manager&#x2F;home-manager.png&quot; alt=&quot;nix and home manager&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Okay, one last time. Home manager is just a tool to manage the dotfiles using the Nix language, leveraging the power of the Nix package manager and is inspired by the NixOS configuration. It focuses heavily on reproducability being distro agnostic despite of being focused around NixOS.&lt;&#x2F;p&gt;
&lt;p&gt;Still pretty confusing right? Well, it is what it is.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-i-use-it&quot;&gt;How I use it&lt;&#x2F;h2&gt;
&lt;p&gt;I am writing this blog on my new windows machine, inside WSL in a NixOS-WSL distro where most of my configuration files are managed by Home Manager. And this home manager configuration is the same configuration that I use in my NixOS system, with just the configurations of the graphical applications removed.&lt;&#x2F;p&gt;
&lt;p&gt;Pretty cool right? It even works on windows(technically not, but still). I use it to manage bash, git, lazygit, helix, newsboat, starship, zellij, zoxide and other applications in the terminal world and alacritty, firefox, foot, imv, mpv, sioyek, spotify and other tools in the graphical realm. And I have used it in linux, on mac, currently in windows via WSL and even on android inside Nix-on-Droid recycling the same configurations everywhere. See? all major operating systems (technically inside linux except mac) and on both ARM and x86 architecture.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-use-it&quot;&gt;Why use it&lt;&#x2F;h2&gt;
&lt;p&gt;It is one of those things that you think is very time consuming and difficult to manage and use but it saves time on the long run. You can easily transafer your application configurations from one device to another in a file(technically, because you would not want to write all the configs of all your things in a single file) and Nix will handle installations and setup of all those applications using just that file. All you need is nix to be installed on your system. And since, nixpkgs is the biggest package repository among any linux distribution I dont even think of using any other package manager to install things even if I am on any non NixOS distributions. And the cherry on top, everything will be version controlled using git(you will be forced to, haha) so you will never lose your precious configurations(even the history).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-to-use-it&quot;&gt;How to use it&lt;&#x2F;h2&gt;
&lt;p&gt;First and foremost, you need nix(the package manager) installed on your system. Then I suggest you to enable &lt;code&gt;flakes&lt;&#x2F;code&gt; and &lt;code&gt;nix-command&lt;&#x2F;code&gt; in your nix.conf file though they are experimental features. Despite the fact that they are experimental features, they are already widely adopted and are instead preferred by nix users over the traditional method.&lt;&#x2F;p&gt;
&lt;p&gt;Then initialize a flake on a directory, add the home manager inputs as they tell you in the documentation on how to use home manager with flakes. Then write your configurations. Finally, switch to your new home manager configuraton.&lt;&#x2F;p&gt;
&lt;p&gt;In short, follow the docs and you&#x27;ll be set. And maybe as a head start watch &lt;code&gt;vimjoyer&lt;&#x2F;code&gt;&#x27;s video on home-manager.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;lastly&quot;&gt;Lastly...&lt;&#x2F;h3&gt;
&lt;p&gt;I just love nix and it&#x27;s ecosystem and I am pretty biased toward it. Home manager may not be your cup of tea but give nix a try, using it as a secondary package manager for your distribution like you use flatpaks and snaps. It may not be regualr user friendly but it is very developer&#x2F;tinkerer friendly if you even scratch a tiny surface of it. That&#x27;s all I&#x27;ve got to say today, see ya.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Windblows</title>
        <published>2024-07-31T00:00:00+00:00</published>
        <updated>2024-07-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-07-31/"/>
        <id>https://scientiac.space/syndications/posse-2024-07-31/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-07-31/">&lt;p&gt;I bought a new laptop. It&#x27;s Zenbook 14 OLED 2024, Ryzen 7 8840HS and well it came with Windows Home preinstalled as expected. I had never really daily drived windows. I had installed linux the first day I got my first laptop. Soooo, I am giving windows a try, it&#x27;s been some days and I haven&#x27;t used that many applicaitons.&lt;&#x2F;p&gt;
&lt;p&gt;I have installed firefox and given it a nice css makeover, then I installed NixOS-WSL and set that as the default terminal and ported my terminal home manager config with git, bash, starship, and other tools over to it. And that&#x27;s all, I guess i will use the linux terminal and the windows GUI for some days now.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Relative Happiness</title>
        <published>2024-06-16T00:00:00+00:00</published>
        <updated>2024-06-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/relative-happiness/"/>
        <id>https://scientiac.space/blog/relative-happiness/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/relative-happiness/">&lt;p&gt;Happiness can be faked, I guess. Because, It means two things. The happiness that you think that you feel, and the happiness that others think that you feel. And yeah, It is easy to say, &quot;If you&#x27;re not happy, just be happy!&quot; to a person when you in your mind think that you are happy yourself. When you are happy, it is easy to assume that others are happy too (&lt;em&gt;or others can be happy too&lt;&#x2F;em&gt;). But as all things science, everything that you see or feel isn&#x27;t true. It is more difficult to believe if someone is happy if you yourself do think that you are not happy. Speaking as a person who used this (&lt;em&gt;&quot;If you&#x27;re not happy, just be happy!&quot;&lt;&#x2F;em&gt;) Sentence quite often (&lt;em&gt;well I am a professional here, having experienced both happiness and unhappiness&lt;&#x2F;em&gt;), I genuinely believed that you can just think that you&#x27;re happy, then bam! You&#x27;ll be happy.&lt;&#x2F;p&gt;
&lt;p&gt;But, apparently it is far difficult to &quot;fake happiness until you make happiness&quot; when you are in a state of &quot;unhappiness&quot; yourself. That makes me think that there are two kinds of happiness. One will be the temporary (at the moment) happiness, and another will be persistent (most of the time) happiness. You seem to be feeling happy when you do something that makes you happy (&lt;em&gt;like, watching a movie or writing whatever you want and calling it a story when it clearly isn&#x27;t&lt;&#x2F;em&gt;) which is the temporary happiness. And the persistent happiness or unhappiness in this case is that constant reminder of your brain calling a moment happy because every other moment other than that moment means not being happy.&lt;&#x2F;p&gt;
&lt;p&gt;(&lt;em&gt;Ooh! Chest pains!&lt;&#x2F;em&gt;) Yeah, it is complex when you really think about it, but when you&#x27;re really happy you don&#x27;t think about being happy. Well, this mild surge of unhappiness that I am feeling might have caused by me not being able to reach their expectations or they not being to reach my expectations or both or none(&lt;em&gt;because I think I am forcing myself to be happy for a million reasons to be happy but failing to be happy, hence this &quot;story&quot;&lt;&#x2F;em&gt;). But, see? The main source of happiness is unhappiness itself (&lt;em&gt;bravo! Consolidating yourself!&lt;&#x2F;em&gt;) and well if you&#x27;re unhappy now, you are destined to be happy after this session of unhappiness ends (&lt;em&gt;hah! The path to happiness&lt;&#x2F;em&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;So, since you have read till the end, you might have grasped the very concept of happiness (&lt;em&gt;or unhappiness&lt;&#x2F;em&gt;), but (&lt;em&gt;hahaha &quot;butt&quot;&lt;&#x2F;em&gt;) if you by any means take this seriously and somehow got into an unending rabbithole of unhappiness (&lt;em&gt;or happiness (&lt;strong&gt;equally dangerous (&lt;em&gt;haha brackets inside brackets inside brackets (parenthesis?)&lt;&#x2F;em&gt;)&lt;&#x2F;strong&gt;)&lt;&#x2F;em&gt; ) that is not to be blamed to me. I mean just because I had some fun ending doesn&#x27;t mean it is not a serous writing and I wish that you (&lt;em&gt;if you, a reader exist (&lt;strong&gt;I think it is just me who reads my blog&lt;&#x2F;strong&gt;)&lt;&#x2F;em&gt;) read it seriously but after all this is my blog and I can say (&lt;em&gt;or write, duhh!&lt;&#x2F;em&gt;) anything I want here and the best advice I can give is do not believe everything you see in the internet (&lt;em&gt;or outer net, unless it is proven science because everything else is a human construct and can change to make a human happy&lt;&#x2F;em&gt;).&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Manoid: A Waste Management Robot</title>
        <published>2024-06-12T00:00:00+00:00</published>
        <updated>2024-06-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/yantra-bot/"/>
        <id>https://scientiac.space/blog/yantra-bot/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/yantra-bot/">&lt;p&gt;&lt;strong&gt;A Smart Waste Management Robot using Python and OpenCV&lt;&#x2F;strong&gt; that can detect the nearest waste(Determined by an &lt;code&gt;no 8&lt;&#x2F;code&gt; ArUco Marker in the video), navigate to it using the shortest path on the map, pick it(Denoted by a &lt;code&gt;5 second&lt;&#x2F;code&gt; stop in the video) and reach the destination(Determined By &lt;code&gt;no 5&lt;&#x2F;code&gt; Aruco Marker in the video) to dump it and again repeat the process if more waste is detected; with only sensor being an overhead camera tracking the ArUco Markers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;video src=&quot;&#x2F;images&#x2F;manoid&#x2F;manoid.mp4&quot; controls&gt;&lt;&#x2F;video&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;In the video, I am picking the robot up sometimes to keep it on a new position to show that it can track it&#x27;s last position and go directly there instead of trying to calculate the route again.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;In today&#x27;s world, efficient waste management is becoming increasingly crucial due to rapid urbanization and population growth. Traditional methods of waste collection and dumping are labor-intensive and often inefficient. By integrating robotics and advanced algorithms, we can streamline these processes, reduce human effort, and ensure a cleaner environment. This project, &#x27;manoid&#x27;, aims to demonstrate how a robot can autonomously detect, navigate, and manage waste using only a single overhead camera and advanced computer vision techniques.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I have written another blog post related to this: &lt;a href=&quot;https:&#x2F;&#x2F;scientiac.space&#x2F;blog&#x2F;esp-mosquitto&#x2F;&quot;&gt;Manoid: Communication&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Let&#x27;s see how it was made.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;requirements&quot;&gt;Requirements:&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Category&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;th&gt;&lt;strong&gt;Component&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;ESP32 Microcontroller&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;L298N Motor Driver&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;DC Motor and Wheels&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;A 12V Battery&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;A camera (I used my phone with an IP Camera app for video streaming)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;Python (for publishing)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;Arduino IDE (for ESP32 firmware)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;mosquitto (for serving)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;basic-setup&quot;&gt;Basic Setup&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;setting-up-arduino-ide&quot;&gt;Setting Up Arduino IDE&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;To install the ESP32 board in your Arduino IDE, follow these instructions:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;In your Arduino IDE, go to File &amp;gt; Preferences.&lt;&#x2F;li&gt;
&lt;li&gt;Enter the following into the “Additional Board Manager URLs” field:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;espressif&#x2F;arduino-esp32&#x2F;gh-pages&#x2F;package_esp32_index.json
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Click the “OK” button.&lt;&#x2F;li&gt;
&lt;li&gt;Open the Boards Manager. Go to Tools &amp;gt; Board &amp;gt; Boards Manager.&lt;&#x2F;li&gt;
&lt;li&gt;Search for ESP32 and press the install button for the “ESP32 by Espressif Systems”.&lt;&#x2F;li&gt;
&lt;li&gt;Once installed, select your ESP32 board in Tools &amp;gt; Board menu.&lt;&#x2F;li&gt;
&lt;li&gt;Select the appropriate Port in Tools &amp;gt; Port menu (in my case it was the &lt;code&gt;DOIT ESP32 DEVKIT V1&lt;&#x2F;code&gt;).&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Now your Arduino IDE is set up to work with ESP32.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;setting-up-the-environment&quot;&gt;Setting Up The Environment&lt;&#x2F;h3&gt;
&lt;p&gt;I&#x27;ve got my environment all sorted out with Nix and Nix Flake, and I&#x27;ve made it even easier with direnv activation. Mosquitto&#x27;s up and running smoothly on its default port 1883. &lt;code&gt;python&lt;&#x2F;code&gt; and it&#x27;s dependencies &lt;code&gt;opencv&lt;&#x2F;code&gt;,&lt;code&gt;numpy&lt;&#x2F;code&gt;,&lt;code&gt;paho-mqtt&lt;&#x2F;code&gt; and &lt;code&gt;flask&lt;&#x2F;code&gt; in a virtual environment are set up via nix flakes as well. You can look at the &lt;a href=&quot;https:&#x2F;&#x2F;nix.dev&#x2F;&quot;&gt;nix documentation&lt;&#x2F;a&gt; to know more about how it works.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;To set it up:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;I assume that nix is installed with flakes enabled on your computer.&lt;&#x2F;li&gt;
&lt;li&gt;Clone the repo and enter the environment by running &lt;code&gt;nix develop&lt;&#x2F;code&gt; or allowing &lt;code&gt;direnv&lt;&#x2F;code&gt; to do it for you if you have it installed.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;git clone https:&#x2F;&#x2F;github.com&#x2F;scientiac&#x2F;manoid
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;A MQTT server will be running as soon as you enter the environment on the default port of &lt;code&gt;1883&lt;&#x2F;code&gt; and you can check the logs using the &lt;code&gt;screen&lt;&#x2F;code&gt; command.&lt;&#x2F;li&gt;
&lt;li&gt;Change parameters to match your device and make sure everything in on point.&lt;&#x2F;li&gt;
&lt;li&gt;Run the &lt;code&gt;main.py&lt;&#x2F;code&gt; script and admire the magic.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;changing-parameters&quot;&gt;Changing Parameters&lt;&#x2F;h3&gt;
&lt;p&gt;When adjusting parameters due to dynamic changes in Wi-Fi or IP addresses, several key locations in the code need to be updated to ensure MQTT and IP camera is properly connected. Here&#x27;s a breakdown of where to make these adjustments:&lt;&#x2F;p&gt;
&lt;p&gt;In the &lt;code&gt;esp32.ino&lt;&#x2F;code&gt; file:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;cpp&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-cpp &quot;&gt;&lt;code class=&quot;language-cpp&quot; data-lang=&quot;cpp&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;const char&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; ssid &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Your_WIFI_SSID&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;const char&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; password &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Your_WIFI_Password&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;const char&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; mqtt_server &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Your_MQTT_Server_IP&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In the &lt;code&gt;main.py&lt;&#x2F;code&gt; file:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;python&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-python &quot;&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MQTT_BROKER &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Your_MQTT_Server_IP&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# this is at the top of the document
&lt;&#x2F;span&gt;&lt;span&gt;  args&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;http:&#x2F;&#x2F;Your_IP_Camera_feed_Address&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,) &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# this is almost at the end of the document
&lt;&#x2F;span&gt;&lt;span&gt;  
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# to use a usb camera 
&lt;&#x2F;span&gt;&lt;span&gt;  args&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,), &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# this can be used and the camera may have ID other than `0` so make sure to check that
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Tuning the motors is essential because it directly impacts the robot&#x27;s movement, responsiveness, and overall efficiency. Factors such as the size, power, and weight distribution of the robot, as well as the surface it operates on, can all influence how the motors should be configured.&lt;&#x2F;p&gt;
&lt;p&gt;In the &lt;code&gt;esp32.py&lt;&#x2F;code&gt; file:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;python&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-python &quot;&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Tuning the motors
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int &lt;&#x2F;span&gt;&lt;span&gt;left_min_pwm_forward &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;110&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int &lt;&#x2F;span&gt;&lt;span&gt;left_min_pwm_backward &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;115&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int &lt;&#x2F;span&gt;&lt;span&gt;right_min_pwm_forward &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;110&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int &lt;&#x2F;span&gt;&lt;span&gt;right_min_pwm_backward &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;115&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In the &lt;code&gt;main.py&lt;&#x2F;code&gt; file (tuning PID settings):&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;python&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-python &quot;&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  robot_settings &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;6&lt;&#x2F;span&gt;&lt;span&gt;: {  
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Robot ID 6
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;P_left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.8&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;P_right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.8&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;P_center&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.4&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;I_left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;I_right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;I_center&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;D_left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.001&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;D_right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.001&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;D_center&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.001&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;backward_speed_left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;backward_speed_right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;left_prev_error&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;right_prev_error&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;center_prev_error&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;          &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;dt&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.3&lt;&#x2F;span&gt;&lt;span&gt;,
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;making-the-bot&quot;&gt;Making the bot:&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Assemble the bot following the diagram below:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;diagram.png&quot; alt=&quot;PIN Diagram&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Then open the file inside the project directory on &lt;code&gt;etc&#x2F;esp32&#x2F;esp32.ino&lt;&#x2F;code&gt; on your Arduino IDE set up to work with esp32 and change the parameters to fit your environment.&lt;&#x2F;li&gt;
&lt;li&gt;And finally flash it!&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;bot.png&quot; alt=&quot;Bot&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You can test the bot manually by connecting to the mqtt server using an application (&lt;em&gt;like MyMQTT on android&lt;&#x2F;em&gt;) and sending values from &lt;code&gt;0&lt;&#x2F;code&gt; to &lt;code&gt;255&lt;&#x2F;code&gt; to the topics :&lt;br &#x2F;&gt;
&lt;code&gt;&#x2F;robot6_left_forward&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;&#x2F;robot6_left_backward&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;&#x2F;robot6_right_forward&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
&lt;code&gt;&#x2F;robot6_right_backard&lt;&#x2F;code&gt;&lt;br &#x2F;&gt;
where &lt;code&gt;0&lt;&#x2F;code&gt; being the wheels at no speed and &lt;code&gt;255&lt;&#x2F;code&gt; being the max speed&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;what-is-in-the-code&quot;&gt;What is in the code?&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-functions-duh&quot;&gt;The Functions, duh!&lt;&#x2F;h3&gt;
&lt;details&gt;
&lt;summary&gt;Click to expand: The Functions&lt;&#x2F;summary&gt;
&lt;p&gt;This list contains the functions involved in the robot, with each function&#x27;s purpose:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;1. &lt;code&gt;get_warped_frame(input_frame, marker_ids, PAD)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Detects ArUco markers in the input frame.&lt;&#x2F;li&gt;
&lt;li&gt;Extracts the corners of specified markers.&lt;&#x2F;li&gt;
&lt;li&gt;Warps the frame to correct perspective if all specified markers are detected.&lt;&#x2F;li&gt;
&lt;li&gt;Returns the warped frame and marker corners.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;2. &lt;code&gt;calculate_scale(corners, marker_physical_size_cm)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Calculates the scale of the marker in pixels per centimeter.&lt;&#x2F;li&gt;
&lt;li&gt;Uses the distance between two corners of the marker.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;3. &lt;code&gt;adjust_marker_corners(corners, offset_x_cm, offset_y_cm, adjust_width_cm, adjust_height_cm, marker_physical_size_cm)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Adjusts the marker corners based on given offsets and size adjustments in centimeters.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;4. &lt;code&gt;detect_aruco_markers(frame, aruco_dict_type)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Detects ArUco markers in the frame.&lt;&#x2F;li&gt;
&lt;li&gt;Processes the detected markers and adjusts corners if necessary.&lt;&#x2F;li&gt;
&lt;li&gt;Returns the detected markers with their centers and corners.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;5. &lt;code&gt;heuristic(a, b)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Calculates the Manhattan distance between two points.&lt;&#x2F;li&gt;
&lt;li&gt;Used in pathfinding algorithms.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;6. &lt;code&gt;astar(start, goal, obstacles, grid_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Implements the A* algorithm to find the shortest path from start to goal.&lt;&#x2F;li&gt;
&lt;li&gt;Considers obstacles and returns the path if found.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;7. &lt;code&gt;connect_mqtt()&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Connects to the MQTT broker to enable robot communication.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;8. &lt;code&gt;send_mqtt_command(topic, command)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sends a command to the robot via MQTT.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;9. &lt;code&gt;get_bot_position(bot_id, markers)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Retrieves the current position of a robot based on its marker ID.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;10. &lt;code&gt;calculate_distances(robot_corners, next_position)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Calculates the distances from the robot&#x27;s center and corners to the next position.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;11. &lt;code&gt;move_towards_goal(robot_id, path, threshold)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Moves the robot towards the goal following the given path using PID control.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;12. &lt;code&gt;draw_lines_to_goal(frame, robot_corners, goal_position, color, thickness)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Draws lines from the robot&#x27;s corners and center to the goal position on the frame.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;13. &lt;code&gt;draw_path(frame, path, color, thickness, grid_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Draws the planned path on the frame.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;14. &lt;code&gt;get_head_position(robot_id, markers)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Returns the head position and corners of the robot based on its marker ID.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;15. &lt;code&gt;get_waste_positions(markers, waste_id)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Filters and returns the positions of a specific type of waste.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;16. &lt;code&gt;fill_grid_cells_from_corners(corners, grid_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Returns all grid cells covered by a rectangle defined by its corners.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;17. &lt;code&gt;update_obstacles(markers, target_waste_ids, robot_head_pos)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Updates the list of obstacles and finds the nearest waste position.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;18. &lt;code&gt;convert_to_grid_coordinates(position, cell_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Converts a position to grid coordinates based on the cell size.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;19. &lt;code&gt;convert_obstacles_to_grid(obstacles, cell_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Converts a set of positions to grid coordinates.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;20. &lt;code&gt;convert_grid_to_actual(path, cell_size)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Converts a path of grid coordinates back to actual coordinates.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;21. &lt;code&gt;plan_path(start, goal, obstacles)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Plans a path using the A* algorithm and returns it in actual coordinates.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;22. &lt;code&gt;find_nearest_edge_midpoint_to_robot(robot_pos, marker_id, markers)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Finds the nearest edge midpoint of a marker relative to the robot&#x27;s position.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;23. &lt;code&gt;pickup_waste(robot_id)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sends a command to the robot to pick up the waste.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;24. &lt;code&gt;drop_off_waste(robot_id, waste_id)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sends a command to the robot to drop off the waste and marks it as processed.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;25. &lt;code&gt;robot_control_loop(robot_id)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Main control loop for the robot:
&lt;ul&gt;
&lt;li&gt;Connects to MQTT.&lt;&#x2F;li&gt;
&lt;li&gt;Detects waste, navigates to it, picks it up, and drops it off.&lt;&#x2F;li&gt;
&lt;li&gt;Repeats the process continuously.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;26. &lt;code&gt;capture_and_update_shared_resources(url)&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Continuously captures video frames.&lt;&#x2F;li&gt;
&lt;li&gt;Detects markers and updates shared resources with the frame and markers.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;27. &lt;code&gt;visualize_robot_behavior()&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Visualizes the robot&#x27;s current behavior on the frame.&lt;&#x2F;li&gt;
&lt;li&gt;Draws the robot&#x27;s position, planned path, obstacles, and goal on the frame.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;details&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;functions.svg&quot; alt=&quot;functions&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;finally&quot;&gt;Finally&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;testing&quot;&gt;Testing&lt;&#x2F;h3&gt;
&lt;p&gt;To test only the &lt;code&gt;main.py&lt;&#x2F;code&gt; file for it&#x27;s pathfinding capabilities, you can run the &lt;code&gt;.&#x2F;pngstream.py&lt;&#x2F;code&gt; file in the &lt;code&gt;etc&lt;&#x2F;code&gt; directory and put &lt;code&gt;http:&#x2F;&#x2F;127.0.0.1:5000&#x2F;video_feed&lt;&#x2F;code&gt; on the following placeholder in &lt;code&gt;main.py&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;python&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-python &quot;&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    args&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;http:&#x2F;&#x2F;Your_IP_Camera_feed_Address&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,) &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# this is almost at the end of the document
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;and then run &lt;code&gt;main.py&lt;&#x2F;code&gt;. This will open up a window with the png showing the detected path in the screen along with detecting all the ArUco markers. If only the markers are detected and the path doesn&#x27;t show up, it can be assumed that the code isn&#x27;t working corrctly.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I suggest testing this way as soon as nix finishes setting the environment and keep testing the code like this to minimize the need to test it physically.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;troubleshooting-common-issues&quot;&gt;Troubleshooting Common Issues&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Connection Problems: If the robot fails to connect to the MQTT broker, double-check your Wi-Fi credentials and ensure the broker&#x27;s IP address is correct in both the ESP32 firmware and main.py. (The main.py script will print errors if something isn&#x27;t properly connected.)&lt;&#x2F;li&gt;
&lt;li&gt;Movement Issues: If the robot&#x27;s movements are erratic or it doesn&#x27;t move as expected, recheck the motor connections and ensure the PWM values are correctly tuned in &lt;code&gt;main.py&lt;&#x2F;code&gt; and &lt;code&gt;esp32.ino&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Marker Detection Failures: If the robot cannot detect ArUco markers, ensure the camera feed is clear and unobstructed. Adjust the camera&#x27;s focus and lighting conditions to improve detection accuracy.&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;possible-improvements&quot;&gt;Possible Improvements&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;In my pathfinding algorithm, I don&#x27;t search for the diagonal paths which lengthens the &quot;short path&quot; as I wanted the robot to face &lt;code&gt;the waste&lt;&#x2F;code&gt; or &lt;code&gt;the destination&lt;&#x2F;code&gt; from either sides of the square and not the corners.&lt;&#x2F;li&gt;
&lt;li&gt;Making swarm robots instead of using only one.&lt;&#x2F;li&gt;
&lt;li&gt;Making the code object-oriented.&lt;&#x2F;li&gt;
&lt;li&gt;Adding grippers to grab the waste instead of the 5-second delay and drop the waste on its destination.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We had added the functionalities of gripping and swarm navigation when using this bot on a Robotics Competition in Nepal called &lt;code&gt;Yantra Swarmanoid&lt;&#x2F;code&gt; but decided to remove it on this showcase, though the code to grab and drop the waste is still in there in &#x27;main.py&#x27;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Breakdown</title>
        <published>2024-05-25T00:00:00+00:00</published>
        <updated>2024-05-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-05-25/"/>
        <id>https://scientiac.space/syndications/posse-2024-05-25/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-05-25/">&lt;pre data-lang=&quot;text&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-text &quot;&gt;&lt;code class=&quot;language-text&quot; data-lang=&quot;text&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt; Did I grow old?
&lt;&#x2F;span&gt;&lt;span&gt; Am I weak?
&lt;&#x2F;span&gt;&lt;span&gt; Do I have something that nobody can change in me?
&lt;&#x2F;span&gt;&lt;span&gt; Have I changed too much?
&lt;&#x2F;span&gt;&lt;span&gt; Did I stop writing?
&lt;&#x2F;span&gt;&lt;span&gt; Did I stop being curious?
&lt;&#x2F;span&gt;&lt;span&gt; Did I stop making things?
&lt;&#x2F;span&gt;&lt;span&gt; Am I taking too much pressure?
&lt;&#x2F;span&gt;&lt;span&gt; Am I hiding too much pressure?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up on asking for love?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up using the word &amp;quot;love&amp;quot;?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up myself being carefree?
&lt;&#x2F;span&gt;&lt;span&gt; Did I start pushing back everyone?
&lt;&#x2F;span&gt;&lt;span&gt; Did I fail too many times?
&lt;&#x2F;span&gt;&lt;span&gt; Did I start saying no to all?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up on responsibilities?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up on grammar?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up on being attractive?
&lt;&#x2F;span&gt;&lt;span&gt; Did I give up on sorries?
&lt;&#x2F;span&gt;&lt;span&gt; Did I?
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Timebender</title>
        <published>2024-05-15T00:00:00+00:00</published>
        <updated>2024-05-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/timebender/"/>
        <id>https://scientiac.space/blog/timebender/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/timebender/">&lt;p&gt;Trapped in the layers of time,&lt;br &#x2F;&gt;
are the stories I might not know,&lt;br &#x2F;&gt;
blips and flashes of faint sparks,&lt;br &#x2F;&gt;
around it, as the rock piles grow.&lt;br &#x2F;&gt;
Times I wish to wind back time,&lt;br &#x2F;&gt;
live those flashbacks a few times,&lt;br &#x2F;&gt;
what I&#x27;ll get will be what I want,&lt;br &#x2F;&gt;
knowing there&#x27;s only one way front.&lt;br &#x2F;&gt;
We are there, for a blink of eye,&lt;br &#x2F;&gt;
our time bubble pops, and it dries,&lt;br &#x2F;&gt;
fake scenarios I build, interrupts,&lt;br &#x2F;&gt;
and layers, they get more corrupt.&lt;br &#x2F;&gt;
Those layers grow as I walk with you,&lt;br &#x2F;&gt;
stories born each step we move,&lt;br &#x2F;&gt;
even far, you slow down my time,&lt;br &#x2F;&gt;
your presence fuels the time unwind.&lt;br &#x2F;&gt;
Then, there are times I walk with you,&lt;br &#x2F;&gt;
a mile feels like, footsteps few,&lt;br &#x2F;&gt;
but the path though same way back,&lt;br &#x2F;&gt;
always the longest I&#x27;ve ever walked.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The New Way</title>
        <published>2024-04-23T00:00:00+00:00</published>
        <updated>2024-04-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-04-23/"/>
        <id>https://scientiac.space/syndications/posse-2024-04-23/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-04-23/">&lt;center&gt;
&lt;p&gt;&lt;em&gt;It is only the way it is until we discover the new way it is, and then that is the way it is until we discover the new way it is, and so it goes until the world is no longer flat, electricity lights the night, and shoes are no longer tied with ribbons.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;Poor Things, 2023&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KDE Network Nepal: Event 0</title>
        <published>2024-04-05T00:00:00+00:00</published>
        <updated>2024-04-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/kde-network-nepal/"/>
        <id>https://scientiac.space/blog/kde-network-nepal/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/kde-network-nepal/">&lt;h3 id=&quot;kde&quot;&gt;KDE?&lt;&#x2F;h3&gt;
&lt;p&gt;Somewhere around 2017, I started using Linux. KDE was the first Distro I ever tried. It was the whole reason &lt;a href=&quot;&#x2F;blog&#x2F;destination-linux&#x2F;&quot;&gt;why I switched to Linux&lt;&#x2F;a&gt;. Now that I realize, it was actually &lt;code&gt;KDE Plasma&lt;&#x2F;code&gt; I was attracted to and I still love it. I can make my desktop however I want it to look, that was enough for me to step to the Linux world. KDE also makes a good deal of other software and not just plasma, &lt;code&gt;Kdenlive&lt;&#x2F;code&gt; and &lt;code&gt;Krita&lt;&#x2F;code&gt; being two of the most popular products. I particularly love &lt;code&gt;Kstars&lt;&#x2F;code&gt; to track stars and constellations when I am stargazing.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;kde_network_nepal&#x2F;dragons_kde.png&quot; alt=&quot;kde dragons&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;network-nepal&quot;&gt;Network Nepal&lt;&#x2F;h1&gt;
&lt;p&gt;KDE isn&#x27;t a company of sorts, it&#x27;s a community. A group of people sharing interests with each others and developing software for everyone. And not just any kind of software, high-end Free&#x2F;Libre and Open Source Software. People are the heart of the community and the more people there are the better will be KDE.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;KDE Network?&lt;&#x2F;strong&gt;&lt;br &#x2F;&gt;
The KDE Network is a group of KDE representatives in their respective cities&#x2F;countries. They promote KDE, and it’s work in their local community.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;kde_network_nepal&#x2F;network_nepal.jpg&quot; alt=&quot;Network Nepal&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;After learning about the KDE Network and a way to contribute to KDE as a Student. I had proposed an idea of a KDE Network for Nepal to represent KDE in Nepal to my friends and simultaneously to the KDE Promo team. Due to the support of KDE Promo team especially &lt;code&gt;@aniqakhokhar&lt;&#x2F;code&gt; and &lt;code&gt;@paulb&lt;&#x2F;code&gt; from the team, I along with my fellow FOSS geek friends &lt;a href=&quot;&#x2F;syndications&#x2F;posse-2024-02-27&#x2F;&quot;&gt;decided to Introduce the Network from an Introductory event&lt;&#x2F;a&gt; along with KDE 6 Megarelease celebration.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;kde_network_nepal&#x2F;network_presentation.jpg&quot; alt=&quot;Network Nepal Presentation on Linux&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We hosted a meetup for students interested in Free and Open Source Software (FOSS). The event welcomed freshmen from computer engineering and electronics communication and information engineering programs, alongside some sophomores and juniors.&lt;&#x2F;p&gt;
&lt;p&gt;The meetup covered a range of FOSS topics, including what it is and how it works. Attendees learned about Linux, its components, and the KDE Plasma desktop environment. They also explored the KDE software collection, and then got to know what the Network was. To make the event fun, there was a KDE trivia quiz too!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;kde_network_nepal&#x2F;network_kde_setup.jpg&quot; alt=&quot;Network Nepal Setup&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Along with us, some students shared their experiences with FOSS, making the meetup a great interactive session. Everyone had a chance to learn from each other, and it was a window to the exciting world of open-source software for many students.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m excited to organize future events showcasing the exciting ecosystem of KDE software and Linux, spreading the knowledge of FOSS to a wider audience. Till then...&lt;&#x2F;p&gt;
&lt;p&gt;KDE Network Nepal&#x27;s [matrix] channel to chat: &lt;a href=&quot;https:&#x2F;&#x2F;go.kde.org&#x2F;matrix&#x2F;#&#x2F;#kde-network-nepal:kde.org&quot;&gt;#kde-network-nepal:kde.org&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
Visit &lt;a href=&quot;https:&#x2F;&#x2F;kde.org&quot;&gt;kde.org&lt;&#x2F;a&gt; to know more about KDE Software and the awesome community.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Life in a Box</title>
        <published>2024-03-11T00:00:00+00:00</published>
        <updated>2024-03-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/life-in-a-box/"/>
        <id>https://scientiac.space/blog/life-in-a-box/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/life-in-a-box/">&lt;p&gt;The days are getting weirder. I think that I am living in a 2D world more than in the 3D world. Here, everything is boxes. Square, squircle, rectangle, rounded rectangle and what not. Not that I am living in a high-tech society where everything is managed by glowing square and rectangle boxes but, my interest in tech and keeping up with it as much as I can have enclosed me in these glowing rectangles.&lt;&#x2F;p&gt;
&lt;p&gt;What is the first thing you do when you wake up in the morning? Drink water? Go to the bathroom? Let me tell you what I am doing. I search for my phone as soon as my eyes are opened in the morning. That is pretty messed up. These boxes have become so involved in my life that I can sense that I am not carrying one around. It feels like I have forgotten to drink water or something similar.&lt;&#x2F;p&gt;
&lt;p&gt;During high usage these boxes don&#x27;t have very useful things to offer as well, most of the things are just dopamine inducing content that makes you feel like you have laughed or learned something, but it only lasts until the next video starts. But I still shift from one box to another. From my phone to my laptop and then my TV and back to my phone, my life is roaming around.&lt;&#x2F;p&gt;
&lt;p&gt;It is not that it only has negatives, from talking to our loved ones to sharing what you have learned to sharing the thoughts that come to your head, everything is done within the boxes, and it is faster and easier too. Even &quot;social interaction&quot; is a term that in lies inside the glowing boxes nowadays. Perhaps too much of anything is always bad, and &quot;everything&quot; includes the glowing boxes too.&lt;&#x2F;p&gt;
&lt;p&gt;Because of these boxes, apparently the generations are divided by the tech literacy than by time. The behaviors of &quot;Millennial&quot; living in a developed country where tech adoption is fast may be similar to the &quot;Generation Z&quot; living in a developing country where tech adoption is slow or the family who&#x27;s tech adoption is slow.&lt;&#x2F;p&gt;
&lt;p&gt;I am a Gen Z myself. Though, I have grown in the age of iPhone and Facebook. I was only introduced to these after 2013 and so were my parents. This makes me feel too young, but Windows 11 was the OS that I used for the first time in my home computer. Though that was the OS when we bought the laptop after I enabled beta updates as soon as I got it because of the &quot;techie&quot; I was, and the second day Linux was my main OS, and it has been the same since then. And since everything I watch and everyone I follow are Millennial Tech Geeks, I have become to be this way.&lt;&#x2F;p&gt;
&lt;p&gt;The glowing boxes and keeping up with the latest tech news has made me who I am, but the influence of the people who are privacy focused and whom I follow has made me hesitant about things like &quot;proprietary software&quot; and &quot;big tech&quot;. Though it is a good thing, I hesitate to try out new things as they come out. It&#x27;s a dilemma that there is so much to learn in the world of boxes, but there is also a happier and healthier world to learn about and live in. Only if there was a way to merge the two, which seems more disastrous as I now think about it.&lt;&#x2F;p&gt;
&lt;p&gt;So, how do I manage my life in these glowing boxes and my life outside? No, I am not writing about how I manage my life (lives?). I am asking you. It is a very difficult thing to do as a student with all his resources in the form of videos and PDFs. &lt;strong&gt;I conclude that self-control is the most essential skill a human needs, and what I need to do is to develop it anyhow.&lt;&#x2F;strong&gt; A simple &#x27;ping&#x27; or &#x27;ring&#x27; should not make me go and pick up a box to eventually get me to doom-scrolling. How&#x27;s your life like in a box?&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Rhythms</title>
        <published>2024-02-29T00:00:00+00:00</published>
        <updated>2024-02-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/rhythm/"/>
        <id>https://scientiac.space/blog/rhythm/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/rhythm/">&lt;p&gt;Flowing in the waves of pop,&lt;br &#x2F;&gt;
Burning in the flames of rock,&lt;br &#x2F;&gt;
Soaked in the smoothness of jazz,&lt;br &#x2F;&gt;
Gliding through the electric tunes,&lt;br &#x2F;&gt;
Flying over the clouds of chords,&lt;br &#x2F;&gt;
Floating over the booming beats,&lt;br &#x2F;&gt;
Haven&#x27;t stopped dancing, I&#x27;m moving,&lt;br &#x2F;&gt;
My blood warms up, I&#x27;m shaking,&lt;br &#x2F;&gt;
Tiptoeing, it feels so light,&lt;br &#x2F;&gt;
Fuzzy feeling, it&#x27;s elegantly basic,&lt;br &#x2F;&gt;
My heart beats slow, eyes glowing,&lt;br &#x2F;&gt;
Calms me down, the world feels bright,&lt;br &#x2F;&gt;
These rhythms make me feel things,&lt;br &#x2F;&gt;
Like a fairy, I&#x27;m swinging my wings,&lt;br &#x2F;&gt;
Dancing in the clouds, it&#x27;s a vibe,&lt;br &#x2F;&gt;
Eating, breathing, thinking music,&lt;br &#x2F;&gt;
Songs can bring me dead to life.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KDE Network Nepal</title>
        <published>2024-02-27T00:00:00+00:00</published>
        <updated>2024-02-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2024-02-27/"/>
        <id>https://scientiac.space/syndications/posse-2024-02-27/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2024-02-27/">&lt;p&gt;The KDE Network is a group of KDE representatives in their respective cities&#x2F;countries promoting KDE, and it’s work in their local community. Additionally, they are responsible for helping to grow the community, and to act as a liaison between their local community and KDE.&lt;&#x2F;p&gt;
&lt;p&gt;This is what I found when going through KDE wiki wondering how KDE as a community was structured. Seeing there were not many local groups listed, I wanted to contribute by forming a group here in Nepal. Hence, the introduction event with megarelease celebration.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;posse&#x2F;kde_network.png&quot; alt=&quot;KDE Network&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Dilemma</title>
        <published>2024-01-31T00:00:00+00:00</published>
        <updated>2024-01-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/dilemma/"/>
        <id>https://scientiac.space/blog/dilemma/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/dilemma/">&lt;p&gt;Am I supposed to work hard?&lt;br &#x2F;&gt;
Or should I only play smart?&lt;br &#x2F;&gt;
Am I supposed to beat all?&lt;br &#x2F;&gt;
Or do I help them not fall?&lt;br &#x2F;&gt;
Is breaking trust an easy path?&lt;br &#x2F;&gt;
Or is trust just some easy math?&lt;&#x2F;p&gt;
&lt;p&gt;Harsh choices,&lt;br &#x2F;&gt;
big decisions, I&#x27;m tired.&lt;br &#x2F;&gt;
Choose one,&lt;br &#x2F;&gt;
lose one, there&#x27;s riot.&lt;br &#x2F;&gt;
Leave me,&lt;br &#x2F;&gt;
I&#x27;ll do, my style.&lt;br &#x2F;&gt;
Pin me,&lt;br &#x2F;&gt;
You&#x27;ll get, meat pile.&lt;&#x2F;p&gt;
&lt;p&gt;Strong eye,&lt;br &#x2F;&gt;
arrogant, I&#x27;ll be.&lt;br &#x2F;&gt;
Yield it,&lt;br &#x2F;&gt;
chicken, they&#x27;ll see.&lt;br &#x2F;&gt;
Rely on,&lt;br &#x2F;&gt;
exploited, be wreaked.&lt;br &#x2F;&gt;
Trust one,&lt;br &#x2F;&gt;
sole heart, it&#x27;ll break.&lt;&#x2F;p&gt;
&lt;p&gt;Soft heart,&lt;br &#x2F;&gt;
easy, knives in.&lt;br &#x2F;&gt;
Rock hard,&lt;br &#x2F;&gt;
alone, have been.&lt;br &#x2F;&gt;
Drop out,&lt;br &#x2F;&gt;
Potential, limited.&lt;br &#x2F;&gt;
Give in,&lt;br &#x2F;&gt;
fault&#x27;s own, betrayed.&lt;&#x2F;p&gt;
&lt;p&gt;Tough time,&lt;br &#x2F;&gt;
none know, my itch.&lt;br &#x2F;&gt;
Priorities,&lt;br &#x2F;&gt;
understand, can&#x27;t ditch.&lt;br &#x2F;&gt;
Pressured,&lt;br &#x2F;&gt;
Hot warm, blood type.&lt;br &#x2F;&gt;
Endgame,&lt;br &#x2F;&gt;
I want, my life.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Manoid: Communication</title>
        <published>2023-12-31T00:00:00+00:00</published>
        <updated>2023-12-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/esp-mosquitto/"/>
        <id>https://scientiac.space/blog/esp-mosquitto/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/esp-mosquitto/">&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;led_esp.jpg&quot; alt=&quot;Esp with Led&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h2&gt;
&lt;p&gt;Building a clueless robot isn&#x27;t an easy task and I am only in the beginning of it. This report will discuss on how to setup the microcontroller boards and how the communication will work for project &lt;code&gt;manoid&lt;&#x2F;code&gt; (A waste management robot). Also, the much difficult image processing and mapping is on the way, which I should be working on instead of writing this but I&#x27;ll leave that for next year. Communication seems like a simple topic to work on for now.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note :&lt;&#x2F;strong&gt; &lt;em&gt;I wrote the code for the bot &lt;a href=&quot;&#x2F;blog&#x2F;yantra-bot&#x2F;&quot;&gt;manoid&lt;&#x2F;a&gt; in arduino&#x27;s &#x27;.ino&#x27; instead of using micropython&#x27;s &#x27;.py&#x27; but micropython can be used to do the same as well.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;requirements&quot;&gt;Requirements:&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;strong&gt;Category&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;th&gt;&lt;strong&gt;Component&lt;&#x2F;strong&gt;&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Hardware&lt;&#x2F;td&gt;&lt;td&gt;ESP8266 Microcontroller&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Firmware&lt;&#x2F;td&gt;&lt;td&gt;MicroPython (for receiving)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;Python (for publishing)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;esptool&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;mosquitto (for serving)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Software&lt;&#x2F;td&gt;&lt;td&gt;adafruit-ampy&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;basic-setup&quot;&gt;Basic Setup&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;flashing-firmware&quot;&gt;Flashing Firmware&lt;&#x2F;h3&gt;
&lt;p&gt;Micropython is an implementation of Python 3 that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments. The microcontroller I am using is the ESP8266 (NodeMCU). Flashing it with micropython was easy (for me), I&#x27;ve been flashing things since years. It goes like this:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;code&gt;esptool&lt;&#x2F;code&gt; and erase flash your ESP8266 first.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;blockquote&gt;
&lt;p&gt;You should first confirm that &#x2F;dev&#x2F;ttyUSB0 is your device which you want to flash &lt;code&gt;micropython&lt;&#x2F;code&gt; on.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;esptool.py --port &#x2F;dev&#x2F;ttyUSB0 erase_flash
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Then flash the &lt;a href=&quot;https:&#x2F;&#x2F;micropython.org&#x2F;download&#x2F;ESP8266_GENERIC&#x2F;&quot;&gt;latest firmware&lt;&#x2F;a&gt; of ESP8266.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;esptool.py --port &#x2F;dev&#x2F;ttyUSB0 --baud 460800 write_flash --flash_size&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;detect 0 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;path to the .bin file (firmware&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The default flashing mode worked on my first &lt;code&gt;ESP8266&lt;&#x2F;code&gt; but when I tried to flash it to another &lt;code&gt;ESP8266&lt;&#x2F;code&gt; it flashes successfully but didn&#x27;t let me access the repl. So, I had to set the flashing mode to &lt;code&gt;dout&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;esptool.py --port &#x2F;dev&#x2F;ttyUSB0 --baud 460800 write_flash --flash_size&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;detect --flash_mode dout 0 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;path to the .bin file (firmware&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Check if everything is working by connecting to the &lt;code&gt;micropython repl&lt;&#x2F;code&gt;. You can use &lt;code&gt;screen&lt;&#x2F;code&gt; or &lt;code&gt;tmux&lt;&#x2F;code&gt; or your own solution to connect to the &lt;code&gt;repl&lt;&#x2F;code&gt;. Here is how you can use screen:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;screen &#x2F;dev&#x2F;ttyUSB0 115200
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The above command gives you a blank screen, when you hit enter you&#x27;ll get the prompt, type &lt;code&gt;help&lt;&#x2F;code&gt; and hit enter. This should show up:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;repl.png&quot; alt=&quot;repl&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;mqtt&quot;&gt;MQTT&lt;&#x2F;h3&gt;
&lt;p&gt;I am sure you played with the &lt;code&gt;repl&lt;&#x2F;code&gt; and now it&#x27;s time to push some scripts to run in it. For now we will focus on using &lt;code&gt;MQTT&lt;&#x2F;code&gt; protocol to transfer data from one machine to another.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;an-overview-of-how-mqtt-works&quot;&gt;An overview of how MQTT works&lt;&#x2F;h4&gt;
&lt;ol&gt;
&lt;li&gt;A MQTT client establishes a connection with the MQTT broker.&lt;&#x2F;li&gt;
&lt;li&gt;Once connected, the client can either publish messages, subscribe to specific messages, or do both.&lt;&#x2F;li&gt;
&lt;li&gt;When the MQTT broker receives a message, it forwards it to subscribers who are interested.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Here, &lt;strong&gt;server&lt;&#x2F;strong&gt; will be &lt;code&gt;mosquitto&lt;&#x2F;code&gt; running on the computer &lt;strong&gt;publisher&lt;&#x2F;strong&gt; will be the &lt;code&gt;python script&lt;&#x2F;code&gt; on the computer and &lt;strong&gt;subscriber&lt;&#x2F;strong&gt; will be the &lt;code&gt;ESP8266&lt;&#x2F;code&gt; running micropython. [Message will be sent from python script through mosquitto server to ESP8266]&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h4 id=&quot;mosquitto&quot;&gt;Mosquitto&lt;&#x2F;h4&gt;
&lt;p&gt;To set the mosquitto server first we should allow port &lt;code&gt;1883&lt;&#x2F;code&gt; on your firewall. I am using a custom configuration file for now. So, make a file named &lt;code&gt;mosquitto.conf&lt;&#x2F;code&gt; and put the following lines to allow all connections:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    listener 1883
&lt;&#x2F;span&gt;&lt;span&gt;    allow_anonymous true
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;then run the server by the following command:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;mosquitto -c .&#x2F;mosquitto.conf
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is how it&#x27;ll look when a client named &lt;code&gt;tesseraclient&lt;&#x2F;code&gt; connects to the server:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;mosquitto.png&quot; alt=&quot;mosquitto&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;pushing-scripts-to-the-microcontroller&quot;&gt;Pushing Scripts to the Microcontroller&lt;&#x2F;h3&gt;
&lt;p&gt;There are two important files that MicroPython looks for in the root of its filesystem.  These files contain MicroPython code that will be executed whenever the board is powered up or reset (i.e. it &#x27;boots&#x27;).  These files are:&lt;&#x2F;p&gt;
&lt;h4 id=&quot;boot-py&quot;&gt;boot.py&lt;&#x2F;h4&gt;
&lt;p&gt;This file is run first on power up&#x2F;reset and should contain low-level code that sets up the board to finish booting.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;main-py&quot;&gt;main.py&lt;&#x2F;h4&gt;
&lt;p&gt;If this file exists it&#x27;s run after boot.py and should contain any main script that you want to run when the board is powered up or reset.&lt;&#x2F;p&gt;
&lt;p&gt;To push the scripts I am using &lt;code&gt;adafruit-ampy&lt;&#x2F;code&gt; but the official way to push files is using their &lt;a href=&quot;https:&#x2F;&#x2F;learn.adafruit.com&#x2F;micropython-basics-esp8266-webrepl&#x2F;access-webrepl&quot;&gt;webrepl&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Using ampy you can push scripts with the following command:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-bash &quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ampy -p &#x2F;dev&#x2F;ttyUSB0 put &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;filename.py&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;programming&quot;&gt;Programming&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;publisher&quot;&gt;Publisher&lt;&#x2F;h3&gt;
&lt;p&gt;Firstly a python script on the computer to send messages, it sends &lt;code&gt;on&lt;&#x2F;code&gt; and &lt;code&gt;off&lt;&#x2F;code&gt; in the interval of 500ms with topic &lt;code&gt;led&lt;&#x2F;code&gt; to the mosquitto server:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;py&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-py &quot;&gt;&lt;code class=&quot;language-py&quot; data-lang=&quot;py&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;time
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;paho.mqtt.client &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;mqtt
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;BROKER_ADDRESS&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;000.000.00.00 &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# IP address of the device running the mosquitto server
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;on_connect&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;userdata&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;flags&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;rc&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;rc &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connected to broker&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;else&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connection failed with code&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, rc)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;on_disconnect&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;userdata&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;rc&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Disconnected from broker&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;establish_connection&lt;&#x2F;span&gt;&lt;span&gt;():
&lt;&#x2F;span&gt;&lt;span&gt;        client_id &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;tesserver&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;        client &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;mqtt.Client(client_id&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client_id)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        client.on_connect &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;on_connect
&lt;&#x2F;span&gt;&lt;span&gt;        client.on_disconnect &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;on_disconnect
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client.connect(BROKER_ADDRESS, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1883&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;60&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span&gt;client
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    led_topic &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;led&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    client &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;establish_connection()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client.publish(led_topic, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;off&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;500&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;client.publish(led_topic, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;off&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;500&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;subscriber&quot;&gt;Subscriber&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;boot-py-1&quot;&gt;boot.py&lt;&#x2F;h4&gt;
&lt;p&gt;This will start when I plug the esp to the power supply. No need to connect via &lt;code&gt;webrepl&lt;&#x2F;code&gt; and start manually. Generally it&#x27;s not recommended to touch the &lt;code&gt;boot.py&lt;&#x2F;code&gt; file. &lt;code&gt;main.py&lt;&#x2F;code&gt; should be used instead but this is I who programming the microcontroller so &lt;code&gt;boot.py&lt;&#x2F;code&gt; it is.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;py&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-py &quot;&gt;&lt;code class=&quot;language-py&quot; data-lang=&quot;py&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;esp
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;os, machine
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;gc
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;webrepl
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;webrepl.start()
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;gc.collect()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;network
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;time
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;machine
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Wi-Fi configuration
&lt;&#x2F;span&gt;&lt;span&gt;    ssid &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=  &lt;&#x2F;span&gt;&lt;span&gt;abcdef &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#WIFI_SSID
&lt;&#x2F;span&gt;&lt;span&gt;    password &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;12345678 &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#WIFI_PASSWORD
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Function to connect to Wi-Fi
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;connect_wifi&lt;&#x2F;span&gt;&lt;span&gt;():
&lt;&#x2F;span&gt;&lt;span&gt;        wlan &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;network.WLAN(network.STA_IF)
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;wlan.active(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;True&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;wlan.isconnected()&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connecting to WiFi...&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;wlan.connect(ssid, password)
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# wlan.connect(ssid)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;while &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;wlan.isconnected()&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connected to WiFi&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Connect to Wi-Fi
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;connect_wifi()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Check if Wi-Fi connection is successful before executing mqtt.py
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;network.WLAN(network.STA_IF).isconnected()&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Execute mqtt.py
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;try&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;mqtt  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Replace &amp;#39;mqtt&amp;#39; with the actual name of your Python script
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;except &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;Exception &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;e:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Error executing mqtt.py:&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, e)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;mqtt-py&quot;&gt;mqtt.py&lt;&#x2F;h4&gt;
&lt;p&gt;Upon connecting to the WIFI successfully the above script will import this file and things magically happen.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;py&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-py &quot;&gt;&lt;code class=&quot;language-py&quot; data-lang=&quot;py&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;machine
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;umqtt.simple &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;MQTTClient
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;time
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;secrets &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;BROKER_ADDRESS
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# MQTT configuration
&lt;&#x2F;span&gt;&lt;span&gt;    client_id &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;teserraclient&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    broker_address &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;000.000.00.00 &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# IP address of the device running the mosquitto server
&lt;&#x2F;span&gt;&lt;span&gt;    led_topic &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;b&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;led&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# LED Pin
&lt;&#x2F;span&gt;&lt;span&gt;    led_pin &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;machine.Pin(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;15&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, machine.Pin.OUT)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;connect_mqtt&lt;&#x2F;span&gt;&lt;span&gt;():
&lt;&#x2F;span&gt;&lt;span&gt;        c &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MQTTClient(client_id, broker_address)
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;c.set_callback(callback)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;while &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;True&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;try&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;c.connect(clean_session&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;False&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connected to MQTT broker.&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;c.subscribe(led_topic)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span&gt;c
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;except &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;OSError &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;e:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Connection error: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;{e}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Retrying in 5 seconds...&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;5&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;callback&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;topic&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;msg&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Received message on topic &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;{topic.decode(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;utf-8&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;{msg.decode(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;utf-8&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;topic &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span&gt;led_topic:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;msg &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;b&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;on&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Turning on the LED&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;led_pin.on()
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;msg &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;b&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;off&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Turning off the LED&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;led_pin.off()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    mqtt_client &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;connect_mqtt()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;mqtt_client:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Waiting for messages...&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;while &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;True&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;try&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;mqtt_client.wait_msg()
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;except &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;OSError &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;e:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Error: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;{e}&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Reconnecting...&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                mqtt_client &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;connect_mqtt()
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span&gt;mqtt_client:
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;break
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;finally&quot;&gt;Finally&lt;&#x2F;h3&gt;
&lt;p&gt;If everything works after installing all the python dependencies you will see this if you are supplying power to your microcontroller using a computer that can accept serial in upon doing a soft reboot and running your python (publisher) script from your computer.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;manoid&#x2F;working.png&quot; alt=&quot;final&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This indicates that the publisher i.e. &lt;code&gt;python script&lt;&#x2F;code&gt; has connected to the server i.e. &lt;code&gt;mosquitto&lt;&#x2F;code&gt; and is now sending &lt;code&gt;on&lt;&#x2F;code&gt; and &lt;code&gt;off&lt;&#x2F;code&gt; messages to the server with topic &lt;code&gt;led&lt;&#x2F;code&gt; which then is sent to the subscriber i.e. &lt;code&gt;ESP8266&lt;&#x2F;code&gt; which is interpreted by the microcontroller as a command to enable and disable the set GPIO pin i.e. pin &lt;code&gt;15&lt;&#x2F;code&gt; if you look closely at the code.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Attending GNOME.Asia 2023</title>
        <published>2023-12-06T00:00:00+00:00</published>
        <updated>2023-12-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-12-06/"/>
        <id>https://scientiac.space/syndications/posse-2023-12-06/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-12-06/">&lt;p&gt;I&#x27;m back home from Kathmandu. This time it was an event from GNOME; the GNOME.Asia 2023. There were poeple from Fedora, GNOME, Phosh form different parts of world ; USA, Indonesia, India in Kathmandu, Nepal for a conference about FOSS. It was quite an event. Also, got to contribute to fedora by eating the 20th anniversary cake too😉, there should really be a badge for &quot;has eaten fedora cake&quot; in fedora badges.&lt;&#x2F;p&gt;
&lt;p&gt;It was a very fun and educational experience. I realize that the people in FOSS are generally very generous, friendly and helpful.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Droidian: Linux Smartphone Experience</title>
        <published>2023-11-30T00:00:00+00:00</published>
        <updated>2023-11-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/droidian/"/>
        <id>https://scientiac.space/blog/droidian/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/droidian/">&lt;h2 id=&quot;my-device&quot;&gt;My Device&lt;&#x2F;h2&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            #####           scientiac@mobius
&lt;&#x2F;span&gt;&lt;span&gt;           #######          ---------------
&lt;&#x2F;span&gt;&lt;span&gt;           ##O#O##          OS: Droidian trixie aarch64
&lt;&#x2F;span&gt;&lt;span&gt;           #######          Host: wcd937x Audio Codec AB IDP EXCALIBUR
&lt;&#x2F;span&gt;&lt;span&gt;         ###########        Kernel: 4.14-288-xiaomi-miatoll
&lt;&#x2F;span&gt;&lt;span&gt;        #############       Uptime: 1 hour, 40 mins
&lt;&#x2F;span&gt;&lt;span&gt;       ###############      Packages: 1945 (dpkg), 390 (nix-user), 47 (nix-default), 28 (flatpak)
&lt;&#x2F;span&gt;&lt;span&gt;       ################     Shell: bash 5.2.15
&lt;&#x2F;span&gt;&lt;span&gt;      #################     Resolution: 1080x2400x60x164823
&lt;&#x2F;span&gt;&lt;span&gt;    #####################   DE: GNOME (actually &amp;#39;phosh&amp;#39;)
&lt;&#x2F;span&gt;&lt;span&gt;    #####################   WM: weston (actually &amp;#39;phoc&amp;#39;)
&lt;&#x2F;span&gt;&lt;span&gt;      #################     Theme: adw-gtk3 [GTK2&#x2F;3]
&lt;&#x2F;span&gt;&lt;span&gt;                            Icons: Papirus [GTK2&#x2F;3]
&lt;&#x2F;span&gt;&lt;span&gt;                            Terminal: kgx
&lt;&#x2F;span&gt;&lt;span&gt;                            CPU: Qualcomm SM7125 (8) @ 1.804GHz
&lt;&#x2F;span&gt;&lt;span&gt;                            Memory: 2370MiB &#x2F; 5587MiB
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    * neofetch gathered some false data so i have manually edited this text blob.
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;firstly&quot;&gt;Firstly...&lt;&#x2F;h2&gt;
&lt;p&gt;I have been playing around and testing Droidian on my &lt;em&gt;Xaomi Redmi Note 9 Pro Max (miatoll - excalibur)&lt;&#x2F;em&gt; as a daily driver since November 17th. Before this I had tried Droidian about a year ago on this very device.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: The screenshots attached here are of my customized version of phosh and GTK colors, the default UI will look different.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;lockscreen.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;overview.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;a-quick-then-v-s-now&quot;&gt;A quick THEN v&#x2F;s NOW&lt;&#x2F;h3&gt;
&lt;p&gt;Then, the UI was not tailored for the device I was using, it was vanilla phosh with clock in the center of the bar which was covered by the punch-hole of my device and the notification panel was also not aligned correctly to the device. Now, it&#x27;s fine and the UI is just how it should be for the device.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;old_tele.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;new_tele.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Then, The Camera was not working at all. Now, the &lt;code&gt;droidian-camera&lt;&#x2F;code&gt; does work but it&#x27;s laggy. Though it technically can capture videos the frame rate drops very randomly and the video comes out to be choppy. The file size of the choppy video is also very high.&lt;&#x2F;p&gt;
&lt;p&gt;Then, Apps like telegram and messenger from Firefox did not connect to calls at all. Now, microphone is generally supported by all apps and voice calling via other apps work fine.&lt;&#x2F;p&gt;
&lt;p&gt;Then, Waydroid used to work without much problems. Now, upon launching Waydroid and trying to video-call the entire shell crashes and the only way to bring back the UI is by a forced restart.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;experience&quot;&gt;Experience&lt;&#x2F;h2&gt;
&lt;p&gt;Gnome Asia 2023 is starting Tomorrow, I travelled from Dharan to Kathmandu with Droidian on my phone and it feels like I am handicapped using this device coming from android.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;voice-calls&quot;&gt;Voice Calls&lt;&#x2F;h3&gt;
&lt;p&gt;Since it is a phone it should be able to make calls and it does. Though my device supports two SIMs, droidian on my device only detects and uses one so, I had to let go of my secondary SIM.&lt;&#x2F;p&gt;
&lt;img alt=&quot;Gnome Calls&quot; src=&quot;&#x2F;images&#x2F;droidian&#x2F;call_dialing.png&quot; style=&quot;width: 15rem;&quot;&#x2F;&gt;
&lt;h3 id=&quot;notifications&quot;&gt;Notifications&lt;&#x2F;h3&gt;
&lt;p&gt;Apps should be running in the background to be able to make notifications, and the other thing is I am not notified with sound or vibration of any of my texts messages be it from apps like &lt;code&gt;fractal&lt;&#x2F;code&gt;, &lt;code&gt;nheko&lt;&#x2F;code&gt;, &lt;code&gt;telegram-desktop&lt;&#x2F;code&gt; or even &lt;code&gt;gnome-messages&lt;&#x2F;code&gt; even if the app is running in the background when the screen is off.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;gnome-calls&lt;&#x2F;code&gt; app is the only app I know which can make &quot;noisy notifications&quot; when my phone is locked and the screen is off. So, I only know if anyone is calling me on my number but nothing if they use any other platform.&lt;&#x2F;p&gt;
&lt;img alt=&quot;Notification&#x2F; Quick Settings Panel&quot; src=&quot;&#x2F;images&#x2F;droidian&#x2F;notif_panel.png&quot; style=&quot;width: 15rem;&quot;&#x2F;&gt;
&lt;h3 id=&quot;maps&quot;&gt;Maps&lt;&#x2F;h3&gt;
&lt;p&gt;Yes, Gnome Maps works on this device but it does not show my real time location. And coming from using Google Maps, it isn&#x27;t a very pleasant of an experience.&lt;&#x2F;p&gt;
&lt;img alt=&quot;Gnome Maps&quot; src=&quot;&#x2F;images&#x2F;droidian&#x2F;gnome_maps.png&quot; style=&quot;width: 15rem;&quot;&#x2F;&gt;
&lt;h3 id=&quot;waydroid&quot;&gt;Waydroid&lt;&#x2F;h3&gt;
&lt;p&gt;The waydroid experience was buggy when used in the default condition but it worked fine under a nested &lt;code&gt;weston&lt;&#x2F;code&gt; session. But, &lt;code&gt;weston&lt;&#x2F;code&gt; comes with a drawback. The resolution when used in the default &lt;code&gt;phoc&lt;&#x2F;code&gt; is great everything looks crisp but when used in a nested &lt;code&gt;weston&lt;&#x2F;code&gt; session the resolution is low and it&#x27;s only usable. At least waydroid doesn&#x27;t crash the whole phoc session when used inside the nested &lt;code&gt;weston&lt;&#x2F;code&gt; session.&lt;&#x2F;p&gt;
&lt;p&gt;The first image below is with 400dpi (in default &lt;code&gt;phoc&lt;&#x2F;code&gt; session) whereas the second one is on 1700dpi (in &lt;code&gt;weston&lt;&#x2F;code&gt; session) set from android developer settings.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;waydroid_phoc.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;waydroid_weston.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Though &lt;code&gt;gnome-maps&lt;&#x2F;code&gt; do not show real time location, google maps from waydroid is able to do it. But, it requires some time to load everything.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;web-browsing&quot;&gt;Web Browsing&lt;&#x2F;h3&gt;
&lt;p&gt;Web browsing is fine in droidian. Firefox with a mobile focused custom layout is the default browser. There are some glitches here and there on firefox caused by the inability to adapt to a mobile form but normal day to day browsing can be done nicely. Various websites, Facebook, Instagram, YouTube, everything works fine but not as smooth as using on desktop or android and it is expected because I am technically running a whole desktop application on a smartphone.&lt;&#x2F;p&gt;
&lt;img alt=&quot;Youtube on Firefox&quot; src=&quot;&#x2F;images&#x2F;droidian&#x2F;firefox_yt.png&quot; style=&quot;width: 15rem;&quot;&#x2F;&gt;
&lt;p&gt;The desktop extensions work fine, but the UI to edit them from their window glitches on my device. So, the extensions which work by default work the best.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;social-media-and-messaging&quot;&gt;Social Media and Messaging&lt;&#x2F;h3&gt;
&lt;p&gt;Well, mastodon is my favourite social media ever and &lt;code&gt;Tuba&lt;&#x2F;code&gt; is a dedicated app from flathub which works more than fine for it. YouTube, Facebook and Instagram can be used from the Firefox browser. For communication, &lt;code&gt;telegram-desktop&lt;&#x2F;code&gt; works fine, so does &lt;code&gt;Nheko&lt;&#x2F;code&gt; for matrix supporting voice calls as well, other matrix clients like &lt;code&gt;Fractal&lt;&#x2F;code&gt; work too. And there always are web based clients that work in responsive mode.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;masto_pan.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;masto_home.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;It&#x27;s not always gtk apps, qt apps are convergent too; &lt;code&gt;telegram-desktop&lt;&#x2F;code&gt; and &lt;code&gt;nheko&lt;&#x2F;code&gt; are two examples. They are the only &quot;apps&quot; which support voice calls natively and even video calls if it detects a camera (it doesn&#x27;t in mine).&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;nheko.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;fractal.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;file-sharing&quot;&gt;File Sharing&lt;&#x2F;h3&gt;
&lt;p&gt;Sharing files is surprisingly important in our day-to-day life. Since it is a whole Linux system &lt;code&gt;ssh&lt;&#x2F;code&gt; can be used to transfer and receive files as well as modify it remotely. For a more GUI approach the best way to share files from any kind of device is the &lt;code&gt;magic-wormhole&lt;&#x2F;code&gt; protocol. And &lt;code&gt;warp&lt;&#x2F;code&gt; being the GTK convergent app for Droidian, it has made my life a lot easier.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;warp_home.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;warp_send.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;I am writing this blog on my laptop while taking screenshots from my phone and sending them to my laptop using warp.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;customization&quot;&gt;Customization&lt;&#x2F;h2&gt;
&lt;p&gt;The thing that introduced Linux to me and made it interesting was the customizability of it. I encountered Linux when YouTube recommended a video of KDE while I was searching for ways to customize windows. So, you can pretty much assume that I don&#x27;t use things without giving some of my touch to it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;colors-and-textures&quot;&gt;Colors and Textures&lt;&#x2F;h3&gt;
&lt;p&gt;As I have mentioned before, the screenshots attached here are of my customized version of phosh and GTK colors. So, since it is basically a GTK environment, &lt;code&gt;gradience&lt;&#x2F;code&gt; works like a charm for changing the color palette of the apps. And for the phosh shell, some custom &lt;code&gt;gtk.css&lt;&#x2F;code&gt; on &lt;code&gt;~&#x2F;.config&#x2F;gtk-3.0&#x2F;&lt;&#x2F;code&gt; will do the trick.&lt;&#x2F;p&gt;
&lt;p&gt;Here, I am using the &lt;code&gt;gruvbox&lt;&#x2F;code&gt; theme to customize my shell.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;gradience.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;gradience_css.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;pre data-lang=&quot;css&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-css &quot;&gt;&lt;code class=&quot;language-css&quot; data-lang=&quot;css&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#fa5c4b;&quot;&gt;phosh-home&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;, .phosh-overview, &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#fa5c4b;&quot;&gt;phosh-app-grid &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;background-color&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#83a598;&quot;&gt;#282828&lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;* gruvbox primary color *&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#fa5c4b;&quot;&gt;phosh-top-panel&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;font-weight:bold;color:#fa5c4b;&quot;&gt;phosh-lockscreen&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;, .phosh-lockshield &lt;&#x2F;span&gt;&lt;span&gt;{
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;background-image&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;url&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;file:&#x2F;&#x2F;&#x2F;home&#x2F;droidian&#x2F;Desktop&#x2F;image.png&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span&gt;; &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;* a blurred version of wallpaper or any preferred image *&#x2F;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;background-size&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;cover&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;background-position&lt;&#x2F;span&gt;&lt;span&gt;: &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;center&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;    {
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;shell-tweaks&quot;&gt;Shell Tweaks&lt;&#x2F;h3&gt;
&lt;p&gt;Changing icons, showing battery percentage in the bar, setting themes enabling Application filter, everything was done with an app called &lt;code&gt;postmarketos-tweaks&lt;&#x2F;code&gt; which I compiled from the source.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    https:&#x2F;&#x2F;gitlab.com&#x2F;postmarketOS&#x2F;postmarketos-tweaks
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;pmos.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;pmos_phosh.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;scaling&quot;&gt;Scaling&lt;&#x2F;h3&gt;
&lt;p&gt;The default scale is good for the eyes but for me it was a bit too big. I wanted more stuff on this small screen of my phone. For that I went to &lt;code&gt;&#x2F;etc&#x2F;phosh&#x2F;phoc.ini&lt;&#x2F;code&gt; and set the following:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    [output:HWCOMPOSER-1]
&lt;&#x2F;span&gt;&lt;span&gt;    scale = 2.5
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;finally&quot;&gt;Finally...&lt;&#x2F;h2&gt;
&lt;p&gt;The whole Linux ecosystem isn&#x27;t convergent yet, and many apps go beyond the screen resulting in hidden buttons and texts. To tackle that problem, Droidian comes with &lt;code&gt;Mobile Settings&lt;&#x2F;code&gt; that helps to scale down particular apps so that they fit on the screen.&lt;&#x2F;p&gt;
&lt;div class=&quot;gallery&quot; style=&quot;display:flex; flex-wrap: wrap;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;mobile_settings.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
  &lt;img src=&quot;&#x2F;images&#x2F;droidian&#x2F;mobile_settings_comp.png&quot; style=&quot;width: 15rem; padding:1rem;border-radius: 1.75rem;&quot;&gt;
&lt;&#x2F;div&gt;
&lt;h3 id=&quot;it-would-have-been-much-better-if-it-had&quot;&gt;It would have been much better if it had...&lt;&#x2F;h3&gt;
&lt;p&gt;Some features like, the semi-automatic screen rotation that android has nowadays which would show a small prompt to rotate the screen upon rotating the device but without automatically rotating it. Also, gestures in apps like video players to scroll and double taps to skip, which would make the droidian experience much better. And, maybe a qr-code scanner to connect to wifi networks.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;lastly-some-mentions&quot;&gt;Lastly, Some Mentions&lt;&#x2F;h3&gt;
&lt;p&gt;Waydroid has been a life saver for using essential video calling apps and surprisingly banking apps. But, the default waydroid experience is very buggy. It is not the fault of droidian devs though, waydroid is a completely different project.&lt;&#x2F;p&gt;
&lt;p&gt;Gnome Online Accounts made it very easy to sync my contacts saved on google contacts, calender events, emails on droidian. It also connected my google drive with &lt;code&gt;nautilus [Gnome Files]&lt;&#x2F;code&gt; making it easy to upload and access files from my drive.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;so&quot;&gt;So,&lt;&#x2F;h3&gt;
&lt;p&gt;My experience with Linux on Mobile was interesting, though it has a lot to improve, I didn&#x27;t expect it to be &quot;functional enough&quot; that I could use it for days without diving back to android. I will use this for some more days, maybe until the Gnome Asia 2023 event ends.&lt;&#x2F;p&gt;
&lt;p&gt;There is lot more to try but, I want to end this experiment for now.&lt;&#x2F;p&gt;
&lt;p&gt;Goodnight!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>My First PC Game</title>
        <published>2023-11-02T00:00:00+00:00</published>
        <updated>2023-11-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-11-02/"/>
        <id>https://scientiac.space/syndications/posse-2023-11-02/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-11-02/">&lt;p&gt;I&#x27;m not much of a gamer and haven&#x27;t gamed in a very long time even on mobile which was the only thing I had before I got my laptop.  Also, being a tinkerer, I spent most of my time tinkering with my Linux system and android custom ROMs.&lt;&#x2F;p&gt;
&lt;p&gt;Today I felt like I was missing out a lot and kinda wanted to game. Gave it a quick search and found &quot;Hollow Knight&quot; which seems like my type of game so I purchased it on steam. Might as well call it my first desktop game. It feels special.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Youtube, whatyaar!</title>
        <published>2023-10-31T00:00:00+00:00</published>
        <updated>2023-10-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/youtube-ad-blocker-blocker/"/>
        <id>https://scientiac.space/blog/youtube-ad-blocker-blocker/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/youtube-ad-blocker-blocker/">&lt;p&gt;Yaar YouTube! What&#x27;s this. Being the biggest video platform you keep degrading day by day.
The changes I&#x27;m seeing just makes me sad. You are unusable without me modifying you to an extent.
You are not the platform you used to be.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;you-ve-changed&quot;&gt;You&#x27;ve Changed!&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ad-block blocker&lt;&#x2F;strong&gt;? Seriously? How does that work? Thought we were allowed to modify the product on our end but not distribute it. Well, we were doing that and were happy with it. And what about the legality of checking the user&#x27;s system individually, but it&#x27;s expected now, you guys even forgot your first motto and even removed &quot;Don&#x27;t be evil.&quot; from you code of conduct.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removing dislike counter&lt;&#x2F;strong&gt; was a pretty bold move, wow! We heard your explanation &quot;Some people were getting harassed by the dislike spammers.&quot; who are these &quot;some people&quot; here? You yourself? Because the last YouTube rewind was prolly the most disliked video till you removed the counter. You made our life harder by removing a perfect metric to know if the video was worth watching or not.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add to queue behind paywall&lt;&#x2F;strong&gt;? Why? Why even put a perfectly fine feature that was enjoyed by the non premium users for ages suddenly behind the paywall? I have only seen it as a premium feature in mobile but I don&#x27;t think it&#x27;ll take you long to put it behind even on the website.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multiple, queued and un-skippable ads&lt;&#x2F;strong&gt;. I don&#x27;t even want to talk about them! I don&#x27;t even know if any other platform has this kind of ad system.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Start to shorts directly&lt;&#x2F;strong&gt;? This gets me furious! I did not come to YouTube to watch TikToks PERIOD.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>You and What&#x27;s on Your Mind</title>
        <published>2023-10-21T00:00:00+00:00</published>
        <updated>2023-10-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-10-20/"/>
        <id>https://scientiac.space/syndications/posse-2023-10-20/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-10-20/">&lt;p&gt;I think it&#x27;s normal to assume whats going one someone&#x27;s mind (prejudge) and make decisions based on it. Like, If I assume something about you and do something based on that assumption and you feel like I understand you, It&#x27;s a different feeling, a happy feeling. But, it&#x27;s a gamble, because what if the assumption is
incorrect, what if how I acted ruined the interaction?&lt;&#x2F;p&gt;
&lt;p&gt;So, I believe knowing a person requires a longer time then we want it to take and it will consist of mistakes and lucks that&#x27;ll slowly form a decent representation of a person in our mind. For a tech nerd like me the best example for the process of getting to know a person is like training an AI model. Like, look at how DALL.E could generate images a few years back and how it generates images in the current state.&lt;&#x2F;p&gt;
&lt;p&gt;So, yeah! We don&#x27;t know a person within a month or even an year or a lifetime because knowing is only predicting what the other mind would think and it&#x27;s constantly changing and evolving. And when we think we know a person it&#x27;s only a close enough representation of the actual person in our head compared to what they really are, similar to DALL.E making images out of probability and assumptions.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Holidays and Plans</title>
        <published>2023-10-04T00:00:00+00:00</published>
        <updated>2023-10-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-10-04/"/>
        <id>https://scientiac.space/syndications/posse-2023-10-04/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-10-04/">&lt;p&gt;3rd Semester of Computer Engineering is over now, and the vacation starts. This time, like all the semester endings, I have a lot of ideas and plans in mind and I hope to complete at least some of them if not all. Last vacation I looked into the Rust book and this holidays I want to try making a project in rust.&lt;&#x2F;p&gt;
&lt;p&gt;The other thing is that I switched from Fedora to NixOS, the Nix language and the OS&#x27;s declerativeness has gotten me interested in Haskell and functional paradigm in general. Also, lambda calculus, currying, monads and other concepts originated from functional paradigm are very interesting.&lt;&#x2F;p&gt;
&lt;p&gt;I hope to learn something flashy✨, something technical⚙ and something unique❄️ this holiday.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>NixOS: A Purely Functional Linux Distribution</title>
        <published>2023-09-27T00:00:00+00:00</published>
        <updated>2023-09-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/nixos-intro/"/>
        <id>https://scientiac.space/blog/nixos-intro/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/nixos-intro/">&lt;h2 id=&quot;there-s-a-problem&quot;&gt;There&#x27;s a Problem&lt;&#x2F;h2&gt;
&lt;p&gt;Existing package and system configuration management tools suffer from an imperative model, where system administration actions such as package upgrades or changes to system configuration files are stateful: they destructively update the state of the system.&lt;&#x2F;p&gt;
&lt;p&gt;This leads to many problems, such as the inability to roll back changes easily, to deploy multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-solution&quot;&gt;The Solution&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;A functional system configuration model.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This means, all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogous to a heap in a purely functional language.&lt;&#x2F;p&gt;
&lt;p&gt;NixOS, a non-trivial Linux distribution that uses the Nix package manager to build the entire system configuration from a modular, purely functional specification.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;nixos-features&quot;&gt;NixOs Features&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;A &lt;a href=&quot;https:&#x2F;&#x2F;reproducible-builds.org&#x2F;&quot;&gt;reproducible&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Declarative_programming&quot;&gt;declarative&lt;&#x2F;a&gt; system&lt;&#x2F;strong&gt;: This means that the operating system can be configured using a declarative system that can be reproducible in multiple devices.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Atomicity_(database_systems)&quot;&gt;Atomic&lt;&#x2F;a&gt; upgrades and rollbacks&lt;&#x2F;strong&gt;: This feature keeps track of  each time the system configuration is changed (generations) and makes it available to the user to roll back to the previous changes.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Executable&quot;&gt;Binary&lt;&#x2F;a&gt; caching&lt;&#x2F;strong&gt;: This provides a unique compromise between the binary-oriented approach used by distributions such as Debian and the &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Source_code&quot;&gt;source&lt;&#x2F;a&gt;-oriented approach used by distributions such as Gentoo. Binaries can be used for standard components, and custom-built packages and modules can be used automatically when a pre-built binary is not available.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;nixos-commands&quot;&gt;NixOS Commands&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;normal&quot;&gt;Normal&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nixos-rebuild&lt;&#x2F;strong&gt; is a command to rebuild the entire system according to the declarations in &lt;code&gt;&#x2F;etc&#x2F;nixos&#x2F;configuration.nix&lt;&#x2F;code&gt; . It consists of many flags like &lt;code&gt;switch&lt;&#x2F;code&gt;,&lt;code&gt;boot&lt;&#x2F;code&gt;,&lt;code&gt;--flakes&lt;&#x2F;code&gt; etc to specify the rebuild method.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nix-collect-garbage&lt;&#x2F;strong&gt; is a tool to clear the garbage packages (the packages which were installed during a rebuild but now are not needed for the smooth functioning of the system as per the declarations), it comes handy to clear the previous generations which are not required anymore to fallback on.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;imperative-operations&quot;&gt;Imperative Operations&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nix-shell&lt;&#x2F;strong&gt; is a (legacy) tool to spawn temporary virtual environments with packages that are not in the system. You can use &lt;code&gt;nix-shell -p git&lt;&#x2F;code&gt; you&#x27;ll be dropped into a nix-shell environment where you can use the &lt;code&gt;git&lt;&#x2F;code&gt; command and if you exit the shell the environment will be lost.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nix-env&lt;&#x2F;strong&gt; a (legacy) tool to use nix package manager in an imperative style similar to other linux distributions. You can use &lt;code&gt;nix-env -iA pkgs.firefox&lt;&#x2F;code&gt; to install firefox and keep the changes in a stateful manner.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;nix-channel&lt;&#x2F;strong&gt; a (legacy) tool to manage channels (similar to repositories), it allows to do things like changing the version of the channel that the package manager will pull from. For eg: If you want to use the latest unstable branch but you are running a stable release version of system (22.04 or similar) you can change it by using the nix-channel.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;flakes-experimental-features&quot;&gt;Flakes (Experimental Features)&lt;&#x2F;h4&gt;
&lt;p&gt;This is a feature of nix that improves reproducibility, composability and usability in the Nix ecosystem. A flake is a source tree (such as a Git repository) containing a file named &lt;code&gt;flake.nix&lt;&#x2F;code&gt; that provides a standardized interface to Nix artifacts such as packages or NixOS modules.&lt;&#x2F;p&gt;
&lt;p&gt;To enable flakes, you should add the following configuration to your &lt;code&gt;configuration.nix&lt;&#x2F;code&gt; file&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;nix&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-nix &quot;&gt;&lt;code class=&quot;language-nix&quot; data-lang=&quot;nix&quot;&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;nix &lt;&#x2F;span&gt;&lt;span style=&quot;background-color:#932b1e;color:#fdf4c1;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; {
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;package &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;pkgs&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;nixFlakes&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;extraOptions &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&amp;#39;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;      experimental-features = nix-command flakes
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;    &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;  }&lt;&#x2F;span&gt;&lt;span style=&quot;background-color:#932b1e;color:#fdf4c1;&quot;&gt;;&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In general &lt;code&gt;nix flakes&lt;&#x2F;code&gt; does the following changes to the old nix workflow:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;It &lt;strong&gt;replaces channels&lt;&#x2F;strong&gt; which was an imperative operation which diverted from the fact that NixOS was meant to be fully declarative.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Ability to lock dependencies&lt;&#x2F;strong&gt; by creating a flake.lock file ensuring reproducability.&lt;&#x2F;li&gt;
&lt;li&gt;Makes it easier to &lt;strong&gt;install external software&lt;&#x2F;strong&gt; that is  not yet packaged in NIxpkgs.&lt;&#x2F;li&gt;
&lt;li&gt;Adds a way to &lt;strong&gt;import Nix expressions from elsewhere&lt;&#x2F;strong&gt; on the internet.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;em&gt;Sources:&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;edolstra.github.io&#x2F;pubs&#x2F;nixos-jfp-final.pdf&quot;&gt;NixOS Research Paper&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;edolstra.github.io&#x2F;pubs&#x2F;nspfssd-lisa2004-final.pdf&quot;&gt;Nix Research Paper&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;nixos.org&quot;&gt;NixOS Website&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Learning Resources&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;ianthehenry.com&#x2F;posts&#x2F;how-to-learn-nix&#x2F;&quot;&gt;How to Learn Nix&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;www.tweag.io&#x2F;blog&#x2F;2020-05-25-flakes&#x2F;&quot;&gt;Intro to Nix Flakes by TWEAG&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLyzwHTVJlRc8yjlx4VR4LU5A5O44og9in&quot;&gt;The Nix Hour (Youtube)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;I will be updating more notes about nixOS on top of this &lt;a href=&quot;https:&#x2F;&#x2F;map.scientiac.space&#x2F;nodes&#x2F;nixOS&quot;&gt;map&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Time Travelling With You</title>
        <published>2023-08-16T00:00:00+00:00</published>
        <updated>2023-08-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/time-travelling-with-you/"/>
        <id>https://scientiac.space/blog/time-travelling-with-you/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/time-travelling-with-you/">&lt;p&gt;We have this plan, and it&#x27;s on my mind for a very long time. Some alone time together, far from this prejudicial society with its mythical norms. A cheat day when we break most of the &quot;said&quot; norms of the society and experience a liberal feeling. Rebels they&#x27;ll call but, we would not care about what they say.&lt;&#x2F;p&gt;
&lt;p&gt;I would be scared to write this, I have always been scared to change things up and go beyond, until you held my hand and taught to be myself, taught how I could make the things I wanted to be true, true. One can only learn by experience they said, I learned mostly from your experiences, from the mistakes you made you&#x27;d teach me, from new steps you took you&#x27;d teach me. You&#x27;d listen to me and comment on my thoughts, scold me and still let me be myself.&lt;&#x2F;p&gt;
&lt;p&gt;A few steps ahead you&#x27;d walk, showing directions and alerting me with the obstacles I&#x27;m about to face, like a mother who would taste the food herself before feeding it to her baby. I could share most of what I feel to you, and you&#x27;d have an answer to each. This day, every year you take me back to the past. A past with no judgement, a past I want to relive, recreate with you, and I am sure that we will do it someday.&lt;&#x2F;p&gt;
&lt;p&gt;Hopefully in the near future, we will travel back to that past.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>GitHub Field Day</title>
        <published>2023-08-14T00:00:00+00:00</published>
        <updated>2023-08-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-08-14/"/>
        <id>https://scientiac.space/syndications/posse-2023-08-14/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-08-14/">&lt;p&gt;I like the initiative by GitHub to bring like-minded people of tech in a single place by organising un-conferences around the globe. On one hand, I am excited to meet people like me but on the other hand, it&#x27;s GitHub(Microsoft) whose product I will become as the saying goes &quot;If you aren&#x27;t paying for the product, you are the product&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;Anyways, meeting my people is more important and about being a product, that should be handled strategically. I&#x27;ll try to include other git hosting platforms like gitlab, codeberg and forgejo whenever I say the word GitHub, think that&#x27;s more healthy.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Forwarding Ports</title>
        <published>2023-07-31T00:00:00+00:00</published>
        <updated>2023-07-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/rasp-sshforewarding/"/>
        <id>https://scientiac.space/blog/rasp-sshforewarding/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/rasp-sshforewarding/">&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h2&gt;
&lt;p&gt;Port forwarding, also known as port mapping, is a crucial networking technique that enables computers or services in private networks to establish connections over the internet or intranet with other public or private computers. It effectively transforms the port-forwarded computer into a server by linking it to the broader intranet, allowing seamless communication between internal and external networks.&lt;&#x2F;p&gt;
&lt;p&gt;When configuring port forwarding, you reserve a specific port number on the gateway exclusively for communication with a service located on a specific host within the private network. To interact with the network-internal service from outside the local network, it&#x27;s essential to know this designated port number and the gateway&#x27;s address.&lt;&#x2F;p&gt;
&lt;p&gt;The applications of port forwarding are diverse and vital for various purposes, including but not limited to:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Running a public HTTP server, enabling the hosting of websites accessible from the internet.&lt;&#x2F;li&gt;
&lt;li&gt;Permitting Secure Shell (SSH) access to a host, facilitating secure remote management and access to the system.&lt;&#x2F;li&gt;
&lt;li&gt;Allowing FTP access to a host, simplifying file transfers between systems.&lt;&#x2F;li&gt;
&lt;li&gt;Running a publicly available game server, enabling multiplayer gaming experiences across the web.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;how-to-port-forward&quot;&gt;How to port forward?&lt;&#x2F;h3&gt;
&lt;p&gt;To set up port forwarding correctly, follow these steps:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Configure a static IP address for the device you wish to forward ports to. Dynamic IP addresses may cause connectivity issues after router restarts.&lt;&#x2F;li&gt;
&lt;li&gt;Log into your router&#x27;s administration panel and navigate to the port forwarding section.&lt;&#x2F;li&gt;
&lt;li&gt;Enter the specific port numbers you want to forward, along with the static IP address of the target device.&lt;&#x2F;li&gt;
&lt;li&gt;Choose the appropriate forwarding protocol (TCP, UDP, or both) based on the requirements of the service.&lt;&#x2F;li&gt;
&lt;li&gt;Save the changes to apply the port forwarding settings.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;how-does-it-work&quot;&gt;How does it work?&lt;&#x2F;h3&gt;
&lt;p&gt;Port forwarding operates on the distinction between public and private IP addresses. A public IP address allows you to send and receive data from anywhere on the internet, while a private IP address restricts data exchange to your local network only.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;sending-data&quot;&gt;Sending Data&lt;&#x2F;h4&gt;
&lt;p&gt;When your device sends data packets, they are received by the router, which identifies the data as destined for a port-forwarded device. The router then forwards the data packet to the public IP address, making it accessible from anywhere on the internet.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;receiving-data&quot;&gt;Receiving Data&lt;&#x2F;h4&gt;
&lt;p&gt;Conversely, when a remote device sends data to your public IP address, the router intercepts the data packet and forwards it to the specific port-forwarded device within your local network, ensuring seamless receipt of the data.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-port-forward&quot;&gt;Why port forward?&lt;&#x2F;h3&gt;
&lt;p&gt;Port forwarding is essential for several reasons:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Remote Access:&lt;&#x2F;strong&gt; It enables remote access to services and devices within a private network, facilitating tasks like remote management, file access, and more.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Hosting Services:&lt;&#x2F;strong&gt; Port forwarding allows hosting servers for websites, games, and other applications, making them accessible to users over the internet.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Optimizing Connectivity:&lt;&#x2F;strong&gt; By forwarding specific ports for particular services, you can improve connectivity and reduce network congestion, leading to better performance.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;In summary, port forwarding is a powerful tool that enhances network capabilities, facilitates seamless communication between private and public networks, and empowers users to host various services and applications with ease.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>research::map</title>
        <published>2023-07-24T00:00:00+00:00</published>
        <updated>2023-07-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-07-27/"/>
        <id>https://scientiac.space/syndications/posse-2023-07-27/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-07-27/">&lt;p&gt;I created a new section called &lt;a href=&quot;https:&#x2F;&#x2F;map.scientiac.space&quot;&gt;map.scientiac.space&lt;&#x2F;a&gt; to keep track of researches and notes I create throughout my journey in the tech world. It&#x27;s integrated with my obsidian workflow so, I can easily put in and out the things I want to track which is sooo cool!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Mental Liquidity</title>
        <published>2023-06-13T00:00:00+00:00</published>
        <updated>2023-06-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-06-13/"/>
        <id>https://scientiac.space/syndications/posse-2023-06-13/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-06-13/">&lt;p&gt;I came across a &lt;a href=&quot;https:&#x2F;&#x2F;collabfund.com&#x2F;blog&#x2F;mental-liquidity&#x2F;&quot;&gt;blog&lt;&#x2F;a&gt; post about Mental Liquidity, and it got me into thinking how people do not want to change their mind, especially when it comes to generationally gapped individuals. One&#x27;s beliefs can be drastically different from the other and yet none would listen to the other and look at it from their perspective as well. Humans have evolved learning things and passing the technique that helped them survive to the new generation, so it isn&#x27;t a big deal to assume that they survived fine with those beliefs, and it is far optimal to pass on that belief than to gamble with new opinions.&lt;&#x2F;p&gt;
&lt;p&gt;Anyway, I hope it doesn&#x27;t just remain as a new term in my vocabulary. I believe that one should be able to change their mind on things, change my mind!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Project Pieyes</title>
        <published>2023-06-01T00:00:00+00:00</published>
        <updated>2023-06-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/gesture-controlled-arm/"/>
        <id>https://scientiac.space/blog/gesture-controlled-arm/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/gesture-controlled-arm/">&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;pieyes.gif&quot; alt=&quot;Pieyes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h2&gt;
&lt;p&gt;The purpose of this report is to document the process of building a CV robotic arm prototype using Arduino. The arm is designed to be controlled with natural hand gestures removing the need to look at the buttons on a screen or a controller to control it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;materials-used&quot;&gt;Materials Used:&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Arduino Uno&lt;&#x2F;li&gt;
&lt;li&gt;16 Channel Servo driver&lt;&#x2F;li&gt;
&lt;li&gt;Buck Converter&lt;&#x2F;li&gt;
&lt;li&gt;Jumper Cables&lt;&#x2F;li&gt;
&lt;li&gt;3D Printed MK2 Chassis&lt;&#x2F;li&gt;
&lt;li&gt;4 Servos&lt;&#x2F;li&gt;
&lt;li&gt;A Portable Computer with Camera&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;software-used&quot;&gt;Software Used:&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Arduino IDE V2&lt;&#x2F;li&gt;
&lt;li&gt;Python 3&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;design&quot;&gt;Design:&lt;&#x2F;h3&gt;
&lt;p&gt;The first step in building the CV controlled arm is to make a schematic of it. The arm is based on the MK2 Model, which is pretty easy to 3D-print and assemble. 4 servos are used for the base, the lower arm, the upper arm and the gripper. The servos are connected to the Servo Driver and the Servo Driver is connected to 5 volts DC power. The Arduino is used to control the Servo Driver to send PWM signals to servo.&lt;&#x2F;p&gt;
&lt;p&gt;The decisions for what signals to send for recognized gestures handled by a Python script which sends serial to Arduino via the USB. The Arduino receives the signal which is now converted to mechanical output.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;construction&quot;&gt;Construction:&lt;&#x2F;h3&gt;
&lt;p&gt;The assembly of the base is a bit tricky with gears and servos to be attached to it, but the upper part is easily attached. The four servos are placed on the right place according to MK2 schematics and are connected to 16 Channel Servo Driver. (I connected 0,2,4 and 7 as base, lower arm, upper arm and gripper respectively on the Servo Driver.) While connecting the Servo Driver to Arduino; the VCC is connected to 5 volts and Grounds of Arduino and Servo Driver are connected. From Arduino the analogue 5 pin is connected to SCL and analogue 4 pin is connected to SDA respectively.(This connects the Servo Driver to the Arduino.)&lt;&#x2F;p&gt;
&lt;p&gt;The servo diver is connected to 5 volts DC converted from 12 volts power supply using a buck converter. USB connected to the Arduino supplies power to Arduino as well as the Servo Driver but not the Servos connected to the Driver. The USB also doubles as a data transmission device to send serial input to the Arduino from the laptop running the python script.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;programming&quot;&gt;Programming&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;in-arduino&quot;&gt;In Arduino:&lt;&#x2F;h4&gt;
&lt;pre data-lang=&quot;cpp&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-cpp &quot;&gt;&lt;code class=&quot;language-cpp&quot; data-lang=&quot;cpp&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#include &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;lt;Wire.h&amp;gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#include &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;lt;Adafruit_PWMServoDriver.h&amp;gt;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; called this way, it uses the default address 0x40
&lt;&#x2F;span&gt;&lt;span&gt;Adafruit_PWMServoDriver pwm &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Adafruit_PWMServoDriver(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0x40&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#define &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;SERVOMIN &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;100   &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; This is the &amp;#39;minimum&amp;#39; pulse length count (out of 4096)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#define &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;SERVOMAX &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;450   &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; This is the &amp;#39;maximum&amp;#39; pulse length count (out of 4096)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;#define &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;SERVO_FREQ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;50  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; Analog servos run at ~50 Hz updates
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; our servo # counter
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;uint8_t&lt;&#x2F;span&gt;&lt;span&gt; servonum &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;char&lt;&#x2F;span&gt;&lt;span&gt; prevSerial &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;\0&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;char&lt;&#x2F;span&gt;&lt;span&gt; data;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; Setting the default state of the arm.
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span&gt; val1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;312&lt;&#x2F;span&gt;&lt;span&gt;, val2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;350&lt;&#x2F;span&gt;&lt;span&gt;, val3 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;174&lt;&#x2F;span&gt;&lt;span&gt;, val4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;void &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;setup&lt;&#x2F;span&gt;&lt;span&gt;() {
&lt;&#x2F;span&gt;&lt;span&gt;  Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;begin&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;  Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Running...&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;begin&lt;&#x2F;span&gt;&lt;span&gt;();
&lt;&#x2F;span&gt;&lt;span&gt;  pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setOscillatorFrequency&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;27000000&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;  pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWMFreq&lt;&#x2F;span&gt;&lt;span&gt;(SERVO_FREQ);
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;delay(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;void &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;loop&lt;&#x2F;span&gt;&lt;span&gt;() {
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;&#x2F;&#x2F; checking if serial is available or not and setting values to &amp;quot;data&amp;quot; as soon as the serial changes
&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;available&lt;&#x2F;span&gt;&lt;span&gt;() &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;    data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;read&lt;&#x2F;span&gt;&lt;span&gt;();
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;W&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMAX) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Gripper IN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val4);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;7&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val4);
&lt;&#x2F;span&gt;&lt;span&gt;        val4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;A&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMIN) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Gripper OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val4);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;7&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val4);
&lt;&#x2F;span&gt;&lt;span&gt;        val4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;-= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;Y&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMAX) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Base IN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val2);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val2);
&lt;&#x2F;span&gt;&lt;span&gt;        val2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;C&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMIN) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Base OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val2);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val2);
&lt;&#x2F;span&gt;&lt;span&gt;        val2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;-= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;B&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val3 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMAX) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Top IN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val3);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val3);
&lt;&#x2F;span&gt;&lt;span&gt;        val3 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;X&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val3 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMIN) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Top OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val3);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val3);
&lt;&#x2F;span&gt;&lt;span&gt;        val3 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;-= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;D&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMAX) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Base IN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val1);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val1);
&lt;&#x2F;span&gt;&lt;span&gt;        val1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;Z&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(val1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; SERVOMIN) {
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Base IN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;        Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(val1);
&lt;&#x2F;span&gt;&lt;span&gt;        pwm.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;setPWM&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;, val1);
&lt;&#x2F;span&gt;&lt;span&gt;        val1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;-= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span&gt;;
&lt;&#x2F;span&gt;&lt;span&gt;      }
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;(data &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;S&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;) {
&lt;&#x2F;span&gt;&lt;span&gt;      Serial.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;stop&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);
&lt;&#x2F;span&gt;&lt;span&gt;    }
&lt;&#x2F;span&gt;&lt;span&gt;  }
&lt;&#x2F;span&gt;&lt;span&gt;}
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;in-laptop&quot;&gt;In Laptop:&lt;&#x2F;h4&gt;
&lt;pre data-lang=&quot;py&quot; style=&quot;background-color:#282828;color:#fdf4c1aa;&quot; class=&quot;language-py &quot;&gt;&lt;code class=&quot;language-py&quot; data-lang=&quot;py&quot;&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;#!&#x2F;bin&#x2F;python
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;cv2
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;mediapipe &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;mp
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;math
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;from &lt;&#x2F;span&gt;&lt;span&gt;serial &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;import &lt;&#x2F;span&gt;&lt;span&gt;Serial
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;mp_drawing &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;mp.solutions.drawing_utils
&lt;&#x2F;span&gt;&lt;span&gt;mp_hands &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;mp.solutions.hands
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;calculate_distance&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;x1&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;y1&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;x2&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;y2&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;math.sqrt((x2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;x1)&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;**&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(y2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;y1)&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;**&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;is_fist&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;landmarks&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Check if all finger tips are below their corresponding middle joints
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span&gt;(
&lt;&#x2F;span&gt;&lt;span&gt;        landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;THUMB_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;THUMB_IP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and
&lt;&#x2F;span&gt;&lt;span&gt;        landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and
&lt;&#x2F;span&gt;&lt;span&gt;        landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MIDDLE_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MIDDLE_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and
&lt;&#x2F;span&gt;&lt;span&gt;        landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;RING_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;RING_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and
&lt;&#x2F;span&gt;&lt;span&gt;        landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;PINKY_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;PINKY_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y
&lt;&#x2F;span&gt;&lt;span&gt;    )
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;get_hand_side&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;landmarks&lt;&#x2F;span&gt;&lt;span&gt;):
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Check if the wrist is to the left or right of the index finger tip
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;WRIST&lt;&#x2F;span&gt;&lt;span&gt;].x &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].x:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Left&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;else&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;return &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Right&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;def &lt;&#x2F;span&gt;&lt;span style=&quot;color:#8ec07c;&quot;&gt;main&lt;&#x2F;span&gt;&lt;span&gt;():
&lt;&#x2F;span&gt;&lt;span&gt;    cap &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.VideoCapture(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;with &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;mp_hands.Hands(max_num_hands&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;as &lt;&#x2F;span&gt;&lt;span&gt;hands:
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;while &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cap.isOpened()&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;            ret, frame &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cap.read()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span&gt;ret:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Unable to capture frame.&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;break
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Flip the frame horizontally to mirror the image
&lt;&#x2F;span&gt;&lt;span&gt;            frame &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.flip(frame, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Convert the image from BGR to RGB
&lt;&#x2F;span&gt;&lt;span&gt;            image_rgb &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Process the image with MediaPipe Hands
&lt;&#x2F;span&gt;&lt;span&gt;            results &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;hands.process(image_rgb)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Check for hand landmarks
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;results.multi_hand_landmarks:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;for &lt;&#x2F;span&gt;&lt;span&gt;hand_landmarks &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;in &lt;&#x2F;span&gt;&lt;span&gt;results.multi_hand_landmarks:
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Draw hand landmarks on the image
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;mp_drawing.draw_landmarks(frame, hand_landmarks, mp_hands.HAND_CONNECTIONS)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Get the coordinates of the index finger and thumb landmarks
&lt;&#x2F;span&gt;&lt;span&gt;                    index_finger &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;hand_landmarks.landmark[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;                    thumb &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;hand_landmarks.landmark[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;THUMB_TIP&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;                    wrist &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;hand_landmarks.landmark[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;WRIST&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Convert landmark coordinates to pixel values
&lt;&#x2F;span&gt;&lt;span&gt;                    height, width, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;_ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;frame.shape
&lt;&#x2F;span&gt;&lt;span&gt;                    x1, y1 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(index_finger.x &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;* &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;width)&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(index_finger.y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;* &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;height)
&lt;&#x2F;span&gt;&lt;span&gt;                    x2, y2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(thumb.x &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;* &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;width)&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(thumb.y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;* &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;height)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Calculate the distance between the index finger and thumb
&lt;&#x2F;span&gt;&lt;span&gt;                    distance &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;calculate_distance(x1, y1, x2, y2)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Count the number of fingers that are up
&lt;&#x2F;span&gt;&lt;span&gt;                    fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0
&lt;&#x2F;span&gt;&lt;span&gt;                    landmarks &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;hand_landmarks.landmark
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;THUMB_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;THUMB_IP&lt;&#x2F;span&gt;&lt;span&gt;].y:
&lt;&#x2F;span&gt;&lt;span&gt;                        fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;INDEX_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y:
&lt;&#x2F;span&gt;&lt;span&gt;                        fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MIDDLE_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;MIDDLE_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y:
&lt;&#x2F;span&gt;&lt;span&gt;                        fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;RING_FINGER_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;RING_FINGER_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y:
&lt;&#x2F;span&gt;&lt;span&gt;                        fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;PINKY_TIP&lt;&#x2F;span&gt;&lt;span&gt;].y &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span&gt;landmarks[mp_hands.HandLandmark.&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;PINKY_PIP&lt;&#x2F;span&gt;&lt;span&gt;].y:
&lt;&#x2F;span&gt;&lt;span&gt;                        fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;+= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Determine if the hand is right or left
&lt;&#x2F;span&gt;&lt;span&gt;                    hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;get_hand_side(hand_landmarks.landmark)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Determine if there is a fist or not
&lt;&#x2F;span&gt;&lt;span&gt;                    is_hand_fist &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;is_fist(hand_landmarks.landmark)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Display the number of fingers, distance, hand side, and fist status on the image
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.putText(frame, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(fingers_up), (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;30&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), cv2.FONT_HERSHEY_SIMPLEX, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;255&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.putText(frame, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(distance)), (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;70&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), cv2.FONT_HERSHEY_SIMPLEX, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;255&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.putText(frame, hand_side, (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;110&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), cv2.FONT_HERSHEY_SIMPLEX, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;255&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.putText(frame, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(is_hand_fist), (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;150&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), cv2.FONT_HERSHEY_SIMPLEX, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, (&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;255&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;), &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Combine the values
&lt;&#x2F;span&gt;&lt;span&gt;                    combined_values &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span&gt;[fingers_up, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;int&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(distance)&lt;&#x2F;span&gt;&lt;span&gt;, hand_side, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;str&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(is_hand_fist)&lt;&#x2F;span&gt;&lt;span&gt;]
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Print the combined values
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(combined_values)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Print the corresponding letter based on the conditions
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;distance &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;lt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;60&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Gripper IN&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)                    
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;A&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;2 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;distance &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;gt; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;60&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Gripper OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;W&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Right&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and not &lt;&#x2F;span&gt;&lt;span&gt;is_hand_fist:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Base IN&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;C&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;4 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Left&amp;quot; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and not &lt;&#x2F;span&gt;&lt;span&gt;is_hand_fist:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Base OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;Y&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span&gt;is_hand_fist &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Top IN&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;B&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;not &lt;&#x2F;span&gt;&lt;span&gt;is_hand_fist &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Arm Top OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;X&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;5 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Right&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Base IN&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;D&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;elif &lt;&#x2F;span&gt;&lt;span&gt;fingers_up &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;5 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;and &lt;&#x2F;span&gt;&lt;span&gt;hand_side &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Left&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;Base OUT&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;Z&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;else&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;quot;STOP&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        input_value &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;S&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                        ardu &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;Serial(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;&#x2F;dev&#x2F;ttyUSB0&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;9600&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, timeout&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;                        &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;ardu.write(input_value.encode())
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Display the mirrored image with landmarks
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.imshow(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;Finger Tracking&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;, frame)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#928374;&quot;&gt;# Exit loop when &amp;#39;q&amp;#39; is pressed
&lt;&#x2F;span&gt;&lt;span&gt;            &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.waitKey(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;&amp;amp; &lt;&#x2F;span&gt;&lt;span style=&quot;color:#d3869b;&quot;&gt;0xFF &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;ord&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;q&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;                &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;break
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cap.release()
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;cv2.destroyAllWindows()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#fa5c4b;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fabd2f;&quot;&gt;__name__ &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fe8019;&quot;&gt;== &lt;&#x2F;span&gt;&lt;span style=&quot;color:#b8bb26;&quot;&gt;&amp;#39;__main__&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;:
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#fdf4c1;&quot;&gt;main()
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;testing&quot;&gt;Testing:&lt;&#x2F;h3&gt;
&lt;p&gt;The arm was completed, and it was time to test it. The servos were connected to power supply and the USB was connected to the Arduino. With the necessary code uploaded to the Arduino, the python script was run, and hand gestures were read from the computer which then converted to Serial signals and the code in Arduino interprets those Serial signals as per the uploaded code. Here, in the first trial reading the Front and Back side of the hand gave same results, I replaced the code for Left and Right aligned hand, which showed Right when I showed my right-hand palm to the Camera, and left when I showed my right-hand back to the camera, and vice-versa for the left hand. Which fixed the issue.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;challenges-and-solutions&quot;&gt;Challenges and Solutions:&lt;&#x2F;h3&gt;
&lt;p&gt;There were not many challenges to make a working prototype which my arm is at the moment. But further improvement on the gestures are going to be challenging like; to read and interpret natural human arm movements in digital form and to match the movement of robot arm with an actual human arm.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion:&lt;&#x2F;h3&gt;
&lt;p&gt;In conclusion, the CV robotic arm is a working prototype for better control of devices requiring less time to adapt. It helps people to be familiar with using complex devices like robotic arm in a very short period of time.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Polyphasic Sleep: Analysis</title>
        <published>2023-05-09T00:00:00+00:00</published>
        <updated>2023-05-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/polyphasic-sleep/"/>
        <id>https://scientiac.space/blog/polyphasic-sleep/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/polyphasic-sleep/">&lt;h2 id=&quot;a-different-take-on-sleeping-habit&quot;&gt;A different take on sleeping habit.&lt;&#x2F;h2&gt;
&lt;p&gt;Polyphasic sleep is the practice of sleeping during multiple periods over the course of 24 hours, in contrast to monophasic sleep, which is one period of sleep within 24 hours. There are different kinds of sleeping habits where the most followed schedule specially in my country and also in the whole world is the monophasic sleep.&lt;&#x2F;p&gt;
&lt;p&gt;We usually sleep at night and work in the day in big chunks. Humans evolved as a diurnal (active during the day) species; we don’t see especially well during the night, and the hunting method that helped early humans catch large prey, which saw groups track them to exhaustion, works best if you can see where you’re going. It is safe to say that it&#x27;s an evolutionary advantage, or is it?&lt;&#x2F;p&gt;
&lt;p&gt;I got interested in polyphasic sleep after the video from &lt;a href=&quot;https:&#x2F;&#x2F;youtu.be&#x2F;OuizzRCALCU&quot;&gt;No Boilerplate&lt;&#x2F;a&gt;. Though I haven&#x27;t yet started to implement it. I have been researching about it extensively. I am a student with classes from 10:00 to 17:00 every day excluding Saturday as the weekend. So, my sleeping habits should be managed according to that schedule. And attending club events and working there after the college time, I have to cram in some sleep into the busy schedule.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why&quot;&gt;Why ?&lt;&#x2F;h3&gt;
&lt;p&gt;Computer Engineering has been an experience till now. This first year I failed miserably, the two semesters went by so fast, I wasn&#x27;t able to do much except tinker around with this site and procrastinate by writing poems when I had time. 6 subjects in the first semester and 5 in the second, these were basic subjects but now in the third semester things are not going to be easy as it was before. 7 core subjects in 5 months is not very easy to handle. Especially being the class representative who has to manage class schedules, inform the whole class about notices, maintain the teacher-class relation, be available for almost anything regarding the class anytime and unfortunately should be okay with getting calls from unknown numbers any time of the day, which sometimes gets very frustrating.&lt;&#x2F;p&gt;
&lt;p&gt;Enough of the rant, I need to manage time, and it should not be like how I did in the first year, It was a mess. I need my working time to be the maximum amount and that means the sleep time should be the minimum healthy amount without it making me sick and unproductive. And I see polyphasic sleep as one of the ways to tackle that problem.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;what&quot;&gt;What ?&lt;&#x2F;h3&gt;
&lt;p&gt;Polyphasic sleeping generally tends rely on the observation that our brain only gets about 2 hours of REM in every night of sleep. Hence, the main goal is to fall asleep to the REM phase and not waste time in deep sleep which is the rest of the time spent on sleep. Deep sleep is considered restful for the body but no more than waking forms of rest. Hence, the difficult part is to get to the REM sleep instantly.&lt;&#x2F;p&gt;
&lt;p&gt;There are many schedules for polyphasic sleep; biphasic, everyman, dual core, tri core, core only, nap only, flexible and non-reducing. Which have their own benefit and time constrains. Most of these are either very difficult to follow or do not work with my schedule and the schedules like Uberman and Dymaxion are very very difficult to follow but not impossible.&lt;&#x2F;p&gt;
&lt;p&gt;Scientist, artist, engineer, and inventor Leonardo da Vinci, who lived from 1452 to 1519, reportedly used an Uberman schedule to sleep for 20 minutes every four hours. Other engineers and inventors may have applied this unconventional sleep pattern, such as Nikola Tesla, who lived from 1856 to 1943. Though this sleeping schedule never quite took hold among the general public, polyphasic sleep rose in prominence in the 1940s as inventor Buckminster Fuller touted his Dymaxion method, which was four equidistant 30m naps taken every 6 hours, totaling only 2h of sleep a day.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;which&quot;&gt;Which ?&lt;&#x2F;h3&gt;
&lt;p&gt;According to my routine I am leaning toward the Everyman Schedules. Particularly the alternate variant of the Everyman Two Schedule &lt;em&gt;somewhat equidistant&lt;&#x2F;em&gt; which is one of the rarest Everyman Two scheduling options. According to &lt;a href=&quot;https:&#x2F;&#x2F;www.polyphasic.net&#x2F;everyman-2&#x2F;&quot;&gt;polyphasic.net&lt;&#x2F;a&gt;, The ideas behind this scheduling option are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Use the core as a blanket duration to stay awake until very late morning hours (close to noon&#x2F;lunch break).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Once adapted, the night will feel much shorter as there is more time awake until almost noon. The core usually starts around midnight or slightly earlier; this trait can resemble certain reduced monophasic lifestyles with a very early morning wake time.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Though I can&#x27;t follow the exact schedule, I am thinking of modifying it in a way that fits with my daily routine.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;modifications&quot;&gt;Modifications ?&lt;&#x2F;h3&gt;
&lt;p&gt;Unmodified &lt;em&gt;Everyman Two: Somewhat Equidistant&lt;&#x2F;em&gt; variant:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  Core Sleep : 00:00 - 04:30 (4hours and 30 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;  Nap I      : 10:30 - 10:50 (20 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;  Nap II     : 17:00 - 17:20 (20 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  Total Sleep: 5 hours and 10 minutes
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;My variant:&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  Core Sleep :  00:00 - 04:30 (4hours and 30 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;  Nap I      :  08:30 - 08:50 (20 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;  Midday Nap :    ~ 14:00 ~   (20 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;  Nap II     :  18:00 - 18:20 (20 minutes)
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;  Total Sleep: 5 hours and 30 minutes
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;so&quot;&gt;So ?&lt;&#x2F;h3&gt;
&lt;p&gt;Adaptation is the most difficult thing to start anything. There are recommendations to jump start adaptation like; &lt;em&gt;staying awake before starting&lt;&#x2F;em&gt;, &lt;em&gt;naptation&lt;&#x2F;em&gt; and &lt;em&gt;cold turkey&lt;&#x2F;em&gt;. This is just me analyzing the possibilities. I&#x27;ll write another article about it if I fail or succeed in the adaptation. Until then, goodnight!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Officially a Space Explorer</title>
        <published>2023-05-03T00:00:00+00:00</published>
        <updated>2023-05-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-05-03/"/>
        <id>https://scientiac.space/syndications/posse-2023-05-03/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-05-03/">&lt;center&gt;
&lt;p&gt;&lt;strong&gt;Domain&lt;&#x2F;strong&gt;&lt;br &#x2F;&gt;
&lt;code&gt;dō-mān′&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
&lt;ol&gt;
&lt;li&gt;A territory over which rule or control is exercised.&lt;&#x2F;li&gt;
&lt;li&gt;A sphere of activity, influence, or knowledge: synonym: field.&lt;&#x2F;li&gt;
&lt;li&gt;The set of all possible values of an independent variable of a function.&lt;&#x2F;li&gt;
&lt;li&gt;An open connected set that contains at least one point.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Yep! I have my own domain now. My own territory, my own space, &lt;a href=&quot;https:&#x2F;&#x2F;scientiac.space&quot;&gt;scientiac.space&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Eww! Yuck!</title>
        <published>2023-05-02T00:00:00+00:00</published>
        <updated>2023-05-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-05-02/"/>
        <id>https://scientiac.space/syndications/posse-2023-05-02/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-05-02/">&lt;p&gt;Gnome is officially out of the system now. I loved it but I love hyprland better now. Anyways, the consistency with GTK apps was what I liked about it and the essence of that still remains in hyprland with EWW which is configured in yuck, hence the title.&lt;&#x2F;p&gt;
&lt;p&gt;EWW works as almost all the things, but some standalone apps are still better to have, so I have used swaync as the notification daemon and rofi-wayland as the launcher. Overall the system is pretty usable now, and I just love hyprland&#x27;s animations.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Chapter Two: Sophomore</title>
        <published>2023-04-30T00:00:00+00:00</published>
        <updated>2023-04-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-30/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-30/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-30/">&lt;p&gt;Yes! The freshman year is over now. And I already feel like I have more responsibilities than usual. It feels good for some time until the feeling that you&#x27;re getting old hits you. This year passed with a blink of an eye, I remember getting inside the college and feeling exited about what I was going to be. Let&#x27;s see how the life as a middle child in the college goes. Wow! Three more binks and I&#x27;ll be a graduate, it&#x27;s scary.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Exponential Fluctuations</title>
        <published>2023-04-29T00:00:00+00:00</published>
        <updated>2023-04-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-29-second/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-29-second/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-29-second/">&lt;center&gt;
&lt;p&gt;Sometimes It&#x27;s the end of the world,&lt;br &#x2F;&gt;
sometimes MEH! It is what it is.&lt;br &#x2F;&gt;
The same thing kills you sometimes,&lt;br &#x2F;&gt;
and sometimes it makes you fly.&lt;br &#x2F;&gt;
It&#x27;s never neutral, never stable,&lt;br &#x2F;&gt;
never in an equilibrium.&lt;br &#x2F;&gt;
6 hours worth of contemplation,&lt;br &#x2F;&gt;
a minute will change it all.&lt;&#x2F;p&gt;
&lt;&#x2F;center&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Experimenting with Feelings</title>
        <published>2023-04-29T00:00:00+00:00</published>
        <updated>2023-04-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-29/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-29/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-29/">&lt;p&gt;Yeah! Yeah! Yeah! This is one of those hot takes on &quot;Love&quot; ooOooh!!&lt;&#x2F;p&gt;
&lt;p&gt;Human nature is weird. Like, how someone would behave when they feel like they&#x27;re loved and how the behavior would change when they feel like they are indifferent to them. It&#x27;s quite fascinating that the behavioral and psychological pattern change, how cute turns into offensive and feelings turn into conscious infatuation. Apparently hope plays quite a big role in it. One could argue that &quot;love&quot; is nothing but just hopefulness. And when one gets hopeless, everybody knows how that goes.&lt;&#x2F;p&gt;
&lt;p&gt;This is neither a paper nor a thesis, it&#x27;s just my take on love today. So, I suppose it&#x27;s better incomplete and a hot take than a &quot;WHAT I SAY IS ALWAYS TRUE&quot; of a vibe. Bye!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Project Firefly</title>
        <published>2023-04-28T00:00:00+00:00</published>
        <updated>2023-04-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/arduino-firefly/"/>
        <id>https://scientiac.space/blog/arduino-firefly/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/arduino-firefly/">&lt;p&gt;&lt;img src=&quot;&#x2F;images&#x2F;firefly.jpg&quot; alt=&quot;Firefly&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h2&gt;
&lt;p&gt;The purpose of this report is to document the process of building a fire extinguishing and gas sensing car using Arduino. The car is designed to detect fire using a flame IR sensor and go towards it to extinguish it if necessary. It also detects gas leaks and alerts the user via SMS. This report will detail the steps taken to design and build the car, as well as the challenges encountered and the solutions implemented.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;materials-used&quot;&gt;Materials Used:&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;Arduino Uno&lt;&#x2F;li&gt;
&lt;li&gt;3 Flame IR Sensors&lt;&#x2F;li&gt;
&lt;li&gt;MQ-2 Gas Sensor&lt;&#x2F;li&gt;
&lt;li&gt;Motor Driver&lt;&#x2F;li&gt;
&lt;li&gt;2 DC Motor&lt;&#x2F;li&gt;
&lt;li&gt;Servo Motor&lt;&#x2F;li&gt;
&lt;li&gt;Water Pump&lt;&#x2F;li&gt;
&lt;li&gt;Fire Extinguisher (tested with water)&lt;&#x2F;li&gt;
&lt;li&gt;SIM800L GSM Module&lt;&#x2F;li&gt;
&lt;li&gt;Breadboard and Jumper Wires&lt;&#x2F;li&gt;
&lt;li&gt;Power Supply (Battery)&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;design&quot;&gt;Design:&lt;&#x2F;h3&gt;
&lt;p&gt;The first step in building the fire extinguishing and gas sensing car was to design a schematic. The car is powered by an Arduino Uno microcontroller, which controls the sensors, motors, and other components. The 3 flame IR sensors are used to detect fire from three different directions, and the MQ-2 gas sensor is used to detect gas leaks. The motor driver is used to control the DC and servo motors, which drive the car and the water pump, respectively. The fire extinguisher reservoir is mounted on top of the car and the pump pushes the extinguisher from the pipe which is spread by the back-and-forth motion of the servo motor. The SIM800L GSM module is used to send SMS alerts to the user in case of a gas leak.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;construction&quot;&gt;Construction:&lt;&#x2F;h3&gt;
&lt;p&gt;Once the schematic was finalized, the next step was to build the car. The components were connected to the Arduino Uno using a breadboard and jumper wires. The flame IR sensors were mounted on the front of the car on in the front and two facing either sides, and the MQ-2 gas sensor was mounted on top. The DC motors were connected to the motor driver and were used to drive the car. The servo motor was connected to the L298N motor driver and was connected to the fire extinguisher. The water pump was connected to the Arduino Uno and was used to pump water from the reservoir to the fire extinguisher which moved in a to and fro motion to spread the water coming out of it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;testing&quot;&gt;Testing:&lt;&#x2F;h3&gt;
&lt;p&gt;Once the car was built, it was time to test it. The car was placed in a test environment and was subjected to various scenarios. The flame IR sensor was able to detect fire and direct the car towards it. The MQ-2 gas sensor was able to detect gas leaks and activate the SMS alert system. The fire extinguisher was successfully activated by the servo motor, and the water pump was able to pump water to the fire extinguisher.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;challenges-and-solutions&quot;&gt;Challenges and Solutions:&lt;&#x2F;h3&gt;
&lt;p&gt;One of the major challenges encountered during the construction of the car was the calibration of the flame IR sensor. The sensor needed to be calibrated to detect the flame accurately and direct the car towards it. The heater connected to our room was also detected as a fire source which made it harder to test the bot. This was solved by testing the sensor with different fire sources and adjusting the code accordingly. Our test subject for demonstration was a burning paper which was used for the calibration of flame sensor.&lt;&#x2F;p&gt;
&lt;p&gt;Another challenge was the activation of the fire extinguisher. The servo motor had to be calibrated to activate the extinguisher at the right time, and the water pump had to pump the water at the right pressure. This was solved by adjusting the code and the components until the system worked correctly.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion:&lt;&#x2F;h3&gt;
&lt;p&gt;In conclusion, the fire extinguishing and gas sensing car using Arduino is a useful device that can prevent fires and detect gas leaks. The car is powered by an Arduino Uno microcontroller and uses sensors, motors, and other components to perform its functions. The car was designed and built with the help of a schematic, and was tested successfully. The challenges encountered during the construction were solved by adjusting the code and the components. The car can be further improved by adding more sensors and refining the code as the SMS functionality was still flaky.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Some Fleabag</title>
        <published>2023-04-28T00:00:00+00:00</published>
        <updated>2023-04-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-28/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-28/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-28/">&lt;p&gt;I kinda binged fleabag and it was quite awesome. It&#x27;s more of a six-hour movie than a show, I&#x27;d say. I had watched season 1 and season 2 wasn&#x27;t difficult to finish. This is one of those series which I hated the first season, and it made my mind with the second. It&#x27;s a masterpiece as it ended with an actual ending and wasn&#x27;t extended due to public demand or just money.&lt;&#x2F;p&gt;
&lt;p&gt;Yeah! The fact that it ended is my second favorite thing about the show.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Continuing the Redesign</title>
        <published>2023-04-27T00:00:00+00:00</published>
        <updated>2023-04-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-27/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-27/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-27/">&lt;p&gt;I made link previews, made logo dynamic with color changes, stylized POSSE views and little improvements like: isolating readable.css and improving the paginator layout.&lt;&#x2F;p&gt;
&lt;p&gt;And talking about my achievement today, I unlocked a pimple on my face due to sleeplessness. Yayyyy!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Second Day</title>
        <published>2023-04-26T00:00:00+00:00</published>
        <updated>2023-04-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-26/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-26/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-26/">&lt;p&gt;This is day two of redesigning the site, it is going fine, I added designs, and it&#x27;s cool now. Some new fonts and SVG backgrounds, and we have a completely different design. I&#x27;m loving it. My favorite theme if you ask is everforest-dark every time.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Life, Love, Twilight and a Butterfly</title>
        <published>2023-04-25T00:00:00+00:00</published>
        <updated>2023-04-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/life-love-twilight-and-a-butterfly/"/>
        <id>https://scientiac.space/blog/life-love-twilight-and-a-butterfly/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/life-love-twilight-and-a-butterfly/">&lt;p&gt;I&#x27;ve seen life in terms of science. Always tend to prefer science&#x27;s explanation better than any reasoning one might give to life. Because it makes sense. The relief of knowing the end. Believing in what might happen in the last moments. My preferred answers to all the things is scientific, that gives me the relief that it&#x27;ll be true most of the time.&lt;&#x2F;p&gt;
&lt;p&gt;Yet science fails sometimes. The tried, and tested methods might not be applicable, something that happens regularly doesn&#x27;t make it true. Consciously and subconsciously, I am still speaking of what science has proven. It has proven itself to be wrong most of the time. That, something should not be thought as one universal truth, but rather a possible truth for the current instance of time.&lt;&#x2F;p&gt;
&lt;p&gt;Looking outside the window, hearing the barking dogs, the sky is cloudy and it&#x27;s mildly raining. The streetlights are glowing everywhere, though it&#x27;s a moonless night, the world is still bright with life. The world around me is sleeping, it&#x27;s silent, I can hear each raindrop individually, the insects chirping, the wind and my heartbeat. A mosquito is flying around me, with its own goals, to get food, to get energy, to continue itself and preserve its kind. I have a different goal, to kill the mosquito and sleep well. Life&#x27;s keeping us both alive and awake in this night when everyone is sleeping and consciously dead. Everything is keeping me awake. Myself, the mosquito, the weather, the light outside my house, my phone and many unknown unknowns.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve read self-help books, I&#x27;ve watched a lot of talks about achievements and ideas and life, and I get inspired by it. But it doesn&#x27;t last long. Newton&#x27;s first law of motion said, &quot;An object at rest tends to remain at rest, and a moving object tends to remain in motion in a straight line with constant speed.&quot; Similarly, I tend to remain in the same state of what I am despite being motivated for some time. This whole analogy is faulty because scientifically an object in motion tends to remain in motion in a straight path, unless an external force acts on it. So, technically the reads and talks should have been impacting the whole trajectory of my life, and I surely can say that It hasn&#x27;t impacted enough to make a difference. The self-help books truly were written for self-help, their own self, like I am writing this piece right now for myself.&lt;&#x2F;p&gt;
&lt;p&gt;Sometimes, you&#x27;ll never know the correct answer. It&#x27;s fine to not know something, it&#x27;s fine to not know anything but, the realization that you will never know something is devastating. It&#x27;s the feeling of realization that you will never be able to get the thing you wished for. Life changes stories, one changes dreams, like science changes its truth over time.&lt;&#x2F;p&gt;
&lt;p&gt;Some sleepless nights can get you what you want, others just take life away a tad faster. This one is the latter, the one that has no meaning, there&#x27;s no achievement, it&#x27;s just an unhealthy sleepless night. I need to sleep, I feel like sleeping, sleeping until a new day arrives, a whole new life waiting for me to sleep, so it can get to me even faster.&lt;&#x2F;p&gt;
&lt;p&gt;People have explained life in different ways, how love fills it with joy, how having a friend makes it a lot easier to live, how some achievement may make you want to live a bit more. But I particularly like the way nature has taught us. If you cut the cocoon of a butterfly to let it come out of it easily, giving it love and all the care you could give, it will die, not being able to flap its wings, unable to take a flight, unable to live a life, unable to figure out things, unable to find a way to contribute to the world, unable to find a way to live longer and never getting the chance to bring more life like its own to the world.&lt;&#x2F;p&gt;
&lt;p&gt;Loving an unborn butterfly is cruel, and loving a flying butterfly is stupid. One can only admire its beauty seeing it roam around the flowers, living dodging and ducking the predators and finding its own world to live, a life it wanted, not a life you wanted it to have, not a life you thought would be better, not a life with you and your unintentionally cruel love.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>POSSE</title>
        <published>2023-04-25T00:00:00+00:00</published>
        <updated>2023-04-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/syndications/posse-2023-04-25/"/>
        <id>https://scientiac.space/syndications/posse-2023-04-25/</id>
        
        <content type="html" xml:base="https://scientiac.space/syndications/posse-2023-04-25/">&lt;p&gt;So, this is the mini-blog thingy that I was planning to make for some time now. And maybe I&#x27;ll share my thoughts following POSSE (Publish on your Own Site, Syndicate Elsewhere) and share the link to this to everywhere else. I have an RSS feed for this, which I&#x27;ll try to use for fetching and scripting if needed and anybody can just use it normally as intended as well.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>I Do Not Know</title>
        <published>2023-04-08T00:00:00+00:00</published>
        <updated>2023-04-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/i-do-not-know/"/>
        <id>https://scientiac.space/blog/i-do-not-know/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/i-do-not-know/">&lt;p&gt;I wish my wish never comes true,&lt;br &#x2F;&gt;
and this life I was never born to,&lt;br &#x2F;&gt;
that the bang had never happened,&lt;br &#x2F;&gt;
and I could see the true present.&lt;&#x2F;p&gt;
&lt;p&gt;I wish for God&#x27;s free will to play,&lt;br &#x2F;&gt;
and I lost half my life each day,&lt;br &#x2F;&gt;
that I knew the unknown unknowns,&lt;br &#x2F;&gt;
could borrow the time, like a loan.&lt;&#x2F;p&gt;
&lt;p&gt;Wish I could move the immovable,&lt;br &#x2F;&gt;
want to be in the top of the world,&lt;br &#x2F;&gt;
wish I could travel back in time,&lt;br &#x2F;&gt;
and for I could undo my crimes.&lt;&#x2F;p&gt;
&lt;p&gt;I could make everyone agree,&lt;br &#x2F;&gt;
and could control what I see,&lt;br &#x2F;&gt;
control minds, mine and then others,&lt;br &#x2F;&gt;
visualize what all universe covers,&lt;&#x2F;p&gt;
&lt;p&gt;Learn a lesson with no failure,&lt;br &#x2F;&gt;
to every problem, there was a cure,&lt;br &#x2F;&gt;
wishes came true, when I want to,&lt;br &#x2F;&gt;
the night, bright and the day was blue.&lt;&#x2F;p&gt;
&lt;p&gt;Wish I knew each name and face,&lt;br &#x2F;&gt;
no knowledge left for me to chase,&lt;br &#x2F;&gt;
wish to move mountains with ease,&lt;br &#x2F;&gt;
and make the impossibles a breeze.&lt;&#x2F;p&gt;
&lt;p&gt;To swim, in the depths of the sun,&lt;br &#x2F;&gt;
and rewrite the laws that have begun,&lt;br &#x2F;&gt;
wish to be both here and there,&lt;br &#x2F;&gt;
to travel beyond without a care.&lt;&#x2F;p&gt;
&lt;p&gt;To know everything without learning,&lt;br &#x2F;&gt;
and forget nothing without burning,&lt;br &#x2F;&gt;
but as I wish for things so grand,&lt;br &#x2F;&gt;
I feel the weight of time and sand.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll grasp at straws and hold onto hope,&lt;br &#x2F;&gt;
that someday, somehow, I&#x27;ll learn to cope,&lt;br &#x2F;&gt;
for wishes alone just cannot bring,&lt;br &#x2F;&gt;
the power to do impossible things.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Indistinct</title>
        <published>2023-04-08T00:00:00+00:00</published>
        <updated>2023-04-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/indistinct/"/>
        <id>https://scientiac.space/blog/indistinct/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/indistinct/">&lt;p&gt;Paths were taken, decisions were made.&lt;br &#x2F;&gt;
Personality and values were given up.&lt;br &#x2F;&gt;
Being different to being a different person.&lt;br &#x2F;&gt;
Blended into same colors not existing anymore.&lt;br &#x2F;&gt;
What happened to doing things differently?&lt;br &#x2F;&gt;
What happened to not being influenced?&lt;&#x2F;p&gt;
&lt;p&gt;A small possibility, it was enough.&lt;br &#x2F;&gt;
Unique, new unknowns and histories explored.&lt;br &#x2F;&gt;
Learning new things to learning it wrong.&lt;br &#x2F;&gt;
Being morphed into what the past lamented.&lt;br &#x2F;&gt;
What became of not turning into them?&lt;br &#x2F;&gt;
What became of never letting oneself go?&lt;&#x2F;p&gt;
&lt;p&gt;Lessons were learned, time was spent.&lt;br &#x2F;&gt;
Tested were things and sure they were fun.&lt;br &#x2F;&gt;
From growing up to wishing of glowing up.&lt;br &#x2F;&gt;
Becoming the mirror one never wanted to see.&lt;br &#x2F;&gt;
What happened to being the better one?&lt;br &#x2F;&gt;
What happened to no further breaking hearts?&lt;&#x2F;p&gt;
&lt;p&gt;Lies were told, as they got out of sight.&lt;br &#x2F;&gt;
Promises were broken as time passed by.&lt;br &#x2F;&gt;
Being indistinct to gradually losing the links.&lt;br &#x2F;&gt;
Forms altering from a somebody to no one.&lt;br &#x2F;&gt;
What remained of the one who did care?&lt;br &#x2F;&gt;
What remained of the person you strove to become?&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Compulsion</title>
        <published>2023-04-02T00:00:00+00:00</published>
        <updated>2023-04-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/compulsion/"/>
        <id>https://scientiac.space/blog/compulsion/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/compulsion/">&lt;p&gt;It&#x27;s fun for the first time, no joke is funny twice.&lt;br &#x2F;&gt;
A mistake for the first time, crime if is done twice.&lt;br &#x2F;&gt;
Sacrifice for the first time, all fine till it&#x27;s twice.&lt;br &#x2F;&gt;
Say love for the first time, a lie if it&#x27;s said twice.&lt;&#x2F;p&gt;
&lt;p&gt;A chicken crossed the road, gets me each time.&lt;br &#x2F;&gt;
Drugs would be erasers, if mistakes were crime.&lt;br &#x2F;&gt;
A pencil gets sharper, sacrificing self each time.&lt;br &#x2F;&gt;
Mothers fall in love twice, don&#x27;t agree? Ask mine.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s easier to hold on, more easy to let go.&lt;br &#x2F;&gt;
It&#x27;s easier to move fast, more easy to take slow.&lt;br &#x2F;&gt;
Decision, it&#x27;s easy but, it is easier to make no.&lt;br &#x2F;&gt;
It&#x27;s easier to build it up, more easy is to blow.&lt;&#x2F;p&gt;
&lt;p&gt;A fire holds on with a spark, blow, and it won&#x27;t burn.&lt;br &#x2F;&gt;
Take a punch! Move on? I&#x27;ll, take slaps but hold on.&lt;br &#x2F;&gt;
Decide to run! It&#x27;s easier, stay and you might learn.&lt;br &#x2F;&gt;
Respect that you build up, the best thing that you earn.&lt;&#x2F;p&gt;
&lt;p&gt;I can add more lines to this, make it seem it&#x27;s more.&lt;br &#x2F;&gt;
Add more nonsense in it, make it seem it&#x27;s broad.&lt;br &#x2F;&gt;
More stanzas are there, the more I feel I&#x27;ve scored.&lt;br &#x2F;&gt;
What I&#x27;m feeling right now, is what this part stores.&lt;&#x2F;p&gt;
&lt;p&gt;Making rhymes it&#x27;s easy but, they are far from true.&lt;br &#x2F;&gt;
What verses should I write, I don&#x27;t even have a clue.&lt;br &#x2F;&gt;
Everything feels wrong, with just one point of view.&lt;br &#x2F;&gt;
It&#x27;ll always be better with, a second point from you.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Scared</title>
        <published>2023-03-21T00:00:00+00:00</published>
        <updated>2023-03-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/scared/"/>
        <id>https://scientiac.space/blog/scared/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/scared/">&lt;p&gt;I&#x27;m too scared, and it is not my fault.&lt;br &#x2F;&gt;
Choosing these words, became difficult.&lt;&#x2F;p&gt;
&lt;p&gt;Minor details, I&#x27;ve begun to care for.&lt;br &#x2F;&gt;
Never satisfied, wish I&#x27;d be there more.&lt;&#x2F;p&gt;
&lt;p&gt;I feel disabled, to be there for you.&lt;br &#x2F;&gt;
Behind screens, pretending to care you.&lt;&#x2F;p&gt;
&lt;p&gt;I think about it a lot, before I say.&lt;br &#x2F;&gt;
All possibilities and the correct way.&lt;&#x2F;p&gt;
&lt;p&gt;My thoughts, they conquer all my time.&lt;br &#x2F;&gt;
Present, old past, new future of mine.&lt;&#x2F;p&gt;
&lt;p&gt;Right answers, I&#x27;ve been searching for.&lt;br &#x2F;&gt;
What I am searching is wrong, I fear.&lt;&#x2F;p&gt;
&lt;p&gt;I say things, and think that I mean it.&lt;br &#x2F;&gt;
They just remain words, out of my limits.&lt;&#x2F;p&gt;
&lt;p&gt;The future, possibilities of you and me.&lt;br &#x2F;&gt;
All gathers inside, into scary feelings.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Daisy</title>
        <published>2023-03-12T00:00:00+00:00</published>
        <updated>2023-03-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/daisy/"/>
        <id>https://scientiac.space/blog/daisy/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/daisy/">&lt;p&gt;My hands are frozen, and my heart shivers.&lt;br &#x2F;&gt;
My eyes are in pain, my brain just jitters.&lt;br &#x2F;&gt;
I&#x27;ve been scared, and I cannot feel a thing.&lt;br &#x2F;&gt;
Am I awake? Cause this feels like a dream.&lt;br &#x2F;&gt;
Those ordinary days, I just used to chill.&lt;br &#x2F;&gt;
Endless possibilities, I&#x27;ve begun to feel.&lt;br &#x2F;&gt;
If this than that, the world revolves to it.&lt;br &#x2F;&gt;
One inevitable rule, that I tried to cheat.&lt;br &#x2F;&gt;
The world&#x27;s broken, my head&#x27;s full of flaws.&lt;br &#x2F;&gt;
As I tried things, broken were those laws.&lt;br &#x2F;&gt;
A step at a time, I&#x27;m losing all my grasp.&lt;br &#x2F;&gt;
I trust people, keep falling for those traps.&lt;br &#x2F;&gt;
A thousand times I think, to decide a blink.&lt;br &#x2F;&gt;
Where else do I seek, just to find the link.&lt;br &#x2F;&gt;
Should take on the hits, if you are in lead.&lt;br &#x2F;&gt;
Let others leave, while you fight to bleed.&lt;br &#x2F;&gt;
Why should I believe, anything you say.&lt;br &#x2F;&gt;
Cause it&#x27;s every day, people come and play.&lt;br &#x2F;&gt;
But all hope isn&#x27;t lost, though it&#x27;s not the same.&lt;br &#x2F;&gt;
It remains in the fire, as the heat to your flame.&lt;br &#x2F;&gt;
Grow up with pain; cold, droughts and in rain.&lt;br &#x2F;&gt;
All the things you&#x27;ve seen, won&#x27;t just go in vain.&lt;br &#x2F;&gt;
Some good it remains, in people that I know.&lt;br &#x2F;&gt;
Daisies as they are, everywhere they&#x27;ll grow.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Midnight</title>
        <published>2023-03-09T00:00:00+00:00</published>
        <updated>2023-03-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/midnight/"/>
        <id>https://scientiac.space/blog/midnight/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/midnight/">&lt;p&gt;It&#x27;s midnight!&lt;&#x2F;p&gt;
&lt;p&gt;Only light is that of the moon,&lt;br &#x2F;&gt;
only light that I trust won&#x27;t go.&lt;br &#x2F;&gt;
Only thoughts are that of yours,&lt;br &#x2F;&gt;
only thoughts that can not go.&lt;br &#x2F;&gt;
Gone would be my sight all night,&lt;br &#x2F;&gt;
if the moon, was gone, forever.&lt;&#x2F;p&gt;
&lt;p&gt;Gone would be my hope for life,&lt;br &#x2F;&gt;
if those thoughts, could disappear.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m awake all night when you&#x27;re there,&lt;br &#x2F;&gt;
because, you&#x27;re awake, night matters.&lt;br &#x2F;&gt;
I&#x27;m always there, the one for you,&lt;br &#x2F;&gt;
because, for me, it&#x27;s you that matters.&lt;br &#x2F;&gt;
I&#x27;d rather sleep waiting for you to call,&lt;br &#x2F;&gt;
and dream about, our beautiful world.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m your&#x27;s for eternity and a little more,&lt;br &#x2F;&gt;
and I&#x27;ll be with you, forever entangled.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s almost one and the night&#x27;s darker,&lt;br &#x2F;&gt;
and yet my eyes, are full of your smile.&lt;br &#x2F;&gt;
Stormy sky and the lights are off now,&lt;br &#x2F;&gt;
and yet my words, won&#x27;t stop for a while.&lt;br &#x2F;&gt;
The more I write the less I know that,&lt;br &#x2F;&gt;
it&#x27;s not enough, I should write better.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s never enough for me to write you,&lt;br &#x2F;&gt;
I&#x27;m writing you one and I&#x27;ll send it later.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Moonshine</title>
        <published>2023-03-09T00:00:00+00:00</published>
        <updated>2023-03-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/moonshine/"/>
        <id>https://scientiac.space/blog/moonshine/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/moonshine/">&lt;p&gt;I compare you to the moon in the sky,&lt;br &#x2F;&gt;
you&#x27;re different each day, like lua&#x27;s phases,&lt;br &#x2F;&gt;
the craters I see, are your subtle dimples,&lt;br &#x2F;&gt;
your shiny eyes, the moon glowing bright.&lt;&#x2F;p&gt;
&lt;p&gt;I compare you with the daisy in the wild,&lt;br &#x2F;&gt;
you smile for no reason, like daisies bloom,&lt;br &#x2F;&gt;
their dance with wind, is you being yourself,&lt;br &#x2F;&gt;
your simple heart, it&#x27;s what they represent.&lt;&#x2F;p&gt;
&lt;p&gt;I compare you to the poems that I write,&lt;br &#x2F;&gt;
you&#x27;re the only one, like the rhymes I rhyme,&lt;br &#x2F;&gt;
worlds they contain, are your favorite places,&lt;br &#x2F;&gt;
your cute smile, is what they always seek.&lt;&#x2F;p&gt;
&lt;p&gt;I compare you with me and my nuances,&lt;br &#x2F;&gt;
you complete me, just like I want you to do,&lt;br &#x2F;&gt;
my weird views, are like &quot;em&quot; trends you follow,&lt;br &#x2F;&gt;
you yourself, is who I&#x27;m entangled with.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Sleep</title>
        <published>2023-02-24T00:00:00+00:00</published>
        <updated>2023-02-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/sleep/"/>
        <id>https://scientiac.space/blog/sleep/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/sleep/">&lt;p&gt;Bye! goodnight, It&#x27;s time, to sleep.&lt;br &#x2F;&gt;
Then, flash bright, I dive, void deep.&lt;br &#x2F;&gt;
Fine, my mind, it&#x27;s hard, to keep.&lt;br &#x2F;&gt;
Cry, not loud, damp out, just weep.&lt;&#x2F;p&gt;
&lt;p&gt;Poems, I write, with thoughts, so sad.&lt;br &#x2F;&gt;
Life, I like, it&#x27;s not, that bad.&lt;br &#x2F;&gt;
You, that&#x27;s right, the smile, you have.&lt;br &#x2F;&gt;
Us, we met, that&#x27;s why, I&#x27;m glad.&lt;&#x2F;p&gt;
&lt;p&gt;Dreams, sometimes, I see, you there.&lt;br &#x2F;&gt;
Feels, my heart, it&#x27;s beats, unclear.&lt;br &#x2F;&gt;
Smile, I do, when you, are near.&lt;br &#x2F;&gt;
Glows, your eyes, it&#x27;s why, I care.&lt;&#x2F;p&gt;
&lt;p&gt;Fear, It&#x27;s gone, butterflies, all around.&lt;br &#x2F;&gt;
Wish, came true, fly high, to clouds.&lt;br &#x2F;&gt;
Leave, when you, my heart, it pounds.&lt;br &#x2F;&gt;
Lean, on me, each other, we&#x27;ve found.&lt;&#x2F;p&gt;
&lt;p&gt;Wait! don&#x27;t leave, stay here, some more.&lt;br &#x2F;&gt;
Talk, we will, till we, feel bore.&lt;br &#x2F;&gt;
Shies, the stars, our smiles, before.&lt;br &#x2F;&gt;
Seeing, you happy, I adore, amor.&lt;&#x2F;p&gt;
&lt;p&gt;Things, you talk, sometimes, wordplay.&lt;br &#x2F;&gt;
Trends, I learn&#x27;t, makes sense, now they.&lt;br &#x2F;&gt;
Voice, my style, it&#x27;s modern, I&#x27;ll say.&lt;br &#x2F;&gt;
Purr! my queen, go girl! you slayy.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Creation: 2023-02-17&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Too Late</title>
        <published>2023-02-24T00:00:00+00:00</published>
        <updated>2023-02-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/too-late/"/>
        <id>https://scientiac.space/blog/too-late/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/too-late/">&lt;p&gt;I&#x27;ve seen those eyes a thousand times,&lt;br &#x2F;&gt;
flipping through your pictures, I sleep.&lt;br &#x2F;&gt;
I&#x27;ve been dreaming a lot about you lately,&lt;br &#x2F;&gt;
those dreams are more yours, than mine.&lt;br &#x2F;&gt;
I hear your voice from the texts you send,&lt;br &#x2F;&gt;
and I smile at you, from my phone.&lt;br &#x2F;&gt;
I&#x27;ve become us and the feeling&#x27;s stuck now,&lt;br &#x2F;&gt;
carved in our heart, that&#x27;s made of stone.&lt;br &#x2F;&gt;
Us talking while we walk holding hands,&lt;br &#x2F;&gt;
it comes before me, I smile some more.&lt;br &#x2F;&gt;
I trust you with all my deepest secrets,&lt;br &#x2F;&gt;
while we share stories, all night long.&lt;br &#x2F;&gt;
The way you complete my midway stutters,&lt;br &#x2F;&gt;
with your words with mine, we talk.&lt;br &#x2F;&gt;
You hear all my weirdest of interests,&lt;br &#x2F;&gt;
and reply me, singing lyrics of songs.&lt;br &#x2F;&gt;
Small chats and chit-talks that we do,&lt;br &#x2F;&gt;
binds me tighter, up with you.&lt;br &#x2F;&gt;
Stars shine and the moon glows bright,&lt;br &#x2F;&gt;
we call us names, and we talk all night.&lt;br &#x2F;&gt;
I&#x27;m up all night writing poems for you,&lt;br &#x2F;&gt;
with my heart, saying the words I feel.&lt;br &#x2F;&gt;
We are now entangled with a stranger force,&lt;br &#x2F;&gt;
it&#x27;s something, we don&#x27;t understand yet.&lt;br &#x2F;&gt;
When it started we had nothing to lose,&lt;br &#x2F;&gt;
but now to lose, it&#x27;s too late.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Creation: 2023-02-22&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Vacuum In A Jar</title>
        <published>2023-01-30T00:00:00+00:00</published>
        <updated>2023-01-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/vacuum-in-a-jar/"/>
        <id>https://scientiac.space/blog/vacuum-in-a-jar/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/vacuum-in-a-jar/">&lt;p&gt;Sometimes, my poems start with &quot;sometimes&quot;.&lt;br &#x2F;&gt;
Those sometimes I cry.&lt;br &#x2F;&gt;
Time, I do always write about it.&lt;br &#x2F;&gt;
No grasp, but I try.&lt;br &#x2F;&gt;
Crimes, I think I&#x27;ll commit one once.&lt;br &#x2F;&gt;
Fear shadows those thoughts.&lt;br &#x2F;&gt;
Prays, though I feel like an atheist.&lt;br &#x2F;&gt;
Please ignore it, gods.&lt;br &#x2F;&gt;
Slaves, what I think we all become.&lt;br &#x2F;&gt;
To things, we think we want.&lt;br &#x2F;&gt;
Poem, no, it&#x27;s just a disguised story.&lt;br &#x2F;&gt;
One of the many ones.&lt;br &#x2F;&gt;
A story, with no end, or a beginning.&lt;br &#x2F;&gt;
It&#x27;s of a different kind.&lt;br &#x2F;&gt;
Stress, my only cause of disappointment.&lt;br &#x2F;&gt;
And It&#x27;s a long line.&lt;br &#x2F;&gt;
Love, I thought, could handle it well.&lt;br &#x2F;&gt;
Foolish! I was wrong.&lt;br &#x2F;&gt;
Reason, It&#x27;s not you or the system over us.&lt;br &#x2F;&gt;
It was me all along.&lt;br &#x2F;&gt;
Scared, I thought that I can&#x27;t ever be.&lt;br &#x2F;&gt;
Cause you always were behind.&lt;br &#x2F;&gt;
Empty, I always am, I need some more time.&lt;br &#x2F;&gt;
With no one but you as mine.&lt;br &#x2F;&gt;
Story, I am trying to write about love.&lt;br &#x2F;&gt;
Sadness is what occurred.&lt;br &#x2F;&gt;
Fear, if not? What might be love, then?&lt;br &#x2F;&gt;
Of breaking someone&#x27;s heart.&lt;&#x2F;p&gt;
&lt;p&gt;Maybe it&#x27;s time, I need to change.&lt;br &#x2F;&gt;
I&#x27;ll tell you the things I see till range.&lt;&#x2F;p&gt;
&lt;p&gt;I see you as vacuum in a jar.&lt;br &#x2F;&gt;
Of space that I love.&lt;br &#x2F;&gt;
Much care and love to it.&lt;br &#x2F;&gt;
You don&#x27;t get to sob.&lt;&#x2F;p&gt;
&lt;p&gt;Surrounded by the forces.&lt;br &#x2F;&gt;
Atmosphere, enemy of yours.&lt;br &#x2F;&gt;
It&#x27;s me, yes! I am the jar.&lt;br &#x2F;&gt;
I won&#x27;t break, pushes I endure.&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s no cure, once a hole.&lt;br &#x2F;&gt;
Nothing will be the same, I&#x27;m sure.&lt;br &#x2F;&gt;
Delicate and vulnerable, oh you!&lt;br &#x2F;&gt;
A story for my emptiness, you&#x27;re pure.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Shut Up</title>
        <published>2023-01-20T00:00:00+00:00</published>
        <updated>2023-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/shut-up/"/>
        <id>https://scientiac.space/blog/shut-up/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/shut-up/">&lt;p&gt;The voices in my head, they talk but are afraid,&lt;br &#x2F;&gt;
I see the things in red, am I the only slayed,&lt;br &#x2F;&gt;
all my things they&#x27;re swayed, feelings say I&#x27;m dead,&lt;br &#x2F;&gt;
I&#x27;m lying on my bed, plans for dodging baits,&lt;br &#x2F;&gt;
the waves as sharp as blades, poisonous than lead,&lt;br &#x2F;&gt;
always there too late, laughters that were paid,&lt;br &#x2F;&gt;
the legends always said, people, they get played,&lt;br &#x2F;&gt;
I hope that you stayed, it&#x27;s already been too late,&lt;br &#x2F;&gt;
I keep making mistakes, not sure of other ways,&lt;br &#x2F;&gt;
my own mind has been jailed, everything I have failed,&lt;br &#x2F;&gt;
with everything left unsaid, slowly, these feelings fade,&lt;br &#x2F;&gt;
now as I lie awake, scared and scarred with no escape,&lt;br &#x2F;&gt;
I think of how much it takes, to empty a heart so full of rage,&lt;br &#x2F;&gt;
voices, so very deranged, talking about the things that remain just as unexplained,&lt;br &#x2F;&gt;
freefalling into darkness, with hopes way too high up to mess,&lt;br &#x2F;&gt;
little by little the sadness trails, gets me ruthlessly betrayed,&lt;br &#x2F;&gt;
see the loudest smiles being staged, oh, I&#x27;d rather silently dread,&lt;br &#x2F;&gt;
the stories get just more mysterious by the day, with too much to hear and very less to ever say,&lt;br &#x2F;&gt;
maybe it&#x27;s all just a fake, this feeling I cannot quite shake,&lt;br &#x2F;&gt;
worse as the thoughts remained, misery almost always accompanied,&lt;br &#x2F;&gt;
maybe the voices in me are better dead, for my conscience to be by my side instead.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;It symbolizes how two brains may say things in different ways but mean the same.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---
&lt;&#x2F;span&gt;&lt;span&gt; |                                                                           |
&lt;&#x2F;span&gt;&lt;span&gt; |         A part of The Hi-Bye Loop: The Chase Hypothesis Semester,         |
&lt;&#x2F;span&gt;&lt;span&gt; |         incomplete without the words of the lead character, Anu.          |
&lt;&#x2F;span&gt;&lt;span&gt; |                                                                           |
&lt;&#x2F;span&gt;&lt;span&gt;---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Wait</title>
        <published>2023-01-04T00:00:00+00:00</published>
        <updated>2023-01-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/wait/"/>
        <id>https://scientiac.space/blog/wait/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/wait/">&lt;p&gt;Did you think, the wait was over?&lt;br &#x2F;&gt;
Oh! it&#x27;s has just began.&lt;br &#x2F;&gt;
Your thoughts and dreams, and what not,&lt;br &#x2F;&gt;
it&#x27;s killing you from the &#x27;in&#x27;.&lt;br &#x2F;&gt;
The more you wait, more will you think,&lt;br &#x2F;&gt;
it&#x27;s seems normal to me.&lt;br &#x2F;&gt;
The more you think, less becomes you,&lt;br &#x2F;&gt;
as it&#x27;s supposed to be.&lt;&#x2F;p&gt;
&lt;p&gt;You are a puppet, with some feelings,&lt;br &#x2F;&gt;
no brain that can see.&lt;br &#x2F;&gt;
Just be a slave, approval you crave,&lt;br &#x2F;&gt;
it&#x27;s not your property.&lt;br &#x2F;&gt;
Failure you are, more you seek,&lt;br &#x2F;&gt;
appeal from somebody.&lt;br &#x2F;&gt;
Weakness all yours, it&#x27;s just one thing,&lt;br &#x2F;&gt;
irreplaceable monopoly.&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;re just a dog, that needs a treat,&lt;br &#x2F;&gt;
you swing your tail around.&lt;br &#x2F;&gt;
Give it a stop, once bark and bite,&lt;br &#x2F;&gt;
show, it is your surround.&lt;br &#x2F;&gt;
You need to be, the one in charge,&lt;br &#x2F;&gt;
don&#x27;t shoot your foot here.&lt;br &#x2F;&gt;
Describe your plans, redeem your spot,&lt;br &#x2F;&gt;
and make them all clear.&lt;&#x2F;p&gt;
&lt;p&gt;If you believe, the bad in you,&lt;br &#x2F;&gt;
sure it is coming through.&lt;br &#x2F;&gt;
Resist the thought, and build it up,&lt;br &#x2F;&gt;
save it for what is true.&lt;br &#x2F;&gt;
All the times, the sleepless nights,&lt;br &#x2F;&gt;
they should remember you.&lt;br &#x2F;&gt;
Get your team, make good friends,&lt;br &#x2F;&gt;
you be the joining glue.&lt;&#x2F;p&gt;
&lt;p&gt;A circle needs, the center point,&lt;br &#x2F;&gt;
just until it is formed.&lt;br &#x2F;&gt;
Then it gets lost, the void so deep,&lt;br &#x2F;&gt;
not coming back unharmed.&lt;br &#x2F;&gt;
You should be best, compared to you,&lt;br &#x2F;&gt;
it&#x27;s only truth I know.&lt;br &#x2F;&gt;
Resist the world, it&#x27;s filled with greed,&lt;br &#x2F;&gt;
you&#x27;ll reap what you sow.&lt;&#x2F;p&gt;
&lt;p&gt;Behind your back, it&#x27;s just knives,&lt;br &#x2F;&gt;
not one is helping hand.&lt;br &#x2F;&gt;
You look both ways, back, up and down,&lt;br &#x2F;&gt;
you&#x27;ll never know what will land.&lt;br &#x2F;&gt;
Sometime you fall, just get up,&lt;br &#x2F;&gt;
you&#x27;ll need to sprint fast.&lt;br &#x2F;&gt;
Before you speak, make a plan,&lt;br &#x2F;&gt;
or you will cry at last.&lt;&#x2F;p&gt;
&lt;p&gt;Things will come, they go as well,&lt;br &#x2F;&gt;
even truths change with time.&lt;br &#x2F;&gt;
Life gives you lemons, make lemonade&lt;br &#x2F;&gt;
sell it and make your dime.&lt;br &#x2F;&gt;
Keep trying things, make, hack and create,&lt;br &#x2F;&gt;
to try, it&#x27;s never too late.&lt;br &#x2F;&gt;
When you will shine, and build your fate,&lt;br &#x2F;&gt;
it&#x27;ll be worth the wait.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Peeking Through My Window</title>
        <published>2023-01-03T00:00:00+00:00</published>
        <updated>2023-01-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/peeking-through-my-window/"/>
        <id>https://scientiac.space/blog/peeking-through-my-window/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/peeking-through-my-window/">&lt;h3 id=&quot;synopsis&quot;&gt;Synopsis&lt;&#x2F;h3&gt;
&lt;blockquote&gt;
&lt;p&gt;A room, a pen and a keyboard.&lt;br &#x2F;&gt;
Poems, they&#x27;re just assumptions.&lt;br &#x2F;&gt;
Today, I&#x27;m out from my comfort.&lt;br &#x2F;&gt;
And I observed my surrounds.....&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I saw a woman, talking with her dog.&lt;br &#x2F;&gt;
It too jumped, and went for a hug.&lt;br &#x2F;&gt;
Saw a man, a very huge load.&lt;br &#x2F;&gt;
Dust, rough clothes, in a graveled road.&lt;br &#x2F;&gt;
A girl riding her scooter, gliding through air.&lt;br &#x2F;&gt;
Didn&#x27;t have a helmet, wind flowing her hair.&lt;br &#x2F;&gt;
In many people, common was a single thing.&lt;br &#x2F;&gt;
Smiling they were, happy they seemed.&lt;br &#x2F;&gt;
My assumptions were wrong, I was blind.&lt;br &#x2F;&gt;
Happiness was, just, a state of mind.&lt;br &#x2F;&gt;
Though It may, It&#x27;s transferred from things.&lt;br &#x2F;&gt;
Dog to the woman, way to the man.&lt;br &#x2F;&gt;
And the scooter, that was her charm.&lt;br &#x2F;&gt;
Something seemed off, a false positive.&lt;br &#x2F;&gt;
My data gave results, somewhat relative.&lt;br &#x2F;&gt;
It&#x27;s what I saw, I here am the proof.&lt;br &#x2F;&gt;
I saw a grandma, praying on her roof.&lt;br &#x2F;&gt;
Seeing her face, there was a smile.&lt;br &#x2F;&gt;
Why was she happy? I thought for a while.&lt;br &#x2F;&gt;
My data has shown, and it&#x27;s not wrong.&lt;br &#x2F;&gt;
Hope was the key, the proof was strong.&lt;br &#x2F;&gt;
It comes to me, times I used to hope.&lt;br &#x2F;&gt;
Happy I was, no reason to sob.&lt;br &#x2F;&gt;
Me, my questions, all starting from &quot;how?&quot;.&lt;br &#x2F;&gt;
The realizations, they are, all I have now.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Untitled</title>
        <published>2023-01-02T00:00:00+00:00</published>
        <updated>2023-01-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/untitled/"/>
        <id>https://scientiac.space/blog/untitled/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/untitled/">&lt;p&gt;Poems, the way I speak.&lt;br &#x2F;&gt;
Eyes, they talk but weak.&lt;br &#x2F;&gt;
Gestures, that&#x27;s all I&#x27;ll give.&lt;br &#x2F;&gt;
I&#x27;ve always been like this, so, believe.&lt;&#x2F;p&gt;
&lt;p&gt;Words, I just write them.&lt;br &#x2F;&gt;
Fourth, like I always came.&lt;br &#x2F;&gt;
Resist, all my feelings, then.&lt;br &#x2F;&gt;
All those thoughts, in my brain.&lt;&#x2F;p&gt;
&lt;p&gt;Times, it has been many.&lt;br &#x2F;&gt;
Rhymes, if I found any.&lt;br &#x2F;&gt;
Chimes, my heartbeat makes.&lt;br &#x2F;&gt;
Just three words, that&#x27;s all it takes.&lt;&#x2F;p&gt;
&lt;p&gt;Fine, like I always am.&lt;br &#x2F;&gt;
Smile, I was programmed.&lt;br &#x2F;&gt;
Clear, it&#x27;s like a diagram.&lt;br &#x2F;&gt;
Life tests us, it&#x27;s an exam.&lt;&#x2F;p&gt;
&lt;p&gt;Shine, it&#x27;s my turn to.&lt;br &#x2F;&gt;
Crime, would be to not do.&lt;br &#x2F;&gt;
Perfect, though I seem blue.&lt;br &#x2F;&gt;
I have to hide, with no clue.&lt;&#x2F;p&gt;
&lt;p&gt;Heart, it&#x27;s always been soft.&lt;br &#x2F;&gt;
Sweet, like I have always loved.&lt;br &#x2F;&gt;
Fighting, though, I&#x27;ve been idled.&lt;br &#x2F;&gt;
Like life, this poem, everything&#x27;s untitled.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Missed</title>
        <published>2023-01-01T00:00:00+00:00</published>
        <updated>2023-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/missed/"/>
        <id>https://scientiac.space/blog/missed/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/missed/">&lt;p&gt;What have I done for you?&lt;br &#x2F;&gt;
Do I expect some things?&lt;br &#x2F;&gt;
I&#x27;ve always been there, your shadow.&lt;br &#x2F;&gt;
Pushing limits, the poem sings.&lt;&#x2F;p&gt;
&lt;p&gt;Why do I feel not included?&lt;br &#x2F;&gt;
Do you see me as a stranger?&lt;br &#x2F;&gt;
I&#x27;ve been there with you all the time.&lt;br &#x2F;&gt;
Yet I&#x27;m alone, it&#x27;s all stranger danger.&lt;&#x2F;p&gt;
&lt;p&gt;Seeing you, I think it&#x27;s love.&lt;br &#x2F;&gt;
Things I&#x27;d do to make you smile.&lt;br &#x2F;&gt;
And yet you&#x27;ve lost me here.&lt;br &#x2F;&gt;
I see you found your style.&lt;&#x2F;p&gt;
&lt;p&gt;Expectations, they are gone now.&lt;br &#x2F;&gt;
I think, I am done here.&lt;br &#x2F;&gt;
Ignoring you would be so great.&lt;br &#x2F;&gt;
You don&#x27;t know what love is, dear.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve lost people this way.&lt;br &#x2F;&gt;
One person at a time.&lt;br &#x2F;&gt;
Now I feel how my mom felt.&lt;br &#x2F;&gt;
I&#x27;ve been too kind, I&#x27;m fine.&lt;&#x2F;p&gt;
&lt;p&gt;Blind spots, though, you see things.&lt;br &#x2F;&gt;
I was always in your side.&lt;br &#x2F;&gt;
Some sides you don&#x27;t notice.&lt;br &#x2F;&gt;
Though, you notice far and wide.&lt;&#x2F;p&gt;
&lt;p&gt;I don&#x27;t care what you saw.&lt;br &#x2F;&gt;
I always did my part there.&lt;br &#x2F;&gt;
You should have seen me do it.&lt;br &#x2F;&gt;
My spectra were loud and clear.&lt;&#x2F;p&gt;
&lt;p&gt;Now I think why I did it.&lt;br &#x2F;&gt;
Should not have pushed the bounds.&lt;br &#x2F;&gt;
Now, every time it scares me.&lt;br &#x2F;&gt;
Your eyes, the face, those sounds.&lt;&#x2F;p&gt;
&lt;p&gt;Think I&#x27;ll stop what I did.&lt;br &#x2F;&gt;
But others deserve the same.&lt;br &#x2F;&gt;
So, I&#x27;ll behave the same way.&lt;br &#x2F;&gt;
Until I finish crossing their name.&lt;&#x2F;p&gt;
&lt;p&gt;I don&#x27;t feel missed by you.&lt;br &#x2F;&gt;
Because feelings can be false.&lt;br &#x2F;&gt;
But the proof doesn&#x27;t lie me.&lt;br &#x2F;&gt;
You missed me, middle of the alls.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Dear Hell</title>
        <published>2022-12-30T00:00:00+00:00</published>
        <updated>2022-12-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/dear-hell/"/>
        <id>https://scientiac.space/blog/dear-hell/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/dear-hell/">&lt;p&gt;All the times, I smile, the thoughts.&lt;br &#x2F;&gt;
Every time, I wish those, feelings.&lt;br &#x2F;&gt;
Many times, I wonder, emotions.&lt;br &#x2F;&gt;
Make my life, heaven, hey Hell!&lt;&#x2F;p&gt;
&lt;p&gt;The hope to win, their heart, their fake gods.&lt;br &#x2F;&gt;
I&#x27;ve been Lost in time, no space, my free soul.&lt;br &#x2F;&gt;
Things I&#x27;ve done, till now, the good deeds.&lt;br &#x2F;&gt;
Wishes my soul, in Dise, oh Hell please!&lt;&#x2F;p&gt;
&lt;p&gt;Burning in the flames of fire, one, I feel.&lt;br &#x2F;&gt;
The ice cold blistering curse, two, the itch.&lt;br &#x2F;&gt;
Torture and pain to purify, three, my heart.&lt;br &#x2F;&gt;
Being eaten alive, no mercy, a new birth!&lt;&#x2F;p&gt;
&lt;p&gt;Think I&#x27;m going one hell, many choices.&lt;br &#x2F;&gt;
One where Christians go, is it, the Hell.&lt;br &#x2F;&gt;
Or be it in the Hindus, they say, Narak.&lt;br &#x2F;&gt;
May be it&#x27;s them, Islam,  Jahannam!&lt;&#x2F;p&gt;
&lt;p&gt;Choice and chances, I see it, the truth.&lt;br &#x2F;&gt;
Feels like I&#x27;m in it, sometimes, my ruth.&lt;br &#x2F;&gt;
I&#x27;m sure I&#x27;m going, to one, I bet.&lt;br &#x2F;&gt;
All hail to it, null heart, true hell!&lt;&#x2F;p&gt;
&lt;p&gt;Sins all those, I&#x27;ve done, to them.&lt;br &#x2F;&gt;
Brings my soul, near you, to pure.&lt;br &#x2F;&gt;
Chop me into, pieces, ream me.&lt;br &#x2F;&gt;
Then you&#x27;ll see, the good, in me!&lt;&#x2F;p&gt;
&lt;p&gt;Kills and flesh, the blood, torn wide.&lt;br &#x2F;&gt;
Things I think, the ways, dark side.&lt;br &#x2F;&gt;
Greed and jealousy, the thoughts, kill me.&lt;br &#x2F;&gt;
Dear Hell, I only trust you, clean me!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Changes</title>
        <published>2022-12-26T00:00:00+00:00</published>
        <updated>2022-12-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/changes/"/>
        <id>https://scientiac.space/blog/changes/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/changes/">&lt;p&gt;Me, my place, the things I do.&lt;br &#x2F;&gt;
Plans, the thoughts, those nightmares too.&lt;br &#x2F;&gt;
Friends, the days, the one who&#x27;s boo.&lt;br &#x2F;&gt;
Games, my dreams, what was true.&lt;&#x2F;p&gt;
&lt;p&gt;Jobs, some hope, all my needs.&lt;br &#x2F;&gt;
Rocks, the earth, what we feed.&lt;br &#x2F;&gt;
Phones, my bones, books I read.&lt;br &#x2F;&gt;
Love, the hobs, character indeed.&lt;&#x2F;p&gt;
&lt;p&gt;Sun, the time, old beautiful chimes.&lt;br &#x2F;&gt;
Poems, all stories, all my rhymes.&lt;br &#x2F;&gt;
Smile, your style, you seeing me.&lt;br &#x2F;&gt;
Lies, your eyes, convos with me.&lt;&#x2F;p&gt;
&lt;p&gt;Nights, our fights, just who we are.&lt;br &#x2F;&gt;
Pain, the rain, our little world.&lt;br &#x2F;&gt;
Wish, its bliss, all wonders far.&lt;br &#x2F;&gt;
Wars, the bars, the old scars.&lt;&#x2F;p&gt;
&lt;p&gt;Limit, those bounds, what I could.&lt;br &#x2F;&gt;
Focus, the sciences, my good mood.&lt;br &#x2F;&gt;
Papers, all problems, things we should.&lt;br &#x2F;&gt;
Cold, my control, when we&#x27;re rude.&lt;&#x2F;p&gt;
&lt;p&gt;Bluffs, the sobs, what should be told.&lt;br &#x2F;&gt;
Wise, true advice, how we&#x27;re mould.&lt;br &#x2F;&gt;
Truth, small talks, the way I was sold.&lt;br &#x2F;&gt;
Time changes, we change, the truth behold!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>How I use the Internet Today</title>
        <published>2022-12-02T00:00:00+00:00</published>
        <updated>2022-12-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/how-i-use-the-internet-today/"/>
        <id>https://scientiac.space/blog/how-i-use-the-internet-today/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/how-i-use-the-internet-today/">&lt;p&gt;Today&#x27;s internet is a nightmare to use and navigate, in my opinion. I have little knowledge about the old internet. So, I don&#x27;t have much to say about it, but from what I have experienced in the old internet is that it was actually decentralized. Firstly,  our internet is occupied by the tech giants. When I talk about the internet, a normal person would think that it&#x27;s something that makes Facebook work or something that helps us to chat with people in WhatsApp. The concept of internet being a social, decentralized hub where people can express themselves in their own way has been shadowed by the famous monopoly, i.e. meta(in my opinion, but there&#x27;s google as well), and now it is seen as the place where we play by the rules of a company and express ourselves in short microblogs with limited number of words and a single UI where everyone is forced to be in the same place because they will be alone if they want to try something new.&lt;&#x2F;p&gt;
&lt;p&gt;The other things are search engines and advertisements. The search engines today show us results which are paid for by the owner to show on the top of the search result or optimized in such a way that the search engines will show us the particular sites on the top. Either way, it provides people to choose specific words and hijack the search results of a person, shadowing the factual results. Many websites that I see on the top are websites written by bots and hosted just for the sake of people clicking it and watching their ad, i.e. to earn money without any real information.&lt;&#x2F;p&gt;
&lt;p&gt;Talking about ads, the ads too are harmful nowadays. The ads today are mostly targeted and changes according to the user&#x27;s web usage and interests. Targeted ads may be a good way to earn money from but are equally bad because it can be about anything, a news website might have ads for a gambling app or a good writer may have an ad which supports something illegal. They are not chosen and trusted by the owner of the website which puts their reputation in danger as well as the person surfing a good website may get scammed because they trusted the ad from the site they trust.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;now-let-s-get-to-the-topic&quot;&gt;Now let&#x27;s get to the Topic&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;browser&quot;&gt;Browser&lt;&#x2F;h3&gt;
&lt;p&gt;The first thing I need even before I access the internet is a browser. I prefer the Firefox browser because it helps the world by saving us from the monopoly that is chromium&#x2F;chrome. The thing is that,  every device today comes pre-installed with chrome and even if you go and get a browser from the internet it is most likely to be a chromium based browser (Opera, Vivaldi, Microsoft Edge, Brave, UC Browser etc.) if it isn&#x27;t Firefox. If Firefox was not a thing, the web would have been controlled by a sole company, i.e. google, whose main aim is to give as much ad to the people so that they can earn money.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;new&#x2F;&quot;&gt;Firefox&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;search-engine&quot;&gt;Search Engine&lt;&#x2F;h3&gt;
&lt;p&gt;After I have Firefox installed, I prefer to choose a search engine which doesn&#x27;t show targeted ads and works most of the time. I choose DuckDuckGo for that, but you may have your own preference. DuckDuckGo or DDG for short claims that it&#x27;s a privacy focused search engine, but they seem to have better results than google for not being a sell-out. It&#x27;s not perfect, and I do get websites written by bots or scams there as well, but is a &quot;good guy&quot; than google.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;duckduckgo.com&#x2F;&quot;&gt;DuckDuckGo&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;content-blocker&quot;&gt;Content Blocker&lt;&#x2F;h3&gt;
&lt;p&gt;Now that I have Firefox with DuckDuckGo, I need a content blocker. My choice in it is uBlock Origin every single time. It&#x27;s a must-have add-on to surf the web without being covered by pop-ups and ads. It removes most of the ads as well their spaces in the websites, so you don&#x27;t get blank spaces in the middle of an article or post. Furthermore, it also has advanced features like the ability to remove specific elements from a website, which comes in handy when it cannot remove stuff completely or if I want to remove something from a website that&#x27;s bothering me to read something there.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ublockorigin.com&#x2F;&quot;&gt;uBlock Origin&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Doing all this is mostly enough for a normal internet user because it solves most of the things that the modern internet forces upon us.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;tiny-little-details&quot;&gt;Tiny Little Details&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;containerization&quot;&gt;Containerization&lt;&#x2F;h3&gt;
&lt;p&gt;I use an add-on made by Firefox called Firefox Multi-Account Containers which allows me to keep all the parts of my online life contained in different tabs colour coded and labelled, helping me to keep different activities or sites separate from each other. What it does is that it allows me to do shopping stuff in one container and research stuff in another without the cross site cookies being shared with each other, making my shopping life not interfere to my academic life.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;addons.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;addon&#x2F;multi-account-containers&#x2F;&quot;&gt;Firefox Multi-Account Containers&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yum-cookies&quot;&gt;Yum! Cookies&lt;&#x2F;h3&gt;
&lt;p&gt;Cookies are small files sent to your browser from websites you visit. These files monitor the sites you visit and the items you click on these pages. These are used to remember what you did in a particular site the last time you visited it. I mostly reject cookies and allow only the essential ones. And to automate the process I use an add-on called &quot;I don&#x27;t care about cookies&quot; which blocks the pop-ups and if the cookies are essential it accepts it and I never have to do the annoying thing every time you open a new website.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.i-dont-care-about-cookies.eu&#x2F;&quot;&gt;I don&#x27;t care about cookies&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;password-manager&quot;&gt;Password Manager&lt;&#x2F;h3&gt;
&lt;p&gt;With an abundance in social platforms and having to use multiple things being a heavy internet user, I need to have multiple accounts with multiple passwords and authentication process. So, to manage my password I use Bitwarden, which helps me save a lot of time as well because I log out from everything every time I close my browser.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;bitwarden.com&#x2F;&quot;&gt;Bitwarden&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;enhancers&quot;&gt;Enhancers&lt;&#x2F;h3&gt;
&lt;p&gt;I use sites like YouTube, mastodon and hacker news and I don&#x27;t like the experiences there, it may have to do with design or any other things like bringing back the dislike counter on YouTube. I use add-ons like stylus, sponsor-block, return YouTube dislike, YouTube enhancer etc. to improve my experience.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;returnyoutubedislike.com&#x2F;&quot;&gt;Return YouTube Dislike&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;add0n.com&#x2F;stylus.html&quot;&gt;Stylus&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;navigation&quot;&gt;Navigation&lt;&#x2F;h3&gt;
&lt;p&gt;I am a vim guy and having vim keys bidden to the browser is just that cherry on top that I needed. For that, I use an add-on called &quot;Vimium&quot; which does exactly that.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;vimium.github.io&#x2F;&quot;&gt;Vimium&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Everyone has their own use-cases and people use the internet for multiple things. Following my method and using my configuration may not be viable for everyone, but it works for the most part. The best way to improve your experience is to use the internet and experiment with it to set it up to your liking.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Some Thoughts On Privacy</title>
        <published>2022-11-17T00:00:00+00:00</published>
        <updated>2022-11-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/some-thoughts-on-privacy/"/>
        <id>https://scientiac.space/blog/some-thoughts-on-privacy/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/some-thoughts-on-privacy/">&lt;ul&gt;
&lt;li&gt;and also on privacy respecting media.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;These are my views on this topic so, a reply with a correction or your view would be highly appreciated.
For a different perspective on this topic, check the end of this article.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;my-experience&quot;&gt;My Experience&lt;&#x2F;h2&gt;
&lt;p&gt;I encountered what privacy is by coming to Linux and interacting with the people of the FOSS community. And It has taught me things that I would not have learned anywhere else. But when it comes to why we need privacy, and why losing some comfort is worth it, I quite can&#x27;t teach or make it clear to people. I follow the practice to be private on the internet mostly because I agree with the people from the community. I learned about the Gemini protocol, the Fediverse, the Matrix protocol, self-hosting and many more concepts because of the community.&lt;&#x2F;p&gt;
&lt;p&gt;Not using Facebook and mainstream social media like Instagram, Twitter, etc has surely changed the way I think about people and the internet but it also has broken my contact with my family and relatives. I asked the ones who wanted to contact me to install &quot;Signal&quot; and to contact me there since it was the easiest to set up and use for everyone. Though it isn&#x27;t a perfect replacement for a &quot;social media&quot; like Facebook it has done the job for the most part, at least has fulfilled my basic social interactions.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;here-are-my-thoughts-on-the-positives-and-as-well-as-the-negatives-of-maintaining-trying-to-maintain-privacy&quot;&gt;Here are my thoughts on the positives and as well as the negatives of maintaining&#x2F;trying to maintain privacy:&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;the-positives&quot;&gt;The Positives&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;judgements&quot;&gt;Judgements&lt;&#x2F;h3&gt;
&lt;p&gt;It is an undeniable fact that we judge a person firstly by how they look. If they look clean, wear attractive clothes, has big eyes we seem to make our mind up that they are the kind of friends we want and if anyone has a darker skin color, is wearing oversized clothes, or has imperfections on their face we tend to be far from them. Being and interacting with &quot;anonymous&quot; people on the internet has made me think about our prejudice toward people. Nobody has judged me and I haven&#x27;t judged anyone but have helped each other regardless of how we look (here on the platforms like mastodon(Fosstodon), Gemini(Station and Geminiverse)). So, one aspect of privacy on the internet that I like is that it minimizes prejudice.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;safety&quot;&gt;Safety&lt;&#x2F;h3&gt;
&lt;p&gt;Maintaining privacy and not disclosing the location of where we live, who our relatives are, where we work and many similar &quot;Oh! it doesn&#x27;t matter.&quot; things will make us safe from the people who &quot;hate&quot; us or our views and may bring threat to us. It creates a virtual chamber where we can settle disputes without physical contact and gives everyone enough time to think and argue about their view.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;tunneled-vision&quot;&gt;Tunneled Vision&lt;&#x2F;h3&gt;
&lt;p&gt;The internet has lost its position from the place where we gain information about a vast range of topics to the place which agrees with what you like and nothing else. These algorithms in our media collect information about us and feed us what we have an interest in, which may seem to be a very good thing when we look straight into it but behind it, it&#x27;s not something made for our comfort but for them to increase our watch time in those media and show us as many ads as possible which also are shown based on our interests making us their product to the ad distributors. So, being private and not letting these media collect media helps us to not get distracted by ads and not get tunneled to a certain view as it won&#x27;t just show what we prefer but also shows us multiple perspectives.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;focus&quot;&gt;Focus&lt;&#x2F;h3&gt;
&lt;p&gt;Not having to care about maintaining an image in the media and being seen as equal by everyone else and treated like everyone else removes many burdens from the mind and helps focus on the subject matter and views instead of branching focus to other unnecessary variables helps (at least for me) to be more productive.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;expectations-and-mental-health&quot;&gt;Expectations and Mental Health&lt;&#x2F;h3&gt;
&lt;p&gt;Being private on the internet also demands similar people and media thus taking away the people that may create a sense of insecurity, like having expectations of being a celebrity or being &quot;socially accepted beautiful&quot;, getting celebrity worship syndrome, expectation for filmy love or romance. Since everything on the internet is not true and mostly tampered with to make it look &quot;good&quot;, being private on the internet and using media that respects ones privacy helps a lot in preventing psychological health issues, especially for teens.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;more&quot;&gt;More:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Decrease in chances of scams and spam,&lt;&#x2F;li&gt;
&lt;li&gt;Protection from identity theft,&lt;&#x2F;li&gt;
&lt;li&gt;Offers freedom to express oneself, and much more that I cannot think of.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-negatives&quot;&gt;The Negatives&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;fame-and-recognition&quot;&gt;Fame and Recognition&lt;&#x2F;h3&gt;
&lt;p&gt;We need fame and recognition to be respected in human society and being famous on the internet has become our priority but internet privacy and fame might not go together so, complete privacy isn&#x27;t possible. A well thought privacy threat model should be implemented never-the-less to mitigate the threats instead of completely giving up on internet privacy because having fame adds more threats as well as responsibilities.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;connection-and-contacts&quot;&gt;Connection and Contacts&lt;&#x2F;h3&gt;
&lt;p&gt;Losing contact with relatives, friends and family trying to give priority to privacy is one of the most experienced downsides of it. Not everybody understands or cares about privacy and leaving centralized privacy disrespecting monopoly leads to losing contact with people you were in contact with yesterday. Using workarounds to access those media may mitigate the issue but is not a complete solution.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;information-distribution&quot;&gt;Information Distribution&lt;&#x2F;h3&gt;
&lt;p&gt;We have to get local news and information distributed by collage and clubs or the organizations where we work, which mostly are circulated exclusively on the centralized privacy disrespecting monopoly media. This centralized locking of information has been one of the barriers to freedom and internet privacy as well.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;more-1&quot;&gt;More:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Being an outcast from a circle,&lt;&#x2F;li&gt;
&lt;li&gt;A hassle to manage and keep track of,&lt;&#x2F;li&gt;
&lt;li&gt;People try more to exploit you the more you try to be private, and unfortunately, the negatives too don&#x27;t end here.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Privacy in itself is a very broad subject to be discussed. A single person&#x27;s view isn&#x27;t sufficient on what privacy is and what isn&#x27;t so I expect some flaws in my writing if seen from a different perspective. So, I thought of accumulating everyone&#x27;s view on it. I also request you include a list of authors and their articles related to mine at the bottom of your reply&#x2F;article as I have done below. That way everyone who is reading can find every other person&#x27;s view.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Please send your article to me at @scientiac@fosstodon.org if you wrote a reply so that I can include it on the list below.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;some-more-views&quot;&gt;Some More Views&lt;&#x2F;h3&gt;
&lt;p&gt;Author: Scientiac&lt;&#x2F;p&gt;
&lt;h3 id=&quot;on-pseudonymity&quot;&gt;On Pseudonymity&lt;&#x2F;h3&gt;
&lt;p&gt;Author: marginalia.nu
Author: Szczeżuja
&lt;a href=&quot;gemini:&#x2F;&#x2F;szczezuja.space&#x2F;gemlog&#x2F;2022-01-16-Re-pseudonymous.gmi&quot;&gt;(gemini:&#x2F;&#x2F;) Re: Pseudonymous&lt;&#x2F;a&gt;
Author: usebox.net
&lt;a href=&quot;gemini:&#x2F;&#x2F;capsule.usebox.net&#x2F;gemlog&#x2F;20220118-re-pseudonymous.gmi&quot;&gt;(gemini:&#x2F;&#x2F;) re: Pseudonymous&lt;&#x2F;a&gt;
Author: Lykso
&lt;a href=&quot;gemini:&#x2F;&#x2F;lyk.so&#x2F;gemlog&#x2F;009-why-a-pseudonym.gmi&quot;&gt;(gemini:&#x2F;&#x2F;) why a pseudonym&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Who He Was</title>
        <published>2022-10-31T00:00:00+00:00</published>
        <updated>2022-10-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/who-he-was/"/>
        <id>https://scientiac.space/blog/who-he-was/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/who-he-was/">&lt;p&gt;He had lived a life of a villagen; who was neither a villager nor a citizen. He was seen as a citizen by his village friends and a villager by his city friends. To his view he was a citizen as he lived in a town for studying and went to his village if there was a holiday of any sort.&lt;&#x2F;p&gt;
&lt;p&gt;And because of that he knew the customs of the both worlds. The tradition and behaviours of village as well as the city had moulded him and his behaviours, as he wanted to be treated as native by both of his friend groups.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;village&quot;&gt;Village:&lt;&#x2F;h2&gt;
&lt;p&gt;As a kid he would take goats for grazing, climb trees, run down the hill to the river, played with mud and sticks, football made up of clothes stuffed inside a sock, fly kites, slide in coconut leaves, made wheels by cutting slippers soles and run assuming they were cars or bikes.&lt;&#x2F;p&gt;
&lt;p&gt;In his teens he would still go to the village where his grandparents lived farming, ploughing and growing stuff. But he would not get a chance to experience how all those things were done. He&#x27;d sit as an outsider and watch them plough the field, controlling and turning bulls at their command and made them drag the plough on the filed.&lt;&#x2F;p&gt;
&lt;p&gt;They worried about him and his nice, clean clothes and would ask him to stay far from the field and not get dirty. He wore his dad&#x27;s old clothes and went to the field sometimes, but they still wouldn&#x27;t give him a chance to work, saying he&#x27;d get hurt.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;city&quot;&gt;City:&lt;&#x2F;h2&gt;
&lt;p&gt;While he was in the city, he&#x27;d play snake on his dad&#x27;s Nokia and watch cartoons like Ben 10, Pokémon, Bakugan, Dragon Ball Z, Tom and Jerry, Moo min, Zig and Sharko, etc on TV.&lt;&#x2F;p&gt;
&lt;p&gt;His dad got a smarter but still keypad phone (Nokia X1) which had internet, and he made his first Facebook account in it. He would download Java games like Assassin&#x27;s Creed, Spider-Man, Ben 10, Mario, Diamond Rush etc from Waptrick. When bored he would dig through the deepest settings of the phone and change things, which might have planted his love for computers at that time, and he still does it.&lt;&#x2F;p&gt;
&lt;p&gt;He&#x27;d often go to his friend&#x27;s house and watch them play with their PSPs and Computers. He was always fascinated by how those things worked.&lt;&#x2F;p&gt;
&lt;p&gt;Here his friends would not let him play with their PSPs and Computers as he didn&#x27;t know how to use them, and they were afraid if he would break it. As smartphones were at the market, his uncle gifted his mom with a Samsung Smartphone, and he played offline games like Temple Run, Mario, Plant vs Zombies, etc in it. The mobile data costs were high at that time and that has an effect on him till today; he doesn&#x27;t play online games.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;influence&quot;&gt;Influence&lt;&#x2F;h2&gt;
&lt;p&gt;He knew things of both village and town and even the teachers who taught them about primitive technologies and  other old things would be shocked by seeing him recognize everything they read from the book since he had seen them being used. He taught his friends to communicate secretly by the special language he learnt at the village (basically it was putting a special syllable before every syllable and speaking it that way. The special syllable was &quot;cha&quot; and the word &#x27;development&#x27; would be &quot;cha-dev cha-lop cha-ment&quot; but in our native language of course.)&lt;&#x2F;p&gt;
&lt;p&gt;He&#x27;d teach his village friends to make a Facebook account, upload posts, download games on their phones and all that &quot;techy stuff&quot; they thought was magic. He shared downloaded movies and music to them. He was a tech guy to everyone there. He still gets calls from his relatives if any kind of mobile related problems occur to them.&lt;&#x2F;p&gt;
&lt;p&gt;It is surely due to limited resources, He would use everything by pushing it to the limits. Still today, he digs through the settings of a newer looking phone, hoping he&#x27;d find new interesting stuff.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;He was never a native and that made him unique which he still enjoys being.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;today&quot;&gt;Today&lt;&#x2F;h2&gt;
&lt;p&gt;Today he went to his village for a visit, and was devastated by the collapsing old house as it is abandoned and nobody cares for it. He got one day to recall all memories he spent as a child and also a teen. One day of sitting on the floor eating with hands in a smokey warm kitchen with food grown in the kitchen garden or rather &quot;kitchen field&quot; with no added chemicals. One day of eating fruits by picking it himself from the tree. One day of gazing at the stars shining brightly above the heaven below. One day of wishing to meet his old friends who mostly are now abroad for money. All those memories to come back melting the heart and eyes of who he was, me.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Here I Lie With Truth</title>
        <published>2022-09-27T00:00:00+00:00</published>
        <updated>2022-09-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/here-i-lie-with-truth/"/>
        <id>https://scientiac.space/blog/here-i-lie-with-truth/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/here-i-lie-with-truth/">&lt;p&gt;There&#x27;s a lot of things going on in my mind, right now.&lt;br &#x2F;&gt;
Too many things I want to bring them out, but how?&lt;br &#x2F;&gt;
Pain, mistakes, regrets, just aches that I have, oh wow!&lt;br &#x2F;&gt;
Things I wish that I had stopped doing by now, no doubt.&lt;&#x2F;p&gt;
&lt;p&gt;Every nice thing I try to do goes wrong, you know?&lt;br &#x2F;&gt;
Break yourself along with the people you love, oh no!&lt;br &#x2F;&gt;
I tend to win them back with some more truth, although!&lt;br &#x2F;&gt;
They wont ever know the darker side of me, just hope.&lt;&#x2F;p&gt;
&lt;p&gt;Love others like the way you love yourself? please don&#x27;t!&lt;br &#x2F;&gt;
Gave my whole heart away but she did&#x27;t want it. I wont.&lt;br &#x2F;&gt;
Show them that you love them equal by heart? You can&#x27;t.&lt;br &#x2F;&gt;
Know that you don&#x27;t have anyone to talk now, then rant.&lt;&#x2F;p&gt;
&lt;p&gt;Tears from my eyes sliding down to the pillow, it&#x27;s wet.&lt;br &#x2F;&gt;
I wish that I had pushed myself a bit harder, too late.&lt;br &#x2F;&gt;
One will stop loving me the way they do now, I&#x27;m afraid.&lt;br &#x2F;&gt;
Not happy of what I keep on doing everyday, you bet.&lt;&#x2F;p&gt;
&lt;p&gt;You can do it better than that I thought of? No way!&lt;br &#x2F;&gt;
Say you have all the answers to my problems? Go away!&lt;br &#x2F;&gt;
I don&#x27;t care what you think about my things, oh nay!&lt;br &#x2F;&gt;
So you went away and did it all your way? &quot;hooh-rayh&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;I think about the past and think what&#x27;s new, do you?&lt;br &#x2F;&gt;
Ghosts from the past haunting me everyday, aaah...phew!&lt;br &#x2F;&gt;
I kept on cheating my way out from them, noone knew.&lt;br &#x2F;&gt;
Keep looping back and repeat all my mistakes, not new.&lt;&#x2F;p&gt;
&lt;p&gt;I need some people who say what I write are bad, I do.&lt;br &#x2F;&gt;
I try to pour down everything on my writings, lies too.&lt;br &#x2F;&gt;
Both my cheeks go red and the brain goes dark, heart blue.&lt;br &#x2F;&gt;
It hurts to write and it hurts while writing, it&#x27;s true.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Emotions</title>
        <published>2022-08-28T00:00:00+00:00</published>
        <updated>2022-08-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/emotions/"/>
        <id>https://scientiac.space/blog/emotions/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/emotions/">&lt;h2 id=&quot;a-poem-written-by-two-different-brains-with-different-emotions&quot;&gt;A poem written by two different brains with different emotions.&lt;&#x2F;h2&gt;
&lt;p&gt;Incharge, I thought I was,&lt;br &#x2F;&gt;
thought I could control them.&lt;br &#x2F;&gt;
Soo bad, was I soo wrong,&lt;br &#x2F;&gt;
couldn&#x27;t see when they came.&lt;&#x2F;p&gt;
&lt;p&gt;Swiftly, they came by and got stuck,&lt;br &#x2F;&gt;
thought they&#x27;ll pass by and not stay.&lt;br &#x2F;&gt;
Warm and subtle, they lured their way,&lt;br &#x2F;&gt;
I fear I might be the one standing at bay.&lt;&#x2F;p&gt;
&lt;p&gt;Shocked, I was to then know,&lt;br &#x2F;&gt;
how those began to then grow.&lt;br &#x2F;&gt;
Scared, that&#x27;s all I was now,&lt;br &#x2F;&gt;
hide them? or, shall I show.&lt;&#x2F;p&gt;
&lt;p&gt;Dilemma, you ask? that might not just justify,&lt;br &#x2F;&gt;
for I could decide but still not be bold.&lt;br &#x2F;&gt;
Sunshines and storms, it slowly spoke sense.&lt;br &#x2F;&gt;
Let it go or have faith and hold?&lt;&#x2F;p&gt;
&lt;p&gt;Worried, I tend to cry sometimes,&lt;br &#x2F;&gt;
though my heart, warm it feels.&lt;br &#x2F;&gt;
Defeated, from all these norms,&lt;br &#x2F;&gt;
I bow to them and then I kneel.&lt;&#x2F;p&gt;
&lt;p&gt;Longing, because it always feels home,&lt;br &#x2F;&gt;
but sometimes I wish I had a shield.&lt;br &#x2F;&gt;
Quarrels and conquers, looking for win.&lt;br &#x2F;&gt;
Somewhere, I know, I have to yield.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;|--------+---------------|  
&lt;&#x2F;span&gt;&lt;span&gt;| Stanza |     Poet      |  
&lt;&#x2F;span&gt;&lt;span&gt;|--------+---------------|  
&lt;&#x2F;span&gt;&lt;span&gt;| 1,3,5  | scientiac     |  
&lt;&#x2F;span&gt;&lt;span&gt;| 2,4,6  | resilientrasa |  
&lt;&#x2F;span&gt;&lt;span&gt;|--------+---------------|  
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;links&quot;&gt;Links:&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;gemini:&#x2F;&#x2F;gemini.ctrl-c.club&#x2F;~resilientrasa&#x2F;&quot;&gt;My friend resilientrasa&#x27;s capsule.&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Love Of My Life</title>
        <published>2022-08-18T00:00:00+00:00</published>
        <updated>2022-08-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/love-of-my-life/"/>
        <id>https://scientiac.space/blog/love-of-my-life/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/love-of-my-life/">&lt;p&gt;Those few moments before disasters,&lt;br &#x2F;&gt;
Moments of breakups and pain,&lt;br &#x2F;&gt;
Moments of failures and pain,&lt;br &#x2F;&gt;
Moments of stress and pain,&lt;br &#x2F;&gt;
Moments of rejections and pain,&lt;br &#x2F;&gt;
Ahh pain!&lt;br &#x2F;&gt;
My one true friend, my love.&lt;br &#x2F;&gt;
The one who never leaves me.&lt;br &#x2F;&gt;
The one and the only!&lt;br &#x2F;&gt;
I love the constant breaks and patches.&lt;br &#x2F;&gt;
I love how you surprise me.&lt;br &#x2F;&gt;
I love the things you do to me.&lt;br &#x2F;&gt;
Yeah! Pain! I love you.&lt;br &#x2F;&gt;
I don&#x27;t remember the day I met you.&lt;br &#x2F;&gt;
My first cry, probably was you.&lt;br &#x2F;&gt;
Pain, you make me happy.&lt;br &#x2F;&gt;
The relief that it already happened.&lt;br &#x2F;&gt;
The hope of mending the mistakes.&lt;br &#x2F;&gt;
The feeling of being happy again.&lt;br &#x2F;&gt;
Ohh pain!&lt;br &#x2F;&gt;
My one true friend, my love.&lt;br &#x2F;&gt;
The one who loves me back.&lt;br &#x2F;&gt;
It&#x27;s you who makes me strong.&lt;br &#x2F;&gt;
It&#x27;s you who help me make decisions,&lt;br &#x2F;&gt;
strong, bold and difficult decisions.&lt;br &#x2F;&gt;
Keeps me awake, help me breathe.&lt;br &#x2F;&gt;
Without you, I may not exist.&lt;br &#x2F;&gt;
What&#x27;s &#x27;happiness&#x27; before you?&lt;br &#x2F;&gt;
Like, that one girl, whom you like but....&lt;br &#x2F;&gt;
That sweet cake, delicious but...&lt;br &#x2F;&gt;
That engineering tag, with knowledge but....&lt;br &#x2F;&gt;
Those nice abs, with wows but...&lt;br &#x2F;&gt;
Happiness, you&#x27;re just full of buts,&lt;br &#x2F;&gt;
&quot;but toxic&quot;&lt;br &#x2F;&gt;
I just love the pureness of you, pain.&lt;br &#x2F;&gt;
The night before a new day,&lt;br &#x2F;&gt;
or the day before that starry night.&lt;br &#x2F;&gt;
It&#x27;s you who helps me though things.&lt;br &#x2F;&gt;
it&#x27;s you who showed me the world,&lt;br &#x2F;&gt;
to think differently, to live!&lt;br &#x2F;&gt;
Oh pain!&lt;br &#x2F;&gt;
My one true friend, my love.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Please Pretend</title>
        <published>2022-08-11T00:00:00+00:00</published>
        <updated>2022-08-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/please-pretend/"/>
        <id>https://scientiac.space/blog/please-pretend/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/please-pretend/">&lt;p&gt;I pretend to be an expert,&lt;br &#x2F;&gt;
I pretend to be a master,&lt;br &#x2F;&gt;
just pretend to do the work,&lt;br &#x2F;&gt;
And pretend to not suck.&lt;&#x2F;p&gt;
&lt;p&gt;I pretend to be good,&lt;br &#x2F;&gt;
I pretend to be loved,&lt;br &#x2F;&gt;
then pretend that I can ace,&lt;br &#x2F;&gt;
and pretend like I am the best.&lt;&#x2F;p&gt;
&lt;p&gt;I pretend to love you,&lt;br &#x2F;&gt;
I pretend to be fun,&lt;br &#x2F;&gt;
yet pretend to hear you talk,&lt;br &#x2F;&gt;
and pretend that you rock.&lt;&#x2F;p&gt;
&lt;p&gt;I pretend that I&#x27;m happy,&lt;br &#x2F;&gt;
I pretend to smile, a lot!&lt;br &#x2F;&gt;
so pretend that I am optimistic,&lt;br &#x2F;&gt;
and pretend that I&#x27;m not sick.&lt;&#x2F;p&gt;
&lt;p&gt;I pretend to be a friend,&lt;br &#x2F;&gt;
I pretend like I&#x27;m a helping hand,&lt;br &#x2F;&gt;
therefore pretend to be so nice,&lt;br &#x2F;&gt;
And pretend like I am as wise.&lt;&#x2F;p&gt;
&lt;p&gt;You think I wish good for you,&lt;br &#x2F;&gt;
I pretend like I am with you,&lt;br &#x2F;&gt;
You think I dont hate your view,&lt;br &#x2F;&gt;
I pretend like I like that too.&lt;&#x2F;p&gt;
&lt;p&gt;You think I want to see you smile,&lt;br &#x2F;&gt;
and think I bring the good of vibes,&lt;br &#x2F;&gt;
I just pretend to be the man,&lt;br &#x2F;&gt;
that you think helps till he can.&lt;&#x2F;p&gt;
&lt;p&gt;You think what I say is true?&lt;br &#x2F;&gt;
It&#x27;s soo not what I see in you,&lt;br &#x2F;&gt;
I just pretend how good you are,&lt;br &#x2F;&gt;
killing your picture made by ears.&lt;&#x2F;p&gt;
&lt;p&gt;You think that &#x27;I&#x27; is a poet,&lt;br &#x2F;&gt;
I pretend that it&#x27;s I who is,&lt;br &#x2F;&gt;
But that&#x27;s as wrong as it can get,&lt;br &#x2F;&gt;
It&#x27;s everyone, you&#x27;ll see, just wait.&lt;&#x2F;p&gt;
&lt;p&gt;I see you think your view is pure,&lt;br &#x2F;&gt;
you treat the ones like they deserve,&lt;br &#x2F;&gt;
oh! I think they are not so bad,&lt;br &#x2F;&gt;
Pretend! You&#x27;ll see the good they have.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;just-pretend-you-re-good-to-them-and-you-ll-see-the-good-in-them-as-well&quot;&gt;Just pretend you&#x27;re good to them and you&#x27;ll see the good in them as well.&lt;&#x2F;h3&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Facebook a Choice, Not an Obligation</title>
        <published>2022-07-03T00:00:00+00:00</published>
        <updated>2022-07-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/facebook-a-choice-not-an-obligation/"/>
        <id>https://scientiac.space/blog/facebook-a-choice-not-an-obligation/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/facebook-a-choice-not-an-obligation/">&lt;h2 id=&quot;a-brief-reminder-of-the-freedom-of-choice-and-privacy&quot;&gt;A brief reminder of the freedom of choice and privacy.&lt;&#x2F;h2&gt;
&lt;p&gt;Last year, I decided to ditch Facebook and meta in overall because of the raising privacy concerns and addictive nature of these mainstream social media platforms. Of course backed by my knowledge of privacy and the help of different online communities, especially the Linux community talking about internet privacy and the openness of FOSS I quickly realized that the world of internet is not a very good place to be in, especially the social media platforms without federation and very high filtration of what people can&#x2F;not, want&#x2F;not to see. I realized that the posts that I am scrolling through are picked and compiled for my tastes and to keep me stuck in the place for so long that I see enough ads and decide to buy one of the products that I see is what I want but don&#x27;t need.&lt;&#x2F;p&gt;
&lt;p&gt;I felt that the social media should not have any filtration over its contents by a person to person basis but have a good moderation for a set of people&#x2F;community where one thing of one community may think what they are doing is good&#x2F;legal while the other communities because of their social norms sees bad&#x2F;illegal. Another thing is the arrangement of posts, the posts should be arranged in a chronological manner with respect to time (new posts on the top and older at the bottom.). It should be private and should have an ability to federate with other platforms if one decides to not use it but wants to be in touch with the people inside it. And last but not the least It should be open by which everyone is ensured that they are safe and the company&#x2F;organization is not using our data for their own betterment behind our back.&lt;&#x2F;p&gt;
&lt;p&gt;But what you get is not always what you want. I had to make a Facebook account because my university circulates all its regular notice via Facebook and only Facebook, despite them having a website of their own where they do post some very specific notices. I could have lived with the university&#x27;s specific notices but every other group&#x2F;club&#x2F;association; the club for students interested in robotics, in software development, associations of computer, civil, etc  engineering students, etc inside my university share information solely on Facebook which I being someone interested in robotics as well as software really want to know.&lt;&#x2F;p&gt;
&lt;p&gt;It could be a whole different story if anyone except I were concerned about their privacy and&#x2F;or didn&#x27;t use Facebook with one reason or another. But even if I proposed a solution it will be just for me, and they will eventually stop following it and keep posting on Facebook as they are doing right now.  I quote Olamundo from mastodon (@olamundo@red.niboe.info), &quot;Having a Facebook account is an option (which highly educated people are expected not to take, considering current news and concerns), not an obligation.&quot;&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s very difficult to maintain privacy on the internet, either you have to completely disconnect from them or keep using what they give without even considering if privacy was a thing.&lt;&#x2F;p&gt;
&lt;p&gt;Proposable Solutions :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Using a website for everything with support for RSS.&lt;&#x2F;li&gt;
&lt;li&gt;Using mastodon or any other federated social media for notice circulation, along with some sort of redirection to it for Facebook.&lt;&#x2F;li&gt;
&lt;li&gt;Using MATRIX w&#x2F;o bridges for those who don&#x27;t want an account on discord&#x2F;messenger and still be able to contact with everyone.&lt;&#x2F;li&gt;
&lt;li&gt;Using discourse or similar software for notice as well as chats.&lt;&#x2F;li&gt;
&lt;li&gt;Anything that doesn&#x27;t require any specific non privacy respecting software and is accessible by everyone.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;links&quot;&gt;Links:&lt;&#x2F;h3&gt;
&lt;p&gt;Information on
&lt;a href=&quot;https:&#x2F;&#x2F;www.w3schools.com&#x2F;XML&#x2F;xml_rss.asp&quot;&gt;RSS (subscription method for websites)&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;fediverse.party&#x2F;&quot;&gt;Federated Social Media (Mastodon, Pleroma etc.)&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;&quot;&gt;Matrix (bridging chat platforms.)&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;www.discourse.org&#x2F;&quot;&gt;Discourse (a forum for community)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Chain Rejection</title>
        <published>2022-07-02T00:00:00+00:00</published>
        <updated>2022-07-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/chain-rejection/"/>
        <id>https://scientiac.space/blog/chain-rejection/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/chain-rejection/">&lt;p&gt;Everybody has experienced rejection.&lt;br &#x2F;&gt;
Some are brutal, some meh! It&#x27;s fine.&lt;br &#x2F;&gt;
I have experienced both, and yeah brutal.&lt;br &#x2F;&gt;
One is a personal rejection and the other...&lt;br &#x2F;&gt;
The other is weird, a chain rejection.&lt;br &#x2F;&gt;
But a chain rejection is weird and brutal.&lt;br &#x2F;&gt;
A chain rejection occurs only in a group.&lt;&#x2F;p&gt;
&lt;p&gt;Imagine...&lt;&#x2F;p&gt;
&lt;p&gt;You&#x27;re presenting something in a group.&lt;br &#x2F;&gt;
An event occurs, which was&#x2F;n&#x27;t planned.&lt;br &#x2F;&gt;
One person supports the event and other,&lt;br &#x2F;&gt;
and other and other and finally everyone.&lt;br &#x2F;&gt;
That moment, your presentation in crushed&lt;br &#x2F;&gt;
Crushed into pieces, pulverized, and finally&lt;br &#x2F;&gt;
burnt to ashes, remains the dust, the dust,&lt;br &#x2F;&gt;
that&#x27;s of no use, a dust of pain and anger,&lt;br &#x2F;&gt;
In my case the it was dust of my first try,&lt;br &#x2F;&gt;
the dust of my confidence and finally,&lt;br &#x2F;&gt;
the dust of my creation, my happyness.&lt;&#x2F;p&gt;
&lt;p&gt;Weird right ?&lt;&#x2F;p&gt;
&lt;p&gt;Well, naming a phenomena is fun,&lt;br &#x2F;&gt;
sitting in silence swinging is fun too,&lt;br &#x2F;&gt;
writing a poem in pain and anger,&lt;br &#x2F;&gt;
too much fun!&lt;br &#x2F;&gt;
The poem stores your anger in it,&lt;br &#x2F;&gt;
And finally the poem heals you,&lt;br &#x2F;&gt;
Ohhh! I had fun at last.&lt;br &#x2F;&gt;
What a great day!&lt;br &#x2F;&gt;
Experiencing chain rejection, was fun.&lt;br &#x2F;&gt;
I am welcomed, It was fun, Thank You!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>You</title>
        <published>2022-06-07T00:00:00+00:00</published>
        <updated>2022-06-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/you/"/>
        <id>https://scientiac.space/blog/you/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/you/">&lt;p&gt;I&#x27;m sleepless, and not tired,&lt;br &#x2F;&gt;
happy but scared.&lt;br &#x2F;&gt;
I&#x27;m dreaming, yet awake,&lt;br &#x2F;&gt;
all because of you.&lt;&#x2F;p&gt;
&lt;p&gt;The way you look at me,&lt;br &#x2F;&gt;
your shining eyes.&lt;br &#x2F;&gt;
They are magnificent,&lt;br &#x2F;&gt;
see, I&#x27;m drowning into it.&lt;&#x2F;p&gt;
&lt;p&gt;The way you speak with me,&lt;br &#x2F;&gt;
your rosy pink lips.&lt;br &#x2F;&gt;
Melts my heart into water,&lt;br &#x2F;&gt;
everytime, again and again.&lt;&#x2F;p&gt;
&lt;p&gt;My eyes search you.&lt;br &#x2F;&gt;
and find you in the dark.&lt;br &#x2F;&gt;
The picture, it&#x27;s always yours,&lt;br &#x2F;&gt;
as my eyelids close to black.&lt;&#x2F;p&gt;
&lt;p&gt;I can listen to my heart,&lt;br &#x2F;&gt;
It&#x27;s dashes and dots.&lt;br &#x2F;&gt;
Think it&#x27;s telling your name,&lt;br &#x2F;&gt;
In morse, &#x27;.-..  ---  ...-&#x27; and a &#x27;.&#x27;&lt;&#x2F;p&gt;
&lt;p&gt;Hope we have things in common,&lt;br &#x2F;&gt;
and that, we could be one.&lt;br &#x2F;&gt;
Hope, It&#x27;s a beautiful thing,&lt;br &#x2F;&gt;
Butterflies, in my stomach.&lt;&#x2F;p&gt;
&lt;p&gt;Seeing you happy, a heavenly feeling,&lt;br &#x2F;&gt;
your laugh, it mesmerizing.&lt;br &#x2F;&gt;
Hearts, you&#x27;re supposed to rule.&lt;br &#x2F;&gt;
Conclusion: You&#x27;re too beautiful.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Time</title>
        <published>2022-05-30T00:00:00+00:00</published>
        <updated>2022-05-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/time/"/>
        <id>https://scientiac.space/blog/time/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/time/">&lt;p&gt;Tik, tik, tik&lt;br &#x2F;&gt;
It&#x27;s flowing! Or is it?&lt;br &#x2F;&gt;
Multiple consequences, resulted from different decisions,&lt;br &#x2F;&gt;
to here, I started writing a poem.&lt;br &#x2F;&gt;
Some say the flow is linear,&lt;br &#x2F;&gt;
but I like to assume it&#x27;s not.&lt;br &#x2F;&gt;
I like to compare it to how Huygens described light.&lt;br &#x2F;&gt;
The wavelets of time forming from each moment,&lt;br &#x2F;&gt;
different from others, multiple realities.&lt;br &#x2F;&gt;
The branching is what makes it exciting,&lt;br &#x2F;&gt;
the assumption that my universe is different,&lt;br &#x2F;&gt;
it&#x27;s mine.&lt;br &#x2F;&gt;
What if I had not started writing this poem.&lt;br &#x2F;&gt;
Would  there be another instance of this universe?&lt;br &#x2F;&gt;
Where I am writing this exact poem?&lt;br &#x2F;&gt;
What is the other me writing?&lt;br &#x2F;&gt;
Is he fantasizing time like I&#x27;m doing?&lt;br &#x2F;&gt;
Or is &quot;she&quot; writing a poem for her crush?&lt;br &#x2F;&gt;
Time is un-describable, it&#x27;s un-graspable.&lt;br &#x2F;&gt;
We are bound in time, a very, very short time.&lt;br &#x2F;&gt;
Time makes us happy,&lt;br &#x2F;&gt;
A short time with her.&lt;br &#x2F;&gt;
It makes us sad,&lt;br &#x2F;&gt;
A short time with her.&lt;br &#x2F;&gt;
It makes us beg,&lt;br &#x2F;&gt;
A short time with her.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
Time, it&#x27;s a nasty thing.&lt;br &#x2F;&gt;
Ah, wait! It&#x27;s 9:49 already?&lt;br &#x2F;&gt;
Aww crap! I&#x27;m Late for college!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Using Light Mode</title>
        <published>2022-04-30T00:00:00+00:00</published>
        <updated>2022-04-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/light-mode/"/>
        <id>https://scientiac.space/blog/light-mode/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/light-mode/">&lt;p&gt;I have been a fan of dark mode for a long time. People including myself are so invested into dark mode that everything whether it supports or not is on the dark scheme, or even worse &quot;pure black&quot;. Every website turns black no matter what the creator had intended. Every app goes dark forcefully with mismatched buttons and forms but we still use it.&lt;&#x2F;p&gt;
&lt;p&gt;I have read many articles about people changing their display modes to &#x27;light&#x27; and saying that &quot;dark-mode&quot; isn&#x27;t as beneficial as we considered it to be. We all assumed that dark mode reduced the strain in our eyes and also saved battery. I cannot be a 100 percent sure and say that it doesn&#x27;t.&lt;&#x2F;p&gt;
&lt;p&gt;I recommend reading the article published by The Nielson Norman Group¹ about dark vs light mode, where they have concluded that using Light mode resulted in better performance than using the dark mode for most people.&lt;&#x2F;p&gt;
&lt;p&gt;We humans evolved collecting food&#x2F;hunting in the daytime and taking rest at night, our eyes are developed to be used in the presence of more light. Eyes in general are supposed to be more functional and useful when more light is present. The pupils in our eyes becomes wide when we are in an environment where there is less light, and they  become narrow where there is more, but the performance of our reading doesn&#x27;t just depend upon the amount of light passing through our pupil, but also the size of the pupil through which the light passes.&lt;&#x2F;p&gt;
&lt;p&gt;Our eyes just like the cameras work in the same principle (Actually cameras work in the same principle as our eyes do). If the  aperture of the eyes is larger, the depth of field is shallower as a result it is harder to focus on things, but when our eyes have enough light the pupils shrink making the aperture smaller and eventually increasing the depth of field and making it easier for us to focus.&lt;&#x2F;p&gt;
&lt;p&gt;It is not that &#x27;dark-mode&#x27; has no advantages. It has! The claim that it saves battery is correct, but only if the technology used in the display is OLED. But most laptops and display people use are IPS&#x2F;LCD panels, which cannot turn off the pixels to display true black like OLED does. There is always a backlit besides the screen which glows when the screen is on even when the colour displayed is black. Dark mode may even be better for people with cloudy ocular media (like cataract) because the display emits less light as the people suffering from this problem prefer less light as more light reaches the eye with a cloudy lens, there’s a bigger chance of a distortion.&lt;&#x2F;p&gt;
&lt;p&gt;Light mode isn&#x27;t perfectly good either, because there may be long-term effects associated with light mode, like the chances of myopia.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;In their study, Andrea Aleman and her colleagues at University of Tübingen in Germany asked 7 human participants to read text presented in dark mode and light mode for an hour each. To see if their predisposition to myopia changed after reading, they measured the thickness of the choroid, a vascular membrane behind the retina. The thinning of the choroid is associated with myopia.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;&#x2F;h2&gt;
&lt;p&gt;Light mode helps us focus better and also reduces strain in our eyes as compared to dark mode, automatically improving our performance and hence our productivity. But in the long term, there might me chances of myopia. Another thing is that dark mode is still required for the people who still enjoy dark mode and also for the people who are suffering from cloudy ocular media or similar problems.
As of me, I will be continuing the experiment and keep changing things and try different shades of colours keeping the light theme in mind. I am a person who loves the terminal, so the terminal in light mode is going to be very difficult to adapt, but let&#x27;s see where this experiment takes me.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;links&quot;&gt;Links:&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.nngroup.com&#x2F;articles&#x2F;dark-mode&#x2F;&quot;&gt;Article published by The Nielson Norman Group&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>I in My Wonderland</title>
        <published>2022-03-31T00:00:00+00:00</published>
        <updated>2022-03-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/wonderland/"/>
        <id>https://scientiac.space/blog/wonderland/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/wonderland/">&lt;p&gt;I wonder what a blind man sees.&lt;br &#x2F;&gt;
Does he see darkness like I do&lt;br &#x2F;&gt;
or does he feel colors through his ears?&lt;&#x2F;p&gt;
&lt;p&gt;I wonder what a deaf woman hears.&lt;br &#x2F;&gt;
Does she feel silence like I do&lt;br &#x2F;&gt;
or does she enjoy music with her eyes?&lt;&#x2F;p&gt;
&lt;p&gt;I wonder what a dead person thinks.&lt;br &#x2F;&gt;
Does it think of nothingness which I can&#x27;t&lt;br &#x2F;&gt;
or does it think with it&#x27;s soul flying? Up! up in the sky.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m Unexperienced, I don&#x27;t know any.&lt;br &#x2F;&gt;
Lost inside the wonders that my brain creates.&lt;br &#x2F;&gt;
Is there a way to feel what others do? No!&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s no good or bad in wondering.&lt;br &#x2F;&gt;
The people dying in my head when they are late.&lt;br &#x2F;&gt;
It&#x27;s just my own brain trying to scare itself.&lt;&#x2F;p&gt;
&lt;p&gt;I get overly excited wondering a thing.&lt;br &#x2F;&gt;
A thing that&#x27;s close to impossible, soo close.&lt;br &#x2F;&gt;
And then I am demolished by the same impossibility.&lt;&#x2F;p&gt;
&lt;p&gt;The positives and negatives of wonder.&lt;br &#x2F;&gt;
They are contained within themselves.&lt;br &#x2F;&gt;
All the difference is made by the truth I expect.&lt;&#x2F;p&gt;
&lt;p&gt;But all the unreality breaks down in a while.&lt;br &#x2F;&gt;
I snap back into existence, the real world.&lt;br &#x2F;&gt;
Where the world is driven by it. Yes, wonders!&lt;&#x2F;p&gt;
&lt;p&gt;I wonder what I could be if ……………………&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Fear</title>
        <published>2022-02-28T00:00:00+00:00</published>
        <updated>2022-02-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/fear/"/>
        <id>https://scientiac.space/blog/fear/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/fear/">&lt;p&gt;Why is this thing in my mind?&lt;br &#x2F;&gt;
Is it what is keeping me alive.&lt;br &#x2F;&gt;
I just can&#x27;t be afraid all my life.&lt;br &#x2F;&gt;
It feels like I&#x27;m loosing the fight.&lt;&#x2F;p&gt;
&lt;p&gt;Why am I acting like I&#x27;m high?&lt;br &#x2F;&gt;
It feels like I&#x27;m burning inside.&lt;br &#x2F;&gt;
I have searched it far and wide.&lt;br &#x2F;&gt;
Can anyone please show me light.&lt;&#x2F;p&gt;
&lt;p&gt;Are decisions getting hard to make?&lt;br &#x2F;&gt;
This is what is keeping me awake.&lt;br &#x2F;&gt;
Afraid that I&#x27;m never gonna make.&lt;br &#x2F;&gt;
I keep failing the tests they take.&lt;&#x2F;p&gt;
&lt;p&gt;Am I really getting depressed?&lt;br &#x2F;&gt;
Think I need some time to rest.&lt;br &#x2F;&gt;
Despite of giving all my best.&lt;br &#x2F;&gt;
I have always failed to impress.&lt;&#x2F;p&gt;
&lt;p&gt;Why am I even writing this poem?&lt;br &#x2F;&gt;
Maybe to bury sorrow with rhyme.&lt;br &#x2F;&gt;
Only thing that makes me whine,&lt;br &#x2F;&gt;
That I just  have not a lot of time.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Sweet Poison</title>
        <published>2022-01-11T00:00:00+00:00</published>
        <updated>2022-01-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/sweet-poison/"/>
        <id>https://scientiac.space/blog/sweet-poison/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/sweet-poison/">&lt;p&gt;Some mistakes I fix myself.&lt;br &#x2F;&gt;
And others I don&#x27;t want to fix.&lt;br &#x2F;&gt;
Those mistakes I find myself.&lt;br &#x2F;&gt;
And others, resonate from noise.&lt;&#x2F;p&gt;
&lt;p&gt;I try doing things my way.&lt;br &#x2F;&gt;
And others are forced on me.&lt;br &#x2F;&gt;
Those things I understand.&lt;br &#x2F;&gt;
And others, they go in vain.&lt;&#x2F;p&gt;
&lt;p&gt;Asking questions I learn a lot.&lt;br &#x2F;&gt;
Other things are (m.a)ed to try.&lt;br &#x2F;&gt;
Now I play with: Force = m.a&lt;br &#x2F;&gt;
And others, I just know, don&#x27;t ask!&lt;&#x2F;p&gt;
&lt;p&gt;These days I just listen, no talk.&lt;br &#x2F;&gt;
Runners teaching toddlers to walk.&lt;br &#x2F;&gt;
And I think they should let them fall.&lt;br &#x2F;&gt;
Other times, I know that&#x27;s love.&lt;&#x2F;p&gt;
&lt;p&gt;Showing faults, is not what they like.&lt;br &#x2F;&gt;
It&#x27;s kinda like training wheels on a bike.&lt;br &#x2F;&gt;
I know generally medicines are bitter.&lt;br &#x2F;&gt;
Don&#x27;t forget some poisons are sweeter.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>You Won&#x27;t Understand</title>
        <published>2022-01-06T00:00:00+00:00</published>
        <updated>2022-01-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/you-wont-understand/"/>
        <id>https://scientiac.space/blog/you-wont-understand/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/you-wont-understand/">&lt;p&gt;You...&lt;br &#x2F;&gt;
Don&#x27;t think the way I think.&lt;br &#x2F;&gt;
Don&#x27;t count the things I do.&lt;br &#x2F;&gt;
Don&#x27;t see the love in me.&lt;br &#x2F;&gt;
Can&#x27;t feel the pain I feel.&lt;br &#x2F;&gt;
Don&#x27;t notice a friend in me.&lt;br &#x2F;&gt;
Don&#x27;t see what I expect.&lt;br &#x2F;&gt;
Are not like who you were.&lt;br &#x2F;&gt;
Are not who I used to think.&lt;br &#x2F;&gt;
Don&#x27;t share what you feel.&lt;br &#x2F;&gt;
Can&#x27;t see what I&#x27;ve become.&lt;&#x2F;p&gt;
&lt;p&gt;I...&lt;br &#x2F;&gt;
Have done what I could do.&lt;br &#x2F;&gt;
Tried to share my feelings with you.&lt;br &#x2F;&gt;
Have hid a lot of pain.&lt;br &#x2F;&gt;
Think I know how you do.&lt;br &#x2F;&gt;
Tried to be there for you.&lt;br &#x2F;&gt;
Tried to be a friend in need.&lt;br &#x2F;&gt;
Thought I could fix all this.&lt;br &#x2F;&gt;
Thought we were bros still.&lt;br &#x2F;&gt;
Don&#x27;t want to regret this time.&lt;br &#x2F;&gt;
Need your help to fix my life.&lt;&#x2F;p&gt;
&lt;p&gt;We...&lt;br &#x2F;&gt;
Got no time to talk&lt;br &#x2F;&gt;
Have no time to be there.&lt;br &#x2F;&gt;
Need us both to understand.&lt;br &#x2F;&gt;
Have all these things to share.&lt;br &#x2F;&gt;
Need to win that wicked mood.&lt;br &#x2F;&gt;
But don&#x27;t need to win always.&lt;br &#x2F;&gt;
Might as well fight sometimes.&lt;br &#x2F;&gt;
Know that it takes some time.&lt;br &#x2F;&gt;
Know that It has not been late.&lt;br &#x2F;&gt;
Just need to communicate.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Variable Constants</title>
        <published>2021-12-28T00:00:00+00:00</published>
        <updated>2021-12-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/variable-constants/"/>
        <id>https://scientiac.space/blog/variable-constants/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/variable-constants/">&lt;h3 id=&quot;things-can-be-replaced&quot;&gt;Things can be replaced.&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;like&quot;&gt;Like,&lt;&#x2F;h3&gt;
&lt;p&gt;The phone that I am &quot;typing&quot; this poem on...&lt;&#x2F;p&gt;
&lt;p&gt;The language that I used to &quot;express&quot; on...&lt;&#x2F;p&gt;
&lt;p&gt;The pillow where I am &quot;joining the pieces&quot; of this poem...&lt;&#x2F;p&gt;
&lt;p&gt;The polluted yet &quot;facilitated&quot; city where I am breathing the air from...&lt;&#x2F;p&gt;
&lt;p&gt;Heck! I even managed to replace the &quot;love&quot; I used to have towards the girl I thought I loved...&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wait&quot;&gt;Wait!&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;even-though-they-are-replaced-they-never-leave-me&quot;&gt;Even though they are replaced, they never leave me.&lt;&#x2F;h3&gt;
&lt;p&gt;The smell of the paper and the sensation of the pen gliding through it...&lt;&#x2F;p&gt;
&lt;p&gt;Writing in Nepali where I can express my feelings my way...&lt;&#x2F;p&gt;
&lt;p&gt;Sitting on a cold chair with the warmth to write something from my heart...&lt;&#x2F;p&gt;
&lt;p&gt;My home village where I used to live though I am in the biggest city of my country...&lt;&#x2F;p&gt;
&lt;p&gt;Seeing her face even though I feel like I dont love her anymore...&lt;&#x2F;p&gt;
&lt;h3 id=&quot;but&quot;&gt;But,&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;there-are-things-beyond-my-understanding-of-replacement&quot;&gt;There are things beyond my understanding of replacement.&lt;&#x2F;h3&gt;
&lt;p&gt;My technical friend who came into existence before I did and became my elder with her un-understandable moods, behaviors, feelings...&lt;&#x2F;p&gt;
&lt;p&gt;The only gods I believe in: my parents and their parents and their parents...&lt;&#x2F;p&gt;
&lt;p&gt;The pain in my head which comes and goes away with the synapses trying to relate every minute thing to other , and trying to think about my own future...&lt;&#x2F;p&gt;
&lt;p&gt;The unthinkable tension in my brain from thinking but not being able to think of what to do next but still knowing what I should really do...&lt;&#x2F;p&gt;
&lt;p&gt;The unbearable truth of life that everything is going to end like I end this poe-tory though it has the potential to be much better.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yet&quot;&gt;Yet,&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;life-goes-on-and-it-is-irreplaceable&quot;&gt;Life goes on and it is irreplaceable.&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;or-is-it&quot;&gt;Or is it?&lt;&#x2F;h3&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Monopoly</title>
        <published>2021-10-30T00:00:00+00:00</published>
        <updated>2021-10-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/monopoly/"/>
        <id>https://scientiac.space/blog/monopoly/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/monopoly/">&lt;h2 id=&quot;a-brief-introduction-to-strategy-of-big-tech-companies&quot;&gt;A brief introduction to strategy of big tech companies.&lt;&#x2F;h2&gt;
&lt;p&gt;Everything in this world requires competition and challenges  so that it could evolve. So if there is nobody to compete with, there cannot be development. This is a serious issue in today&#x27;s tech world where tech giants like Google, Facebook, Microsoft have gained total monopoly in their fields.&lt;&#x2F;p&gt;
&lt;p&gt;Starting with google, the operating system you use which is android is Google&#x27;s product (Though the actual operating system is open source the services built on top of it are mostly made by google and are closed source.) ,the phone app you&#x27;re using is from google, the photos app , YouTube, Calendar, Email, Maps, Podcasts, Assistant etc. are Google&#x27;s products but no one searches alternative for  because they are interconnected among themselves. If you just delete your email account your photos backed up in the cloud , your youtube libraries , your location history and addresses ,your browsing history, bookmarks, your phone book, the services logged in with google, everything will be deleted so, you will not be able to (and will not even consider to)  get out of it&#x27;s system.&lt;&#x2F;p&gt;
&lt;p&gt;Now, lets look at Facebook (Now known as Meta). Everybody uses facebook but no one knowns that there exists platform mastodon, disapora , friendrica, etc which has the same objective as Facebook&#x27;s. But facebook being a big company knows what to do to not let people escape from their own ecosystem. They saw Instagram as a competition but instead of competing with it they decided to buy it. Now, everybody who were in instagram got connected to facebook services. Similarly , they purchased WhatsApp because it felt like a threat to their own facebook messenger. If they couldn&#x27;t buy it, they take the main feature of that particular apps and add them to their own. They brought the stories feature and the disappearing messages feature from snapchat, twitter had a heart button they brought a whole range of buttons with different emojis on it saying it&#x27;s a react button They also bought Oculus which was a company  developing virtual reality headsets. As of now, the only way to log in to the headset is by using a facebook account. You can sign-up for a different thing like pinterest (For example) via your facebook account which seems like a easy way but it&#x27;s not. Because if you somehow lose your facebook account ,now a totally different platform is out of access because it used facebook to log you in.&lt;&#x2F;p&gt;
&lt;p&gt;Talking about Microsoft they are the king in the space of desktop computer operating system. Almost every apps are made for windows, their office suite &quot;the Microsoft office suite &quot; or &quot;Office 365&quot; has become the only office suite that is used by almost everyone even if there exist other suites like only office, libre office, etc. They have their own extensions for files .pptx , .docs, .xls etc which is used by almost every office computer in the planet where the .odf (Open Document Format) which is an open source document format doesn&#x27;t play well with their office suite so the people using MS office will keep using the same office and doesn&#x27;t leave them. The OS itself comes pre-installed on computers so no normie would ever change the OS instead they will just keep using what they got i.e. microsoft.&lt;&#x2F;p&gt;
&lt;p&gt;This is just a tip of an iceberg and there is a lot more in this topic. This behavior of big tech companies completely destroys the competition on the market because there remains nothing to compete with when they are the only one providing that service.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Nova Launcher (Dracula Theme)</title>
        <published>2021-10-27T00:00:00+00:00</published>
        <updated>2021-10-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/dracula-nova/"/>
        <id>https://scientiac.space/blog/dracula-nova/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/dracula-nova/">&lt;h2 id=&quot;dracula-everywhere&quot;&gt;&#x27;Dracula&#x27; everywhere!&lt;&#x2F;h2&gt;
&lt;p&gt;I have created a dracula themed nova launcher layout and wanted to share it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;install-using-git&quot;&gt;Install using Git&lt;&#x2F;h2&gt;
&lt;p&gt;If you are a git user, you can install the theme and keep up to date by cloning the repo:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;https:&#x2F;&#x2F;github.com&#x2F;dracula&#x2F;nova_launcher.git&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;install-manually&quot;&gt;Install manually&lt;&#x2F;h2&gt;
&lt;p&gt;Download using the &#x27;GitHub .zip download&#x27; option and unzip them.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;dracula&#x2F;nova_launcher&#x2F;archive&#x2F;refs&#x2F;heads&#x2F;master.zip&quot;&gt;[Github .zip download]&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;activating-theme&quot;&gt;Activating theme&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Warning&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt; This will override your custom layout. So, be sure to backup your custom layout.&lt;&#x2F;p&gt;
&lt;p&gt;First Install [Charcoal Icon Pack]
&lt;a href=&quot;https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=com.arandompackage.flatconsblack&amp;amp;hl=en_US&amp;amp;gl=US&quot;&gt;[Charcoal Icon Pack]&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Goto Nova Settings -&amp;gt; Backup &amp;amp; Restore -&amp;gt; Restore backup&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to &quot;.novabackup&quot; file, [It&#x27;s your choice to apply &#x27;with&#x27; or &#x27;without&#x27; layout]  (Inside &quot;extracted folder -&amp;gt; dracula&quot;) and select it.&lt;&#x2F;li&gt;
&lt;li&gt;Now, set the given wallpaper to your home and lockscreen.&lt;&#x2F;li&gt;
&lt;li&gt;Boom! It&#x27;s beeeeautiful!&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;wanna-save-your-layout-diy&quot;&gt;Wanna Save your layout? DIY!&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;step-by-step-instruction-to-change-the-color-scheme-of-nova-launcher-to-dracula&quot;&gt;Step by step instruction to change the color scheme of nova launcher to dracula.&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Your setup will be &quot;kinda&quot; incomplete without a perfect background and a icon pack with the same color scheme (Both of them are given. 😉)&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;home-screen&quot;&gt;Home Screen&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;search-bar-style&quot;&gt;Search Bar Style&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Search bar style - Bar Color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;indicator-color&quot;&gt;Indicator Color&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Indicator color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;dock-if-enabled&quot;&gt;Dock (If enabled)&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Dock - Dock Background - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#44475a&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;app-drawer&quot;&gt;App Drawer&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;background-color&quot;&gt;Background Color&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Background color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#44475a&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;scroll-accent-color&quot;&gt;Scroll accent color&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Scroll  cccent color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;folders&quot;&gt;Folders&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;window-style&quot;&gt;Window style&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Window style - Background color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#6272a4&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;folder-icon-appearance&quot;&gt;Folder Icon Appearance&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Folder icon appearance - Color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;search&quot;&gt;Search&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;background-color-1&quot;&gt;Background Color&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Background color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;[Desktop search bar is already set.]&lt;&#x2F;p&gt;
&lt;h2 id=&quot;drawer-search-bar&quot;&gt;Drawer Search Bar&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Drawer search bar - Bar color - Advanced&lt;&#x2F;li&gt;
&lt;li&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;night-mode&quot;&gt;Night Mode&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;Turn On Night Mode and unselect all the options on the &#x27; use dark theme on &#x27; section.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;notification-badges&quot;&gt;Notification Badges&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;Notification badges - Choose a style&lt;&#x2F;li&gt;
&lt;li&gt;Choose &#x27; Numeric Dots &#x27;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;presets&quot;&gt;Presets&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Choose Custom&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Turn off &#x27; match icon color &#x27;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Colors - Border - Advanced&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Color - Border - Badge&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Set the hex code to &lt;code&gt;#bd93f9&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Color - Border - Text&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Set the hex code to &lt;code&gt;#ffffff&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;)xxxxx[;;;;;;;;;&amp;gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;congrats-you-have-changed-your-nova-launcher-s-color-scheme-to-dracula&quot;&gt;Congrats! You have changed your nova launcher&#x27;s color scheme to &#x27;Dracula&#x27;.&lt;&#x2F;h3&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Dark (Realization)</title>
        <published>2021-10-18T00:00:00+00:00</published>
        <updated>2021-10-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/dark/"/>
        <id>https://scientiac.space/blog/dark/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/dark/">&lt;h2 id=&quot;something-that-my-hyperactive-brain-came-up-with&quot;&gt;Something that my hyperactive brain came up with.&lt;&#x2F;h2&gt;
&lt;p&gt;I live in a dark place. There is no light and the cold freezes me near to death. I can barely be alive, these decisions are hard to make. Should I burn my clothes or should I keep them on. Should die feeling the warmth or is it better to live longer shivering in the cold? Is it better to hide my feelings and be happy in front of others or should I make them pity about me and get relieved thinking they know the pain?&lt;&#x2F;p&gt;
&lt;p&gt;I am a human being, I can think about the consequences. I can see the effects of my choices. I can predict the outcome. I can do calculations more than any animal on the planet can do. That may be a good thing but the dilemmas, the multiple consequences, the positives and the negatives, values and cultures, my religions, my gender, peoples expectations, judgments and a lot other things like those add a lot of variables to the decision. Should I break all the cultures that has been taught to me to marry the girl I love or is it better to break up with her and marry someone who my religion and the stars lining on the sky think is best for me. This is just an example, but there are more dilemmas as we gradually move from a superstitious and highly religious society to a scientific and more literate society.&lt;&#x2F;p&gt;
&lt;p&gt;I am in a society where a decision made by me can break the elders heart but can be a good example for my children on the future. I can marry a guy being a man which might be a shameful act for a society of the age group of my father but on the other hand could be a great example to the future children that being gay isn&#x27;t a thing to be ashamed of.&lt;&#x2F;p&gt;
&lt;p&gt;We want to make the world a better place by making everyone like ourselves. We think that our opinions are better than all others. Nobody wants to hear what someone is saying but everyone wants to say something that they think is the best. Instead of embracing the difference we have; color, religions, cultures, gender, shape, richness, etc and a different set of brains which can think differently we tend to fight against each other thinking we are not the same.&lt;&#x2F;p&gt;
&lt;p&gt;I stopped writing this article four days ago and I am trying to give this a proper ending. But the way my Brain processed these things is different than it was four days ago. I am unable to think further. The thing that I realize from this is that not even my own brain thinks the same every time. The same article will be different If I wrote it in a single day than if I wrote it one paragraph each day.&lt;&#x2F;p&gt;
&lt;p&gt;We humans don&#x27;t want to change from who we are. We don&#x27;t want others to teach us what is right or wrong but we do want to teach others. We feel happy on finding mistake of others. Not everyone will realize this anytime soon and the world is not going to be a better place in the near future. It&#x27;s like the adoption of Linux as an operating system. There is not going to be a mass adoption of Linux anytime soon even though It is the best operating system which is privacy respecting, easy to use heck even &#x27;ecofriendly&#x27;.&lt;&#x2F;p&gt;
&lt;p&gt;Not everything that is good is praised and adopted by everyone. It is mainly because they don&#x27;t understand it or because they are so used to their own thing that they don&#x27;t consider that change is a good thing. Nobody can convince anyone to adopt something they like if the person have no understanding of what it is (The case is even severe than that if that person has false information about it). The thing is that, people get scared of the things they don&#x27;t understand.&lt;&#x2F;p&gt;
&lt;p&gt;This article is not going to change anyone&#x27;s mind if someone disagrees with what I have written but will definitely bring a smile to the faces of the ones who did agree with what I am saying even before I even wrote it. Because that&#x27;s how a human brain works.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>You Were Born</title>
        <published>2021-10-12T00:00:00+00:00</published>
        <updated>2021-10-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/existance/"/>
        <id>https://scientiac.space/blog/existance/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/existance/">&lt;p&gt;With the big bang&lt;br &#x2F;&gt;
Dust was formed.&lt;br &#x2F;&gt;
Those combined&lt;br &#x2F;&gt;
Stars were born.&lt;br &#x2F;&gt;
Some big some small,&lt;br &#x2F;&gt;
rocks were found.&lt;br &#x2F;&gt;
They revolved around&lt;br &#x2F;&gt;
and then turned round.&lt;&#x2F;p&gt;
&lt;p&gt;With passage of time&lt;br &#x2F;&gt;
galaxies were formed.&lt;br &#x2F;&gt;
One of the galaxies,&lt;br &#x2F;&gt;
is our home,&lt;br &#x2F;&gt;
which contains a star&lt;br &#x2F;&gt;
that we call sun.&lt;&#x2F;p&gt;
&lt;p&gt;It was burning&lt;br &#x2F;&gt;
It was big.&lt;br &#x2F;&gt;
A ball of fire&lt;br &#x2F;&gt;
revolved around it.&lt;br &#x2F;&gt;
As the ball&lt;br &#x2F;&gt;
started to cool&lt;br &#x2F;&gt;
Something called water&lt;br &#x2F;&gt;
began to drool.&lt;&#x2F;p&gt;
&lt;p&gt;On the water&lt;br &#x2F;&gt;
life was formed.&lt;br &#x2F;&gt;
As life grew up,&lt;br &#x2F;&gt;
it used the sun.&lt;br &#x2F;&gt;
Seeing the sun&lt;br &#x2F;&gt;
up came plants.&lt;br &#x2F;&gt;
They were everywhere&lt;br &#x2F;&gt;
on water , on land.&lt;&#x2F;p&gt;
&lt;p&gt;With plants on land&lt;br &#x2F;&gt;
fishes came up&lt;br &#x2F;&gt;
Breathing under water&lt;br &#x2F;&gt;
living on sand.&lt;br &#x2F;&gt;
Then they left water,&lt;br &#x2F;&gt;
land was home.&lt;br &#x2F;&gt;
On the forests&lt;br &#x2F;&gt;
they began to roam.&lt;&#x2F;p&gt;
&lt;p&gt;They grew up&lt;br &#x2F;&gt;
with the trees.&lt;br &#x2F;&gt;
Also started flying&lt;br &#x2F;&gt;
like birds and bees.&lt;br &#x2F;&gt;
Like the trees&lt;br &#x2F;&gt;
they were huge.&lt;br &#x2F;&gt;
With their presence&lt;br &#x2F;&gt;
earth would lose.&lt;&#x2F;p&gt;
&lt;p&gt;And then one day.&lt;br &#x2F;&gt;
the sky was bright.&lt;br &#x2F;&gt;
Big ones slept&lt;br &#x2F;&gt;
the remaining were light.&lt;br &#x2F;&gt;
Small creatures&lt;br &#x2F;&gt;
began to hide&lt;br &#x2F;&gt;
under the ground&lt;br &#x2F;&gt;
without any light.&lt;&#x2F;p&gt;
&lt;p&gt;The earth was cold&lt;br &#x2F;&gt;
everything was freezing.&lt;br &#x2F;&gt;
It was ice age&lt;br &#x2F;&gt;
when they were living.&lt;br &#x2F;&gt;
As the ice&lt;br &#x2F;&gt;
began to melt,&lt;br &#x2F;&gt;
All the creatures&lt;br &#x2F;&gt;
relieved they felt.&lt;&#x2F;p&gt;
&lt;p&gt;The trees were back&lt;br &#x2F;&gt;
the sun was warm.&lt;br &#x2F;&gt;
The birds started flying&lt;br &#x2F;&gt;
and bees with swarm.&lt;br &#x2F;&gt;
The apes came up&lt;br &#x2F;&gt;
and, then came men.&lt;br &#x2F;&gt;
Men built houses&lt;br &#x2F;&gt;
Men made farms&lt;br &#x2F;&gt;
That was how,&lt;br &#x2F;&gt;
we evolved.&lt;&#x2F;p&gt;
&lt;p&gt;All with time&lt;br &#x2F;&gt;
we filled the earth.&lt;br &#x2F;&gt;
With cities and kingdoms&lt;br &#x2F;&gt;
Fights were fought.&lt;br &#x2F;&gt;
After all settled&lt;br &#x2F;&gt;
we all were one,&lt;br &#x2F;&gt;
We made tech.&lt;br &#x2F;&gt;
we made phones.&lt;br &#x2F;&gt;
Suddenly the earth&lt;br &#x2F;&gt;
was small as stones.&lt;&#x2F;p&gt;
&lt;p&gt;On that earth&lt;br &#x2F;&gt;
They both were found.&lt;br &#x2F;&gt;
Then they married&lt;br &#x2F;&gt;
the oath was sworn.&lt;br &#x2F;&gt;
They were together,&lt;br &#x2F;&gt;
love was grown.&lt;br &#x2F;&gt;
And that is how&lt;br &#x2F;&gt;
You were born.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>My Experience with Bricks and Bootloops</title>
        <published>2021-10-10T00:00:00+00:00</published>
        <updated>2021-10-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/bricks/"/>
        <id>https://scientiac.space/blog/bricks/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/bricks/">&lt;h2 id=&quot;the-scariest-moment-when-flashing-custom-roms-for-amateurs&quot;&gt;The scariest moment when flashing custom ROMs(for amateurs).&lt;&#x2F;h2&gt;
&lt;p&gt;If someone told me to root a phone five years since now, I would get scared of damaging the device. I didn&#x27;t have internet at that time and also a very little knowledge of what it could do. I just knew that it could let me see the passwords of connected WIFI as well as the passwords of WPS enabled WiFi which at that time was like a treasure to me. A friend of mine had rooted his phone and he shared his experience that his phone was completely dead a few days after while adding a module. He shared stories of phones blasting and catching fire because of root and since I didn&#x27;t have internet there was nothing to do except to believe in his stories. Those stories caused me to think that I would never root my device ever.&lt;&#x2F;p&gt;
&lt;p&gt;But after some years we had internet in our own house and I used to watch life hacks, hacking videos, new gadgets and inventions, new and useful apps for android, phone reviews, customizing android, and all sorts of tech videos on YouTube. On some hacking videos (hacking with an android, I didn&#x27;t have a computer at that time.) I again stumbled upon root. Then I watched videos describing benefits and disadvantages of rooting. I loved to watch what a phone could do with Magisk modules and was very eager to try rooting. But still deep inside my brain there was a feeling that I would damage my new phone.&lt;&#x2F;p&gt;
&lt;p&gt;After a lot of watching advantage and disadvantage videos I decided to root my phone, I knew that it would void the warranty of my phone but after four months of buying I was so eager that I unlocked the bootloader (MI made me wait 7 days) flashed a custom recovery and rooted my phone. I installed a bunch of modules with Magisk and Ed-exposed, tweaked MIUI with substratum which did cause my first boot loop, but it was easily fixed because there was a zip pre-managed by substratum for those cases.&lt;&#x2F;p&gt;
&lt;p&gt;A few days after I rooted, there was an update to MIUI and I decided to install it like I normally did. My phone wouldn&#x27;t boot to the system, It just rebooted after the MI logo. I was having chills in my heart, suddenly I felt very cold, I booted to recovery and tried to format my device. It didn&#x27;t solve the issue, but all the files on my device were deleted. I started searching for fixes, I flashed the official MIUI ROM by forwarding it via adb, but the Issue was still there. I tried flashing pixel experience, Havoc, Corvus etc. but nothing worked. It was 12 AM already, and I still was trying to fix my phone. Then I found out that there is a different kind of ROM that could be flashed from fast boot mode, first I tried the latest fast boot ROM, and it still didn&#x27;t work, then I tried the oldest fast boot ROM, It changed the boot screen to old MI logo but was still stuck on a boot loop. At that point I was crying, I had bricked my phone, The warranty period hadn&#x27;t finished, but my warranty was already void. I slept at around 2 AM with a cold heart and tears in my eyes.&lt;&#x2F;p&gt;
&lt;p&gt;The next morning I woke up at 5 AM, at that point I was ready to do anything to fix my phone. I tried a bunch of things from the internet but none of them worked, then I came across a tool called &quot;ALL in One&quot; on XDA forums dating back to 2014 (This story takes place in 2020). I immediately downloaded the tool, installed the exe file, and opened the program. There was an option to flash recovery ROMs, I downloaded the latest official recovery ROM, connected the phone to my computer and flashed it using the tool. And magically it worked, a tool from 2014 saved my phone. But that incident didn&#x27;t stop me from rooting my phone because as soon as the phone booted I went back to the recovery mode and flashed the magisk file.&lt;&#x2F;p&gt;
&lt;p&gt;After some weeks I flashed a custom ROM from the same tool and fell in love with it. I tried different ROMs after that and yes I did go into a boot loop sometimes, but I could easily fix it. Now, it isn&#x27;t a big deal to me to flash a ROM or root anyone&#x27;s phone and I love doing it.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>RSS</title>
        <published>2021-10-08T00:00:00+00:00</published>
        <updated>2021-10-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/rss/"/>
        <id>https://scientiac.space/blog/rss/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/rss/">&lt;h2 id=&quot;despite-being-old-it-s-gold&quot;&gt;Despite being old it&#x27;s gold.&lt;&#x2F;h2&gt;
&lt;p&gt;RSS stands for Really Simple Syndication. It refers to files easily read by a computer, called XML files, that automatically update information. A link to a website is created using this tech and that very link is identified by an RSS reader software which then fetches the information from that particular linked site and shows it to the user. RSS was created by Dan Libby and Ramanathan V. Guha in 1999 with a motive of making it easier to subscribe to web feeds.
Checking each site one by one will take forever. Signing up for their newsletters could ensure you keep up with the latest updates and information, but it&#x27;s also easy to mistake the emails as spam or to ignore them altogether in your crowded inbox. Then again, relying solely on the site&#x27;s social media updates might mean you miss something important you wanted to know about.&lt;&#x2F;p&gt;
&lt;p&gt;In simple terms, RSS helps you create your own e-magazine where you get only the information you want to get from the sites you&#x27;ve chosen. Not only can you subscribe to your favourite websites, but you also can subscribe to blogs and podcasts if the RSS reader supports it. RSS readers can fetch text information, audio, images and even video files, so you won&#x27;t lose any information you want to get in any form. Even though it can fetch every kind of file all you get in an RSS reader is the title, a short description, some pictures or a video, and the link to the original website (Usually* because RSS cannot fetch the ads present on the site which hampers the monetization of those sites since no ads = no income.).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;workings&quot;&gt;Workings&lt;&#x2F;h3&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;╻ ╻┏━╸┏┓ ┏━┓╻╺┳╸┏━╸
&lt;&#x2F;span&gt;&lt;span&gt;┃╻┃┣╸ ┣┻┓┗━┓┃ ┃ ┣╸
&lt;&#x2F;span&gt;&lt;span&gt;┗┻┛┗━╸┗━┛┗━┛╹ ╹ ┗━╸
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;         ╻
&lt;&#x2F;span&gt;&lt;span&gt;        ┏┛
&lt;&#x2F;span&gt;&lt;span&gt;        ╹
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;┏━┓┏━┓┏━┓   ┏━   ┏━╸┏━╸╺┳╸┏━╸╻ ╻┏━╸┏━┓   ╺┳┓┏━┓╺┳╸┏━┓   ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┣┳┛┗━┓┗━┓   ┃    ┣╸ ┣╸  ┃ ┃  ┣━┫┣╸ ┗━┓    ┃┃┣━┫ ┃ ┣━┫    ┃
&lt;&#x2F;span&gt;&lt;span&gt;╹┗╸┗━┛┗━┛   ┗━   ╹  ┗━╸ ╹ ┗━╸╹ ╹┗━╸┗━┛   ╺┻┛╹ ╹ ╹ ╹ ╹   ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;         ╻
&lt;&#x2F;span&gt;&lt;span&gt;        ┏┛
&lt;&#x2F;span&gt;&lt;span&gt;        ╹
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;┏━┓╻ ╻┏┓ ┏━┓┏━╸┏━┓╻┏━┓╺┳╸╻┏━┓┏┓╻   ┏━   ╻  ╻┏┓╻╻┏ ┏━┓   ┏━┓┏━┓┏━┓   ╺┳╸┏━┓   ┏━┓┏━╸┏━┓╺┳┓┏━╸┏━┓   ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┗━┓┃ ┃┣┻┓┗━┓┃  ┣┳┛┃┣━┛ ┃ ┃┃ ┃┃┗┫   ┃    ┃  ┃┃┗┫┣┻┓┗━┓   ┣┳┛┗━┓┗━┓    ┃ ┃ ┃   ┣┳┛┣╸ ┣━┫ ┃┃┣╸ ┣┳┛    ┃
&lt;&#x2F;span&gt;&lt;span&gt;┗━┛┗━┛┗━┛┗━┛┗━╸╹┗╸╹╹   ╹ ╹┗━┛╹ ╹   ┗━   ┗━╸╹╹ ╹╹ ╹┗━┛   ╹┗╸┗━┛┗━┛    ╹ ┗━┛   ╹┗╸┗━╸╹ ╹╺┻┛┗━╸╹┗╸   ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;         ╻
&lt;&#x2F;span&gt;&lt;span&gt;        ┏┛
&lt;&#x2F;span&gt;&lt;span&gt;        ╹
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;┏━┓┏━┓┏━┓   ┏━┓┏━╸┏━┓╺┳┓┏━╸┏━┓   ┏━   ┏━╸┏━┓╻  ╻  ┏━╸┏━╸╺┳╸┏━┓   ┏━┓╻ ╻┏┓ ┏━┓┏━╸┏━┓╻┏━┓╺┳╸╻┏━┓┏┓╻┏━┓   ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┣┳┛┗━┓┗━┓   ┣┳┛┣╸ ┣━┫ ┃┃┣╸ ┣┳┛   ┃    ┃  ┃ ┃┃  ┃  ┣╸ ┃   ┃ ┗━┓   ┗━┓┃ ┃┣┻┓┗━┓┃  ┣┳┛┃┣━┛ ┃ ┃┃ ┃┃┗┫┗━┓    ┃
&lt;&#x2F;span&gt;&lt;span&gt;╹┗╸┗━┛┗━┛   ╹┗╸┗━╸╹ ╹╺┻┛┗━╸╹┗╸   ┗━   ┗━╸┗━┛┗━╸┗━╸┗━╸┗━╸ ╹ ┗━┛   ┗━┛┗━┛┗━┛┗━┛┗━╸╹┗╸╹╹   ╹ ╹┗━┛╹ ╹┗━┛   ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;         ╻
&lt;&#x2F;span&gt;&lt;span&gt;        ┏┛
&lt;&#x2F;span&gt;&lt;span&gt;        ╹
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;┏━╸┏━╸┏━╸╺┳┓   ┏━   ┏━┓┏━╸╺┳┓╻┏━┓┏━╸┏━╸╺┳╸┏━┓   ╺┳╸┏━┓   ╻ ╻┏━╸┏┓ ┏━┓╻╺┳╸┏━╸   ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┣╸ ┣╸ ┣╸  ┃┃   ┃    ┣┳┛┣╸  ┃┃┃┣┳┛┣╸ ┃   ┃ ┗━┓    ┃ ┃ ┃   ┃╻┃┣╸ ┣┻┓┗━┓┃ ┃ ┣╸     ┃
&lt;&#x2F;span&gt;&lt;span&gt;╹  ┗━╸┗━╸╺┻┛   ┗━   ╹┗╸┗━╸╺┻┛╹╹┗╸┗━╸┗━╸ ╹ ┗━┛    ╹ ┗━┛   ┗┻┛┗━╸┗━┛┗━┛╹ ╹ ┗━╸   ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;         ╻
&lt;&#x2F;span&gt;&lt;span&gt;        ┏┛
&lt;&#x2F;span&gt;&lt;span&gt;        ╹
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;╻ ╻┏━╸┏┓ ┏━┓╻╺┳╸┏━╸   ┏━   ┏━╸┏━┓┏┳┓┏┳┓╻┏┓╻┏━╸   ╻ ╻┏━╸┏━┓┏━╸   ╻┏━┓   ┏━┓┏━┓╺┳╸╻┏━┓┏┓╻┏━┓╻     ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┃╻┃┣╸ ┣┻┓┗━┓┃ ┃ ┣╸    ┃    ┃  ┃ ┃┃┃┃┃┃┃┃┃┗┫┃╺┓   ┣━┫┣╸ ┣┳┛┣╸    ┃┗━┓   ┃ ┃┣━┛ ┃ ┃┃ ┃┃┗┫┣━┫┃      ┃
&lt;&#x2F;span&gt;&lt;span&gt;┗┻┛┗━╸┗━┛┗━┛╹ ╹ ┗━╸   ┗━   ┗━╸┗━┛╹ ╹╹ ╹╹╹ ╹┗━┛   ╹ ╹┗━╸╹┗╸┗━╸   ╹┗━┛   ┗━┛╹   ╹ ╹┗━┛╹ ╹╹ ╹┗━╸   ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;You get the latest updates. Whether it is about the weather, new music, local news, or a new posting from a rarely-updated site, learn you get as soon as it is published.&lt;&#x2F;li&gt;
&lt;li&gt;You can save a lot of time by reading a self curated feed instead of browsing all the websites one by one.&lt;&#x2F;li&gt;
&lt;li&gt;Unlike emails, you can easily subscribe and unsubscribe whenever you want.&lt;&#x2F;li&gt;
&lt;li&gt;You won&#x27;t be spammed with useless information, unlike emails where you might get every kind of spam and non-informative emails after they get your email.&lt;&#x2F;li&gt;
&lt;li&gt;The feed you get is organized in a chronological order, and you can keep track if it is already read or not.&lt;&#x2F;li&gt;
&lt;li&gt;RSS doesn&#x27;t have ads and trackers that you find on a website, which is good for your reading experience as well as your privacy.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Articles (Info) from the sites is received in a certain amount instead of the whole article, so you are very likely to go inside the webpage instead of just reading the RSS content.&lt;&#x2F;li&gt;
&lt;li&gt;It is very difficult to accurately track the number of subscribers who read an RSS feed or the items contained in an RSS feed.&lt;&#x2F;li&gt;
&lt;li&gt;RSS readers load up different websites at once and since most RSS contents doesn&#x27;t contain full articles you also go to their website, increasing the data traffic.&lt;&#x2F;li&gt;
&lt;li&gt;RSS contents will not be counted as views to the websites, so it could impact on the income of the creator.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;RSS is a very old but useful tech. With it being one of the go-to methods of creating feeds, RSS has been implemented in various fields and can fetch different data from different sources. I am personally using RSS to keep track of what my friends are doing on Instagram and Twitter, as well as subscribing to websites as well as YouTube channels I like. These social media don&#x27;t have RSS integrated with them, but frontends like Bibliogram(Instagram) and Nitter(Twitter) allow you to subscribe to the publicly available profiles with RSS. RSS is a must-have thing if you go to websites frequently to get information.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;links&quot;&gt;Links :&lt;&#x2F;h2&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Sad? Just Smile!</title>
        <published>2021-10-06T00:00:00+00:00</published>
        <updated>2021-10-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/smile/"/>
        <id>https://scientiac.space/blog/smile/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/smile/">&lt;h2 id=&quot;more-than-just-a-self-help-technique&quot;&gt;More than just a self help technique.&lt;&#x2F;h2&gt;
&lt;p&gt;Many people I know are constantly sad and tensed, and I wonder why it is the case. Because I am a pretty chill guy, my sadness lasts for a very short time. It might be because I have very fewer responsibilities and don&#x27;t have to do much work. I don&#x27;t know how it actually feels like, maybe I haven&#x27;t experienced something they have experienced. I see people stressing out and wonder why they don&#x27;t be &quot;just happy&quot;. It sounds dumb, but that&#x27;s what I feel, why wouldn&#x27;t they just feel happy about what they are doing. I know that It&#x27;s like telling a person with depression to just be happy. But actually that is the feeling I get when I see these people. It&#x27;s totally fine to be sad, I am an adult and I do cry sometimes, but that doesn&#x27;t mean that I am sad all the time. Or even if I am feeling bad I smile, and after a while it goes away. If there&#x27;s no need to look sad (like, in a funeral or anything else.) I just like to handle the situations smiling or even giggling. That has its own benefits, but a huge negative is that it makes you a little &quot;not serious&quot;. I have experienced this a lot, mostly when I am giving a suggestion and my friends doesn&#x27;t give a damn about it. Is it really necessary to be bold every time and say the things you want to say in a so called &quot;serious&quot; manner? I usually don&#x27;t talk in groups but a single person  and I do try to make attempts to make the other laugh in a conversation, but that&#x27;s everyone I guess, because who would really like to be very serious in a conversation. There&#x27;s a huge role of a person&#x27;s expressions in a conversation. If the speaker is smiling and talking, the listener will definitely smile despite the pain inside them, the person will feel fresh after taking with you even if they were sad. If you&#x27;re feeling angry, and you talk with someone in an angry manner, you will get the same expression from them because that&#x27;s how it works. A simple smile can determine the day of that person you were just talking to. Now that I think of it, it feels more simple. It&#x27;s like Newton&#x27;s third law of &#x27;motion&#x27;, but with an &quot;e&quot; on the front. If you smile they will smile back, if you are angry they get angry back at you, if you help they will help you back, if you are sad they will feel the same (though it&#x27;s not the same thing that you&#x27;re experiencing, but they do).&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s funny how people don&#x27;t realize that they both are angry and arguing with each other because one person was a little angry which started a chain reaction on their anger now they both are fighting. I am not funny nor am I very handsome and charming, but a smile is all it takes to make a person next to you feel happy, and I do smile.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;that-s-all-for-today-keep-smiling&quot;&gt;That&#x27;s all for today, keep smiling.&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;odysee.com&#x2F;@RetroMusic:d&#x2F;1988-Bobby-McFerrin-Dont-Worry-Be-Happy-1920x1080:7&quot;&gt;Be Happy&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Sometimes</title>
        <published>2021-10-04T00:00:00+00:00</published>
        <updated>2021-10-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/sometimes/"/>
        <id>https://scientiac.space/blog/sometimes/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/sometimes/">&lt;p&gt;There are times when I feel lost.&lt;br &#x2F;&gt;
Flying inside those galaxies,&lt;br &#x2F;&gt;
though far from my sight, I see it.&lt;br &#x2F;&gt;
Like nebulae in the heaven, your eyes.&lt;br &#x2F;&gt;
There are times I am attracted to you.&lt;br &#x2F;&gt;
Pulled by the warmth inside you,&lt;br &#x2F;&gt;
though distant, I feel you.&lt;br &#x2F;&gt;
Like Chandra feels around Prithvi.&lt;br &#x2F;&gt;
And...&lt;br &#x2F;&gt;
There are times I fly free.&lt;br &#x2F;&gt;
In my own worlds, inside me,&lt;br &#x2F;&gt;
singing, dancing.... but,&lt;br &#x2F;&gt;
I sense you.&lt;br &#x2F;&gt;
Like a hole in my own oblivion.&lt;&#x2F;p&gt;
&lt;p&gt;Time can do a lot of things.&lt;br &#x2F;&gt;
Walk you, build you, heal you.&lt;br &#x2F;&gt;
Break you, rape you, kill you.&lt;br &#x2F;&gt;
And yet you never died.&lt;br &#x2F;&gt;
From inside me, you resist.&lt;br &#x2F;&gt;
There are times without you,&lt;br &#x2F;&gt;
times when I feel free.&lt;br &#x2F;&gt;
The greatest times of all time.&lt;br &#x2F;&gt;
Those &quot;sometimes&quot; I enjoy.&lt;br &#x2F;&gt;
With people I do want to like.&lt;br &#x2F;&gt;
Until you come ,&quot;the big crunch!&quot;&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
.&lt;br &#x2F;&gt;
end of time.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>My Journey to Linux and Privacy</title>
        <published>2021-10-02T00:00:00+00:00</published>
        <updated>2021-10-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/destination-linux/"/>
        <id>https://scientiac.space/blog/destination-linux/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/destination-linux/">&lt;h2 id=&quot;butterfly-effect-of-my-encounter-with-kde&quot;&gt;Butterfly effect of my encounter with KDE.&lt;&#x2F;h2&gt;
&lt;p&gt;I first came across linux a couple years ago [In 2017] when I was surfing the internet about customizing the windows desktop, and I saw a video about customizing the KDE Desktop. I clicked on that video and realized that the thing he was using wasn&#x27;t windows but something else. I quickly searched about KDE and I found Linux. At that time I didn&#x27;t have my own personal computer that I could modify, not even windows. I was just curious if it was possible to customize computers as I used to customize my smartphone a lot.&lt;&#x2F;p&gt;
&lt;p&gt;Linux isn&#x27;t something that you understand with a random video especially if the video contains words like &#x27;distro&#x27;, &#x27;desktop environment&#x27;,etc. So, I started searching about those things. And as I learnt new things about linux new terms and words kept comming up and I searched about them and got some information about them as well. No sooner I started researching about linux, I realized that it was very vast. I realized almost everything on a linux system can be replaced by an alternative program.&lt;&#x2F;p&gt;
&lt;p&gt;I came to know that the linux operating system is an Open Source operating system. I searched about open source too and got a simple idea that if the source code of a software is visible and changable by any people from anywhere than it is an open source software. (I didn&#x27;t even know what a &quot;source code&quot; was and did some research about it too.)&lt;&#x2F;p&gt;
&lt;p&gt;I followed linux youtube channals like Chris Titus Tech, The Linux Experiment, etc (Not DT because I didnt like his presentation even though he is my favourite youtuber as of now.) and began to watch their videos regularly. I really liked the concept of open source too, so I gradually started switching my phone apps to open source  apps like &#x27;MX Player&#x27; to &#x27;VLC&#x27;, &#x27;Chrome&#x27; to &#x27;Brave&#x27;, &#x27;Google to Duckduckgo&#x27;, etc.&lt;&#x2F;p&gt;
&lt;p&gt;I researched about Linux and OpenSource for more than two years, then the Corona Virus struck, countries started lockdowns and everyone was trapped inside their houses. First year went without any classes not even online but when the second phase hit every school and colleges starting pushing online classes. And since both of my parents were teachers and a tiny smartphone didn&#x27;t handle the online classes very well, we had to buy a computer. Then, in the beginning of 2021 we bought a laptop (This is the first ever full-fledged computer that I ever had in my own house.).&lt;&#x2F;p&gt;
&lt;p&gt;Just the day after we bought the computer I was so curious that I wanted to install linux on my computer, I didnt find any pendrive on my house except an old 2GB pendrive that my father had, I backed up the pendrive to the windows and started searching for linux images. All the distros I wanted to try were more than 2 GB in size and then I decided to install arch linux. I read the documentation and watched some videos and sucessfully dual booted (Virtualization was a no-go because this computer had a HDD and 4GB of ram) my computer with Arch Linux and Windows.&lt;&#x2F;p&gt;
&lt;p&gt;I started learning new things, especially the terminal and tested out different Desktop Environments and Window Managers(I couldn&#x27;t use it). I starting using FOSS and one of the main perks of FOSS was &quot;Privacy&quot;. Till then I used to make an account for each and every site I found, that too with my real name and primary email address. I learnt more about privacy and how we cannot trust the propraitory services and softwares. I used to use evernote, I migrated to Joplin. I started hating big tech giants like Google, Microsoft, Facebook etc.&lt;&#x2F;p&gt;
&lt;p&gt;I started hating the algorithms that showed the feeds of my facebook, Instagram and Youtube. I started hating them for the fact that they collect a lot of information about us and our devices. I hated the fact that the required unnecessary permissions even to use their apps. I hated the fact that the messages were not end to end encrypted. I hated the fact that the posts weren&#x27;t on a chronological order based on the time of the post published.&lt;&#x2F;p&gt;
&lt;p&gt;I started searching for alternatives but the thing about social media is that I couldn&#x27;t just find one and start using it because all my friends were on facebook and Instagram and not anywhere else. I couldnt convince the majority to make an account on an unknown platform where there&#x27;s noone other than me. I made accounts on mastodon and matrix and started using them. I invited some of my friends to these platforms, some are still here and some already deleted their accounts.&lt;&#x2F;p&gt;
&lt;p&gt;I recently deleted my facebook and snapchat account and  I will soon be deleting my Instagram account too. Matrix didn&#x27;t seem to be easy to understand for the normal people so I am beginning to invite them to signal to be in touch with them.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;in-a-few-days-i-will-be&quot;&gt;In a few days I will be :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Deleting my Instagram Account.&lt;&#x2F;li&gt;
&lt;li&gt;Installing a custom rom without google in it.&lt;&#x2F;li&gt;
&lt;li&gt;Making list and rss feeds of the people I follow on twitter and youtube.&lt;&#x2F;li&gt;
&lt;li&gt;Using as much open source as possible.&lt;&#x2F;li&gt;
&lt;li&gt;Backing up my data from google to nextcloud.
...and maybe more&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Terminal and CLI</title>
        <published>2021-10-01T00:00:00+00:00</published>
        <updated>2021-10-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/terminal-and-cli/"/>
        <id>https://scientiac.space/blog/terminal-and-cli/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/terminal-and-cli/">&lt;h2 id=&quot;it-s-like-alcohol-bitter-in-the-beginning-obsessive-later&quot;&gt;It&#x27;s like alcohol, bitter in the beginning, obsessive later.&lt;&#x2F;h2&gt;
&lt;p&gt;A terminal in reality is a hardware component that is used to enter and transcribe data to the computer but the terminal we are talking about is an emulator of the hardware; a terminal emulator.&lt;&#x2F;p&gt;
&lt;p&gt;We linux users without the use of terminal suffer to do basic stuff. Searching for a command from a huge list of buttons is a hassle, if you know what the command is you can immediately execute the particular command in a split second. Since, the GUI is built around the terminal interface rather than making a GUI application and then implimenting the termnal functionality, it is much easier as well as faster to execute simple commmands in the terminal to get the work done.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;advantages-of-using-a-cli&quot;&gt;Advantages of using a CLI&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;CLI applications takes less space than a full fledged GUI application.&lt;&#x2F;li&gt;
&lt;li&gt;Being lighter it is snappy to work on.&lt;&#x2F;li&gt;
&lt;li&gt;It is clean and minimal.&lt;&#x2F;li&gt;
&lt;li&gt;Great applications like awk, grep, wget etc. are available which are designed to do one thing and do it well.&lt;&#x2F;li&gt;
&lt;li&gt;Because it is so flexible. Commands can be piped together (ls | grep filename), they can be captured (gcc program.c &amp;gt; .&#x2F;standard_out 2&amp;gt; .&#x2F;standard_error), and can be substituted (ls &#x2F;home&#x2F;&lt;code&gt;whoami&lt;&#x2F;code&gt; or ls &#x2F;home&#x2F;$(whoami))&lt;&#x2F;li&gt;
&lt;li&gt;Detailed information about what a program is doing can be seen in TUI interface which is generally disabled in GUI for the sake of making the it look beautiful.&lt;&#x2F;li&gt;
&lt;li&gt;Because of the ability to automate tasks. cron and bash scripts allow long, complicated, and&#x2F;or repetitive tasks to either be simplified or automated completely.&lt;&#x2F;li&gt;
&lt;li&gt;It is universal and is same across all kinds of *nix operating system despite of the use of different DEs , Themes or Layouts.&lt;&#x2F;li&gt;
&lt;li&gt;You get to know and handle the tools better.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;disadvantages-of-using-a-cli&quot;&gt;Disadvantages of using a CLI&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Remembering all the differrent commands is hectic.&lt;&#x2F;li&gt;
&lt;li&gt;Multimedia applications are useless.&lt;&#x2F;li&gt;
&lt;li&gt;A lot of inappropriate command some would say.&lt;&#x2F;li&gt;
&lt;li&gt;Bad for certain tasks that involves graphical UI.&lt;&#x2F;li&gt;
&lt;li&gt;Things that require a lot of typing, such as long file names, can be annoying without minimal cut&#x2F;paste support.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;People when they feel the need of using a CLI get scared of the *nix operating systems (Windows do have a command line interface but not as powerful as the *nix terminal.), this is a reason why people are afraid to try linux and is it&#x27;s greatest dis-advantage.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Search Engines</title>
        <published>2021-08-31T00:00:00+00:00</published>
        <updated>2021-08-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/search-engines/"/>
        <id>https://scientiac.space/blog/search-engines/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/search-engines/">&lt;h2 id=&quot;finding-things-in-the-web&quot;&gt;Finding things in the web.&lt;&#x2F;h2&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;                                         _,aggdd888bbgg,,_
&lt;&#x2F;span&gt;&lt;span&gt;                                    ,ad88888YYYYYYYYYYY8888ba,
&lt;&#x2F;span&gt;&lt;span&gt;                                 ,d888P&amp;quot;&amp;quot;&amp;#39;              ``&amp;quot;&amp;quot;Y88b,
&lt;&#x2F;span&gt;&lt;span&gt;                               ,d888&amp;quot;&amp;#39;                       &amp;quot;Y888,
&lt;&#x2F;span&gt;&lt;span&gt;                              d88P&amp;#39;                            `Y88b,
&lt;&#x2F;span&gt;&lt;span&gt;                            ,d88&amp;#39;                                `Y88,
&lt;&#x2F;span&gt;&lt;span&gt;                           ,888&amp;#39;                                  `Y88,
&lt;&#x2F;span&gt;&lt;span&gt;                          ,d88&amp;#39;                                    `Y8b,
&lt;&#x2F;span&gt;&lt;span&gt;                          d88&amp;#39;                                      `88I
&lt;&#x2F;span&gt;&lt;span&gt;                         ,88P                                        I88
&lt;&#x2F;span&gt;&lt;span&gt;                         I88I                                        I88
&lt;&#x2F;span&gt;&lt;span&gt;                         I88I                                        I8I
&lt;&#x2F;span&gt;&lt;span&gt;                         `888,                                       d8I
&lt;&#x2F;span&gt;&lt;span&gt;                          `888,                                     d88&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                           `888,                                   d8PI
&lt;&#x2F;span&gt;&lt;span&gt;                           ,dP&amp;quot;8b,                               ,8P&amp;#39;d&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                         ,dP&amp;#39;   &amp;quot;Yb,                          _,d8&amp;quot; P&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                       ,dP&amp;#39; ,db,  &amp;quot;Yb,_                    ,ad8P&amp;quot; ,P&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;                     ,dP&amp;#39; ,d8888b,  `&amp;quot;Yba,,__        __,ad88P&amp;quot;  ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;                   ,dP&amp;#39; ,d88888888b,    &amp;quot;88Y8888888888PP&amp;quot;&amp;quot;   _,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;                 ,dP&amp;#39; ,d888888888888P  ,d&amp;quot;8              _,gd&amp;quot;&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;               ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,8bbaagggggaaddP&amp;quot;&amp;quot;&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;             ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;&amp;#39;
&lt;&#x2F;span&gt;&lt;span&gt;           ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;         ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;     
&lt;&#x2F;span&gt;&lt;span&gt;       ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;       
&lt;&#x2F;span&gt;&lt;span&gt;     ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;   ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt; ,dP&amp;#39; ,d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;dP&amp;#39;  d888888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;8&amp;quot;Ya, `888888888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;8  &amp;quot;Ya, `88888P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;8a,  &amp;quot;Ya, `8P&amp;#39; ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt; &amp;quot;Ya,  &amp;quot;Ya,  ,d&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;   &amp;quot;Ya,  &amp;quot;Y8P&amp;quot; ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;     &amp;quot;Ya,  8 ,d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;       &amp;quot;Ya,8d&amp;quot;
&lt;&#x2F;span&gt;&lt;span&gt;         &amp;quot;YP&amp;quot;   
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Search engines are software that search the things you want in the vast web and shows relevant information to you. They generally search the required information using your &quot;textual web queries&quot;. Some are even developed to search the web using pictures you have input on it. They show the information in a list of links which are relevant to your query.
The world&#x27;s first search engine was &#x27;Archie&#x27;(1990). The most famous search engine today  is &#x27;Google&#x27; launched in 1998.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;there-are-many-search-engines-but-some-of-the-famous-ones-are-as-follows&quot;&gt;There are many search engines, but some of the famous ones are as follows :&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;google&quot;&gt;Google&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;The most famous search engine.&lt;&#x2F;li&gt;
&lt;li&gt;The best search algorithm.&lt;&#x2F;li&gt;
&lt;li&gt;Has the best image search engine.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;bing&quot;&gt;Bing&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft&#x27;s search engine.&lt;&#x2F;li&gt;
&lt;li&gt;Good integration with windows operating system.&lt;&#x2F;li&gt;
&lt;li&gt;Allows preview on video search results.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;duckduckgo&quot;&gt;DuckDuckGo&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Privacy focused search engine.&lt;&#x2F;li&gt;
&lt;li&gt;Gets data from microsoft&#x27;s bing search engine.&lt;&#x2F;li&gt;
&lt;li&gt;Bangs (!) lets you search directly on famous websites like wikipedia, dictionary, etc&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;brave-search&quot;&gt;Brave Search&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Privacy focused engine (currently in beta).&lt;&#x2F;li&gt;
&lt;li&gt;Made by a private browser company &#x27;Brave&#x27; and is resleased in June 2021&lt;&#x2F;li&gt;
&lt;li&gt;It also has the bangs (!), and is integrated with its own chromium based browser.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Search results can vary between engines due to the use of different indexes or indexing technology. Some engines fetch results from different engines and prevents them from tracking your searches. Some examples are Startpage (Google) and DuckDuckGo (Bing).&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Linux Distributions</title>
        <published>2021-08-30T00:00:00+00:00</published>
        <updated>2021-08-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/distro/"/>
        <id>https://scientiac.space/blog/distro/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/distro/">&lt;h2 id=&quot;one-operating-syatem-thousand-choices&quot;&gt;One operating syatem , thousand choices.&lt;&#x2F;h2&gt;
&lt;p&gt;Linux Distribution or Distro is an operating system based on a Linux Kernel which is configured in a certain manner. A typical Linux distribution comprises a Linux kernel, GNU tools and libraries, additional software, documentation, a window system (Xorg or Wayland), a window manager, and a desktop environment. They also vary upon what device they are made for ;desktops, servers, laptops, netbooks, mobile phones ,tablets or a toaster. There  are thousands of distros out there which have different and unique user experience. They are classified by packaging systems, installation method, user experience, software availablity, release cycle, philosophy, use cases, etc. So, a complete chart of classification is difficult to make.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;some-of-the-famous-linux-distros-are&quot;&gt;Some of the famous Linux distros are :&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;arch&quot;&gt;Arch&lt;&#x2F;h3&gt;
&lt;p&gt;Arch Linux is an independently developed, x86-64 general-purpose GNU&#x2F;Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is a minimal base system, configured by the user to only add what is purposely required.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .pacman&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - pacman&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;debian&quot;&gt;Debian&lt;&#x2F;h3&gt;
&lt;p&gt;Debian is a free operating system (OS) for your computer. Debian uses the Linux Kernel, and most of the basic OS tools come from the GNU project. Debian generally follows standerd relese cycles and is easy to install and run.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .deb&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - apt&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;redhat&quot;&gt;Redhat&lt;&#x2F;h3&gt;
&lt;p&gt;Red Hat Enterprise Linux (often abbreviated to RHEL) is a Linux distribution developed by Red Hat for the commercial market. Red Hat Enterprise Linux is released in server versions for x86-64, Power ISA, ARM64, and IBM Z and a desktop version for x86-64. It too generally follows standerd relese cycles instead of rolling relese.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .rpm&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - yum&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;slackware&quot;&gt;Slackware&lt;&#x2F;h3&gt;
&lt;p&gt;It is the oldest currently existing linux distribution. Slackware provides no graphical installation procedure and no automatic dependency resolution of software packages. It uses plain text files and only a small set of shell scripts for configuration and administration. It too is a standerd relese distribution.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .xz&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - slackpkg&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;gentoo&quot;&gt;Gentoo&lt;&#x2F;h3&gt;
&lt;p&gt;Gentoo is a free operating system based on Linux that can be automatically optimized and customized for just about any application or need. It is a rolling release distribution. It&#x27;s compiled locally according to the user&#x27;s preferences and is often optimized for the specific type of computer.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .tbz2&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - portage&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;suse&quot;&gt;SUSE&lt;&#x2F;h3&gt;
&lt;p&gt;The SUSE distribution is a stable, easy to use and complete multi-purpose distribution. It is aimed towards users and developers working on the desktop or server. It is a generally standard release distribution and is the first enterprise Linux provider of the world.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;File Mask - .rpm&lt;&#x2F;li&gt;
&lt;li&gt;Package Manager - zypper&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>KDE Connect</title>
        <published>2021-08-29T00:00:00+00:00</published>
        <updated>2021-08-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/kdeconnect/"/>
        <id>https://scientiac.space/blog/kdeconnect/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/kdeconnect/">&lt;h2 id=&quot;quality-integration-between-android-and-linux&quot;&gt;Quality integration between Android and Linux.&lt;&#x2F;h2&gt;
&lt;p&gt;KDE Connect is a KDE application that connects your phone to your computer if you have a Linux Desktop (Windows integration is on beta). It is very Powerful, I can say that it is the best among all the Phone - Computer integration softwares across all the operating systems. The Features of KDE connect are as follows :&lt;&#x2F;p&gt;
&lt;h3 id=&quot;sharing-files&quot;&gt;Sharing Files&lt;&#x2F;h3&gt;
&lt;p&gt;You can send files to or from the computer very easily. It can either be done by opening the app and choosing the &#x27;Send Files&#x27; option or just by opening the share menu from the file and choosing the recieving device.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;multimedia-control&quot;&gt;Multimedia Control&lt;&#x2F;h3&gt;
&lt;p&gt;You can pause, play, rewind, foreward, turn volume up or down from each device connected via KDE Connect. You can control the media on your phone from your computer or you can control the media on your computer from your phone.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;presentation-remote&quot;&gt;Presentation Remote&lt;&#x2F;h3&gt;
&lt;p&gt;You can turn your phone to a presentation remote if you need it. It can use the accelerometer and gyroscope sensor to detect the motion and point on the area on your screen just by moving your phone in the air. You also can change slides from the app itself.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;remote-input&quot;&gt;Remote Input&lt;&#x2F;h3&gt;
&lt;p&gt;You can use KDE Connect as a trackpad and a keyboard for your computer of you need.  This functionality can be set both ways, you can also use your computer to type things on your phone. It also can bring mouse like functionality where it creates a mouse pointer on your phone which can be used via the computer.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;browse-your-phone-s-storage&quot;&gt;Browse Your Phone&#x27;s Storage&lt;&#x2F;h3&gt;
&lt;p&gt;KDE Connect uses sshfs to connect your phone&#x27;s storage to your computer wirelessly. You can edit, move, copy, rename, etc the files of your phone via your computer in it&#x27;s file manager. You can basically do anything you can do with the file manager.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;find-your-device&quot;&gt;Find Your Device&lt;&#x2F;h3&gt;
&lt;p&gt;You can use your computer to ring your phone or use your phone to ring your computer if can&#x27;t find one.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;sync-notifications&quot;&gt;Sync Notifications&lt;&#x2F;h3&gt;
&lt;p&gt;You can receive the Notifications of your phone on your computer as well as can receive the Notifications of your computer on your phone. You also can reply from the other device if it support replying from heads up notification.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;send-text-messages&quot;&gt;Send Text Messages&lt;&#x2F;h3&gt;
&lt;p&gt;You can send messages to your contacts from your computer without needing to touch your phone if you prefer texting via cell network.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;clipboard-sync&quot;&gt;Clipboard Sync&lt;&#x2F;h3&gt;
&lt;p&gt;You can sync the clipboards of your devices so that you can copy something on one device and paste the same thing on the other device.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;terminal-commands&quot;&gt;Terminal Commands&lt;&#x2F;h3&gt;
&lt;p&gt;This is the most powerful feature of KDE Connect and which I love the most. You can set pre configured buttons on your phone with a particular line of command which will be executed on your computer with a single click from your phone. Some of the things you can do are :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Shutdown&lt;&#x2F;li&gt;
&lt;li&gt;Restart&lt;&#x2F;li&gt;
&lt;li&gt;Hibernate&lt;&#x2F;li&gt;
&lt;li&gt;Sleep&lt;&#x2F;li&gt;
&lt;li&gt;Change Brightness&lt;&#x2F;li&gt;
&lt;li&gt;Logout&lt;&#x2F;li&gt;
&lt;li&gt;Lock and Unlock Desktop&lt;&#x2F;li&gt;
&lt;li&gt;Open applications&lt;&#x2F;li&gt;
&lt;li&gt;Take screenshots&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The possibilities are endless, you can do anything you can do on a terminal. This feature alone makes KDE connect far superior than any other software.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;bonus-tip&quot;&gt;Bonus Tip :&lt;&#x2F;h2&gt;
&lt;p&gt;You can easily get the screenshot of your desktop on your phone with a single click of a button on your phone with this command preconfigured on the KDE connect settings.&lt;&#x2F;p&gt;
&lt;p&gt;Firstly,
Install flameshot and timer
Make a hidden screenshot folder.
Then, set the following command on the &quot;run command&quot; section of KDE connect settings.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;flameshot screen -p &amp;lt;Your New Screenshot Folder&#x27;s Path&amp;gt; &amp;amp;&amp;amp; timer 5 s ~&#x2F;audio&#x2F;duck_song.mp3 hide &amp;amp;&amp;amp; mv &amp;lt;Your New Screenshot Folder&#x27;s Path&#x2F;*&amp;gt; &lt;Path of your device  folder which is mounted via sshfs&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Note : Your smartphone should be mounted to the computer via KDE connect.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Desktop Environments</title>
        <published>2021-08-28T00:00:00+00:00</published>
        <updated>2021-08-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/de/"/>
        <id>https://scientiac.space/blog/de/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/de/">&lt;h2 id=&quot;linux-you-want-it-you-get-it&quot;&gt;Linux : You want it, you get it.&lt;&#x2F;h2&gt;
&lt;p&gt;A desktop environment is a set of programs running on the top of an operating system which share a common graphical user interface. It is also known as graphical shell. It determines the user experience, look and feel, customisability, usability and many others aspects of a graphical experience. It is abbreviated as DE. A desktop environment can determine the whole user experience of a operating system.
Every operating system has a desktop environment but Linux is the one with multiple swappable desktop environment. Since Linux is very modular  you can swap almost anything from it which also includes the DE.&lt;&#x2F;p&gt;
&lt;p&gt;Windows and OS X doesn&#x27;t give you the ability to change DEs so there is  not much to talk about them. But we have a lot of DEs in Linux, some of the popular ones are :&lt;&#x2F;p&gt;
&lt;h3 id=&quot;kde&quot;&gt;KDE&lt;&#x2F;h3&gt;
&lt;p&gt;KDE is one of the most famous and customizable DEs. It also is my favourite DE. KDE is considered as the most customizable DE of all. You can customize   most of the parts of your DE from the system settings and additionally you can add modules and third party applications to customize KDE even more. It is very lightweight and easy to use out of the box. It itself is &quot;the beauty and the beast&quot;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gnome&quot;&gt;Gnome&lt;&#x2F;h3&gt;
&lt;p&gt;Gnome is also one of the most used and popular desktop environments. It is very very beautiful out of the box. It is fairly customizable and easy to use.   Gnome is very good for normal people because you don&#x27;t really need to customize it to get a smooth and beautiful desktop experience.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xfce&quot;&gt;XFCE&lt;&#x2F;h3&gt;
&lt;p&gt;XFCE is termed as a light  desktop environment with very low ram consumption and a fairly customizable desktop environment. It is the most suitable DE for old computers with weak hardwares. Basically, it is  fast and low on system resources, while still being visually appealing and user friendly.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-list-of-des-will-go-on-and-on-but-some-other-de-are-as-follows&quot;&gt;The list of DEs will go on and on but some other DE are as follows :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;MATE&lt;&#x2F;li&gt;
&lt;li&gt;LXQt&lt;&#x2F;li&gt;
&lt;li&gt;Deepin&lt;&#x2F;li&gt;
&lt;li&gt;Cinnamon&lt;&#x2F;li&gt;
&lt;li&gt;Pantheon&lt;&#x2F;li&gt;
&lt;li&gt;Cosmic&lt;&#x2F;li&gt;
&lt;li&gt;Unity&lt;&#x2F;li&gt;
&lt;li&gt;Cutefish&lt;&#x2F;li&gt;
&lt;li&gt;Moksha&lt;&#x2F;li&gt;
&lt;li&gt;LXDE, etc&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;normally-des-offer&quot;&gt;Normally DEs Offer :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;A set of standard APIs, a programming environment, and guidelines.&lt;&#x2F;li&gt;
&lt;li&gt;Set of languages to choose from.&lt;&#x2F;li&gt;
&lt;li&gt;Settings to configure whatever you want.&lt;&#x2F;li&gt;
&lt;li&gt;A suite of essential applications including a camera app, a file manager, a terminal emulator, an image viewer, music and video player, office suite, etc.&lt;&#x2F;li&gt;
&lt;li&gt;A display manager which determines the look and feel of the  login screen.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Alternative Frontends</title>
        <published>2021-08-27T00:00:00+00:00</published>
        <updated>2021-08-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/frontends/"/>
        <id>https://scientiac.space/blog/frontends/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/frontends/">&lt;h2 id=&quot;another-step-for-better-privacy&quot;&gt;Another step for better privacy.&lt;&#x2F;h2&gt;
&lt;p&gt;The frontend is the interactive and visual part of a software which is designed to be beautiful and user friendly. Alternative Frontends are those softwares which helps in viewing contents of a different platform with different visuals provided that another (Alternative) backend extracts data from that platform. Since we don&#x27;t interact with the backend of the software Frontends are what we normally describe as websites or applications.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;there-are-some-frontends-to-platforms-that-help-us-get-the-publicly-available-data-from-them-without-the-need-to-log-in-some-of-them-are-as-follows&quot;&gt;There are some frontends to platforms that help us get the publicly available data from them without the need to log in. Some of them are as follows :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Look for &#x27; list of instances&#x27; in the given webpages to find the actual websites.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;cloudtube-youtube-website&quot;&gt;Cloudtube (YouTube) - Website&lt;&#x2F;h3&gt;
&lt;p&gt;Cloudtube is an open source frontend website to YouTube . It gives us the ability to watch videos, subscribe to channels, and get the RSS links of channels without the need to log into YouTube.
&lt;a href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~cadence&#x2F;tube&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;newpipe-youtube-application&quot;&gt;Newpipe (YouTube) - Application&lt;&#x2F;h3&gt;
&lt;p&gt;Newpipe is an open source android application and a  frontend to YouTube . It gives us the ability to watch videos, subscribe to channels,save and create playlists, view trending videos and also to get the RSS links of channels without the need to log into YouTube.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.schabi.newpipe&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;invidious-youtube-website&quot;&gt;Invidious (YouTube) - Website&lt;&#x2F;h3&gt;
&lt;p&gt;Invidious is another frontend to YouTube that also offers a popular and a trending feed (Unlike Cloudtube). There is also an option to sign in. You can get  videos without logging in too.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;iv-org&#x2F;invidious&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;bibliogram-instagram-website&quot;&gt;Bibliogram (Instagram) - Website&lt;&#x2F;h3&gt;
&lt;p&gt;Bibliogram is a website that takes data from Instagram&#x27;s public profile views and puts it into a friendlier page that loads faster, gives downloadable images, eliminates ads, generates RSS feeds, and doesn&#x27;t urge you to sign up.
&lt;a href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~cadence&#x2F;bibliogram&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;barinsta-instagram-application&quot;&gt;Barinsta (Instagram) - Application&lt;&#x2F;h3&gt;
&lt;p&gt;Barinsta is an open source android application that allows you to view Instagram&#x27;s public profiles without the need to login. It also has an option to log in to Instagram from your account. It gives you the ability to download pictures, videos, stories and also to view profile pictures in full screen which the original Instagram application doesn&#x27;t allow you to do.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;me.austinhuang.instagrabber&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;nitter-twitter-website&quot;&gt;Nitter (Twitter) - Website&lt;&#x2F;h3&gt;
&lt;p&gt;Nitter is a frontend to twitter. It allows you to search and view public profiles. It also allows you to  get the RSS feeds of the public accounts of twitter.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;zedeus&#x2F;nitter&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fritter-twitter-application&quot;&gt;Fritter (Twitter) - Application&lt;&#x2F;h3&gt;
&lt;p&gt;Fritter is an android application with the same functionality as Nitter. It allows you to view profiles which are public. It also gives you the ability to follow accounts and save posts to a different section. It provides you with a feed of the posts from the peoples you have followed, which you cannot get from nitter.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;com.jonjomckay.fritter&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>HTML</title>
        <published>2021-08-26T00:00:00+00:00</published>
        <updated>2021-08-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/html/"/>
        <id>https://scientiac.space/blog/html/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/html/">&lt;h2 id=&quot;a-standard-markup-language-for-documents-in-the-web&quot;&gt;A standard markup language for documents in the web.&lt;&#x2F;h2&gt;
&lt;p&gt;HTML (Hyper Text Markup Language) is a language that makes the documents of the website readable to human which we normally see while browsing the web. It was created by Tim Berners-Lee in 1989. We don’t know the exact date of HTML creation, since it was a long term project, but the birthdate of the first HTML website is known to be on August 6, 1991.  The first publicly available description of HTML was a document called &quot;HTML Tags&quot;, first mentioned on the Internet by non other than Tim Berners-Lee.&lt;&#x2F;p&gt;
&lt;p&gt;Every webpage may actually be a HTML file. Each HTML file is just a plain-text file, but with a .html file extension instead of .txt, and is made up of many HTML tags as well as the content for a web page.
A website may often contain many html files that link to each other. HTML files can be edited with any kind of text editor since it is just a text file.&lt;&#x2F;p&gt;
&lt;p&gt;HTML tags are the hidden keywords within a web page that define how your web browser must format and display the content.&lt;&#x2F;p&gt;
&lt;p&gt;Mostly tags have two parts, an opening and a closing part. For example, &lt;html&gt; is the opening tag and &lt;&#x2F;html&gt; is the closing tag. The closing tag contains the same text as the opening tag, but has an additional forward-slash ( &#x2F; ) character in front of the word.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;css-styling-html&quot;&gt;CSS - Styling HTML&lt;&#x2F;h3&gt;
&lt;p&gt;CSS is short for Cascading Style Sheets It is the preferred way for setting the look and feel of a website.It define the colour, size and position of text and other HTML tags, while the HTML files define the content and how it is organized. Separating them allows you to change the colour scheme without having to rewrite your entire website.Since it&#x27;s cascading, setting the colour of body text will mean all headings and paragraphs within the body will also be the same colour.&lt;&#x2F;p&gt;
&lt;p&gt;World&#x27;s first HTML site is still running, wanna check it out?
&lt;a href=&quot;http:&#x2F;&#x2F;info.cern.ch&#x2F;hypertext&#x2F;WWW&#x2F;TheProject.html&quot;&gt;World&#x27;s First HTML Website&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>LBRY</title>
        <published>2021-08-25T00:00:00+00:00</published>
        <updated>2021-08-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/lbry/"/>
        <id>https://scientiac.space/blog/lbry/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/lbry/">&lt;h2 id=&quot;a-decentralized-platform-for-content-creators&quot;&gt;A decentralized platform for content creators.&lt;&#x2F;h2&gt;
&lt;p&gt;LBRY is a new protocol that allows people to build apps on the top of it which then can interact with the contents available on the LBRY network. LBRY allows the creators to set a price for the stream (Like I-tunes) or give out the video for free (like YouTube). You can publish any kind of file such as video, audio, text, documents, etc. It uses Blockchain technology for the creation of databases on the network.&lt;&#x2F;p&gt;
&lt;p&gt;The monetization scheme for content on the LBRY protocol is also based on the Blockchain technology developed by the creator of Bitcoin. Unlike YouTube that serves you ads for monetization LBRY lets people themselves interact with the creators by giving them the ability to treat creators in the form of cryptocurrency (LBC) .&lt;&#x2F;p&gt;
&lt;p&gt;Almost all the tech giants today are centralized services that sells user&#x27;s personal information and attention to advertisers. But LBRY is a protocol making it a decentralized option for publishing contents. Since it&#x27;s decentralized it means that the content and your privacy is owned by you, not the tech giants whose service you use.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;workings-of-blockchain-in-lbry&quot;&gt;Workings of Blockchain in LBRY&lt;&#x2F;h2&gt;
&lt;p&gt;Blockchain technology like Bitcoin and LBRY enables people to create databases that no single entity controls.&lt;&#x2F;p&gt;
&lt;p&gt;With Bitcoin, when you send money to someone, your computer broadcasts &quot;hey, the person with this particular private key is sending money to that person over there&quot; to the network, and the mining algorithm ensures everyone agrees that indeed, you sent that money, so your balance goes down and the recipient&#x27;s goes up.&lt;&#x2F;p&gt;
&lt;p&gt;In LBRY, the same mechanism is used to store an index of what content is available and how to download it, as well as financial transactions (such as tips, and purchases of paid content) using the Bitcoin-like currency LBC (LBRY Credits). When a creator publishes something on LBRY, an entry is made on the LBRY blockchain. You can think of it as an announcement: hey everyone, I&#x27;ve published this file, here&#x27;s some information about it, and instructions for how to download it from the peer-to-peer network.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;It&#x27;s free and open source.&lt;&#x2F;li&gt;
&lt;li&gt;There are no ads.&lt;&#x2F;li&gt;
&lt;li&gt;Based on a secure platform called Blockchain.&lt;&#x2F;li&gt;
&lt;li&gt;Decentralized&lt;&#x2F;li&gt;
&lt;li&gt;Direct interaction between fans and creators.&lt;&#x2F;li&gt;
&lt;li&gt;Flexibility of content and their file types&lt;&#x2F;li&gt;
&lt;li&gt;Free speech&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Uses cryptocurrency as money which is still not available in many countries.&lt;&#x2F;li&gt;
&lt;li&gt;Comparatively slower than centralized platforms.&lt;&#x2F;li&gt;
&lt;li&gt;Lack of popular content creators.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Normally it is used as an alternative to YouTube. And mostly video files are uploaded. There even is a feature to sync videos from your YouTube account to LBRY. You can access the LBRY content via the following apps and websites:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;apps&quot;&gt;Apps&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Android : LBRY&lt;&#x2F;li&gt;
&lt;li&gt;Windows : LBRY Desktop&lt;&#x2F;li&gt;
&lt;li&gt;Mac : LBRY Desktop&lt;&#x2F;li&gt;
&lt;li&gt;IOS : Odysee
&lt;a href=&quot;https:&#x2F;&#x2F;lbry.com&#x2F;&quot;&gt;LBRY&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;websites&quot;&gt;Websites&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;odysee.com&#x2F;&quot;&gt;Odysee&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;lbry.com&#x2F;&quot;&gt;LBRY&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;lbry.com&#x2F;&quot;&gt;LBRY&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Evernote to Joplin</title>
        <published>2021-08-24T00:00:00+00:00</published>
        <updated>2021-08-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/joplin/"/>
        <id>https://scientiac.space/blog/joplin/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/joplin/">&lt;h2 id=&quot;there-s-always-an-open-source-alternative&quot;&gt;There&#x27;s always an open source alternative.&lt;&#x2F;h2&gt;
&lt;p&gt;Using open source software is far better than using proprietary garbage. So this is one of my efforts to move to open source from a proprietary application that I use very often and love very much. Goodbye Evernote !&lt;&#x2F;p&gt;
&lt;h2 id=&quot;evernote&quot;&gt;Evernote&lt;&#x2F;h2&gt;
&lt;p&gt;Probably the world&#x27;s most used note taking app. It&#x27;s simple yet powerful. You can use it for free on 3 devices with not much limitation from pro features. I have used Evernote (Free) since April 16th, 2018. It has been my must have tool for years. The data gets backed up in their server. It is fast and simple to sync my data even if I uninstalled the app. It has many tools to format the text as I like. It also has a web clipper that gets a webpage clipped on my note. It groups notes in notebooks and can tag them too.Overall it&#x27;s a powerful note taking app which is well designed and beautiful.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;joplin&quot;&gt;Joplin&lt;&#x2F;h2&gt;
&lt;p&gt;Joplin is an open source note taking app having similar features to Evernote. It has the ability to backup your notes on the cloud of your choice. I even have an option to store my notes on their own cloud for some payment. The text formatting is done in markdown so it is sufficiently powerful for me. It also has a web clipper. it has the ability to group notes in Notebooks as well as tag them. It is one of the most powerful open source note taking application.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;i-recently-migrated-from-evernote-to-joplin-and-wanted-to-document-the-process-without-the-need-to-pay-for-syncing-notes-in-the-cloud-similar-to-evernote-free&quot;&gt;I recently migrated from Evernote to Joplin and wanted to document the process. ( Without the need to pay for syncing notes in the cloud similar to Evernote Free )&lt;&#x2F;h3&gt;
&lt;h1 id=&quot;steps&quot;&gt;Steps&lt;&#x2F;h1&gt;
&lt;h3 id=&quot;creating-a-free-nextcloud-account-for-free-syncing&quot;&gt;Creating a Free Nextcloud Account (For free syncing)&lt;&#x2F;h3&gt;
&lt;p&gt;Creating a free Nextcloud account is easy. First, sign up with your choice of server from the given link.
&lt;a href=&quot;https:&#x2F;&#x2F;nextcloud.com&#x2F;signup&#x2F;&quot;&gt;Sign up!&lt;&#x2F;a&gt;
Then delete unwanted things from your Nextcloud storage (Optional). Normally you get 2 - 5 GB of free storage. That&#x27;s enough for keeping notes. You can keep other documents too if you want.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;exporting-notes-from-evernote&quot;&gt;Exporting Notes From Evernote&lt;&#x2F;h3&gt;
&lt;p&gt;To export notes, follow these steps :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Open Evernote Desktop.&lt;&#x2F;li&gt;
&lt;li&gt;Go to Notebooks.&lt;&#x2F;li&gt;
&lt;li&gt;Click of the options icon and choose export notes.&lt;&#x2F;li&gt;
&lt;li&gt;Choose the format as markdown (Evernote).&lt;&#x2F;li&gt;
&lt;li&gt;Specify the export folder.&lt;&#x2F;li&gt;
&lt;li&gt;Do this for every Notebooks you want exported.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;importing-notes-to-joplin&quot;&gt;Importing Notes To Joplin&lt;&#x2F;h3&gt;
&lt;p&gt;To import notes to Joplin, follow these steps :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Open Joplin Desktop.&lt;&#x2F;li&gt;
&lt;li&gt;Go to files option.&lt;&#x2F;li&gt;
&lt;li&gt;Select import notes.&lt;&#x2F;li&gt;
&lt;li&gt;Navigate to the folder where you exported the notes from Evernote.&lt;&#x2F;li&gt;
&lt;li&gt;Select and import the notes one-by-one.&lt;&#x2F;li&gt;
&lt;li&gt;After importing there might be some minor mis-formatting of text.&lt;&#x2F;li&gt;
&lt;li&gt;Edit your notes to be perfectly formatted.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;integrating-joplin-to-nextcloud&quot;&gt;Integrating Joplin to Nextcloud&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;On Joplin go to it&#x27;s settings.&lt;&#x2F;li&gt;
&lt;li&gt;Go to synchronization.&lt;&#x2F;li&gt;
&lt;li&gt;Change the initial cloud to Nextcloud. (You can use Dropbox if you want)&lt;&#x2F;li&gt;
&lt;li&gt;Open your web browser and get into your Nextcloud.&lt;&#x2F;li&gt;
&lt;li&gt;Select the hamburger menu, there you&#x27;ll see a WebDAV URL, copy it.&lt;&#x2F;li&gt;
&lt;li&gt;Come to Joplin and paste the WebDAV URL.&lt;&#x2F;li&gt;
&lt;li&gt;Input your email and password.&lt;&#x2F;li&gt;
&lt;li&gt;Check the synchronization, It should work !&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;configuring-it-to-sync-with-android-ios&quot;&gt;Configuring it to sync with Android&#x2F;IOS&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Download and open Joplin.&lt;&#x2F;li&gt;
&lt;li&gt;Go to Configuration&lt;&#x2F;li&gt;
&lt;li&gt;On the synchronization section, select Nextcloud.&lt;&#x2F;li&gt;
&lt;li&gt;Input WebDAV URL, Email and Password like you did in desktop.&lt;&#x2F;li&gt;
&lt;li&gt;Check the synchronization, will definitely work!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;don-t-worry-be-happy&quot;&gt;Don&#x27;t Worry , Be Happy!&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;odysee.com&#x2F;@Music80:b&#x2F;Bobby-McFerrin---Don%27t-Worry-Be-Happy:8&quot;&gt;Here!&lt;&#x2F;a&gt;
You have successfully migrated from Evernote to Joplin. Now use Joplin like you used Evernote.&lt;&#x2F;p&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;© 2021 scientiac
&lt;&#x2F;span&gt;&lt;span&gt;All rights reserved.
&lt;&#x2F;span&gt;&lt;span&gt;Drafted and edited on Joplin.
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Open Android Apps</title>
        <published>2021-08-23T00:00:00+00:00</published>
        <updated>2021-08-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/open-apps/"/>
        <id>https://scientiac.space/blog/open-apps/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/open-apps/">&lt;h2 id=&quot;some-android-apps-that-can-be-replaced-with-garbage&quot;&gt;Some android apps that can be replaced with garbage.&lt;&#x2F;h2&gt;
&lt;p&gt;Android is full of proprietary garbage. Most of the applications we use are closed source and cannot be trusted. But there are open source alternatives to most of the  proprietary apps that we use daily.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;list-of-proprietary-apps-and-their-alternatives&quot;&gt;List of proprietary apps and their alternatives :&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;play-store-f-droid&quot;&gt;Play Store -&amp;gt; F-Droid&lt;&#x2F;h3&gt;
&lt;p&gt;F-Droid is the repository of open source applications from where you can install open source only apps. It contains most if the apps present in this list.
&lt;a href=&quot;https:&#x2F;&#x2F;www.f-droid.org&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;essential-apps-simple-mobile-tools&quot;&gt;Essential Apps -&amp;gt; Simple Mobile Tools&lt;&#x2F;h3&gt;
&lt;p&gt;Simple Mobile Tools is a suite of open source essential apps such as :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Gallery&lt;&#x2F;li&gt;
&lt;li&gt;Calendar&lt;&#x2F;li&gt;
&lt;li&gt;Contacts&lt;&#x2F;li&gt;
&lt;li&gt;Notes&lt;&#x2F;li&gt;
&lt;li&gt;File Manager&lt;&#x2F;li&gt;
&lt;li&gt;Draw&lt;&#x2F;li&gt;
&lt;li&gt;Music Player&lt;&#x2F;li&gt;
&lt;li&gt;Flashlight&lt;&#x2F;li&gt;
&lt;li&gt;SMS Messanger&lt;&#x2F;li&gt;
&lt;li&gt;Voice Recorder&lt;&#x2F;li&gt;
&lt;li&gt;Dialer&lt;&#x2F;li&gt;
&lt;li&gt;Calculator&lt;&#x2F;li&gt;
&lt;li&gt;Clock&lt;&#x2F;li&gt;
&lt;li&gt;App Launcher&lt;&#x2F;li&gt;
&lt;li&gt;Camera&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;As the name suggests they are simple and don&#x27;t have extensive functionality compared to other apps. But they will make your job done in no time.
&lt;a href=&quot;https:&#x2F;&#x2F;www.simplemobiletools.com&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;files-material-files&quot;&gt;Files -&amp;gt; Material Files&lt;&#x2F;h3&gt;
&lt;p&gt;Material Files is a file manager with a material design and can do everything that the Google Files can do and more.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;me.zhanghai.android.files&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;chrome-fennec-f-droid&quot;&gt;Chrome -&amp;gt; Fennec F-Droid&lt;&#x2F;h3&gt;
&lt;p&gt;Fennec F-Droid is a fork of Firefox with the unnecessary data collection removed making it even better than the original open source Firefox.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.mozilla.fennec_fdroid&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;google-maps-osmand&quot;&gt;Google Maps -&amp;gt; OsmAnd~&lt;&#x2F;h3&gt;
&lt;p&gt;OsmAnd~ is an open alternative to Google Maps and is very powerful on what it does. It can keep offline maps too. There are extensions available for different maps like satellite, biking etc.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;net.osmand.plus&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;twitter-fritter-twidere&quot;&gt;Twitter -&amp;gt; Fritter - Twidere&lt;&#x2F;h3&gt;
&lt;p&gt;You can access the contents of public Twitter accounts from Fritter. But you cannot use it to login, post and comment on tweets.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;com.jonjomckay.fritter&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;
Twidere on the other hand can log in to your Twitter account and you can do everything that you can do on the Twitter app.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.mariotaku.twidere&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;youtube-newpipe-lbry-odysee&quot;&gt;YouTube -&amp;gt; NewPipe - LBRY (Odysee)&lt;&#x2F;h3&gt;
&lt;p&gt;NewPipe is a YouTube frontend which allows you to watch YouTube content without the need of having an account to subscribe to channels as well as can play videos on popup mode which is only available on the premium YouTube app.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.schabi.newpipe&quot;&gt;Check&lt;&#x2F;a&gt;
On the other hand, LBRY&#x2F;Odyssey is a completely new platform like YouTube where you can find similar video contents. It uses cryptocurrency to pay the creators.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;io.lbry.browser&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;reddit-slide-lemmur&quot;&gt;Reddit -&amp;gt; Slide - Lemmur&lt;&#x2F;h3&gt;
&lt;p&gt;Slide is an open source reddit client which let&#x27;s you browse reddit however you want, it is customizable and doesn&#x27;t have any ads too.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;me.ccrama.redditslide&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;
Lemmur is a android client for &quot;lemmy&quot; which is a completely new platform similar to reddit but is federated.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;com.krawieck.lemmur&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;evernote-joplin&quot;&gt;Evernote -&amp;gt; Joplin&lt;&#x2F;h3&gt;
&lt;p&gt;Joplin is an open source note taking app which is a very good alternative to Evernote. It has features like Notebooks, Tags as well as Tasks like in Evernote. It can be synced on different cloud platform like Nextcloud, Onedrive, Dropbox etc as well as it&#x27;s own server.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;laurent22&#x2F;joplin-android&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gboard-anysoft-keyboard&quot;&gt;Gboard -&amp;gt; Anysoft Keyboard&lt;&#x2F;h3&gt;
&lt;p&gt;Anysoft Keyboard is an open source keyboard app that can replace the Gboard app but doesn&#x27;t have indic language support yet.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;en&#x2F;packages&#x2F;com.menny.android.anysoftkeyboard&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gmail-k9-mail-proton-mail&quot;&gt;Gmail -&amp;gt; K9 Mail - Proton Mail&lt;&#x2F;h3&gt;
&lt;p&gt;K9 Mail is an open source email client application to sign in to different email accounts.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;com.fsck.k9&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;
Proton Mail is a different email service which focuses on the privacy of the user. It also has an open source email app for Android.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ProtonMail&#x2F;proton-mail-android&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;google-drive-photos-nextcloud&quot;&gt;Google Drive&#x2F; Photos -&amp;gt; Nextcloud&lt;&#x2F;h3&gt;
&lt;p&gt;Nextcloud is an open source federated file hosting platform and can also be used for self-hosting.
&lt;a href=&quot;https:&#x2F;&#x2F;nextcloud.com&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;vpns-proton-vpn&quot;&gt;VPNs -&amp;gt; Proton VPN&lt;&#x2F;h3&gt;
&lt;p&gt;Proton VPN is an open source VPN service which give you three paces fo free with limited speed. It doesn&#x27;t contain ads like othe free VPN applications.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;ch.protonvpn.android&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;messaging-signal-element&quot;&gt;Messaging -&amp;gt; Signal - Element&lt;&#x2F;h3&gt;
&lt;p&gt;Signal is an open source centralized messaging platform having encrypted messaging.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;signalapp&#x2F;Signal-Android&quot;&gt;Check&lt;&#x2F;a&gt;
Element is an open source, decentralized and federated messaging service client of [Matrix] with encryption as well as many more features.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;im.vector.app&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;launcher-lawnchair&quot;&gt;Launcher -&amp;gt; Lawnchair&lt;&#x2F;h3&gt;
&lt;p&gt;Lawnchair is an open source highly customizable launcher for Android. It has many features like custom icon packs, resizing the icons, changing homescreen and appdrawer layout.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;LawnchairLauncher&#x2F;lawnchair&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;google-pdf-viewer-document-viewer&quot;&gt;Google PDF Viewer -&amp;gt; Document Viewer&lt;&#x2F;h3&gt;
&lt;p&gt;Document Viewer is an  application which helps to open documents of different format like PDF, DjVu, XPS etc.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.sufficientlysecure.viewer&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;your-phone-companion-kde-connect&quot;&gt;Your Phone Companion -&amp;gt; KDE Connect&lt;&#x2F;h3&gt;
&lt;p&gt;KDE Connect is an open source application that helps to connect your phone to your computer to share files, use phone as a mouse, execute commands etc.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.kde.kdeconnect_tp&#x2F;&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shareit-trebleshot&quot;&gt;ShareIt -&amp;gt; Trebleshot&lt;&#x2F;h3&gt;
&lt;p&gt;Trebleshot is a file sharing application which can replicate the function of shareit.
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;trebleshot&#x2F;android&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;zoom-jitsi&quot;&gt;Zoom -&amp;gt; Jitsi&lt;&#x2F;h3&gt;
&lt;p&gt;Jitsi is an open source video conferencing platform like zoom where you can create rooms, share your screen, share videos and conduct a conference with peoples.
&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;packages&#x2F;org.jitsi.meet&quot;&gt;Check&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Linux</title>
        <published>2021-08-22T00:00:00+00:00</published>
        <updated>2021-08-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/linux/"/>
        <id>https://scientiac.space/blog/linux/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/linux/">&lt;h2 id=&quot;an-open-source-alternative-to-windows-and-mac-os&quot;&gt;An open source alternative to Windows and Mac OS.&lt;&#x2F;h2&gt;
&lt;p&gt;Linux is a kernel developed by Linus Torvalds on September 17, 1991. GNU is the core utils of the operating system developed by Richard Stallman on September 27, 1983. Linux provides the kernel , which is the main connector between a hardware and a software and GNU provides the system utilities making GNU&#x2F;Linux a complete operating system. GNU&#x2F;Linux is commonly known as Linux Operating System.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;free-and-open-source&quot;&gt;Free and Open Source&lt;&#x2F;h3&gt;
&lt;p&gt;Linux is completely free in both ways; free as in &#x27;money&#x27; as well as free as in &#x27;freedom&#x27;. You can do whatever you want to the operating system and it doesn&#x27;t make you pay for using it unlike Microsoft&#x27;s Windows.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;customization&quot;&gt;Customization&lt;&#x2F;h3&gt;
&lt;p&gt;Since you can see the whole source code of this OS you can swap out anything with anything. You can even change the desktop environment, window managers, display managers, init system etc which seem like core parts of the OS if you compare it with windows.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;immune-to-viruses&quot;&gt;Immune to Viruses&lt;&#x2F;h3&gt;
&lt;p&gt;There are thousands of people watching the source code of linux, if one person tries to inject a virus or malware to the system , ten other people are there to remove it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;light-and-fast&quot;&gt;Light and Fast&lt;&#x2F;h3&gt;
&lt;p&gt;Linux is the fastest operating system in the world, you can make it run very less background processes as per your need and use a very little RAM for system and leave remaining ram to be used by additional applications making it even lighter and faster.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;privacy-respecting&quot;&gt;Privacy Respecting&lt;&#x2F;h3&gt;
&lt;p&gt;There is no telemetry enabled on any linux operating systems. If you want you can agree to send some data to them but it is turned off by default, unlike windows where each of their app have telemetry enabled by default.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;by-the-people-for-the-people&quot;&gt;By the People, For the People&lt;&#x2F;h3&gt;
&lt;p&gt;There is no headquarter of linux, it&#x27;s a community based OS which is improved and updated by communities if people. So no one needs to worry about sending your data to a giant data hogging company.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;compatibility&quot;&gt;Compatibility&lt;&#x2F;h3&gt;
&lt;p&gt;Linux is compatible with almost every kind of hardware, it can be designed to run on the servers, it can be designed to run on a supercomputer, a desktop, a laptop, a smartphone, a TV etc. Linux can literally run on a toaster.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;package-manager&quot;&gt;Package Manager&lt;&#x2F;h3&gt;
&lt;p&gt;The package manager on Linux is the best of it&#x27;s kind. You type simple command ( eg : apt install &lt;app&gt; ) on the terminal and &quot;boom!&quot; you got the app on your desktop. You can even update your whole system without needing to restart the machine, with a single command.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;versatility&quot;&gt;Versatility&lt;&#x2F;h3&gt;
&lt;p&gt;Linux is very versatile, it comes in hundreds of flavors. These flavors are called &#x27;distributions&#x27;. Distributions are based on different aspects, users, stability, updates, etc. You can choose to use a very stable Linux Distribution or you can choose to use a very updated Distribution. You can choose to use a user friendly Distribution as well as you can choose to just use the TUI without the GUI.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;foss&quot;&gt;FOSS&lt;&#x2F;h3&gt;
&lt;p&gt;Linux usually uses FOSS (Free and Open Source Software) which is usually free to use and gets your job done unlike windows where you pay for most of the softwares to work as well as don&#x27;t know what&#x27;s going on under the hood because you cannot see the source code.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;fragmentation&quot;&gt;Fragmentation&lt;&#x2F;h3&gt;
&lt;p&gt;One of the main feature of Linux is also it&#x27;s disadvantage. The packaging system on Linux is different depending upon the distributions. Which requires the developers to port different types of packages for different distributions despite of being the same operating system.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;community&quot;&gt;Community&lt;&#x2F;h3&gt;
&lt;p&gt;Sometimes the Linux community is a very helpful place where people can share ideas and problems which they solve as a team but sometimes The Linux community is one of the toxic places for people who are beginners. Most people assume themselves as superior because they use linux and refuse to help since they didn&#x27;t get any help when &quot;they&quot; learnt linux .&lt;&#x2F;p&gt;
&lt;h3 id=&quot;excessive-choices&quot;&gt;Excessive Choices&lt;&#x2F;h3&gt;
&lt;p&gt;There are so many choices that a beginner gets overwhelmed with the options. The excess choice in everything also causes fear in the newcomer&#x27;s heart if they think they chose the wrong option.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;lack-of-some-professional-softwares&quot;&gt;Lack of Some Professional Softwares&lt;&#x2F;h3&gt;
&lt;p&gt;Many professional softwares like Adobe Softwares, Microsoft Office, etc are not available in Linux. This can be a huge disadvantage if the user&#x27;s work totally depends upon these kinds of software.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;power-management&quot;&gt;Power Management&lt;&#x2F;h3&gt;
&lt;p&gt;Linux on laptops is a bit tricky because it uses a lot of power when installed draining the battery a lot faster than other operating systems. It doesn&#x27;t have a power saving algorithm like windows or mac does. But this issue can be somewhat fixed by installing additional battery saving softwares especially designed for laptops.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;my-thoughts&quot;&gt;My Thoughts&lt;&#x2F;h2&gt;
&lt;p&gt;I personally use and enjoy Linux as my daily driver. It is very fast compared to the windows operating system and I can do any kind of work from semi professional video editing on kdenlive to a simple note writing on kate on Linux. Sometimes there are bugs here and there but if everything was perfect where would be the room for development ? And finally , I use Arch BTW.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Matrix</title>
        <published>2021-08-21T00:00:00+00:00</published>
        <updated>2021-08-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/matrix/"/>
        <id>https://scientiac.space/blog/matrix/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/matrix/">&lt;h2 id=&quot;an-open-network-for-secure-decentralized-communication&quot;&gt;An open network for secure, decentralized communication&lt;&#x2F;h2&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;┏━ ┏┳┓ ━┓
&lt;&#x2F;span&gt;&lt;span&gt;┃  ┃┃┃  ┃
&lt;&#x2F;span&gt;&lt;span&gt;┗━ ╹ ╹ ━┛
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Matrix is an open source project that publishes the Matrix open standard for secure, decentralized, real-time communication, and its Apache licensed reference implementations.&lt;&#x2F;p&gt;
&lt;p&gt;It gives you simple HTTP APIs and SDKs to create chatrooms, direct chats and chat bots, complete with end-to-end encryption, file transfer, synchronised conversation history, formatted messages, read receipts and more .&lt;&#x2F;p&gt;
&lt;h2 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;end-to-end-encryption&quot;&gt;End To End Encryption&lt;&#x2F;h3&gt;
&lt;p&gt;Normally the messages on matrix are end to end encrypted, meaning they can only be read by the recipients with the correct set of keys.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;bridges&quot;&gt;Bridges&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix can integrate with other chat services like IRC, Telegram, Discord etc by the means of bridges. With bridges you can send messages to a telegram group bridged to matrix and they can see and reply back easily.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;decentralized&quot;&gt;Decentralized&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix has no specific server nor it has a specific app. It is decentralized which makes it safer than the centralized messaging services offered by giant data hogging companies like Facebook, Discord, etc.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;voip&quot;&gt;VoIP&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix offers VoIP service which means that you can make high quality audio and video calls over the internet and still using an open source and decentralized platform.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;user-centric&quot;&gt;User Centric&lt;&#x2F;h3&gt;
&lt;p&gt;Matrix can offer what the user want. If you want unencrypted messages? You can. If you want a different server? You can. If you want a different application? You can. You have the ability to make your own server, even design a whole application if you can, the possibilities are endless.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;difficult-to-understand&quot;&gt;Difficult to Understand&lt;&#x2F;h3&gt;
&lt;p&gt;The concept of Decentralization, Federation and Multiple servers can be a bit difficult to handle by a normal brain, especially if they haven&#x27;t heard about it before. Also the encryption on matrix is very good which takes us to a famous saying, &quot;Privacy comes with a cost of convenience.&quot;. Since every client should be verified with backup keys or use another login to to verify the new one, it becomes a bit difficult than other services like Facebook , Discord which just need you to input your ID and password to login and see all the chats.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;uncertainty-of-servers&quot;&gt;Uncertainty of Servers&lt;&#x2F;h3&gt;
&lt;p&gt;Servers are the places where you have your account and where you communicate from. It&#x27;s like a village where you live, but the servers can go out of fund or the administrator may lose interest and &quot;Your village may get destructed.&quot;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;lack-of-users&quot;&gt;Lack of Users&lt;&#x2F;h3&gt;
&lt;p&gt;Most of the people that use matrix are tech enthusiasts, open source supporters, privacy enthusiasts, and other people (ahmm ! Basically Nerds!). You might not find the people whom you usually talk to in Matrix.&lt;&#x2F;p&gt;
&lt;p&gt;Overall Matrix is very good alternative to other chat services like telegram, signal, messenger, etc. It is very flexible as well as secure which makes it better than all others. And since it&#x27;s a developing project there are much more features to come. Different clients also are developing &quot;default&quot; features of messaging apps like voice message and other features making easier for the people to shift from their existing platform too if you feel like switching.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Open Source</title>
        <published>2021-08-20T00:00:00+00:00</published>
        <updated>2021-08-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/open-source/"/>
        <id>https://scientiac.space/blog/open-source/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/open-source/">&lt;h2 id=&quot;how-a-clean-secure-reliable-honest-and-better-software-is-created&quot;&gt;How a clean, secure, reliable, honest and better software is created.&lt;&#x2F;h2&gt;
&lt;p&gt;Open source is source code that is made freely available to be modified by the public as well as can be redistributed. It is a decentralized software development model that encourage people for open collaboration. It began as a response to the limitation and weakness of the &quot;closed source&quot; proprietary code.&lt;&#x2F;p&gt;
&lt;p&gt;Generally, open source refers to a computer program whose source code is available to the public for use or modification from its initial design. Code is released under the terms of a software license. Depending on the license terms, people can download, modify, and publish their version (fork) back to the community.Open source software is usually a free software product, where people have access to the source code. They can enhance the program’s performance, add some features, and fix errors. Some examples of such software are LibreOffice, Firefox, and VLC Media Player.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;everything-has-it-s-own-pros-and-cons-here-are-some-of-the-pros-and-cons-of-open-source&quot;&gt;Everything has it&#x27;s own pros and cons. Here are some of the pros and cons of Open Source :&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;pros&quot;&gt;Pros :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Collaboration between different peoples can bring new ideas that can be implemented on it leading to better software.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;It is secure to use because anyone can look what&#x27;s going behind the scenes unlike proprietary softwares.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Since the code can be modified by anyone, anyone can customize it to their own liking.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Usually free to use.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;You actually can own your software instead of renting it.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;cons&quot;&gt;Cons :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Commercialization is difficult to achieve.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Fragmentation of software if a person doesn&#x27;t like what the original community is doing. ( This can also be an advantage of Open Source, depending upon people&#x27;s perspective. )&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;There is always the possibility that the developers of a program lose interest in working further on the software or just move on to another project.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Unlike proprietary softwares where you can phone or email them for instant tech support open source doesn&#x27;t have a proper tech support medium.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Privacy and Security</title>
        <published>2021-08-19T00:00:00+00:00</published>
        <updated>2021-08-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/privacy/"/>
        <id>https://scientiac.space/blog/privacy/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/privacy/">&lt;h2 id=&quot;a-concept-extinct-a-long-time-ago-a-living-myth&quot;&gt;A Concept Extinct A Long Time Ago ( A living Myth )&lt;&#x2F;h2&gt;
&lt;p&gt;If you think you are private and secure then think again. Do you use a smartphone? Do you use Google ? Do you use Facebook ?  If yes, your privacy has definitely been compromised. Your data might also have been leaked in one of the many data breaches throughout years. Every time you turn on the location of your device, every time you give google permission to your device&#x27;s sensors it&#x27;s collecting some data and sending it to google&#x27;s servers. Your data can be used by many ways by these organizations. For giving recommendations on YouTube that you might love watching to selling you products that you don&#x27;t even need.&lt;&#x2F;p&gt;
&lt;p&gt;Have you ever had a conversation around your phone about &#x27;something&#x27;, then later saw an advertisement on Facebook or Instagram for that same &#x27;something&#x27;? Trust me it isn&#x27;t coincidence.&lt;&#x2F;p&gt;
&lt;p&gt;Google employees can even access users&#x27; email to delete virus&#x27;, or remove potentially unsafe or violent emails. Emails are considered as one of the most private medium of communicating. Guess what, Google employees can access that without a warrant. All comes down to that one part where you have signed the agreement clause when you created your account.&lt;&#x2F;p&gt;
&lt;p&gt;On his blog by David Evenden he says, &quot; I would nearly guarantee all email vendors are the same way. They&#x27;ll say they can&#x27;t, they&#x27;ll say they don&#x27;t...but trust me...they can and they do.&quot;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;there-are-more-scary-things&quot;&gt;There are more scary things :&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You are always listened by any smart device that has microphone.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your GPS is always tracking you.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Most of your messages are not encrypted.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Everything you say anywhere in the internet can be collected, and can be used to track, stalk, steal, and monitor your activity.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Basically you are being sold to companies without even knowing it. Your info brings money to them. How else do you think free to use services companies like Google, Facebook, etc earn money? I am not a security expert but I can say that I have done a good amount of research on this issue. Nothing is free in the internet, your information is more valuable than any form of money.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;you-might-not-be-able-completely-vanish-from-the-internet-but-here-are-some-things-you-can-do-to-increase-your-non-existent-privacy-as-well-as-security-to-a-certain-extent&quot;&gt;You might not be able completely vanish from the internet. But here are some things you can do to increase your non existent privacy as well as security to a certain extent.&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Stop using Google,Facebook, Microsoft and their services.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Give priority to open source software.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Use different passwords  for different accounts and make them complex. (or use trusted password managers)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Use two factor authentication.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Never install and run applications from an un-trusted source.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Always read the user agreements before agreeing to something.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Turn off as much telemetry as you can.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Never save passwords inside your browser.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Prefer decentralized social media and encrypted  messaging services.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Always give minimum information about you to the sites you visit.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;There is a lot more to this problem, this is just the tip of an iceberg. Privacy is the main currency in today&#x27;s world. It&#x27;s up-to us how we choose to keep our information. Just knowing this may not change your daily routine about how you use the internet but you&#x27;ll learn what&#x27;s happening behind the bars. Some of the things mentioned above maybe very difficult to implement. But that&#x27;s the cost of privacy ; you need to trade some convenience.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Custom ROMs</title>
        <published>2021-08-18T00:00:00+00:00</published>
        <updated>2021-08-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/custom-rom/"/>
        <id>https://scientiac.space/blog/custom-rom/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/custom-rom/">&lt;h2 id=&quot;a-better-alternative-to-stock-roms&quot;&gt;A Better Alternative to Stock ROMs.&lt;&#x2F;h2&gt;
&lt;p&gt;Since Android is an open source operating system, anybody can check and modify it&#x27;s source code. You yourself can modify it as per your liking if you know what you are doing. Custom ROMs are the product of the openness of  Android. If you have noticed, when you use a Samsung phone it feels different than a phone from Xaomi which is also one of the blessings of an open software.&lt;&#x2F;p&gt;
&lt;p&gt;Custom ROMs are the modified versions of the original Android operating system that can be installed in place of the Stock ROMs ( The OS that&#x27;s already present on your device when you bought it. ) . Custom ROMs can be very beneficial if your phone supports it.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;latest-and-greatest&quot;&gt;Latest and Greatest&lt;&#x2F;h3&gt;
&lt;p&gt;If your manufacturer stopped sending software updates for your phone then you can get the latest version of android if you install a custom ROMs on it. And since it will be how android was originally made you won&#x27;t get bloatware and ads on your system apps that you normally see on generally every Stock ROM.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;versatility&quot;&gt;Versatility&lt;&#x2F;h3&gt;
&lt;p&gt;There are many Custom ROMs that you can choose from. Each of them are unique in  their own ways. They differ from features, battery life, performance, etc.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;privacy-and-security&quot;&gt;Privacy and Security&lt;&#x2F;h3&gt;
&lt;p&gt;Most Custom ROMs have Google services scraped out from them, that alone is the biggest feature for a privacy-centric device. They come preinstalled with open source alternatives of the propitiatory apps that can get your job done. Some ROMs even give their own services for cloud storage, emails etc. making them more privacy focused. You generally get the fastest security updates making your phone less vulnerable to malwares and bugs.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;custom-kernel&quot;&gt;Custom Kernel&lt;&#x2F;h3&gt;
&lt;p&gt;Different ROMs use different kernels ( The part of an operating that is directly connected to the hardware and is responsible for controlling it ). Kernel is heavily responsible for the experience you get from your device.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;improved-performance&quot;&gt;Improved Performance&lt;&#x2F;h3&gt;
&lt;p&gt;Many Custom ROMs offer you improved performance - definitely better than the Stock ROM that your manufacturer offers you. It is due to the fact that all the bloat are removed , latest version of android is present and the processor is overclocked.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;improved-battery-life&quot;&gt;Improved Battery Life&lt;&#x2F;h3&gt;
&lt;p&gt;Since all the bloat and ads are removed the background processes on your device gets substantially reduced that adds up extra life to your device. And you can even under-clock your processor that helps a lot to gain more battery life.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;customization-and-uniqueness&quot;&gt;Customization and Uniqueness&lt;&#x2F;h3&gt;
&lt;p&gt;Depending upon the Custom ROMs you get different levels of customization as well as you get a unique looking UI which you cannot get on any Stock ROM. You can entirely hide the icons on status bar, change the boot animation, apply system wide themes, the possibilities are endless.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;widewine-l1&quot;&gt;Widewine L1&lt;&#x2F;h3&gt;
&lt;p&gt;Your ROM might not have widewine L1 support making you unable to view HD content on  applications like Netflix, Amazon Prime, etc. You will have to root and do the modifications or wait for a software update that enables it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;safetynet&quot;&gt;SafetyNet&lt;&#x2F;h3&gt;
&lt;p&gt;Your ROM may fail to verify SafetyNet, not being able to install certain apps especially banking apps if you use them frequently. This also can be fixed by rooting and doing the modifications.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;only-for-snapdragon-and-exynos-processors&quot;&gt;Only For Snapdragon and Exynos Processors&lt;&#x2F;h3&gt;
&lt;p&gt;MediaTek in terms of Source Code has a policy, of not distributing it for free just to anyone unlike Snapdragon and Exynos processors. So there cannot be Custom ROMs designed for MediaTek unless they clarify themselves as opensource, or someone buys the source code from them and gives it to the developers.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;camera-with-less-software-optimization&quot;&gt;Camera With Less Software Optimization&lt;&#x2F;h3&gt;
&lt;p&gt;Generally the camera apps of Custom ROMs are poor in terms of software optimizations and versatility. This issue can be fixed by installing Gcam ( Which might even have better software optimization than your Custom ROM offered. ). You also have the ability to install ANX Camera ( MIUI Camera for Xaomi Devices ) but it require you to flash files from a custom recovery or via Magisk after rooting.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;root-access&quot;&gt;Root Access&lt;&#x2F;h3&gt;
&lt;p&gt;Some Custom ROMs require you to have root access to work that can add a big vulnerability to your device since it opens up your system directories that might cause all your data to be leaked if a malicious app got access to it. This can be prevented by your efforts of not letting any malicious apps to get into your device and access root level permissions.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;note&quot;&gt;Note :-&lt;&#x2F;h2&gt;
&lt;p&gt;Installing a Custom ROM require you to to unlock your device&#x27;s boot-loader. The method and process of unlocking the boot-loader completely depends upon the manufacturer ( Some doesn&#x27;t even give you the ability to do so. ). You might also need to install a custom recovery for the installation. If not done with proper care and knowledge you might brick your device during the process.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Tildeverse</title>
        <published>2021-08-17T00:00:00+00:00</published>
        <updated>2021-08-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/tildeverse/"/>
        <id>https://scientiac.space/blog/tildeverse/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/tildeverse/">&lt;h2 id=&quot;a-decentralized-collection-of-like-minded-social-unix-communities&quot;&gt;A decentralized collection of like-minded social Unix communities.&lt;&#x2F;h2&gt;
&lt;pre style=&quot;background-color:#282828;color:#fdf4c1aa;&quot;&gt;&lt;code&gt;&lt;span&gt;                                       ,                                  
&lt;&#x2F;span&gt;&lt;span&gt;                         l.       ,:    ::                                
&lt;&#x2F;span&gt;&lt;span&gt;                       ll.       .ll.   ;ll&amp;#39;                              
&lt;&#x2F;span&gt;&lt;span&gt;                      cll.      cll&amp;#39;    llll&amp;#39;                             
&lt;&#x2F;span&gt;&lt;span&gt;                      clll    lll.     llllll      .lllllll,              
&lt;&#x2F;span&gt;&lt;span&gt;                       llll  ;lc     .llllll:     clllc                   
&lt;&#x2F;span&gt;&lt;span&gt;                        llll&amp;#39; c.    clllllll     llll                     
&lt;&#x2F;span&gt;&lt;span&gt;         ,lllllllll&amp;#39;     llll&amp;#39;    llllllll.    ;llll            .         
&lt;&#x2F;span&gt;&lt;span&gt;             ,lllllll,    lll;  llllllll.    ;lllll &amp;#39;lllllllllll          
&lt;&#x2F;span&gt;&lt;span&gt;               ,llllll:   cll &amp;#39;llllll:     llllll. .        .             
&lt;&#x2F;span&gt;&lt;span&gt;         cll.    llllll. .l. &amp;#39;llllll         .:c,                 l.      
&lt;&#x2F;span&gt;&lt;span&gt;          .ll.   .lllll:     ;llll&amp;#39;      &amp;#39;lllllllllllllllc,&amp;#39;;lllll&amp;#39;       
&lt;&#x2F;span&gt;&lt;span&gt;           cl;    ,lllll     .lll;      cllllllllllllllllllllllll:        
&lt;&#x2F;span&gt;&lt;span&gt;    .      .ll,    lllll,     &amp;#39;ll.     lll.       ;lllllllllllll.         
&lt;&#x2F;span&gt;&lt;span&gt;    ,x       ,lll. ,lllll&amp;#39;      c,    ;.             .  .cll&amp;#39;             
&lt;&#x2F;span&gt;&lt;span&gt;     ldOkl;&amp;#39;,clll;  :lllll:       &amp;#39;                  cc                   
&lt;&#x2F;span&gt;&lt;span&gt;      ;lllllllllllll,.llllll:           .&amp;#39;cllllllll  .lllllllllllc        
&lt;&#x2F;span&gt;&lt;span&gt;                ,llll.  llllllll:             cllllll .llllllllllllo0     
&lt;&#x2F;span&gt;&lt;span&gt;                    ,;                  ,       llllll.           ,llx    
&lt;&#x2F;span&gt;&lt;span&gt;            lllllll               c&amp;#39;    .l,      clllll   ,lll       ,.   
&lt;&#x2F;span&gt;&lt;span&gt;         :llllllllllllllll&amp;#39;. &amp;#39;llllc      lll      lllll&amp;#39;    ,ll.          
&lt;&#x2F;span&gt;&lt;span&gt;        dllllllllllllllllllllllll;      &amp;#39;lll:     :lllll     cl;          
&lt;&#x2F;span&gt;&lt;span&gt;       oll:        :llllllllllll       ,lllll    ..lllll,    .ll.         
&lt;&#x2F;span&gt;&lt;span&gt;      ,&amp;#39;                              llllll, ll.  llllll:     lll.       
&lt;&#x2F;span&gt;&lt;span&gt;            ;lll;     l &amp;#39;lllllllc   lllllll..lll.  .lllllll.              
&lt;&#x2F;span&gt;&lt;span&gt;          &amp;#39;l.  :lllllc cllll.    :lllllll;  .lll:    llllllll,            
&lt;&#x2F;span&gt;&lt;span&gt;                      ,lll;    &amp;#39;lllllll:     clll,     .lllllll.          
&lt;&#x2F;span&gt;&lt;span&gt;                     :lll.    lllllll;     l; ;lll:                       
&lt;&#x2F;span&gt;&lt;span&gt;                   lllll     ,llllll      ;ll. .lll:                      
&lt;&#x2F;span&gt;&lt;span&gt;                .llllc       ,lllll     .lll.   .lll.                     
&lt;&#x2F;span&gt;&lt;span&gt;                              llll.    lll       clc                      
&lt;&#x2F;span&gt;&lt;span&gt;                               :lc    ;l,       .l,                       
&lt;&#x2F;span&gt;&lt;span&gt;                                 l.    l                                  
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Tildeverse is a free and open association of like minded tilde (~) communities. Tildes are pubnixes - (Public Access Unix Systems) inspired by tilde.club which was created by Paul Ford in 2014. These are very useful to those who want to learn about *nix
(GNU&#x2F;Linux, Unix, BSD, etc) systems.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s name is a combination of &#x27;Tilde (&lt;del&gt;)&#x27; and &#x27;Universe&#x27;. Here, Tilde means &#x27;Home&#x27; because (&lt;&#x2F;del&gt;) is a sign that represents the home directory in *nix systems.&lt;&#x2F;p&gt;
&lt;p&gt;Pubnixes - (Public Access Unix Systems) in simple terms are computers across the world that can be accessed via the internet. These computer run *nix operating systems and are accessed using Secure Shell (SSH).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;people-can-use-it-to&quot;&gt;People Can Use It To :&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;build-webpages&quot;&gt;Build Webpages&lt;&#x2F;h3&gt;
&lt;p&gt;People can create their own websites for free. Most tildes provide a folder where you can create and store a .html file which automatically becomes a website ( Domain is determined by respective tilde communities where you signed up. ) and can be instantly viewed it by  going to the assigned web address.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;build-gemini-capsules&quot;&gt;Build Gemini Capsules&lt;&#x2F;h3&gt;
&lt;p&gt;Like normal websites Gemini capsules also are &quot;websites&quot; on a different protocol called Gemini. People can host their Gemini Capsules like they can host websites.  Tildes provide a folder where you can create and store a .gmi file which automatically becomes a capsule and can be instantly viewed by going to the assigned gemini address.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;build-gopher-holes&quot;&gt;Build Gopher Holes&lt;&#x2F;h3&gt;
&lt;p&gt;Like gemini capsules gopher holes also are &quot;websites&quot; on a different protocol called Gopher. People can host their Gopher Holes like they can host websites.  Tildes provide a folder where you can create and store a text file which automatically becomes a gopher hole and can be instantly viewed by going to the assigned gopher address.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;learn-to-use-nix&quot;&gt;Learn to use nix*&lt;&#x2F;h3&gt;
&lt;p&gt;More than 70 percentage of people in the world are using Windows as their OS and many don&#x27;t even know what an OS is, these computers on the other hand runs nix*. Nix* includes operating systems like GNU&#x2F;Linux, BSD, Unix etc. These are generally used in servers; most of the servers runs GNU&#x2F;Linux. People can learn to navigate between files and folders and use terminal based applications provided by the tildes helping to grasp how *nix is designed and organized.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;write-software&quot;&gt;Write Software&lt;&#x2F;h3&gt;
&lt;p&gt;Tildes provide people with a suite of programs by which they can write software and learn. People can write code in Vim as well as Nano if  preferred. They can ask the administrator to install specific programs of their tilde doesn&#x27;t have one.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;play-tui-games&quot;&gt;Play TUI games&lt;&#x2F;h3&gt;
&lt;p&gt;TUI stands for Text User Interface; like GUI - Graphical User Interface. Since It doesn&#x27;t have a GUI, people are limited to the games that are made for TUI and also to the games that are provided respective tilde.  One of the common games on tildes is &#x27;botany&#x27; where people grow a plant, water it, crossbreed it, exchange seeds with friends etc.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;conduct-shows&quot;&gt;Conduct Shows&lt;&#x2F;h3&gt;
&lt;p&gt;You can even conduct web radio shows ( AzuraCast Streams ) on tildes, particularly on tilderadio.org if you are interested in it.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;use-tilde-services-and-projects&quot;&gt;Use Tilde Services and Projects&lt;&#x2F;h3&gt;
&lt;p&gt;Services like  tilde-chat, tilde-git, tilde-radio, mastodon, writefreely, minecraft, tilde-news,tildeverse jitsi, tildeverse mumble etc are available to use for tilde users to communicate and interact with each other.  For more info about services go to :
&lt;a href=&quot;https:&#x2F;&#x2F;tildeverse.org&quot;&gt;Tildeverse&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Basically, It is a unified hub of decentralized services and pubnixes where people can use their nerdy programs, do their nerdy works, interact with similar nerdy peoples having fun and learning.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;difference-between-tildes&quot;&gt;Difference Between Tildes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Services like Emails, NNTP, PHP etc are offered by limited tildes. For example, ~town does &lt;em&gt;not&lt;&#x2F;em&gt; offer email at all (only internal mail), cosmic could only send&#x2F;receive emails in Tildeverse. NNTP service is only natively offered by ~club, &lt;del&gt;team, cosmic, and your&lt;&#x2F;del&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Softwares like weechat, botany, etc are available in limited tildes. This is also determined by the operating system used in them.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Different tildes use different Operating Systems that determine the shell, applications, usability etc.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Tildes are located all over the world, so there is also a difference of geographical location where a certain tilde is located.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Tildes have their own specific themes, cosmic.voyage have a science fiction based theme, breadcrumb have a baker kind of theme, etc.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Particular tildes have particular objectives and specific tasks like ~radio, ~chat, etc.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;~team provides XMPP service that bridges to ~chat  and envs.net do Matrix bridging.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;why-nix-though&quot;&gt;Why nix* though ?&lt;&#x2F;h2&gt;
&lt;p&gt;This section from Paul Ford&#x27;s essay about tildeverse explains :&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;message&#x2F;tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf&quot;&gt;Full Essay&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Your typical &quot;cloud&quot; Unix server, designed in the 1970s to be a very social place, is today a ghost town with one or two factories still clanking in the town square - factories that receive our email, or accept our Instagram photos and store them, and manage our data. But there&#x27;s no one walking around and chatting downtown.&lt;&#x2F;p&gt;
&lt;p&gt;Thus when people talk about &quot;cloud computing&quot; they are talking about millions of tiny ghost towns. Ironic, because what do people build on these ghost towns but social networks.&lt;&#x2F;p&gt;
&lt;p&gt;In the last decade, social networks like Twitter, LinkedIn, Facebook - even Google Plus appeared. They tried to bring all those lonesome folks back together, into one enormous room. Not just a few dozen people on one computer but millions, even a billion people all sharing one giant meta-computer. Many of those services make very heavy use of Unix under the hood. So: We collectively took a very social computing platform, papered over its social parts, and used it to build a social computing platform.&lt;&#x2F;p&gt;
&lt;p&gt;Purely for kicks, I decided to turn the social part back on and throw
a nerd party.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;links&quot;&gt;Links&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;gemini:&#x2F;&#x2F;tildeverse.org&quot;&gt;Gemini Capsule of Tildeverse&lt;&#x2F;a&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;tilde.wiki&#x2F;wiki&#x2F;Tildeverse&quot;&gt;More About Tildeverse&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Mastodon</title>
        <published>2021-08-16T00:00:00+00:00</published>
        <updated>2021-08-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/mastodon/"/>
        <id>https://scientiac.space/blog/mastodon/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/mastodon/">&lt;h2 id=&quot;a-secure-decentralized-social-network&quot;&gt;A Secure Decentralized Social Network.&lt;&#x2F;h2&gt;
&lt;p&gt;Mastodon is a federated social media platform ( Actually a microblogging platform similar to Twitter ) based on a communication protocol called Activity Pub. It was released on 16th March 2016 and was created to be a safe place to share Ideas between people without having to trust a single organization for all your data. It is a free and open source software and can be used to self host social networking service so that you have the option to keep your data with you or with whom you trust.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Federation&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The greatest feature of mastodon is it&#x27;s federated nature. Mastodon doesn&#x27;t have a single server that store and moderates the data coming in and going out from it unlike Facebook, Instagram, Twitter or any other centralized platforms have. Which gives you the option to choose who to trust with your data and why.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Instances&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Mastodon has many servers with their own moderator(s) all around the globe hosted by different organizations with different mindset and different regulations. These servers are known as Instances which can be categorised by the topics,places, ethnicity, etc. So they don&#x27;t have a single set of rules and regulations but have different rules on different instances making communication between known and unknown communities easier.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Moderation&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Different instances have different populations and are moderated by different moderators which makes it easier to reach the users and respond to their issue. If a instance has 1000 peoples and two moderators, a moderators should only have to moderate 500 peoples, since the moderators are also the active members of the community who constantly interact with what is happening in the community they can solve the issues of the users in a more systematic and timely manner. On the other hand Twitter like platforms mostly use AI to moderate and the issues might take days or even weeks to get responded. There are times when people are responded for their issues by their moderators within minutes in mastodon.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Communication&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Since it is based on Activity Pub anyone can communicate with anyone on the other instance or even with other platforms like pleroma and peertube( based on Activity Pub ) from a single mastodon account without having to make different accounts for different platforms in order to communicate with the people in that platform ( Like you need a seperate accounts to follow users in different platforms like Facebook, Twitter, Instagram, YouTube ,etc. )&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Flexibility&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Mastodon includes a number of specific privacy features. Each message has a variety of privacy options available, and users can choose whether the message is public or private. Public messages display on a global feed, known as a timeline, and private messages are only shared on the timelines of the user&#x27;s followers. Messages can also be marked as unlisted from timelines or direct between users. Users can also mark their accounts as completely private. In the timeline, polls can also be made and you can also create messages that can be displayed with an optional &quot;content warning&quot; feature, which requires readers to click on the content to reveal the rest of the message. Mastodon servers have used this feature to hide spoilers, trigger warnings, and not safe for work (NSFW) content, though some accounts use the feature to hide links and thoughts others might not want to read.&lt;&#x2F;p&gt;
&lt;p&gt;Check out my article on &lt;a href=&quot;https:&#x2F;&#x2F;scientiac.space&#x2F;blog&#x2F;fediverse&#x2F;&quot;&gt;fediverse&lt;&#x2F;a&gt; for more details.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Fediverse</title>
        <published>2021-08-15T00:00:00+00:00</published>
        <updated>2021-08-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/fediverse/"/>
        <id>https://scientiac.space/blog/fediverse/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/fediverse/">&lt;h2 id=&quot;a-group-of-social-media-platforms-using-common-federation-protocols&quot;&gt;A Group of Social Media Platforms Using Common federation Protocols.&lt;&#x2F;h2&gt;
&lt;p&gt;Fediverse is an interconnected network of different services like Social Networking, Microblogging, Blogging, Video Hosting, File Hosting, and other services which can be independently hosted on different servers but can still communicate with each other. A service client can have multiple (hundreds and thousands) servers across the globe (called Instances) where each Instance (Server) has their own rules and regulations.
And since all the servers are running on a same base communication protocol they can communicate outside the boundaries of the servers and instances too. These services are connected in such a manner that a video hosting platform can communicate with a photo sharing platform or with a microblogging platform or any other platform. Every platform on fediverse can communicate with any other platform on the fediverse if they use the same communication protocol.&lt;&#x2F;p&gt;
&lt;p&gt;One of the most famous communication protocol of fediverse is Activity Pub. It is implemented on different softwares like Mastodon, Pleroma, Nextcloud, Peertube etc. There also are different communication protocols like Disapora Network, Zot and OStatus implemented on softwares like Friendica and Disapora*.&lt;&#x2F;p&gt;
&lt;p&gt;These softwares are open source and anyone can create their own server if they have sufficient will and resources.&lt;&#x2F;p&gt;
&lt;p&gt;You can find me on a microblogging platform inside the fediverse called Mastodon : @scientiac@fosstodon.org&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Nostalgia - My first Love</title>
        <published>2021-08-15T00:00:00+00:00</published>
        <updated>2021-08-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/paru/"/>
        <id>https://scientiac.space/blog/paru/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/paru/">&lt;p&gt;~ To Paru&lt;&#x2F;p&gt;
&lt;p&gt;The more I think about it, the more it becomes clear that you are the most loving and my favorite person. I remember those days in Bhirgaun and gulp thinking those days were too good and will not return back. I think about how we played hide and seek, made temples under the flower bush and get overwhelmed by the warmth it brings to my heart. I remember how we played;  you being teacher and I being a student  , you being my mother and I being your son , you being my wife and I being your husband. I remember sleeping on your lap while you played with my hair. I still remember you as that little girl who herself is scared but catches my hand to comfort me while I was scared of the imaginary ghosts from the stories told by Sudip. I remember coming to your house and staying the night talking to you when I didn&#x27;t get a phone to use WI-FI. I remember being compared to you as we were on same grade and I didn&#x27;t get top three position on exam while you stood first.I remember everytime I met you I kissed you on your cheeks and you wiped it. I remember you being angry and scolding me and the next minute we were talking about how we liked each other. I remember you skipping to another grade and actually being senior to me (You wouldn&#x27;t know how angry I was that day.). I remember you leaving Dharan and being far from me when we didn&#x27;t even had WIFI to communicate. I remember being lonely and sad when I went to your house and you weren&#x27;t there (I still do).&lt;&#x2F;p&gt;
&lt;p&gt;Since those Days we may be far from each other but I still love you the most . I still think about you and want you to call me, let me sleep on your lap and want you play with my hair while we share our stories , I want you to shout at me when I make mistakes and hit my stupid head while I irritate you with my weird interests. I am what I am because you were already in this world when I just came. Not every birthday can be special but some birthdays can. I want you to feel special  today because today is the day I love the most (even though I don&#x27;t remember the date).&lt;&#x2F;p&gt;
&lt;p&gt;With this capsule I make my most special person more special by making you the  first person in the world to get a birthday wish from this protocol.&lt;&#x2F;p&gt;
&lt;p&gt;With love,
~ Spu&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Gemini</title>
        <published>2021-08-14T00:00:00+00:00</published>
        <updated>2021-08-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/gemini/"/>
        <id>https://scientiac.space/blog/gemini/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/gemini/">&lt;h2 id=&quot;a-middle-ground-between-gopher-and-the-modern-web&quot;&gt;A Middle Ground Between Gopher and The Modern Web.&lt;&#x2F;h2&gt;
&lt;p&gt;Gemini is a internet protocol started in June 2019 that is similar to Gopher or as they call it &quot;The web, stripped right back to its essence&quot;.
Gemini can be seen as a middle ground between the old gopher protocol of the early 1990s and the modern web (http and https).&lt;&#x2F;p&gt;
&lt;p&gt;Unlike http(s) it is text only, that means it only supports information in the form of text following the UNIX philosophy (Make each program do one thing well).&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s a place you can be if you don&#x27;t want resource intensive things going on in your server and if you don&#x27;t have anything to do with media streaming(of course you can put media files in it but the files should be downloaded in order to view them). Since it is text only, it is very accessable for anyone with a computer, even a potato computing device can access the information stored and shared using this protocol.&lt;&#x2F;p&gt;
&lt;p&gt;The pages of Gemini are called &quot;capsules&quot; named after the Gemini space capsule. These capsules are written on a format similar to markdown with file extension &quot;.gmi&quot;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;you-can-access-gemini-from-the-following-apps&quot;&gt;You can access Gemini from the following apps :&lt;&#x2F;h2&gt;
&lt;p&gt;Android : Ariane, Deedum&lt;&#x2F;p&gt;
&lt;p&gt;IOS : Elaho&lt;&#x2F;p&gt;
&lt;p&gt;Windows : GemiNaut&lt;&#x2F;p&gt;
&lt;p&gt;Terminal : Amfora, Astro&lt;&#x2F;p&gt;
&lt;p&gt;Mac : Castor&lt;&#x2F;p&gt;
&lt;p&gt;For more information go to their official capsule.
&lt;a href=&quot;gemini:&#x2F;&#x2F;gemini.circumlunar.space&quot;&gt;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The End</title>
        <published>2021-08-03T00:00:00+00:00</published>
        <updated>2021-08-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/the-end/"/>
        <id>https://scientiac.space/blog/the-end/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/the-end/">&lt;p&gt;I am and will be yours and you are mine until the end. We are one single person, and will always be. Will never ever break apart. I vow to never leave you in your darkest times as well as mine. I will always be there with you.&lt;&#x2F;p&gt;
&lt;p&gt;Why am I in this dark quiet place. Silence everywhere, why can&#x27;t I feel my heart beating ? Why the soil is not making any sound as I walk in it. Why is nobody here! Hello!!&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s been days, maybe weeks , why don&#x27;t I feel any hunger, thirst, not even tiredness. Am I alive or am I not? What&#x27;s that light over there ? Hello!!!&lt;&#x2F;p&gt;
&lt;p&gt;Flash!&lt;&#x2F;p&gt;
&lt;p&gt;Why can&#x27;t I touch you? Why do you look soo old? Why is that bulb glowing soo white instead of yellow? Is that a calendar? It&#x27;s been 10 years? Where are all the photos of mine? Is that your diary? What do you mean you waited?
What is that mark on your neck? It looks like a healed cut.
Hello???!&lt;&#x2F;p&gt;
&lt;p&gt;This wasn&#x27;t a hallucination? So, am I actually dead? Why am I seeing her? And who&#x27;s that guy? Heyy!!, can anyone hear me!!? I&#x27;m up here! Wait, Are they kissing? How am I suddenly able to read minds?&lt;&#x2F;p&gt;
&lt;p&gt;She has gone through too much. She attempted suicide? Oh, that&#x27;s what the mark is. So, she met him two years ago on the same graveyard where I was buried.&lt;&#x2F;p&gt;
&lt;p&gt;He too knows what it feels to lose a loved one. His girlfriend died of brain tumor. Ohh so, he plays guitar too. Ahh those good old days.&lt;&#x2F;p&gt;
&lt;p&gt;After all, what have I become? What am I now? What is the purpose of my existence? Maybe there&#x27;s no reason at all.&lt;&#x2F;p&gt;
&lt;p&gt;Am I just a part of me that lives in her. Maybe this is my life after I am dead. I&#x27;m an infection inside her brain, the infection that has the ability to form into a tumor. I have the potential to kill her and maybe, maybe we can be together again, should I? But, what&#x27;s life then? Isn&#x27;t it the hope of being alive and trying to fulfill your dreams? What&#x27;s life without some pain, some wounds, some scratches and bruises that makes you feel more alive. She got the opportunity to live it the way it was intended, I didn&#x27;t. Yeah she is actually alive, the aliveness
that comes killing the pain, healing the wounds as the tears dry up. She&#x27;s alive, alive with new hope, with new feelings, a new start.
As she heals from her never-known disease , me.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Firefly</title>
        <published>2021-05-29T00:00:00+00:00</published>
        <updated>2021-05-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/firefly/"/>
        <id>https://scientiac.space/blog/firefly/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/firefly/">&lt;p&gt;It&#x27;s about us both&lt;br &#x2F;&gt;
Maybe, it&#x27;s not&lt;br &#x2F;&gt;
Maybe It&#x27;s only about me&lt;br &#x2F;&gt;
It&#x27;s about how I followed you&lt;br &#x2F;&gt;
How I loved you&lt;br &#x2F;&gt;
How we were together&lt;br &#x2F;&gt;
How I felt when you disappeared&lt;br &#x2F;&gt;
Wait,&lt;br &#x2F;&gt;
Maybe its all about you&lt;br &#x2F;&gt;
About how you didn&#x27;t notice me&lt;br &#x2F;&gt;
How you lived your life flying and playing&lt;br &#x2F;&gt;
How you didn&#x27;t care&lt;br &#x2F;&gt;
How you enjoyed the day and night&lt;br &#x2F;&gt;
How I didn&#x27;t matter&lt;br &#x2F;&gt;
Or&lt;br &#x2F;&gt;
Maybe its about them&lt;br &#x2F;&gt;
About how they made fun of us&lt;br &#x2F;&gt;
How they made us different&lt;br &#x2F;&gt;
How they manipulated our mind&lt;br &#x2F;&gt;
How they used us both&lt;br &#x2F;&gt;
How they took us apart&lt;br &#x2F;&gt;
Clearly&lt;br &#x2F;&gt;
This was a heaven&lt;br &#x2F;&gt;
A heaven of hope&lt;br &#x2F;&gt;
Where you were a firefly&lt;br &#x2F;&gt;
An innocent little beauty&lt;br &#x2F;&gt;
Where I was the night&lt;br &#x2F;&gt;
Dark cold and empty&lt;br &#x2F;&gt;
And they were the rain&lt;br &#x2F;&gt;
A cruel endless rain&lt;br &#x2F;&gt;
Because,&lt;br &#x2F;&gt;
We were destined to meet tomorrow.&lt;br &#x2F;&gt;
A new day with a new hope&lt;br &#x2F;&gt;
Where I hoped to meet you&lt;br &#x2F;&gt;
See you dancing&lt;br &#x2F;&gt;
In your own small world&lt;br &#x2F;&gt;
but all that&#x27;s left was hope&lt;br &#x2F;&gt;
Not just any hope&lt;br &#x2F;&gt;
But a false hope&lt;br &#x2F;&gt;
A hope that broke my heart&lt;br &#x2F;&gt;
A hope which hid the pain of truth&lt;br &#x2F;&gt;
A hope that was toxic&lt;br &#x2F;&gt;
A hope which pushed me&lt;br &#x2F;&gt;
Far from your presence&lt;br &#x2F;&gt;
Far far away from you&lt;br &#x2F;&gt;
Far from the world of fireflies&lt;br &#x2F;&gt;
Far far away from my firefly.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Waterfall</title>
        <published>2021-05-11T00:00:00+00:00</published>
        <updated>2021-05-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/waterfall/"/>
        <id>https://scientiac.space/blog/waterfall/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/waterfall/">&lt;p&gt;Flowing water.&lt;br &#x2F;&gt;
Sparkling droplets forming rainbow,&lt;br &#x2F;&gt;
dispersing light from white to colors.&lt;br &#x2F;&gt;
The sound of yours give me different feelings;&lt;br &#x2F;&gt;
a feeling of satisfaction, relaxation.&lt;br &#x2F;&gt;
A feeling that can put me to sleep.&lt;br &#x2F;&gt;
You flow with a unpredictable turbulence,&lt;br &#x2F;&gt;
bouncing and breaking into droplets.&lt;br &#x2F;&gt;
Droplets that go everywhere, anywhere.&lt;br &#x2F;&gt;
Sometimes you drown me&lt;br &#x2F;&gt;
maybe others too drown inside you.&lt;br &#x2F;&gt;
Never steady and ever changing,&lt;br &#x2F;&gt;
You may just me a point in time&lt;br &#x2F;&gt;
or might be a whole life to me.&lt;br &#x2F;&gt;
I can&#x27;t be far from you&lt;br &#x2F;&gt;
neither can I be near you.&lt;br &#x2F;&gt;
You are heavenly and beautiful as hell&lt;br &#x2F;&gt;
or are you nature&#x27;s weapon of destruction.&lt;br &#x2F;&gt;
It&#x27;s just in your nature to be anything,&lt;br &#x2F;&gt;
make your own paths and explore.&lt;br &#x2F;&gt;
New directions new ways&lt;br &#x2F;&gt;
like the flow of  electrons of an atom.&lt;br &#x2F;&gt;
&#x27;Uncertain!&#x27;&lt;br &#x2F;&gt;
And I,  am just an antelope&lt;br &#x2F;&gt;
quenching my thirst in a puddle,&lt;br &#x2F;&gt;
beside the Waterfall.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Universe In Her Eyes</title>
        <published>2021-04-26T00:00:00+00:00</published>
        <updated>2021-04-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/the-universe-in-her-eyes/"/>
        <id>https://scientiac.space/blog/the-universe-in-her-eyes/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/the-universe-in-her-eyes/">&lt;p&gt;Stars in the heaven,&lt;br &#x2F;&gt;
blazing like the burning flames.&lt;br &#x2F;&gt;
Glowing, sparkling and twinkling.&lt;&#x2F;p&gt;
&lt;p&gt;Aurora in the sky,&lt;br &#x2F;&gt;
exquisite like a vivid rainbow.&lt;br &#x2F;&gt;
Raven-like, mysterious and enchanting.&lt;&#x2F;p&gt;
&lt;p&gt;Snowy golden clouds,&lt;br &#x2F;&gt;
lustrous like the shiny crystals.&lt;br &#x2F;&gt;
Icy, misty and sparkling.&lt;&#x2F;p&gt;
&lt;p&gt;Clean sand dunes,&lt;br &#x2F;&gt;
bloomed like the cactus flowers.&lt;br &#x2F;&gt;
Beautiful, fierce and brown.&lt;&#x2F;p&gt;
&lt;p&gt;Waves in the ocean,&lt;br &#x2F;&gt;
clear like the flowing water.&lt;br &#x2F;&gt;
Shining, shimmering  and simple.&lt;&#x2F;p&gt;
&lt;p&gt;The universe in her eyes,&lt;br &#x2F;&gt;
is where I experience nirvana.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A Man Whose Heart Wasn&#x27;t Broken</title>
        <published>2020-12-17T00:00:00+00:00</published>
        <updated>2020-12-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/a-man-whose-heart-wasnt-broken/"/>
        <id>https://scientiac.space/blog/a-man-whose-heart-wasnt-broken/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/a-man-whose-heart-wasnt-broken/">&lt;p&gt;A wise old man once said and I quote,&lt;&#x2F;p&gt;
&lt;p&gt;&quot;She didn&#x27;t break my heart, she just made me very sad that my dopamine levels got very low. The only thing that could help to increase my dopamine and serotonin levels was to eat food. Excessive intake of so called &quot;Tasty&quot; food containing excess amount of saturated fat and cholesterol caused plaques to build up in my arteries.
Due to the buildup of plaque, my arteries started to narrow down, decreasing the blood flow to my heart. The reduced blood flow caused chest pain, shortness of breath and other problems. Days passed by, but the plaque gradually went on increasing. One day I woke up and found out that I was unconscious for 2 days. The plaque had completely blocked one of my arteries. I had a heart attack . She didn&#x27;t break my heart but she gave me a heart attack.&quot;&lt;&#x2F;p&gt;
&lt;p&gt;I was about to ask how the heck was he still alive, but my alarm went off and I woke up.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Creations</title>
        <published>2020-11-26T00:00:00+00:00</published>
        <updated>2020-11-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/creations/"/>
        <id>https://scientiac.space/blog/creations/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/creations/">&lt;p&gt;In the inception&lt;&#x2F;p&gt;
&lt;p&gt;I created god,&lt;br &#x2F;&gt;
gave it magic,&lt;br &#x2F;&gt;
made it to exist in every forms.&lt;&#x2F;p&gt;
&lt;p&gt;I created heaven,&lt;br &#x2F;&gt;
gave it beauty,&lt;br &#x2F;&gt;
made it an epitome of happiness.&lt;&#x2F;p&gt;
&lt;p&gt;I created soul,&lt;br &#x2F;&gt;
inserted it in my body,&lt;br &#x2F;&gt;
gave it the power to control life.&lt;&#x2F;p&gt;
&lt;p&gt;In the end&lt;&#x2F;p&gt;
&lt;p&gt;God created me,&lt;br &#x2F;&gt;
bounded me in laws,&lt;br &#x2F;&gt;
made me die in every cost.&lt;&#x2F;p&gt;
&lt;p&gt;Heaven created hell,&lt;br &#x2F;&gt;
it fried me in oil,&lt;br &#x2F;&gt;
tortured all and always gave pain.&lt;&#x2F;p&gt;
&lt;p&gt;Soul conquered body,&lt;br &#x2F;&gt;
controlled me no matter when,&lt;br &#x2F;&gt;
used and threw me away, after then.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Torrent and Torrenting</title>
        <published>2020-11-13T00:00:00+00:00</published>
        <updated>2020-11-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/torrenting/"/>
        <id>https://scientiac.space/blog/torrenting/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/torrenting/">&lt;h2 id=&quot;a-decentralized-file-transfer-protocol-and-activity&quot;&gt;A decentralized file transfer protocol and activity.&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Torrents are a method of distributing files over the internet. They operate over the BitTorrent protocol. The BitTorrent protocol helps in sharing data in a decentralized manner.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Torrenting is the process of downloading and hosting torrents using the BitTorrent protocol.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;workings-of-torrenting&quot;&gt;Workings of Torrenting&lt;&#x2F;h2&gt;
&lt;p&gt;This is done by breaking down large files into many bits and later connecting those bits together. Torrenting works by using decentralized servers to download files, and each participant in this file-sharing activity is engaged in downloading and uploading files. That is to say, all Torrent users rely on each other to carry on the file transfer activity. Essentially, you are sharing the file being downloaded while it is still in the process of downloading, without having to wait for the whole file to download.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;A single person uploads a file (Makes a torrent).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;A torrent can be distributed using a hash; often called a magnet link or a TORRENT file.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;The file is downloaded by another person.&lt;&#x2F;li&gt;
&lt;li&gt;The device of another person now acts as a server and involves in the supplying of that file too.&lt;&#x2F;li&gt;
&lt;li&gt;As the number of people downloading the file increases, the number of servers increases, making it better available when one or more server is inactive or disconnected.&lt;&#x2F;li&gt;
&lt;li&gt;Since the file was broken into pieces, some pieces of the file goes from one server and some from another, sharing the bandwidth with the main server.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;terms-in-torrenting&quot;&gt;Terms in Torrenting&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;seed&quot;&gt;Seed&lt;&#x2F;h3&gt;
&lt;p&gt;If the user downloads a torrent and the torrent client starts uploading the file for other people to download, the file the downloader is uploading which is available for other users to download from is a seed.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;peer&quot;&gt;Peer&lt;&#x2F;h3&gt;
&lt;p&gt;A peer is someone downloading the file from a seeder and does not have the full file yet.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;leech&quot;&gt;Leech&lt;&#x2F;h3&gt;
&lt;p&gt;If a user downloads a torrent but refuses to distribute it then the file is called a leech (Maybe the user is called a leech.).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;swarm&quot;&gt;Swarm&lt;&#x2F;h3&gt;
&lt;p&gt;A swarm is a group of people who are sharing and downloading the same toerrent.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;tracker&quot;&gt;Tracker&lt;&#x2F;h3&gt;
&lt;p&gt;It is a server that tracks the users of the torrent and helps to locate each other for data transmission.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client&quot;&gt;Client&lt;&#x2F;h3&gt;
&lt;p&gt;A client is a program that recognizes the torrent file or the magnet hash and does the downloading and uploading task.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;indexers&quot;&gt;Indexers&lt;&#x2F;h3&gt;
&lt;p&gt;Indexers are the websites that collects and stores a huge number of torrents. It&#x27;s where the people search for the torrent they require.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;is-torrneting-illegal&quot;&gt;Is Torrneting Illegal ?&lt;&#x2F;h2&gt;
&lt;p&gt;Since this is the most asked question, I am just going to tell you that torrenting isn&#x27;t illegal. But....... There&#x27;s a but. Downloading and distributing illegal (Copyrighted) files via the torrent is illegal. Torrent is just a file transfer protocol.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Beauty Of Night</title>
        <published>2020-11-12T00:00:00+00:00</published>
        <updated>2020-11-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/the-beauty-of-night/"/>
        <id>https://scientiac.space/blog/the-beauty-of-night/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/the-beauty-of-night/">&lt;p&gt;After the daytime colorful and bright,&lt;br &#x2F;&gt;
The sun goes down and then comes night.&lt;br &#x2F;&gt;
No light , no colors, lack of sight,&lt;br &#x2F;&gt;
The only colors left are black and white.&lt;&#x2F;p&gt;
&lt;p&gt;Everything is dark and colors are gone,&lt;br &#x2F;&gt;
The sky turns black in the absence of sun.&lt;br &#x2F;&gt;
The moon and the stars rise in the sky,&lt;br &#x2F;&gt;
What also rise are millions of &quot;why ?&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;Every night I see those stars,&lt;br &#x2F;&gt;
And wonder how many there are.&lt;br &#x2F;&gt;
Yes, they are huge but they are far,&lt;br &#x2F;&gt;
All I see is the past of the stars.&lt;&#x2F;p&gt;
&lt;p&gt;Some red , some blue and others are white,&lt;br &#x2F;&gt;
Reds are far &amp;amp; blues are near says the light.&lt;br &#x2F;&gt;
There&#x27;s one Moon but stars infinite,&lt;br &#x2F;&gt;
All of these shows the beauty of night.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Love</title>
        <published>2020-01-01T00:00:00+00:00</published>
        <updated>2020-01-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              scientiac
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://scientiac.space/blog/love/"/>
        <id>https://scientiac.space/blog/love/</id>
        
        <content type="html" xml:base="https://scientiac.space/blog/love/">&lt;p&gt;You Are So Precious To Me&lt;&#x2F;p&gt;
&lt;p&gt;You are my forever and today.&lt;&#x2F;p&gt;
&lt;p&gt;My only wish is you and only you&lt;&#x2F;p&gt;
&lt;p&gt;In my thoughts , dreams and when I pray.&lt;&#x2F;p&gt;
&lt;p&gt;Your eyes, your hair&lt;&#x2F;p&gt;
&lt;p&gt;Beautiful , Brown and grey.&lt;&#x2F;p&gt;
&lt;p&gt;Just a glance of smile on your face&lt;&#x2F;p&gt;
&lt;p&gt;Is enough to make my day.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
