<?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: ifournidhi</title>
    <description>The latest articles on DEV Community by ifournidhi (@ifournidhi).</description>
    <link>https://dev.to/ifournidhi</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%2F486378%2Fd6a962ae-08e2-4127-b9ab-5117a9ad39ea.jpg</url>
      <title>DEV Community: ifournidhi</title>
      <link>https://dev.to/ifournidhi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ifournidhi"/>
    <language>en</language>
    <item>
      <title>What is Pair Programming? How it works?</title>
      <dc:creator>ifournidhi</dc:creator>
      <pubDate>Thu, 15 Oct 2020 17:42:32 +0000</pubDate>
      <link>https://dev.to/ifournidhi/what-is-pair-programming-how-it-works-1p05</link>
      <guid>https://dev.to/ifournidhi/what-is-pair-programming-how-it-works-1p05</guid>
      <description>&lt;p&gt;Pair programming is an agile software development procedure followed in Software development industry where two developers work using only one machine. Each one has its own keyboard and a mouse. One programmer proceeds as the driver who codes while the other will obey as the observer who will review the code being written, analyze and spell check it, while also dope out where to go next. Usually, the two programmers can switch their roles.&lt;br&gt;&lt;br&gt;
Pair programming expands the man-hours needed to deliver code compared to programmers working independently. Demonstration capitulated miscellaneous outcomes, encouraging increases of between 15% and 100%. &lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of pair programming
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It increases code quality which leads to the comprehensible juncture of the entanglement and hidden details in coding tasks, diminishing the risk of error or going down blind pathways.&lt;/li&gt;
&lt;li&gt;Perfect transfer of skills, as junior developers pick up micro-techniques or extensive skills from more experienced team members.&lt;/li&gt;
&lt;li&gt;If the driver experiences a hitch with the code, there will be two of them who will solve the problem, hence two heads are better than one.&lt;/li&gt;
&lt;li&gt;Ordinary thinking is that it decelerates the project accomplishment time because you are productively putting two programmers to develop a single program, instead of having them work separately on two different programs. &lt;/li&gt;
&lt;li&gt;Code fellas talk about how it could assist programmers to learn from their groups. It would permit programmers to get immediate face-to-face instruction, which is much better than online tutorials and quicker than finding resources on the Internet. &lt;/li&gt;
&lt;li&gt;Associating on a single project assists your team to acknowledge the value of communication and teamwork.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How does pair programming work?
&lt;/h2&gt;

&lt;p&gt;The necessity for pair programming is nominal, two developers, and a shared command line or code editor. With these basic elements in place, there are so many processes to approach pair programming, from the &lt;a href="https://dzone.com/articles/ping-pong-pair-programming"&gt;Ping Pong Pattern&lt;/a&gt; to much less organized forms. &lt;/p&gt;

&lt;p&gt;Pair programming is most effective when both people bring something distinctive to the table, whether that is awareness, circumstance, or a various perspective.&lt;/p&gt;

&lt;p&gt;It works on specification, design, and complex programming tasks and experiments which specify that no quality enhancement is shown when working on simple tasks in a pair but there may be accurate improvements. Also, note that pair programming frequently involves activities other than writing code.&lt;/p&gt;

&lt;p&gt;Each independent in a pairing has about a similar level of expertise, while pair programming is substantial for training in &lt;a href="https://www.ifourtechnolab.com/custom-software-company"&gt;software development companies&lt;/a&gt;, pairs are most occupied when they are about on the same level.&lt;/p&gt;

&lt;p&gt;Rotating every day assists keep the current co-pilot engaged as individuals tend to grant most when they drive or sense they are about to drive.&lt;/p&gt;

&lt;p&gt;Teams have revealed comfort in knowing about various parts of the system they are building. Pair rotation helps with knowledge shifts which diminish certain risks in the project.&lt;/p&gt;

&lt;p&gt;In an academic setting, pairs are often allocated, moreover, industry they are normally self-assigned often during stand-ups. In both cases, pair programming is most productive when both individuals are inclined participants who can see value in the pairing activity.&lt;/p&gt;

</description>
      <category>pairprogramming</category>
      <category>programmingtrends</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>An Overview of Scaling Ethereum</title>
      <dc:creator>ifournidhi</dc:creator>
      <pubDate>Fri, 09 Oct 2020 19:05:17 +0000</pubDate>
      <link>https://dev.to/ifournidhi/an-overview-of-scaling-ethereum-4j91</link>
      <guid>https://dev.to/ifournidhi/an-overview-of-scaling-ethereum-4j91</guid>
      <description>&lt;p&gt;&lt;a href="https://www.ethereum.org"&gt;Ethereum&lt;/a&gt; is a public, open-source, blockchain decentralized computing platform and platform built specifically for creating smart contracts. Ethereum also introduced its digital currency, called Ether. Blockchain ether is a token generated by the Ethereum platform. Ether is largely known today as a cryptocurrency or a "token". &lt;/p&gt;

&lt;p&gt;As smart contract systems' value is booming greatly in the modern era, all the &lt;a href="https://www.ifourtechnolab.com/custom-software-company"&gt;prominent Software Development firms&lt;/a&gt; have started to focus on these implementations to stand ahead in the future market.&lt;/p&gt;

