<?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>Forem: Mayank Choudhary</title>
    <description>The latest articles on Forem by Mayank Choudhary (@rado_mayank).</description>
    <link>https://forem.com/rado_mayank</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%2F456441%2F6c3833f2-c95f-473b-80a4-08a5df2774ec.jpeg</url>
      <title>Forem: Mayank Choudhary</title>
      <link>https://forem.com/rado_mayank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rado_mayank"/>
    <language>en</language>
    <item>
      <title>SQL window functions with examples</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Sun, 01 Sep 2024 19:02:00 +0000</pubDate>
      <link>https://forem.com/rado_mayank/sql-window-functions-with-examples-23c2</link>
      <guid>https://forem.com/rado_mayank/sql-window-functions-with-examples-23c2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Window Functions: ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE()&lt;/strong&gt;&lt;br&gt;
Window functions in SQL allow you to perform calculations across a set of table rows related to the current row while maintaining all the rows of the original dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. ROW_NUMBER() Function
&lt;/h2&gt;

&lt;p&gt;Purpose: Assigns a unique sequential integer to rows within a partition of a result set, starting from 1.&lt;br&gt;
Use Case: When you want to give each row a unique identifier within a group, regardless of ties.&lt;br&gt;
Example: Assume you have a table employees with columns employee_id, department_id, and salary.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_num&lt;br&gt;
FROM employees;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explanation: This query assigns a unique row number to each employee within each department, sorted by descending salary. If two employees in the same department have the same salary, they will have different row numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. RANK() Function
&lt;/h2&gt;

&lt;p&gt;Purpose: Assigns a rank to each row within a partition of a result set, with rows having equal values receiving the same rank. The rank increments by the number of tied rows.&lt;br&gt;
Use Case: Useful when you need to rank data with ties and want to skip ranks after ties.&lt;br&gt;
Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank&lt;br&gt;
FROM employees;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explanation: Employees within the same department are ranked by salary in descending order. If two employees have the same salary, they receive the same rank, and the next rank is incremented accordingly. For example, if two employees are ranked 1, the next rank is 3.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. DENSE_RANK() Function
&lt;/h2&gt;

&lt;p&gt;Purpose: Similar to RANK(), but does not leave gaps in the ranking sequence.&lt;br&gt;
Use Case: Useful when you need consecutive ranking without gaps.&lt;br&gt;
Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS dense_rank&lt;br&gt;
FROM employees;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explanation: Employees with the same salary receive the same rank, but the next rank is not skipped. For instance, if two employees are ranked 1, the next rank is 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. NTILE() Function
&lt;/h2&gt;

&lt;p&gt;Purpose: Divides the result set into a specified number of roughly equal groups and assigns a number to each row indicating which group it belongs to.&lt;br&gt;
Use Case: Useful for distributing data into quantiles or groups.&lt;br&gt;
Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    NTILE(4) OVER (PARTITION BY department_id ORDER BY salary DESC) AS quartile&lt;br&gt;
FROM employees;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explanation: The NTILE(4) function divides the employees into four groups within each department, sorted by salary in descending order. Each row is assigned a number from 1 to 4, representing the group it belongs to.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. LEAD()
&lt;/h2&gt;

&lt;p&gt;Provides access to a subsequent row (following row) in the result set without the need for self-joins.&lt;/p&gt;

&lt;p&gt;Syntax:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;LEAD(column_name, offset, default_value) OVER (PARTITION BY column_name ORDER BY column_name)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;offset: The number of rows forward from the current row. The default is 1.&lt;br&gt;
default_value: A default value to return if the lead row is beyond the bounds of the window.&lt;br&gt;
Use Case: Compare a row with its following row or access future values in a time series.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    EmployeeID, &lt;br&gt;
    Name, &lt;br&gt;
    Salary, &lt;br&gt;
    LEAD(Salary, 1) OVER (ORDER BY Salary) AS NextSalary&lt;br&gt;
FROM Employees;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;h2&gt;
  
  
  6. LAG()
&lt;/h2&gt;

&lt;p&gt;Similar to LEAD(), but provides access to a previous row in the result set.&lt;/p&gt;

&lt;p&gt;Syntax:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;LAG(column_name, offset, default_value) OVER (PARTITION BY column_name ORDER BY column_name)&lt;br&gt;
Use Case: Compare a row with its preceding row or access historical values in a time series.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    EmployeeID, &lt;br&gt;
    Name, &lt;br&gt;
    Salary, &lt;br&gt;
    LAG(Salary, 1) OVER (ORDER BY Salary) AS PreviousSalary&lt;br&gt;
FROM Employees;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;h2&gt;
  
  
  Aggregate Functions over Windows: SUM(), AVG(), MIN(), MAX()
&lt;/h2&gt;

&lt;p&gt;Aggregate functions can also be applied over a window of rows using the OVER() clause to provide cumulative or moving calculations.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;h2&gt;
  
  
  SUM():
&lt;/h2&gt;

&lt;p&gt;Computes the running total or cumulative sum over a window of rows.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    salary,&lt;br&gt;
    SUM(salary) OVER (ORDER BY salary DESC) AS cumulative_salary&lt;br&gt;
FROM employees;&lt;br&gt;
Explanation: Calculates a running total of salaries in descending order. Each row shows the total salary up to that point.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  AVG():
&lt;/h2&gt;

&lt;p&gt;Computes the average value over a window of rows.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    AVG(salary) OVER (PARTITION BY department_id ORDER BY salary DESC) AS avg_salary&lt;br&gt;
FROM employees;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Explanation: Calculates the average salary for each employee within their department, ordered by salary. The average is recomputed for each row in the result set.&lt;/p&gt;

&lt;h2&gt;
  
  
  MIN() and MAX():
&lt;/h2&gt;

&lt;p&gt;Determine the minimum or maximum value over a window of rows.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SELECT &lt;br&gt;
    employee_id,&lt;br&gt;
    department_id,&lt;br&gt;
    salary,&lt;br&gt;
    MIN(salary) OVER (PARTITION BY department_id ORDER BY salary DESC) AS min_salary&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>sql</category>
      <category>windowfunctions</category>
      <category>rdbms</category>
      <category>functions</category>
    </item>
    <item>
      <title>PySpark optimization techniques</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Wed, 28 Aug 2024 08:12:00 +0000</pubDate>
      <link>https://forem.com/rado_mayank/pyspark-optimization-techniques-56l0</link>
      <guid>https://forem.com/rado_mayank/pyspark-optimization-techniques-56l0</guid>
      <description>&lt;h5&gt;
  
  
  There are a variety of different parts of Spark jobs that you might want to optimize, and it’s valuable to be specific. Following are some of the areas:
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Code-level design choices (e.g., RDDs versus DataFrames)&lt;/li&gt;
&lt;li&gt;Joins (e.g., use Broadcast joins and avoid Cartesian joins or even full outer joins&lt;/li&gt;
&lt;li&gt;Aggregations (e.g., using reduceByKey when possible over groupByKey)&lt;/li&gt;
&lt;li&gt;Individual application properties&lt;/li&gt;
&lt;li&gt;Inside of the Java Virtual Machine (JVM) of an executor&lt;/li&gt;
&lt;li&gt;Worker nodes&lt;/li&gt;
&lt;li&gt;Cluster and deployment properties&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxhnzpangqicl94bw6qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxhnzpangqicl94bw6qp.png" alt="Image description" width="800" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using efficient data storage formats like Parquet or ORC can significantly reduce storage size and improve read/write performance.&lt;/li&gt;
&lt;li&gt;Efficient Storage: Using formats like Parquet or ORC compresses the data, reducing storage costs and improving disk I/O performance.&lt;/li&gt;
&lt;li&gt;Faster Query Performance: These formats are optimized for large-scale processing, leading to faster query execution times due to their columnar storage structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4s07jczcrrrwljwpnd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4s07jczcrrrwljwpnd9.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8i5e3b8ur6gjdf93fgiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8i5e3b8ur6gjdf93fgiw.png" alt="Image description" width="800" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Row-based file formats (e.g., CSV, JSON) store data by rows. Each row contains all the fields for a particular record, making it efficient for writing and retrieving whole records.&lt;/li&gt;
&lt;li&gt;Columnar-based file formats (e.g., Parquet, ORC) store data by columns. Each column contains all the values for a particular field, making it more efficient for analytical queries that involve aggregation and filtering.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c3z3zuhdpmr5fdq4k3h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5c3z3zuhdpmr5fdq4k3h.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdyzxrechkjf3n67xa7f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdyzxrechkjf3n67xa7f.png" alt="Image description" width="800" height="109"&gt;&lt;/a&gt;&lt;br&gt;
ORC (Optimized Row Columnar) and Parquet are popular columnar storage file formats used in big data processing frameworks like Apache Spark and Hadoop. They are optimised for storage and query performance in distributed data environments. Both ORC and Parquet files are binary formats, which means you cannot read them directly like CSV files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxsxvdsa11higrp34jfl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxsxvdsa11higrp34jfl.png" alt="Image description" width="800" height="772"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgj7pdo6qxucdbfsh0bmb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgj7pdo6qxucdbfsh0bmb.png" alt="Image description" width="800" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  SELECT AVG(salary) FROM employees WHERE age &amp;gt; 30;
&lt;/h6&gt;

&lt;ul&gt;
&lt;li&gt;Row-Based (CSV): Reads all rows, including unnecessary data, resulting in higher I/O.&lt;/li&gt;
&lt;li&gt;Columnar-Based (Parquet): Reads only the age and salary columns, reducing I/O.&lt;/li&gt;
&lt;li&gt;Columnar-Based (ORC): Reads only the age and salary columns, but with additional optimization due to lightweight indexing, it skips irrelevant rows faster, resulting in even better query performance. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pandyfu248l0bch7yqy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3pandyfu248l0bch7yqy.png" alt="Image description" width="800" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broadcast joins improve join performance when one of the tables is small enough to fit into the memory of each worker node.&lt;/li&gt;
&lt;li&gt;Improved Join Performance: Broadcasting a small table to all nodes minimizes the need for shuffling large datasets, significantly speeding up the join operation.&lt;/li&gt;
&lt;li&gt;Memory Efficiency: This method works best when the small table fits in memory, avoiding expensive disk I/O operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetr9e90edoxaqy3c4ycr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetr9e90edoxaqy3c4ycr.png" alt="Image description" width="800" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwydlbo5rdwnz0mrqzjuw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwydlbo5rdwnz0mrqzjuw.png" alt="Image description" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyq4f4hid44f4g9vs77g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyq4f4hid44f4g9vs77g.png" alt="Image description" width="800" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Caching is useful when a DataFrame is reused multiple times. It avoids recomputation and speeds up the workflow.&lt;/li&gt;
&lt;li&gt;Avoids Recomputations: Caching prevents the need to recompute DataFrames multiple times during a workflow, saving time.&lt;/li&gt;
&lt;li&gt;Increases Performance: By storing DataFrames in memory, subsequent actions on the DataFrame are executed much faster.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xkzhedrnn4tpwa7hcog.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xkzhedrnn4tpwa7hcog.png" alt="Image description" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5or6998u9u0zlt5unq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5or6998u9u0zlt5unq7.png" alt="Image description" width="800" height="197"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feor94w9s79h28o6nzuzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feor94w9s79h28o6nzuzz.png" alt="Image description" width="800" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proper partitioning of DataFrames can improve parallelism and reduce shuffling, enhancing performance.&lt;/li&gt;
&lt;li&gt;Enhanced Parallelism: Proper repartitioning ensures that the workload is evenly distributed across nodes, improving parallel processing.&lt;/li&gt;
&lt;li&gt;Reduced Shuffling: By partitioning data based on key columns, you minimize costly shuffle operations during joins or aggregations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjv1e9n93efu12yc1esk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjv1e9n93efu12yc1esk.png" alt="Image description" width="729" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9as13bbpegaxar2ghs69.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9as13bbpegaxar2ghs69.png" alt="Image description" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8v48swibi11rgvo6ex9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8v48swibi11rgvo6ex9g.png" alt="Image description" width="800" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DataFrames are optimized for performance and provide a higher level of abstraction compared to RDDs.&lt;/li&gt;
&lt;li&gt;Higher Abstraction: DataFrames provide a more user-friendly API compared to RDDs, with automatic optimization under the hood.&lt;/li&gt;
&lt;li&gt;Performance Optimization: The Catalyst optimizer in Spark SQL optimizes DataFrame operations, making them faster than equivalent RDD operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjei5rsg8cs3ygte5yzpw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjei5rsg8cs3ygte5yzpw.png" alt="Image description" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdrrro7u6cl0mvwen9v4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdrrro7u6cl0mvwen9v4.png" alt="Image description" width="800" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftipunybrcbon4s0izkf1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftipunybrcbon4s0izkf1.png" alt="Image description" width="800" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User-defined functions (UDFs) are often slower as they operate row-wise. Use built-in functions whenever possible.&lt;/li&gt;
&lt;li&gt;Performance Overhead: UDFs can slow down processing since they operate on each row individually and bypass many of Spark's internal optimizations.&lt;/li&gt;
&lt;li&gt;Leverage Built-in Functions: Built-in functions are optimized for distributed processing and often execute much faster than UDFs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslfyu6gd3skhnc3sqxdh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fslfyu6gd3skhnc3sqxdh.png" alt="Image description" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh5c5pqxmz0umnlvplb47.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh5c5pqxmz0umnlvplb47.png" alt="Image description" width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>pyspark</category>
      <category>dataengineering</category>
      <category>spark</category>
      <category>optimization</category>
    </item>
    <item>
      <title>Oracle ERP - Purchase to Pay module</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Wed, 09 Nov 2022 08:30:08 +0000</pubDate>
      <link>https://forem.com/rado_mayank/oracle-p2p-cycle-purchase-to-pay-k16</link>
      <guid>https://forem.com/rado_mayank/oracle-p2p-cycle-purchase-to-pay-k16</guid>
      <description>&lt;h1&gt;
  
  
  What is P2P?
&lt;/h1&gt;

&lt;p&gt;P2P stands for Procure to Pay. It’s a business process which involves the fulfillment of goods, items, resources etc in an organization's inventory to keep business running smoothly and it ends with payment followed by reconciliation.&lt;/p&gt;

&lt;h4&gt;
  
  
  P2P Process:
&lt;/h4&gt;

&lt;p&gt;This cycle involves the following steps from creating a requisition to transferring the details to GL.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;   Create Requisition&lt;/li&gt;
&lt;li&gt;   Approve requisition&lt;/li&gt;
&lt;li&gt;   Create Purchase Order&lt;/li&gt;
&lt;li&gt;   Approve Purchase Order&lt;/li&gt;
&lt;li&gt;   Create a Receipt after receiving the goods&lt;/li&gt;
&lt;li&gt;   Create an Invoice in AP&lt;/li&gt;
&lt;li&gt;   Pay the invoice&lt;/li&gt;
&lt;li&gt;   Transfer, Import and Post Journal to GL&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now coming to Requisition there are two types:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Internal Requisition&lt;/li&gt;
&lt;li&gt; Purchase Requisition&lt;/li&gt;
&lt;/ol&gt;

&lt;h5&gt;
  
  
  Requisition Types:
&lt;/h5&gt;

&lt;ol&gt;
&lt;li&gt; Internal Requisition: Internal requisitions provide the mechanism for requesting and  transferring material from one inventory to another inventory&lt;/li&gt;
&lt;li&gt; Purchasing Requisition: Purchase requisitions are used for requesting material from Suppliers.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Request For Quotation (RFQ)
&lt;/h2&gt;

&lt;p&gt;A request for quotation (RFQ) is sent to a supplier to request pricing and other information for an item. A quotation is the supplier’s response to that RFQ. You send an RFQ to a supplier by fax, making a phone call, or using the Oracle iSupplier Portal. A supplier can send a quotation, whether or not in response to an RFQ, through the Purchasing Documents Open Interface. If you don’t receive quotations electronically from your supplier, you can create the quotation manually using the Quotations window or copy the quotation from an RFQ.&lt;/p&gt;

&lt;p&gt;Internal Requisitions are created if the Items are to be imported from one Inventory location to another location in the same organization. Here the source of the requisition would be INVENTORY. There is no approval process for internal requisition.&lt;br&gt;
Purchase Requisitions are created if the goods are to be imported from external suppliers. Here the source of the requisition would be SUPPLIERS. The purchase requisition has been sent for approval.&lt;br&gt;
Status of Purchase Requisitions&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;   Incomplete&lt;/li&gt;
&lt;li&gt;   In Process, &lt;/li&gt;
&lt;li&gt;   Pre-Approved,&lt;/li&gt;
&lt;li&gt;   Approved,&lt;/li&gt;
&lt;li&gt;   Cancelled, &lt;/li&gt;
&lt;li&gt;   Rejected,&lt;/li&gt;
&lt;li&gt;   Returned
Going ahead we will discuss the various APPROVAL METHODS for the Requisitions&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Why do we need requisition approval?
&lt;/h5&gt;

&lt;p&gt;Requisition approval is required to restrict the requisition that has been raised.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Requisition approvals can be done in two ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;   EMP/SUPERVISOR Hierarchy&lt;/li&gt;
&lt;li&gt;&lt;p&gt;POSITION Hierarchy&lt;br&gt;
In the EMP/SUPERVISOR Hierarchy, based on the requisition amount raised, the requisition travels the hierarchy and reaches the appropriate person who has the authority to approve or reject the requisition.&lt;br&gt;
In the POSITION Hierarchy, the requisition may reach the appropriate person who has the authority to approve it in two ways:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Direct&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hierarchy&lt;br&gt;
To avoid confusion between the two approval methods(POSITION Hierarchy and EMP/SUPERVISOR Hierarchy), So in the case of POSITION Hierarchy, there might be many hierarchies which can be named at one time which is not possible in the case of EMP/SUPERVISOR Hierarchy where only one hierarchy is allowed at one time.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;Purchase Order Types&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There are mainly 4 types of Purchase Orders&lt;br&gt;
·         Standard Purchase Order&lt;br&gt;
·         Blanket Purchase Agreements&lt;br&gt;
·         Contract Purchase Agreements&lt;br&gt;
·         Planned Purchase Orders&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Standard Purchase Order
&lt;/h4&gt;

&lt;p&gt;You generally create standard purchase orders for one-time purchases of various items. You create standard purchase orders when you know the details of the goods or services you require, estimated costs, quantities, delivery schedules, and accounting distributions. &lt;br&gt;
Blanket Purchase Agreements (BPA)&lt;br&gt;
You create blanket purchase agreements when you know the details of the goods or services you plan to buy from a specific supplier in a period, but you do not yet know the details of your delivery schedules. You can use blanket purchase agreements to specify negotiated prices for your items before purchasing them.&lt;br&gt;
You can issue a Blanket release against a BPA to place the actual order (as long as the release is within the blanket agreement effective dates).&lt;/p&gt;

&lt;h4&gt;
  
  
  Contract Purchase Agreements
&lt;/h4&gt;

&lt;p&gt;You create contract purchase agreements with your suppliers to agree on specific terms and conditions without indicating the goods and services that you will be purchasing. You can later issue standard purchase orders referencing your contracts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Planned Purchase Orders
&lt;/h4&gt;

&lt;p&gt;A planned purchase order is a long-term agreement committing to buying items or services from a single source. You must specify tentative delivery schedules and all details for goods or services that you want to buy, including charge account, quantities, and estimated cost. &lt;br&gt;
You can issue scheduled releases against a planned purchase order to place the actual orders. If you use encumbrance accounting, you can use the planned purchase order to reserve funds for long-term agreements.&lt;/p&gt;

&lt;p&gt;PO Match Options in Oracle Apps&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Invoice Match to PO &lt;/li&gt;
&lt;li&gt; Invoice Match to Receipt&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Status of PO in Oracle Apps&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Incomplete&lt;/li&gt;
&lt;li&gt;Requires Re-approval&lt;/li&gt;
&lt;li&gt;Approved&lt;/li&gt;
&lt;li&gt;In-process&lt;/li&gt;
&lt;li&gt;Pre-approved&lt;/li&gt;
&lt;li&gt;Rejected&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Match Approval Level: 2-Way, 3-Way, 4-Way.&lt;/em&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  In 2-way:
&lt;/h6&gt;

&lt;p&gt;Whatever you have ordered for the PO you will make the payment for the suppliers in 2- ways i.e. we will compare two documents PO and Invoice.&lt;br&gt;
2-way matching verifies that the Purchase order and invoice information match within your tolerances:&lt;br&gt;
Quantity billed &amp;lt;= Quantity Ordered&lt;br&gt;
Invoice price &amp;lt;= Purchase order price&lt;br&gt;
E.g.: Suppose we Had given PO for 100 items, for that we will receive an invoice for 100 items. so that we can make payment for those 100 items.&lt;/p&gt;

&lt;h6&gt;
  
  
  In 3-Way
&lt;/h6&gt;

&lt;p&gt;You will compare 3 documents i.e. PO+reciept+Invoice.&lt;br&gt;
3-way matching verifies that the receipt and invoice information match with the quantity tolerances defined:&lt;br&gt;
Quantity billed &amp;lt;= Quantity received.&lt;br&gt;
E.g.: Suppose we have ordered 100 items in PO. We had received only 75 items, but we had received an invoice for 75 items. So, we will make payment for only 75 items.&lt;/p&gt;

&lt;h6&gt;
  
  
  In 4-Way
&lt;/h6&gt;

&lt;p&gt;You will compare 4 documents i.e. PO+Receipt+Invoice+Inspection.&lt;br&gt;
4-way matching verifies that acceptance documents and invoice information match within the quantity tolerances defined:&lt;br&gt;
Quantity billed &amp;lt;= Quantity accepted.&lt;br&gt;
E.g.: Suppose we have 100 items in PO. Suppers send us 75 items we will do the inspection on those items whatever we have received if 15 items got damaged. Finally, we are going to make payment to the 60 items only&lt;/p&gt;

&lt;p&gt;Types of Invoices in Oracle Payables &lt;br&gt;
Types of Invoices in AP:&lt;/p&gt;

&lt;p&gt;The different types of invoices available in Payables are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standard Invoices: Standard invoices are invoices issued by a supplier to the buyer, representing the amount due for the products or services the supplier has provided to the buyer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Standard invoices can be either matched to a purchase order or not matched.&lt;/p&gt;

&lt;p&gt;A standard invoice must be a positive amount. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mixed Invoices: Mixed invoices are invoices which can have either positive or negative amounts and can be matched to both purchase orders and invoices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, if there is a mixed invoice for $-1000, you can either match it to an invoice with $-1000 or a purchase order with an amount of $1000.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Credit Memo: A credit memo is an invoice raised by the supplier to the buyer with a negative amount. It reduces the supplier balance and reduces the liability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, the customer has returned some of the goods that he purchased; the supplier sends a credit memo to the buyer to adjust the balance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debit Memo: A debit memo is an invoice raised by the customer to the supplier with a negative amount.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The functionality of a Debit Memo is the same as a Credit Memo. Both are to reduce the liability.&lt;/p&gt;

&lt;p&gt;The purpose of Debit Memos is to record a credit for a supplier who does not send you a credit memo.&lt;/p&gt;

&lt;p&gt;Unlike in AR, both Credit memos and Debit memos have negative signs in Payables.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Prepayment: Prepayments are invoices raised to record advance payments to a supplier or employee.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expense Reports: Expense reports are the invoices that represent the amount due to an employee for all his business-related expenses.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Withholding Tax:  After you apply withholding tax to an invoice, you can optionally create invoices to remit withheld tax to the tax authority.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Payables can automatically create withholding tax invoices, or you can perform this task manually. If you choose to automatically create withholding tax invoices, you must choose whether to do this during Invoice Validation or payment processing.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick invoices: Used for quick, high-volume invoice entry for invoices that do not require extensive validation and defaults. After entry, you import these into the Payables system. Validation and defaulting occur during the import&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>oracle</category>
      <category>p2p</category>
      <category>oracleapps</category>
      <category>erp</category>
    </item>
    <item>
      <title>Clusters-using-K-mean-on-beer-dataset</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Thu, 31 Mar 2022 03:52:19 +0000</pubDate>
      <link>https://forem.com/rado_mayank/clusters-using-k-mean-on-beer-dataset-3fa8</link>
      <guid>https://forem.com/rado_mayank/clusters-using-k-mean-on-beer-dataset-3fa8</guid>
      <description>&lt;p&gt;Company X would like to enter the market with a new beer brand. Before it decides the kind of beer it will launch, it must understand what kinds of products already exist in the market and what kinds of segments the products address. To understand the segments, the company collects specifications of few samples of beer brands (as given in the Beer Dataset). Assuming there are 3 segments, use K-Means Algorithm to create three clusters using the Beer Dataset. Once the clusters are finalized, interpret the clusters for company X.&lt;/p&gt;

&lt;p&gt;Dataset and source code - &lt;br&gt;
&lt;a href="https://github.com/mayankchaudhary26/Clusters-using-K-mean-on-beer-dataset" rel="noopener noreferrer"&gt;https://github.com/mayankchaudhary26/Clusters-using-K-mean-on-beer-dataset&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoej3q415bq6xlcn0sxv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcoej3q415bq6xlcn0sxv.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6twpgf7jvzye2lmacwc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6twpgf7jvzye2lmacwc.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffelz6vsjotr4a0dht5f6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffelz6vsjotr4a0dht5f6.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff78qo7t2qo78b8r4irxo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff78qo7t2qo78b8r4irxo.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>python</category>
    </item>
    <item>
      <title>Hacktoberfest 2021 with QuestDB community</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Thu, 28 Oct 2021 18:03:01 +0000</pubDate>
      <link>https://forem.com/rado_mayank/hacktoberfest-2021-with-questdb-community-37i8</link>
      <guid>https://forem.com/rado_mayank/hacktoberfest-2021-with-questdb-community-37i8</guid>
      <description>&lt;h5&gt;
  
  
  QuestDB is the fastest open source time series database. Key features :
&lt;/h5&gt;


&lt;li&gt; Reduce hardware costs


&lt;/li&gt;
&lt;li&gt; Contain operational complexity


&lt;/li&gt;
&lt;li&gt; Decrease development costs


&lt;/li&gt;
&lt;li&gt; Cloud native (AWS, Azure, GCP)


&lt;/li&gt;
&lt;li&gt; On-premises or embedded

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ekcgqohs46mz0phdawg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ekcgqohs46mz0phdawg.jpg" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Hacktoberfest 2021 with QuestDB!
&lt;/h3&gt;

&lt;p&gt;QuestDB is participating as an open source project. We're super excited to meet with other open source contributors and maintainers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vf2j5kvsjgse59ffv44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vf2j5kvsjgse59ffv44.png" alt="Image description" width="500" height="502"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;As a way of saying "thank you" for being part of the journey, we want to offer contributors some of our stickers, pins, t-shirts, and awesome virtual swag.&lt;/p&gt;
&lt;h5&gt;
  
  
  Level 1
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frudlphx77mva1e79fs7v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frudlphx77mva1e79fs7v.png" alt="Image description" width="500" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Show the love&lt;br&gt;
To claim your swag for the this level:&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt; You have starred QuestDB GitHub repository - &lt;a href="https://github.com/questdb/questdb" rel="noopener noreferrer"&gt;https://github.com/questdb/questdb&lt;/a&gt;


&lt;/li&gt;
&lt;li&gt; You have watched our Stack Overflow tag - &lt;a href="https://stackoverflow.com/questions/tagged/questdb" rel="noopener noreferrer"&gt;https://stackoverflow.com/questions/tagged/questdb&lt;/a&gt;


&lt;/li&gt;
&lt;li&gt; You have joined our Community Slack - &lt;a href="https://slack.questdb.io/" rel="noopener noreferrer"&gt;https://slack.questdb.io/&lt;/a&gt;
&lt;h5&gt;
  
  
  Level 2
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc6vtswdjaiuy7a0ht5w8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc6vtswdjaiuy7a0ht5w8.png" alt="Image description" width="501" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open-source contributor&lt;br&gt;
To claim your swag for the this level:&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt; You have asked or answered a question on Stack Overflow with the QuestDB tag


&lt;/li&gt;
&lt;li&gt; You have opened a valid GitHub issue or Pull Request
&lt;h5&gt;
  
  
  Level 3
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0elvmfhxa12ut5x71lv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0elvmfhxa12ut5x71lv.png" alt="Image description" width="500" height="587"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Dedicated to the Quest&lt;br&gt;
&lt;/p&gt;


&lt;/li&gt;
&lt;li&gt; To claim your swag for the this level:




&lt;/li&gt;
&lt;li&gt; You have written a tutorial or guide using QuestDB



&lt;p&gt;How can you claim swag?&lt;/p&gt;



&lt;p&gt;Fill out the swag request form &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSfI3VUwXpHT1TbZYjUkYFQpuyfhWicWu2zA0NBGP0pO3ImITA/viewform" rel="noopener noreferrer"&gt;https://docs.google.com/forms/d/e/1FAIpQLSfI3VUwXpHT1TbZYjUkYFQpuyfhWicWu2zA0NBGP0pO3ImITA/viewform&lt;/a&gt; with required information. And our team will validate your request!   &lt;/p&gt;


&lt;/li&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>sql</category>
    </item>
    <item>
      <title>Instagram clone</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Wed, 13 Oct 2021 10:50:52 +0000</pubDate>
      <link>https://forem.com/rado_mayank/instagram-clone-he8</link>
      <guid>https://forem.com/rado_mayank/instagram-clone-he8</guid>
      <description>&lt;p&gt;Build a frontend clone for Instagram using HTML, CSS, and JavaScript skills.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1ng9pd71jvt2sco2fds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1ng9pd71jvt2sco2fds.png" alt="logo" width="103" height="29"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code&lt;/strong&gt; - &lt;a href="https://github.com/mayankchaudhary26/Instagram-Clone-Project" rel="noopener noreferrer"&gt;https://github.com/mayankchaudhary26/Instagram-Clone-Project&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.&lt;br&gt;
View the optimal layout for the site depending on their device's screen size See hover states for all interactive elements on the page Download the starter code and go through the README.md file. This will provide further details about the project. The style-guide.md file is where you'll find colors, fonts, etc.&lt;/p&gt;

&lt;p&gt;The designs are in image formats (sketch and figma designs coming soon).&lt;/p&gt;

&lt;p&gt;You will find all the required assets in the /assets folder. These include images, fonts, etc.&lt;/p&gt;

&lt;p&gt;There is also a style-guide.html file containing the information you'll need, such as color palette and font names. Make sure to open this in the browser to see the contents.&lt;br&gt;
Submit your solution on the platform for the rest of the community to see. Find this project on codedamn projects page for tips on how to do this.&lt;br&gt;
You will find all the required assets in the /assets folder. These include images, fonts, etc.&lt;/p&gt;

&lt;p&gt;Remember, if you're looking for feedback on your solution, be sure to ask questions when submitting it. The more specific and detailed you are with your questions, the higher the chance you'll get valuable feedback from the community.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Your project should:&lt;/p&gt;


&lt;li&gt; Be responsive for desktop and mobile phones
&lt;/li&gt;
&lt;li&gt; Have minimum functionalities and effects working
Style guide :

&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefttp0k1zp6mffmcm73s.png" alt="image" width="800" height="279"&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Body&lt;/strong&gt;&lt;br&gt;
FONT FAMILY -apple-system, system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif&lt;/p&gt;




&lt;/li&gt;
&lt;li&gt; FONT SIZE
16px




&lt;/li&gt;
&lt;li&gt; FONT STYLE
normal




&lt;/li&gt;
&lt;li&gt; FONT HEIGHT
normal


&lt;p&gt;&lt;strong&gt;Final Output&lt;/strong&gt; - &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4obmleyvgcscru9b0x86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4obmleyvgcscru9b0x86.png" alt="image" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;/li&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>html</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Hacktoberfest 2021👕👩‍💻 -Resources</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Mon, 04 Oct 2021 11:31:15 +0000</pubDate>
      <link>https://forem.com/rado_mayank/hacktoberfest-2021-resources-1k6e</link>
      <guid>https://forem.com/rado_mayank/hacktoberfest-2021-resources-1k6e</guid>
      <description>&lt;h1&gt;
  
  
  Hacktoberfest-2021
&lt;/h1&gt;

&lt;p&gt;A platform for developers 👩‍💻  who wants to participate in Hacktoberfest 2021 👕&lt;/p&gt;

&lt;p&gt;You can contribute to my "hacktoberfest" labeled repository:&lt;br&gt;
☞ &lt;a href="https://github.com/mayankchaudhary26/Hacktoberfest-2021" rel="noopener noreferrer"&gt;https://github.com/mayankchaudhary26/Hacktoberfest-2021&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Rules for contributing to this repository :
&lt;/h4&gt;


&lt;li&gt;  Please do not edit README.md, this will not be accepted as a valid PR.
&lt;/li&gt;
&lt;li&gt;  You can submit a basic working project or a program.
&lt;/li&gt;
&lt;li&gt;  Use capital letters for the starting alphabet and appropriate language extensions like: (Snake game.py), (Calculator.cpp), (Bubble sort.java)
&lt;/li&gt;
&lt;li&gt;  Provide your details (Name, College/School/Work) while making a PR.
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  id (required): The name of the author, (College/School/Work) 
  bio (optional): A short, meaningful intro about you.
  social profiles (optional)
&lt;/code&gt;&lt;/pre&gt;


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

&lt;h6&gt;
  
  
  You can sign up anytime between October 1 and October 31. Just be sure to sign up on the official Hacktoberfest website for your pull requests to count.
&lt;/h6&gt;

&lt;p&gt;🡺🡺🡺🡺   &lt;a href="https://hacktoberfest.digitalocean.com" rel="noopener noreferrer"&gt;https://hacktoberfest.digitalocean.com&lt;/a&gt;   🡸🡸🡸🡸&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
There are many companies giving out free swag for Hacktoberfest and this list seeks to find them all!&lt;/p&gt;

&lt;p&gt;🡺🡺🡺🡺 &lt;a href="https://hacktoberfestswaglist.com" rel="noopener noreferrer"&gt;https://hacktoberfestswaglist.com&lt;/a&gt; 🡸🡸🡸🡸&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Hacktoberfest encourages participation in the open source community, which grows bigger every year. Complete the 2021 challenge and earn a limited edition T-shirt.
&lt;/h4&gt;

&lt;p&gt;Every year in October we celebrate Hacktoberfest which is an open-source celebration for our global community. This fest is open to everyone worldwide whether you're a student starting to learn code, developers, event host, or even a company of any size. Hacktoberfest is gaining popularity every year and in 2020 around the first 70,000 participants were eligible to get the limited-edition T-shirt and cool stickers. This fest is playing a vital role in generating awareness and helping to drive the growth of open-source contributions for an ever-growing community. People from all backgrounds and skill levels are encouraged to complete the challenge.&lt;/p&gt;




&lt;/li&gt;
&lt;li&gt; Hacktober is a global event and anyone can participate irrespective of their background and skill levels
&lt;/li&gt;
&lt;li&gt; Participants who successfully complete the challenge will be eligible to receive a limited-edition T-shirt👕and lots of cool stickers👨‍💻from Hacktoberfest sponsors like Dev, Github, Digitalocean, and intel.
&lt;/li&gt;
&lt;li&gt; Four pull requests must be submitted to public Github repositories with ‘hacktoberfest’ tag OR the maintainer can accept your PullRequest by merging it, adding the “hacktoberfest-accepted” label to it, or approving it.



&lt;h4&gt;
  
  
  **From last year -
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4nzxs5agneetvx616xg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk4nzxs5agneetvx616xg.png" alt="image" width="800" height="598"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/dsc-msit/hacktoberfest-open-source-celebration-with-a-reward-78610043375a" rel="noopener noreferrer"&gt;https://medium.com/dsc-msit/hacktoberfest-open-source-celebration-with-a-reward-78610043375a&lt;/a&gt;&lt;/p&gt;


&lt;/li&gt;

</description>
      <category>beginners</category>
      <category>hacktoberfest</category>
      <category>github</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Intro to Git &amp; Github</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Tue, 21 Sep 2021 05:47:24 +0000</pubDate>
      <link>https://forem.com/rado_mayank/intro-to-git-github-3gbf</link>
      <guid>https://forem.com/rado_mayank/intro-to-git-github-3gbf</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Git?&lt;/strong&gt;&lt;br&gt;
Git is the most popular version control system in the world. Without a version control system, we’ll have to constantly store copies of the entire project in various folders. This is very slow and doesn't scale at all, especially when multiple people have to work on the same project. Well, this is very computationally intensive and no one will love doing so.&lt;/p&gt;

&lt;p&gt;Git comes under the Distributed system type, which means every team member has a copy of the project and its history on their machine, so they can save a screenshot on their machine locally. This means if the central server is offline they can synchronize their work directly with the others (which isn't possible in a Centralized system)&lt;br&gt;
So, why Git&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is an open-source system&lt;/li&gt;
&lt;li&gt;Git is super fast and free&lt;/li&gt;
&lt;li&gt;Operations are easy and scalable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Download for Linux and Unix&lt;/strong&gt;&lt;br&gt;
It is easiest to install Git on Linux using the preferred package manager of your Linux distribution. If you prefer to build from source, you can find tarballs on kernel.org. The latest version is 2.29.2.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo apt-get install git&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download for Windows&lt;/strong&gt;&lt;br&gt;
Git for Windows Setup&lt;/p&gt;
&lt;h6&gt;
  
  
  # 32-bit Git for Windows Setup - &lt;a href="https://github.com/git-for-windows/git/releases/download/v2.29.2.windows.2/Git-2.29.2.2-32-bit.exe" rel="noopener noreferrer"&gt;https://github.com/git-for-windows/git/releases/download/v2.29.2.windows.2/Git-2.29.2.2-32-bit.exe&lt;/a&gt;.
&lt;/h6&gt;
&lt;h6&gt;
  
  
  # 64-bit Git for Windows Setup - &lt;a href="https://github.com/git-for-windows/git/releases/download/v2.29.2.windows.2/Git-2.29.2.2-64-bit.exe" rel="noopener noreferrer"&gt;https://github.com/git-for-windows/git/releases/download/v2.29.2.windows.2/Git-2.29.2.2-64-bit.exe&lt;/a&gt;.
&lt;/h6&gt;

&lt;p&gt;========================================&lt;br&gt;
How set your username &amp;amp; email&lt;br&gt;
Open your Ubuntu command line(I am going to use it as I work through this post)&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --global user.name mayank26&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;For setting up the email&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --global user.email chaudhary.mayank26@gmail.com&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To see user details that you registered as&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git config --list&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;To shows the contents of all directories in the current directory&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ls -al&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;The output will look something like this&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgajc5ngxiwpw0umfhkq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgajc5ngxiwpw0umfhkq.png" alt="image" width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git init&lt;/strong&gt;&lt;br&gt;
The “init” command creates a brand new Git repository.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git init&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git status&lt;/strong&gt;&lt;br&gt;
Running git status will show you which files are currently in the staging area.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git add&lt;/strong&gt;&lt;br&gt;
Running git add moves the file/files in the staging area. This helps you to preview your changes before you commit.&lt;br&gt;
To add a single file&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git add&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git rm&lt;/strong&gt;&lt;br&gt;
git rm is used to remove a file from a Git repository.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git rm&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;is the main function for saving changes to the local repository safely. Commit takes a snapshot of the project and treats it as a version.&lt;br&gt;
&lt;strong&gt;git commit&lt;/strong&gt;&lt;br&gt;
It is the main function for saving changes to the local repository safely. Commit takes a snapshot of the project and treats it as a version.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git commit&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git log&lt;/strong&gt;&lt;br&gt;
This helps you to see the commit history. Each commit has a unique id, the author details, date, time, and the commit message.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;git log — oneline&lt;/strong&gt;&lt;br&gt;
git log — oneline show the shorter version(log in one line). It includes the id and the commit message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## get commits by a specific author
    git log --author mayank

    ## get commits by message
    ## get commit that contains 'index'
    git log --all --grep index

    ## get commit in the last 2 weeks
    git log --since=2.weeks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;What is Github?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwazyxmvqpeo6rtqbyls1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwazyxmvqpeo6rtqbyls1.png" alt="image" width="625" height="252"&gt;&lt;/a&gt;&lt;br&gt;
It is the largest open source community in the world. Open-source software is free for you to use and explore. Amazing developers use GitHub. Contribute code to projects that change how software is built.&lt;br&gt;
To upload your file on GitHub via Git, follow these commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## creates a brand new Git repository
git init

## to adds the content of the specified file(s) at the time the add command is run
git add .

## now take the staged snapshot and commits it to the project history.
git commit -m "adding files"

## add your work to the github repo.  
git remote add origin https://github.com/yourusername/your-repo-name.git
git push -u origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>github</category>
      <category>git</category>
      <category>commands</category>
      <category>commandline</category>
    </item>
    <item>
      <title>Google Tools that you should use</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Mon, 20 Sep 2021 18:24:32 +0000</pubDate>
      <link>https://forem.com/rado_mayank/google-tools-that-you-should-use-4eb9</link>
      <guid>https://forem.com/rado_mayank/google-tools-that-you-should-use-4eb9</guid>
      <description>&lt;p&gt;These are some of the Google Tools that you should try. They are easy to use, interactive, creative, powerful, and are helping Google to achieve its motto :&lt;br&gt;
Our mission is to organize the world’s information and make it universally accessible and useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Firebase&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83xywsgil918h1xrvxkn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83xywsgil918h1xrvxkn.png" alt="image" width="800" height="365"&gt;&lt;/a&gt;&lt;br&gt;
Firebase is a platform that helps you in creating web and mobile applications. This platform is very famous and most of already knows about it.&lt;br&gt;
The Firebase platform helps to develop high-quality apps quickly and more effectively. It has products split into three groups: Develop, Quality, and Grow.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/iosNuIdQoy8"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Google Trends&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6znxgtpagkga1el4eig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6znxgtpagkga1el4eig.png" alt="image" width="800" height="369"&gt;&lt;/a&gt;&lt;br&gt;
Google Trends is a search trend feature from Google that shows how frequently a search term is entered into Google’s search engine relative to the site’s total search. Google Trends helps to compare the relative search volume of searches between different terms. This platform provides an analytical search.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3. Google Fonts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6aosprw8yjfb8u1vm45.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6aosprw8yjfb8u1vm45.png" alt="image" width="800" height="367"&gt;&lt;/a&gt;&lt;br&gt;
Google Fonts is a simple library of more than a thousand free licensed font families, it is an interactive web directory for browsing the library, and APIs for conveniently using the fonts. Their most famous fonts are Roboto and Goldman.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4. Google Books Ngram Viewer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9zwldtt5nultz9nz8nm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9zwldtt5nultz9nz8nm.png" alt="image" width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
The Google Ngram Viewer is a web application that displays the usage of words or phrases over time, sampled from the millions of books that Google has scanned. It has year-wise sections for the result and gives us graphical output too.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qzbjPq8vwx8"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;strong&gt;5. Google Sky&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6mid7ddo55nv1ywyje6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6mid7ddo55nv1ywyje6.png" alt="image" width="800" height="375"&gt;&lt;/a&gt;&lt;br&gt;
Most of us don’t know about this platform. Google Sky Maps shows us more deeper and detailed information in the sense of pictorial representations of all the famous known galaxies, planets, stars, etc. These images are from different Sky Surveys and from the famous Hubble Space Telescope.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/gX9MeF2Au9c"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6. Google Data Studio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1q1ibt8bgq9mm4qfj10w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1q1ibt8bgq9mm4qfj10w.png" alt="image" width="800" height="323"&gt;&lt;/a&gt;&lt;br&gt;
Data Studio is a free-to-use tool that helps you to convert your data into much more informative, easy to read, share, and fully customizable reports. Data Studio helps you to create reports on data from a myriad variety of sources, even without programming.&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/4lPmu8fsOHc"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;7. Google Public Data Explorer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9p31fv1twisu4h6k0169.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9p31fv1twisu4h6k0169.png" alt="image" width="800" height="536"&gt;&lt;/a&gt;&lt;br&gt;
The Google Public Data Explorer helps to create large datasets easy to visualize and explore. These can be displayed in different kinds of graphs like a bar, line, cross-sectional graph plots, or simply on maps. &lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/AM6w_tUlIn4"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;br&gt;  &lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>google</category>
      <category>firebase</category>
      <category>database</category>
    </item>
    <item>
      <title>Emotion Detection 😠🤢😱😇😐☹️😲 CNN using keras</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Sat, 21 Aug 2021 17:42:47 +0000</pubDate>
      <link>https://forem.com/rado_mayank/emotion-detection-cnn-using-keras-20n7</link>
      <guid>https://forem.com/rado_mayank/emotion-detection-cnn-using-keras-20n7</guid>
      <description>&lt;p&gt;We will use 7 emotions namely - We have use 7 emotions namely - 'Angry'😠, 'Disgust'🤢, 'Fear'😱, 'Happy'😇, 'Neutral'😐, 'Sad'☹️, 'Surprise'😲 to train and test(validation) our algorithm using Convolution Neural Networks. You can directly use kaggle kernel notebook, so that you don't need to download the dataset. Also, you can download your code and run it in your local device directly. &lt;br&gt;
Kaggle notebook -  &lt;a href="https://www.kaggle.com/mayank7900/notebook0a0917a828/edit" rel="noopener noreferrer"&gt;https://www.kaggle.com/mayank7900/notebook0a0917a828/edit&lt;/a&gt;&lt;br&gt;
&lt;br&gt; &lt;/p&gt;
&lt;h2&gt;
  
  
  Tools and Libraries used -
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Install anaconda&lt;/li&gt;
&lt;li&gt;Jupyter notebook&lt;/li&gt;
&lt;li&gt;VSCode&lt;/li&gt;
&lt;li&gt;matplotlib &lt;/li&gt;
&lt;li&gt;numpy&lt;/li&gt;
&lt;li&gt;openCV&lt;/li&gt;
&lt;li&gt;keras

&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Given dataset of different expressions:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.kaggle.com/jonathanoheix/face-expression-recognition-dataset" rel="noopener noreferrer"&gt;https://www.kaggle.com/jonathanoheix/face-expression-recognition-dataset&lt;/a&gt;&lt;br&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbce37h888jv5mw9uu1k7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbce37h888jv5mw9uu1k7.png" alt="Screenshot (249)" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Screenshot of some angry expressions from the dataset on kaggle:&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro6l2u6nolark9a44atu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fro6l2u6nolark9a44atu.png" alt="image" width="800" height="494"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;source code - &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--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/mayankchaudhary26" rel="noopener noreferrer"&gt;
        mayankchaudhary26
      &lt;/a&gt; / &lt;a href="https://github.com/mayankchaudhary26/Emotion_Detection_CNN_keras" rel="noopener noreferrer"&gt;
        Emotion_Detection_CNN_keras
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Train and test our algorithm using Convolution Neural Networks and classify emotions in real-time.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Emotion_Detection_CNN_keras&lt;/h1&gt;

&lt;/div&gt;
&lt;p&gt;We will use 7 emotions namely - 'Angry'😠, 'Disgust'🤢, 'Fear'😱, 'Happy'😇, 'Neutral'😐, 'Sad'☹️, 'Surprise'😲 to train and test our algorithm using Convolution Neural Networks.
&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/56837137/129614646-5261538f-e67e-45ef-969d-91cce64fc103.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3V3Xic4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://user-images.githubusercontent.com/56837137/129614646-5261538f-e67e-45ef-969d-91cce64fc103.png" alt="Screenshot (237)"&gt;&lt;/a&gt;
&lt;br&gt;&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/56837137/131206178-8d1ab437-6f7e-42e9-a030-7270a5b8167f.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1CYysn4Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://user-images.githubusercontent.com/56837137/131206178-8d1ab437-6f7e-42e9-a030-7270a5b8167f.png" alt="Screenshot (259)"&gt;&lt;/a&gt;
&lt;br&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;You need a dataset with different emotions :&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/56837137/131181675-9a6502e6-9b94-4417-b9fc-453b8117ed03.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cJ9Hu-jY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://user-images.githubusercontent.com/56837137/131181675-9a6502e6-9b94-4417-b9fc-453b8117ed03.png" alt="image"&gt;&lt;/a&gt;
&lt;br&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Given dataset of different expressions on kaggle:&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://www.kaggle.com/jonathanoheix/face-expression-recognition-dataset" rel="nofollow noopener noreferrer"&gt;https://www.kaggle.com/jonathanoheix/face-expression-recognition-dataset&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/56837137/130905699-4461f2d1-6471-43b6-bef6-eac13b8b1d34.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EAbZ058L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://user-images.githubusercontent.com/56837137/130905699-4461f2d1-6471-43b6-bef6-eac13b8b1d34.png" alt="Screenshot (249)"&gt;&lt;/a&gt;
&lt;br&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/mayankchaudhary26/Emotion_Detection_CNN_keras" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4tg1roi2w74yy7ujk78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4tg1roi2w74yy7ujk78.png" alt="Screenshot (257)" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt; &lt;/p&gt;

&lt;p&gt;Emotion Detection — Classifying the emotion on the face as emotion_labels = ['Angry','Disgust','Fear','Happy','Neutral', 'Sad', 'Surprise']&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqcvgpqpziy0a2fkh5dp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqcvgpqpziy0a2fkh5dp.png" alt="Screenshot (256)" width="800" height="399"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95umy1el5pdy0jj3om76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95umy1el5pdy0jj3om76.png" alt="Screenshot (254)" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>keras</category>
      <category>python</category>
      <category>cnn</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>My 2020-2021 swag collection👕</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Sat, 31 Jul 2021 16:39:43 +0000</pubDate>
      <link>https://forem.com/rado_mayank/my-2020-2021-swags-collection-2o4g</link>
      <guid>https://forem.com/rado_mayank/my-2020-2021-swags-collection-2o4g</guid>
      <description>&lt;p&gt;I was able to participate in different virtual events and hackathons. These events provide amazing swags that includes a wide range of freebies like cool stickers, socks, bottles or t-shirts. You can earn these after completing some assigned tasks or even by participating (visiting the sponsor booth)&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr50f8oamu0x0z817zj3s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr50f8oamu0x0z817zj3s.jpg" alt="Alt Text" width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
These events includes:&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;1. Hacktoberfest&lt;/strong&gt; (every year in October)&lt;br&gt;
Merge 4 pull-requests in any repository labelled as hacktoberfest successfully. First, 70,000 participants who successfully complete the challenge will be eligible to receive a limited-edition T-shirt👕and lots of cool stickers&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4vi0onvol67ym27pmt6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4vi0onvol67ym27pmt6.jpg" alt="Alt Text" width="800" height="598"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Post -&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/rado_mayank" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F456441%2F6c3833f2-c95f-473b-80a4-08a5df2774ec.jpeg" alt="rado_mayank"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/rado_mayank/hacktoberfest-free-tshirt-cool-stickers-swag-october-2020-5deb" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Hacktoberfest- Free Tshirt &amp;amp; Cool Stickers Swag(October 2020)&lt;/h2&gt;
      &lt;h3&gt;Mayank Choudhary ・ Sep 28 '20&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#hacktoberfest&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#eventsinyourcity&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;2. {FUTURE}STACK LEVEL-UP&lt;/strong&gt;&lt;br&gt;
As a small token of thanks for visiting Nerd Island at FutureStack, they have send some FutureStack and Relicans stickers.&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1421370206421614594-372" src="https://platform.twitter.com/embed/Tweet.html?id=1421370206421614594"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1421370206421614594-372');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1421370206421614594&amp;amp;theme=dark"
  }



&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;3. Github Remote Graduation 2021&lt;/strong&gt;&lt;br&gt;
The first 5,000 pull requests successfully merged into the repository by May 27 will receive custom swag in the mail.&lt;br&gt;
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx438thbqfmxfovcq93kp.jpg" alt="Alt Text" width="800" height="600"&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;4. Veeam AWS Summit EMEA 2021&lt;/strong&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlp1k66o7ef7ht6bm1d9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlp1k66o7ef7ht6bm1d9.png" alt="image" width="675" height="1200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frauvft0l4oby3fenxusg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frauvft0l4oby3fenxusg.png" alt="image" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;5. Jfrog Challenge&lt;/strong&gt;&lt;br&gt;
Take the JFrog Docker Challenge and win an exclusive JFrog T-shirt!&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1324314744539340806-714" src="https://platform.twitter.com/embed/Tweet.html?id=1324314744539340806"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1324314744539340806-714');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1324314744539340806&amp;amp;theme=dark"
  }



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

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;6. Vonage (Hactoberfest challenge)&lt;/strong&gt;&lt;br&gt;
If you have made a valid contribution to a Vonage repository, you can also receive either a pair of Bamboo Vonage Socks or a $5 Open Collective Gift Card!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvec9fi7oe18f42time81.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvec9fi7oe18f42time81.jpg" alt="vonage" width="800" height="801"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6mqe0jtfikkkzvwa0nm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6mqe0jtfikkkzvwa0nm.png" alt="image" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt; &lt;br&gt;
&lt;strong&gt;7. New relic t-shirt and mask(Kubecon NA 2021)&lt;/strong&gt;&lt;br&gt;
It was great to meet them at KubeCon 2021. As a thanking gesture, they have send a t-shirt and a mask.&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1402289479386206217-99" src="https://platform.twitter.com/embed/Tweet.html?id=1402289479386206217"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1402289479386206217-99');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1402289479386206217&amp;amp;theme=dark"
  }



