Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All blogs #290

Merged
merged 38 commits into from
Oct 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e830990
Merge branch 'tcet-opensource:main' into blog
Aisu2635 Oct 1, 2023
3315e75
Create index.md
Aisu2635 Oct 1, 2023
07a8039
Add files via upload
Aisu2635 Oct 1, 2023
39e4c8f
Update index.md
Aisu2635 Oct 1, 2023
ce9552c
Update index.md
Aisu2635 Oct 1, 2023
f0fad6d
Update index.md
Aisu2635 Oct 2, 2023
2b449dd
Add files via upload
Aisu2635 Oct 2, 2023
6850f23
Delete blog/2023-10-1-cloudgaming/Cloud_gaming_architecture.png
Aisu2635 Oct 2, 2023
6286ff9
Add files via upload
Aisu2635 Oct 2, 2023
4d1e39f
Updated index.md as per the vishal's changes
Aisu2635 Oct 3, 2023
eb28271
Added blog on Blockchain
kashish-51 Oct 7, 2023
7ad1453
Merge branch 'tcet-opensource:main' into main
kashish-51 Oct 7, 2023
daf54cd
Update index.md
kashish-51 Oct 7, 2023
1ef2023
Merge branch 'main' of https://github.com/kashish-51/documentation
kashish-51 Oct 7, 2023
60efe20
Merge pull request #274 from tcet-opensource/main
vish-rt Oct 7, 2023
624ecd4
Merge branch 'main' into main
kashish-51 Oct 8, 2023
008c6f5
[ADDED] New blog on Web Crawling
Mahitej28 Oct 8, 2023
0929267
Merge pull request #281 from tcet-opensource/main
vish-rt Oct 8, 2023
5dd74be
Merge branch 'main' of https://github.com/tcet-opensource/documentati…
himanshu-03 Oct 8, 2023
3f2ae74
Merge branch 'main' of https://github.com/tcet-opensource/documentati…
himanshu-03 Oct 8, 2023
d009a2a
Merge branch 'tcet-opensource:main' into main
kashish-51 Oct 8, 2023
c0b5c23
Merge branch 'blogs' into blog
Aisu2635 Oct 9, 2023
4e81f18
Blog by Rajdeep Pal
Rajdeep1311 Oct 10, 2023
4eab573
Create index.md
Rajdeep1311 Oct 10, 2023
f2169f7
Merge pull request #1 from Rajdeep1311/Rajdeep1311-patch-1
Rajdeep1311 Oct 10, 2023
d1fd19d
Update index.md
Rajdeep1311 Oct 10, 2023
f48b607
Merge pull request #2 from Rajdeep1311/Rajdeep1311-patch-2
Rajdeep1311 Oct 10, 2023
0798bbf
Merge branch 'tcet-opensource:main' into main
Mahitej28 Oct 10, 2023
79143f0
Update index.md
Rajdeep1311 Oct 10, 2023
38b6e15
Merge pull request #3 from Rajdeep1311/Rajdeep1311-patch-3
Rajdeep1311 Oct 10, 2023
1416945
Merge pull request #253 from Aisu2635/blog
vish-rt Oct 10, 2023
5248444
Merge pull request #289 from tcet-opensource/main
vish-rt Oct 10, 2023
ac5587a
[ADDED] Discord Icon to Footer Section
Mahitej28 Oct 10, 2023
4055d0e
Revert "[ADDED] Discord Icon to Footer Section"
Mahitej28 Oct 10, 2023
b07dc72
Merge pull request #277 from Mahitej28/main
himanshu-03 Oct 10, 2023
0b9fba6
Merge branch 'main' into blogs
vish-rt Oct 10, 2023
2b2582e
Merge pull request #279 from kashish-51/main
NikitaSShukla Oct 10, 2023
7b760e7
Merge pull request #288 from Rajdeep1311/main
NikitaSShukla Oct 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added blog/2023-10-08-web-crawling/benefits.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
139 changes: 139 additions & 0 deletions blog/2023-10-08-web-crawling/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
---
slug: web-crawling
title: Web Crawling, A Beginner’s Perspective on Data Extraction
authors: [mahima]
tags: [web crawling, data extraction, automation]
description: In this blog, you will explore the fundamentals of web crawling and how you can get started with your own data extraction projects.
keywords: [web crawling, BeautifulSoup, scrapy, data extraction]
---

