<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pawel</title>
    <description>The latest articles on DEV Community by Pawel (@pb).</description>
    <link>https://dev.to/pb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F618537%2F3cd782cd-1a3a-4926-9eb6-1e55fba23a61.jpg</url>
      <title>DEV Community: Pawel</title>
      <link>https://dev.to/pb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pb"/>
    <language>en</language>
    <item>
      <title>Linked List Simplified: Part 1</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Wed, 06 Jul 2022 11:13:45 +0000</pubDate>
      <link>https://dev.to/pb/linked-list-simplified-part-1-2ian</link>
      <guid>https://dev.to/pb/linked-list-simplified-part-1-2ian</guid>
      <description>&lt;p&gt;If you've just started your programming journey or it's been a while one thing you've came across many times and will surely come in future as is Data Structures and Algorithms. &lt;/p&gt;

&lt;p&gt;They are one of the most important topics in Computer Science, as such there's a saying what differentiates a good programmer and a bad programmer is his/her knowledge of data structures and algorithms and how they apply it. It's like getting most out of your computer program with minimum resources and time available. So in order to become better at programming one should understand data structures and algorithms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Data Structures
&lt;/h2&gt;

&lt;p&gt;So there are two types of data structures:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Linear Data Structures&lt;/li&gt;
&lt;li&gt;Non-Linear Data Structures&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;If you're just starting out with the data structures you might be wondering that what is a linear data structure anyway?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A linear data structure is any data structure which has/follows a sequence (i.e. data is stored one after the another) and they must be traversed linearly (sequentially)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Example of some linear data structures&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I6e0UhxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i6kv7h93v1bz4gb4bn2r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I6e0UhxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i6kv7h93v1bz4gb4bn2r.png" alt="Array-Linked-List-Stack-Linear-Data-Structures" width="880" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the above picture you can see the representation of array, stack and linked list all of them has one thing in common and that is they follows a sequences each block is placed after another block in a linear or sequential manner. Hence they are called linear data structure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ok now we get an idea of what is a linear data structure so let's move forward with the linked list.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is a Linked List anyway?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A Linked List is a &lt;strong&gt;linear data structure&lt;/strong&gt; in which the elements are &lt;strong&gt;not stored in continuous memory locations&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0oOIEqud--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s64c7fkef5u8h9ebsfcx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0oOIEqud--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s64c7fkef5u8h9ebsfcx.png" alt="Linked List representation" width="880" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think of the linked list as a chain of containers linked together &lt;/li&gt;
&lt;li&gt;Where the container is called as &lt;strong&gt;Nodes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8jVAMwte--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/td2xq40hqt00w0l9hwag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8jVAMwte--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/td2xq40hqt00w0l9hwag.png" alt="Node in a Linked list" width="537" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Node in linked list contains &lt;code&gt;data&lt;/code&gt; and &lt;code&gt;link&lt;/code&gt; to its neighbour node&lt;/li&gt;
&lt;li&gt;The link is called pointer which either points to the next node in the linked list or &lt;code&gt;Null&lt;/code&gt; if it's the last node in the linked list&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you're familiar with array you might be wondering that why should I use linked list if can use an array instead?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sure, you can definitely use an array but remember earlier in the post we talk about being a better programmer while choosing suitable data structure. So let's say you don't know the amount of data you're receiving then in such cases will it be a better idea to use array which has static memory allocation? &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Memory  allocation
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Static memory allocation&lt;/em&gt;: Once the memory is allocated, the memory size cannot be changed. for e.g. array with a size of 10.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the answer is &lt;strong&gt;No&lt;/strong&gt;. We need something which should grow with our data. That's where linked list comes to rescue us.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlike arrays &lt;strong&gt;linked list&lt;/strong&gt; has &lt;em&gt;dynamic memory allocation&lt;/em&gt; which means we don't have to predefined the size of the linked list which we do while using arrays. Linked list can grow and shrink dynamically with the amount of data we want to store in it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--quNpaXXu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/471ipohlwcydwbru8c49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--quNpaXXu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/471ipohlwcydwbru8c49.png" alt="Types of memory allocations Static and Dynamic" width="840" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If have came across &lt;a href="https://en.wikipedia.org/wiki/Dynamic_array"&gt;dynamic arrays&lt;/a&gt; you might say that, "Yeah but I can use dynamic arrays then why should I use Linked List"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have an answer to your this question as well. Let's say you want to add an item at the beginning of the array, in this case you have to first shift all the elements which are currently stored in the array by one position and then you can add the new element at the beginning. Similar to add an element in the middle of an array you have to do the same. So both the processes has a &lt;a href="https://en.wikipedia.org/wiki/Time_complexity"&gt;Time Complexity&lt;/a&gt; of O(n). Whereas in linked list the same can be achieved in O(1) time complexity.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Time complexities
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eleDcbpZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8b6c4a9jfnophqs9fduk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eleDcbpZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8b6c4a9jfnophqs9fduk.png" alt="Time complexities comparison of various operations between *Array and Linked List" width="786" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Time complexities comparison of various operations in &lt;strong&gt;Array&lt;/strong&gt; and &lt;strong&gt;Linked List&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: In order to achieve O(1) for adding a node at the end of a linked list we have to maintain a &lt;code&gt;tail&lt;/code&gt; pointer at the current end of the linked list just like we maintain a &lt;code&gt;head&lt;/code&gt; pointer at the beginning of the linked list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Types of Linked Lists
&lt;/h2&gt;

&lt;p&gt;There are three types of Linked List:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Singly linked list : Contains only one pointer called &lt;code&gt;next&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Doubly linked list : Contains 2 pointers called &lt;code&gt;previous&lt;/code&gt; and &lt;code&gt;next&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Circular linked list : Contains one pointer but the &lt;code&gt;next&lt;/code&gt; pointer of the last node is connect to the first node in the linked list.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pqTXSKEY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bc5sczvpbnnaqremh97k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pqTXSKEY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bc5sczvpbnnaqremh97k.png" alt="Types of Linked Lists&amp;lt;br&amp;gt;
" width="880" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So in this post we have discuss about what is a linked list, what type of data structure category they belongs to, how they are different than arrays, when should we use them and the types of linked lists.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the next post let's see how to create a linked list from scratch, what are their Pros and Cons and some additional information regarding the linked lists.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vote of Thanks
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this post and I hope you find this post useful. Feel Free to give any suggestions and if you like my work you can follow me on &lt;a href="https://twitter.com/pawelsb"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Vim Shortcuts to get you started as a Beginner</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Sat, 01 Jan 2022 16:29:46 +0000</pubDate>
      <link>https://dev.to/pb/vim-shortcuts-to-get-you-started-as-a-beginner-4ga0</link>
      <guid>https://dev.to/pb/vim-shortcuts-to-get-you-started-as-a-beginner-4ga0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This post includes just the bare minimum commands which you need to get started using vim or neovim. This article is for the absolute beginners who has zero knowledge of the vim commands and who wanted to try or want to learn just bare minimum in order to use vim or neovim.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you get fascinated by the thought of being able to code as fast as you can and without leaving the keyboard for scrolling, going to a specific line of code or inside a parenthesis then VIM can be the goto solution for your need and desire.&lt;/p&gt;

