<?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: Ritvij Kumar Sharma</title>
    <description>The latest articles on DEV Community by Ritvij Kumar Sharma (@ritvij14).</description>
    <link>https://dev.to/ritvij14</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%2F451506%2F2f359b67-d835-4ecd-94a3-0a4486537748.jpeg</url>
      <title>DEV Community: Ritvij Kumar Sharma</title>
      <link>https://dev.to/ritvij14</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ritvij14"/>
    <language>en</language>
    <item>
      <title>Open Source chronicles - First week's adventure</title>
      <dc:creator>Ritvij Kumar Sharma</dc:creator>
      <pubDate>Fri, 28 Aug 2020 05:40:09 +0000</pubDate>
      <link>https://dev.to/ritvij14/open-source-chronicles-first-week-s-adventure-47ik</link>
      <guid>https://dev.to/ritvij14/open-source-chronicles-first-week-s-adventure-47ik</guid>
      <description>&lt;p&gt;Ever wondered how someone completely new to the vast space of Open Source starts exploring it? There are numerous ways of doing it, and today I am gonna tell you about how I started exploring this field :)&lt;/p&gt;

&lt;p&gt;In the past 10 days, I got selected for  &lt;a href="https://hakincodes.tech/"&gt;Contributor's Hack 2020 by HakinCodes&lt;/a&gt;, an Open Source event where participants and mentors come together and participants contribute to the Open Source projects of mentors.&lt;br&gt;
I started contributing to 2 projects,  &lt;a href="https://github.com/garimasingh128/gitsetgo"&gt;Git-set-go&lt;/a&gt;  by mentor Garima Singh and also  &lt;a href="https://github.com/TesseractCoding/NeoAlgo"&gt;NeoAlgo&lt;/a&gt;  under mentor Harsh Bardhan Mishra. I also joined &lt;a href="https://github.com/eddiejaoude"&gt;Eddie Jaoude&lt;/a&gt;'s community, on discord and &lt;a href="https://github.com/EddieJaoudeCommunity"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Git-set-go is a useful tool that can generate a resume for you based on your GitHub profile and then allows you to download it in pdf format as well.&lt;/p&gt;

&lt;p&gt;NeoAlgo is a public repository under Tessaract Coding, a community made by Microsoft Student Ambassadors to help newcomers in learning about Open Source contributions, along with spreading knowledge on Algorithms and Data Structures. It aims to bring all DSA concepts in multiple languages under one repository, so anyone can have a look at them.&lt;/p&gt;

&lt;h1&gt;
  
  
  Issues I worked on:
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Git-set-go
&lt;/h2&gt;

&lt;p&gt;Under this project, I worked on 2 issues. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improve the code quality rating from B to A according to  &lt;a href="https://www.codacy.com/"&gt;Codacy&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
This was a daunting task since I had never worked with code standards or styling rules. But thanks to Codacy and GitHub webhooks, this work became easier. I made changes as Codacy pointed out and after every push, Codacy would tell my code's rating. And so, I brought down the code issues from 70% to a mere 5% and got A rating. I was really happy when I saw that A-rank :D&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Retain data from the user and components even after site reloads&lt;/strong&gt;&lt;br&gt;
Being a newcomer to React it was a bit challenging but with a little research, I was able to do this with the help of &lt;code&gt;sessionStorage&lt;/code&gt;, which stays active as long as the current session is active. I saved the username entered and the data fetched from the GitHub APIs in this and it worked like a charm&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  NeoAlgo
&lt;/h2&gt;