> _Web crawling, also known as web scraping, is the process of automatically extracting data from websites.
It allows us to gather valuable information from various sources on the internet efficiently and in a structured manner.
In this blog, we’ll explore the fundamentals of web crawling and how you can get started with your own data extraction projects._

<br />

<!--truncate-->

import webcrawl from "./web_crawl.png"
import benefits from "./benefits.png"
import process from "./process.png"

<figure>
<img src={webcrawl} style={{border: "2px solid grey"}}/>
</figure>

## What if I told you that web crawling could come to your rescue even in unexpected work scenarios? 🤔

Imagine you’re on a relaxing weekend, enjoying your favorite Netflix series, when suddenly your boss calls with an urgent task.

Let’s say your boss needs a comprehensive analysis of competitors’ pricing for an upcoming project. Manually collecting this data from various websites would be time-consuming and error-prone.
However, with web crawling, you can **automate the data extraction process**, quickly gathering pricing information from multiple sources and generating a detailed report.
Not only does this save you hours of manual work, but it also **ensures accuracy** and **provides valuable insights** for your boss.

Web crawling can be a game-changer in various work scenarios. Need to gather customer reviews for a product launch?
Web crawling can swiftly scrape reviews from e-commerce platforms, allowing you to analyze sentiment and make data-driven decisions.
Want to monitor industry trends or track news updates? Web crawling can continuously fetch relevant information from news websites, keeping you up to date and enabling you to stay ahead of the competition.

## Benefits

Let's have a look at the various benefits of web crawling that have made it a popular concept for seamless integration within large-scale enterprises.

<figure>
<img src={benefits} style={{border: "2px solid black"}}/>
<center><figcaption>Benefits of Web Crawling</figcaption></center>
</figure>

## Process of Web Crawling

<figure>
<img src={process} style={{border: "2px solid black"}}/>
<center><figcaption>Process of Web Crawling</figcaption></center>
</figure>

<details>
<summary><b>💡 Discovery</b></summary>
<div>
In the discovery stage, a web crawler starts by identifying set of seed URLs. These seed URLs are the starting points from which the crawler begins exploring the web.
They can be manually provided or generated programmatically. The crawler then extracts the links present on the web page of the seed URLs and adds them to a queue for further processing.
</div>
</details>

<details>
<summary><b>🕷️ Crawling</b></summary>
<div>
The crawling stage involves visiting the URLs in the queue and retrieving the corresponding web pages.
The crawler sends HTTP requests to the web servers hosting the pages and receives HTTP responses in return.
The responses typically include HTML content, but they can also include other types of files such as images, CSS files, or JavaScript files. The crawler parses the HTML content to extract links and other relevant information for subsequent crawling.
</div>
</details>

<details>
<summary><b>⛏️ Fetching</b></summary>
<div>
During the fetching stage, the crawler retrieves the content of the web pages by downloading them from the web servers.
This process involves downloading the HTML and any associated files, such as images or scripts, required to render the page correctly.
The fetched content is then stored for further processing.
</div>
</details>

<details>
<summary><b>💻 Rendering</b></summary>
<div>
Rendering refers to the process of processing and executing JavaScript code present on web pages. Some web pages heavily rely on JavaScript to load and display content dynamically.
Modern web crawlers often include a rendering engine that can execute JavaScript code, allowing the crawler to handle pages that rely on client-side rendering.
</div>
</details>

<details>
<summary><b>📑 Indexing</b></summary>
<div>
Once the web pages are fetched and rendered, the crawler can extract the desired data from the pages. This data can include text content, metadata, links, or any other relevant information.
The extracted data is typically processed and stored in an organized manner, such as in a database or an index, for further analysis or retrieval.
</div>
</details>


:::info
It’s important to note that web crawling is an iterative process.
As the crawler discovers new links during the crawling stage, it adds them to the queue for subsequent crawling, continuing the process of discovery, crawling, fetching, rendering, and indexing for a broader coverage of the web.
:::