&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw589rl9pcihyzsphqb5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw589rl9pcihyzsphqb5c.png" alt="image" width="780" height="1040"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;8. LogDNA t-shirt and Honeycomb.io (PagerDuty Global Summit)&lt;/strong&gt;&lt;br&gt;
Received as a token of appreciation for participating and connecting with them in PagerDuty Global Summit.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdmfta5fx3ikeiaotgd27.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdmfta5fx3ikeiaotgd27.jpeg" alt="Alt Text" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. MLH Local Hackday 2021&lt;/strong&gt;&lt;br&gt;
Every time you participate in a digital MLH Member Event they do their best to sent you a letter with stickers and other swag from their partners. &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jynhrpzowi39fxgtpe2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jynhrpzowi39fxgtpe2.png" alt="image" width="800" height="998"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;10. Loginradius (Hacktoberfest challenge)&lt;/strong&gt;&lt;br&gt;
Prove upon your debugging skills and enhance your presence in open source community with active hours on Github.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuhwe360v92za4yzwdu9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxuhwe360v92za4yzwdu9.png" alt="image" width="800" height="1049"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
I have finally updated my workplace corner with some cool stickers too.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fek4eivtb35lmi6g9s2ye.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fek4eivtb35lmi6g9s2ye.jpg" alt="Alt Text" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>swags</category>
      <category>opensource</category>
      <category>eventsinyourcity</category>
      <category>stickers</category>
    </item>
    <item>
      <title>Watch a snake-eating🐍 my contribution graph on Github</title>
      <dc:creator>Mayank Choudhary</dc:creator>
      <pubDate>Thu, 15 Jul 2021 18:38:13 +0000</pubDate>
      <link>https://forem.com/rado_mayank/watch-a-snake-eating-my-contribution-graph-on-github-96</link>
      <guid>https://forem.com/rado_mayank/watch-a-snake-eating-my-contribution-graph-on-github-96</guid>
      <description>&lt;p&gt;GitHub Actions to build and update a user's contribution graph, and then has a snake eat all your contributions. The output generates a gif file, that you can then show on your GitHub Profile README. I thought this was pretty cool, so I set about adding this to my profile.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1413355450607620107-84" src="https://platform.twitter.com/embed/Tweet.html?id=1413355450607620107"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1413355450607620107-84');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1413355450607620107&amp;amp;theme=dark"
  }