&lt;p&gt;The blockchain ecosystem provides a lot of Ethereum scaling solutions. Multiple propositions are being experimented, such as Layer 1 (On-chain) and Layer 2 (Off-Chain), for achieving the end goal of cheaper and faster transactions at scale. Let's try to understand scaling approaches. In simple terms, currently, Ethereum cannot help/support any decentralized apps (DApps) with significant transaction volume due to scaling restrictions, which leads to high fees and long waiting times.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 1 – Ethereum Scaling (On-chain)
&lt;/h2&gt;

&lt;p&gt;Suppose we talk about the Layer 1 (On-chain) Ethereum scaling approach that helps keep all transactions on the base Ethereum chain to increase the throughput of the base chain itself. Blockchain Sharding is a smarter approach, where you can break the entire shape of the network into a cluster of partitions called shards, which contains their independent piece of shape and transaction history. In such a system, definite nodes would process transactions only for fixed shards, allowing the throughput of transactions processed in total across all shards to be much higher. Ethereum can process a maximum of 15 transactions per second generally. Sharding, Casper, eWASM, and other efficiency technologies are called Layer 1 solutions as they modify the core Ethereum protocol and depend on security. &lt;/p&gt;

&lt;p&gt;Sharding is the most popular database management technique that is being applied to Blockchains along with consensus mechanisms. It refers to breaking of entire Ethereum network into smaller portions known as shards. These shards are a separate blockchain with its own state. You will not be able to provide throughput to run a truly global decentralized app (DApp) in Sharding its conjunction with the other layer 2 scaling. Every node has to validate and execute transactions, which minimizes the scalability and throughput of Ethereum. Shard chain consists of validators processing it, only processing and verifying transactions in that shard. Sharding is a technically complex solution on Ethereum roadmaps, and it requires a lot of research and testing that has to be done before implementation. &lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 2 Ethereum Scaling (Off-chain)
&lt;/h2&gt;

&lt;p&gt;Layer 2 (Off-chain) Ethereum scaling approach is mainly divided into State Channels, Sidechains/Plasma architecture, and other Truebit. Off-chain is known as layer 2 because it involves processing transactions to layers that sit on top of the base Ethereum blockchain. The vision of layer 2 is not just payment networks but also in decentralized apps computing. You can imagine State Channels on Ethereum along the lines of Lightning Network payment channels on Bitcoin. State Channels on Ethereum, they are deliberate not just to handle transactions but also aim to address 'State' changes to process smart contract computations. Layer 2 requires additional software and hardware to be developed, so it takes longer to feel its effects. Let's take an example of an application with two users where they are exchanging a series of small transactions. In this series of transactions building a state channel at the child-chain can be cheaper and faster than performing each of those transactions on the chin directly. Some common instances of off-chain scaling include batching multiple payments into one transaction, sidechains, and payment channels.&lt;/p&gt;

&lt;p&gt;The off-chain method permits participants to directly perform transactions, instead of doing them in Blockchain without any trust issues. Participated parties or companies can maintain off-chain state machines only to resume an on-chain consensus when required. This technique is built on top of Ethereum does not guarantee similar as if they were done on-chain; for instance, they may need participants to remain online to respond to fraud attempts, but they can be sufficiently secure and final to be very useful. Some of the methods in Layer 2 are sidechain, state channels, plasma. They enhance scalability and minimize transaction fees. The off-chain mechanism's main purpose is that Blockchain should be only be used as a reliable and arbitration layer.  &lt;/p&gt;

&lt;p&gt;These mechanisms are broadly categorized as –&lt;br&gt;
• State Channels&lt;br&gt;
• Sidechains &lt;br&gt;
• Plasma &lt;/p&gt;

&lt;h2&gt;
  
  
  State Channels
&lt;/h2&gt;

&lt;p&gt;State channels on Ethereum enhance blockchain performance by moving state-modifying operations off-chain. These operations are performed directly between the participants. Fist type of state channel described were payment channels using off-chain transactions to modify ownership of locked Bitcoin, enabling users to make "off-chain payments" between each other. They are built similarly as the Bitcoin Lightning network. State channels allow users to send state updates, such as an update to a smart contract. &lt;/p&gt;

&lt;h2&gt;
  
  
  Sidechains
&lt;/h2&gt;

&lt;p&gt;Sidechains are attached to the main-chain using a two-way peg. They enable tokens and digital assets from one Blockchain to be used separately and then moved back to the original. They are independent of the main chain and responsible for their own security. This means that they execute their own technique to obtain consensus. &lt;/p&gt;

&lt;h2&gt;
  
  
  Plasma
&lt;/h2&gt;

&lt;p&gt;This is a framework to create scalable &lt;a href="https://www.ifourtechnolab.com/blockchain-technology"&gt;blockchain applications&lt;/a&gt;. This mechanism has a series of smart contracts running on the top of the blockchain root network. This network contract processes only a tiny amount of commitments from child blockchains that can do an incredibly large amount of computations in most cases. The function of plasma is quite simple and easy though it looks complex. One can create smaller blockchains of many complexities as long as the Ethereum network can validate that Blockchain is valid. &lt;/p&gt;

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

&lt;p&gt;Ethereum scalability congestion is that each node in the network has to process each transaction. In Ethereum scalability, each node maintains an accurate copy of the current network state that means they don't need to rely on a third party to confirm the balance of every account and smart contract. Apart from Ethereum on-chain scaling, simultaneously triggers a series of events on Ethereum. Ethereum network can verify everything valid Blockchain. &lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
