<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tanmay Chakrabarty</title>
    <description>The latest articles on DEV Community by Tanmay Chakrabarty (@tanmaychk).</description>
    <link>https://dev.to/tanmaychk</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%2F551091%2F531f1bcd-14e3-47f3-a7b1-e667f1a065d7.jpeg</url>
      <title>DEV Community: Tanmay Chakrabarty</title>
      <link>https://dev.to/tanmaychk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanmaychk"/>
    <language>en</language>
    <item>
      <title>Making sense of the news with GPT-3, NLTK, Python and Streamlit</title>
      <dc:creator>Tanmay Chakrabarty</dc:creator>
      <pubDate>Tue, 18 Jul 2023 14:10:20 +0000</pubDate>
      <link>https://dev.to/tanmaychk/making-sense-of-the-news-with-gpt-python-and-streamlit-33c6</link>
      <guid>https://dev.to/tanmaychk/making-sense-of-the-news-with-gpt-python-and-streamlit-33c6</guid>
      <description>&lt;p&gt;ChatGPT buzz is all around and I was keen to use the GPT-3 API in a project. In this post I will walk through the process of creating a Python web app using Streamlit, called "News 📰 Sense." The app fetches top news articles from the News API, generate summaries of each article using the OpenAI GPT-3 model, analyze the sentiment of the article using the Natural Language Toolkit (NLTK) library, and classifies the articles into different categories based on keywords. &lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Sentiment Analysis
&lt;/h2&gt;

&lt;p&gt;Sentiment analysis is a natural language processing (NLP) technique used to determine the sentiment or emotion expressed in a piece of text. It aims to understand whether the text conveys a positive, negative, or neutral sentiment. For my project I used the &lt;a href="https://www.nltk.org/_modules/nltk/sentiment/vader.html"&gt;VADER&lt;/a&gt; (Valence Aware Dictionary and sEntiment Reasoner) lexicon from the NLTK library.&lt;/p&gt;

&lt;p&gt;The VADER lexicon contains a list of words and their associated sentiment scores. It takes into account the intensity of the sentiment words and the context in which they appear to provide a compound sentiment score. A positive (pos) score indicates a positive sentiment, a negative (neg) score indicates a negative sentiment, and a score close to zero suggests a neutral (neu) sentiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Categorizing News Articles
&lt;/h2&gt;

&lt;p&gt;Categorizing news articles helps in organizing and presenting information effectively. In my app, I classify each article into predefined categories, such as Business, Technology, Sports, Entertainment, Politics, and Society. To achieve this, I created a list of keywords associated with each category. In the code I checked if any of these keywords are present in the article content, and if so, assigned the article to the corresponding category.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summarizing News Articles with GPT-3
&lt;/h2&gt;

&lt;p&gt;Summarization is the process of condensing a longer piece of text into a shorter, concise version that captures the essential information. For summarizing news articles, I used the OpenAI &lt;a href="https://platform.openai.com/docs/models/gpt-3"&gt;GPT-3 DaVinci&lt;/a&gt;, a powerful language generation model that can generate human-like text. Shameless admission: Using GPT was the main draw for this project :)&lt;/p&gt;

&lt;p&gt;GPT-3 works by taking a prompt (the news article content in our case) and generating a continuation or summary based on that prompt. We specify the maximum number of tokens for the summary to control its length. The GPT-3 model is fine-tuned to understand context and generate coherent and contextually relevant summaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  The application
&lt;/h2&gt;

&lt;p&gt;You can find the code for News 📰 Sense and instructions to use it at &lt;a href="https://github.com/tanmaychk/News-Sense"&gt;https://github.com/tanmaychk/News-Sense&lt;/a&gt;. Before starting, make sure you have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python installed on your system&lt;/li&gt;
&lt;li&gt;An API key from the News API. You can sign up and get your API key from &lt;a href="https://newsapi.org/"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;An API key from OpenAI GPT-3. You can obtain your API key from &lt;a href="https://platform.openai.com/account/api-keys"&gt;OpenAI&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What have been the Learnings
&lt;/h2&gt;