&lt;p&gt;Every once in a while we came across a movie or a tutorial on youtube in which the coder writes the code flawlessly at a lightning speed and that too without taking his hands off the keyboard and makes us flabbergasted.&lt;/p&gt;

&lt;p&gt;You can be the person you see in that video and in order to do  so you have to change the editor you code in which can be vscode, sublime text or any other code editor and switch to VIM or Neovim.&lt;/p&gt;

&lt;p&gt;So, In this blog post I'll walk you through some of the key-bindings of the VIM in order to help you get started with the VIM and some of it's amazing features.&lt;/p&gt;

&lt;p&gt;You can also use Neovim as it's basically a fork of VIM with added features and functionality. All that you can do in VIM can be done in Neovim as well but not the other way around.&lt;/p&gt;

&lt;p&gt;So, Let's get started....&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="k"&gt;i&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;gets into the &lt;span class="nb"&gt;insert&lt;/span&gt; &lt;span class="k"&gt;mode&lt;/span&gt;
&lt;span class="k"&gt;v&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;gets into the &lt;span class="k"&gt;visual&lt;/span&gt; &lt;span class="k"&gt;mode&lt;/span&gt;
esc&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="sr"&gt;//&lt;/span&gt;gets back &lt;span class="k"&gt;to&lt;/span&gt; the normal &lt;span class="k"&gt;mode&lt;/span&gt;
&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;wq&lt;/span&gt;  &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;save the current &lt;span class="k"&gt;changes&lt;/span&gt; &lt;span class="nb"&gt;and&lt;/span&gt; &lt;span class="k"&gt;quit&lt;/span&gt;
&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;q&lt;/span&gt;&lt;span class="p"&gt;!&lt;/span&gt;  &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;don'&lt;span class="k"&gt;t&lt;/span&gt; save the current &lt;span class="k"&gt;changes&lt;/span&gt; &lt;span class="nb"&gt;and&lt;/span&gt; &lt;span class="k"&gt;quit&lt;/span&gt;
&lt;span class="k"&gt;h&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; &lt;span class="k"&gt;left&lt;/span&gt;
&lt;span class="k"&gt;j&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; down
&lt;span class="k"&gt;k&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; &lt;span class="k"&gt;up&lt;/span&gt;
&lt;span class="k"&gt;l&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; &lt;span class="k"&gt;right&lt;/span&gt;
&lt;span class="k"&gt;d&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt;
&lt;span class="k"&gt;u&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;undo&lt;/span&gt; the &lt;span class="k"&gt;changes&lt;/span&gt; made
yy   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;copy&lt;/span&gt; the current &lt;span class="nb"&gt;line&lt;/span&gt;
&lt;span class="k"&gt;p&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="nb"&gt;paste&lt;/span&gt;
&lt;span class="k"&gt;o&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="nb"&gt;insert&lt;/span&gt; &lt;span class="k"&gt;a&lt;/span&gt; &lt;span class="nb"&gt;line&lt;/span&gt; below
O&lt;span class="p"&gt;(&lt;/span&gt;capital&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="nb"&gt;insert&lt;/span&gt; &lt;span class="k"&gt;a&lt;/span&gt; &lt;span class="nb"&gt;line&lt;/span&gt; above
&lt;span class="k"&gt;b&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; backward &lt;span class="p"&gt;(&lt;/span&gt;word by word&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;r&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;replace the current alphabet
&lt;span class="k"&gt;c&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;change&lt;/span&gt; the current alphabet
&lt;span class="k"&gt;w&lt;/span&gt;    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;move&lt;/span&gt; forward &lt;span class="p"&gt;(&lt;/span&gt;word by word&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;cw&lt;/span&gt;   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;change&lt;/span&gt; the current word
rw   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;replace the current word
dw   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt; the word
gg   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;Go &lt;span class="k"&gt;to&lt;/span&gt; &lt;span class="k"&gt;first&lt;/span&gt; &lt;span class="nb"&gt;line&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="k"&gt;number&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;gg &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="sr"&gt;//&lt;/span&gt; Go &lt;span class="k"&gt;to&lt;/span&gt; the specified &lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="k"&gt;number&lt;/span&gt;
G    &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;Go &lt;span class="k"&gt;to&lt;/span&gt; the &lt;span class="k"&gt;last&lt;/span&gt; &lt;span class="nb"&gt;line&lt;/span&gt;
dd   &lt;span class="p"&gt;--&amp;gt;&lt;/span&gt;    &lt;span class="sr"&gt;//&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt; the current &lt;span class="nb"&gt;line&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These are the just the basic commands in vim which are good enough to get started using it. There are lot more commands which also include combination of the above commands. But I don't want to make you overwhelmed and confused while using it. &lt;/p&gt;

&lt;p&gt;I would highly recommend you to practice using the above commands and in order to get started with the vim or neovim and get used to it and make yourself comfortable with it.&lt;/p&gt;

&lt;p&gt;I will also post another article on the vim shortcuts with more advance commands in order to get you to the intermediate level. You  can follow me on &lt;a href="https://twitter.com/pawelsb"&gt;Twitter&lt;/a&gt; to get notified whenever I post it 😊.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vote of Thanks
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this post and I hope you find this post useful. Feel Free to give any suggestions and if you like my work you can follow me on &lt;a href="https://twitter.com/pawelsb"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>productivity</category>
      <category>vim</category>
    </item>
    <item>
      <title>Open Source Programs for Students to participate</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Sun, 26 Sep 2021 15:37:26 +0000</pubDate>
      <link>https://dev.to/pb/open-source-programs-for-students-to-participate-55gm</link>
      <guid>https://dev.to/pb/open-source-programs-for-students-to-participate-55gm</guid>
      <description>&lt;p&gt;Open Source Software is one of the most beautiful creations of humankind. It not only powers the internet and makes our lives easier but also provide immense opportunities for new developers to gain industry level experience right from the comfort of their homes. Isn't that super cool?&lt;/p&gt;

&lt;p&gt;So, in this post, I'll be sharing with you some of the Open Source Programs which you can apply as a student to gain some experience, work with some of the smartest and friendliest minds in the world from the comfort of your home and of course earn a generous  stipend as well.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Disclaimer: &lt;em&gt;The application period for some programs from the list may had been closed but do consider reading it in order to make yourself well prepared with their application process in advance as some of them need prior contributions into the projects&lt;br&gt;
Thanks&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's Go&lt;/p&gt;

&lt;h2&gt;
  
  
  1 Google Summer Of Code (GSOC)
&lt;/h2&gt;

&lt;p&gt;Google Summer Of Code is a mentorship program started by Google back in 2006 in order to bring more people especially the students into the open source communities by acting as a bridge between the two. The program usually starts in the month of January in which Open Source Organizations apply to participate in the program and the results for the selected organizations got announced 40 days after the initial application process.&lt;/p&gt;

&lt;p&gt;Now it's time for the Student's application process as soon as the Organizations results are announced the application process for the students starts after approx. 20 days. and lasts only 15 days. &lt;br&gt;
After the application period is over the organizations reviews the student's applications and selects them based on their proposals.&lt;br&gt;
As soon as you got selected into the program your official GSOC journey begins. Stipend is based on the Purchasing Power Parity of the country you live.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;More at &lt;a href="https://summerofcode.withgoogle.com"&gt;https://summerofcode.withgoogle.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Major League Hacking (MLH) Fellowship
&lt;/h2&gt;

&lt;p&gt;The MLH Fellowship is a remote internship alternative for aspiring technologists. Spend 12 weeks building your skills by collaborating on real-world projects. There's also an optional stipend given to the students given based on their circumstances.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://fellowship.mlh.io"&gt;https://fellowship.mlh.io&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Outreachy Internships
&lt;/h2&gt;

&lt;p&gt;Outreachy is a diversity initiative that provides paid, remote internships to people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living.&lt;/p&gt;

&lt;p&gt;Outreachy provides internships to work on open source. &lt;br&gt;
Key highlights of the internships are:&lt;/p&gt;

&lt;p&gt;💵 Paid - $6,000 USD total internship stipend&lt;br&gt;
🌍 Remote - both interns and mentors work remotely&lt;br&gt;
🕰 3 months - internships run May to August, or December to March&lt;br&gt;
&lt;em&gt;Yes they runs the program twice a year&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://www.outreachy.org"&gt;https://www.outreachy.org&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The X.Org Endless Vacation of Code (EVoC)
&lt;/h2&gt;

&lt;p&gt;This is the X.org's own program similar to the Google Summer Of Code. Interested participants can send their proposal to the Org and the application process is moreover similar to the GSOC. One of the best thing of this program is that you can send your application anytime throughout the year.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://www.x.org/wiki/XorgEVoC"&gt;https://www.x.org/wiki/XorgEVoC&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Julia Seasons of Contributions
&lt;/h2&gt;

&lt;p&gt;The Julia Seasons of Contributions (JSoC) are the seasonal programs for funding and/or mentoring students and other developers to contribute to the open source ecosystem. Click on the below link in order to know more about the programs in which they participates and accepts the students applications.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://julialang.org/jsoc"&gt;https://julialang.org/jsoc&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Google Season Of Docs
&lt;/h2&gt;

&lt;p&gt;Season of Docs provides support for open source projects to improve their documentation and gives professional technical (Don't worry students can also apply) writers an opportunity to gain experience in open source. Together you'll help to the raise awareness of open source, of docs, and of technical writing. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://developers.google.com/season-of-docs"&gt;https://developers.google.com/season-of-docs&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Open Source Promotion Plan
&lt;/h2&gt;

&lt;p&gt;Open Source Promotion Plan encourages everyone to pay close attention to open source software and open source community, aiming to cultivate and explore more outstanding developers.&lt;br&gt;
The Program for the year 2021 is over but you can bookmark this article as of now and can apply the next year.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://summer.iscas.ac.cn/#/?lang=en"&gt;https://summer.iscas.ac.cn/#/?lang=en&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Redox OS Summer of Code
&lt;/h2&gt;

&lt;p&gt;The Redox OS Summer of Code is the primary use of donations to the Redox OS project. Students are selected who have already demonstrated a desire and ability to contribute to Redox OS. If you are interested, you must join the Redox OS chat and contribute to Redox OS projects.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://www.redox-os.org/rsoc"&gt;https://www.redox-os.org/rsoc&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Hyperledger Mentorship Program
&lt;/h2&gt;

&lt;p&gt;The Hyperledger mentorship program is aimed at creating a structured hands-on learning opportunity for new developers who may otherwise lack the opportunity to gain exposure to Hyperledger open source development and entry to the technical community. It also provides a more defined path for Hyperledger to connect with the next generation of student developers to inject more talent into its development community.&lt;/p&gt;

&lt;p&gt;Benefits for Student Interns&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Mentees gain exposure to real-world software development by working closely with active developers in the community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mentees get introduced to open source development infrastructure, tooling, and culture.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mentees have the hands-on opportunity to do work related to their academic and professional interests and to further the pursuit of those interests.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mentees develop close working relationships with open source professionals and industry business leaders to expand their professional network.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://wiki.hyperledger.org/display/INTERN/Hyperledger+Mentorship+Program"&gt;https://wiki.hyperledger.org/display/INTERN/Hyperledger+Mentorship+Program&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Linux Kernel Mentorship Program
&lt;/h2&gt;

&lt;p&gt;The Linux Kernel Mentorship Program offers a structured remote learning opportunity to aspiring Linux Kernel developers. Experienced Linux Kernel developers and maintainers mentor volunteer mentees and help them become contributors to the Linux Kernel. The Linux Kernel Mentorship Program includes three 12-week, full-time volunteer mentee positions, and two 24-week part-time volunteer mentee positions each year.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Website: &lt;a href="https://wiki.linuxfoundation.org/lkmp"&gt;https://wiki.linuxfoundation.org/lkmp&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Note:
&lt;/h2&gt;

&lt;p&gt;I'll be sharing more useful resources like this, So do consider following me on twitter &lt;a href="https://twitter.com/pawelsb"&gt;@pawelsb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;THANKS FOR READING 😊 HAPPY CODING&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>1. Introduction to ReactJS and Why we should use it</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Wed, 15 Sep 2021 06:26:52 +0000</pubDate>
      <link>https://dev.to/pb/1-introduction-to-reactjs-and-why-we-should-use-it-5e8a</link>
      <guid>https://dev.to/pb/1-introduction-to-reactjs-and-why-we-should-use-it-5e8a</guid>
      <description>&lt;p&gt;First of all thanks everyone for showing your support and subscribing to the series. I appreciate you all.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If in case you haven't read the previous post, I encourage you to read it. I'll be very helpful for you.&lt;/em&gt;&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/pb" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F618537%2F3cd782cd-1a3a-4926-9eb6-1e55fba23a61.jpg" alt="pb"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/pb/reactified-learn-reactjs-the-simple-way-a2o" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;REACTIFIED: Learn ReactJS the simple way&lt;/h2&gt;
      &lt;h3&gt;Pawel ・ Sep 10 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Let's get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is React?
&lt;/h2&gt;

&lt;p&gt;Definition on ReactJS official site:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A JavaScript library for building user interfaces&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h3&gt;
  
  
  What is a Library?
&lt;/h3&gt;

&lt;p&gt;A JavaScript Library is a collection of pre-written JavaScript code which you can use to develop JavaScript based applications faster with scalable and maintainble code.&lt;/p&gt;

&lt;p&gt;Whenever we install an npm package what do they contains? &lt;br&gt;
They contains these pre-written JavaScript Code.&lt;/p&gt;

&lt;p&gt;The Typical Structure of any npm package includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Number of Pre-Written JavaScript files (which together make the package or a library).&lt;/li&gt;
&lt;li&gt;A package.json file (in order to incorporate other npm packages as dependancies in order to work smoothly).&lt;/li&gt;
&lt;li&gt;Readme.md File &lt;/li&gt;
&lt;li&gt;And a LICENSE file&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  
  
  What is User Interfaces?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A User Interface is the point at which human users interact with a website or application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So in the simplest way:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;React is can be defined as:&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A collection of files with pre-written JavaScript Code which forms a Library Called ReactJS which we can use to build interactive User Interfaces.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why do need React? What are the benefits of using it?
&lt;/h2&gt;

&lt;p&gt;Here are some of its benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's &lt;strong&gt;Flexible&lt;/strong&gt; which means you can use it on a vast variety of platforms to build interactive and beautiful user interfaces. You can use React to build WebApps, Mobile Apps (using React Native), Static Sites using (Gatsby)and Do Server Side Rendering using Next.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;as they says&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Learn React Once and Write Everywhere" - Reactjs.org&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It's &lt;strong&gt;Fast and Scalabe&lt;/strong&gt; which means you can do more with less efforts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It's &lt;strong&gt;modular&lt;/strong&gt; which means you gonna have a nice developer experience while writing the code in React.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Huge Community&lt;/strong&gt; which means 100s of thousands of heads to   answer your query (In most cases the problems you came across has been already faced and solved by someone on the internet). &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So this was the introduction of ReactJS and why we should use it. We'll be diving much deeper into React in the coming blogposts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Useful Tips:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Visualize what you read. In order make concepts clear and to make sure you never forget them you have transfer the information into your subconscious brain and one way of doing it is visualizing the things what you read.&lt;/li&gt;
&lt;li&gt;When I say ReactJS is a library formed by a collection of files having JavaScript Code in it, visualize it as a bunch of  files in a library which only has JavaScript Code in it and nothing else and all of them are working together with just one goal i.e. to build interactive User Interfaces for all the platforms. I know this may sound silly to you at this time but the long term effect of this is that you'll never gonna forget what is a JavaScript library or any library in general.&lt;/li&gt;
&lt;li&gt;With time to time I'll be giving you these tips in order to make sure you never forget the concepts.&lt;/li&gt;
&lt;li&gt;Don't worry we'll be using scientifically proven methods only to make learning more productive and enjoying without getting overwhelmed by the content.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Note:
&lt;/h3&gt;

&lt;p&gt;In order to get notified for the new post in the series follow me on Twitter &lt;a href="https://twitter.com/pawelsb" rel="noopener noreferrer"&gt;@pawelsb&lt;/a&gt;. I'll be sharing more useful resources about ReactJS as well as other resources which will help you become more productive, knowledgeable and an overall better developer.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;THANKS FOR INVESTING YOUR TIME READING THIS POST😊 I APPRECIATE IT ✨&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>REACTIFIED: Learn ReactJS the simple way</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Fri, 10 Sep 2021 08:18:39 +0000</pubDate>
      <link>https://dev.to/pb/reactified-learn-reactjs-the-simple-way-a2o</link>
      <guid>https://dev.to/pb/reactified-learn-reactjs-the-simple-way-a2o</guid>
      <description>&lt;p&gt;If you're a person who prefers reading over watching videos for learning new skills and technologies then this blog series is for you. In this &lt;strong&gt;Reactified&lt;/strong&gt; blog series we'll be learning ReactJS from scratch to the advanced level.&lt;/p&gt;

&lt;p&gt;If you're a beginner or an intermediate React Developer or learning ReactJS as your next skill then this series will surely gonna help you for that, clearing your concepts about ReactJS and it's Design Principles.&lt;/p&gt;




&lt;p&gt;Let's discuss what to expect&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Reactified Series is a ReactJS blog series which will cover all the concepts which you need to become a professional Reactjs Developer and an overall better ReactJS Developer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Blogposts in this series is divided topic-wise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Each Blog will describe one topic, if the topic is too short then it'll contain two short topics at max.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'll try by best to simplify the topics as much as I can in order to make it more engaging and comfortable for you.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;With that being said, let's meet in the next blog of &lt;strong&gt;Reactified: Learn ReactJS the simple way.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Note:
&lt;/h3&gt;

&lt;p&gt;In order to get notified whenever I post a new article for &lt;strong&gt;Reactified&lt;/strong&gt; and follow along with the series follow me on twitter &lt;a href="https://twitter.com/pawelsb"&gt;@pawelsb&lt;/a&gt; . I'll be sharing more useful resources about ReactJS as well as other resources which will help you become more productive, knowledgeable and an overall better developer. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;THANKS FOR READING 😊 I APPRECIATE YOUR TIME✨&lt;/em&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
    </item>
    <item>
      <title>10 GitHub repositories to become a better JavaScript Developer</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Fri, 09 Jul 2021 07:56:34 +0000</pubDate>
      <link>https://dev.to/pb/10-github-repositories-which-will-help-you-to-become-a-better-javascript-developer-5om</link>
      <guid>https://dev.to/pb/10-github-repositories-which-will-help-you-to-become-a-better-javascript-developer-5om</guid>
      <description>&lt;p&gt;With the introduction of libraries and Frameworks like ReactJS, VueJS, Angular, SvelteJS and much more and the runtime environments like Node.js and Deno the demand for JavaScript Developers has exploded. From seed startups to the big tech companies, everyone is using JavaScript in one or the other form. &lt;/p&gt;

&lt;p&gt;Be it a library like ReactJS or complex Frameworks like Angular or runtime environments like Node.js and Deno. They all have one thing in common that they can be used to write JavaScript code in a more structured, robust and scalable manner which can be easy to maintain, debug and scale .&lt;/p&gt;

&lt;p&gt;With that being said it becomes more important for you as a JavaScript Developer to level up your skills with the best practices and concepts regarding it. &lt;/p&gt;

&lt;p&gt;In this post I've included 10 such GitHub repositories which will help you to become a better JavaScript Developer and will also help you to follow best practices, clear your concepts and write scalable and clean code.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://github.com/airbnb/javascript" rel="noopener noreferrer"&gt;JavaScript Style Guide&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 111K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/airbnb" rel="noopener noreferrer"&gt;
        airbnb
      &lt;/a&gt; / &lt;a href="https://github.com/airbnb/javascript" rel="noopener noreferrer"&gt;
        javascript
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      JavaScript Style Guide
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository includes style guides for JavaScript, React, CSS-in-JavaScript,CSS &amp;amp; SaSS and Ruby. It is having the code snippets with good and bad practices followed the explanations and references which will help you to write more robust,clean and error free code. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://github.com/goldbergyoni/nodebestpractices" rel="noopener noreferrer"&gt;Node Best Practices&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 68K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/goldbergyoni" rel="noopener noreferrer"&gt;
        goldbergyoni
      &lt;/a&gt; / &lt;a href="https://github.com/goldbergyoni/nodebestpractices" rel="noopener noreferrer"&gt;
        nodebestpractices
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      ✅  The Node.js best practices list (July 2024)
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository is a summary and curation of the top-ranked content on Node.js best practices. It has the largest compilation and it is growing every week. Currently more than 80 best practices, style guides and architectural tips are presented.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://github.com/trekhleb/javascript-algorithms" rel="noopener noreferrer"&gt;JavaScript Algorithms&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 113K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/trekhleb" rel="noopener noreferrer"&gt;
        trekhleb
      &lt;/a&gt; / &lt;a href="https://github.com/trekhleb/javascript-algorithms" rel="noopener noreferrer"&gt;
        javascript-algorithms
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository contains JavaScript based examples of many popular algorithms and data structures.&lt;br&gt;
Each algorithm and data structure has its own separate README with related explanations and links for further reading (including ones to YouTube videos).&lt;/p&gt;
&lt;h2&gt;
  
  
  4. &lt;a href="https://github.com/lydiahallie/javascript-questions" rel="noopener noreferrer"&gt;JavaScript Questions&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 35K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/lydiahallie" rel="noopener noreferrer"&gt;
        lydiahallie
      &lt;/a&gt; / &lt;a href="https://github.com/lydiahallie/javascript-questions" rel="noopener noreferrer"&gt;
        javascript-questions
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A long list of (advanced) JavaScript questions, and their explanations ✨  
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository contains a long list of (advanced) JavaScript questions along with their explanations and gets frequently updated.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://github.com/leonardomso/33-js-concepts" rel="noopener noreferrer"&gt;33 JS Concepts&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 41K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/leonardomso" rel="noopener noreferrer"&gt;
        leonardomso
      &lt;/a&gt; / &lt;a href="https://github.com/leonardomso/33-js-concepts" rel="noopener noreferrer"&gt;
        33-js-concepts
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      📜 33 JavaScript concepts every developer should know.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository is a collection of articles and books on the 33 JavaScript Concepts which every JavaScript Developer should know in order to have an in-depth knowledge of the language and its working.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;a href="https://github.com/ryanmcdermott/clean-code-javascript" rel="noopener noreferrer"&gt;Clean Code JavaScript&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 53K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ryanmcdermott" rel="noopener noreferrer"&gt;
        ryanmcdermott
      &lt;/a&gt; / &lt;a href="https://github.com/ryanmcdermott/clean-code-javascript" rel="noopener noreferrer"&gt;
        clean-code-javascript
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🛁 Clean Code concepts adapted for JavaScript
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository consists of the software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript. It's a guide for producing readable, reusable and refactorable software in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. &lt;a href="https://github.com/getify/You-Dont-Know-JS" rel="noopener noreferrer"&gt;You Don't Know JS&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 142K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/getify" rel="noopener noreferrer"&gt;
        getify
      &lt;/a&gt; / &lt;a href="https://github.com/getify/You-Dont-Know-JS" rel="noopener noreferrer"&gt;
        You-Dont-Know-JS
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A book series on JavaScript. @YDKJS on twitter.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This is a series of books diving deep into the core mechanisms of the JavaScript language. The 2nd edition of the series is currently in progress, while the first edition is available &lt;a href="https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/README.md" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8. &lt;a href="https://github.com/sorrycc/awesome-javascript" rel="noopener noreferrer"&gt;Awesome JavaScript&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 24K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/sorrycc" rel="noopener noreferrer"&gt;
        sorrycc
      &lt;/a&gt; / &lt;a href="https://github.com/sorrycc/awesome-javascript" rel="noopener noreferrer"&gt;
        awesome-javascript
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🐢 A collection of awesome browser-side  JavaScript libraries, resources and shiny things.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;A collection of awesome browser-side JavaScript libraries and resources. This repository contains a list of variety of frameworks, template engines, articles and post, documentations, reactive &amp;amp; functional programming and much more which will increase your resourcefulness and might also help you to choose the tech stack for your next projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. &lt;a href="https://github.com/30-seconds/30-seconds-of-code" rel="noopener noreferrer"&gt;30 seconds of Code&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 79K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Chalarangelo" rel="noopener noreferrer"&gt;
        Chalarangelo
      &lt;/a&gt; / &lt;a href="https://github.com/Chalarangelo/30-seconds-of-code" rel="noopener noreferrer"&gt;
        30-seconds-of-code
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Short code snippets for all your development needs
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository contains a huge collection of short JavaScript code snippets which can be super useful while working on your JavaScript projects thus increasing your efficiency and knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. &lt;a href="https://github.com/elsewhencode/project-guidelines" rel="noopener noreferrer"&gt;Project Guidelines&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;GitHub🌟: 24K+ &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/elsewhencode" rel="noopener noreferrer"&gt;
        elsewhencode
      &lt;/a&gt; / &lt;a href="https://github.com/elsewhencode/project-guidelines" rel="noopener noreferrer"&gt;
        project-guidelines
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A set of best practices for JavaScript projects
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This repository contains a set of best practices for JavaScript projects which will develop your skills to follow the best practices this skill is super useful and important for any developer and will definitely help you to stand apart from the other developers. Following the best practices in your JavaScript projects will definitely increase your chance of being accepted for a job position.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/pawelborkar/awesome-repos" rel="noopener noreferrer"&gt;Awesome Repos&lt;/a&gt;
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pawelborkar" rel="noopener noreferrer"&gt;
        pawelborkar
      &lt;/a&gt; / &lt;a href="https://github.com/pawelborkar/awesome-repos" rel="noopener noreferrer"&gt;
        awesome-repos
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A curated list of GitHub Repositories full of FREE Resources.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Awesome Repos has a number of resourceful repositories packed in just one place. All you have to do is just visit this repository. The repository is still growing and welcomes PRs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects" rel="noopener noreferrer"&gt;Awesome JavaScript Projects&lt;/a&gt;
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Vishal-raj-1" rel="noopener noreferrer"&gt;
        Vishal-raj-1
      &lt;/a&gt; / &lt;a href="https://github.com/Vishal-raj-1/Awesome-JavaScript-Projects" rel="noopener noreferrer"&gt;
        Awesome-JavaScript-Projects
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This Repository contain awesome vanilla JavaScript projects. 
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;If you are a beginner or new to JavaScript and want to improve your JavaScript skills by building projects then this repository can be super helpful for you. It contains a collection of projects written in vanilla JavaScript (with NO FRAMEWORKS &amp;amp; LIBRARIES INVOLVED). &lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Vote Of Thanks
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this post and I hope you find these repositories as useful as I do and will help you to become better JavaScript developer. Feel Free to give any suggestions and if you like my work you can follow me on &lt;a href="https://twitter.com/pawelsb" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>github</category>
    </item>
    <item>
      <title>Introducing GoldFish : The minimalist Theme</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Tue, 06 Jul 2021 14:25:48 +0000</pubDate>
      <link>https://dev.to/pb/introducing-goldfish-the-minimalist-theme-57km</link>
      <guid>https://dev.to/pb/introducing-goldfish-the-minimalist-theme-57km</guid>
      <description>&lt;p&gt;I would like to thanks for all of you for the immense support you gave to the JellyFish Theme. As it was a success with 6,900 installs and counting. I would like to address some of it's limitations. Since it is a completely dark theme it might be not appealing for the matte loving audience and to address this issue I've came up with idea of GoldFish: The minimalist Theme for visual studio code.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Some quick shots of it&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;GoldFish Installation Page&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LFP-hcc4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7wz0d4xjopro8ajpag4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LFP-hcc4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k7wz0d4xjopro8ajpag4.png" alt="Installation Page GoldFish" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Link:&lt;/em&gt; &lt;a href="https://marketplace.visualstudio.com/items?itemName=PawelBorkar.goldfish"&gt;https://marketplace.visualstudio.com/items?itemName=PawelBorkar.goldfish&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IJdeGP_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IJdeGP_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview1.png" alt="Preview" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Terminal Accent&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZvNCCRJJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZvNCCRJJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview2.png" alt="Preview" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Highlighted Selection&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_GlU8vVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_GlU8vVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview3.png" alt="Preview" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Using Multiple columns in vscode with the GoldFish Theme&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--asRoVsKz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--asRoVsKz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview4.png" alt="Preview" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mpjooER---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mpjooER---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview5.png" alt="Preview" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Repository&lt;/em&gt; &lt;a href="https://github.com/pawelborkar/vscode-goldfish"&gt;GoldFish&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/pawelborkar"&gt;
        pawelborkar
      &lt;/a&gt; / &lt;a href="https://github.com/pawelborkar/vscode-goldfish"&gt;
        vscode-goldfish
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      GoldFish: The minimalist theme
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
&lt;h1&gt;
GoldFish&lt;/h1&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-GoldFish/master/assets/goldfish.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bzXb9UwD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-GoldFish/master/assets/goldfish.png" height="190px" width="190px"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;Wanna give a token of Thanks and Support Me?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/borkar" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/28aae05a0fba45679e8e27d90609601e249b64a5fe30dfef05495de4f4e318d4/68747470733a2f2f63646e2e6275796d6561636f666665652e636f6d2f627574746f6e732f76322f64656661756c742d79656c6c6f772e706e67" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Theme your code editor will love&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/eb9910a5d2b1e042cd1d2a0639e5cca130775191a17d8f5fd156822ddcbea2c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5468656d652d476f6c64466973682d253233666630303535"&gt;&lt;img src="https://camo.githubusercontent.com/eb9910a5d2b1e042cd1d2a0639e5cca130775191a17d8f5fd156822ddcbea2c3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5468656d652d476f6c64466973682d253233666630303535" alt="GoldFish"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/24adf43c237970e2b40ebb65580b4f563880fcf6edb64891e1c8a0ec4d818068/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f706177656c626f726b61722f7673636f64652d476f6c64466973683f636f6c6f723d253233666630303535266c6162656c3d4c6963656e7365266c6f676f3d4c6963656e7365267374796c653d666c6174"&gt;&lt;img src="https://camo.githubusercontent.com/24adf43c237970e2b40ebb65580b4f563880fcf6edb64891e1c8a0ec4d818068/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f706177656c626f726b61722f7673636f64652d476f6c64466973683f636f6c6f723d253233666630303535266c6162656c3d4c6963656e7365266c6f676f3d4c6963656e7365267374796c653d666c6174" alt="GitHub"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/4346e7ab88bb56f06ecb224890db5cfcf1d0010668351289a9060f4fef1b54c9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f492532302545322539442541342532302d4f70656e536f757263652d253233666630303535"&gt;&lt;img src="https://camo.githubusercontent.com/4346e7ab88bb56f06ecb224890db5cfcf1d0010668351289a9060f4fef1b54c9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f492532302545322539442541342532302d4f70656e536f757263652d253233666630303535" alt="Message"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/7c232134243701cde5be6673efa94afa3c3603f7bca507a62a96ca18d9f05699/68747470733a2f2f696d672e736869656c64732e696f2f76697375616c2d73747564696f2d6d61726b6574706c6163652f762f706177656c626f726b61722e676f6c64666973683f636f6c6f723d253233666630303535266c6162656c3d4c6174657374266c6f676f3d4c6174657374266c6f676f436f6c6f723d253233666630303535"&gt;&lt;img src="https://camo.githubusercontent.com/7c232134243701cde5be6673efa94afa3c3603f7bca507a62a96ca18d9f05699/68747470733a2f2f696d672e736869656c64732e696f2f76697375616c2d73747564696f2d6d61726b6574706c6163652f762f706177656c626f726b61722e676f6c64666973683f636f6c6f723d253233666630303535266c6162656c3d4c6174657374266c6f676f3d4c6174657374266c6f676f436f6c6f723d253233666630303535" alt="Visual Studio Marketplace Version"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview1.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IJdeGP_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview1.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview2.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZvNCCRJJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview2.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview3.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_GlU8vVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview3.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview4.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--asRoVsKz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview4.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview5.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mpjooER---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/pawelborkar/vscode-goldfish/master/assets/preview5.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;

&lt;br&gt;

&lt;h1&gt;
Installation&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;em&gt;Extensions&lt;/em&gt; from the Activity Bar in VS Code. &lt;code&gt;View → Extensions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Search for &lt;code&gt;GoldFish&lt;/code&gt;, choose "GoldFish Theme" by &lt;em&gt;Pawel Borkar&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;em&gt;Install&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Navigate to File &amp;gt; Preferences &amp;gt; Color Theme &amp;gt;&lt;code&gt;GoldFish&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br&gt;
&lt;h2&gt;
Author&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/pawelborkar"&gt;Pawel Borkar&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;h1&gt;
License&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/pawelborkar/vscode-goldfishLICENSE"&gt;Apache-2.0 License&lt;/a&gt;&lt;/p&gt;
&lt;br&gt;
&lt;p&gt;&lt;em&gt;Copyright (c) 2021 Pawel Borkar&lt;/em&gt;&lt;/p&gt;

&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/pawelborkar/vscode-goldfish"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h2&gt;
  
  
  Vote of Thanks
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this post and feel free to use the source code for your own projects and to publish your own theme. Create a PR suggesting any changes/improvements I would love to merge them.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you like my work then you can follow me on twitter &lt;a href="https://twitter.com/pawelsb"&gt;@pawelsb&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Git Squash Simplified</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Fri, 02 Jul 2021 06:19:54 +0000</pubDate>
      <link>https://dev.to/pb/git-squash-simplified-3ba1</link>
      <guid>https://dev.to/pb/git-squash-simplified-3ba1</guid>
      <description>&lt;p&gt;If you have just started as an open source contributor or planning to become one, you might came across the open source projects which makes you to squash all the commits into a single one before or after opening a pull request.&lt;/p&gt;

&lt;p&gt;And as a beginner, It might feel challenging to you as the fear of messing up with other's commits can be there but all of this can be eliminated by using correct tools and extensions.&lt;/p&gt;

&lt;p&gt;In this post I'll help you to get over this fear will also help you to master and get comfortable with squashing commits.&lt;/p&gt;

&lt;p&gt;Let's start with the definition itself.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is squashing commits in git means?
&lt;/h2&gt;

&lt;p&gt;To "squash" in Git means to combine multiple commits into a single one.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When to squash the commits?
&lt;/h2&gt;

&lt;p&gt;You can squash commits at any point in the time but it's highly recommended to squash the commits while there's a correction or suggestion being done and you don't want to add an extra commit into the git history stating the corrections you've made.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Which tools should I use to make it more easier and errorless?
&lt;/h2&gt;

&lt;p&gt;I would recommend using &lt;strong&gt;VSCode&lt;/strong&gt; as your code editor with the &lt;strong&gt;GitLens&lt;/strong&gt; extension installed. In this tutorial I'll be using the same.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;em&gt;So Let's get started!&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. First you have to change your default code editor for Git.
&lt;/h3&gt;

&lt;p&gt;Git comes with nano as its default code editor, In order to make use of the GitLens extension you've to change the Git's defaut code editor to Visual Studio Code.&lt;br&gt;
To do so enter the command in the terminal&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

 git config --global core.editor "code --wait"


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
This will change your default code editor in git from nano to vscode.&lt;/p&gt;

&lt;p&gt;Now you're all set.&lt;/p&gt;

&lt;p&gt;Let's say you have made a correction to your code and committed the changes. After doing so let's get the overview of the commits you want to squash.&lt;br&gt;
To enlist the commits type below command in the terminal (Make sure you're in the same directory/git repository you want the squash the commits in.)&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git log --oneline


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Here's my output&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9hjfe2pro733ct0qak9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr9hjfe2pro733ct0qak9.PNG" alt="Git Log"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Theme&lt;/em&gt; :- &lt;a href="https://marketplace.visualstudio.com/items?itemName=PawelBorkar.jellyfish" rel="noopener noreferrer"&gt;JellyFish&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Now Let's squash those commits&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In order to squash the commits we don't have any explicit command like &lt;code&gt;git squash&lt;/code&gt; or anything like that in git rather we use the rebase method to achieve the squashing of commits.&lt;/p&gt;

&lt;p&gt;So, To squash the commits you made type in the command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git rebase -i HEAD~N


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;where &lt;strong&gt;N&lt;/strong&gt; is the number of commits you want to squash&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;I'll be squashing recent 2 commits so that's how my terminal will look like&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkrf5p2xusvhz7m4no8n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkrf5p2xusvhz7m4no8n.jpg" alt="Git Rebase"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;And After hitting the Enter Key&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hk75xys4gmfenoxqw32.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hk75xys4gmfenoxqw32.PNG" alt="RebaseWindow"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Theme&lt;/em&gt; :- &lt;a href="https://marketplace.visualstudio.com/items?itemName=PawelBorkar.jellyfish" rel="noopener noreferrer"&gt;JellyFish&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select &lt;em&gt;squash&lt;/em&gt; from the dropdown for the commits you want to squash&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmbqe5l56bkuru97zlsf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmbqe5l56bkuru97zlsf.png" alt="SquashDropdown"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and select the &lt;em&gt;reword&lt;/em&gt; from the dropdown in order to edit the commit message while squashing.&lt;/p&gt;

&lt;p&gt;After selecting the options your vscode window may look like this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi9h6e005lsxlbzm7rrv.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhi9h6e005lsxlbzm7rrv.PNG" alt="Reword"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Theme&lt;/em&gt; :- &lt;a href="https://marketplace.visualstudio.com/items?itemName=PawelBorkar.jellyfish" rel="noopener noreferrer"&gt;JellyFish&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3uyb39ehbp5xi56sheo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3uyb39ehbp5xi56sheo.jpg" alt="Start Rebase"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's start the rebasing by hitting on &lt;em&gt;Start Rebase&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
As soon as you hit the Start Rebase button a new commit message tab will open in the editor. This is why we've set  vscode as the default code editor for the Git in order to get this tab open up in the vscode itself which will further make it more easier to edit the commit messages without any hussle of remembering the shortcut keys for the nano code editor this will completely eliminate those steps making your workflow more optimized and efficient.&lt;/p&gt;

&lt;p&gt;Since we've chose the reword option for the previous commit it will ask us to edit the commit message for that commit message.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F820gg5l6dhqqiwr3z2hj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F820gg5l6dhqqiwr3z2hj.jpg" alt="Reword Commit Message"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will be keeping it as it is, so press Ctrl+S or Cmd+S (MacOS  users)&lt;br&gt;
As soon as you save and close this tab the new rebase commit tab will open which will again confirm the messages you wanted to have in the squashed commit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481nad3e1uryrktmloxo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F481nad3e1uryrktmloxo.jpg" alt="Commit Message Rebase"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again I will be keeping it as it is, so press Ctrl+S or Cmd+S (MacOS  users) and close the tab.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Hurray! You've squashed the commits. Congrats🎉&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1b5gegfw0nojkjrubykl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1b5gegfw0nojkjrubykl.jpg" alt="squased output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can be seen by typing in the following command in the terminal again&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

git log --oneline


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;and here's the output&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i1nfpmq1um12oyq5t0x.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i1nfpmq1um12oyq5t0x.jpg" alt="Squashed"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see the &lt;em&gt;Fix Bugs&lt;/em&gt; commit has got squashed and as we haven't changed the previous commit it remained same. And when  you type &lt;code&gt;git log&lt;/code&gt; it will show you both the messages remembered that second commit message tab? It came from there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vote of Thanks
&lt;/h2&gt;

&lt;p&gt;Thank you so much for reading this post and I hope this post will help you to squash your commits even more easier and faster. Feel Free to give any suggestions and if you like my work you can connect with me via &lt;a href="https://twitter.com/pawelsb" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://linkedin.com/in/pawelborkar" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have a great day 😊&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>git</category>
    </item>
    <item>
      <title>Introducing JellyFish - Theme your vscode will love</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Sun, 30 May 2021 18:14:47 +0000</pubDate>
      <link>https://dev.to/pb/introducing-jellyfish-theme-your-vscode-will-love-22jm</link>
      <guid>https://dev.to/pb/introducing-jellyfish-theme-your-vscode-will-love-22jm</guid>
      <description>&lt;p&gt;From the day one of using visual studio code I always had a thought of designing my own theme one day. I wanted to customize each bit of its visuals but never had that much time to do so. A week earlier I started working on it as my side project and here I am writing this blog about its initial release. &lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;JellyFish Installation Page&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou812zizcq07vzuwh04y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou812zizcq07vzuwh04y.png" alt="JellyPage"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Link:&lt;/em&gt; &lt;a href="https://marketplace.visualstudio.com/items?itemName=PawelBorkar.jellyfish" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=PawelBorkar.jellyfish&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
If you're a much into the design as like me you probably thought of designing your own custom vscode theme for yourself as well as for the other developers it feels great when someone likes and uses your work and on top of that offers suggestions, corrections, fixes and improvements that's the beauty of open source and I love it.  &lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma8zwwx89wczkfi1sxod.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fma8zwwx89wczkfi1sxod.PNG" alt="Preview"&gt;&lt;/a&gt;  &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Using Multiple columns in vscode with the JellyFish Theme&lt;/em&gt; &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw00r1oxtyibjfn84rejl.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw00r1oxtyibjfn84rejl.PNG" alt="Multiple Columns"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Terminal Accent&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2y1a1mzu08ggzu4gzvel.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2y1a1mzu08ggzu4gzvel.PNG" alt="Terminal"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Repository Link (GitHub)&lt;/em&gt; : &lt;a href="https://github.com/pawelborkar/vscode-jellyfish#jellyfish" rel="noopener noreferrer"&gt;JellyFish&lt;/a&gt;  &lt;br&gt; &lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Vote of Thanks
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Thank you so much for reading this post and feel free to use the source code for your own projects and to publish your own theme. Create a PR suggesting any changes/improvements I would love to merge them.&lt;/em&gt; &lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you like my work then connect with me on &lt;a href="https://linkedin.com/in/pawelborkar" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt; and follow me &lt;a href="https://twitter.com/paweldiaries" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>vscode</category>
    </item>
    <item>
      <title>10 GitHub Repositories every Developer should know</title>
      <dc:creator>Pawel</dc:creator>
      <pubDate>Fri, 23 Apr 2021 13:11:37 +0000</pubDate>
      <link>https://dev.to/pb/10-github-repositories-every-developer-should-know-ngm</link>
      <guid>https://dev.to/pb/10-github-repositories-every-developer-should-know-ngm</guid>
      <description>&lt;p&gt;Other than being the home for some of the most interesting Open Source Projects on the internet, GitHub is also a great place for sharing resources of all kinds, from free books to APIs, from roadmaps to project ideas and to the projects.&lt;br&gt;
But with sheer mass it becomes difficult to find the most useful repositories which you may think doesn't exists.&lt;br&gt;
So I have curated this list of ten fabulous repositories that provide a great value for all web and software developers.&lt;/p&gt;

&lt;p&gt;All of them will add value to you and help you to become a better web or software developer or both.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Free Programming Books
&lt;/h1&gt;

&lt;p&gt;GitHub🌟: 183K+ &lt;/p&gt;

&lt;p&gt;Offered in a variety of different languages &lt;a href="https://github.com/EbookFoundation/free-programming-books"&gt;Free Programming Books&lt;/a&gt; is no doubt one of the most popular and starred repositories on GitHub. Even though it has "Books" in its name, it offers a lot more than that. It contains sections of free online courses, interactive programming resources, problem sets and competitive programming, programming playgrounds and podcasts and cheat sheets for almost every programming language. &lt;/p&gt;

&lt;p&gt;But has a major collection of programming books which makes it an "Awesome" collection.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Developer Roadmap
&lt;/h1&gt;

&lt;p&gt;GitHub🌟: 155K+&lt;/p&gt;

&lt;p&gt;Got stuck? or need some advice for getting started to your developer journey? then this &lt;a href="https://github.com/kamranahmedse/developer-roadmap"&gt;repository&lt;/a&gt; will guide you through. It has all the technologies you need to know if you want to become a Frontend or Backend or DevOps Engineer. It has all the alternative technologies from which can choose whatever suits your need or comfort.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3. OSSU Computer Science
&lt;/h1&gt;

&lt;p&gt;GitHub🌟:81K+&lt;/p&gt;

&lt;p&gt;If you don't have a computer science background or degree and want the equivalent knowledge same as a Computer Science degree then this &lt;a href="https://github.com/ossu/computer-science"&gt;repository&lt;/a&gt; is for you. It's for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines. It offers all the resources to help you become a self-taught computer science graduate equivalent and has a worldwide community of learners.&lt;/p&gt;

&lt;p&gt;It is designed according to the degree requirements of undergraduate computer science majors, minus general education (non-CS) requirements, as it is assumed most of the people following this curriculum are already educated outside the field of CS. The courses themselves are among the very best in the world, often coming from Harvard, Princeton, MIT, etc., but specifically chosen to meet the following criteria.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Awesome
&lt;/h1&gt;

&lt;p&gt;GitHub🌟: 158K+&lt;/p&gt;

&lt;p&gt;As the name describes it has an &lt;a href="https://github.com/sindresorhus/awesome"&gt;Awesome&lt;/a&gt; lists of all kinds of interesting topics ranging from computer science to media, from gaming to business and the list goes on.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  5. Build your own X
&lt;/h1&gt;

&lt;p&gt;GitHub🌟: 103K+&lt;/p&gt;

&lt;p&gt;If you are a person who believes in the principle of "Learning by doing" then this &lt;a href="https://github.com/danistefanovic/build-your-own-x"&gt;repository&lt;/a&gt; has the potential of becoming your daily stop at GitHub. It has links to the resources which help you build your own Cryptocurrency, Database, Bots, BitTorrent Clients, and many more.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  6. Coding Interview University
&lt;/h1&gt;

&lt;p&gt;Github 🌟: 165K+&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jwasham/coding-interview-university"&gt;Coding Interview University&lt;/a&gt; has a multi-month study plan to become a software engineer for a large tech company like Google, Amazon, Facebook, Apple, or any other software company. It offers advice on how to study to become a reliability engineer or operations engineer. It also has links to the flashcards for quickly brushing up your knowledge and stay updated originally created by the author of the repository who landed a job at Amazon. And there are much more success stories like that.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  7. Public Apis
&lt;/h1&gt;

&lt;p&gt;GitHub🌟: 118K+&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/public-apis/public-apis"&gt;Public Apis&lt;/a&gt; has a collective list of all the free APIs available on the internet to use in your personal or professional projects. It offers a wide range of Application Programming interfaces (APIs) such as business, anime, animals, news, finance, games, and more.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  8. Tech Interview Handbook
&lt;/h1&gt;

&lt;p&gt;GitHub🌟:51K+&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/yangshun/tech-interview-handbook"&gt;Tech Interview Handbook&lt;/a&gt; has all the materials that you need to crack a Tech Interview. It has a variety of material regarding How to prepare for coding interviews, Good questions to ask your interviewer, Helpful tips on resume, and many more.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  9. System Design Primer
&lt;/h1&gt;

&lt;p&gt;GitHub🌟:127K+&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/donnemartin/system-design-primer"&gt;System Design Primer&lt;/a&gt; is a great repository for software engineers that will help you learn how to design large-scale systems. That will then help you become a better engineer. The repo provides an organized collection of resources for this broad topic.&lt;br&gt;
Because system design often is a required component of the technical interview process at many companies, this repository can also help you to prepare for those interviews with a study guide, advice on how to approach an interview, interview questions with solutions, Anki flashcard sets for interactive learning, and interactive coding challenges.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  10. Design Resources for Developers
&lt;/h1&gt;

&lt;p&gt;GitHub🌟:25K+&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bradtraversy/design-resources-for-developers"&gt;This repository&lt;/a&gt; has a curated list of design and UI resources from stock photos, web templates, CSS frameworks, UI libraries, tools and much more, available for free to use in your projects and applications. It offers all the template stuff you need to get started with your web development projects.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Bonus&lt;/em&gt;: &lt;/p&gt;

&lt;h2&gt;
  
  
  Awesome Repos
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/pawelborkar/awesome-repos"&gt;Awesome Repos&lt;/a&gt; is just a few weeks old but the way it's including all the fantastic repositories on GitHub is mindblowing. It has a number of resourceful repositories packed in just one place. All you have to do is just visit this repository that's it. The repository is still growing and welcomes PRs.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
I hope you find these repositories as useful as I do and can use them to become better software engineers. Thanks for reading!&lt;/p&gt;

&lt;p&gt;If you like my work please follow me on &lt;a href="https://twitter.com/paweldiaries"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