&lt;p&gt;Here I took up 4 issues on different algorithms.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bucket Sort in Java&lt;/strong&gt;&lt;br&gt;
A great algorithm to sort Uniformly distributed data over a range. We use this range, divide the data into buckets of equal sizes, and sort individual buckets. Then we concatenate them and we get a wonderful Time complexity of O(n).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Find minimum number of swaps to sort an unordered array of first N consecutive integers in Java&lt;/strong&gt;&lt;br&gt;
Yep I know, long name... but the problem turned out to be easier than I expected! The trick here is to check if a particular element is at the position it should be since they are all just consecutive natural numbers starting from 1.&lt;br&gt;
You getting it right? Easy-peasy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Knutt-Morris-Prat Algorithm in JS&lt;/strong&gt; A pattern searching algorithm for strings where there is a repetition of letters. As against Naive search, here we do a lesser number of checks, as we do not check the repeating letters again. The time complexity of O(m+n) woohoo!!!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Heap Sort in Java&lt;/strong&gt; This is a comparison based sorting technique based on the Binary Heap data structure. Similar to selection sort where we first find the maximum element and place the maximum element at the end. Time complexity is a decent O(N log N).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Important things I learned from all this.
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Documentation is really, &lt;strong&gt;REALLY IMPORTANT&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;When writing the documentation, make sure to write everything but in precise form, with examples or sample input/output.&lt;/li&gt;
&lt;li&gt;There are a lot of advantages of using Code checking tools, for example, the flow of your code becomes a lot better.&lt;/li&gt;
&lt;li&gt;Never EVER be afraid of taking difficult issues. The mentors are always there to help you and the internet is full of helpful resources so you can be sure to get help on the issue you are solving.&lt;/li&gt;
&lt;li&gt;Be patient to get your P.R. reviewed. Maintainers have more work than you would know. :)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These were really important points I learned as a newcomer to the Open Source world. I would really advise any newcomer to Open Source development to keep these things in mind.&lt;/p&gt;

&lt;p&gt;Thank you for your time to give this blog a read. I hope this would be of help to you to know what things you will be facing as a newcomer in Open Source :D&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>Steps to Git and Open Source</title>
      <dc:creator>Ritvij Kumar Sharma</dc:creator>
      <pubDate>Wed, 12 Aug 2020 19:23:12 +0000</pubDate>
      <link>https://dev.to/ritvij14/steps-to-git-and-open-source-2npo</link>
      <guid>https://dev.to/ritvij14/steps-to-git-and-open-source-2npo</guid>
      <description>&lt;p&gt;Hi DEV Community, this is my first blog here. I hope you enjoy reading it! :D&lt;/p&gt;

&lt;p&gt;Open Source Software is a type of software that has its code released for the public under a license, meaning that you are free to see their code.&lt;/p&gt;

&lt;p&gt;Open Source Coding has become very popular in our programming world. You can learn lots of new stuff, collaborate in teams, improve coding practices, make new connections, join a lot of communities, work on your soft skills, and improve codes of projects ranging from those that belong to a few people to those of tech giants.&lt;/p&gt;

&lt;p&gt;Contributing to Open Source should always be done in a systematic way and by following the proper rules to avoid confusion and bring out the maximum efficiency of the team. &lt;/p&gt;

&lt;p&gt;Many newcomers being confused about how exactly they should contribute to the project after choosing one. With the coming of a lot of Open Source events in the future like &lt;strong&gt;MLH Fellowship, Hacktoberfest, GirlScript Summer of Code (GSSOC), Google Summer of Code(GSOC), Outreachy&lt;/strong&gt; and many more... it came to me that it will be a good idea to list down the steps to follow so that anyone can contribute to almost any Open Source projects. &lt;/p&gt;

&lt;p&gt;Note: For this blog, I assume you have basic knowledge about Git and GitHub.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Join the project's community/chat group.
&lt;/h2&gt;

&lt;p&gt;If there is a project/organization which you are interested in, they would most probably have a group to stay in contact on any of the good team management platforms, like Slack, Discord, Zulip, etc.&lt;/p&gt;

&lt;p&gt;Do make sure to join them so that you can always stay up-to-date and in contact with the people who own the projects. You can also ask any kind of doubts that you have regarding the code there. Project owners and Organization members are always happy to help out. So be sure to ask them all your queries.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Fork and clone the project's repository
&lt;/h2&gt;

&lt;p&gt;GitHub is the most popular platform for online storage and a distributed version control of your code through Git. So the first step is to fork the project. This is done because you cannot edit their code directly. If that was allowed, it would cause risky issues, where the whole project might crash because of someone's small mistake.&lt;/p&gt;

&lt;p&gt;That's why you fork the project to create a personal copy of the project on your GitHub ID which you can work upon. Then go ahead and clone the fork to your local system. You will find the fork button near the top right corner of the repository's GitHub page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yedbYeD1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597237940011/iRCIOHb-u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yedbYeD1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597237940011/iRCIOHb-u.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then go ahead and clone the project into your desired folder! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X25Iddtk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597239234473/vjuamNghC.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X25Iddtk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597239234473/vjuamNghC.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use the link shown above like this inside the folder where you want to store your local copy and then move into it-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git clone https://github.com/ritvij14/example-project.git
$ cd example-project
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Setting a remote to the main repository
&lt;/h2&gt;

