<?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: Ana Enríquez</title>
    <description>The latest articles on DEV Community by Ana Enríquez (@valkiriann).</description>
    <link>https://dev.to/valkiriann</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%2F377402%2F37fba99e-2b16-4ce6-aa7f-b5a146e3eba6.png</url>
      <title>DEV Community: Ana Enríquez</title>
      <link>https://dev.to/valkiriann</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/valkiriann"/>
    <language>en</language>
    <item>
      <title>Making your first Open Source contribution</title>
      <dc:creator>Ana Enríquez</dc:creator>
      <pubDate>Mon, 19 Oct 2020 13:14:13 +0000</pubDate>
      <link>https://dev.to/sanexperts/making-your-first-open-source-contribution-5j5</link>
      <guid>https://dev.to/sanexperts/making-your-first-open-source-contribution-5j5</guid>
      <description>&lt;h2&gt;
  
  
  What is Open Source Software?
&lt;/h2&gt;

&lt;p&gt;According to &lt;a href="https://opensource.com/resources/what-open-source" rel="noopener noreferrer"&gt;opensource.com&lt;/a&gt; Open source software is software with source code that anyone can inspect, modify, and enhance.&lt;/p&gt;

&lt;p&gt;"Source code" is the part of the software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why should I contribute to Open Source?
&lt;/h2&gt;

&lt;p&gt;There are hundreds of reasons to contribute to Open Source projects. Here are a few of them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Show yourself that contribute is not as intimidating as it seemed&lt;/li&gt;
&lt;li&gt;Win a battle to the impostor's syndrome&lt;/li&gt;
&lt;li&gt;Return to the Community and/or the project by helping to its development&lt;/li&gt;
&lt;li&gt;Grow as a professional by adopting new code styles and working with different teams and architectures.&lt;/li&gt;
&lt;li&gt;Get out of the comfort zone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are more, those were just a few that I always think about :)&lt;/p&gt;

&lt;h2&gt;
  
  
  Can I contribute to Open Source?
&lt;/h2&gt;

&lt;p&gt;One of the biggest challenges when it comes to contributing to open source is ourselves. &lt;/p&gt;

&lt;p&gt;At first, we have the feeling that only senior programmers recognized in their field can contribute to Open Source. And often a mixture of fear and shame keeps us from taking the step of contributing.&lt;/p&gt;

&lt;p&gt;But the truth is that Open Source needs the help of all kinds. From syntactic corrections, generating documentation, creating a new feature, there are tons of ways to help and contribute. In this post, I describe step by step the last contribution I made as an example of a first issue to start with.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking for a first good issue
&lt;/h2&gt;

&lt;p&gt;Starting something new is always hard. You probably have a lot of doubts and probably you don't know where to start.&lt;br&gt;
Gratefully, Github got you covered.&lt;br&gt;&lt;br&gt;
For every repository, Github offers &lt;a href="https://github.blog/2020-01-22-how-we-built-good-first-issues/#:~:text=GitHub%20is%20leveraging%20machine%20learning,projects%20that%20fit%20their%20interests." rel="noopener noreferrer"&gt;good-first-issue&lt;/a&gt; as a default label. You can filter issues by the &lt;a href="https://github.com/topics/good-first-issue" rel="noopener noreferrer"&gt;label&lt;/a&gt; to find simpler contributions. Search by a topic or by a specific project and apply the label filter.&lt;br&gt;&lt;br&gt;
You can also use &lt;code&gt;github.com/&amp;lt;owner&amp;gt;/&amp;lt;repo&amp;gt;/contribute&lt;/code&gt; and look for available tasks for a specific project.&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%2Fi2.wp.com%2Fuser-images.githubusercontent.com%2F29592817%2F71796047-983c8580-300e-11ea-96f7-5eff1d11506c.png%3Fssl%3D1" 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%2Fi2.wp.com%2Fuser-images.githubusercontent.com%2F29592817%2F71796047-983c8580-300e-11ea-96f7-5eff1d11506c.png%3Fssl%3D1" alt="node good first issue"&gt;&lt;/a&gt;&lt;br&gt;
There are also some websites that group projects with good first issues.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.firsttimersonly.com/" rel="noopener noreferrer"&gt;firsttimersonly.com&lt;/a&gt; - A guide with links to help you contribute&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codetriage.com/" rel="noopener noreferrer"&gt;codetriage.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://up-for-grabs.net/#/" rel="noopener noreferrer"&gt;up-for-grabs.net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this post, we are going to contribute to one of these webs with a simple issue, fix some broken imagen links from the avatar of the Open Source projects &lt;a href="https://github.com/firstcontributions/firstcontributions.github.io/issues/136" rel="noopener noreferrer"&gt;firstcontributions.github.io&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Preparing to start
&lt;/h2&gt;

&lt;p&gt;Before you start working on the issue you have chosen it is important to review the repository and check if there are guidelines about how to contribute and any code standards. Usually, this information is in CONTRIBUTING.md.&lt;/p&gt;
&lt;h2&gt;
  
  
  First step: Fork the project
&lt;/h2&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%2Fi%2Fvksb1e1jzzbjq33iiu7e.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%2Fi%2Fvksb1e1jzzbjq33iiu7e.png" alt="Fork button"&gt;&lt;/a&gt;&lt;br&gt;
As you are not (yet) a contributor, and as a good practice, you should fork the project to have a space to work on it. If you fork it into an organization instead of your profile, you would grant access to the issue to the rest of members of the org.&lt;br&gt;
Once you have forked, you can clone it into your computer. For this example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/this-is-you/first-contributions.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go to the new directory and then you should add the original repository as an upstream remote (so that you can git pull if new changes happen while you are working on the issue).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add upstream https://github.com/firstcontributions/firstcontributions.github.io.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a new branch
&lt;/h2&gt;

&lt;p&gt;It is important to create a separate branch to work on the issue. Also, remember to add a prefix depending on the type of work you are doing. I normally use &lt;code&gt;bugfix/&lt;/code&gt; &lt;code&gt;feature/&lt;/code&gt; or &lt;code&gt;hotfix/&lt;/code&gt;. For this issue, I named my branch &lt;code&gt;bugfix/fix-images-open-source-list&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Working on the issue
&lt;/h2&gt;

&lt;p&gt;Normally, the Issues will give you information about the problem and what it needs to be fixed. This information could be more or less specific. &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%2Fi%2Fxtafo6dvwdgwakj3vcnj.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%2Fi%2Fxtafo6dvwdgwakj3vcnj.png" alt="detailed-issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In our example, the Issue is very specific and the reporter told us the file where the changes needed to be made, but if this is not the case, my advice is to first run the project in our local and inspect the code and the behaviour of the project until we found the piece of code to edit or the piece of functionality to modify/create. &lt;/p&gt;

&lt;p&gt;Even in this example, I ran the app in my local to find out the logos that were broken and to test if my changes solve the issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Committing the changes
&lt;/h2&gt;

&lt;p&gt;Once you think he issue has been resolved you can commit the changes and send them to your fork to the new branch you have created. Remember to fit the contributing guidelines of the repo that you are trying to contribute to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating the pull request
&lt;/h2&gt;

&lt;p&gt;Once you have uploaded your changes to your fork you will be able to create a pull request through the web browser or the console. Trough the web browser you would see something like this when looking at your fork:&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%2Fi%2Fr3tws6ogxcjp38wgaq89.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%2Fi%2Fr3tws6ogxcjp38wgaq89.png" alt="Compare &amp;amp; pull button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you click on the compare and pull button you can start creating the pull request with the details of your solution.&lt;/p&gt;

&lt;p&gt;Make sure that you select the branch to compare and that the changes are being reflected. Look at the arrow to know exactly the process of the pull request.&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%2Fi%2F0ze35gxlya4bhi2pci92.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%2Fi%2F0ze35gxlya4bhi2pci92.png" alt="comparing changes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Waiting for review
&lt;/h2&gt;

&lt;p&gt;You are almost done! Now you need to wait until a reviewer (codeowner) can take a look at your pull request and discuss with you the solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  If the PR is not accepted
&lt;/h2&gt;

&lt;p&gt;Sometimes the reviewers need more info or context to be able to evaluate all the code changes. Don't be afraid to talk and discuss the solution.&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%2Fi%2Fx6elg7gfhey1wk9ahs6m.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%2Fi%2Fx6elg7gfhey1wk9ahs6m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The reviewer/s normally would give feedback about why the pull request is not ready or why they had to close it. Talk to them and continue working to improve the solution. &lt;/p&gt;

&lt;p&gt;Congratulations! You have just made your first pull request!! &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>tutorial</category>
      <category>santanderdevs</category>
    </item>
    <item>
      <title>CI/CD - Not synonymous but related</title>
      <dc:creator>Ana Enríquez</dc:creator>
      <pubDate>Fri, 01 May 2020 12:38:16 +0000</pubDate>
      <link>https://dev.to/valkiriann/ci-cd-not-synonymous-but-related-26g9</link>
      <guid>https://dev.to/valkiriann/ci-cd-not-synonymous-but-related-26g9</guid>
      <description>&lt;p&gt;At first, when I started my learning path in DevOps, I always thought that Continuous Integration (CI) and Continuous Delivery (CD) were synonymous terms until I made a deep search about it.&lt;/p&gt;

&lt;p&gt;As seen in &lt;a href="https://devops.com/continuous-integration-vs-continuous-delivery-theres-important-difference/"&gt;devops.com&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;CI is the process of integrating code into a mainline code base. In almost all scenarios today, CI is done using platforms designed specifically for the purpose. Implementing CI is, therefore, as simple as using the right tools.&lt;/p&gt;

&lt;p&gt;CD is more complicated. CD is about the processes that have to happen after code is integrated for app changes to be delivered to users. Those processes involving testing, staging and deploying code. There is no single type of tool that does all these things. These processes take different forms, depending on the culture of the team and the type of app it is creating.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So we can asume that CI is the main scenario where we start to build or "orchestrate" our CD. Our roadmap and our clean process of creating de delivery actions.&lt;br&gt;&lt;br&gt;
The process and the platform we establish to start building our delivery. And the CD is all of the phases (or jobs) that we chain to perform the action of push to "master" and make the software available for the users.&lt;/p&gt;

</description>
      <category>devops</category>
    </item>
  </channel>
</rss>
