<?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: SOHAM BHOIR</title>
    <description>The latest articles on DEV Community by SOHAM BHOIR (@thunderbolt).</description>
    <link>https://dev.to/thunderbolt</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%2F794018%2F890c447d-e88e-4d0b-b47c-7634630f8d50.jpeg</url>
      <title>DEV Community: SOHAM BHOIR</title>
      <link>https://dev.to/thunderbolt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thunderbolt"/>
    <language>en</language>
    <item>
      <title>How Torrents Work?!</title>
      <dc:creator>SOHAM BHOIR</dc:creator>
      <pubDate>Wed, 23 Feb 2022 16:19:53 +0000</pubDate>
      <link>https://dev.to/thunderbolt/how-torrents-work-56km</link>
      <guid>https://dev.to/thunderbolt/how-torrents-work-56km</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;What is Torrent?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In the computing sector, the term "torrent" usually refers to a computer file that has metadata including numerous pieces of information. The extension ".torrent" is usually associated with a torrent file, however it does not include the actual content to be transferred.&lt;/p&gt;

&lt;p&gt;This works as a peer-to-peer (P2P) network. Users can share files without uploading them to a server using peer-to-peer (P2P) file sharing. Trackers—programs that coordinate the transport of torrents—are told where to receive torrent files by the file name extension or metadata.&lt;/p&gt;

&lt;p&gt;This information will then be used by BitTorrent software like uTorrent, Transmission, or BitTorrent for "real" distribution, allowing users to effortlessly download torrent files to their machines.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How Torrents work?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The torrent file serves as a key to start the actual content download. When someone wants to get a shared file (such as books, music, or papers), they must first get the appropriate torrent file - either by downloading the.torrent file directly or by using a magnet link.&lt;/p&gt;

&lt;p&gt;To open this file/link, you'll need BitTorrent software or uTorrent (basically any trusted torrent software you can download). After the BitTorrent programme has scanned the torrent file/link, it will need to locate seeders who are sharing the same file. To do so, it will attempt a direct connection with a list of defined trackers (found in the torrent file metadata). If all goes well, the necessary content will begin to transmit.&lt;/p&gt;

&lt;p&gt;A torrent download is done in chunks, so you're actually downloading bits and pieces of the whole file from seeders, which will be reassembled once all of the bits and pieces have arrived.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftq4lrwo25x5bf354y1ge.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%2Ftq4lrwo25x5bf354y1ge.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Magnet URL?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A magnet link is a form of hyperlink that allows users to download files and data from peer-to-peer (P2P) networks, especially torrent networks. It operates without the use of a server and provides all of the information that a torrent client needs to download a given file.&lt;/p&gt;

&lt;p&gt;The magnet link was created to replace and update the requirements of torrent files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;While downloading torrent we see few terms like "Seeds", "Peers", "Leaches" and more, Lets understand them one by one.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Seed?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The seed is the user who has already downloaded the entire file and is now sharing it with peers without downloading any pieces of it from others.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Peer?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As we know files are downloaded chunks. So, When a user downloads some content, he immediately begins uploading it. If there are more users active in the process, the file will be downloaded faster.&lt;/p&gt;

&lt;p&gt;When a file is first shared, it is uploaded by a single seed or user to the first downloader, who then forms a little file known as a "torrent." This file contains metadata about the files to be shared as well as the tracker, so a torrent will always be slow when it's first created; however, once that initial upload/download process is complete, the user or users who downloaded the file, also known as peers from the original seeds, also turn into seeds, and the more popular the file becomes, the more seeds are created, and the faster the speed will be for newcomers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13ivhh58ws3xahwjm8ac.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%2F13ivhh58ws3xahwjm8ac.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What are Leeaches&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Users who are downloading and uploading the content simultaneously.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Tracker?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A server that potentially tracks all the other users in the network.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n6l2o0wj2yhh1swwddx.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%2F0n6l2o0wj2yhh1swwddx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What is a Swarm?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When you find a group of users downloading and sharing a common file, they’re known as a swarm.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Good Uses of Torrent!&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While torrent networks have become a haven for digital pirates and infringers, they may also be beneficial for synchronising massive files and sharing media that you possess the rights to. To save bandwidth, social media companies like Facebook and Twitter utilise a similar mechanism to upload huge files to their servers. As in the case of Starcraft, a torrent client can be embedded within a game to distribute software updates. Torrents are also used by some government entities to communicate big photographs and documents with the public that would otherwise overload their systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Many a times we hear torrent is illegal.&lt;/strong&gt; Partial Ans is No, It only becomes illegal when some user uploads copyrighted content through a torrent client or a website.&lt;/p&gt;