&lt;p&gt;To keep your local copy of the code up-to-date with the main repository, we set a remote. In git, a remote is a link that connects your local copy to the repository online.&lt;/p&gt;

&lt;p&gt;When you clone the project, you have one remote created automatically, which is named as &lt;code&gt;origin&lt;/code&gt;. This remote connects your local copy to its online version that's there on GitHub.&lt;/p&gt;

&lt;p&gt;You can see your remotes using this command:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote -v
origin  https://github.com/ritvij14/example-project.git (fetch)
origin  https://github.com/ritvij14/example-project.git (push)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This shows your forked copy of the repository to which it is directly linked, and this is where you push your updated code. &lt;/p&gt;

&lt;p&gt;Now we add a new remote for the main repository. Use this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote add upstream https://github.com/org-name/example-project.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;code&gt;upstream&lt;/code&gt; is the name we give to the new remote. This is just conventional though, you can name it anything you want. But usually, in teams, people talk refer to it as upstream only. Now you can try this to see the new output of the new remote being set.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git remote -v
origin  https://github.com/ritvij14/pmt-backend.git (fetch)
origin  https://github.com/ritvij14/pmt-backend.git (push)
upstream    https://github.com/Devsoc-BPGC/pmt-backend.git (fetch)
upstream    https://github.com/Devsoc-BPGC/pmt-backend.git (push)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Warning&lt;/strong&gt;&lt;br&gt;
Do not try pushing to the upstream repository. Since you won't be given the necessary GitHub permission by the project managers, it will only cause errors. Even if they do, don't push since that can cause problems in the main repository. We only use upstream for pulling the latest updates to the code.&lt;/p&gt;
&lt;h2&gt;
  
  
  4. Select an issue to solve
&lt;/h2&gt;

&lt;p&gt;On the main repository's webpage, there will be an Issues tab, which will take you to the Issues section which lists down all the issues that need to be fixed for the project. Issues can range from minor grammatical changes in documentations, to as big as introducing a completely new feature. &lt;br&gt;
Most of the well organized open source projects have issues with different kinds of labels so you come to know what things need to be changed just from the headings.&lt;/p&gt;

&lt;p&gt;The organization members will help you out to get a good issue and explain to you what needs to be done, and then you can have a look at the code where you need to make changes.&lt;/p&gt;

&lt;p&gt;Once you have decided, you can comment on that issue and someone who is managing that particular project will Assign it to you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;&lt;br&gt;
For newcomers, it's best to choose issues with the label &lt;code&gt;good first issue&lt;/code&gt;. These are issues made specifically for newcomers to solve so that they can get used to the code while solving them. These are the easiest issues, so do solve them! ;)&lt;/p&gt;
&lt;h2&gt;
  
  
  5. Let the coding begin!! :D
&lt;/h2&gt;

&lt;p&gt;Now that you have got an issue to solve and know what to do, it's coding time :)&lt;/p&gt;

&lt;p&gt;For any project, it is a good practice to not directly work on the master branch. For writing the code, it is advisable to work on a separate branch for making the changes so that your master branch's code stays safe and you can use that to see how the project functions before your changes.&lt;/p&gt;

&lt;p&gt;So make a new branch in your fork and also your local copy and start writing the necessary stuff in it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git checkout -b fix-for-bug
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This creates a new branch in git and switches you into it. Now you can write the code for solving the issue in this new branch.&lt;br&gt;
Once you are done solving the issue and are satisfied with your work, it's time to prepare it for sending it to the main repository!&lt;/p&gt;
&lt;h2&gt;
  
  
  6. Commit your code
&lt;/h2&gt;

&lt;p&gt;Yeah, I know this is a fairly simple task, right? Just 2 commands and you are done!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git add .
$ git commit -m "Issue solved"
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;But we need to make sure of a few things first, before pushing it.&lt;/p&gt;

&lt;p&gt;First thing is that the commit message should explain what you have done. Neither too short nor too long, in most cases, just a single line explanation of the task you did is enough for the project owners. But sometimes they might have their own rules on what the commit message should look like, so make sure you follow them properly.&lt;/p&gt;

