<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Kunal's Blog]]></title><description><![CDATA[Kunal's Blog]]></description><link>https://blog.kunalagrawal.com</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 00:38:55 GMT</lastBuildDate><atom:link href="https://blog.kunalagrawal.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Definitive Guide for Oauth2 for Google Workspace and Nodemailer]]></title><description><![CDATA[Following the recent announcement that Less Secure Apps will phased out for Google Workspace starting from June 15, 2024, I've been exploring options for setting up OAuth2 for a client project. However, the guides I found were either outdated or too ...]]></description><link>https://blog.kunalagrawal.com/definitive-guide-for-oauth2-for-google-workspace-and-nodemailer</link><guid isPermaLink="true">https://blog.kunalagrawal.com/definitive-guide-for-oauth2-for-google-workspace-and-nodemailer</guid><category><![CDATA[Node.js]]></category><category><![CDATA[nodemailer]]></category><category><![CDATA[Google Workspace]]></category><category><![CDATA[OAuth2]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Tue, 27 Feb 2024 10:42:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/3Mhgvrk4tjM/upload/c955ea5537d6ac44d5ec80dd5cd333e9.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Following the recent announcement that Less Secure Apps will phased out for Google Workspace starting from June 15, 2024, I've been exploring options for setting up OAuth2 for a client project. However, the guides I found were either outdated or too complicated, especially when it came to granting permissions. So, here's a straightforward guide to using OAuth2 (2LO) with Nodemailer.</p>
<p>We're opting for 2LO in this guide because it's better suited for server-to-server communication.</p>
<h4 id="heading-prerequisites">Prerequisites:</h4>
<ul>
<li><p>Google Workspace Account</p>
</li>
<li><p>Access to the Admin Dashboard in Workspace for Domain Wide Delegation</p>
</li>
</ul>
<h4 id="heading-step-1-setting-up-a-project">Step 1: Setting Up a Project</h4>
<ol>
<li>Create a new project on Google Cloud or use an existing one.</li>
</ol>
<h4 id="heading-step-2-enabling-the-gmail-api">Step 2: Enabling the Gmail API</h4>
<ol>
<li><p>Go to the API and Services section and select Library from the menu.</p>
</li>
<li><p>Search for Gmail and select <a target="_blank" href="https://console.cloud.google.com/marketplace/product/google/gmail.googleapis.com">Gmail API</a> and click Enable.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709029896933/c8a2c8d2-249e-468d-917a-57c397543282.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
<h4 id="heading-step-3-creating-a-service-account">Step 3: Creating a Service Account</h4>
<ol>
<li><p>Navigate to API and Services, then click on <a target="_blank" href="https://console.cloud.google.com/apis/credentials">Credentials</a>.</p>
</li>
<li><p>Choose to create new credentials and select Service Account.</p>
</li>
<li><p>Fill in the required details and click Done.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709029699344/53b5c9e1-c811-4d50-9cea-9663c3992f23.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Under the newly created service account, go to the Keys tab and click Add Key.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709029357876/b6b918b6-2a4e-42bc-917a-cf6153fa1975.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Choose Key type as JSON and click create. This will download the JSON file which will be used later.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709029396366/88fd8101-c53a-47dd-85f3-021ffd77d408.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Copy the Unique ID from the details tab.</p>
</li>
</ol>
<h4 id="heading-step-4-domain-wide-delegation">Step 4: Domain Wide Delegation</h4>
<ol>
<li><p>Go to the Admin Console, then to Security, and select API Controls.</p>
</li>
<li><p>Click on Domain-wide Delegation or visit this link: <a target="_blank" href="https://admin.google.com/ac/owl/domainwidedelegation">https://admin.google.com/ac/owl/domainwidedelegation</a></p>
</li>
<li><p>Add a new entry, paste the Unique ID into the Client ID field, and add "<a target="_blank" href="https://mail.google.com/">https://mail.google.com/</a>" under OAuth Scopes.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709029505261/a09afe5f-7885-415b-bd28-d202a8772e37.png" alt="Example for filling data for Doman-wide Delegation" class="image--center mx-auto" /></p>
</li>
<li><p>Click Authorize.</p>
</li>
</ol>
<h4 id="heading-step-5-setting-up-nodemailer-transport">Step 5: Setting Up Nodemailer Transport</h4>
<ol>
<li><p>In the downloaded JSON file from Step 3, keep only the private_key, client_id, and token_uri.</p>
</li>
<li><p>Add a new key named user with values as the email associated with the project. This email will be used by the app to send out emails</p>
</li>
<li><p>For simplicity, rename the downloaded file to auth.json.</p>
<pre><code class="lang-javascript"> <span class="hljs-keyword">let</span> auth = <span class="hljs-built_in">require</span>(<span class="hljs-string">'auth.json'</span>);

 <span class="hljs-comment">// For .env freaks, use btoa(JSON.stringify(auth.json))</span>
 <span class="hljs-comment">// and store the base64 output in .env auth key</span>
 <span class="hljs-comment">// const auth = JSON.parse(atob(process.env.AUTH))</span>

 <span class="hljs-keyword">let</span> transporter = nodemailer.createTransport({
   <span class="hljs-attr">service</span>: <span class="hljs-string">'gmail'</span>,
    <span class="hljs-attr">auth</span>: {
     <span class="hljs-attr">type</span>: <span class="hljs-string">'OAuth2'</span>,
     <span class="hljs-attr">user</span>: auth.user,
     <span class="hljs-attr">serviceClient</span>: auth.client_id,
     <span class="hljs-attr">privateKey</span>: auth.private_key,
     <span class="hljs-attr">accessUrl</span>: auth.token_uri,
    }
 });