&lt;/p&gt;



&lt;h2&gt;
  
  
  Step 1. Setting up GitHub Actions
&lt;/h2&gt;

&lt;p&gt;Head to your Profile and ensure the GitHub "Actions" is setup.&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%2Fcaj2e1bwicwpalc224sr.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%2Fcaj2e1bwicwpalc224sr.jpg" alt="action button"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2. Create a yaml file on your GitHub Actions
&lt;/h2&gt;

&lt;p&gt;Make sure you create a new *.yml file under the following directory:&lt;/p&gt;

&lt;p&gt;YOUR_GITHUB_USERNAME --&amp;gt; .github --&amp;gt; workflows --&amp;gt; FILE_NAME.yml&lt;/p&gt;

&lt;p&gt;(code and further details are here -)&lt;br&gt;
&lt;a href="https://dev.to/mishmanners/how-to-enable-github-actions-on-your-profile-readme-for-a-contribution-graph-4l66"&gt;https://dev.to/mishmanners/how-to-enable-github-actions-on-your-profile-readme-for-a-contribution-graph-4l66&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Step 3. Running GitHub Actions
&lt;/h2&gt;

&lt;p&gt;Once you've added the code above (don't forget to rename your-user name instead of mine) and committed it, head to your Actions tab. Under "Workflows", you should see the "Generate Snake" Action you created above.&lt;br&gt;
Now, you should have received a green ✅ "build" checkmark. If so, this means your Action is working nicely. If not then follow this for more detailed explanation - &lt;/p&gt;



&lt;h2&gt;
  
  
  Step 4. Adding a contribution-eating snake to your profile
&lt;/h2&gt;

&lt;p&gt;You will find your something like this &lt;br&gt;
 &lt;a href="https://github.com/YOUR_USERNAME/YOUR_USERNAME/blob/output/github-contribution-grid-snake.gif" rel="noopener noreferrer"&gt;https://github.com/YOUR_USERNAME/YOUR_USERNAME/blob/output/github-contribution-grid-snake.gif&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Watch a snake-eating🐍 my contribution graph on Github&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%2F233m04x0r0lv60payria.gif" 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%2F233m04x0r0lv60payria.gif" alt="snake gif"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Once your action is live, then github will automatically commit the updated graph in every 6 hours.&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%2Fjvuuxc68qeuups6o3ki4.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%2Fjvuuxc68qeuups6o3ki4.png" alt="Screenshot (250)"&gt;&lt;/a&gt;&lt;/p&gt;

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