&lt;p&gt;The second thing to make sure is, to keep your code up-to-date. For this we pull any latest code from the upstream remote we set earlier into our new branch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git pull upstream master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This will update all your files with any code additions or deletions. It is a good habit to pull from &lt;code&gt;upstream&lt;/code&gt; whenever you start working on a new issue. In addition to that, you can also make it a habit to check code each day to be sure that your local copy is in sync with the &lt;code&gt;upstream&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Merge Conflicts
&lt;/h4&gt;

&lt;p&gt;Sometimes you might face conflicting changes called merge conflicts, mostly when something is changed in the file you are already working in.&lt;br&gt;
&lt;a href="https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line"&gt;GitHub docs&lt;/a&gt; explain it well as to how to tackle this problem. Along with this, in my opinion, it's would also be good to check out some of the last merged commits in the main repository to have a look at the changes in your files.&lt;/p&gt;
&lt;h2&gt;
  
  
  6. Pushing the code.
&lt;/h2&gt;

&lt;p&gt;Once everything is done and tested, your code is ready to be sent to the main repository! :D&lt;br&gt;
Firstly push the code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ git push origin fix-for-bug
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Make sure it's the new branch as that should be the one you use for sending the Pull Request.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Send Pull request
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Dn4hSw2k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246287188/09wSenV0a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Dn4hSw2k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246287188/09wSenV0a.png" alt="Screenshot from 2020-08-12 20-03-00.png"&gt;&lt;/a&gt;&lt;br&gt;
After pushing, you can go to the main repository page --&amp;gt; Pull Requests tab --&amp;gt; New Pull Request&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P7lO4v49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246609306/8mRQLXENO.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P7lO4v49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246609306/8mRQLXENO.png" alt="Screenshot from 2020-08-12 21-03-52.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From here you select the compare across forks option and then look for the fork with your GitHub username. On choosing that and the branch you push your code in, you automatically see your commits and files you have changed. After verifying everything once again, click on Create New Pull Request button.&lt;br&gt;
That will take you to the part where you type in a message for your PR (Pull Request).&lt;/p&gt;

&lt;h4&gt;
  
  
  Writing the message.
&lt;/h4&gt;

&lt;p&gt;This is an important part since the message of the PR is the main way for the project owners to know what you have done. &lt;br&gt;
Mostly you are given a template by the Project owners themselves, which appears by itself when you start making the PR.&lt;br&gt;
All you need to do is type in the precise but complete info of what you have done, including explanations with pictures if asked, checking checkboxes to tell the tasks done, and also use "#" to link the issue it solves using the issue ID.&lt;br&gt;
Here is an example template for a PR where I filled the necessary info.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LHx8vJZh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246925399/_KyxUDzsP.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LHx8vJZh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1597246925399/_KyxUDzsP.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once done, send the PR and HURRAY! You are done with your contribution to the project!&lt;br&gt;
Now sit back and relax with a cup of coffee and wait for the project owners to review your PR and merge the code. &lt;br&gt;
You can even start looking for the next issue if you want ;)&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Next steps...
&lt;/h2&gt;

&lt;p&gt;Many times the project owners may want you to make some changes after you send the PR. Doing changes is simple, all you need to do is make the changes asked, commit them, and push them again. The new code with the changes will appear directly on the sent PR!&lt;/p&gt;

&lt;h3&gt;
  
  
  Squashing commits into one
&lt;/h3&gt;

&lt;p&gt;A really important thing which might come in handy is &lt;code&gt;git rebase&lt;/code&gt;. Using this you can squash multiple commits into one. Many times, when by mistake you get the job done in too many commits, the project owners might ask you to squash them all into one commit. This can be done by &lt;code&gt;git rebase&lt;/code&gt;&lt;br&gt;
Have a look at this  &lt;a href="https://medium.com/@slamflipstrom/a-beginners-guide-to-squashing-commits-with-git-rebase-8185cf6e62ec"&gt;Medium&lt;/a&gt;  post which explains how to do it.&lt;/p&gt;

&lt;p&gt;Well, that covers up on how to make contributions to open source projects. I hope this post will help out a lot of Open Source Enthusiasts in beginning their Open Source journey!&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

&lt;p&gt;P.S.: I am taking part in the Contributor's Hack 2020, by HakinCodes. So now I have decided to document my experiences from such events. I hope to become a better content writer by writing on a daily basis! &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>codenewbie</category>
      <category>git</category>
    </item>
  </channel>
</rss>