</code></pre>
</li>
</ol>
<p>That's it folks. If you encounter any issues or have questions, don't hesitate to reach out for further assistance. Happy emailing!</p>
]]></content:encoded></item><item><title><![CDATA[Resolving Infinite Loading in File Explorer for Video Files]]></title><description><![CDATA[Have you ever experienced your file explorer getting stuck while loading a folder. You know, the way the green progress bar just keeps on loading. This issue can lead the File Explorer to enter a state where other folders may also become inaccessible...]]></description><link>https://blog.kunalagrawal.com/resolving-infinite-loading-in-file-explorer-for-video-files</link><guid isPermaLink="true">https://blog.kunalagrawal.com/resolving-infinite-loading-in-file-explorer-for-video-files</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Thu, 07 Dec 2023 16:27:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/cckf4TsHAuw/upload/07ec52ae1136bade5f7427a5a67af1ec.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever experienced your file explorer getting stuck while loading a folder. You know, the way the green progress bar just keeps on loading. This issue can lead the File Explorer to enter a state where other folders may also become inaccessible, often requiring manual intervention such as restarting explorer.exe, signing out and signing back in, or even rebooting your system.</p>
<p>In my quest to resolve this issue, I performed a series of troubleshooting steps, including:</p>
<ul>
<li>Defragmenting my drive</li>
<li>Dism /online /Cleanup-Image /StartComponentCleanup /ResetBase</li>
<li>sfc /scannow</li>
<li>chkdsk /f /r /x</li>
<li>Clearing out File Explorer thumnail cache</li>
<li>Checking event logs of explorer.exe for possible crashes/issues</li>
<li>Reinstalling VLC</li>
</ul>
<p>Despite these efforts, the problem persisted.</p>
<p>After some digging, I discovered that the root cause of the problem lies in the thumbnail generation process. While temporarily switching views or disabling thumbnails proved to be a workaround, I knew this wasn’t the exact solution.</p>
<p>Thus I gathered all the video files in a folder and relocate them to other folders which I rarely use. A breakthrough came when I installed PowerToys, featuring a tool called LockSmith. Running this tool on the MKV folder revealed that a process called dllhost.exe was consistently locking the MKV files. Terminating this process allowed File Explorer to successfully load and generate thumbnails for some files, but the problem persisted due to recurring locks.</p>
<p>The best explanation I found was: “As an example, a COM object may be used in handling media files such as videos for the generation of a Windows Thumbnail. Sometimes the file; DLLHost.exe may hold the File Handle of the media file in an “Open” state and this may not allow that file to be moved or deleted. Thus causing a “file lock error”.”</p>
<p>Upon inspecting each file, it became evident that only x265/HEVC files were being locked, while x264 files generated thumbnails successfully. The focus narrowed down to x265/HEVC files as the root cause of the issue.</p>
<p>From what was now known, I looked into installed apps that could be handling HEVC Files. This unveiled the culprit: “<a target="_blank" href="https://apps.microsoft.com/detail/9NMZLZ57R3T7">HEVC Video Extensions</a>” by Microsoft. Uninstalling this application proved to be the correct step as I no longer ran into this issue again, thus eliminating the infinite loading issue in File Explorer.</p>
<p>Additionally, you can install “<a target="_blank" href="https://apps.microsoft.com/detail/9N4WGH0Z6VHQ">HEVC Video Extensions from Device Manufacturer</a>“, to generate thumbnails for HEVC files.</p>
<p>TL;DR:</p>
<p>In summary, the infinite loading issue in File Explorer for x265/HEVC video files is caused by the Microsoft’s “<a target="_blank" href="https://apps.microsoft.com/detail/9NMZLZ57R3T7">HEVC Video Extension</a>“. Uninstalling it and installing “<a target="_blank" href="https://apps.microsoft.com/detail/9N4WGH0Z6VHQ">HEVC Video Extensions from Device Manufacturer</a>” resolves the problem.</p>
]]></content:encoded></item><item><title><![CDATA[Re-Assign Win+V Shortcut to CopyQ on Windows 10/11]]></title><description><![CDATA[While Windows 10 provides a default clipboard feature, power users often find it lacking in functionality, especially with limited history retention and the inability to remember items after restarts. For a more robust and convenient clipboard experi...]]></description><link>https://blog.kunalagrawal.com/re-assign-winv-shortcut-to-copyq-on-windows-1011</link><guid isPermaLink="true">https://blog.kunalagrawal.com/re-assign-winv-shortcut-to-copyq-on-windows-1011</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Wed, 21 Jun 2023 17:35:45 GMT</pubDate><content:encoded><![CDATA[<p>While Windows 10 provides a default clipboard feature, power users often find it lacking in functionality, especially with limited history retention and the inability to remember items after restarts. For a more robust and convenient clipboard experience, CopyQ comes to the rescue.</p>
<p>By reassigning the Win+V shortcut to open CopyQ, you can enjoy advanced features such as a comprehensive history, powerful search capabilities, and more. In this article, I will guide you through the steps to set up CopyQ as your go-to clipboard manager, supercharging your productivity.</p>
<p>Step 1: Disabling the Native Clipboard</p>
<ul>
<li>Navigate to Start &gt; Settings &gt; System &gt; Clipboard.</li>
<li>Turn off Clipboard history to disable the native Windows clipboard.</li>
</ul>
<p>Step 2: Unlink the Win+V Shortcut from Explorer</p>
<ul>
<li>Open the Command Prompt and enter the following command: <code>reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "DisabledHotkeys" /t REG_SZ /d "V" /f</code></li>
<li>Restart Windows Explorer, restart your PC, or log out and log back in to apply the changes.</li>
</ul>
<p>Step 3: Installing CopyQ (or Your Preferred Clipboard Manager)</p>
<ul>
<li>Download and install CopyQ from the official website or any trusted source.</li>
</ul>
<p>Step 4: Configuring CopyQ Shortcuts</p>
<ul>
<li>Launch CopyQ and go to File &gt; Preferences &gt; Shortcuts.</li>
<li>Locate the “Show main window under Mouse cursor” option.</li>
<li>Assign the Win+V shortcut to this option, ensuring it doesn’t conflict with other shortcuts.</li>
</ul>
<p>That’s it for the tutorial. You can tweak CopyQ to make it to your liking.</p>
]]></content:encoded></item><item><title><![CDATA[Add Miracast Support to Windows 10 LTSC]]></title><description><![CDATA[Have you ever found yourself in a situation where you needed to cast your display to a Windows 10 LTSC 2021 device, only to discover that Miracast support was missing out of the box? I can relate. It can be frustrating to encounter such limitations. ...]]></description><link>https://blog.kunalagrawal.com/add-miracast-support-to-windows-10-ltsc</link><guid isPermaLink="true">https://blog.kunalagrawal.com/add-miracast-support-to-windows-10-ltsc</guid><category><![CDATA[uncategorized]]></category><category><![CDATA[windows10]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Tue, 16 May 2023 19:08:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1709060705372/9cfdb662-8f8e-4d02-b5ac-6aaab490cdd7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever found yourself in a situation where you needed to cast your display to a Windows 10 LTSC 2021 device, only to discover that Miracast support was missing out of the box? I can relate. It can be frustrating to encounter such limitations. However, fear not! I delved deep on internet and have emerged with this comprehensive guide that will assist anyone facing a similar predicament.</p>
<p>For those who don’t know, Miracast is a wireless display standard developed by the Wi-Fi Alliance. It allows users to mirror the screen of a compatible device, such as a smartphone, tablet, or PC, onto a larger display, such as a TV or monitor. With Miracast, you can effortlessly share photos, videos, presentations, and more without the need for cables or additional hardware.</p>
<p>The reason Miracast doesn’t work out of the box is due to missing packages in the Windows Installation. Fortunately, there’s a way to resolve this issue and install these missing packages.</p>
<p>Please note that the following steps assume you have the en-US edition of the system. If you have a different language pack, make sure to replace the LanguagePack (3.zip) file with the appropriate one for your PC.</p>
<h3 id="heading-steps-to-enable-miracast">Steps to Enable Miracast:</h3>
<ol>
<li><p>Download the zip packages: <a target="_blank" href="https://e.pcloud.link/publink/show?code=kZl1mSZLkOlcymwCnyUnD2sSjHxjQbkrJlk">MiraCast Support Files</a>. If you prefer, you can also download the original files and use software like 7zip to extract the ESD files. For your convenience, I have zipped the extracted files together.</p>
</li>
<li><p>Extract the 1.zip, 2.zip and 3.zip in their respective folders.</p>
</li>
<li><p>Start the CMD/Powershell from the base folder, ie the folder under which these files were extracted.</p>
</li>
<li><p>Run the following commands:</p>
<pre><code class="lang-powershell"> dism /online /<span class="hljs-built_in">Add-Package</span> /PackagePath:<span class="hljs-number">1</span>\Microsoft<span class="hljs-literal">-Windows</span><span class="hljs-literal">-RegulatedPackages</span><span class="hljs-literal">-Package</span>~<span class="hljs-number">31</span>bf3856ad364e35~amd64~~<span class="hljs-number">10.0</span>.<span class="hljs-number">19041.1</span>.mum
</code></pre>
<pre><code class="lang-powershell"> dism /online /<span class="hljs-built_in">Add-Package</span> /PackagePath:<span class="hljs-number">2</span>\Microsoft<span class="hljs-literal">-Windows</span><span class="hljs-literal">-RegulatedPackages</span><span class="hljs-literal">-wow64</span><span class="hljs-literal">-package</span>~<span class="hljs-number">31</span>bf3856ad364e35~amd64~~<span class="hljs-number">10.0</span>.<span class="hljs-number">19041.1</span>.mum
</code></pre>
<pre><code class="lang-powershell"> dism /online /<span class="hljs-built_in">Add-Package</span> /PackagePath:<span class="hljs-number">3</span>\update.mum
</code></pre>
</li>
<li><p>Restart your device.</p>
</li>
<li><p>Open the Settings app and go to “App &amp; features” and then “Optional Features.”</p>
</li>
<li><p>Click on “Add a Feature” and search for “Wireless Display.”</p>
</li>
<li><p>Install the feature.</p>
</li>
</ol>
<p>That’s it! Wireless Display should now be enabled and ready to use on your device.</p>
<p>Image Credits: PcWord</p>
]]></content:encoded></item><item><title><![CDATA[Top 5 Open Source Apps for Android]]></title><description><![CDATA[Being a mostly open source OS, Android has tons of apps that open-source which could easily replace the non-FOSS ones. The apps that I have tried to cover are more obscure side of the spectrum rather than mainstream. I have added the mainstream apps ...]]></description><link>https://blog.kunalagrawal.com/top-5-open-source-apps-for-android</link><guid isPermaLink="true">https://blog.kunalagrawal.com/top-5-open-source-apps-for-android</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Tue, 17 Jan 2023 07:28:39 GMT</pubDate><content:encoded><![CDATA[<p>Being a mostly open source OS, Android has tons of apps that open-source which could easily replace the non-FOSS ones. The apps that I have tried to cover are more obscure side of the spectrum rather than mainstream. I have added the mainstream apps in notable sections.</p>
<ol>
<li><a target="_blank" href="https://github.com/beemdevelopment/Aegis">Aegis Authenticator</a>: A solid &amp; modern 2FA Application with encryption, automatic backups, TOTP &amp; HOTP support and good theming. It’s an excellent alternative to proprietary apps like Google Authenticator, Microsoft Authenticator and more. If you try it out, use it with aegis-icon pack for the best result.</li>
<li><a target="_blank" href="https://github.com/deckerst/aves">Aves</a>: Aves is a beautiful image gallery and metadata explorer written in Flutter. It supports various types of image and video formats. The app is easy to use with a limited set of features of gallery. You should use this app with Snapseed or similar apps as Aves doesn’t have any native image editor yet.</li>
<li><a target="_blank" href="https://github.com/NeoApplications/Neo-Store">Neo Store</a>: Neo Store is an F-droid Client featuring a beautiful Material Design 3 based UI. There is a wide set of popular F-droid based repo by default with option to add custom URL. Overall, it’s a great application for you to explore FOSS applications and manage/update them.</li>
<li><a target="_blank" href="https://github.com/TeamNewPipe/NewPipe">NewPipe</a>: It’s a light-weight, ad-free YouTube app with support of other sites like PeerTube, SoundCloud and more. The app is also much more privacy friendly with a wide set of features. If you want sponsorblock integration, use <a target="_blank" href="https://github.com/polymorphicshade/NewPipe">NewPipe X Sponsorblock</a>.</li>
<li><a target="_blank" href="https://github.com/polymorphicshade/NewPipe">Pano Scrobbler</a>: Pano Scrobbler is a last.fm scrobbler for Android. The app features Material Design and features extensive customizations for the look and feel. The app is also quite feature-rich and support multiple websites to scrobble. You should definitely try it out.</li>
</ol>
<p>Other notable apps:</p>
<ul>
<li><a target="_blank" href="https://github.com/bitwarden/mobile">BitWarden</a>: Best in class password manager</li>
<li><a target="_blank" href="https://github.com/mozilla-mobile/fenix">Firefox</a>: Android version of Firefox Browser which uses GeckoView. The app also features support for a subset of addons like ublock origin, dark reader and more.</li>
<li><a target="_blank" href="https://github.com/signalapp/Signal-Android">Signal</a>: Cross-platform E2E Messenger with lot better privacy by default.</li>
<li><a target="_blank" href="https://github.com/vector-im/element-android">Element</a>: Matrix based Chat Application. Can be bridged with IRC</li>
<li><a target="_blank" href="https://github.com/Sangwan5688/BlackHole">Blackhole</a>: Music Player written in Flutter which streams music from Jio Saavn with support of HQ (320 kbps) bit rate songs, Offline Support, Playlist, Sleep Timer and more.</li>
<li><a target="_blank" href="https://github.com/z-huang/InnerTune">InnerTune</a>: A Material Design 3 based YouTube Music Client. Stream music without ads, with support for local playlist and offline playback.</li>
<li><a target="_blank" href="https://github.com/SimpleMobileTools">Simple Mobile Tools</a>: A set of great and simple apps that can replace a lot of apps. Binary Eye: An ad-free and simple barcode/qr code scanner.</li>
<li><a target="_blank" href="https://github.com/KDE/kdeconnect-android">KDE Connect</a>: Seamlessly sync your clipboard, share files and control your PC locally.</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Top 5 Open Source Apps for Windows]]></title><description><![CDATA[Love or hate it, Windows is by far the most popular Desktop OS and it will continue to be for this decade. Despite being a closed source OS, there a lot of nice open source applications available for Windows that you must try out.
Here is my list tha...]]></description><link>https://blog.kunalagrawal.com/top-5-open-source-apps-for-windows</link><guid isPermaLink="true">https://blog.kunalagrawal.com/top-5-open-source-apps-for-windows</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Sat, 24 Dec 2022 18:31:50 GMT</pubDate><content:encoded><![CDATA[<p>Love or hate it, Windows is by far the most popular Desktop OS and it will continue to be for this decade. Despite being a closed source OS, there a lot of nice open source applications available for Windows that you must try out.</p>
<p>Here is my list that I find myself using on daily basis. The list is in no particular order.</p>
<p>1. Firefox:</p>
<p>Firefox has been serving as my primary browser for the past 5+ years. I jumped the ship as Chrome was eating too much of memory, whereas FF had a relatively lower usage. Firefox is the only real alternative to Chromium-based Browsers (Chrome, brave, Edge, Vivaldi etc) too.</p>
<p>It has Multi Account Containers, which allow you separate your digital life into multi color-coded tabs. Each container will have a different cookie too. So, you can have different account logged in different containers. It also much better default privacy protection and Chrome out of the box. Enhanced tracking Protection, Cookie Isolation and others improve your privacy but could break some sites, so lookout for it.</p>
<p>You can set it up to sync with your other devices (Android/etc), which allows you to push tabs to other devices, sync bookmarks, etc.</p>
<p>Check it out here: <a target="_blank" href="https://www.mozilla.org/en-US/firefox/">https://www.mozilla.org/en-US/firefox/</a></p>
<p>2. BitWarden</p>
<p>BitWarden is my favourite password manager. It’s simple and easy to set up, fully cross platform, vast import options and a good free plan. Once you have set it up, it’s will easily integrate well with your workflow. The Android app can act as the default auto-fill service too. It can sync between multiple devices, has password history, notes and more.</p>
<p>My only complaint is with the Firefox extension, which suffers a lot in functionality under Private Browsing. Lets hope it gets fixed with Manifest V3.</p>
<p>Checkout the app here: <a target="_blank" href="https://bitwarden.com/">https://bitwarden.com/</a></p>
<p>3. ShareX</p>
<p>ShareX is a nifty and lightweight tool for Windows which specializes in all forms of Screen Capture. The app has is feature packed with the ability to customize different capture modes and after capture tasks. You can create separate workflows for your needs and associate them with a keyboard shortcut to trigger the workflow. It can set it up with auto-save on capture with the ability to customize the directory &amp; file name. Heck, you can even just record a section of your screen as gif too.</p>
<p>I have never looked back after adopting ShareX for all my screen capture tasks. It has completely replaced Snipping Tool/Snip &amp; Sketch for me.</p>
<p>Check it out: <a target="_blank" href="https://getsharex.com/">https://getsharex.com/</a></p>
<p>4. CopyQ</p>
<p>The default Windows Clipboard just sucks.. It’s slow, history size is limited, and it loses history upon restart. You may find yourself in many situations where you might need a lot of textual data to be always available at a click of a button. I often need Email Templates, personal details, etc on my clipboard so that I can quickly paste them when required, as often browsers miss those fields in auto-fill.</p>
<p>CopyQ has been the perfect answer for my needs. It’s a cross-platform clipboard with custom history size, sync, FakeVim, custom keyboard shortcuts and more.</p>
<p>You can completely replace Windows Clipboard by disabling it and then change registry to disable the shortcut. After which you can assign Win + V shortcut to CopyQ.</p>
<p>Check it out: <a target="_blank" href="https://hluk.github.io/CopyQ/">https://hluk.github.io/CopyQ/</a></p>
<p>5. ImageGlass</p>
<p>Have you felt that Photos app sometimes takes a while to load an image? Well, I have felt it multiple times and always missed the good old days of Office 2010 Image Viewer on my Win7. After some research, I stumbled across ImageGlass.</p>
<p>ImageGlass is a simple and lightweight utility to view your photos on the go. It supports over 70+ image formats with a Minimal UI. The app focuses on browsing images instead of manipulating &amp; organizing them, so it may seem barebones. But this simplicity provides the app to be launched quickly. The app features flexible zoom options and windows modes. It also features a relatively modern UI which fits well in W10.</p>
<p>Note: The developer is currently rewriting the entire app for v9. Major changes are to migrate the app to .NET 6 and supporting hardware acceleration. Check out the app here: <a target="_blank" href="https://imageglass.org/">https://imageglass.org/</a></p>
<p>Notable Mentions:</p>
<ol>
<li>VLC Media Player has been a de facto Media Player for me as long as I remember. It is simple, fast and feature rich. It supports a vast array of formats for Videos/Audios/Subs, can handle playlists and directly stream videos from the internet. Project: <a target="_blank" href="https://www.videolan.org/">https://www.videolan.org/</a></li>
<li>Flow Launcher: Search everything from applications, files, bookmarks, YouTube, Twitter and more. It has lot of customizations to play around with to suit your needs. If you need something like KRunner/Spotlight, then this app will come as close as you can get. Project: <a target="_blank" href="https://github.com/Flow-Launcher/Flow.Launcher">https://github.com/Flow-Launcher/Flow.Launcher</a></li>
<li>QuickLook: An clone of QuickLook of MacOS. Helps to quickly fully preview files by without opening them in their dedicated apps. Awesome utility when you just want to quickly glance through the files. Project: <a target="_blank" href="https://github.com/QL-Win/QuickLook">https://github.com/QL-Win/QuickLook</a></li>
<li>ActivityWatch: Cross platform app that automatically tracks your time spent on each app/website. Nice visualizations of stats are also available. Project: <a target="_blank" href="https://github.com/ActivityWatch/activitywatch">https://github.com/ActivityWatch/activitywatch</a></li>
</ol>
<p>If you feel I have missed some app, please do comment down the app, will definitely try them out.</p>
]]></content:encoded></item><item><title><![CDATA[RISC-V: The Next Gen CPU Architecture]]></title><description><![CDATA[Semiconductors products like CPU & GPU are the heart & soul of any Modern-Day Machines. In smartphones, ARM licenses its products to other companies like Qualcomm, Samsung, Apple & Mediatek which then develop their own custom System On Chips (Also ca...]]></description><link>https://blog.kunalagrawal.com/risc-v-the-next-gen-cpu-architecture</link><guid isPermaLink="true">https://blog.kunalagrawal.com/risc-v-the-next-gen-cpu-architecture</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Sun, 04 Jul 2021 05:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707281378312/7b7c17a8-c4cf-4231-81f5-3fac174c7eaa.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Semiconductors products like CPU &amp; GPU are the heart &amp; soul of any Modern-Day Machines. In smartphones, ARM licenses its products to other companies like Qualcomm, Samsung, Apple &amp; Mediatek which then develop their own custom System On Chips (Also called SoCs. A SoC is an integrated circuit that will have CPU, GPU, Modem, I/O Ports, Memory &amp; etc on a single microchip).</p>
<p>On the other hand, all the modern Laptops/Computers run on Central Processing Units (CPUs) which are x86-64 (or amd64/x64) architecture based. These CPUs are exclusively designed and developed by two companies, namely AMD &amp; Intel. These CPU then sits on motherboard manufactured by some other companies. These motherboards will then in turn have their own designs &amp; support for different hardware (like GPU, Sound Card, Lan Ports &amp; etc).</p>
<p>The ARM model is now also penetrating in the Laptop/PC space, as last year Apple started pushing it’s own in-house developed ARM based SOCs to its Mac line-up following the Steps of Microsoft which has been porting Windows 10 to ARM for a while. </p>
<h3 id="heading-risc-vs-cisc-the-long-lasting-battle"><strong>RISC vs CISC: The long-lasting battle:</strong></h3>
<p>Before delving onto RISC-V, lets us first understand what do we even mean by RISC.</p>
<p>Above, I have used ARM. So, ARM based chips are family of chips that use Reduced Instruction Set Computer (RISC) Instruction Set Architecture (ISA). While earlier iterations of x86-64 were Complex Instruction Set Computer (CISC) based but the modern-day iterations of x86-64 does have included bits of RISC too making it somewhat a hybrid.</p>
<p>RISC is built to minimize the instruction execution time by optimizing and limiting the number of instructions. It means each instruction cycle requires only one clock cycle. On other hand, CISC approach is to reducing the number of instructions on each program and ignoring the number of cycles per instruction. Therefore, a program might need less step on CISC than RISC as often a single Complex instruction on CISC will equal to performing multiple instruction on RISC.</p>
<p>We might think that 2nd seems a better approach &amp; might give better performance, but that’s not how it plays as each system requires exactly the same time to execute a program. This is mainly due to the fact that CISC will take as many clock cycles as RISC approach. Therefore, RISC based chips are also much more power efficient than their CISC counterparts, allowing for longer battery life on Mobile/IoT based products, thus making them more useful &amp; viable.</p>
<h3 id="heading-what-is-risc-v-then"><strong>What is RISC -V then?</strong></h3>
<p>Reduced Instruction Set Computer – V or RISC-V is a free and open ISA which enables a new era of processor innovation through open standard collaboration. The project began in 2010 at the University of California, Berkeley along with many volunteer contributors. RISC-V is established on reduced instruction set computer (RISC) principles thus leveraging it’s overall benefits.</p>
<p>The goal was to make a practical ISA that was open-sourced, usable academically and in any hardware or software design. The RISC-V ISA is thus provided under open-source licenses, allowing it to be used without royalties unlike ARM’s licensing. RISC-V has a modular design, consisting of alternative base parts, with added optional extensions. Therefore, RISC-V combines a modular technical approach with an open license business model, meaning that anyone, anywhere can leverage the IP contributed and produced by RISC-V International to build products.</p>
<p>Semiconductor Industry is very hard to penetrate industry for any company due to enormous cost of development (Think Billions of Dollars) &amp; production that is involved upfront. RISC-V was able to break down many barriers in the semiconductor industry, bringing together different companies, industries, and geographies for open collaboration.</p>
<h3 id="heading-the-indian-outlook"><strong>The Indian Outlook:</strong></h3>
<p>Semiconductor is the one of the key components that is very essential to build the infrastructure for modern, secure, self-reliant digital India. India has significantly lagged in semiconductor technology whereas many of its neighbouring Asian countries were able to keep up with development like China, Taiwan, Korea, Japan &amp; etc.</p>
<p>India currently has no consumer foundries yet and thus Indian government is once again trying to get a fabrication plant setup in India. Recently, the Indian government has announced that $1 Billion+ will be made available in Cash to Chip-maker companies that sets up manufacturing units in the India as part of its “Make in India” Initiative. The government is hoping to build on its ever-growing smartphone assembly industry to strengthen its electronics supply chain. The locally manufactured chips will further bring down the cost of a Smartphone &amp; IoT based products and reduce imports. The chips that will be made locally will also be designated as “trusted sources” and will be used in products ranging from CCTV cameras to 5G equipment in future. It should finally help India Gain a foothold in Semiconductor Industry as the growing demand for electronic Smart Devices has only exploded since COVID-19 era.</p>
<p>In 2020, the government also announced a national competition to foster the use of the nation’s homegrown RISC-V microprocessor designs in the hope the tech will eventually replace imported parts, and be used to create products in demand around the world.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707281376770/9d6bf534-148a-47d6-86af-f56c64dac436.jpeg" alt /></p>
<p>Credits: Openhwgroup’s CVA6 – 6-stage, single issue, in-order CPU on RISC-V ISA</p>
<p><strong>Shakti Processors – IIT M:</strong></p>
<p>The SHAKTI Processor Program, was started as an academic initiative back in 2014 by the Reconfigurable Intelligent Systems Engineering (RISE) group at IIT-Madras. It is completely Open-source Project like RISC-V. The major aim of the Project is to bridge the gap between academia and industry, to provide innovative and customized solutions without the hassles of royalties!</p>
<p>The SHAKTI project is currently building a family of 6 processors, based on the RISC-V ISA. The project has currently developed an Embedded class (called E-Class) and Controller class (called C-Class) of processor based on the RISC-V ISA. Shakti have been taped out and fabricated at 180nm by the Indian government’s Semi-conductor Laboratory in Chandigarh (A 200mm fab owned by ISRO), and at 22nm by Intel’s foundry with FinFET+ technology. Last Year, Indian defence and strategic sector also started using the Risecreek processor (64-bit RISC-V based, clocked at 100-350 MHz) developed by IIT-M and fabricated by Intel.</p>
<p><strong>C-DAC’s VEGA:</strong></p>
<p>Centre for Development of Advanced Computing (C-DAC) is also developing VEGA Processor. These Processors are also based on RISC-V ISA. VEGA is a series of 32-bit/64-bit Single/Multi-core Superscalar In-order/Out-of-Order high performance processors integrated with Multi-level Caches, MMU and Coherent Interconnect.</p>
<h3 id="heading-future-prospects"><strong>Future Prospects:</strong></h3>
<p>Linux Kernel &amp; its related tools have already implemented support required to bootup RISC-V based processor. RISC-V based CPUs are also already deployed in some data centres &amp; many other areas of Server Infrastructure. Since, development cycle for processors are generally long (3-4 years at minimum), we should expect a lot more variety as more companies start releasing their own works in future.</p>
<p>In mobile especially, replacing ARM will be a challenge that cannot be achieved in a year or two given its deep ties in both the Android &amp; iOS ecosystem where apps &amp; games are optimized on ARM’s architecture. Additionally, there is not much traction where RISC-V based SoCs are in development for such use case. This might change in due time as more companies wouldn’t want to continue paying for ARM’s licensing fees and build around RISC-V for long term benefits.</p>
<p>Many companies like Alibaba Group, SiFive, Western Digital &amp; lot more institutes &amp; organizations have already forayed into building and developing products based on it. Recently, Intel announced its plan to open its foundries to fabricate RISC-V &amp; ARM chips as part of new business strategy. This could be very helpful in the long run as companies will have wider sources from where they could fabricate their chips.</p>
<p>Though may be not this decade but surely in the next coming decades, RISC-V will definitely standout as ISA for ALLL and will get more mainstreamed as the time &amp; resources that are required to build semiconductors are invested. On a different note, we should also think that the vast potential of RISC-V will be definitely tapped into in this decade as general IoT based products could be available by mid or end of decade at latest. So do keep an eye out on those when they are available. As we also seen, RISC-V will also bring many benefits for India as whole as many Indian companies could build around it to build their next-gen smart products to avoid licensing fees for ARM &amp; avoid making something from scratch-up.</p>
<p>(The article too was also written for the College Magazine. You can find the entire copy of the magazine here: <a target="_blank" href="https://www.tcetmumbai.in/COMP/E-magazine/NIMBUS%202021.pdf">https://www.tcetmumbai.in/COMP/E-magazine/NIMBUS%202021.pdf</a>)</p>
]]></content:encoded></item><item><title><![CDATA[Blockchain: The Futuristic Digital Trust Network]]></title><description><![CDATA[The buzz words of this decade “blockchain” & “cryptocurrency” are often used interchangeably. Both of these words are misused & often confusing as they are poorly explained elsewhere. Therefore, the scope of this article is to understand the differen...]]></description><link>https://blog.kunalagrawal.com/blockchain-the-futuristic-digital-trust-network</link><guid isPermaLink="true">https://blog.kunalagrawal.com/blockchain-the-futuristic-digital-trust-network</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Sun, 27 Jun 2021 05:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707281385277/789577bf-f592-4600-bf5d-c6402f35f3f4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The buzz words of this decade “blockchain” &amp; “cryptocurrency” are often used interchangeably. Both of these words are misused &amp; often confusing as they are poorly explained elsewhere. Therefore, the scope of this article is to understand the difference between them and discuss future possibilities for Blockchain.</p>
<h3 id="heading-so-what-is-blockchain">So, What is Blockchain?</h3>
<p>It all started in 1982, when a Cryptographer named David Chaum proposed a blockchain-like protocol in his dissertation but it only gained traction in 2008, when a single/group of Developer(s) under the pseudonym Satoshi Nakamoto released a white paper and thus established the blockchain. </p>
<p>The simplest dictionary definition we can say is “A blockchain is a digital ledger of transactions that’s duplicated and distributed across the entire network of computer systems on the blockchain. Each block within the chain contains a cryptographic hash (Hashing is method to map arbitrary data into a bit array of fixed size) of previous block (to form a chain. With this, you can trace back it back to the very first block, which is also often referred as genesis block), a trusted timestamp &amp; batch of verified transaction which are hashed &amp; encoded into a Hash/Merkle tree. Each time a brand-new transaction occurs on the blockchain, a record of that transaction is added to each participant’s ledger. This enables the Blockchain Technology to be used for fund transfers, settling trades, voting &amp; many other”</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707281382298/8bfcddff-5467-41cb-8032-9b098c312e4c.png" alt /></p>
<p>An Example of Blocks in Blockchain. Credits: Blockchain Technology in Healthcare: A Systematic Review by Cornelius C. Agbo, Qusay H. Mahmoud &amp; J. Mikael Eklund</p>
<p>In simpler words, think Blockchain as a register where you note down transactions but with permanent ink. The new transactions are recorded immediately and they cannot be changed. This register is accessible to all. People can also register themselves as Accountants (think Miners) who can verify the transactions added on the register(mining). This technology is termed as Blockchain.</p>
<p>This blockchain network is decentralized, such that, all those who want to use blockchain network run it instead of some central entity. This doesn’t allow any misuse &amp; nobody can change value in the register to give themselves a X amount, increasing overall trust in the network.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707281383463/834a4972-b4fb-4cda-b5d8-548af056db53.jpeg" alt /></p>
<p>An Example of Merkle tree. Credits: MOF-BC: A Memory Optimized and Flexible BlockChain for Large Scale Networks by Ali Dorri, Raja Jurdak &amp; Salil S. Kanhere</p>
<h3 id="heading-the-proof-war-proof-of-work-vs-proof-of-stake">The Proof War: Proof Of Work VS Proof Of Stake</h3>
<p>How do we verify the transactions without any third party? Meaning, we can be 100% sure that no one is double spending or doing some mischievous work. Well, Proof of Work (PoW) &amp; Proof of Stake (PoS) are the answer. PoS is older than PoW and works on basis of Advanced Mathematics called “cryptography”. Cryptography refers use of very difficult mathematical equations that only powerful computers can solve them. Drawbacks of PoW are that it requires significant amount of electricity &amp; it can only process a limited set of transactions in a limited time given the complexity to solve the problem. Example: In Bitcoin, every 10 Minutes a new block(think a page in register) is created &amp; as we learned that each block contains multiple transaction, therefore each block that is created comes with its own set of unique transaction which are to then be independently verified. To tackle these issues, PoS was created in 2012 by Scott Nadal and Sunny King. In PoS, participants will stake their own assets and may get selected randomly or by using predefined algorithm. The system purely works on economic incentives &amp; punish the participants who try to add false transaction by taking away their part/full of their stake &amp; rewarding them with transaction fees.</p>
<h3 id="heading-ok-i-somewhat-understand-blockchain-then-what-is-cryptocurrency">Ok, I somewhat understand Blockchain, then What is Cryptocurrency?</h3>
<p>Simply stating, Cryptocurrency is a use case of Blockchain Technology. It refers to digital currency which uses strong cryptography to make it almost impossible to counterfeit &amp; double spend. Most Widely used Cryptocurrencies are Bitcoin, Ethereum, Litecoin and many more. Each of these currency employs their own version of Proof Of Work (PoW) or Proof Of Stake (PoS) system to verify the validity of blocks/transaction thus in the end giving some value to miners/stakers. The value of these currency depends on Supply/Demand as each currency is limited in the amount at the time of creation. The post-pandemic has definitely given cryptocurrency a huge surge causing the current market cap for crypto (As of April, 2021) to be whopping $2+ Trillion. To give some perspective, India’s stock market is $2.7 Trillion.</p>
<h3 id="heading-the-future-of-blockchain">The Future Of Blockchain:</h3>
<p>I always like to think that the past decade was only the testing ground for this game changing tech. The most successful use was obviously in CryptoCurrency, where “Bitcoin” its oldest Player was in headlines at various points throughout the decade. At the start of the decade, Bitcoin had just reached parity with Dollar and by the end of that decade it was more than $30,000, it all-time high throughout that decade. In this Year (2021) alone it reached it’s all-time High Value in Mid May 2021 at $61,000+ &amp; is currently (As of April 10, 2021) sitting at the price of ~$60,000 and have the market cap of $1.1+ Trillion. </p>
<h3 id="heading-some-of-the-emerging-use-of-blockchain-technology">Some of the Emerging use of Blockchain Technology:</h3>
<p>Now, that we understood about fundamental of Blockchain, let’s take a look at what the future may hold for Blockchain as Technology. Below listed are some of the best use cases that we should definitely keep an eye on.</p>
<ol>
<li>Smart Contracts: It is probably one the most promising use case outside cryptocurrency. A Smart Contract is program that automatically enforces a contract once a predetermined condition is met &amp; verified. The program is stored on blockchain &amp; works on conditional statements that are written in the code. Therefore, it cannot be changed once deployed. Let’s take an automobile as an example. So we start by defining a smart contract for every automobile, and then we record every transaction (sale, service, etc.) on the blockchain. This gives buyers/sellers the ability to easily inspect and trust the history of every car before someone buys.</li>
<li>Financial Services: A research by reason revealed that many Banks in the US has shown interest in moving away from their existing systems to create private blockchain and implementing distributed ledgers for use in banking</li>
<li>Supply Chain: Walmart is already using Blockchain in their Supply chain monitoring system in partnership with IBM &amp; other players. It will allow for tracing of the products very easily &amp; will be very helpful in finding out problematic suppliers or finding the source of contamination in a product. More companies are expected to introduce similar system in their supply chains as fear of COVID-19 like Virus will persist throughout the decade. This will be key technology to keep track of any contamination thus avoiding risk of shutdown for those corporations.</li>
<li>Domain Name: With Blockchain-based domain names, the domain names would be entirely be the assets of the owner of the domain and can only be controlled by his private key. This will allow more freedom &amp; resist censorship as no third party could hijack the domain and take it under their control. This is also a very emerging use case which can cause rippling effects throughout the web.</li>
<li>Identity Management: Personal ID has always been targeted by malicious people to gain access either to your bank accounts or profit from your data. With the help of blockchain, storing digital information will be a lot easier &amp; safer and importantly unalterable. They will use Public &amp; private Keys to verify ownerships &amp; gain trust. The Identity is to be self-sovereign, meaning the Owner could update their data (verification by third party in case required), Hide particular information &amp; etc. A more standardized ID could be could be made that can be accepted globally &amp; be trusted could arrive in this decade.</li>
<li>Data Storage: One potential use is decentralizing cloud data storage. This will improve reliance &amp; will allow the data to be accessible in case one node is disturbed. Further trusted timestamp will allow people to know who changed the data &amp; when.</li>
</ol>
<p>All Big &amp; Small Enterprise have also started developing &amp; testing products based around blockchain technology. We should expect a lot more real world use case Blockchain based Technology in this coming decade as more people fiddle around the tech &amp; build more reliable &amp; successful product. The coming decade is full of promise considering the wide commercial success it had in the previous one.</p>
<p>Disclaimer: At the time of Writing, I own various cryptocurrencies including Bitcoin.</p>
<p>(This was an article I have written for college magazine. You can check out other articles here: <a target="_blank" href="https://www.tcetmumbai.in/COMP/E-magazine/NIMBUS%202021.pdf">https://www.tcetmumbai.in/COMP/E-magazine/NIMBUS%202021.pdf</a>)</p>
]]></content:encoded></item><item><title><![CDATA[My Setup]]></title><description><![CDATA[Currently, I am using a Lenovo Ideapad 330. It’s a modest laptop which is powered by Intel i5-8250U & Radeon 530. The system runs on 8 gigs of RAM & 2TB HDD. On Display front, it has 1366×768 (720p) LCD Display.
In future Posts, I will do most of the...]]></description><link>https://blog.kunalagrawal.com/my-setup</link><guid isPermaLink="true">https://blog.kunalagrawal.com/my-setup</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Sun, 20 Jun 2021 17:14:42 GMT</pubDate><content:encoded><![CDATA[<p>Currently, I am using a Lenovo Ideapad 330. It’s a modest laptop which is powered by Intel i5-8250U &amp; Radeon 530. The system runs on 8 gigs of RAM &amp; 2TB HDD. On Display front, it has 1366×768 (720p) LCD Display.</p>
<p>In future Posts, I will do most of the testing and reviewing on this machine unless stated otherwise.</p>
<p>On the Software front, I have set it up for dual boot. The OS in dual Boot are:</p>
<ol>
<li>KDE Neon – It’s configured to use xanmod linux ltsc kernel &amp; uses x11 session.</li>
<li>Windows 10 LTSC – 21H2</li>
</ol>
<p>On Filesystem part, Windows 10 uses NTFS while KDE Neon uses XFS for home partition &amp; ext4 on boot &amp; root. A 8 Gig swap space is present on Windows whilst a 16 GiB swap partition is present in KDE Neon.</p>
<p>On Browser front, I use Firefox as my daily driver on both Linux &amp; Windows. I have installed a bunch of addons like uBlock Origin, Dark Reader &amp; etc on it. For secondary browser, I use Vivaldi on Linux and Chrome on Windows.  </p>
<p>Now, For Some Questions that may come up in your mind.</p>
<p>Q.1) Why Windows?<br />Ans. For starters, despite being 2x-3x size after installation, my Windows 10 boots way faster than my KDE Neon installation. Next, I have Qualcomm Atheros WiFi Adapter, and for some weird reasons, I get very low signal on Linux compared to Windows. I tried some known workarounds for this issue but sadly they didn’t work.  </p>
<p>Last, some core apps like Adobe Acrobat PDF for Editing PDFs, MS Office &amp; etc are essential for my uni &amp; other purpose. Otherwise I would end up making some files in LibreOffice that looks way to different on my professor’s machine.</p>
<p>Q.2) Okay. Cool. BTW, What is Windows 10 LTSC?<br />Ans. Windows 10 LTSC is Long Term Service Channel of Windows 10. It’s rock solid version of Win10 which gets feature updates every 3 years and has security patches for 5 years(?).  </p>
<p>Most significant feature is that it’s already bloatware free. There is no MS Store, Cortana &amp; UWP Apps like Groove Music, Alarms, Clock &amp; etc. his is by default so no usage of scripts &amp; etc to remove them which might corrupt the OS &amp; other issues. Plus, it has less telemetry which can also be turned off resulting in better privacy overall than your standard W10/W11 Installation. This results in a lower memory footprint too.  </p>
<p>LTSC system thus enjoy more stability &amp; smoothness as they don’t get feature updates every year.</p>
<p>Q.3) Why KDE Neon/Ubuntu based Distro? Arch is better &amp; etc.<br />Ans. Well, I used to use Arch on my previous machine &amp; I really like it. But I didn’t go to arch way on this machine as I was afraid of tripping over something whilst installing loose access to my data. Major reason for Ubuntu LTSC based KDE Neon was for stability whilst getting latest KDE packages. I recommend KDE to beginners in GNU/Linux as it most complete DE while providing Windows like UI for new users. Additionally, it’s also fun to experiment as it has so many options to tweak it. I even read latest Nate’s post on his This Week on KDE series, so I’m always pumped to get the latest packages asap and try it out.</p>
<p>Q.4) Why XFS?<br />Ans. No reason in particular. I could have chosen BTRFS/ZFS but I felt XFS is better after looking at synthetic benchmarks. I really liked the features of snapshots and CoW &amp; etc of BTRFS. Maybe down the line, I will change distro &amp; then may try out above two. Encase of ext4 on root because its much battle tested ensuring the system will always be up.</p>
<p>Q.5) Why not Wayland Session?<br />Ans. Well, I still think that Wayland needs a lot more work as of now. I will probably switch to Wayland by end of 2023, if I find it desirable enough then.</p>
]]></content:encoded></item><item><title><![CDATA[So, What the heck is Nyx?]]></title><description><![CDATA[Hello Folks,
I am Kunal Agrawal & as you guessed it, the Author of this Blog. Before explaining about the blog name, here is a bit of introduction about me.
About Me:
I am presently a student pursuing a career in Artificial Intelligence & Data Scienc...]]></description><link>https://blog.kunalagrawal.com/so-what-the-heck-is-nyx</link><guid isPermaLink="true">https://blog.kunalagrawal.com/so-what-the-heck-is-nyx</guid><category><![CDATA[uncategorized]]></category><dc:creator><![CDATA[Kunal Agrawal]]></dc:creator><pubDate>Fri, 12 Mar 2021 07:30:33 GMT</pubDate><content:encoded><![CDATA[<p>Hello Folks,</p>
<p>I am Kunal Agrawal &amp; as you guessed it, the Author of this Blog. Before explaining about the blog name, here is a bit of introduction about me.</p>
<h4 id="heading-about-me">About Me:</h4>
<p>I am presently a student pursuing a career in Artificial Intelligence &amp; Data Science. Since my early childhood, I’m awfully passionate about Computers and decided to take up career in same. My Hobbies include reading – books and blogs on various topics like English, Linux, Tech, &amp; others. I also am owner of a now defunct (totally legit) blog which has crossed over 2.6 Million+ Views over its lifetime.</p>
<h4 id="heading-so-why-thenyxcoder">So Why TheNyxCoder?</h4>
<p>So let’s start by dissecting the TheNyxCoder into three parts. The, Nyx &amp; Coder.</p>
<p>Let’s start sequentially with “<strong>The</strong>”: Genuinely, if you ask me, I would say I don’t know why I added it. Maybe it was to create an effect?</p>
<p>Next, the word “<strong>Nyx</strong>”: Here the word Nyx serves as two purposes.</p>
<ol>
<li>Nyx represents Night Goddess in Greek Mythology. Since I consider myself as an owl, I felt it fits perfectly.</li>
<li>Nyx also is a homophone for the Word Nix (Think: Unix &amp; Linux) which is a topic I am aiming to cover in the future posts.</li>
</ol>
<p>Last the comes self explanatory word “<strong>Coder</strong>”: Well, if you have been living under a rock and didn’t learn what the word coder means, well it’s a person who writes computer code; a programmer basically.</p>
<h4 id="heading-great-then-what-content-can-you-as-a-reader-expect">Great, Then What content can You as a Reader expect?</h4>
<p>As mentioned earlier, I shall cover:</p>
<ul>
<li>Linux (Guides How To, Interesting Stuffs &amp; etc),</li>
<li>Some General coding tips/stuff that I find useful</li>
<li>Some SEO &amp; Page Optimization tricks that have worked for me in past.</li>
<li>Maybe Windows Guides (Error Fixing, Tricks &amp; etc) if I keep using it.</li>
</ul>
]]></content:encoded></item></channel></rss>