&lt;p&gt;As a developer, this project allowed me to apply various NLP concepts and technologies in a practical and meaningful way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;API Integration&lt;/strong&gt;: how to integrate external APIs like the News API and OpenAI GPT-3 API into Python code to access real-time news data and perform advanced language generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Natural Language Processing (NLP)&lt;/strong&gt;: By utilizing the NLTK library, gained insights into how NLP techniques like sentiment analysis and tokenization work. I also understood how the VADER lexicon is used to determine the sentiment of text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine Learning for Language Generation&lt;/strong&gt;: experimented with OpenAI GPT-3, a state-of-the-art language model capable of generating human-like text. I utilized it to summarize news articles, demonstrating the power of machine learning in language tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text Classification&lt;/strong&gt;: applied text classification to categorize news articles based on specific keywords. This demonstrated how NLP techniques can be used for content organization and user-friendly presentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streamlit Web App Development&lt;/strong&gt;: I had used Streamlit earlier as well, in another project. Streamlit's simplicity allows us to focus on functionality and visualization rather than dealing with web development complexities.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Further Steps
&lt;/h2&gt;

&lt;p&gt;The News Sense app can perhaps be further enhanced by incorporating user input for customized news filtering, improving summarization techniques, or integrating more advanced language models. I will implement them, when I get time.&lt;/p&gt;

&lt;p&gt;It was a joy working on the project, hope you liked it as well.&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__551091"&gt;
    &lt;a href="/tanmaychk" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GLiDtr8L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/practicaldev/image/fetch/s--m9J9C6kB--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/551091/531f1bcd-14e3-47f3-a7b1-e667f1a065d7.jpeg" alt="tanmaychk image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/tanmaychk"&gt;Tanmay Chakrabarty&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/tanmaychk"&gt;A graduate student in Computer Science passionate about applying technical skills to solve complex problems. Areas of interest: Data analysis, ML, Fintech. Open for internship roles.&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>gpt3</category>
      <category>summarization</category>
      <category>python</category>
      <category>nltk</category>
    </item>
    <item>
      <title>How I created my Portfolio website using Hugo and GitHub pages?</title>
      <dc:creator>Tanmay Chakrabarty</dc:creator>
      <pubDate>Sun, 19 Jun 2022 08:06:17 +0000</pubDate>
      <link>https://dev.to/tanmaychk/how-i-created-my-portfolio-website-using-hugo-and-github-pages-1b89</link>
      <guid>https://dev.to/tanmaychk/how-i-created-my-portfolio-website-using-hugo-and-github-pages-1b89</guid>
      <description>&lt;p&gt;Honestly, you might be coming across umpteenth article on this topic, but I had to jot down my experiments with static website setup. For the uninitiated, apart from being the name of a famous 2011 &lt;a href="https://en.wikipedia.org/wiki/Hugo_(film)"&gt;Martin Scorsese movie&lt;/a&gt;, &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; is also an extremely popular static website generator. Hugo uses data files, configuration, layout templates, static files, and content written in &lt;a href="https://en.wikipedia.org/wiki/Markdown"&gt;Markdown&lt;/a&gt; to render a static website, which means no database, blazing fast site speed and no danger of cross-site scripting and SQL injection attacks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation &amp;amp; Prerequisites
&lt;/h2&gt;

&lt;p&gt;To start with I installed Hugo on my Windows 10 laptop (instructions &lt;a href="https://gohugo.io/getting-started/installing/"&gt;here&lt;/a&gt;), I already had Git Bash installed, but it’s easy to install it from &lt;a href="https://git-scm.com/download/win"&gt;here&lt;/a&gt;. You may also choose to use a Git GUI tool like &lt;a href="https://tortoisegit.org/"&gt;Tortoise Git&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Next, I created a new Git repository at my &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; account with the name &lt;em&gt;[my-github-username].github.io&lt;/em&gt; containing just a blank README.md file (note that its necessary to name the repo this way, in order to leverage the &lt;a href="https://pages.github.com/"&gt;GitHub pages&lt;/a&gt; feature).&lt;/p&gt;

&lt;p&gt;While GitHub will create a “&lt;em&gt;main&lt;/em&gt;” code branch by default, at this time I also created an empty new branch and named it “&lt;em&gt;gh-pages&lt;/em&gt;” (following sections will talk about the significance of creating this other code branch).&lt;/p&gt;

