<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Writing on Pratham Dupare</title><link>https://heypratham.in/write/</link><description>Recent content in Writing on Pratham Dupare</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 08 Dec 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://heypratham.in/write/index.xml" rel="self" type="application/rss+xml"/><item><title>Top 10 essential Vim Tricks</title><link>https://heypratham.in/write/top-10-vim-tricks/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/top-10-vim-tricks/</guid><description>&lt;h3 id="1-jump-to-matching-parentheses-or-braces"&gt;1. Jump to Matching Parentheses or Braces&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;function matchingBraces() {&#10; if (true) {&#10; console.log(&amp;#34;Jump between these braces using %&amp;#34;);&#10; }&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2-visual-block-editing"&gt;2. Visual Block Editing&lt;/h3&gt;&#10;&lt;h4 id="use-c-v-to-select-a-block-of-text-and-edit-all-rows-simultaneously"&gt;Use &lt;code&gt;&amp;lt;C-v&amp;gt;&lt;/code&gt; to select a block of text and edit all rows simultaneously.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;const ock1 = &amp;#34;Edit me!&amp;#34;;&#10;const ock2 = &amp;#34;Edit me!&amp;#34;;&#10;const ock3 = &amp;#34;Edit me!&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3-move-by-search-history"&gt;3. Move by Search History&lt;/h3&gt;&#10;&lt;h4 id="use-log-to-search-for-log-then-press-n-to-move-to-the-next-match-and-n-for-the-previous-match"&gt;Use &lt;code&gt;/log&lt;/code&gt; to search for &amp;ldquo;log&amp;rdquo;, then press &lt;code&gt;n&lt;/code&gt; to move to the next match and &lt;code&gt;N&lt;/code&gt; for the previous match.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;console.log(&amp;#34;Search for this log statement.&amp;#34;);&#10;console.log(&amp;#34;Another log statement.&amp;#34;);&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="4-try-ci-or-di-to-modify-or-delete-the-text-inside-these-quotes"&gt;4. Try &lt;code&gt;ci&amp;quot;&lt;/code&gt; or &lt;code&gt;di&amp;quot;&lt;/code&gt; to modify or delete the text inside these quotes.&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;const greeting = &amp;#34;Change or delete this text.&amp;#34;;&#10;const foo = () =&amp;gt; {&#10;console.log(&amp;#34;Vim is awesome&amp;#34;);&#10;};&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="5-repeat-the-last-command"&gt;5. Repeat the Last Command&lt;/h3&gt;&#10;&lt;h4 id="delete-this-line-using-dd-then-press--on-the-next-line-to-repeat-the-delete"&gt;Delete this line using &lt;code&gt;dd&lt;/code&gt;, then press &lt;code&gt;.&lt;/code&gt; on the next line to repeat the delete.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;const repeatCommand = &amp;#34;Repeat this delete.&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="6-replace-text-globally"&gt;6. Replace Text Globally&lt;/h3&gt;&#10;&lt;h4 id="use-soldnewg-to-replace-all-instances-of-old-with-new"&gt;Use &lt;code&gt;:%s/old/new/g&lt;/code&gt; to replace all instances of &amp;ldquo;old&amp;rdquo; with &amp;ldquo;new&amp;rdquo;.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;const oldVariable = &amp;#34;Replace all &amp;#39;old&amp;#39; instances.&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="7-swap-two-lines"&gt;7. Swap Two Lines&lt;/h3&gt;&#10;&lt;h4 id="use-ddp-to-swap-this-line"&gt;Use &lt;code&gt;ddp&lt;/code&gt; to swap this line&amp;hellip;&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;console.log(&amp;#34;This line should be swapped below...&amp;#34;);&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="8-incrementdecrement-numbers"&gt;8. Increment/Decrement Numbers&lt;/h3&gt;&#10;&lt;h4 id="place-your-cursor-on-the-numbers-below-and-press-c-a-to-increment-or-c-x-to-decrement"&gt;Place your cursor on the numbers below and press &lt;code&gt;&amp;lt;C-a&amp;gt;&lt;/code&gt; to increment or &lt;code&gt;&amp;lt;C-x&amp;gt;&lt;/code&gt; to decrement.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;let number = 40; // Increment or decrement this number.&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="9-reformat-code"&gt;9. Reformat Code&lt;/h3&gt;&#10;&lt;h4 id="select-this-block-of-code-and-press--to-auto-indent-it"&gt;Select this block of code and press &lt;code&gt;=&lt;/code&gt; to auto-indent it.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;function messyCode() {&#10;const foo = &amp;#34;fjkdj&amp;#34;;&#10;}&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="10-toggle-case"&gt;10. Toggle Case&lt;/h3&gt;&#10;&lt;h4 id="place-your-cursor-on-the-text-below-and-press--to-toggle-its-case"&gt;Place your cursor on the text below and press &lt;code&gt;~&lt;/code&gt; to toggle its case.&lt;/h4&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;const caseToggle = &amp;#34;Toggle This Case.&amp;#34;;&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>One Screen for Productivity</title><link>https://heypratham.in/write/one-screen/</link><pubDate>Sun, 10 Nov 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/one-screen/</guid><description>&lt;p&gt;You might have seen many people in productivity videos using multiple or wide-angle screens, and it might feel straightforward to believe that using multiple displays might improve productivity. However, it’s actually the opposite. How so?&lt;/p&gt;&#10;&lt;p&gt;The best analogy I can think of is typing on a keyboard. The main reason people use touch typing to type fast is that it doesn’t make you look down at the keyboard while you&amp;rsquo;re focused on the task. It makes you much faster than looking down. Looking at a secondary or multiple screens is similar. But what’s the proof of it, you might ask.&lt;/p&gt;</description></item><item><title>My dev workflow - Linux, Hyprland ,Neovim and Tmux.</title><link>https://heypratham.in/write/better-developer/</link><pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/better-developer/</guid><description>&lt;p&gt;Disclaimer: This is not a guide on how I rice my Window manager, what terminal I use, it&amp;rsquo;s purely how I use my tools.&lt;/p&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The time has come for me to share my developer workflow and how I use my tools to become a PRO developer!&lt;/p&gt;&#10;&lt;h3 id="what-i-dont-focus-on"&gt;What I Don&amp;rsquo;t Focus On&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GPU-rendered terminals (e.g., &lt;em&gt;Alacritty&lt;/em&gt;).&lt;/li&gt;&#10;&lt;li&gt;Ricing my desktop or color schemes.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="what-matters"&gt;What Matters&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Speed&lt;/li&gt;&#10;&lt;li&gt;Lower mental overhead&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="the-tools-i-use-for-the-perfect-developer-workflow"&gt;The Tools I Use for the Perfect Developer Workflow&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt; (of course!)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Window Manager&lt;/strong&gt;: Hyprland (with animations disabled)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Terminal&lt;/strong&gt;: foot (since I use Wayland)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Terminal Multiplexer&lt;/strong&gt;: Tmux&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you’re using Mac, great! Try to replicate this setup and find tools that make you fast and productive. If you use Windows, consider upgrading your RAM and playing some games; that&amp;rsquo;s all I can suggest.&lt;/p&gt;</description></item><item><title>Expanding Fosspage and Exploring React Native</title><link>https://heypratham.in/write/expansion/</link><pubDate>Tue, 16 Jul 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/expansion/</guid><description>&lt;h2 id="expansion"&gt;Expansion&lt;/h2&gt;&#10;&lt;p&gt;I bought the domain fosspage.com about three years ago and have been using it for my blog, portfolio, and other projects. But now, I want to expand it!&lt;/p&gt;&#10;&lt;h3 id="the-plan"&gt;The Plan&lt;/h3&gt;&#10;&lt;p&gt;I plan to transform fosspage.com into an open-source tools website to help users live distraction-free lives without sacrificing their social interactions. Here are some of the projects I have planned:&lt;/p&gt;&#10;&lt;p&gt;They are named after various retro items.&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;HourGlass (Android)&lt;/strong&gt; - An NTFY server for messages, possibly including a calendar.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Pager (Android)&lt;/strong&gt; - A notification manager built with React Native.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Typewriter&lt;/strong&gt; - A simple writing tool without any fancy distraction buttons, featuring a vim mode.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PostCard&lt;/strong&gt; - A Gmail parser that generates summaries and categorizes emails.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;YouTube Focus&lt;/strong&gt; - A CRT-themed tool to help focus while using YouTube.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;I have already created a landing page for this, which still needs work. It will also feature a sponsors page where other developers can showcase their tools. Additionally, I have set up a GitHub organization under my account that will host these repositories. The link is &lt;a href="https://github.com/orgs/fosspage/repositories"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Beginner's Guide to Lua</title><link>https://heypratham.in/write/lua-startguide/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/lua-startguide/</guid><description>&lt;h1 id="lua---beginners-guide"&gt;Lua - Beginners Guide&lt;/h1&gt;&#10;&lt;p&gt;I recently started learning Lua and I found it to be a very interesting language. It is a very lightweight language and is used in many applications. It is also used in many games as a scripting language.&lt;/p&gt;&#10;&lt;p&gt;This is a beginners guide to Lua.&lt;/p&gt;&#10;&lt;h2 id="printing"&gt;Printing&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lua" data-lang="lua"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;Hello World&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="comments"&gt;Comments&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lua" data-lang="lua"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;--this is a comment&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;hello&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#57606a"&gt;--this is another comment&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;-- the next line will not do anything because it is commented out&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;--print(&amp;#34;world&amp;#34;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="variables"&gt;Variables&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-lua" data-lang="lua"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;-- Different types&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;local&lt;/span&gt; x &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#0550ae"&gt;10&lt;/span&gt; &lt;span style="color:#57606a"&gt;--number&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;local&lt;/span&gt; name &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;john doe&amp;#34;&lt;/span&gt; &lt;span style="color:#57606a"&gt;--string&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;local&lt;/span&gt; isAlive &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#cf222e"&gt;false&lt;/span&gt; &lt;span style="color:#57606a"&gt;-- boolean&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;local&lt;/span&gt; a &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#cf222e"&gt;nil&lt;/span&gt; &lt;span style="color:#57606a"&gt;--no value or invalid value&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Numbers&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Minimal notetaking with Neovim and Obsidian.</title><link>https://heypratham.in/write/neovim-obsidian/</link><pubDate>Mon, 01 Apr 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/neovim-obsidian/</guid><description>&lt;h2 id="why"&gt;WHY?&lt;/h2&gt;&#10;&lt;p&gt;Several years ago, I experimented with Obsidian for a while, finding it useful initially. However, as an advocate for free and open-source software, I discovered that Obsidian wasn&amp;rsquo;t open-source, prompting me to abandon it.&lt;/p&gt;&#10;&lt;h3 id="present-situation"&gt;Present Situation&lt;/h3&gt;&#10;&lt;p&gt;By 2024, I found Neovim to be immensely satisfying, although not for note-taking purposes. My needs were simple - I required a platform to jot down daily tasks, links, or to-dos, without any frills. While I attempted to use Neovim for this, the challenge arose when I wasn&amp;rsquo;t always near my laptop. Hence, I sought a solution to synchronize my notes with my phone. My initial thought was to sync them using Syncthing (which I&amp;rsquo;ll discuss further). However, I still needed to access the notes through a text editor on my phone, which wasn&amp;rsquo;t ideal.&lt;/p&gt;</description></item><item><title>API Routes</title><link>https://heypratham.in/write/nextjs-guide-4/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/nextjs-guide-4/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;Next.js is a full-stack framework that enables you to develop both the frontend and backend seamlessly. In contrast to using Express.js for building the backend, where you might need to run a separate server on a different port, Next.js eliminates this need.&lt;/p&gt;&#10;&lt;p&gt;Next.js employs a file-based routing system, making it convenient and efficient.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;const&lt;/span&gt; &lt;span style="color:#1f2328"&gt;express&lt;/span&gt; &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#1f2328"&gt;require&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;express&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;const&lt;/span&gt; &lt;span style="color:#1f2328"&gt;app&lt;/span&gt; &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#1f2328"&gt;express&lt;/span&gt;&lt;span style="color:#1f2328"&gt;();&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;const&lt;/span&gt; &lt;span style="color:#1f2328"&gt;port&lt;/span&gt; &lt;span style="color:#0550ae"&gt;=&lt;/span&gt; &lt;span style="color:#0550ae"&gt;3000&lt;/span&gt;&lt;span style="color:#1f2328"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#1f2328"&gt;app&lt;/span&gt;&lt;span style="color:#1f2328"&gt;.&lt;/span&gt;&lt;span style="color:#1f2328"&gt;get&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#1f2328"&gt;req&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#1f2328"&gt;res&lt;/span&gt;&lt;span style="color:#1f2328"&gt;)&lt;/span&gt; &lt;span style="color:#1f2328"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#1f2328"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;res&lt;/span&gt;&lt;span style="color:#1f2328"&gt;.&lt;/span&gt;&lt;span style="color:#1f2328"&gt;send&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#1f2328"&gt;});&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#1f2328"&gt;app&lt;/span&gt;&lt;span style="color:#1f2328"&gt;.&lt;/span&gt;&lt;span style="color:#1f2328"&gt;listen&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#1f2328"&gt;port&lt;/span&gt;&lt;span style="color:#1f2328"&gt;,&lt;/span&gt; &lt;span style="color:#1f2328"&gt;()&lt;/span&gt; &lt;span style="color:#1f2328"&gt;=&amp;gt;&lt;/span&gt; &lt;span style="color:#1f2328"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;console&lt;/span&gt;&lt;span style="color:#1f2328"&gt;.&lt;/span&gt;&lt;span style="color:#1f2328"&gt;log&lt;/span&gt;&lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&lt;span style="color:#0a3069"&gt;`Example app listening on port &lt;/span&gt;&lt;span style="color:#0a3069"&gt;${&lt;/span&gt;&lt;span style="color:#1f2328"&gt;port&lt;/span&gt;&lt;span style="color:#0a3069"&gt;}&lt;/span&gt;&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;&lt;span style="color:#1f2328"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#1f2328"&gt;});&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note that in the traditional Express.js example, app.listen specifies the port to which it must listen, requiring it to be continuously running to handle requests.&lt;/p&gt;</description></item><item><title>Components and Optimisations</title><link>https://heypratham.in/write/nextjs-guide-3/</link><pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/nextjs-guide-3/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;Next.js comes with a variety of built-in optimizations designed to improve your application&amp;rsquo;s speed and Core Web Vitals&#10;.&lt;/p&gt;&#10;&lt;h2 id="built-in-components"&gt;Built-in Components&lt;/h2&gt;&#10;&lt;h3 id="1-images-component"&gt;1. Images Component:&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Utilizes the native &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; element.&lt;/li&gt;&#10;&lt;li&gt;Optimizes image performance by implementing lazy loading.&lt;/li&gt;&#10;&lt;li&gt;Automatically resizes images based on the device size for improved responsiveness.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-jsx" data-lang="jsx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;//app/page.js&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;import&lt;/span&gt; &lt;span style="color:#1f2328"&gt;Image&lt;/span&gt; &lt;span style="color:#1f2328"&gt;from&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;next/image&amp;#34;&lt;/span&gt;&lt;span style="color:#1f2328"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#cf222e"&gt;export&lt;/span&gt; &lt;span style="color:#cf222e"&gt;default&lt;/span&gt; &lt;span style="color:#cf222e"&gt;function&lt;/span&gt; &lt;span style="color:#1f2328"&gt;Page&lt;/span&gt;&lt;span style="color:#1f2328"&gt;()&lt;/span&gt; &lt;span style="color:#1f2328"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#cf222e"&gt;return&lt;/span&gt; &lt;span style="color:#1f2328"&gt;(&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#0550ae"&gt;Image&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;src&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;/profile.png&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;width&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#1f2328"&gt;{&lt;/span&gt;&lt;span style="color:#0550ae"&gt;500&lt;/span&gt;&lt;span style="color:#1f2328"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;height&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#1f2328"&gt;{&lt;/span&gt;&lt;span style="color:#0550ae"&gt;500&lt;/span&gt;&lt;span style="color:#1f2328"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;alt&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;Picture of the author&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;/&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#1f2328"&gt;);&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#1f2328"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Image Component requires the following properties: &lt;code&gt;src&lt;/code&gt;, &lt;code&gt;width&lt;/code&gt;, &lt;code&gt;height&lt;/code&gt;, and &lt;code&gt;alt&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Server components and Client Components in Next.js</title><link>https://heypratham.in/write/series/</link><pubDate>Wed, 06 Mar 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/series/</guid><description>&lt;h2 id="server-components"&gt;Server components&lt;/h2&gt;&#10;&lt;p&gt;By default, Next.js uses Server Components. This makes server rendering possible without any configuration and you can opt into using Client Components when needed.&lt;/p&gt;&#10;&lt;p&gt;Reacr Server Components allow you to write UI that can be rendered and optionally cached on the server.&lt;/p&gt;&#10;&lt;h2 id="why-server-rendering"&gt;Why Server Rendering&lt;/h2&gt;&#10;&lt;p&gt;There are a lot of benefits of server side rendering such as :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Data Fetching&lt;/strong&gt;: Fetching data on the server improves performance by reducing client-side data retrieval time and the number of requests.&lt;/p&gt;</description></item><item><title>Introduction to Next.js</title><link>https://heypratham.in/write/nextjs-guide-1/</link><pubDate>Tue, 05 Mar 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/nextjs-guide-1/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;h2 id="what-is-nextjs"&gt;What is Next.js?&lt;/h2&gt;&#10;&lt;p&gt;Used by some of the world&amp;rsquo;s largest companies, Next.js enables you to create high-quality web applications with the power of React components.&lt;/p&gt;&#10;&lt;p&gt;Next.js serves as a React framework designed for developing full-stack web applications. By leveraging React Components for creating user interfaces, Next.js extends functionality and streamlines optimizations.&lt;/p&gt;&#10;&lt;p&gt;Beneath the surface, Next.js handles the abstraction and automatic configuration of essential React tooling, such as bundling and compiling. This empowers developers, whether working individually or within a team, to concentrate on application development rather than intricate configuration details.&lt;/p&gt;</description></item><item><title>NextJS and NextAuth guide</title><link>https://heypratham.in/write/nextauth/</link><pubDate>Sun, 03 Mar 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/nextauth/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;&#10;&lt;p&gt;NextAuth.js is a complete open-source authentication solution for Next.js applications, and it is currently my favorite solution for adding authentication. It doesn&amp;rsquo;t set up everything like Clerk in 7 minutes but also gives you control over everything and makes it really easy!&lt;/p&gt;&#10;&lt;p&gt;It&amp;rsquo;s specifically designed to work seamlessly with Next.js and Serverless architectures.&lt;/p&gt;&#10;&lt;h1 id="getting-started"&gt;Getting Started&lt;/h1&gt;&#10;&lt;h2 id="install-nextauth"&gt;Install NextAuth&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install next-auth&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="note--"&gt;Note -&lt;/h4&gt;&#10;&lt;p&gt;I will be using the latest version of Next.js 14.0 or above with the app router.&lt;/p&gt;</description></item><item><title>Hugo - Simple guide</title><link>https://heypratham.in/write/hugo-guide/</link><pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/hugo-guide/</guid><description>&lt;h2 id="what-is-hugo"&gt;What is Hugo?&lt;/h2&gt;&#10;&lt;p&gt;Hugo is a fast and modern static site generator written in Go, designed to make website creation enjoyable.&lt;/p&gt;&#10;&lt;h3 id="the-basics-you-need-to-know-and-have"&gt;The basics you need to know and have:&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Git or GitHub&lt;/li&gt;&#10;&lt;li&gt;Somewhere you can deploy your site (for example: Netlify, GitHub pages, fly.io, nginx, etc)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Snap package&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo snap install hugo&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#10;&lt;li&gt;Arch Linux&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo pacman -S hugo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#10;&lt;li&gt;Debian&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;sudo apt install hugo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;for more info check the official installation guide &lt;a href="https://gohugo.io/installation/linux/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>New Approach to balance Workout and Life</title><link>https://heypratham.in/write/calisthenics2024/</link><pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/calisthenics2024/</guid><description>&lt;h3 id="the-journey"&gt;The Journey&lt;/h3&gt;&#10;&lt;p&gt;I began my calisthenics journey during lockdown, working out inside my house while following online workout tutorials. Initially, I struggled to do even one pull-up. Determined, I trained every day, and within a month, I achieved my first pull-up. Lacking workout buddies, I enlisted my younger brothers as training partners.&lt;/p&gt;&#10;&lt;p&gt;After a few months, I transitioned to a gym, where my prior calisthenics training gave me an advantage over typical beginners. Although I enjoyed the weights and evening gym sessions with friends, I missed the fresh air and morning pull-up challenges. Consequently, after a month, I returned to classic calisthenics workouts.&lt;/p&gt;</description></item><item><title>Floorp - The Best Browser (For me)</title><link>https://heypratham.in/write/floorp/</link><pubDate>Sat, 13 Jan 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/floorp/</guid><description>&lt;h2 id="what-is-floorp"&gt;What is Floorp?&lt;/h2&gt;&#10;&lt;p&gt;Floorp is essentially a fork of Firefox with added customizations and features. It&amp;rsquo;s a free and open-source project with numerous contributors from Mozilla. You can explore the source code &lt;a href="https://github.com/Floorp-Projects/Floorp"&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;A special thanks to Chris Titus for introducing me to Floorp.&lt;/p&gt;&#10;&lt;h2 id="why-not-firefox"&gt;Why not Firefox?&lt;/h2&gt;&#10;&lt;p&gt;I love Firefox; it&amp;rsquo;s excellent and the only true competitor for the Chromium-based browser monopoly. If the Floorp Project didn&amp;rsquo;t exist, I would definitely go back to using Firefox.&lt;/p&gt;</description></item><item><title>Back to Arch Linux and Backend Learning Journey</title><link>https://heypratham.in/write/learning-nodejs/</link><pubDate>Thu, 11 Jan 2024 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/learning-nodejs/</guid><description>&lt;h2 id="update-for-the-week"&gt;Update for the week!&lt;/h2&gt;&#10;&lt;p&gt;I&amp;rsquo;ve switched back to Arch Linux, specifically the Arco Linux Hyprland setup, from Nobara Linux. Excited about the change!&lt;/p&gt;&#10;&lt;h2 id="on-the-learning-front"&gt;On the learning front&lt;/h2&gt;&#10;&lt;p&gt;I&amp;rsquo;ve delved into backend development with Node.js and Express.js. It&amp;rsquo;s been a challenging yet rewarding experience so far.&lt;/p&gt;</description></item><item><title>Distraction free Setup</title><link>https://heypratham.in/write/distraction-free-internet/</link><pubDate>Tue, 07 Nov 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/distraction-free-internet/</guid><description>&lt;h1 id="distractions"&gt;Distractions&lt;/h1&gt;&#10;&lt;p&gt;In today&amp;rsquo;s digital age, it often feels like everyone on the internet is thirsty for your attention. Whether you&amp;rsquo;re browsing through your favorite websites, scrolling through social media, or even just checking your email, it seems like every online platform is equipped with an arsenal of tools designed to keep you engaged for as long as possible. While these platforms are undoubtedly convenient and entertaining, they can also be a significant source of distraction and time-wasting.&lt;/p&gt;</description></item><item><title>Youtube Local</title><link>https://heypratham.in/write/youtube-local/</link><pubDate>Tue, 04 Apr 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/youtube-local/</guid><description>&lt;p&gt;If you are searching for a youtube frontent that is bloat-free and follows the principle of doing the basic thing and doing it the best then youtube-local is the best option.&lt;/p&gt;&#10;&lt;p&gt;I will tell you what is yt-local and how I set it up.&lt;/p&gt;&#10;&lt;h2 id="what-is-yt-local"&gt;What is yt-local?&lt;/h2&gt;&#10;&lt;p&gt;youtube-local is a browser-based client written in Python for watching Youtube anonymously and without the lag of the slow page used by Youtube. One of the primary features is that all requests are routed through Tor, except for the video file at googlevideo.com. This is analogous to what HookTube (defunct) and Invidious do, except that you do not have to trust a third-party to respect your privacy. The assumption here is that Google won&amp;rsquo;t put the effort in to incorporate the video file requests into their tracking, as it&amp;rsquo;s not worth pursuing the incredibly small number of users who care about privacy (Tor video routing is also provided as an option). Tor has high latency, so this will not be as fast network-wise as regular Youtube. However, using Tor is optional; when not routing through Tor, video pages may load faster than they do with Youtube&amp;rsquo;s page depending on your browser.&lt;/p&gt;</description></item><item><title>Simple Mobile Tools</title><link>https://heypratham.in/write/simple-apps/</link><pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/simple-apps/</guid><description>&lt;p&gt;Using free and Open-source apps gurantees that you will get both privacy and security. People have a lot of personal stuff on their phones, contacts, passwords, photos, their camera and microphone. And that could cause a lot of trouble when you are using proprietary apps that require permissions that they should not need. Some basic apps like calculator that you download from the &amp;ldquo;trusted&amp;rdquo; Play-Store needs access to your contacts!&lt;/p&gt;</description></item><item><title>ChatGPT in Terminal</title><link>https://heypratham.in/write/tgpt/</link><pubDate>Wed, 15 Feb 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/tgpt/</guid><description>&lt;h2 id="pre-requisite"&gt;Pre-requisite&lt;/h2&gt;&#10;&lt;p&gt;The only thing you need is your own OpenAI key.&lt;/p&gt;&#10;&lt;h3 id="steps"&gt;Steps&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Go to &lt;a href="https://beta.openai.com/"&gt;https://beta.openai.com/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Select you profile menu and go to Manage API Keys&lt;/li&gt;&#10;&lt;li&gt;Select + Create new secret key&lt;/li&gt;&#10;&lt;li&gt;Copy generated key&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="lets-start"&gt;Let&amp;rsquo;s Start&lt;/h2&gt;&#10;&lt;p&gt;The program we are going to use is called terminalGPT. Thanks to &lt;a href="https://github.com/jucasoliveira"&gt;jucasoliveira&lt;/a&gt; for developing this.&lt;/p&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;p&gt;Open your terminal,&lt;/p&gt;&#10;&lt;p&gt;To install tgpt run :&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;npm -g install terminalgpt&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will install it.&lt;/p&gt;&#10;&lt;p&gt;To run tgpt:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;tgpt chat&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If it is your first time running it, it will ask for open AI key, paste &lt;strong&gt;generated key&lt;/strong&gt; from pre-requisite steps.&lt;/p&gt;</description></item><item><title>Consume Internet The Better Way</title><link>https://heypratham.in/write/consume-web-in-a-better-way/</link><pubDate>Mon, 13 Feb 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/consume-web-in-a-better-way/</guid><description>&lt;h2 id="1-newsboat"&gt;1. Newsboat&lt;/h2&gt;&#10;&lt;!-- raw HTML omitted --&gt;&#10;&lt;h3 id="history-of-rss"&gt;History of RSS&lt;/h3&gt;&#10;&lt;p&gt;RSS stands for (Really Simple Syndication). It is used to distribute frequently updated content on a website. It is an old tool which was developed in 1990s.The goal was to help people receive updates from multiple sites, just like you subscribe to your favorite YouTube channel. With RSS you can get updates from your favorite websites like &lt;a href="fosspage.com"&gt;fosspage.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;RSS feeds were really popular in 2000s, overtime their popularity decreased, with the emergence of social media and other sites that pulls you in a rabbit hole.Still this is a perfect tool for people who want to prioritize work and want to stay away from distractions.&lt;/p&gt;</description></item><item><title>Make Your Phone Perfect</title><link>https://heypratham.in/write/perfect-phone/</link><pubDate>Fri, 20 Jan 2023 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/perfect-phone/</guid><description>&lt;h1 id="the-perfect-phone--"&gt;The Perfect Phone -&lt;/h1&gt;&#10;&lt;p&gt;Your phone comes with a lot of stuff out of the box—a lot of features, but also a lot of unnecessary stuff. All of these distracting things can take away a lot of your precious time. Humans are not designed to constantly check their phones and have the thought of charging the phone every night in the back of their minds. This causes people to ignore real-life situations. &lt;/p&gt;</description></item><item><title>Best Manga reader for Linux</title><link>https://heypratham.in/write/best-manga-reader/</link><pubDate>Sat, 10 Sep 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/best-manga-reader/</guid><description>&lt;p&gt;If you love reading manga, you have got the perfect app for reading Manga on Linux.&lt;/p&gt;&#10;&lt;p&gt;It’s called Kommiku.&lt;/p&gt;&#10;&lt;p&gt;With Kommiku, you can read, download and organize your collection.&lt;/p&gt;&#10;&lt;!-- raw HTML omitted --&gt;&#10;&lt;p&gt;Recently, Komikku got ported to GTK4 and libadwaita which provides new modern look and feel!&lt;/p&gt;&#10;&lt;p&gt;It is an open-source manga reader available as a Linux-only application, it will fit well with your GNOME desktop but you can use it on any distributions.&lt;/p&gt;</description></item><item><title>Make Ubuntu avoid entering suspended mode when the laptop lid is closed.</title><link>https://heypratham.in/write/ubuntu-lid/</link><pubDate>Wed, 07 Sep 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/ubuntu-lid/</guid><description>&lt;p&gt;Our laptops suspend when the lid is closed, it is the default behavior of any laptop. It is a good feature that helps to save battery but if you are using a laptop as a server that needs to run constantly then it can cause problems.&lt;/p&gt;&#10;&lt;p&gt;If you are using Ubuntu then you can turn that off.&lt;/p&gt;&#10;&lt;h2 id="method-1-"&gt;Method 1 :&lt;/h2&gt;&#10;&lt;p&gt;This is the simplest method and doesn&amp;rsquo;t require any command line and works with any Distro with a GNOME desktop.&#10;If you use the GNOME desktop, you might use Gnome Tweaks for various reasons.&#10;You can install the GNOME tweaks tool from the software center.&lt;/p&gt;</description></item><item><title>Gaming on Linux — How To Play Any Game on Linux!</title><link>https://heypratham.in/write/gaming-on-linux/</link><pubDate>Fri, 26 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/gaming-on-linux/</guid><description>&lt;p&gt;Linux gaming is growing so popular.&lt;/p&gt;&#10;&lt;p&gt;The Steam deck has over 1.6 million users, and we expect them to grow more!&lt;/p&gt;&#10;&lt;p&gt;Unlike Windows, where you can play almost anything with a click, Linux gaming can be tricky. There are a lot of tools, software, and terms that can make things complicated.&lt;/p&gt;&#10;&lt;p&gt;This guide will cover everything including Steam, Epic Games, Ubisoft, and much more.&lt;/p&gt;&#10;&lt;h2 id="basic-terms"&gt;Basic terms&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Proton&lt;/strong&gt;&#10;Proton is a compatibility layer for Microsoft Windows games to run on Linux-based operating systems. It is a collection of software and libraries combined with a patched version of Wine to improve performance and compatibility with Windows games.&lt;/p&gt;</description></item><item><title>The best Project and Task manager on Linux! </title><link>https://heypratham.in/write/planner-linux/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/planner-linux/</guid><description>&lt;p&gt; The Planner is an open-source task and project manager designed for GNU/Linux. &lt;/p&gt;&#10;&lt;p&gt;&amp;rsquo;&amp;rsquo;'&#10;Planner keeps track of all your tasks, projects, and goals in one beautifully simple place.&#10;&amp;rsquo;''&lt;/p&gt;&#10;&lt;!-- raw HTML omitted --&gt;&#10;&lt;p&gt;Planner was developed as a task manager in 2018 and is now a project manager.&lt;/p&gt;&#10;&lt;p&gt;Some of the main features are:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;It can synchronize to a Todoist account.&lt;/li&gt;&#10;&lt;li&gt;You can set up tags, due dates, and remainders.&lt;/li&gt;&#10;&lt;li&gt;It supports a dark theme.&lt;/li&gt;&#10;&lt;li&gt;It helps you organize individual projects.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Planner is available on Flathub, Elementary OS App Centre, and Arch user repository.&lt;/p&gt;</description></item><item><title>How I Reduced My Mobile Screen-time to 25 mins/day</title><link>https://heypratham.in/write/mobile-screen-usage/</link><pubDate>Thu, 18 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/mobile-screen-usage/</guid><description>&lt;p&gt;If you look around, there is a high chance that most people are glued to their smartphones.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;People spend about 4 hours a day in front of their smartphones.&lt;/strong&gt; That&amp;rsquo;s roughly 50 days per year.&lt;/p&gt;&#10;&lt;p&gt;Your smartphone does everything, anything you can think of. It will fill every boring second of your day and it&amp;rsquo;s bad for you.&lt;/p&gt;&#10;&lt;p&gt;You might have heard about &amp;ldquo;dumb phones&amp;rdquo;. More and more people are trading in their smartphones for more old-fashioned devices in the name of peace and quiet. I am not suggesting to use it, and neither am I using one.&lt;/p&gt;</description></item><item><title>Use these 10 Tools to boost Security and Privacy!</title><link>https://heypratham.in/write/tools_privacy/</link><pubDate>Sat, 13 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/tools_privacy/</guid><description>&lt;p&gt;Privacy is a fundamental human right. Yet, most people choose convenience and don&amp;rsquo;t consider privacy much. Setting up things for privacy and security can be frustrating and takes real work, but these tools will provide you with that experience.&lt;/p&gt;&#10;&lt;p&gt;Here is the list of 10 tools that can make your Privacy and Security more convenient. These are unordered.&lt;/p&gt;&#10;&lt;h2 id="1-usb-datablocker"&gt;1. USB Data Blocker&lt;/h2&gt;&#10;&lt;!-- raw HTML omitted --&gt;&#10;&lt;p&gt;A &lt;a href="https://amzn.to/3QlkVvm"&gt;USB data blocker&lt;/a&gt; is a device that allows you to plug into USB charging ports including charging kiosks, and USB ports on gadgets owned by other people. If you connect your devices to a wireless or wired public internet connection, or a USB power charging station, it&amp;rsquo;s difficult to tell how safe they&amp;rsquo;ll be. You can be a victim of juice jacking, which is stealing data or loading malware through USB ports.&lt;/p&gt;</description></item><item><title>Social Media - Not just an addiction</title><link>https://heypratham.in/write/social-media-addiction/</link><pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/social-media-addiction/</guid><description>&lt;p&gt;Imagine you are on a vacation or at your friend&amp;rsquo;s house, having a good day, and you notice a perfect scene in front of you, maybe something worth remembering, a nostalgic moment, or a beautiful picture. Rather than experiencing these moments, people take out their phones to post them on social media.&lt;/p&gt;&#10;&lt;h2 id="what-is-social-media-addiction"&gt;What is social media addiction? &lt;/h2&gt;&#10;&lt;p&gt;Ever unlocked your phone and started scrolling through Instagram without even thinking, doing it subconsciously? Perhaps you started watching a video reel or TikTok and suddenly realized you have been scrolling for a long time.&lt;/p&gt;</description></item><item><title>GNOME - All updates from this week</title><link>https://heypratham.in/write/gnome-aug-5-2022/</link><pubDate>Mon, 08 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/gnome-aug-5-2022/</guid><description>&lt;h2 id="gnome-updates"&gt;GNOME Updates&lt;/h2&gt;&#10;&lt;h4 id="july-29---august-05"&gt;July 29 - August 05&lt;/h4&gt;&#10;&lt;p&gt;These are all the major updates across the GNOME project.&lt;/p&gt;&#10;&lt;h2 id="core-apps-and-libraries"&gt;Core Apps and Libraries&lt;/h2&gt;&#10;&lt;h3 id="photos"&gt;Photos&lt;/h3&gt;&#10;&lt;p&gt;You can set picture as your background / lockscreen as GNOME Photos now uses Wallpaper portal.&lt;/p&gt;&#10;&lt;h3 id="gnome-web"&gt;GNOME Web&lt;/h3&gt;&#10;&lt;!-- raw HTML omitted --&gt;&#10;&lt;p&gt;&lt;a href="https://gitlab.gnome.org/GNOME/epiphany"&gt;GNOME Web&lt;/a&gt; got some new features.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;You can now take screenshots by pressing Shift + Ctrl + S.&lt;/li&gt;&#10;&lt;li&gt;It is also possible to do this through context menu&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="solanum"&gt;Solanum&lt;/h3&gt;&#10;&lt;p&gt;&lt;a href="https://gitlab.gnome.org/World/Solanum"&gt;Solanum&lt;/a&gt; is a pomodaro timer for GNOME desktop.&lt;/p&gt;</description></item><item><title>Material You for Linux with this GNOME extension</title><link>https://heypratham.in/write/material-you-gnome/</link><pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/material-you-gnome/</guid><description>&lt;h2 id="material-you-for-linux"&gt;Material You for Linux&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://material.io/blog/announcing-material-you"&gt;Material You&lt;/a&gt; is wallpaper based theming introduced to Android 12 which themes the entire system by picking colors from wallpaper. If you like want Material You inspired personalization on Linux desktop, you just need one extension.&lt;/p&gt;&#10;&lt;h3 id="extension"&gt;Extension&lt;/h3&gt;&#10;&lt;p&gt;Enable &lt;a href="https://extensions.gnome.org/extension/5236/material-you-color-theming/"&gt;Material You Color Theming GNOME Extension&lt;/a&gt;. It can apply generated libadwaita theme from wallpaper using Material You.&lt;/p&gt;&#10;&lt;p&gt;Every time you change wallpaper, the extension generates a patched version of GNOME’s libadwaita theme with accent colors generated from wallpaper.&lt;/p&gt;</description></item><item><title>How to Switch To Linux - Step by Step Guide</title><link>https://heypratham.in/write/how-to-switch-to-linux/</link><pubDate>Thu, 04 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/how-to-switch-to-linux/</guid><description>&lt;p&gt;Switching to Linux is a great choice but at the same time, it can become scary. How to do it? What distro to choose? Will I need a new hard drive?&lt;/p&gt;&#10;&lt;p&gt;This guide will provide you with all the required steps.&lt;/p&gt;&#10;&lt;p&gt;So, if you are ready to use Linux, let&amp;rsquo;s start.&lt;/p&gt;&#10;&lt;h2 id="1-backup-yourdata"&gt;1. Backup Your Data &lt;/h2&gt;&#10;&lt;p&gt;Backing up your data is a good practice, whether you want to switch to Linux or not, backup your data. It&amp;rsquo;s easy, you just need to copy all the required files you might need and transfer them to an external hard drive or cloud storage.&lt;/p&gt;</description></item><item><title>Android 13 - Info you need before release.</title><link>https://heypratham.in/write/android-13/</link><pubDate>Wed, 03 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/android-13/</guid><description>&lt;p&gt;Google released &lt;a href="https://www.tomsguide.com/news/android-13-beta-3-has-arrived-heres-whats-new"&gt;Android 13 beta 3&lt;/a&gt; in June, and we just got &lt;a href="https://www.tomsguide.com/news/android-13s-final-beta-is-here-and-the-official-release-is-weeks-away"&gt;Android 13 beta 4&lt;/a&gt; in July.&lt;/p&gt;&#10;&lt;p&gt;Beta-3 gave us new taskbar support and multi-window mode which are better optimized for bigger screens, Beta 4 came with stability improvements.&#10;In no time, we will get a stable release.&lt;/p&gt;&#10;&lt;p&gt;These are the new features coming to Android 13.&lt;/p&gt;&#10;&lt;h2 id="android-13-features"&gt;Android 13 features&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;3D experience&lt;/strong&gt;- Google is working on providing you 3D experience with paired audio and android devices.&lt;/p&gt;</description></item><item><title>Android 13 - Info you need before release.</title><link>https://heypratham.in/write/android-132/</link><pubDate>Wed, 03 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/android-132/</guid><description>&lt;p&gt;Google released &lt;a href="https://www.tomsguide.com/news/android-13-beta-3-has-arrived-heres-whats-new"&gt;Android 13 beta 3&lt;/a&gt; in June, and we just got &lt;a href="https://www.tomsguide.com/news/android-13s-final-beta-is-here-and-the-official-release-is-weeks-away"&gt;Android 13 beta 4&lt;/a&gt; in July.&lt;/p&gt;&#10;&lt;p&gt;Beta-3 gave us new taskbar support and multi-window mode which are better optimized for bigger screens, Beta 4 came with stability improvements.&#10;In no time, we will get a stable release.&lt;/p&gt;&#10;&lt;p&gt;These are the new features coming to Android 13.&lt;/p&gt;&#10;&lt;h2 id="android-13-features"&gt;Android 13 features&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;3D experience&lt;/strong&gt;- Google is working on providing you 3D experience with paired audio and android devices.&lt;/p&gt;</description></item><item><title>Linux 5.20 Will Be Called Linux 6.0</title><link>https://heypratham.in/write/linux-6.0/</link><pubDate>Mon, 01 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/linux-6.0/</guid><description>&lt;p&gt;&lt;a href="https://www.phoronix.com/news/Linux-5.19-Released"&gt;Linux 5.19&lt;/a&gt; as announced yesterday, Linux 5.20 will most likely be called Linux 6.0.&lt;/p&gt;&#10;&lt;p&gt;Linus Torvalds&amp;rsquo; versioning after 19~20 point releases has been when he bumps to the next major version number&amp;hellip; &lt;strong&gt;Linux 4.0&lt;/strong&gt; came after **Linux 3.19 **while &lt;strong&gt;Linux 4.20&lt;/strong&gt; became &lt;strong&gt;Linux 5.0&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;Following the same trend we will most likely get Linux 6.0. In Sunday&amp;rsquo;s Linux 5.19 announcement, he teased that the next kernel version will likely be 6.0.&lt;/p&gt;</description></item><item><title>The Wine development release 7.14 is now available.</title><link>https://heypratham.in/write/wine-7.14/</link><pubDate>Mon, 01 Aug 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/wine-7.14/</guid><description>&lt;p&gt;Wine continues to provide and improve Windows compatibility on Linux as Wine &lt;a href="https://www.winehq.org/announce/7.14"&gt;7.14&lt;/a&gt; is released. Wine is the compatibility layer that allows you to run various Windows applications and games on Linux (and forms part of Steam Play Proton).&lt;/p&gt;&#10;&lt;p&gt;Wine 7,14 release:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;More progress on syscall interface for USER32.&lt;/li&gt;&#10;&lt;li&gt;Improved font fallbacks in DirectWrite.&lt;/li&gt;&#10;&lt;li&gt;Some fixes for socket shutdowns.&lt;/li&gt;&#10;&lt;li&gt;Various bug fixes.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Various problems and bug fixes solved with: Civilization IV, Unravel Two, Waves Central, Cheat Engine, World of Tanks, Roblox, Total War Shogun 2.&lt;/p&gt;</description></item><item><title>What is Chrome OS Flex and How to install?</title><link>https://heypratham.in/write/chrome-os-flex/</link><pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/chrome-os-flex/</guid><description>&lt;h2 id="what-is-chrome-os-flex"&gt;What is Chrome OS Flex?&lt;/h2&gt;&#10;&lt;p&gt;Chrome OS Flex is a new version of Chrome OS that’s designed for businesses and schools to install and run on old PCs and Macs. It was created after Google aquired Neverware which was a company that provided Chrome OS for older PCs. Earlier this year, Google released it as early access preview.&lt;/p&gt;&#10;&lt;h3 id="support"&gt;Support&lt;/h3&gt;&#10;&lt;p&gt;Chrome OS Flex currently supports Acer, Asus, Dell, HP, Lenovo, LG, Toshiba, and many more OEMs. Older MacBooks also support it. It is targeted towards old PCs and Macs and that makes it stand out. You can find the list of supported devices &lt;a href="https://support.google.com/chromeosflex/answer/11513094#zippy=%2Capple"&gt;here&lt;/a&gt;.&#10;Even if your device is not listed aboove, you can try Chrome OS Flex without installing and see how it works. It might have some minor issues with boot and stability.&lt;/p&gt;</description></item><item><title>Vulkan Beta Driver 515.49.10 released for Linux</title><link>https://heypratham.in/write/vulcan_beta_drivers/</link><pubDate>Thu, 21 Jul 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/vulcan_beta_drivers/</guid><description>&lt;p&gt;NVIDIA released a upgrade to their new developer-focused version 515.49.10. &lt;a href="https://developer.nvidia.com/vulkan-driver"&gt;Vulkan Beta Drivers&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;July 20th, 2022 - Windows 516.89, Linux 515.49.10&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Changes:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;New:&#10;&lt;a href="https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_pipeline_robustness.html"&gt;VK_EXT_pipeline_robustness&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Fixes:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Restored old shader disk cache behavior to remain enabled even if the app uses its own pipeline cache&lt;/li&gt;&#10;&lt;li&gt;Fixed issue with optimized graphics pipeline library final link using the wrong shaders&lt;/li&gt;&#10;&lt;li&gt;Fixed issue with some fp16 shader operations&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;open-gpu-kernel-modules release:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/NVIDIA/open-gpu-kernel-modules/releases/tag/515.49.10"&gt;https://github.com/NVIDIA/open-gpu-kernel-modules/releases/tag/515.49.10&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;These drivers are for developer use only and you should prefer stable releases.&lt;/p&gt;</description></item><item><title>Reasons you need to use FOSS — Free and Open Source Software.</title><link>https://heypratham.in/write/reasons-to-use-foss/</link><pubDate>Fri, 15 Jul 2022 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/reasons-to-use-foss/</guid><description>&lt;p&gt;What is FOSS? It stands for Free and Open Source Software.&lt;/p&gt;&#10;&lt;p&gt;FOSS is any software that is freely licensed to use, whose code is open and can be copied and changed by anyone, and can be improved by anyone. Most software products you use are proprietary, and it is improbable that you will come across any open-source software.&lt;/p&gt;&#10;&lt;p&gt;FOSS is the opposite of proprietary software, which is under copyright and the source code is hidden. Most companies use this software on desktop and mobile operating systems.&lt;/p&gt;</description></item><item><title>You Should Switch To These Private Messengers Now!</title><link>https://heypratham.in/write/you-should-switch-to-these-private-messangers/</link><pubDate>Thu, 15 Jul 2021 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/you-should-switch-to-these-private-messangers/</guid><description>&lt;p&gt;Privacy? There is no way we can become private in today&amp;rsquo;s world..but we can take some steps.&lt;/p&gt;&#10;&lt;p&gt;User privacy has become an enormous issue as data collection, tracking for ads, and marketing purposes have been a massive increase. One of the core things for which we use smartphones is messaging. And users want their chats, voice messages, and data to be private and secure.&lt;/p&gt;&#10;&lt;p&gt;But why do you need them?&lt;/p&gt;</description></item><item><title>Top 5 Android Apps That Will Boost Your Productivity — 2022</title><link>https://heypratham.in/write/productive-android-apps/</link><pubDate>Wed, 14 Jul 2021 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/productive-android-apps/</guid><description>&lt;h2 id="1-niagara-launcher"&gt;1. Niagara Launcher&lt;/h2&gt;&#10;&lt;p&gt;What is the first thing you need to increase your productivity on a smartphone? Reduce distractions! Niagara Launcher reduces all your distractions and keeps your home screen spotless. You can customize everything about it and make it your own. Unlike other launchers, it keeps things simple and minimal.&lt;/p&gt;&#10;&lt;p&gt;Some beautiful features are:&lt;/p&gt;&#10;&lt;p&gt;Niagara Widget: It merges all essential things like weather, calendar, and much more into a single widget. Thanks to a combination of useful information + gorgeous design which increases the overall experience.&lt;/p&gt;</description></item><item><title>Top 5 open-source browser alternatives to Chrome</title><link>https://heypratham.in/write/open-source-browsers/</link><pubDate>Wed, 14 Jul 2021 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/open-source-browsers/</guid><description>&lt;p&gt;It is most likely that you are using the Chrome browser on your device. About 95 percent of people use it. Google releases its open-source version called Chromium. So we can say that Chrome is not fully open-source, which might not be an issue for many people. But the majority of people using it creates a monopoly, which is not good for competition in the industry.&lt;/p&gt;&#10;&lt;p&gt;That&amp;rsquo;s why people are moving towards free and open source apps. Whether you don&amp;rsquo;t support closed source apps or just want to try new things, here are some best or even better alternatives to Google Chrome.&lt;/p&gt;</description></item><item><title>Do this to reduce Instagram Addiction on Android!</title><link>https://heypratham.in/write/instagram-addiction/</link><pubDate>Tue, 13 Jul 2021 00:00:00 +0000</pubDate><guid>https://heypratham.in/write/instagram-addiction/</guid><description>&lt;p&gt;We all know Instagram has become an essential part of our everyday life. Everyone we meet has an account. If you think about deleting it, a thought comes to your mind, Will I be able to connect with everyone?. The answer is simply no.&lt;/p&gt;&#10;&lt;p&gt;But you realize spending hours on any social media app is what these companies want from you. The Instagram app is designed in a way that once anyone opens it, they are most likely to scroll for hours.&lt;/p&gt;</description></item></channel></rss>