&lt;p&gt;HAPPY TORRENTING :)))&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>torrent</category>
      <category>codenewbie</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>What is Windows Subsystem  for Linux or WSL?</title>
      <dc:creator>SOHAM BHOIR</dc:creator>
      <pubDate>Wed, 09 Feb 2022 11:50:35 +0000</pubDate>
      <link>https://dev.to/thunderbolt/what-is-windows-subsystem-for-linux-or-wsl-df4</link>
      <guid>https://dev.to/thunderbolt/what-is-windows-subsystem-for-linux-or-wsl-df4</guid>
      <description>&lt;p&gt;As the word 'Windows Subsystem for Linux' is partially self explanatory, lets Dive deep into it!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What actually it is?&lt;/strong&gt;&lt;br&gt;
It is a layer of linux over windows that allows you to run a Linux file system, along with Linux command-line tools and GUI apps, directly in Windows OS without any need of dual boot or Virtual Machines!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8G1XqEmI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uiv13ez5gty0i2o87814.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8G1XqEmI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uiv13ez5gty0i2o87814.jpeg" alt="Image description" width="832" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're new to Linux and don't want to deal with installing a Linux system and dual-booting, WSL is a fantastic option. It's a simple method to get started with the Linux command line without having to master the entire operating system. Running WSL has a considerably lower overhead than running a full VM.&lt;br&gt;
WSL offers choice of distributions but they are very few available in Microsoft Store.&lt;/p&gt;

&lt;p&gt;Running WSL has a considerably lower overhead than running a full VM. While WSL 2 runs on the Linux kernel under Hyper-V, you won't see as much of a performance drop as you would with a VM because you won't be running most of the other Linux processes. You can need less memory to operate WSL than you would for a virtual machine.&lt;/p&gt;

&lt;p&gt;WSL may be great for you if you only need command-line programs such as languages or compilers. WSL is aimed for developers, particularly those in the web development field, who don't need kernel access very often.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Difference Between WSL 1 &amp;amp; WSL 2&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The common concept between WSL 1 &amp;amp; WSL 2 is same, ie running Linux Binary Executables,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WSL 1&lt;/strong&gt;&lt;br&gt;
 In WSL 1 there ain't Linux,&lt;br&gt;
&lt;strong&gt;Wonder How its running?&lt;/strong&gt;&lt;br&gt;
Between the Linux distribution and the Windows Kernel, there is a translation layer. This layer is in charge of handling all kernel-level actions and translating them into instructions that the Windows kernel can understand. Once the Windows kernel has completed its task, it will return the results to the WSL translation layer.&lt;/p&gt;

&lt;p&gt;Here, the Linux Distribution have no idea that all its requests are handed by Windows kernel&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issues&lt;/strong&gt;&lt;br&gt;
Lets understand this with a help of an example:&lt;br&gt;
Suppose on some directory DIR you have a text document named as you.txt, you open the respective document in a notepad, while the notepad is still open and if you want to change the directory DIR the windows won't allow it, it would throw some errors (like some programs are using the directory so you are not allowed to perform this operation), but in Linux you can Perform this action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WSL 2&lt;/strong&gt;&lt;br&gt;
WSL 2 doesn't have translation layer like WSL1, instead it has full blown Linux Kernel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wonder how is it working without VM and having 2 Kernels?&lt;/strong&gt;&lt;br&gt;
The concept of a lightweight utility virtual machine appears. This is an extremely small virtual machine that starts in less than a second and uses very little computing power. When you install the optional feature Windows Subsystem for Linux on Windows, this virtual machine is created.&lt;/p&gt;

&lt;p&gt;It has specially Customised Kernel that is Tuned to Run for WSL, the fantastic part is, it is Managed by Microsoft and its Open Source.&lt;br&gt;
Unlike WSL 1, when a binary programme issues an instruction in WSL 2, the instruction is not translated. It's more or less turned over to the Linux kernel. Any command that the Linux kernel cannot handle is forwarded to Windows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Steps to Install WSL in Windows
&lt;/h3&gt;

&lt;p&gt;-&lt;strong&gt;Open Windows Power Shell as an administrator&lt;/strong&gt;&lt;br&gt;
Press Windows+R to open Run, and then type “powershell” in the text box. Now, press Ctrl+Shift+Enter. Windows PowerShell will open in admin mode.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copy and paste the following code in power shell admin.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enable-WindowsOptionalFeature -Online -FeatureName 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need to Restart the computer after running the abover command&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Download your Favorite Linux Flavour from Microsoft Store!!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3flrwcSx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gn82e5qtn3ldo9i0y8cd.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3flrwcSx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gn82e5qtn3ldo9i0y8cd.jpeg" alt="Image description" width="738" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Install windows Terminal App from Store, it makes easier to work with command line.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Update your Linux kernel, run this command once or twice a week, updated kernel shall set your life!&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt upgrade -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The fun part!!! To get the feel of Linux, run the famous Linux Shell Train
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install sl
sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;NEXT? TIME TO HAVE FUN WITH LINUX!!!! LESSSSS GO&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>windows</category>
      <category>bash</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