&lt;p&gt;Next, I need to tell GitHub that my repository will use GitHub Pages. To do that, click the "Gear Icon &amp;gt; Settings" for the repo, and then click "&lt;em&gt;Pages&lt;/em&gt;" on the left menu. Then, under "&lt;em&gt;Source&lt;/em&gt;" on the right pane, select the "&lt;em&gt;Branch&lt;/em&gt;" as "&lt;em&gt;gh-pages&lt;/em&gt;". This tells GitHub that the website would be rendered using the content in the &lt;em&gt;gh-pages&lt;/em&gt; branch (and not the &lt;em&gt;main&lt;/em&gt; branch). You might also configure a custom domain for the website, which is not something I did.&lt;/p&gt;

&lt;p&gt;All set? Let’s move on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hugo Site and Theme
&lt;/h2&gt;

&lt;p&gt;Every Hugo site has an associated theme to apply the site style and look. I decided to use the freely available &lt;a href="https://github.com/themefisher/academia-hugo"&gt;Academia Hugo&lt;/a&gt; theme, and since I might need to make changes to the theme files I decided to &lt;a href="https://github.com/tanmaychk/academia-hugo"&gt;fork&lt;/a&gt; their Git repo to my GitHub account.&lt;/p&gt;

&lt;p&gt;To begin building my site, I first clone my GitHub pages repo locally, as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/tanmaychk/tanmaychk.github.io
&lt;span class="nb"&gt;cd &lt;/span&gt;tanmaychk.github.io
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I will add the Hugo theme to my site as a Git submodule, this will help me pull-in the theme (which is a separate Git repo, as mentioned above) changes easily. This is especially useful if I were using a theme from a Git repo I don't own.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git submodule add https://github.com/tanmaychk/academia-hugo.git themes/academia-hugo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Academia Hugo theme thankfully comes with a core set of files needed to create a Hugo site from the theme in a folder "&lt;em&gt;exampleSite&lt;/em&gt;", so I recursively copy this folder's entire content to my Hugo site root, as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; &lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; themes/academia-hugo/exampleSite/&lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the basic structure of my website is ready, and I can immediately test it using the local Hugo server (yes, without even deploying my site yet), as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hugo server &lt;span class="nt"&gt;-b&lt;/span&gt; http://localhost:1313
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The site will now be accessible at &lt;a href="http://localhost:1313"&gt;http://localhost:1313&lt;/a&gt; (your port could vary if you supplied it differently). The parameter &lt;em&gt;-b&lt;/em&gt; is to specify the &lt;em&gt;baseURL&lt;/em&gt; for the site because as of now I haven't touched the Hugo &lt;em&gt;config.toml&lt;/em&gt; file, which contains all the website configurations. I could have also added the &lt;em&gt;baseURL&lt;/em&gt; to &lt;em&gt;config/_default/config.toml&lt;/em&gt; file directly, in lieu of specifying this parameter.&lt;/p&gt;

&lt;p&gt;Academia theme has in-built support to add details about Courses, Projects, Skills, and Blogs. I changed the content (text as well as images) according to my needs and kept checking it locally. Images were added under the &lt;em&gt;static/img&lt;/em&gt; folder. I also added my resume PDF under &lt;em&gt;static/files&lt;/em&gt; folder and added the link to the PDF via the &lt;em&gt;config/_default/menus.toml&lt;/em&gt; config file.&lt;/p&gt;

&lt;p&gt;I created the PDF version of my resume using &lt;a href="https://www.latex-project.org/about/"&gt;LaTeX&lt;/a&gt; and &lt;a href="https://www.overleaf.com/"&gt;Overleaf&lt;/a&gt;. The GitHub repo is &lt;a href="https://github.com/tanmaychk/Latex-Resume"&gt;here&lt;/a&gt; if you are interested.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generating the website
&lt;/h2&gt;

&lt;p&gt;Hugo can help generate the HTML and static files that we would deploy to our website (remember raw HTML are the crux if the static website thingy). You can deploy them using online CMS tools like Netlify and Forestry.io, after generating the public website through the following simple command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hugo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I see a new folder &lt;em&gt;public&lt;/em&gt; now in my Hugo site folder that contains all the generated HTML files and static assets which can be straightway deployed to any hosting platform.&lt;/p&gt;