## Getting Started with Web Crawling

- **Identify Your Data Needs**: Determine the specific information you want to extract from websites.
It could be product details, contact information, news articles, or any other relevant data.

- **Choose a Web Crawling Tool**: There are various web crawling frameworks and libraries available, such as BeautifulSoup and Scrapy in Python.
Select a tool that aligns with your programming language and project requirements.

> _You can learn more about Python Scrapy [**here**](https://docs.scrapy.org/en/latest/intro/tutorial.html)_

- **Understand the Website Structure**: Familiarize yourself with the target website’s structure. Identify the HTML elements that contain the data you need, such as class names, IDs, or specific tags.
Some key steps to follow here may include:
1. Inspect the web page

2. Explore the HTML Elements

3. Identify unique Identifiers

```html
Example: <div class="product-name">
```

- **Write the Crawling Code**: Utilize your chosen web crawling tool to write code that navigates through the website, locates the desired data, and extracts it.
This involves sending HTTP requests, parsing HTML content, and selecting the relevant elements.

- **Handle Website-Specific Challenges**: Some websites may implement anti-crawling measures like CAPTCHA or rate limiting.
Implement strategies like rotating IP addresses or adding delays in your crawling code to handle such challenges.

## Ethical Considerations

While web crawling can be a powerful tool for data extraction, it’s important to respect website owners’ terms of service and adhere to ethical guidelines. Always ensure that your crawling activities are legal and ethical.
Be mindful of any website-specific crawling policies and consider reaching out to website owners for permission when necessary.

## Conclusion

Web crawling opens up a world of possibilities for data extraction and analysis. By automating the process of gathering data from websites, you can save time and collect valuable insights. Armed with the knowledge from this beginner’s guide, you’re ready to embark on your web crawling journey.
Remember to stay ethical, explore different tools, and continue learning as you dive deeper into the exciting world of web crawling.

Binary file added blog/2023-10-08-web-crawling/process.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/2023-10-08-web-crawling/web_crawl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/2023-10-1-cloudgaming/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/2023-10-1-cloudgaming/image2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/2023-10-1-cloudgaming/image3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
88 changes: 88 additions & 0 deletions blog/2023-10-1-cloudgaming/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
slug: Cloud-gaming
title: Exploring the Future of Gaming- Cloud Gaming Unveiled
authors:
- name: Om Hinge
title: Cloud Enthusiast & Gamer
url: https://github.com/Aisu2635
image_url: https://github.com/Aisu2635.png
tags: [cloud, gaming, cyberpunk, nvidia]
---

# Exploring the Future of Gaming: Cloud Gaming Unveiled

Hey there, fellow gamers! Today, we're diving into the fascinating world of **cloud gaming**, a technology that's changing the way we play and enjoy our favorite titles. In this article, we'll break down the concept of cloud gaming, its evolution, and its promising future.

## Introduction to Cloud Gaming

Imagine playing high-quality video games without the *need* for expensive gaming hardware or the hassle of *downloading and installing massive game files*. That's the magic of cloud gaming! It's like Netflix for gamers, where you can instantly access and play games over the internet without worrying about hardware requirements.

Most modern games demand a hefty amount of storage space and powerful hardware to run smoothly. Think about titles like Call of Duty's Warzone, which takes up over 1000GB of storage. To play these games with the best experience, you'd need a high-end PC or gaming console. But what if there was a more affordable alternative?

![Cloud Gaming Demonstration by playing Cyberpunk 2077 on mobile](image.png)

## How Cloud Gaming Works

![Cloud Gaming flow](image2.png)

Cloud gaming operates within the realm of cloud computing. Instead of storing game files on your local device, they're hosted and processed on powerful remote servers in data centers. Here's how it works in a nutshell:

+ **Remote Servers**: Powerful servers host and run the games, eliminating the need for you to download and install them on your device.

+ **Streaming Gameplay**: Similar to streaming services like Netflix, cloud gaming sends a video stream of the gameplay over the internet to your device.

+ **Input Control**: Your inputs (the buttons you press and the moves you make) are sent to the server, where the game responds accordingly. This allows you to play even on low-end devices.

While cloud gaming offers incredible convenience, it's important to note that it can introduce some input lag, depending on factors like your internet connection stability and the distance between you and the server.

*Cloud Gaming is one of the Best Examples to showcase the power of Cloud Computing.*

## The History and Future of Cloud Gaming

In the past, cloud gaming faced numerous challenges, including network issues. Google's attempt with Google Stadia was ambitious but struggled due to connectivity problems. Other giants like Amazon and Microsoft also entered the arena with Amazon Luna and Xbox cloud gaming.

However, the future of cloud gaming looks bright, especially in countries like India. Gaming is growing rapidly, and cloud gaming provides an affordable platform for those unable to invest in high-end gaming hardware. The potential to earn rewards through gaming is also on the rise, further boosting its popularity.

The primary challenge facing cloud gaming today is network-related issues, but providers are actively working on solutions to make it accessible to more users.

We can say Cloud Gaming was just the first step for the cloud computing service to even non-tech users.
Google is developing & testing Cloud Quantum computing so that one day everyone can access the Incredible power of Quantum computers without the need for a quantum rig, which might be bigger than most of our houses.

![cloud quantum computing](image3.png)
## Advantages and Drawbacks of Cloud Gaming

Cloud gaming offers several advantages, including:

- **Universal Platform**: You can play games on any device with an internet connection, from consoles to smartphones.

- **Cost-Efficiency**: No need for expensive hardware, as the processing is done on remote servers.

- **Portability**: Play on the go without worrying about installation and setup.

However, it's not without its drawbacks:

- **Internet Dependency**: A stable internet connection is crucial for a smooth experience.

- **Input Lag**: Some games may suffer from input delay due to server processing.

- **Limited Awareness**: Many people are still unaware of cloud gaming, and few providers exist compared to traditional gaming options.

## Current Status of Cloud Gaming

Several cloud gaming services are making waves in the industry:

- [x] **Nvidia GeForce Now**: This service is known for its low system requirements, compatibility with various devices, and a free trial period.
- [x] **XBox Game Cloud**: Known for Various game titles for free to play in the subscription of Game Pass.
- [x] **JioGames Cloud**: Building the Cloud gaming culture & infrastructure in India at a reasonable rate.

## Is Cloud Gaming Worth It?

While cloud gaming shows immense potential, it's still in its early stages. Input lag and connectivity issues can be frustrating, especially for competitive gamers. Traditional gaming setups remain a popular choice. However, as technology advances, cloud gaming has the potential to become the future of gaming in the coming decade.

In conclusion, cloud gaming is a game-changer with the potential to democratize gaming by making it accessible to more players. As it evolves and overcomes its current challenges, we can expect cloud gaming to reshape the gaming landscape in the near future.

## References:

- [Nvidia GeForce Now](https://www.nvidia.com/en-us/geforce-now/)
- [PlayStation Now](https://en.wikipedia.org/wiki/PlayStation_Now)
- ~Google Stadia~ (closed right now)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# CNCF Zero to Merge - Your first step towards Open-Source

![CNCF LOGO](CNCF_Logo.jpg)

## Introduction

This blog summarizes my experience with the Cloud Native Computing Foundation's first edition of the newly launched Zero to Merge Incubator Program. This program was launched with the primary aim of getting new folks involved in Open-Source. I learned about this program from one of the LinkedIn posts by [Rohit Ghumare](https://github.com/rohitg00). If you are willing to register for the program, you can check out the link [here](https://project.linuxfoundation.org/cncf-zero-to-merge-application). CNCF will not conduct any such programs as of this year, but you should keep an eye on the page for future proposals.

The CNCF Zero to Merge Program is a 4-week long program with 2 sessions per week. According to the Indian Standard Time, the sessions were held on Monday and Thursday from 9:30 p.m. to 10:30 p.m. each week.

## During the program

**Week 1 Session 1**: The initial session of the program's first week served as an orientation, acquainting participants with the program itself, its instructor, and the schedule. This session predominantly centered on key topics, including an introduction to open-source principles and the CNCF (Cloud Native Computing Foundation). It also covered the art of selecting suitable open-source projects for contribution and the necessary prerequisites for effective participation in the open-source community.

**Week 1 Session 2:** During the second session of the first week, participants focused on acquiring knowledge about essential tools like CLOTributor for narrowing down project options that align with individual preferences. The session also delved into important concepts such as GitHub and Git basics, GitHub Actions, and expanded insights into The Linux Foundation.

**Week 2 Session 1:** In the second week of our CNCF program, we delved into the history and progress of CNCF projects, exploring what motivates individuals to contribute to open-source initiatives. Our instructor, Taylor Dolezal, left a lasting impression with his fantastic and approachable teaching style. In addition to valuable insights, he provided a practical demonstration of the entire process, from forking a repository to creating a pull request (PR).

**Week 2 Session 2:** The session was centered around exploring the topics of Cloud Native Evolution and Cloud Native Trends, featuring active engagement through a question-and-answer format where the instructor either provided answers or directed participants to relevant articles and white papers. Towards the end, attendees were tasked with homework, which involved finding a project that aligned with their interests in the subject matter.

**Week 3 Session 1:** In the third week, participants were allowed to take the spotlight by presenting their screens. They were encouraged to share their involvement in various projects, showcasing their approach to addressing the issues at hand and detailing their interactions with project maintainers.

**Week 3 Session 2**: This session was primarily intended for clearing doubts and addressing any questions or uncertainties participants may have had.

**Week 4 Session 1:** The first session of the last week had the following agenda: Hot seat opportunity: During this segment, participants had the chance to share information about their projects, issues, or the specific focus of their pull requests, offering an opportunity for discussion and feedback. Live lesson: The session included a live lesson where the participants reviewed the CNCF (Cloud Native Computing Foundation) website and learned how to navigate through its resources and additional learning materials.

**Week 4 Session 2:** The program has concluded, marking a moment of celebration, friendly conversations, and discussions about the future steps for all the attendees.

## Key Takeaways from the Program

![CNCF](cncf2.png)

CNCF Zero to Merge is a great program for beginners to open source. It provides guidance and mentorship to help you contribute to open source for the first time.

Here's a summary of the process:

**1. Find a Project:** Choose a CNCF incubating project that interests you and has welcoming maintainers.

**2. Understand the Issue:** Read the issue or bug report you want to work on thoroughly and clarify any doubts with the maintainers.

**3. Fork the Repository:** Create a fork of the project's repository on your GitHub account to work on your changes separately.

**4. Make a Branch:** Create a new branch in your fork to isolate your work and make it easier to create a pull request later.

**5. Make the Changes:** Code the fix or feature as described in the issue. You can do this locally and then push the changes to your forked repository.

**6. Test Your Changes:** Run any tests and commands mentioned in the project to ensure your changes work as intended. You may need to write new tests.

**7. Create a Pull Request:** Using GitHub, create a pull request from your branch to the upstream repository. The maintainers will review your code and provide feedback.

**8. Iterate Based on Feedback:** Make any requested changes based on the review and commit these changes to your branch so that the pull request updates automatically.

**9. Merge:** Once the maintainers approve your changes, they will merge your pull request, and your contribution becomes part of the project.

**10. Celebrate:** Congratulations, you've successfully made your first open-source contribution! You are now an official contributor to the project.

This program is a great way to get started with open source and can be very rewarding. It's important to be patient and open to feedback from maintainers, as it helps improve your skills and contribute positively to the project.

## Conclusion

This is a great step-by-step guide for making your first open-source contribution to a CNCF incubating project. It's important to follow these steps carefully to ensure a smooth and successful contribution experience.

The CNCF Zero to Merge initiative is a great way for newcomers to open source to get involved and make meaningful contributions. By focusing on small, self-contained issues that need fixing, new contributors can learn about the process of contributing to open-source projects and gain confidence. With proper mentorship and guidance, new contributors can progress from fixing typos to making more substantial code contributions that improve the project.
Binary file added blog/2023-10-7-Blockchain/BlockChain.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading