<?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: Reaper</title>
    <description>The latest articles on DEV Community by Reaper (@fearthereaper).</description>
    <link>https://dev.to/fearthereaper</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%2F388356%2F2f84fade-5d88-434e-9084-ee98e7b1879c.jpeg</url>
      <title>DEV Community: Reaper</title>
      <link>https://dev.to/fearthereaper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fearthereaper"/>
    <language>en</language>
    <item>
      <title>Github actions 101</title>
      <dc:creator>Reaper</dc:creator>
      <pubDate>Mon, 15 May 2023 10:09:49 +0000</pubDate>
      <link>https://dev.to/fearthereaper/github-actions-101-3aio</link>
      <guid>https://dev.to/fearthereaper/github-actions-101-3aio</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;GitHub Actions is one a feature that enables developers to create custom &lt;em&gt;&lt;strong&gt;workflows&lt;/strong&gt;&lt;/em&gt; and automate various tasks such as &lt;strong&gt;building&lt;/strong&gt;, &lt;strong&gt;testing&lt;/strong&gt;, and &lt;strong&gt;deploying&lt;/strong&gt; code. In this blog, we'll take a closer look at GitHub Actions and how it can be used to automate your software development workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are workflows
&lt;/h2&gt;

&lt;p&gt;A workflow is a set of automated steps that can be triggered based on certain events, for example &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a code push &lt;/li&gt;
&lt;li&gt;pull request&lt;/li&gt;
&lt;li&gt;scheduled time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A workflow can contain one or more &lt;strong&gt;jobs&lt;/strong&gt;, each of which contains one or more steps. Each step is a set of instructions that perform a specific action, such as running a command, calling an API, or deploying code.&lt;/p&gt;

&lt;p&gt;Usually these configuration files are in the following&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;json&lt;/li&gt;
&lt;li&gt;xml&lt;/li&gt;
&lt;li&gt;YAML&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;

&lt;p&gt;Actions can be created using &lt;strong&gt;YAML&lt;/strong&gt; files that define the workflow, jobs, and steps. These &lt;strong&gt;YAML&lt;/strong&gt; files can be stored in a repository alongside the code, making it easy to version control and collaborate on workflows.&lt;/p&gt;

&lt;p&gt;To get started with GitHub Actions, you'll need a GitHub account and a repository. Once you have a repository, you can create a new workflow by creating a YAML file in the &lt;code&gt;.github/workflows&lt;/code&gt; directory of your repository. This file should define the workflow, jobs, and steps that make up your action.&lt;/p&gt;

&lt;p&gt;An example of a simple workflow that runs a build and tests a Node.js application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Node.js CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Use Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14.x'
    - name: Install dependencies
      run: npm install
    - name: Run tests
      run: npm test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lets break down this example down!&lt;br&gt;
The workflow is named &lt;code&gt;Node.js CI&lt;/code&gt; and is &lt;em&gt;triggered&lt;/em&gt; when code is pushed to or a pull request is created against the main branch. The workflow contains one job, named build-and-test, which runs on an Ubuntu-based runner. The job contains four steps, which checkout the code, install Node.js, install dependencies, and run tests.&lt;/p&gt;
&lt;h2&gt;
  
  
  Using Actions from the Marketplace
&lt;/h2&gt;

&lt;p&gt;GitHub Actions can also be created and shared by other developers in the &lt;strong&gt;GitHub Marketplace&lt;/strong&gt;. The Marketplace contains a wide range of actions that can be used to automate various tasks, including building and testing code, deploying applications, and more.&lt;/p&gt;

&lt;p&gt;To use an action from the Marketplace, you can simply reference it in your workflow YAML file using the &lt;code&gt;uses&lt;/code&gt; keyword.&lt;/p&gt;

&lt;p&gt;For example, to use the &lt;code&gt;docker/build-push-action&lt;/code&gt; action to build and push a Docker image, you can add the following step to your workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- name: Build and push Docker image
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: my-image:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;GitHub Actions is a great tool for increasing productivity and streamlining software development workflows. Whether you're working on a small project or a large-scale enterprise application, GitHub Actions can help you automate repetitive tasks and focus on building high-quality code.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Docker-compose v Podman-compose</title>
      <dc:creator>Reaper</dc:creator>
      <pubDate>Fri, 24 Mar 2023 11:56:19 +0000</pubDate>
      <link>https://dev.to/fearthereaper/docker-compose-v-podman-compose-cjm</link>
      <guid>https://dev.to/fearthereaper/docker-compose-v-podman-compose-cjm</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Containerization has become the de-facto standard of deploying applications due to its ease of use and portability. As the number of containerization tools increases it can be difficult to choose the best tool that fits your needs. Two of the most popular container orchestration tools are the following&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;docker-compose&lt;/li&gt;
&lt;li&gt;podman-compose&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Today we'll compare the two of them and help you determine which tool is the best for you so lets start!&lt;/p&gt;

&lt;h2&gt;
  
  
  docker-compose
&lt;/h2&gt;

&lt;p&gt;docker-compose lets you easily deploy containerized applications due to its vast community support, extensive range of pre-built images, and great support from multiple platforms. The tool easily lets define and run multi-container application within a single file. Docker-compose uses a &lt;code&gt;YAML&lt;/code&gt; file to define the services that make up an application, their dependencies, and how they communicate with each other. Docker-compose also allows you to configure the containers' networking, volumes, and environment variables. Once you have defined your application, you can start it with a single command.&lt;/p&gt;

&lt;p&gt;Although docker-compose gives us alot of benefits it has a few setbacks such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It relies on the Docker engine to run the containers.&lt;/li&gt;
&lt;li&gt;The Docker engine requires root privileges to run.&lt;/li&gt;
&lt;li&gt;Docker-compose may not be the best tool for running containers on non-Linux systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now moving onto podman-compose&lt;/p&gt;

&lt;h2&gt;
  
  
  podman-compose
&lt;/h2&gt;

&lt;p&gt;Podman-compose is an open-source tool that provides a docker-compose like interface without the need of the Docker engine and root privileges to run. Furthermore, it uses the same &lt;code&gt;YAML&lt;/code&gt; syntax as Docker Compose to define the containers, services, and networks that make up an application also it is compatible with the Open Container Initiative (OCI) specification.&lt;/p&gt;

&lt;p&gt;Podman-compose offers many benefits such as &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It does not rely on the Docker engine.&lt;/li&gt;
&lt;li&gt;It can run containers on non-Linux systems.&lt;/li&gt;
&lt;li&gt;It has a modular architecture, which allows it to be more easily integrated with other tools&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;p&gt;Now that we have covered the basics of the two lets compare them in terms of features, ease of use, and performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;p&gt;Both offer similar features, such as defining containers, services, networks, and volumes using &lt;code&gt;YAML&lt;/code&gt; files. However, Docker Compose has a more extensive ecosystem, with more pre-built images and integrations with other tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance
&lt;/h3&gt;

&lt;p&gt;In terms of performance, podman-compose is faster than docker-compose since it does not require a daemon to run the containers. podman-compose uses the user's session to run the containers, which allows it to take advantage of the user's Linux kernel. However, docker-compose has better resource utilization since it can use Docker's container caching and image layering features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ease of use
&lt;/h3&gt;

&lt;p&gt;Both are straightforward to use. Although, docker-compose has a more significant learning curve since it has more features and a more extensive ecosystem. Podman-compose is more user-friendly and can be learned quickly by anyone familiar with docker-compose.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Podman-compose and Docker Compose are both superior container orchestration solutions, to sum up. The more established tool, docker-compose, has a larger ecosystem, but it has certain limitations, including the need for root rights to operate and incompatibility with non-Linux systems. A more recent tool, podman-compose, offers a docker-compose-like experience without depending on the Docker engine.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>IntelOwl 101</title>
      <dc:creator>Reaper</dc:creator>
      <pubDate>Thu, 22 Sep 2022 17:51:58 +0000</pubDate>
      <link>https://dev.to/fearthereaper/intelowl-101-4nk3</link>
      <guid>https://dev.to/fearthereaper/intelowl-101-4nk3</guid>
      <description>&lt;p&gt;In this article, I'm going to show you what IntelOwl is, what it does, and how to install, and use it for your own cybersecurity projects so let's get started!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is IntelOwl
&lt;/h2&gt;

&lt;p&gt;IntelOwl is an open-source intelligence tool that gathers as much data possible of an observable(IP, File, domain, etc). Basically, it collects data from various sources (websites, blogs, APIs, etc.) and presents them in a unified manner that can be easily read and parsed!&lt;/p&gt;

&lt;p&gt;If you want to know how IntelOwl works and its underlying architecture visit their &lt;a href="https://github.com/intelowlproject/IntelOwl" rel="noopener noreferrer"&gt;github&lt;/a&gt; and &lt;a href="https://intelowlproject.github.io/" rel="noopener noreferrer"&gt;website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing IntelOwl
&lt;/h2&gt;

&lt;p&gt;One great feature of IntelOwl is its easy installment. Using the power Docker and docker-compose you can set it up and start using it under 10 minutes!&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;Before we get started you need to have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;docker-compose&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;so if you don't have these install them!&lt;/p&gt;

&lt;p&gt;First lets clone their repository:&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/intelowlproject/IntelOwl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then change your directory to &lt;code&gt;IntelOwl&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;After this, we need to set up the environment files to configure IntelOwl so go to the &lt;code&gt;docker&lt;/code&gt; directory.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;h4&gt;
  
  
  Application configuration
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp env_file_app_template env_file_app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Database configuration
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp env_file_postgres_template env_file_postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Integrations configuration
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp env_file_integrations_template env_file_integrations
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note: if you want to configure it to your needs you check the &lt;a href="https://intelowl.readthedocs.io/en/latest/Installation.html#environment-configuration-required" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After this we need to install all the dependencies by the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ..
./initialize.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After you get the prompt&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Now you can start IntelOwl by running the start.py file (eg: `python3 start.py prod up` for production environment)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You are good to go! &lt;/p&gt;

&lt;h2&gt;
  
  
  Running IntelOwl
&lt;/h2&gt;

&lt;p&gt;Now to start IntelOwl write or copy the command if you're like me ;)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 start.py prod up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: if you're in windows write &lt;code&gt;python&lt;/code&gt; instead of &lt;code&gt;python3&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a User
&lt;/h2&gt;

&lt;p&gt;After running IntelOwl execute the command (in a new terminal or tab) &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: you need to only create a user once!&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker exec -ti intelowl_uwsgi python3 manage.py createsuperuser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After this, it'll prompt you to give a username, email, password, etc.&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%2F1q8fvfq442ew0b9iongb.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%2F1q8fvfq442ew0b9iongb.png" alt="userCreatePrompt" width="534" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you've created your user go to&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Congratulations! You've successfully installed IntelOwl. In the next article, I'll teach you how to use it and how things work. Till then happy typing!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>cybersecurity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Hello World...</title>
      <dc:creator>Reaper</dc:creator>
      <pubDate>Fri, 18 Dec 2020 21:04:58 +0000</pubDate>
      <link>https://dev.to/fearthereaper/hello-world-97d</link>
      <guid>https://dev.to/fearthereaper/hello-world-97d</guid>
      <description>&lt;p&gt;Hey guys, this is your friendly neighborhood reaper. This is my first time actually writing a post so bear with me. A brief introduction about me: I'm a sophomore in a university majoring in computer science, my passion is ethical hacking, AI and whatever I find interesting. The reason why I'm writing this is because I love computers and I wanted to share whatever I find or make that helps you in your programming journey. So here's to a new adventure! Till then guys happy typing :) reaper out.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>firstpost</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