&lt;p&gt;Since this article is about deploying the site to GitHub pages, I will now focus on that ask. At this point I can safely delete the complete &lt;em&gt;public&lt;/em&gt; folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploying to GitHub pages
&lt;/h2&gt;

&lt;p&gt;Before I start, a quick recall about the two code branches I created when setting up my repo, the default "&lt;em&gt;main&lt;/em&gt;" and a "&lt;em&gt;gh-pages&lt;/em&gt;" branch. I will now explain why I did that. While the "main" code branch will store all our core "source" files (that I created in above-said steps while creating my Hugo site), the "&lt;em&gt;gh-pages&lt;/em&gt;" will contain the content that the &lt;em&gt;public&lt;/em&gt; folder in the previous paragraph contained, i.e. the entire generated site. But I will cleverly hand over the job of creating this generated website to GitHub via Actions.&lt;/p&gt;

&lt;p&gt;GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows us to automate our build, test, and deployment pipeline.&lt;/p&gt;

&lt;p&gt;In my case I create a workflow that will&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;get triggered on code check-in to the "&lt;em&gt;main&lt;/em&gt;" branch&lt;/li&gt;
&lt;li&gt;check-out our "&lt;em&gt;main&lt;/em&gt;" branch code, including the theme submodule&lt;/li&gt;
&lt;li&gt;perform a setup of Hugo (latest version)&lt;/li&gt;
&lt;li&gt;generate the static website in "&lt;em&gt;public&lt;/em&gt;" folder, using the "&lt;em&gt;hugo&lt;/em&gt;" command&lt;/li&gt;
&lt;li&gt;check-in the content of the "&lt;em&gt;public&lt;/em&gt;" folder to the "&lt;em&gt;gh-pages&lt;/em&gt;" branch of the repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To create the workflow, click "Actions" link on the repository page, then click "New Workflow" and paste the YAML content provided below. Then save the workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H5voNZby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eec14t9hg253ystmptko.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H5voNZby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eec14t9hg253ystmptko.jpg" alt="GitHub Actions Workflow" width="753" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Interesting to note that GitHub stores this workflow in the "main" branch under &lt;em&gt;.github/workflows&lt;/em&gt; folder. For more details on this Action please refer the documentation and code at &lt;a href="https://github.com/peaceiris/actions-gh-pages"&gt;https://github.com/peaceiris/actions-gh-pages&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;GitHub Pages&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;  &lt;span class="c1"&gt;# Set a branch name to trigger deployment&lt;/span&gt;
  &lt;span class="na"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;deploy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-20.04&lt;/span&gt;
    &lt;span class="na"&gt;permissions&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;contents&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;write&lt;/span&gt;
    &lt;span class="na"&gt;concurrency&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;group&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ github.workflow }}-${{ github.ref }}&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v3&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;submodules&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;  &lt;span class="c1"&gt;# Fetch Hugo themes (true OR recursive)&lt;/span&gt;
          &lt;span class="na"&gt;fetch-depth&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;    &lt;span class="c1"&gt;# Fetch all history for .GitInfo and .Lastmod&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Setup Hugo&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;peaceiris/actions-hugo@v2&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;hugo-version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;latest'&lt;/span&gt;
          &lt;span class="na"&gt;extended&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Build&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;hugo --minify&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deploy&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;peaceiris/actions-gh-pages@v3&lt;/span&gt;
        &lt;span class="na"&gt;if&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ github.ref == 'refs/heads/main' }}&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;github_token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;
          &lt;span class="na"&gt;publish_branch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gh-pages&lt;/span&gt;
          &lt;span class="na"&gt;keep_files&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
          &lt;span class="na"&gt;publish_dir&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;./public&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now it's time to check-in the code from our local laptop to the GitHub pages repo "&lt;em&gt;tanmaychk.github.io&lt;/em&gt;". As soon as the code is pushed to GitHub, the "GitHub Pages" Actions workflow gets triggered and in couple of minutes my website is published to the &lt;em&gt;gh-pages&lt;/em&gt; branch. My site is now ready to be viewed at &lt;a href="https://tanmaychk.github.io/"&gt;https://tanmaychk.github.io/&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Hope this helps to create a resume/portfolio website of your own. &lt;/p&gt;

