<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Raveen Kumar</title>
    <link>https://raveenkumar.com/posts/</link>
    <description>Recent content in Blog on Raveen Kumar</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <copyright>Raveen Kumar</copyright>
    <lastBuildDate>Fri, 04 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://raveenkumar.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Contacts Organizer cli app</title>
      <link>https://raveenkumar.com/posts/2026-09-04-contacts-organizer-cli-app/</link>
      <pubDate>Fri, 04 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2026-09-04-contacts-organizer-cli-app/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;TODO:&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Give your best and receive the best</title>
      <link>https://raveenkumar.com/posts/2026-09-03-give-your-best-and-receive-the-best/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2026-09-03-give-your-best-and-receive-the-best/</guid>
      <description>&lt;p&gt;Today I was speaking to a friend and I gave the best advice.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Going back on my word</title>
      <link>https://raveenkumar.com/posts/2025-10-23-going-back-on-my-word/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-10-23-going-back-on-my-word/</guid>
      <description>&lt;p&gt;So previously I mentioned that I wont use social media anymore to avoid distractions. Now I have decided to relax my rule a bit for personal reasons.&lt;/p&gt;&#xA;&lt;p&gt;Still I will always be a blogger at heart.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New City, New me?</title>
      <link>https://raveenkumar.com/posts/2025-10-23-new-city-new-me/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-10-23-new-city-new-me/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a while since I last wrote. Time for an update.&lt;/p&gt;&#xA;&lt;p&gt;I landed a job at Qualcomm Bangalore after an unexpected turn of events. I&amp;rsquo;m grateful for the opportunity.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m still adjusting to the city and life here. Some challenges I anticipated haven&amp;rsquo;t been so difficult, while other things I expected to be easy have proven harder.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve learned a lot and forgotten much in the process.&lt;/p&gt;&#xA;&lt;p&gt;Chennai will always be my home. For now, I&amp;rsquo;ll make it here.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quote - 1</title>
      <link>https://raveenkumar.com/posts/2025-10-23-quote-1/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-10-23-quote-1/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://raveenkumar.com/bear-import/23984.jpg&#34; alt=&#34;Chainsaw Man&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Everybody&amp;rsquo;s after my Chainsaw heart! What about my heart?! Denji&amp;rsquo;s! Does nobody want that?!&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Sticky notes</title>
      <link>https://raveenkumar.com/posts/2025-10-23-sticky-notes/</link>
      <pubDate>Thu, 23 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-10-23-sticky-notes/</guid>
      <description>&lt;p&gt;Use it. It&amp;rsquo;s an amazing invention.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Can&#39;t/Won&#39;t use Social Media anymore</title>
      <link>https://raveenkumar.com/posts/2025-04-09-cantwont-use-social-media-anymore/</link>
      <pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-04-09-cantwont-use-social-media-anymore/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t know why but after using social media alternatives it&amp;rsquo;s hard for me to go back to it. Mainly websites like Reddit, LinkedIn, Instagram, X, etc., make me feel nauseous. After using BearBlog for about 3-4 years, I fell like I am fond of simple sites that focus on delivering the content to the users as simple as possible basically KISS Philosophy.&lt;/p&gt;&#xA;&lt;p&gt;The only other Social Media that I use now is Discord and WhatsApp, it is pretty straightforward chat application with community focus. Once I find alternative to them I will leave those too.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Every damn day!</title>
      <link>https://raveenkumar.com/posts/2025-04-08-every-damn-day/</link>
      <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-04-08-every-damn-day/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://raveenkumar.com/bear-import/9q5q3p.webp&#34; alt=&#34;9q5q3p&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generating Ghibli style art with ChatGPT is pretty neat</title>
      <link>https://raveenkumar.com/posts/2025-04-01-generating-ghibli-style-art-with-chatgpt-is-pretty-neat/</link>
      <pubDate>Tue, 01 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-04-01-generating-ghibli-style-art-with-chatgpt-is-pretty-neat/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://raveenkumar.com/bear-import/f71d9a5d-f836-4777-9c56-3e911f189fa8.webp&#34; alt=&#34;F71D9A5D-F836-4777-9C56-3E911F189FA8&#34;&gt;&#xA;&lt;img src=&#34;https://raveenkumar.com/bear-import/2ccc1b91-50ad-409b-9324-b0333e712885-1.webp&#34; alt=&#34;2CCC1B91-50AD-409B-9324-B0333E712885&#34;&gt;&#xA;&lt;img src=&#34;https://raveenkumar.com/bear-import/bcd9ebd9-e2aa-4ea1-ae2e-763b0da4f120.webp&#34; alt=&#34;BCD9EBD9-E2AA-4EA1-AE2E-763B0DA4F120&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to learn programming</title>
      <link>https://raveenkumar.com/posts/2025-03-19-how-to-learn-programming/</link>
      <pubDate>Wed, 19 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-03-19-how-to-learn-programming/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;F*ck around until it works&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Messing around is the only way to learn programming&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>My favorite programming language and tools</title>
      <link>https://raveenkumar.com/posts/2025-03-19-my-favorite-programming-language-and-tools/</link>
      <pubDate>Wed, 19 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2025-03-19-my-favorite-programming-language-and-tools/</guid>
      <description>&lt;p&gt;Programming is always fun. At least for me. When I program for myself with lots of freedom, I have lots of fun. But at work not so much. There is quite a lot of restrictions and it kills me to say that I absolutely hate corporate programming.&lt;/p&gt;&#xA;&lt;p&gt;That being said, I do enjoy some programming languages and tools that I use regularly.&lt;/p&gt;&#xA;&lt;h2 id=&#34;programming-languages-for-fun&#34;&gt;Programming Languages for fun&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bash&lt;/li&gt;&#xA;&lt;li&gt;Python&lt;/li&gt;&#xA;&lt;li&gt;VimScript&lt;/li&gt;&#xA;&lt;li&gt;Emacs Lisp&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;programming-languages-i-use-for-work&#34;&gt;Programming languages I use for work&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;System Verilog and Verilog&lt;/li&gt;&#xA;&lt;li&gt;UVM&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tools&#34;&gt;Tools&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vim / Emacs&lt;/li&gt;&#xA;&lt;li&gt;ChatGPT&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;hardware&#34;&gt;Hardware&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MacBook Air m1&lt;/li&gt;&#xA;&lt;li&gt;Mac mini M2 Pro with triple monitor setup&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Vim not retaining file and command history</title>
      <link>https://raveenkumar.com/posts/2023-05-19-vim-not-retaining-file-and-command-history/</link>
      <pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-19-vim-not-retaining-file-and-command-history/</guid>
      <description>&lt;p&gt;This solved the problem.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://unix.stackexchange.com/questions/43033/what-would-cause-vim-not-to-retain-command-history&#34;&gt;https://unix.stackexchange.com/questions/43033/what-would-cause-vim-not-to-retain-command-history&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Check presence and rights for ~/.viminfo. Usually that&amp;rsquo;s it which keeps command history, file editing positions, etc. One possible case is that this file belongs to root.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Unsubscribe from Emacs Org-mode mailing list</title>
      <link>https://raveenkumar.com/posts/2023-05-17-unsubscribe-from-emacs-org-mode-mailing-list/</link>
      <pubDate>Wed, 17 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-17-unsubscribe-from-emacs-org-mode-mailing-list/</guid>
      <description>&lt;p&gt;Visit this link and follow the instructions - &lt;a href=&#34;https://lists.gnu.org/mailman/options/emacs-orgmode&#34;&gt;https://lists.gnu.org/mailman/options/emacs-orgmode&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://emacs-orgmode.gnu.narkive.com/SrK9BVd1/o-how-i-can-unsubscribe-this-mail-list&#34;&gt;https://emacs-orgmode.gnu.narkive.com/SrK9BVd1/o-how-i-can-unsubscribe-this-mail-list&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>fc fix command or fix previous command</title>
      <link>https://raveenkumar.com/posts/2023-05-12-fc-fix-command-or-fix-previous-command/</link>
      <pubDate>Fri, 12 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-12-fc-fix-command-or-fix-previous-command/</guid>
      <description>&lt;p&gt;In Bash, &lt;code&gt;fc&lt;/code&gt; stands for &amp;ldquo;fix command&amp;rdquo; and it is a built-in command that allows you to work with the command history. The &lt;code&gt;fc&lt;/code&gt; command provides a way to view, edit, and re-execute commands from your command history.&lt;/p&gt;&#xA;&lt;p&gt;Here are some common uses of the &lt;code&gt;fc&lt;/code&gt; command:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Viewing command history&lt;/strong&gt;: You can use &lt;code&gt;fc -l&lt;/code&gt; or simply &lt;code&gt;fc&lt;/code&gt; to display the list of recently executed commands. By default, it shows the most recent commands with line numbers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Insert a string at the beginning of all cells in a column</title>
      <link>https://raveenkumar.com/posts/2023-05-10-insert-a-string-at-the-beginning-of-all-cells-in-a-column/</link>
      <pubDate>Wed, 10 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-10-insert-a-string-at-the-beginning-of-all-cells-in-a-column/</guid>
      <description>&lt;p&gt;Insert a new column before it. Type this formula in the first cell and autofill the remaining,&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;= &amp;#34;New String&amp;#34; &amp;amp; A1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Copy all the required cells in the column and paste it to the original location as &lt;code&gt;values&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Delete the newly inserted row.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Grep for files that does not contain a specific string</title>
      <link>https://raveenkumar.com/posts/2023-05-09-grep-for-files-that-does-not-contain-a-specific-string/</link>
      <pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-09-grep-for-files-that-does-not-contain-a-specific-string/</guid>
      <description>&lt;p&gt;Another useful way to use grep is for printing file names that do not contain a specific string, for example&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep -L &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;string&amp;#34;&lt;/span&gt; *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can use the &lt;code&gt;-L&lt;/code&gt; option of the &lt;code&gt;grep&lt;/code&gt; command, which prints the names of all files that do not contain the specified search string.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;*&lt;/code&gt; at the end tells &lt;code&gt;grep&lt;/code&gt; to search all files in the current directory. If you want to search only specific files or directories, you can replace the &lt;code&gt;*&lt;/code&gt; with the filenames or directory names.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Periodically run a program and watch the output</title>
      <link>https://raveenkumar.com/posts/2023-05-05-periodically-run-a-program-and-watch-the-output/</link>
      <pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-05-periodically-run-a-program-and-watch-the-output/</guid>
      <description>&lt;h2 id=&#34;watch&#34;&gt;watch&lt;/h2&gt;&#xA;&lt;p&gt;Execute a program periodically, showing output fullscreen&lt;/p&gt;&#xA;&lt;p&gt;Example&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;watch ls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;alternative - &lt;code&gt;viddy&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Horizontally print file contents</title>
      <link>https://raveenkumar.com/posts/2023-05-03-horizontally-print-file-contents/</link>
      <pubDate>Wed, 03 May 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-05-03-horizontally-print-file-contents/</guid>
      <description>&lt;p&gt;To concatenate the contents of a vertical file horizontally in Unix, you can use the &lt;code&gt;paste&lt;/code&gt; command with the &lt;code&gt;-s&lt;/code&gt; option.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s an example:&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s say you have a file &lt;code&gt;file.txt&lt;/code&gt; with the following vertical content:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apple&#xA;banana&#xA;orange&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can concatenate the contents horizontally using the following command:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;paste -s file.txt&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will produce the output:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apple   banana  orange&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;-s&lt;/code&gt; option tells &lt;code&gt;paste&lt;/code&gt; to concatenate the lines horizontally instead of vertically. By default, &lt;code&gt;paste&lt;/code&gt; separates the columns with a tab character. If you want to use a different separator, you can specify it with the &lt;code&gt;-d&lt;/code&gt; option followed by the separator character. For example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Power of 2s</title>
      <link>https://raveenkumar.com/posts/2023-04-20-power-of-2s/</link>
      <pubDate>Thu, 20 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-04-20-power-of-2s/</guid>
      <description>&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;n&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;2^n&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;8&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;16&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;32&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;6&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;64&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;7&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;128&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;8&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;256&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;512&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;10&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1,024&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;11&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2,048&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;12&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4,096&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;13&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;8,192&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;14&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;16,384&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;15&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;32,768&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;16&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;65,536&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;17&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;131,072&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;18&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;262,144&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;19&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;524,288&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1,048,576&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>Reading notes - Designing a Video Game hardware in Verilog</title>
      <link>https://raveenkumar.com/posts/2023-04-20-reading-notes---designing-a-video-game-hardware-in-verilog/</link>
      <pubDate>Thu, 20 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-04-20-reading-notes---designing-a-video-game-hardware-in-verilog/</guid>
      <description>&lt;p&gt;Book: &lt;em&gt;Designing Video Game Hardware in Verilog&lt;/em&gt;, Steven Hugg (2018).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;../2023-04-20-power-of-2s/&#34;&gt;2023-04-20-power-of-2s&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Byte - 8 bits&#xA;Nibble - 4 bits&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-verilog&#34; data-lang=&#34;verilog&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;A clock divider in Verilog, using the cascading&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;flip-flop method.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;*/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;module&lt;/span&gt; clock_divider(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; clk,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;input&lt;/span&gt; reset,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt; clk_div2,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt; clk_div4,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt; clk_div8,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;output&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;reg&lt;/span&gt; clk_div16&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// simple ripple clock divider&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;always&lt;/span&gt; @(&lt;span style=&#34;color:#66d9ef&#34;&gt;posedge&lt;/span&gt; clk)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    clk_div2 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; reset &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;clk_div2;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;always&lt;/span&gt; @(&lt;span style=&#34;color:#66d9ef&#34;&gt;posedge&lt;/span&gt; clk_div2)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    clk_div4 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;clk_div4;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;always&lt;/span&gt; @(&lt;span style=&#34;color:#66d9ef&#34;&gt;posedge&lt;/span&gt; clk_div4)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    clk_div8 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;clk_div8;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;always&lt;/span&gt; @(&lt;span style=&#34;color:#66d9ef&#34;&gt;posedge&lt;/span&gt; clk_div8)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    clk_div16 &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;~&lt;/span&gt;clk_div16;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;endmodule&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;static-timing-anaysis&#34;&gt;Static timing anaysis&lt;/h2&gt;&#xA;&lt;p&gt;Setup time and hold time are timing constraints that must be met in digital circuits to ensure correct data transfer between logic elements. These constraints are important to consider in the design of synchronous digital circuits, which use a clock signal to synchronize the transfer of data between flip-flops or other storage elements.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs symbol search at point</title>
      <link>https://raveenkumar.com/posts/2023-04-12-emacs-symbol-search-at-point/</link>
      <pubDate>Wed, 12 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-04-12-emacs-symbol-search-at-point/</guid>
      <description>&lt;p&gt;To enter symbol search press &lt;code&gt;M-s .&lt;/code&gt; this with execute &lt;code&gt;isearch-forward-symbol-at-point&lt;/code&gt; function. This is similar to vim&amp;rsquo;s &lt;code&gt;*&lt;/code&gt; key. I accitentally pressed it instead of &lt;code&gt;M-s h .&lt;/code&gt; and found it while trying to highlight a symbol, lol.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mark ring and Jumplist with emacs and helm</title>
      <link>https://raveenkumar.com/posts/2023-04-07-mark-ring-and-jumplist-with-emacs-and-helm/</link>
      <pubDate>Fri, 07 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-04-07-mark-ring-and-jumplist-with-emacs-and-helm/</guid>
      <description>&lt;p&gt;Like vim, emacs has an alternative to jump list. It is called mark rings but its difficult to use. Fortunately there is a helm and counsel function to help us navigate the mark rings. Add this following command to emacs init file,&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(global-set-key (kbd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C-c &amp;#39;&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;helm-all-mark-rings&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I use &lt;code&gt;C-c &#39;&lt;/code&gt; to browse mark rings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stop asking tags table to be reset every time a new file is visited in a different project</title>
      <link>https://raveenkumar.com/posts/2023-04-07-stop-asking-tags-table-to-be-reset-every-time-a-new-file-is-visited-in-a-different-project/</link>
      <pubDate>Fri, 07 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-04-07-stop-asking-tags-table-to-be-reset-every-time-a-new-file-is-visited-in-a-different-project/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; tags-add-tables &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Emacs configuration for perl programming</title>
      <link>https://raveenkumar.com/posts/2023-03-03-emacs-configuration-for-perl-programming/</link>
      <pubDate>Fri, 03 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-03-03-emacs-configuration-for-perl-programming/</guid>
      <description>&lt;p&gt;Configuration taken from &lt;a href=&#34;https://www.emacswiki.org/emacs/CPerlMode&#34;&gt;https://www.emacswiki.org/emacs/CPerlMode&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;;;; Perl&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;;; cperl-mode is preferred to perl-mode&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;;; &amp;#34;Brevity is the soul of wit&amp;#34; &amp;lt;foo at acm.org&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(defalias &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;perl-mode&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cperl-mode&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; cperl-invalid-face &lt;span style=&#34;color:#66d9ef&#34;&gt;nil&lt;/span&gt;) &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; cperl-electric-keywords &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;;; expands for keywords such as foreach, while, etc...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; cperl-hairy &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;) &lt;span style=&#34;color:#75715e&#34;&gt;;; Turns on most of the CPerlMode options&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Python docstrings</title>
      <link>https://raveenkumar.com/posts/2023-02-28-python-docstrings/</link>
      <pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-28-python-docstrings/</guid>
      <description>&lt;p&gt;In python, docstrings are used to define the functions documentation. Refer this page,&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://peps.python.org/pep-0257/&#34;&gt;https://peps.python.org/pep-0257/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;function&lt;/span&gt;(a, b):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;Do X and return a list.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Git hangs on git pull or git fetch</title>
      <link>https://raveenkumar.com/posts/2023-02-27-git-hangs-on-git-pull-or-git-fetch/</link>
      <pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-27-git-hangs-on-git-pull-or-git-fetch/</guid>
      <description>&lt;p&gt;Sometime I find git hanging in wsl and it is not able to recover. The only way to recover is restarting the computer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How-to delete an element from a xml tree in Python</title>
      <link>https://raveenkumar.com/posts/2023-02-27-how-to-delete-an-element-from-a-xml-tree-in-python/</link>
      <pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-27-how-to-delete-an-element-from-a-xml-tree-in-python/</guid>
      <description>&lt;p&gt;Following are the steps to delete an element from a xml tree proprly when parsing with python,&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://stackoverflow.com/questions/47041688/remove-element-from-xml-with-elementtree&#34;&gt;https://stackoverflow.com/questions/47041688/remove-element-from-xml-with-elementtree&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Example XML tree&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;foo&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;bar&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;level&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;test&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;stuff&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               hello&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/stuff&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/test&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;test&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;stuff&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               hello&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/stuff&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/test&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/level&amp;gt;&lt;/span&gt;   &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/bar&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/foo&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Python code to delete stuff&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; xml.etree.ElementTree &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; ET&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tree &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ET&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;parse(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;myfile.xml&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; tree&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;getroot()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; test &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; root&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;iter(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;test&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; stuff &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;findall(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;stuff&amp;#39;&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       test&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;remove(stuff)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print ET&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;tostring(root)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You need to have pointer to parent tag in order to remove child tag.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fuzzy matching with python</title>
      <link>https://raveenkumar.com/posts/2023-02-26-fuzzy-matching-with-python/</link>
      <pubDate>Sun, 26 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-26-fuzzy-matching-with-python/</guid>
      <description>&lt;p&gt;Fuzzy matching is great. In fact, it is better than regular expression matching in certain cases. Come to think of it, our entire human brain works on fuzzy matching.&lt;/p&gt;&#xA;&lt;p&gt;Take handwriting, for example, everyone can read each other&amp;rsquo;s handwriting as long as it&amp;rsquo;s legible. That&amp;rsquo;s fuzzy matching on an organic level.&lt;/p&gt;&#xA;&lt;p&gt;I had a problem where I have a string of text, and I wanted to match the substring with other string but the issue is that the substring varies from string to string and I cant predict the proper substring to do a regex matching. So suddenly out of the blue I got an idea to do a fuzzy matching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>rsync is weird, does not sync &#34;tags&#34; directory</title>
      <link>https://raveenkumar.com/posts/2023-02-24-rsync-is-weird/</link>
      <pubDate>Fri, 24 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-24-rsync-is-weird/</guid>
      <description>&lt;p&gt;For whatever reason rsync decided not to sync &lt;code&gt;tags&lt;/code&gt; directory since it is ignored in CVS mode. Took a lot time to figure out the problem. Finally this command works correctly.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;code&gt;--include&lt;/code&gt;&lt;/em&gt; used to sync everything, despite ofthe cvs option, -C. But removed in this command.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;rsync -av --delete --checksum --copy-links -rPuzhi ./public/ root@raveenkumar.xyz:/var/www/raveenkumar/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Ask bing</title>
      <link>https://raveenkumar.com/posts/2023-02-23-ask-bing/</link>
      <pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-23-ask-bing/</guid>
      <description>&lt;p&gt;Today I got access to bing chat feature. Finally AI search is here, lets see how well this goes. Based on my chat it seems much dumber than chatgpt.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://raveenkumar.com/2023-02-23-ask-bing.png&#34; alt=&#34;ask-bing&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs keybindings work on macos</title>
      <link>https://raveenkumar.com/posts/2023-02-23-emacs-keybindings-works-on-macos/</link>
      <pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-23-emacs-keybindings-works-on-macos/</guid>
      <description>&lt;p&gt;I was suprised to find out that when I accidentally pressed ctrl-k on a line it killed it in macos. Looks like some emacs keybindings are supported system wide by default.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://irreal.org/blog/?p=259&#34;&gt;http://irreal.org/blog/?p=259&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Explained in this blog post.&lt;/p&gt;&#xA;&lt;p&gt;【Ctrl+f】, 【Ctrl+b】, 【Ctrl+a】, 【Ctrl+e】, 【Ctrl+k】, 【Ctrl+y】, 【Ctrl+p】, 【Ctrl+n】, and a few others work across the whole system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Killed it</title>
      <link>https://raveenkumar.com/posts/2023-02-21-killed-it/</link>
      <pubDate>Tue, 21 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-21-killed-it/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://i.imgflip.com/7by6qq.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding epiog to python scripts using argparse module</title>
      <link>https://raveenkumar.com/posts/2023-02-20-adding-epilog-to-python-scripts-using-argparse-module/</link>
      <pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-20-adding-epilog-to-python-scripts-using-argparse-module/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://docs.python.org/dev/library/argparse.html#argparse.RawDescriptionHelpFormatter&#34;&gt;https://docs.python.org/dev/library/argparse.html#argparse.RawDescriptionHelpFormatter&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;We can add epilog to argparse help and description to add more info. Refer link above.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs File-info package</title>
      <link>https://raveenkumar.com/posts/2023-02-20-emacs-file-info-package/</link>
      <pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-20-emacs-file-info-package/</guid>
      <description>&lt;p&gt;Found a new package today. Does exactly what I want. List and copy the file info and path with a keybind and a popup window.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/Artawower/file-info.el&#34;&gt;https://github.com/Artawower/file-info.el&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Installation:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Add this to you init.el file&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;;; File-info&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;use-package&lt;/span&gt; hydra&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:straight&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;use-package&lt;/span&gt; browse-at-remote&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:straight&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;use-package&lt;/span&gt; posframe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:straight&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;t&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;use-package&lt;/span&gt; file-info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:straight&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;:host&lt;/span&gt; github &lt;span style=&#34;color:#e6db74&#34;&gt;:repo&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;artawower/file-info.el&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:bind&lt;/span&gt; ((&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C-c f i&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;file-info-show&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;:config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; hydra-hint-display-type &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;posframe&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (&lt;span style=&#34;color:#66d9ef&#34;&gt;setq&lt;/span&gt; hydra-posframe-show-params &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;:poshandler&lt;/span&gt; posframe-poshandler-frame-center&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                               &lt;span style=&#34;color:#e6db74&#34;&gt;:internal-border-width&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                               &lt;span style=&#34;color:#e6db74&#34;&gt;:internal-border-color&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;#61AFEF&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                               &lt;span style=&#34;color:#e6db74&#34;&gt;:left-fringe&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                                               &lt;span style=&#34;color:#e6db74&#34;&gt;:right-fringe&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt;)))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://du-blog.ru/media/elisp.webp&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs wrap region package</title>
      <link>https://raveenkumar.com/posts/2023-02-20-emacs-wrap-region-package/</link>
      <pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-20-emacs-wrap-region-package/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/rejeep/wrap-region.el&#34;&gt;https://github.com/rejeep/wrap-region.el&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Wrap Region is a minor mode for Emacs that wraps a region with punctuations. For &amp;ldquo;tagged&amp;rdquo; markup modes, such as HTML and XML, it wraps with tags.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to copy paste as plain text into gmail on ios</title>
      <link>https://raveenkumar.com/posts/2023-02-20-how-to-copy-paste-as-plain-text-into-gmail-on-ios/</link>
      <pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-20-how-to-copy-paste-as-plain-text-into-gmail-on-ios/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://apple.stackexchange.com/questions/354992/how-to-copy-and-paste-as-plain-text-on-ios&#34;&gt;https://apple.stackexchange.com/questions/354992/how-to-copy-and-paste-as-plain-text-on-ios&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Paste formatted&lt;/li&gt;&#xA;&lt;li&gt;Select the just pasted text and in the context menu swipe right and tap on &amp;ldquo;Share&amp;hellip;&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;In the Share sheet, tap on &amp;ldquo;Copy&amp;rdquo;. This copies as plain text!&lt;/li&gt;&#xA;&lt;li&gt;Tap still selected text to get the context menu again&lt;/li&gt;&#xA;&lt;li&gt;In the context menu tap on &amp;ldquo;Paste&amp;rdquo; to replace the selected, formatted text with its plain text representation&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Recursively grep with emacs lisp only</title>
      <link>https://raveenkumar.com/posts/2023-02-20-recursive-grep-with-emacs-lisp-only/</link>
      <pubDate>Mon, 20 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-20-recursive-grep-with-emacs-lisp-only/</guid>
      <description>&lt;p&gt;I was looking for a way to recursively grep inside a directory and a find-grep replacement since its not availabe in windows and I found this.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.reddit.com/r/emacs/comments/bxtwfg/grep_and_find_but_in_pure_emacs_lisp/&#34;&gt;https://www.reddit.com/r/emacs/comments/bxtwfg/grep_and_find_but_in_pure_emacs_lisp/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(project-find-regexp)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Copy and paste as plain text into gmail on ios</title>
      <link>https://raveenkumar.com/posts/2023-02-17-copy-and-paste-as-plain-text-into-gmail-on-ios/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-17-copy-and-paste-as-plain-text-into-gmail-on-ios/</guid>
      <description>&lt;p&gt;When you copy text anywhere in the browser from an ios device, it is a formatted text. To paste is as a plain text do the following.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Paste formatted&lt;/li&gt;&#xA;&lt;li&gt;Select the just pasted text and in the context menu swipe right and tap on &amp;ldquo;Share&amp;hellip;&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;In the Share sheet, tap on &amp;ldquo;Copy&amp;rdquo;. This copies as plain text!&lt;/li&gt;&#xA;&lt;li&gt;Tap still selected text to get the context menu again&lt;/li&gt;&#xA;&lt;li&gt;In the context menu tap on &amp;ldquo;Paste&amp;rdquo; to replace the selected, formatted text with its plain text representation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Reference:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Example pstree command</title>
      <link>https://raveenkumar.com/posts/2023-02-17-pstree/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-17-pstree/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pstree -u username -hp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Advising a function in emacs lisp</title>
      <link>https://raveenkumar.com/posts/2023-01-22-emacs-lisp-advice/</link>
      <pubDate>Thu, 16 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-01-22-emacs-lisp-advice/</guid>
      <description>&lt;p&gt;One of the awesome things that I found when programming in elisp is the advice. For any function, you can advice before, after, around, to it.&lt;/p&gt;&#xA;&lt;p&gt;When you advice a function A with a function B. Function B will executed before it. This is really interesting and useful.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-lisp&#34; data-lang=&#34;lisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(advice-add &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;funa&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;:before&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;funb&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;EMACS is a event based program, it has hooks, advices and all that goodness to modify and customize anything. 🪝&lt;/p&gt;</description>
    </item>
    <item>
      <title>Insert video with hugo shortcode</title>
      <link>https://raveenkumar.com/posts/2023-02-16-insert-video-with-hugo-shortcodes/</link>
      <pubDate>Thu, 16 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-16-insert-video-with-hugo-shortcodes/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://dev.to/hi_artem/add-a-video-to-your-hugo-website-104&#34;&gt;https://dev.to/hi_artem/add-a-video-to-your-hugo-website-104&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;To create a new shortcode, place its template in the layouts/shortcodes. In my case, I created the following template at layouts/shortcodes/video.html&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;container&amp;#34;&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;id&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;player-wrapper&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;class&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{{ .Get 1 }}&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://cdn.jsdelivr.net/npm/@clappr/player@latest/dist/clappr.min.js&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;playerElement&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; document.&lt;span style=&#34;color:#a6e22e&#34;&gt;getElementById&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;player-wrapper&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;player&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Clappr&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Player&lt;/span&gt;({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;source&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; {{ .&lt;span style=&#34;color:#a6e22e&#34;&gt;Get&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; }},&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;mute&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;360&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;640&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  });&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;player&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;attachTo&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;playerElement&lt;/span&gt;);  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;script&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now, I can create a new Markdown document, and use the newly created shorthand. Two arguments has to be provided: link to the video, and CSS class to apply to the container wrapping the video element.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open new eshell buffer without closing the current one</title>
      <link>https://raveenkumar.com/posts/2023-02-16-open-new-eshell-buffer/</link>
      <pubDate>Thu, 16 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-16-open-new-eshell-buffer/</guid>
      <description>&lt;p&gt;I usually run multiple shell instances in terminal. If you already have one eshell buffer open. You can use prefix command to open a new eshell buffer without closing the current one.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-emacs&#34; data-lang=&#34;emacs&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;C-u M-x eshell&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://stackoverflow.com/questions/2540997/create-more-than-one-eshell-instance-in-emacs/75480565#75480565&#34;&gt;https://stackoverflow.com/questions/2540997/create-more-than-one-eshell-instance-in-emacs/75480565#75480565&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here is my implementation of new eshell buffer / instance.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-elisp&#34; data-lang=&#34;elisp&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(defun eshell-new-buffer (args)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Create a new eshell buffer.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (interactive &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;P&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  (eshell &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;new&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(global-set-key (kbd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C-c e e&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;eshell&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(global-set-key (kbd &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C-c e n&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;eshell-new-buffer&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Command-line ChatGPT</title>
      <link>https://raveenkumar.com/posts/2023-02-15-command-line-chatgpt/</link>
      <pubDate>Wed, 15 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-15-command-line-chatgpt/</guid>
      <description>&lt;p&gt;Here I have written a python script that will take user input string and ask OpenAI text generator to generate text.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://raw.githubusercontent.com/raveensrk/dotfiles-main/main/stow/.scripts/chatgpt.py&#34;&gt;https://raw.githubusercontent.com/raveensrk/dotfiles-main/main/stow/.scripts/chatgpt.py&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I should probably try writing a elisp code for this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t setup your own mail server</title>
      <link>https://raveenkumar.com/posts/2023-02-15-dont-setup-your-own-mail-server/</link>
      <pubDate>Wed, 15 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-15-dont-setup-your-own-mail-server/</guid>
      <description>&lt;p&gt;Setting up a mail server is much more difficult than setting up a website. And I spent a lot of time figuring out why my mails were not being sent. It was a good learning experience. That&amp;rsquo;s all it was. I switched back to gmail.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;&#x9;&#x9;&#x9;&lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/dCrOxwi3WWI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;&#x9;&#x9;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Copy paste org tables into confluence with proper formatting</title>
      <link>https://raveenkumar.com/posts/2023-02-08-copy-paste-org-tables-into-confluence/</link>
      <pubDate>Wed, 08 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-08-copy-paste-org-tables-into-confluence/</guid>
      <description>&lt;h2 id=&#34;copy-paste-org-tables-into-confluence&#34;&gt;Copy paste org tables into confluence&lt;/h2&gt;&#xA;&lt;p&gt;Select all org table replace &lt;code&gt;+&lt;/code&gt; with &lt;code&gt;|&lt;/code&gt; in header seperator and copy paste into confluence page and it will automatically convert to tables.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Cristiano Ronaldo</title>
      <link>https://raveenkumar.com/posts/2022-12-12-my-thoughts-on-cristiano-ronaldo/</link>
      <pubDate>Wed, 08 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2022-12-12-my-thoughts-on-cristiano-ronaldo/</guid>
      <description>&lt;p&gt;All I ever wanted was to see Ronald win the World Cup but that did not happen today. Portugal got eliminated in the quarter finals by Morocco.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://raveenkumar.com/_attachments~7/IMG_1266.jpg&#34; alt=&#34;Ronaldo&#34;&gt;&lt;/p&gt;&#xA;&lt;!-- #todo --&gt;&#xA;&lt;p&gt;Why am I a fan of ronado?&lt;/p&gt;&#xA;&lt;p&gt;Well as a kid when I started playing football I wanted to watch others play and learn from them like everyone else. I was also playing fifa 2002 and fifa 99 I think. At that time I did not know anything about that. After I got a good pc I installed fifa 2007 and I was a Manchester United fan based on the previous games because they used to have a better rating and good stat players.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emacs Conf 2022</title>
      <link>https://raveenkumar.com/posts/2023-01-09-emacs-conf-2022/</link>
      <pubDate>Fri, 03 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-01-09-emacs-conf-2022/</guid>
      <description>&lt;h2 id=&#34;emacs-conf-2022&#34;&gt;EMACS conf 2022&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://emacsconf.org/2022/talks/eshell/&#34;&gt;EmacsConf - 2022 - talks - Top 10 reasons why you should be using Eshell&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/ag91/emacs-buddy&#34;&gt;GitHub - ag91/emacs-buddy: Emacs Buddy initiative to help new Emacs users with their struggles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>My Third Post</title>
      <link>https://raveenkumar.com/posts/2023-02-03-new-post/</link>
      <pubDate>Fri, 03 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-03-new-post/</guid>
      <description>&lt;h2 id=&#34;this-is-my-third-post&#34;&gt;This is my third post&lt;/h2&gt;&#xA;&lt;p&gt;Third post&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connect magic mouse to windows pc</title>
      <link>https://raveenkumar.com/posts/2023-02-02-connect_magic_mouse_to_pc/</link>
      <pubDate>Thu, 02 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-02-connect_magic_mouse_to_pc/</guid>
      <description>&lt;h2 id=&#34;connect-magic-mouse-to-windows-pc&#34;&gt;connect magic mouse to windows pc&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.switchingtomac.com/tutorials/how-to-set-up-and-use-the-magic-mouse-on-windows/&#34;&gt;https://www.switchingtomac.com/tutorials/how-to-set-up-and-use-the-magic-mouse-on-windows/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Second Post</title>
      <link>https://raveenkumar.com/posts/2023-02-02-my-second-post/</link>
      <pubDate>Thu, 02 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://raveenkumar.com/posts/2023-02-02-my-second-post/</guid>
      <description>&lt;h2 id=&#34;this-is-my-second-post&#34;&gt;This is my second post&lt;/h2&gt;&#xA;&lt;p&gt;Is hugo good? Feels complicated.&lt;/p&gt;&#xA;&lt;p&gt;Rocket man.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