</description>
      <category>hugo</category>
      <category>github</category>
      <category>webdev</category>
      <category>resume</category>
    </item>
    <item>
      <title>What impact does Web3 have on your developer life?</title>
      <dc:creator>Tanmay Chakrabarty</dc:creator>
      <pubDate>Fri, 03 Jun 2022 04:52:27 +0000</pubDate>
      <link>https://dev.to/tanmaychk/what-impact-does-web3-have-on-your-developer-life-1109</link>
      <guid>https://dev.to/tanmaychk/what-impact-does-web3-have-on-your-developer-life-1109</guid>
      <description>&lt;p&gt;Web3, blockchain, and cryptocurrency have all become broad words that have captivated the world's attention due to their incredible benefits and rewards. This popularity has resulted in a large number of employment openings in these disciplines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Market Development&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web3, blockchain, and cryptocurrency are predicted to grow and spread in the face of a rapidly growing tech market. According to projections, the value of web 3.0 blockchain is expected to reach $6,200 by 2023. Between 2023 and 2030, this market is predicted to develop at a 44.6percent compound annual growth rate (CAGR). While the web 3.0 blockchain business performs admirably, data also show that the crypto market is growing. From 2021 to 2030, the cryptocurrency market, which was worth $1.49 billion in 2020, is predicted to increase at a CAGR of 12.8 percent, reaching a value of roughly $5 billion. The worldwide blockchain market is also booming, with a CAGR of 8.5-9 percent predicted between 2020 and 2030, up from$5.92 billion in 2021&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web3&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web 3.0 is based on decentralised apps that allow everyone to participate without allowing them to monetize their personal information. Web 3.0 is verifiable, self-contained, permissionless, stateful, and includes native payments. Web 3.0 differs from web 2.0 in that it is based on blockchains and relies on a large number of networks and servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blockchain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Blockchain is a distributed database that distributes data among computer network nodes and keeps it in electronic form, or digital format. The information in blockchain is collected in blocks, which are referred to as groups. Blockchain attempts to make it possible to capture and transmit digital information, but it does not allow for data editing. Blockchains have laid the groundwork for immutable ledgers, or records that can't be modified&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crypto&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cryptography refers to a variety of encryption algorithms that use cryptographic approaches to protect them, such as public-private key pairs, elliptical curve encryption, and so on. Cryptocurrencies are one of the most popular trading tools since they can be bought or mined via cryptocurrency exchanges. Cryptocurrencies have grown in prominence because they provide a means for speedier money transactions at a lower cost than any other service, and they are based on decentralised systems that do not shut down at a single point of failure or disconnection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Job Market is Growing&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;As the success rate of cryptocurrencies and blockchain grows year after year, the number of job openings in the blockchain and cryptocurrency business grows. Jobs in blockchain are rising at a rate of 2,000-6,000 percent each year, with pay that are 50-100 percent greater than those of traditional developers. A blockchain developer is a person who works in the field of blockchain technology.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Block chain Developer&lt;/strong&gt;: This is a highly marketable professional path in which one assists a company in marketing the blockchain platform and creating a high demand for it, which is becoming much easier now that many people are interested in the benefits block chain has to offer. To pursue this professional path, one must have a few years of experience in fields such as C++, JavaScript, and Python.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Blockchain Project Manager&lt;/strong&gt;: This position requires the development of blockchain solutions as well as cloud project management and basic technical abilities. Work as a solution architect, UX designer, and many other positions are available. Crypto-related job postings increased by 395 percent in 2021 alone. Chief artificial intelligence engineer is one of the most in-demand positions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Chief Artificial Intelligence Engineer&lt;/strong&gt;:The engineer is in charge of programming and developing algorithms that aid in the development of AI and improve cybersecurity for safe and secure crypto exchanges.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As we swiftly transition into a new era with new specialities and technology, many chances in organisations and dApps (decentralised applications) that seek to solve difficult challenges are becoming available. You'll also have the opportunity to collaborate with some of the industry's brightest minds.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
