<?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: Entangled Cognition</title>
    <description>The latest articles on DEV Community by Entangled Cognition (@entangledcognition).</description>
    <link>https://dev.to/entangledcognition</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%2Forganization%2Fprofile_image%2F2128%2Fbcc6b1ba-e8c7-4214-a889-03b030eafc9b.png</url>
      <title>DEV Community: Entangled Cognition</title>
      <link>https://dev.to/entangledcognition</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/entangledcognition"/>
    <language>en</language>
    <item>
      <title>Blockchain Beginner guide</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Wed, 21 May 2025 13:15:52 +0000</pubDate>
      <link>https://dev.to/entangledcognition/blockchain-beginner-guide-4m3o</link>
      <guid>https://dev.to/entangledcognition/blockchain-beginner-guide-4m3o</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Blockchain has evolved from a niche concept underpinning Bitcoin to a rich ecosystem of cryptocurrencies, smart contracts, decentralized finance (DeFi), non-fungible tokens (NFTs), Web3.0, and more. At first glance, terms like Bitcoin, Ethereum, Solana, ADA, NFT, DeFi, Web3.0, Binance, MetaMask, and MEW can feel overwhelming. This article breaks down core concepts, traces key milestones, explains why Bitcoin and base chains (Layer 1) were needed, and compares major platforms (Ethereum, Solana, Polygon, XRP) as well as the latest consensus algorithms.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Brief History &amp;amp; Interesting Facts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Early Inspirations (1991–2008)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1991&lt;/strong&gt;: Haber &amp;amp; Stornetta propose a tamper-evident timestamping scheme.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1998–2004&lt;/strong&gt;: “b-money,” “bit gold,” and “Reusable Proofs of Work” lay groundwork for distributed digital cash.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Bitcoin’s Genesis&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Oct 31, 2008&lt;/strong&gt;: Satoshi Nakamoto’s whitepaper introduces a peer-to-peer ledger, secured by Proof of Work and capped supply.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jan 3, 2009&lt;/strong&gt;: Genesis block mined, embedding a headline on bank bailouts—signaling distrust of centralized finance.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Ethereum &amp;amp; Beyond&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;2015&lt;/strong&gt;: Ethereum launches with smart contracts, spawning a new wave of dApps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2017–today&lt;/strong&gt;: Scalability challenges spur Layer 2 rollups and alternative Layer 1 chains (Solana, Cardano, Polkadot, Avalanche).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why We Needed Bitcoin
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Trustless Transactions&lt;/strong&gt;: Eliminate banks and processors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Censorship Resistance&lt;/strong&gt;: Transact globally, regardless of local controls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Digital Scarcity&lt;/strong&gt;: 21 million-coin cap makes Bitcoin “programmable gold.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Financial Inclusion&lt;/strong&gt;: Unbanked users need only internet and a wallet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immutable Ledger&lt;/strong&gt;: Transparent, auditable history without alteration.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Why Layer 1 Matters
&lt;/h2&gt;

&lt;p&gt;Layer 1 blockchains are the &lt;strong&gt;foundations&lt;/strong&gt; upon which everything else is built. They provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Security &amp;amp; Finality&lt;/strong&gt;
Native consensus (PoW, PoS, BFT) secures every transaction permanently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Availability&lt;/strong&gt;
Every node holds or can access the full transaction history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-Chain Computation&lt;/strong&gt;
Smart contracts execute deterministically in a shared runtime (e.g., EVM, Solana VM).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network Effects&lt;/strong&gt;
More users and developers on a single chain strengthen liquidity, tooling, and ecosystem growth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without a robust Layer 1, Layer 2 solutions or tokens would lack a common source of truth, endangering security and decentralization. Layer 1 is where your “true” balances, contracts, and state transitions live.&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Terminology Refresher
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node&lt;/strong&gt;: Participant storing/validating chain data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consensus Algorithm&lt;/strong&gt;: Protocol for agreeing on blocks (PoW, PoS, BFT).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Contract&lt;/strong&gt;: On-chain code that self-executes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dApp&lt;/strong&gt;: Decentralized application built atop smart contracts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coin vs. Token&lt;/strong&gt;: Native currency vs. asset issued on another chain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gas&lt;/strong&gt;: Fee to process transactions or contracts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wallet&lt;/strong&gt;: Key-management interface (MetaMask, MEW).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CEX vs. DEX&lt;/strong&gt;: Centralized vs. on-chain exchange platforms.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Consensus Algorithms
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Proof of Work (PoW)&lt;/strong&gt;: Energy-intensive mining (Bitcoin).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof of Stake (PoS)&lt;/strong&gt;: Validators lock tokens to propose/validate blocks (Ethereum, Cardano).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof of History (PoH) + PoS&lt;/strong&gt;: Solana’s timestamped ledger for ultra-fast finality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Federated/BFT-style&lt;/strong&gt;: Trusted validator sets reach Byzantine-fault-tolerant agreement (XRP Ledger).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Layer 1 vs. Layer 2
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Layer 1 (L1)&lt;/strong&gt;: The base chain—handles security, data availability, on-chain execution.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Layer 2 (L2)&lt;/strong&gt;: Scalability overlays—state channels (Lightning), sidechains (Polygon PoS), rollups (Optimistic, ZK).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Why L2?&lt;/strong&gt; Lower fees, higher throughput, while inheriting L1’s security guarantees.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  Comparing Major Layer 1 Platforms
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Consensus&lt;/th&gt;
&lt;th&gt;TPS&lt;/th&gt;
&lt;th&gt;Smart Contracts&lt;/th&gt;
&lt;th&gt;Native Token&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Bitcoin&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PoW (SHA-256)&lt;/td&gt;
&lt;td&gt;~7&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;BTC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ethereum&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PoS (Casper)&lt;/td&gt;
&lt;td&gt;15–30&lt;/td&gt;
&lt;td&gt;Yes (EVM)&lt;/td&gt;
&lt;td&gt;ETH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Solana&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PoH + PoS&lt;/td&gt;
&lt;td&gt;~2,000&lt;/td&gt;
&lt;td&gt;Yes (Rust, C)&lt;/td&gt;
&lt;td&gt;SOL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cardano&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PoS (Ouroboros)&lt;/td&gt;
&lt;td&gt;~250&lt;/td&gt;
&lt;td&gt;Yes (Plutus)&lt;/td&gt;
&lt;td&gt;ADA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;XRP Ledger&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Federated Consensus&lt;/td&gt;
&lt;td&gt;~1,500&lt;/td&gt;
&lt;td&gt;Limited (Hooks API)&lt;/td&gt;
&lt;td&gt;XRP&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Global Adoption: How the World Is Embracing Blockchains
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Emerging Markets &amp;amp; Remittances&lt;/strong&gt;
– Users in Latin America, Africa, and Southeast Asia send cross-border funds cheaply via BTC or stablecoins, bypassing high remittance fees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Central Bank Digital Currencies (CBDCs)&lt;/strong&gt;
– Over 100 nations are researching or piloting digital currencies to modernize payments (e.g., China’s e-CNY, Nigeria’s e-Naira).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise &amp;amp; Supply Chain&lt;/strong&gt;
– IBM’s Food Trust tracks produce from farm to retailer; Maersk’s TradeLens logs shipping events on a private chain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decentralized Finance (DeFi)&lt;/strong&gt;
– Billions in TVL (Total Value Locked) across lending (Aave), automated market makers (Uniswap), and yield aggregators (Yearn).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Art &amp;amp; Entertainment&lt;/strong&gt;
– Artists and game studios mint NFTs (digital art, in-game items), building new revenue models and fan engagement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulatory &amp;amp; Institutional Interest&lt;/strong&gt;
– Large funds (BlackRock, Fidelity) have launched Bitcoin ETFs; regulators are crafting frameworks for custody, AML/KYC, and token classification.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Latest Innovations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DAG Protocols&lt;/strong&gt; (IOTA, Hedera): High throughput via graph-based ledgers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid Models&lt;/strong&gt;: PoW bootstrapping + PoS security or PoS + BFT finality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Knowledge Advances&lt;/strong&gt;: Private transactions, succinct proofs for rollups and layer 1s alike.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Blockchain’s journey—from a simple distributed linked list to a multi-layered global network—has been driven by the need for trustless value transfer, programmable scarcity, and open participation. Layer 1 chains form the bedrock that secures and coordinates every transaction and smart contract, while Layer 2 solutions and emerging innovations propel scalability. As enterprises, nations, and individual users worldwide adopt blockchain technology—whether for payments, DeFi, or digital identity—understanding these layers, their origins, and their real-world impact will help you navigate and leverage the next generation of the internet.&lt;/p&gt;

&lt;p&gt;Popcorn Time&lt;br&gt;
If you need more info about the blockchain or consensus algorithms watch these &lt;a href="https://www.youtube.com/watch?v=_160oMzblY8&amp;amp;list=PLSPHsfEaKku9-DW80RRab8Lww2tUr3TKI" rel="noopener noreferrer"&gt;playlist&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>nft</category>
      <category>token</category>
      <category>web3</category>
    </item>
    <item>
      <title>🔌 Demystifying ARPANET: The Spark Before the Web</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Wed, 21 May 2025 12:29:08 +0000</pubDate>
      <link>https://dev.to/entangledcognition/demystifying-arpanet-the-spark-before-the-web-4ci</link>
      <guid>https://dev.to/entangledcognition/demystifying-arpanet-the-spark-before-the-web-4ci</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Before the Web was woven, the world’s first packet-switched network — ARPANET — laid the foundation for everything to come.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  In the Shadow of the Cold War
&lt;/h2&gt;

&lt;p&gt;The year was 1969. America was racing to the moon, dodging nuclear paranoia, and pouring resources into scientific supremacy.&lt;/p&gt;

&lt;p&gt;The U.S. Department of Defense’s research agency, &lt;strong&gt;ARPA (Advanced Research Projects Agency)&lt;/strong&gt;, had one problem: how could scientists at distant universities &lt;strong&gt;share computer resources&lt;/strong&gt; in real-time?&lt;/p&gt;

&lt;p&gt;Back then, computers were massive, expensive, and isolated. If researchers at MIT wanted to run programs on a computer at Stanford, they’d often have to fly in or use slow telephone connections.&lt;/p&gt;

&lt;p&gt;So ARPA did something radical: it funded a new kind of network — one that could &lt;strong&gt;send digital data in packets&lt;/strong&gt; across multiple unreliable channels. The result: &lt;strong&gt;ARPANET&lt;/strong&gt;, the ancestor of the modern Internet.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Connection
&lt;/h2&gt;

&lt;p&gt;On &lt;strong&gt;October 29, 1969&lt;/strong&gt;, at 10:30 p.m., a UCLA student typed &lt;code&gt;login&lt;/code&gt; into a terminal to connect to a remote computer at Stanford.&lt;/p&gt;

&lt;p&gt;The system crashed after the first two letters — &lt;code&gt;lo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;But history was made: the &lt;strong&gt;first inter-networked message&lt;/strong&gt; had been sent.&lt;/p&gt;

&lt;p&gt;Within months, ARPANET linked four key universities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UCLA&lt;/li&gt;
&lt;li&gt;Stanford Research Institute (SRI)&lt;/li&gt;
&lt;li&gt;UC Santa Barbara&lt;/li&gt;
&lt;li&gt;University of Utah&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The era of &lt;strong&gt;packet-switched networking&lt;/strong&gt; had begun.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Worked
&lt;/h2&gt;

&lt;p&gt;Unlike the circuit-switched phone system, ARPANET broke data into &lt;strong&gt;packets&lt;/strong&gt;, each containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A destination address&lt;/li&gt;
&lt;li&gt;Payload (the data)&lt;/li&gt;
&lt;li&gt;Sequence information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These packets traveled independently, hopped through routers (then called &lt;strong&gt;IMP&lt;/strong&gt;s – Interface Message Processors), and were &lt;strong&gt;reassembled at the destination&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This made ARPANET resilient to node failures — a key advantage in military thinking.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Protocol Before the Protocols
&lt;/h2&gt;

&lt;p&gt;Initially, ARPANET used &lt;strong&gt;NCP (Network Control Protocol)&lt;/strong&gt;, which allowed basic host-to-host communication and established the groundwork for reliable connections between machines. However, NCP lacked flexibility for larger-scale growth and didn't support addressing schemes that modern networking required.&lt;/p&gt;

&lt;p&gt;In response, the network transitioned in 1983 to &lt;strong&gt;TCP/IP (Transmission Control Protocol / Internet Protocol)&lt;/strong&gt; — a more modular, scalable protocol suite that separated how data was sent (IP) from how it was guaranteed and ordered (TCP). This upgrade made the network resilient, decentralized, and interoperable across different hardware and operating systems.&lt;/p&gt;

&lt;p&gt;With TCP/IP as the foundation, several important protocols emerged:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FTP (File Transfer Protocol)&lt;/strong&gt; – introduced in the early 1970s, it enabled users to upload and download files between computers remotely, using authenticated logins or anonymous access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telnet&lt;/strong&gt; – one of the earliest remote terminal protocols, it allowed users to log into another computer over ARPANET as if sitting at a local terminal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SMTP (Simple Mail Transfer Protocol)&lt;/strong&gt; – laid the foundation for email transmission between servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt; – introduced in 1984, it replaced numeric IP addresses with human-readable domain names.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These protocols collectively allowed researchers and early users to navigate, communicate, and transfer data long before the World Wide Web appeared.&lt;/p&gt;

&lt;p&gt;Every major system that followed — including email, FTP, Telnet, and eventually HTTP — was layered on top of this evolving protocol backbone. — email, FTP, Telnet, and eventually HTTP — was layered on top of this backbone.&lt;/p&gt;




&lt;h2&gt;
  
  
  Other Contenders in Parallel
&lt;/h2&gt;

&lt;p&gt;While ARPANET was the most successful and well-funded packet-switched network, it wasn’t the only attempt.&lt;/p&gt;

&lt;h3&gt;
  
  
  OGAS – The Soviet Network Vision (1960s–1980s)
&lt;/h3&gt;

&lt;p&gt;The Soviet Union had its own ambitious project: &lt;strong&gt;OGAS (National Automated System for Computation and Information Processing)&lt;/strong&gt;. Proposed by cyberneticist &lt;strong&gt;Victor Glushkov&lt;/strong&gt;, OGAS aimed to connect computers across the USSR to manage its economy in real-time.&lt;/p&gt;

&lt;p&gt;It was designed as a three-tier network with nodes at factories, regional hubs, and a central planning institute. Though visionary, OGAS was hindered by bureaucratic resistance, Cold War secrecy, and a lack of technological resources. It never moved beyond pilot stages.&lt;/p&gt;

&lt;h3&gt;
  
  
  CYCLADES – France’s Elegant Simplicity (1970s)
&lt;/h3&gt;

&lt;p&gt;Led by &lt;strong&gt;Louis Pouzin&lt;/strong&gt;, the French &lt;strong&gt;CYCLADES&lt;/strong&gt; network was a major influence on Internet design. It introduced the idea of &lt;strong&gt;end-to-end responsibility&lt;/strong&gt;, where intelligence lies in the endpoints, not the network — a concept that inspired the design of &lt;strong&gt;TCP/IP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Though CYCLADES lost funding in favor of France’s PTT-run Transpac, its architectural ideas endured.&lt;/p&gt;

&lt;h3&gt;
  
  
  German Academic Networks
&lt;/h3&gt;

&lt;p&gt;In West Germany, initiatives like &lt;strong&gt;WIN (Wissenschaftsnetz)&lt;/strong&gt; and later &lt;strong&gt;DFN (Deutsches Forschungsnetz)&lt;/strong&gt; connected universities and research institutes. They often collaborated with European networks like EARN (European Academic and Research Network), though their designs were layered over existing telecom infrastructure.&lt;/p&gt;

&lt;p&gt;While none of these projects scaled like ARPANET, they reflected a &lt;strong&gt;global push toward networked computing&lt;/strong&gt; and contributed ideas, talent, and urgency to the future Internet.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Military Roots to Civilian Use
&lt;/h2&gt;

&lt;p&gt;Though ARPANET began as a defense project, its greatest contributions came in academia:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Email&lt;/strong&gt; emerged in the early 1970s and became the network’s killer app.&lt;/li&gt;
&lt;li&gt;Remote file transfer (FTP) enabled collaborative research.&lt;/li&gt;
&lt;li&gt;Open protocols encouraged interoperability and open standards.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the late 1980s, ARPANET was slowly being replaced by more commercial and international networks — but its DNA lived on.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;February 28, 1990&lt;/strong&gt;, ARPANET was officially decommissioned.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Came After
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How NSFNET and TCP/IP Differed from ARPANET
&lt;/h3&gt;

&lt;p&gt;ARPANET laid the groundwork, but &lt;strong&gt;NSFNET&lt;/strong&gt; and &lt;strong&gt;TCP/IP&lt;/strong&gt; expanded and refined the architecture of global networking.&lt;/p&gt;

&lt;h4&gt;
  
  
  Connectivity Model:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ARPANET&lt;/strong&gt; used dedicated leased lines between a small number of nodes with &lt;strong&gt;IMP (Interface Message Processor)&lt;/strong&gt; routers. Its connectivity was &lt;strong&gt;limited and manually provisioned&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NSFNET&lt;/strong&gt; leveraged regional academic networks and higher-speed backbones. It introduced &lt;strong&gt;dynamic routing&lt;/strong&gt;, modular upgrades, and decentralized management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Protocol Stack:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;ARPANET originally relied on &lt;strong&gt;NCP&lt;/strong&gt;, which lacked routing and robust addressing.&lt;/li&gt;
&lt;li&gt;TCP/IP provided a &lt;strong&gt;layered model&lt;/strong&gt; — IP for addressing and routing, TCP for reliable delivery — enabling scalable internetworking.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Access and Policy:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;ARPANET access was tightly controlled under military and academic grants.&lt;/li&gt;
&lt;li&gt;NSFNET &lt;strong&gt;intentionally opened&lt;/strong&gt; access to educational and eventually commercial entities — this shift &lt;strong&gt;enabled the birth of the public Internet&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Transition:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;By 1990, ARPANET had served its purpose.&lt;/li&gt;
&lt;li&gt;NSFNET took over, with TCP/IP becoming the universal language of the Internet.&lt;/li&gt;
&lt;li&gt;Routers replaced IMPs, and a wide array of networks began to &lt;strong&gt;autonomously interconnect&lt;/strong&gt;, forming what we now call the &lt;strong&gt;Internet&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As ARPANET faded, its foundational principles gave rise to the modern Internet.&lt;/p&gt;

&lt;h3&gt;
  
  
  NSFNET and Internet Backbone (1985–1995)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The U.S. National Science Foundation created &lt;strong&gt;NSFNET&lt;/strong&gt;, a higher-capacity academic network.&lt;/li&gt;
&lt;li&gt;It linked universities and became the backbone for &lt;strong&gt;early Internet traffic&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Commercial use was prohibited at first but gradually opened up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The TCP/IP Revolution (1983–1990)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ARPANET officially adopted &lt;strong&gt;TCP/IP&lt;/strong&gt; on January 1, 1983 — a day now known as &lt;strong&gt;Flag Day&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;TCP/IP unified all research and military networks under a common language.&lt;/li&gt;
&lt;li&gt;This enabled the &lt;strong&gt;inter-network&lt;/strong&gt; — hence the term &lt;strong&gt;Internet&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Rise of the Modern Internet (1990–1995)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In 1990, &lt;strong&gt;Tim Berners-Lee&lt;/strong&gt; launched the &lt;strong&gt;World Wide Web&lt;/strong&gt; at CERN.&lt;/li&gt;
&lt;li&gt;By 1993, the first graphical web browser, &lt;strong&gt;Mosaic&lt;/strong&gt;, was released.&lt;/li&gt;
&lt;li&gt;The number of Internet hosts exploded from &lt;strong&gt;a few hundred thousand to millions&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Dot-Com Boom (1995–2000)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;NSFNET was retired, and the Internet was fully commercialized.&lt;/li&gt;
&lt;li&gt;Domains like &lt;code&gt;amazon.com&lt;/code&gt;, &lt;code&gt;google.com&lt;/code&gt;, and &lt;code&gt;ebay.com&lt;/code&gt; appeared.&lt;/li&gt;
&lt;li&gt;ISPs (Internet Service Providers) brought access to the masses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mobile &amp;amp; Cloud Era (2007–Present)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Smartphones turned the web into a mobile-first experience.&lt;/li&gt;
&lt;li&gt;Cloud computing (AWS, Azure, Google Cloud) redefined infrastructure.&lt;/li&gt;
&lt;li&gt;The Web now supports video streaming, real-time apps, social media, and global commerce.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From &lt;strong&gt;ARPANET's four-node experiment&lt;/strong&gt; to a &lt;strong&gt;global web of billions&lt;/strong&gt;, the Internet has evolved through cooperation, open protocols, and decades of iteration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NSFNET&lt;/strong&gt;: A more powerful network created by the National Science Foundation — precursor to the modern Internet backbone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tim Berners-Lee’s World Wide Web&lt;/strong&gt; (1990): Built on top of TCP/IP — made the net human-readable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Commercial ISPs&lt;/strong&gt; and the &lt;strong&gt;Internet boom&lt;/strong&gt; of the mid-90s&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without ARPANET, none of these would exist.&lt;/p&gt;




&lt;h2&gt;
  
  
  How the Internet Travels Across Oceans
&lt;/h2&gt;

&lt;p&gt;Today’s global internet relies heavily on &lt;strong&gt;undersea fiber-optic cables&lt;/strong&gt;, stretching tens of thousands of kilometers between continents.&lt;/p&gt;

&lt;h3&gt;
  
  
  How They're Built:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Laid by specialized ships, these cables rest on the ocean floor.&lt;/li&gt;
&lt;li&gt;At shallow depths, they're buried beneath the seabed for protection.&lt;/li&gt;
&lt;li&gt;Each cable contains multiple fiber pairs wrapped in layers of steel and waterproofing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Sharks Don’t Destroy Them:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In early days, sharks &lt;em&gt;did&lt;/em&gt; occasionally bite cables — possibly due to electromagnetic signals.&lt;/li&gt;
&lt;li&gt;Modern cables are reinforced with &lt;strong&gt;armored sheaths&lt;/strong&gt; to withstand pressure, bites, and anchors.&lt;/li&gt;
&lt;li&gt;Today, human activities (like fishing and earthquakes) are &lt;strong&gt;far more common causes&lt;/strong&gt; of damage than marine life.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These undersea arteries carry over &lt;strong&gt;95% of international data traffic&lt;/strong&gt; — making them the invisible foundation of modern connectivity.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;ARPANET was not the Web — it was &lt;strong&gt;the soil the Web grew in&lt;/strong&gt;. It showed that resilient, packet-switched communication over long distances was not just possible, but inevitable.&lt;/p&gt;

&lt;p&gt;It was a humble experiment, born out of academic need and military foresight. But it changed how we connect, communicate, and collaborate.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌍 Legacy Markers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🧠 The first message sent: "lo"&lt;/li&gt;
&lt;li&gt;🔗 The first four nodes formed the backbone of modern connectivity&lt;/li&gt;
&lt;li&gt;📡 TCP/IP Day (January 1, 1983) — when ARPANET officially switched to the protocols we use today&lt;/li&gt;
&lt;li&gt;🛑 ARPANET shutdown: February 28, 1990&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Written in honor of the engineers who connected four machines — and jumpstarted a planetary web.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Next Article &lt;a href="https://dev.to/entangledcognition/demystifying-www-and-the-magic-behind-it-all-fjn"&gt;Demystifying-www&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>www</category>
      <category>network</category>
      <category>computerscience</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🌐 Demystifying “www” — and the Magic Behind It All</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Wed, 21 May 2025 12:00:09 +0000</pubDate>
      <link>https://dev.to/entangledcognition/demystifying-www-and-the-magic-behind-it-all-fjn</link>
      <guid>https://dev.to/entangledcognition/demystifying-www-and-the-magic-behind-it-all-fjn</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A journey into how one man's frustration inside a particle lab created the foundation of the modern web.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Problem No One Wanted to Solve
&lt;/h2&gt;

&lt;p&gt;In 1989, deep within the sprawling scientific corridors of CERN in Geneva, Tim Berners-Lee faced a quiet but maddening challenge. Physicists were drowning in data — yet they had no shared way to access or link it.&lt;/p&gt;

&lt;p&gt;Information was locked inside incompatible systems. A document on a &lt;a href="https://www.stromasys.com/resources/understanding-the-vax-processors-architecture/#:~:text=VAX%20(Virtual%20Address%20eXtension)%20processor,set%20and%20virtual%20memory%20capacity.&amp;lt;br&amp;gt;%0A![Image%20description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdyx35typzm5jl6qj717.png)" rel="noopener noreferrer"&gt;VAX&lt;/a&gt; machine couldn’t be easily opened by a UNIX terminal. Sharing findings required a combination of emails, FTP commands, and paper printouts. It was a fragmented world.&lt;/p&gt;

&lt;p&gt;Tim drafted a proposal: &lt;em&gt;"Information Management: A Proposal."&lt;/em&gt; It introduced a radical thought — using hypertext over the internet to interconnect documents. A web... a &lt;strong&gt;World Wide Web&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the World Looked Like Before
&lt;/h2&gt;

&lt;p&gt;Before HTML, documents existed in a range of formats:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plain text (&lt;code&gt;.txt&lt;/code&gt;)&lt;/strong&gt; – the most common but unstructured format&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TeX/LaTeX&lt;/strong&gt; – used for academic and scientific publishing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostScript (&lt;code&gt;.ps&lt;/code&gt;)&lt;/strong&gt; – a page description language for print-ready documents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DVI&lt;/strong&gt; – output format from TeX, used for display but not hyperlinking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SGML&lt;/strong&gt; – a powerful markup language used in publishing, but too complex for the web&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF&lt;/strong&gt; – introduced around 1993, but was not open or widespread yet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These formats lacked interconnectivity. Documents were isolated, static, and platform-specific. There was no way to link between them or browse them across systems. Hypertext brought the missing piece: non-linear navigation.&lt;/p&gt;

&lt;p&gt;To read a paper at CERN in 1988, you might:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Call a colleague to find where it’s stored&lt;/li&gt;
&lt;li&gt;Telnet into a remote server to navigate the directory structure or read a README&lt;/li&gt;
&lt;li&gt;Use FTP to download the actual file once you knew its exact location&lt;/li&gt;
&lt;li&gt;Open it with a compatible viewer (if you’re lucky)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Telnet was used to explore and find files interactively, while FTP was used to transfer them efficiently — especially large or binary files. This two-step process made even simple reading tasks cumbersome and error-prone.&lt;/p&gt;

&lt;p&gt;There were no links. No browsing. No shared language for content.&lt;/p&gt;

&lt;p&gt;This wasn't a problem just for CERN — it was a limitation of the entire Internet. People needed &lt;strong&gt;a better way to navigate knowledge&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Birth of Hypertext on the Net
&lt;/h2&gt;

&lt;p&gt;Tim was inspired by earlier pioneers like Ted Nelson, who had coined the term “hypertext” in 1965. Hypertext was simple: &lt;em&gt;text with links&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But what if those links could work across the entire world, over the internet?&lt;/p&gt;

&lt;p&gt;Tim envisioned a system built on three pillars:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML&lt;/strong&gt; – a language to structure documents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP&lt;/strong&gt; – a protocol to fetch those documents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URL&lt;/strong&gt; – a global address to find each resource&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;He wrote the first HTML document:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;&lt;/span&gt;Welcome&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello, CERN!&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"page2.html"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Next Page&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The First Server and a Label That Made History
&lt;/h2&gt;

&lt;p&gt;Tim didn’t stop at defining HTML. He coded the first &lt;strong&gt;HTTP server&lt;/strong&gt;, too. It ran on a NeXT workstation at CERN — a cube-shaped black machine from Steve Jobs’ company.&lt;/p&gt;

&lt;p&gt;Here’s what a simplified version of that server looked like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;send_response&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;client_fd&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Open HTML file and send content with HTTP headers&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Accept socket, read HTTP GET line&lt;/span&gt;
  &lt;span class="c1"&gt;// If "GET /a.html", serve file from disk&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The server read incoming requests like &lt;code&gt;GET /a.html&lt;/code&gt;, opened the file from disk, and responded with a raw HTML document. The server itself didn’t “understand” HTML — it simply sent the content. &lt;strong&gt;The browser did the rendering.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧪 A sticker on that NeXT computer read: &lt;em&gt;"This machine is a server. Do not power down!!"&lt;/em&gt; That machine served the first webpage ever.&lt;/p&gt;




&lt;h2&gt;
  
  
  Testing the Web — Without a Browser?
&lt;/h2&gt;

&lt;p&gt;Since no browser existed, Tim built that too. Using Objective-C, he created &lt;strong&gt;WorldWideWeb.app&lt;/strong&gt;, the first browser/editor in history.&lt;/p&gt;

&lt;p&gt;At that point, only machines capable of running NeXTSTEP could use the browser. So effectively, &lt;strong&gt;only Tim himself could see and interact with those first web pages&lt;/strong&gt; — until more browsers were developed for other platforms like X Window System and later Windows and Mac. The Web was functional, but its audience was limited to one.&lt;/p&gt;

&lt;p&gt;What made this browser remarkable wasn't just its ability to display HTML — it could also handle multiple protocols:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It parsed and rendered HTML visually, interpreting tags like &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It followed &lt;code&gt;http://&lt;/code&gt;, &lt;code&gt;ftp://&lt;/code&gt;, and &lt;code&gt;telnet://&lt;/code&gt; links differently&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP was handled with GET requests&lt;/li&gt;
&lt;li&gt;FTP links fetched anonymous files&lt;/li&gt;
&lt;li&gt;Telnet links launched external terminal sessions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Tim wrote the protocol logic, the rendering logic, and the link-handling flow all by hand — stitching together systems that weren’t designed to work together. His browser was more than a viewer — it was a &lt;strong&gt;universal translator for information&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🔗 You can explore a modern simulation of the browser at: &lt;a href="https://worldwideweb.cern.ch/browser" rel="noopener noreferrer"&gt;https://worldwideweb.cern.ch/browser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The entire round-trip — from server to browser — was something Tim engineered end-to-end, often alone, and ahead of its time.&lt;/p&gt;




&lt;h2&gt;
  
  
  So, Where Did "www" Come From?
&lt;/h2&gt;

&lt;p&gt;The first website was hosted at &lt;code&gt;info.cern.ch&lt;/code&gt;, not &lt;code&gt;www.cern.ch&lt;/code&gt;. The “www” subdomain wasn’t part of Tim’s original vision.&lt;/p&gt;

&lt;p&gt;But as the web spread beyond CERN, organizations needed to separate services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ftp.example.com&lt;/code&gt; for file transfers&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mail.example.com&lt;/code&gt; for email&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;www.example.com&lt;/code&gt; for web content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The “www” prefix became a convention — &lt;strong&gt;not a requirement&lt;/strong&gt;, just a label to mark "this is our web server."&lt;/p&gt;




&lt;h2&gt;
  
  
  When the Web Became Interactive
&lt;/h2&gt;

&lt;p&gt;Early HTML was static. Pages were read-only. But people wanted to search, sign up, submit data.&lt;/p&gt;

&lt;p&gt;By 1993–1994, Netscape and other browsers introduced &lt;strong&gt;HTML forms&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"/submit"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"email"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;button&amp;gt;&lt;/span&gt;Subscribe&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HTTP evolved too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for &lt;code&gt;POST&lt;/code&gt; and &lt;code&gt;HEAD&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;MIME types&lt;/li&gt;
&lt;li&gt;Status codes like &lt;code&gt;404 Not Found&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The web became more than documents — it became &lt;strong&gt;interactive&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Came After
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1995&lt;/strong&gt;: JavaScript is born — enabling client-side interaction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1999&lt;/strong&gt;: AJAX enables background HTTP calls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2005&lt;/strong&gt;: Web 2.0 arrives — Gmail, Facebook, Google Maps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From documents to applications, the Web evolved in every direction — but its foundation still rests on &lt;strong&gt;HTML, HTTP, and URLs&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts: A Subdomain and a Dream
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;www.&lt;/code&gt; is just a subdomain. It was never essential — just helpful.&lt;br&gt;
But the ideas behind it? Those were revolutionary.&lt;/p&gt;

&lt;p&gt;The Web wasn't built by a tech giant or a marketing team. It was built by a curious mind, alone in an office at CERN, solving a simple but powerful problem.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎉 CERN Easter Eggs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📡 CERN is home to the &lt;strong&gt;Large Hadron Collider&lt;/strong&gt;, the world’s biggest science machine&lt;/li&gt;
&lt;li&gt;💻 The first webpage ever: &lt;a href="http://info.cern.ch" rel="noopener noreferrer"&gt;http://info.cern.ch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🧠 Tim’s 1989 proposal was stamped by his boss as: &lt;em&gt;"Vague but exciting."&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Written in tribute to the man who clicked the first hyperlink on the World Wide Web — and quietly rewired the architecture of modern civilization.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>www</category>
      <category>javascript</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>32 bit vs 64 bit vs 128 bit</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Thu, 27 Jun 2024 20:31:54 +0000</pubDate>
      <link>https://dev.to/entangledcognition/32-bit-vs-64-bit-vs-128-bit-5d0i</link>
      <guid>https://dev.to/entangledcognition/32-bit-vs-64-bit-vs-128-bit-5d0i</guid>
      <description>&lt;h2&gt;
  
  
  Understanding 32-bit vs 64-bit vs 128-bit in Development
&lt;/h2&gt;

&lt;p&gt;In this article, we'll address some common questions you might have when buying a laptop, choosing an operating system, or downloading software.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is 32/64/128 bit?&lt;/li&gt;
&lt;li&gt;Does it correspond to the processor, OS, or software?&lt;/li&gt;
&lt;li&gt;How do you check compatibility?&lt;/li&gt;
&lt;li&gt;Why do they use only even bits and exclusively multiples of 8 in processing?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before answering these questions, let's take a brief look at the early days of computer manufacturing and its evolution.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Brief History of Microprocessors
&lt;/h2&gt;

&lt;p&gt;Leaving aside the debates about who first created the microprocessor, let's go with the widely accepted history of Intel's 4004, which was the first computer-on-a-chip (later called a microprocessor).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1972&lt;/strong&gt;: The Intel® 4004 processor, Intel’s first microprocessor, powered the Busicom calculator and paved the way for personal computers.
&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%2Fofcvy4idkdfay3toyo5h.jpg" alt="Intel 4004"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1975&lt;/strong&gt;: The Altair 8800 microcomputer, based on the Intel® 8080 microprocessor, was the first successful home or personal computer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1981&lt;/strong&gt;: The Intel® 8088 microprocessor was selected to power the IBM PC.&lt;/li&gt;
&lt;li&gt;Many other processors followed these initial chips.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key takeaway here is that the 4004 was a 4-bit chip, the 8008 was an 8-bit chip, and the 8086 was a 16-bit chip.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is 32/64/128 bit?
&lt;/h2&gt;

&lt;p&gt;In simple terms, it refers to the number of bits used in one CPU register. The CPU register is like a small storage area where the CPU keeps data it needs to access quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  32-bit Systems
&lt;/h3&gt;

&lt;p&gt;A 32-bit system means the CPU can handle 32 bits of data at once. It can address up to 4GB of RAM. This was common in older computers and some low-power devices today.&lt;/p&gt;

&lt;h3&gt;
  
  
  64-bit Systems
&lt;/h3&gt;

&lt;p&gt;A 64-bit system can handle 64 bits of data at once. It can address much more RAM, up to 16 exabytes (a theoretical limit far beyond today's needs). Most modern computers and operating systems are 64-bit because they can handle more data and perform better with large applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  128-bit Systems
&lt;/h3&gt;

&lt;p&gt;128-bit systems are not common in consumer devices yet. They can handle even more data and address an almost unlimited amount of RAM. These systems might be used in specialized applications like scientific computing, encryption, and advanced graphics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Processor, OS, or Software?
&lt;/h2&gt;

&lt;p&gt;The bit value can refer to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Processor&lt;/strong&gt;: The CPU's architecture (e.g., 32-bit or 64-bit).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating System&lt;/strong&gt;: Whether the OS is designed for a 32-bit or 64-bit processor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software&lt;/strong&gt;: Whether the application is built to run on a 32-bit or 64-bit OS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How They Work Together
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A 32-bit OS can run on a 32-bit processor and use 32-bit software.&lt;/li&gt;
&lt;li&gt;A 64-bit OS can run on a 64-bit processor and use both 32-bit and 64-bit software.&lt;/li&gt;
&lt;li&gt;128-bit systems, when available, will likely follow similar compatibility rules.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Checking Compatibility
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Processor&lt;/strong&gt;: Check your CPU specs to see if it's 32-bit or 64-bit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating System&lt;/strong&gt;: In the system settings, you can find if your OS is 32-bit or 64-bit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software&lt;/strong&gt;: Software typically specifies if it requires a 32-bit or 64-bit OS.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Practical Steps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;On Windows, right-click on "This PC" or "My Computer" and select "Properties" to see system information.&lt;/li&gt;
&lt;li&gt;On macOS, click the Apple icon and select "About This Mac."&lt;/li&gt;
&lt;li&gt;For software, check the system requirements on the download page or packaging.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Even Bits and Multiples of 8?
&lt;/h2&gt;

&lt;p&gt;Processors use even bits and multiples of 8 because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data Bus Width&lt;/strong&gt;: It matches the width of the data bus, allowing efficient data transfer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory Addressing&lt;/strong&gt;: It simplifies memory addressing and alignment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standardization&lt;/strong&gt;: It aligns with industry standards for data processing and storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits of Using Multiples of 8
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity&lt;/strong&gt;: Makes designing hardware and software simpler.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compatibility&lt;/strong&gt;: Ensures compatibility across different systems and devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency&lt;/strong&gt;: Improves the speed and efficiency of data processing.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Understanding the difference between 32-bit, 64-bit, and 128-bit systems helps you make informed decisions about your technology needs. Most modern systems use 64-bit technology, providing a good balance of performance and compatibility. As technology advances, we may see more 128-bit systems in specialized fields, offering even greater capabilities.&lt;/p&gt;

&lt;p&gt;By knowing these basics, you can better choose the right hardware and software for your tasks.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>architecture</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Comprehensive Guide for Computer Science Grads</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Wed, 27 Jul 2022 14:11:53 +0000</pubDate>
      <link>https://dev.to/entangledcognition/comprehensive-guide-for-computer-science-grads-j5g</link>
      <guid>https://dev.to/entangledcognition/comprehensive-guide-for-computer-science-grads-j5g</guid>
      <description>&lt;p&gt;This is Blog series on Comprehensive Guide for Computer Science Grads Who are enthusiasts like me or more, who wants to know deep concepts and beauty of Computer Science.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Before introducing you to the articles of this series I would like to mention my learning process which might be helpful for some of you. &lt;/p&gt;

&lt;p&gt;There are 2 Essential facts in Computer Science.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Secret Mantra to understand any concept.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Create a simple Fundamental's List for yourself. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My fundamentals list 📜&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every program Which is written either in Java, C#, Ruby, Python, and javascript has to convert into machine code and executed by CPU.&lt;/li&gt;
&lt;li&gt;All Languages either it is  Java, C#, Ruby, Python, and javascript should have a grammar, A grammar lets us transform a program, which is normally represented as a linear sequence of ASCII characters, into a syntax tree.&lt;/li&gt;
&lt;li&gt;Every Javascript framework like Angular, React, Vue, Svelte has to be converted into a set of Javascript instructions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are a few more, But This is just for your understanding. Creating this kind of fundamentals list will help you breakdown any complex theories of your interest.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: It is also very important to update your fundamentals if there is any major update or mistakes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Find your Heroes. 🦸&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It's really important to choose people who inspire and motivate you. It can be someone from your school, university, twitter or some blogs.&lt;/p&gt;

&lt;p&gt;I would like to share my list&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://twitter.com/unclebobmartin" rel="noopener noreferrer"&gt;Uncle Bob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/maxedapps" rel="noopener noreferrer"&gt;Maximilian Schwarzmüller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/user/thenewboston/featured" rel="noopener noreferrer"&gt;The New Boston&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MissPhilbin" rel="noopener noreferrer"&gt;Carrie anne&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/toddmotto" rel="noopener noreferrer"&gt;Todd Motto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/manekinekko" rel="noopener noreferrer"&gt;Wassim Chegam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DecodedFrontend" rel="noopener noreferrer"&gt;Dmytro Mezhenskyi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/loige" rel="noopener noreferrer"&gt;Luciano Mammino&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Frankly, I have a very long list of people who inspired me and motivates me(not necessarily a direct contact), but I don't want you to bother long list of mine.&lt;/p&gt;




&lt;p&gt;The intention of the series is to build your fundamentals list and start an investigation on your favorite area of interest&lt;/p&gt;

&lt;p&gt;Now I would like to introduce you to my articles, which are going to be part of blog series &lt;em&gt;"Comprehensive Guide for Computer Science Grads "&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Ultimate Alchemy: Turning Sand into a Computer &lt;/li&gt;
&lt;li&gt;What is a Bit?&lt;/li&gt;
&lt;li&gt;What are Gates?&lt;/li&gt;
&lt;li&gt;
32 bit vs 64 bit &lt;/li&gt;
&lt;li&gt;CPU Bound vs IO Bound&lt;/li&gt;
&lt;li&gt;Introduction to Grammer&lt;/li&gt;
&lt;li&gt;Compiler vs Interpreter vs Transpilers&lt;/li&gt;
&lt;li&gt;History of programming Languages&lt;/li&gt;
&lt;li&gt;Arciteture Style vs Arcitecture patterns vs Design Patterns&lt;/li&gt;
&lt;li&gt;Programming Paradigms&lt;/li&gt;
&lt;li&gt;Functional Programming&lt;/li&gt;
&lt;li&gt;Object Oriented Programming&lt;/li&gt;
&lt;li&gt;
What are TDD, BDD, DDD  &lt;/li&gt;
&lt;li&gt;Process vs Threads&lt;/li&gt;
&lt;li&gt;Cryptography at high level&lt;/li&gt;
&lt;li&gt;Computer Networking&lt;/li&gt;
&lt;li&gt;What is Open power Architecture?&lt;/li&gt;
&lt;li&gt;Cloud Computing with GCP,Azure,AWS&lt;/li&gt;
&lt;li&gt;AI and Data Learning&lt;/li&gt;
&lt;li&gt;Which Platforms you should know&lt;/li&gt;
&lt;li&gt;
What is SEO &lt;/li&gt;
&lt;li&gt;IT Giants&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>computerscience</category>
      <category>beginners</category>
      <category>architecture</category>
      <category>programming</category>
    </item>
    <item>
      <title>Dynamic Tab Title in Angular</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Sun, 17 Jul 2022 17:25:19 +0000</pubDate>
      <link>https://dev.to/entangledcognition/dynamic-tab-title-in-angular-26jg</link>
      <guid>https://dev.to/entangledcognition/dynamic-tab-title-in-angular-26jg</guid>
      <description>&lt;p&gt;With Angular 14, Now we can generate dynamic tab titles with ease.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Title property in Routes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Use Case:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Users page with users as tab name.(Users)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Orders page with orders as tab name(Orders)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Then simply use title property in Routes as below&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;APP_ROUTES&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/users&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UsersComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Users&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/orders&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;OrdersComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Orders&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  2. Title with Resolve
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Use Case:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Users page with current user name in tab name.(User- Bharath)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Orders page with order id in tab name.(Order Id:1)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Then we should create a service which implement &lt;code&gt;Resolve&lt;/code&gt; class from Router module as shown below.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Code:
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Injectable&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;providedIn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CustomTitleResolver&lt;/span&gt; &lt;span class="k"&gt;implements&lt;/span&gt; &lt;span class="nx"&gt;Resolve&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="nf"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="na"&gt;route&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ActivatedRouteSnapshot&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RouterStateSnapshot&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;Observable&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Promise&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="c1"&gt;// Have fun with naming&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;&amp;lt;project-name&amp;gt;&amp;gt; -&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;paramMap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Update Routes with title property&lt;/em&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;APP_ROUTES&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Routes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/users/:id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;UsersComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;CustomTitleResolver&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/orders/:id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;OrdersComponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;CustomTitleResolver&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  3. Title Strategy
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Use Case:
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;If you want a more generalized pattern, that will be applied **all over the application&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Prefixing a text to tab title.(Project X Users)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Suffixing a text to tab title.(Users Project X )&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Then create a service that extends &lt;code&gt;TitleStrategy&lt;/code&gt; and add it as Provider in AppModule.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Injectable&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;providedIn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;CustomTitleStrategy&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;TitleStrategy&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;constructor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;readonly&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Title&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="nx"&gt;override&lt;/span&gt; &lt;span class="nf"&gt;updateTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;routerState&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;RouterStateSnapshot&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;buildTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;routerState&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="kc"&gt;undefined&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`myImpact (&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;myImpact&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Naming Strategy should be added as provider in app module, so that angular is aware that you have provided an alternative Naming strategy.&lt;/em&gt;&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;NgModule&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;br&gt;
  &lt;span class="na"&gt;declarations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;br&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;&lt;br&gt;
  &lt;span class="na"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;br&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;&lt;br&gt;
  &lt;span class="na"&gt;providers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;br&gt;
    &lt;span class="na"&gt;provide&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;TitleStrategy&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;br&gt;
    &lt;span class="na"&gt;useClass&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;IAMTitleStrategy&lt;/span&gt;&lt;br&gt;
  &lt;span class="p"&gt;}],&lt;/span&gt;&lt;br&gt;
  &lt;span class="na"&gt;bootstrap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;AppComponent&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;br&gt;
&lt;span class="p"&gt;})&lt;/span&gt;&lt;br&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AppModule&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;br&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Note&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Depending on your use case, you can use either of these ways and also mix up both Resolve and naming Strategy like me &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%2Febhzkmn2i5h5yjqn757b.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%2Febhzkmn2i5h5yjqn757b.png" alt="Dynamic Tab titles using angular"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy coding 👨‍💻 !! &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>angular</category>
      <category>webdev</category>
      <category>dynamictabtitle</category>
    </item>
    <item>
      <title>Compile and Run C# programs without visual studio or any other IDE</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Wed, 01 Dec 2021 14:12:13 +0000</pubDate>
      <link>https://dev.to/entangledcognition/execute-c-programs-without-visual-studio-or-any-other-ide-4g6n</link>
      <guid>https://dev.to/entangledcognition/execute-c-programs-without-visual-studio-or-any-other-ide-4g6n</guid>
      <description>&lt;p&gt;In this Article, We are going to explore how to Compile and Run your C# programs without using any IDE.&lt;/p&gt;

&lt;p&gt;Even Before thinking of doing it, lets ask ourselves this simple question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q&lt;/strong&gt;: &lt;em&gt;Why? Am I going back to stone age?&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Ans&lt;/strong&gt;: &lt;em&gt;No, Writing sample codes in any language without IDE and compiling it will help you understand the eco system better.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Lets move on to Implementation part.&lt;/p&gt;
&lt;h3&gt;
  
  
  Download and install.
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download .NET Framework and install the dev packs.&lt;/li&gt;
&lt;li&gt;Then add C:\Windows\Microsoft.NET\Framework64\v4.0.30319 (it can be any version you download) to environment path.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 2 will make csc (c sharp compiler) executable to be available to access.&lt;/p&gt;
&lt;h3&gt;
  
  
  Coding Part
&lt;/h3&gt;
&lt;h4&gt;
  
  
  1. Compile and Run Class A
&lt;/h4&gt;

&lt;p&gt;Open Notepad and copy class below and name it as &lt;code&gt;A.cs&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;
&lt;span class="c1"&gt;// C# program to print Hello World!&lt;/span&gt;
&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;System&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;


&lt;span class="c1"&gt;// namespace declaration&lt;/span&gt;
&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;HelloWorldApp&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="c1"&gt;// Class declaration&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="c1"&gt;// Main Method&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="c1"&gt;// printing Hello World!&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;// To prevents the screen from&lt;/span&gt;
        &lt;span class="c1"&gt;// running and closing quickly&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadKey&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Steps to compile and run the program&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open cmd&lt;/li&gt;
&lt;li&gt;Navigate to path and then run &lt;code&gt;csc A.cs&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Then run command &lt;code&gt;A&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  2. Compile and Run Class A, which uses Class B
&lt;/h4&gt;

&lt;p&gt;Open notepad and copy below code and name it as A.cs&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;
&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;System&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// namespace declaration&lt;/span&gt;
&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;HelloWorldApp&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="c1"&gt;// Class declaration&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Main Method&lt;/span&gt;
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;Main&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="c1"&gt;// printing Hello World!&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;B&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startMusic&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="c1"&gt;// To prevents the screen from&lt;/span&gt;
        &lt;span class="c1"&gt;// running and closing quickly&lt;/span&gt;
        &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ReadKey&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;open notepad and copy below code and name it as B.cs&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="nn"&gt;System&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// namespace declaration&lt;/span&gt;
&lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;HelloWorldApp&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;B&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;startMusic&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
               &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;Write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"I am in B"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;   
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you run the above steps as mentioned before to compile and run, you will see compile time error saying B not found.&lt;/p&gt;

&lt;p&gt;it is obvious, because we didn't create any assembly or sln in visual studio or other IDE that usually does most of the heavy lifting.&lt;/p&gt;

&lt;p&gt;So, we need to create dll for B and refer that dll while compiling A.(So that A knows there exists a library which goes by name B)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New Steps to compile and run&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a dll for B using &lt;code&gt;csc /target:library B.cs&lt;/code&gt;(It generates B.dll file)&lt;/li&gt;
&lt;li&gt;Now compile A using &lt;code&gt;csc /r:B.dll A.cs&lt;/code&gt;(It generates A.exe file)&lt;/li&gt;
&lt;li&gt;Run exe using &lt;code&gt;A&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>csharp</category>
      <category>visualstudio</category>
      <category>beginners</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>CPU Bound vs I/O Bound</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Mon, 27 Sep 2021 17:00:15 +0000</pubDate>
      <link>https://dev.to/entangledcognition/cpu-bound-vs-i-o-bound-498i</link>
      <guid>https://dev.to/entangledcognition/cpu-bound-vs-i-o-bound-498i</guid>
      <description>&lt;p&gt;Before Understanding what is CPU Bound and IO Bound, I would like to touch the basic understanding of how CPU and IO work, then slowly dwell into the above concepts.&lt;/p&gt;

&lt;p&gt;There is a simple analogy to understand in a better way.  &lt;/p&gt;

&lt;p&gt;Let's assume you want to start a Huge Restaurant(computer).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are primarily 2 Requirements&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;you need a chef(s)&lt;/strong&gt; 👨‍🍳&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Warehouse for food Storage&lt;/strong&gt;🏭
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Hire a Chef (Buy CPU)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The chef is the one who is responsible for all your recipes.    &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%2Fi%2F5khlxlearu00n6fg8isp.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%2Fi%2F5khlxlearu00n6fg8isp.gif" alt="Giffy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Depending on your requirements, you have to hire a chef(CPU). If you spend more   🤑 you will get a master chef and he can add more recipes to the menu, cooks fast, reduce cost with his experience. &lt;/li&gt;
&lt;li&gt;Let's say your city is famous for Shrimps, So you have to hire a chef who is specialized in making different shrimps (GPU).&lt;/li&gt;
&lt;/ul&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%2Fi%2F32eykw241t6056sf276g.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%2Fi%2F32eykw241t6056sf276g.gif" alt="Big Bang Theory"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tasks of CPU&lt;/strong&gt; &lt;br&gt;
&lt;em&gt;1. Fetch instructions from memory&lt;/em&gt;&lt;br&gt;
&lt;em&gt;2. Decode into binary instructions&lt;/em&gt;&lt;br&gt;
&lt;em&gt;3. Execute action and move to next step&lt;/em&gt;&lt;br&gt;
&lt;em&gt;4. Write output to memory&lt;/em&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Establish a Delivery system.&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;💽 As we need to store all the groceries and food items required for recipes beforehand, we need warehouses (can be RAM, HardDisk, USB, Flash Drive) &lt;/li&gt;
&lt;li&gt;🚚 We also need a transport system to transport data (PCIe express, SATA, Data Bus).&lt;/li&gt;
&lt;li&gt;you also need to establish a connection with dealers at the market to get fresh food/shrimps at a low price. (Network calls, Mounted Drives) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ok, you are good to start a Restaurant now.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Let's think of 2 scenarios.&lt;/strong&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Your Restaurant becomes famous and getting more orders, so you need a chef to chop some millions of vegetables for a thousand orders. If your chef is slow you can't deliver what customers want on time, so you need a fast chef to chop all the vegetables required and prepare the recipe. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your chef needs a thousand food items and millions of groceries to prepare food. This is not the concern of the chef, this is the responsibility of all others it might be warehouse storage, market guys and transport persons. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I think it is quite a simple scenario. If yes you already understand what is CPU bound and IO Bound.&lt;/p&gt;

&lt;p&gt;If you didn't really understand the anaology..no need to worry, we can simplify it by Demystifying the analogy&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Analogy&lt;/th&gt;
&lt;th&gt;Reality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Restaurant&lt;/td&gt;
&lt;td&gt;Whole Computer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chef&lt;/td&gt;
&lt;td&gt;Processor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4 handed Chef&lt;/td&gt;
&lt;td&gt;Quad-core Processor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recipes&lt;/td&gt;
&lt;td&gt;Threads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deliver system&lt;/td&gt;
&lt;td&gt;All other than processor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Special Shrimp Chef&lt;/td&gt;
&lt;td&gt;GPU or FPGA or TPU&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&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%2F0ev1f4g1o6hn0pu53swa.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%2F0ev1f4g1o6hn0pu53swa.jpg" alt="Overview of processing units"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Without Analogy, in simple terms.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;CPU Bound&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We can say a program/language is &lt;strong&gt;CPU Bound&lt;/strong&gt; if it has to&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;process more Data &lt;a href="https://computer.howstuffworks.com/microprocessor.htm" rel="noopener noreferrer"&gt;CPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;processing audio or video &lt;a href="https://computer.howstuffworks.com/graphics-card1.htm" rel="noopener noreferrer"&gt;GPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Processing vector instructions (&lt;a href="https://www.geekboots.com/story/what-is-vpu" rel="noopener noreferrer"&gt;VPU&lt;/a&gt;) &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example application&lt;/strong&gt;: &lt;em&gt;Photo Editors, Gaming, Video Editors&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;IO Bound&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;We can say a program/language is IO Bound if it has to do&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;file reading/writing&lt;/li&gt;
&lt;li&gt;Do a Network call or responds to more network calls&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example application&lt;/strong&gt;: &lt;em&gt;Chat applications, Feeds, Bank applications&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;It doesn't mean if an application is CPU bound, then it should not do any IO Operations and viceversa&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now everyone is on the same page and hopefully understood core concepts. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Now entering into an Opinionated Zone⚡&lt;/strong&gt;
&lt;/h2&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%2Fi%2F3ded72wplnmf4npu76e9.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%2Fi%2F3ded72wplnmf4npu76e9.gif" alt="Giphy"&gt;&lt;/a&gt;&lt;br&gt;
Lets put our knowledge into a matrix while choosing a language if you are asked to build an application.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;I am considering out of the box architecture of corresponding languages.
As every language has a possibility to use thread pools, multi processes, multi-threads.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;I want to exclude c and c++ because of their power and also theirs difficulty in creating the application for beginners.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Application&lt;/th&gt;
&lt;th&gt;Language&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Chat app&lt;/td&gt;
&lt;td&gt;Node&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data-Intensive&lt;/td&gt;
&lt;td&gt;Java, c#&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Photoshop&lt;/td&gt;
&lt;td&gt;Java, c#&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web Scrapping&lt;/td&gt;
&lt;td&gt;Python, Node&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Reference&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Credits for this analogy should be given to (David Xiang)[&lt;a href="https://twitter.com/davex_tech" rel="noopener noreferrer"&gt;https://twitter.com/davex_tech&lt;/a&gt;] and his book &lt;a href="https://www.amazon.com/dp/B07D5QNGVZ/r" rel="noopener noreferrer"&gt;Software Developer Life: Career, Learning, Coding, Daily Life, Stories&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=zphcsoSJMvM" rel="noopener noreferrer"&gt;Introduction to threading&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>operatingsystem</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What are Logic Gates?</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Mon, 27 Sep 2021 16:51:37 +0000</pubDate>
      <link>https://dev.to/entangledcognition/what-are-logic-gates-3ahg</link>
      <guid>https://dev.to/entangledcognition/what-are-logic-gates-3ahg</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Pinch of History&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;George Boole, the son of a shoemaker, left school at sixteen and ended up a Professor of Mathematics at Queens College in Cork in Ireland&lt;/p&gt;

&lt;p&gt;In 1854 he wrote a book called An Investigation of the Laws of Thought which distilled the essence of logical thought down to terms like AND, OR, and NOT, or combinations of these. &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/aEjzjLv-YjI"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;So, What is the Relation between Logic Gates and George Bool? 🤔&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Boolean Logic&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Boolean Logic is at the core of all computing machines that humans ever worked with. Wonder why?&lt;/p&gt;

&lt;p&gt;By the time when computer scientists Decided to use binary system, There exists a well-established branch of mathematics which dealt with true or false values called Boolean algebra.&lt;/p&gt;

&lt;p&gt;In simple words "Logic Gates are a high-level abstraction of the circuit to perform a Boolean operation"&lt;/p&gt;

&lt;p&gt;As I mentioned in our &lt;a href="https://dev.to/entangledcognition/ultimate-alchemy-turning-sand-into-a-computer-a-comprehensive-guide-to-understand-computer-making-for-computer-grad-s-32e5"&gt;previous article&lt;/a&gt;, A circuit is made of transistors, capacitors and other electronic units. if you arrange a circuit in a specific order so that it performs a boolean function then this arrangement is called a Logic gate.&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%2Fi%2Fhxjag3auk0kmk5r0xtkv.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%2Fi%2Fhxjag3auk0kmk5r0xtkv.gif" alt="Created using kapwing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most of the developers already knew what are basic gates and how they work, So it is advisable for them to jump to Advanced Gate Concepts. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Each Gates will be represented in 3 ways based on the person who looks at it&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mathematical perspective - &lt;em&gt;Truth tables&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Software Perspective - &lt;em&gt;Gate Representation&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;electronic Perspective - &lt;em&gt;Circuit Representation&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Based on alignment there are 6 major gates&lt;/p&gt;

&lt;h2&gt;
  
  
  1. AND
&lt;/h2&gt;

&lt;p&gt;The AND gate is an electronic circuit that gives a high output (1) only if all its inputs are high.  A dot (.) is used to show the AND operation i.e. A.B&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%2Fi%2Fbs8ficxv1tygo6yth2eb.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%2Fi%2Fbs8ficxv1tygo6yth2eb.png" title="Extracted from https://www.101computing.net/" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. OR
&lt;/h2&gt;

&lt;p&gt;The OR gate is an electronic circuit that gives a high output (1) if one or more of its inputs are high.  A plus (+) is used to show the OR operation.&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%2Fi%2Fycqxfx3jn67j4oxrzetq.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%2Fi%2Fycqxfx3jn67j4oxrzetq.png" title="Extracted from https://www.101computing.net/" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. NAND
&lt;/h2&gt;

&lt;p&gt;This is a NOT-AND gate which is equal to an AND gate followed by a NOT gate.  The outputs of all NAND gates are high if any of the inputs are low. The symbol is an AND gate with a small circle on the output. The small circle represents inversion.&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%2Fi%2Fdc3pczurj3ar45cnbe2s.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%2Fi%2Fdc3pczurj3ar45cnbe2s.png" title="Extracted from https://www.101computing.net/" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. NOR
&lt;/h2&gt;

&lt;p&gt;This is a NOT-OR gate which is equal to an OR gate followed by a NOT gate.  The outputs of all NOR gates are low if any of the inputs are high.&lt;br&gt;
The symbol is an OR gate with a small circle on the output. The small circle represents inversion.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. XOR
&lt;/h2&gt;

&lt;p&gt;The 'Exclusive-OR' gate is a circuit which will give a high output if either, but not both, of its two inputs are high.  An encircled plus sign () is used to show the EOR operation.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. NOT
&lt;/h2&gt;

&lt;p&gt;The NOT gate is an electronic circuit that produces an inverted version of the input at its output.  It is also known as an inverter.  If the input variable is A, the inverted output is known as NOT A.  This is also shown as A', or A with a bar over the top, as shown at the outputs. The diagrams below show two ways that the NAND logic gate can be configured to produce a NOT gate. It can also be done using NOR logic gates in the same way.&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%2Fi%2Feaqpw5i3347hzr8bc7mk.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%2Fi%2Feaqpw5i3347hzr8bc7mk.png" title="Extracted from https://www.101computing.net/" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The NOT gate is an electronic circuit that produces an inverted version of the input at its output.&lt;/p&gt;

&lt;p&gt;This is a Unary Gate which means it takes only one input.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Topics
&lt;/h2&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%2Fi%2F588xwxdaci9iv0fqkpsz.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%2Fi%2F588xwxdaci9iv0fqkpsz.gif" alt="Logic gates Conversation"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>beginners</category>
      <category>architecture</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is a bit?</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Mon, 27 Sep 2021 16:47:00 +0000</pubDate>
      <link>https://dev.to/entangledcognition/what-is-a-bit-51n7</link>
      <guid>https://dev.to/entangledcognition/what-is-a-bit-51n7</guid>
      <description>&lt;p&gt;All over Computer science, whomever you talk with, they keep saying about data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To store Data.&lt;/li&gt;
&lt;li&gt;Compute Data.&lt;/li&gt;
&lt;li&gt;Send/Request Data over Network.&lt;/li&gt;
&lt;li&gt;Predictions on Data.&lt;/li&gt;
&lt;li&gt;Represent Data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fundamental unit of this data is called a bit(&lt;strong&gt;B&lt;/strong&gt; inary dig &lt;strong&gt;IT&lt;/strong&gt; ). &lt;/p&gt;

&lt;p&gt;The State of Bit is always binary which means it can represent two values 0 or 1, true or false, charge presence or charge absence.&lt;/p&gt;

&lt;p&gt;Observe the gif once and start assuming there will be some kind of boxes in a computer that stores each bit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3tRFZ5T5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/258b8pa9scj0mzuzlvl9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3tRFZ5T5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/258b8pa9scj0mzuzlvl9.gif" alt="Alt Text" width="689" height="340"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;📢 Let's ask Ourself few interesting questions&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;I have understood there will be some kind of box that stores the current charge but what is this made of?&lt;/li&gt;
&lt;li&gt;Why that box use Binary System instead of others like decimal or Hexa?&lt;/li&gt;
&lt;li&gt;What are the different memory units?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. What is this Bit made of ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A Bit is an electric circuit with transistors and capacitors arranged in a specific way. &lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Transistors are switches, but a special kind of Transistors called MOSFETS are used in volatile memories (SSD, HDD) and MOSFETS combined capacitors are used in RAM.&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;We will discuss the above concepts in detail across this series, Which will give you a clear picture of the inner workings of the Integrated circuit and memory architectures.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Topics to learn&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Memory cell architecture&lt;/li&gt;
&lt;li&gt;Volatile and Non-Volatile Memories.&lt;/li&gt;
&lt;li&gt;NAND flash vs NOR Flash&lt;/li&gt;
&lt;li&gt;Gates&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Why Binary ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Introduction to Number systems 🧮
&lt;/h3&gt;

&lt;p&gt;We, Humans, are very much fond of the decimal system and important question is we never know how we used to it. Instead of long history, just think we used to it because of Egyptian and &lt;a href="https://medium.com/@rahulyadavca/indian-mathematics-mathematics-in-indus-valley-civilization-harappa-civilization-4d1ef95cb674"&gt;indus-valley&lt;/a&gt; civilizations. &lt;/p&gt;

&lt;p&gt;In the decimal (base-10) numbering system, the digits are the elements of the set {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.&lt;/p&gt;

&lt;p&gt;Eg: 1024.8 - {4 is one's digit, 2 is at &lt;strong&gt;ten's&lt;/strong&gt; digit,0 is in hundreds digit and, 1 is at thousands digit,8 is at &lt;strong&gt;tenths&lt;/strong&gt; digit}&lt;/p&gt;

&lt;p&gt;In the binary number system, the digits are the elements of the set {0, 1}. This system is used by computers because the two digits can represent the logic low and high states. The term "binary digit" is compressed to " bit " in computer parlance. &lt;/p&gt;

&lt;p&gt;Eg: 1,0,11,00,10,01&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3OQW1fkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1kz0mkksise2q8dj1iqu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3OQW1fkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1kz0mkksise2q8dj1iqu.jpg" alt="Computer Scientists" width="880" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There was a time when computer scientists have to choose a number system and opt for a binary system because of vast study on those systems by above great personalities(&lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=Hljir_TyTEw"&gt;George Bool&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=6eWkAOiPk6g"&gt;Leibniz&lt;/a&gt;&lt;/strong&gt;) and also due to the limitations in electronics at that point of time.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Different memory units.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now we can use the above acquired knowledge to build bytes, MegaBytes, GigaBytes and so on.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Storage&lt;/th&gt;
&lt;th&gt;Unit&lt;/th&gt;
&lt;th&gt;Possible No of states&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1 memory unit&lt;/td&gt;
&lt;td&gt;1 bit&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;1&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4b&lt;/td&gt;
&lt;td&gt;1 Nibble&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;4&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8b&lt;/td&gt;
&lt;td&gt;1 Byte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;8&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024B&lt;/td&gt;
&lt;td&gt;1 KiloByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;8192&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024KB&lt;/td&gt;
&lt;td&gt;1 MegaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;8388608&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024MB&lt;/td&gt;
&lt;td&gt;1 GigaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;8589934592&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024GB&lt;/td&gt;
&lt;td&gt;1 TeraByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;8796093022208&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024TB&lt;/td&gt;
&lt;td&gt;1 PetaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;9007199254740992&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024PB&lt;/td&gt;
&lt;td&gt;1 ExaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;9223372036854776000&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024EB&lt;/td&gt;
&lt;td&gt;1 ZettaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;9.44473296573929e+21&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024ZB&lt;/td&gt;
&lt;td&gt;1 YottaByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;9.671406556917033e+24&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024YB&lt;/td&gt;
&lt;td&gt;1 BrontoByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;Huge number&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1024BB&lt;/td&gt;
&lt;td&gt;1 GeopByte&lt;/td&gt;
&lt;td&gt;&lt;span&gt;2&lt;sup&gt;Even Huge number&lt;/sup&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;br&gt;
There is a difference in representing bit(&lt;strong&gt;b&lt;/strong&gt;) and Byte(&lt;strong&gt;B&lt;/strong&gt;)&lt;br&gt;
whenever your network provider says your download speed is 80Mbps.&lt;br&gt;
&lt;em&gt;it doesn't mean 80 MegaBytes per second, it means 80 Megabits per second that counts to 10 MBps.&lt;/em&gt; &lt;br&gt;
That's how they fool Hard earning people.🤐&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://medium.com/coderscorner/what-exactly-is-in-a-1-bit-of-digital-memory-d5395f9001a6"&gt;What exactly is one digital bit ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://en.wikipedia.org/wiki/Memory_cell_(computing)"&gt;Memory cell&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>beginners</category>
      <category>architecture</category>
      <category>programming</category>
    </item>
    <item>
      <title>Ultimate Alchemy: Turning Sand into a Computer - A Comprehensive Guide To Understand Computer Making for Computer Grad's</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Mon, 27 Sep 2021 16:41:49 +0000</pubDate>
      <link>https://dev.to/entangledcognition/ultimate-alchemy-turning-sand-into-a-computer-a-comprehensive-guide-to-understand-computer-making-for-computer-grad-s-32e5</link>
      <guid>https://dev.to/entangledcognition/ultimate-alchemy-turning-sand-into-a-computer-a-comprehensive-guide-to-understand-computer-making-for-computer-grad-s-32e5</guid>
      <description>&lt;p&gt;Irrespective you are Computer Grad, Computer Engineer or Computer enthusiast, we ought to understand the elegance of the Computing machine and its making process. Then you will start appreciating the Masterminds behind it and their thought process. I Would like to give you an overview of the lifecycle of Computer making which ignited me to start understanding the beauty.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Computer?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;📢 A General-purpose computer is a set of hardware units soldered on a motherboard whose working is orchestrated by a software called an Operating system.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This definition will open up the following questions &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What are these Hardware units? &lt;/li&gt;
&lt;li&gt;Why these are soldered on the motherboard?&lt;/li&gt;
&lt;li&gt;What is an operating system?&lt;/li&gt;
&lt;li&gt;Ok, What happened when I start my laptop?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. What are these Hardware units?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwkcw6tt5skrxh21u8su1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwkcw6tt5skrxh21u8su1.png" alt="Extracted From Google" width="785" height="194"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many &lt;a href="https://www.watelectronics.com/major-electrical-electronic-components/" rel="noopener noreferrer"&gt;hardware Units&lt;/a&gt; which you need not understand in detail.&lt;br&gt;
But important ones are &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Capacitors&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A capacitor is a device that can temporarily store an electric charge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Resistors&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A resistor is a component that resists the flow of current.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Transistors&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This is the most important invention of the 20th century which happened at Bell Labs. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;📢 I strongly recommend you to watch this &lt;a href="https://www.youtube.com/watch?v=U4XknGqr3Bo" rel="noopener noreferrer"&gt;video&lt;/a&gt;.&lt;/em&gt;  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Integrated circuits(IC)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Integrated Circuit is basically anything that is composed of tiny resistors, capacitors, transistors that are fabricated on a silicon wafer. &lt;br&gt;
&lt;strong&gt;Eg:&lt;/strong&gt;  &lt;em&gt;amplifiers, oscillators, timers, counter, RAM, Micro Processors, Micro Controllers and so on.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There are 3 types of IC &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Analog IC&lt;/li&gt;
&lt;li&gt;Digital IC&lt;/li&gt;
&lt;li&gt;Mixed IC&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Read this article to understand &lt;a href="https://www.investopedia.com/ask/answers/042115/what-are-main-types-chips-produced-semiconductor-companies.asp" rel="noopener noreferrer"&gt;chip categories&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Why these are soldered on the motherboard?
&lt;/h2&gt;

&lt;p&gt;Having all the Hardware Components alone doesn't make sense, because they need a way to communicate.&lt;/p&gt;

&lt;p&gt;So, A motherboard is simply a printed circuit board where all the other IC, IO peripherals, slots are soldered to provide a Communication channel between all these units.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;📢 What about Mother Board standards?&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;ATX form factor is used to regulate the design and layout of most pc nowadays, Please check  List of &lt;a href="https://en.wikipedia.org/wiki/Category:Motherboard_form_factors" rel="noopener noreferrer"&gt;form factors&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3d3wl0j1m927p103r8tr.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3d3wl0j1m927p103r8tr.PNG" alt="Extracted From Powercert videos" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;📢 Architecture Changes&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;If you already knew about motherboard architecture, There were 2 chipsets on the motherboard called North Bridge and South Bridge. Due to new technology requirements, northbridge was integrated into the CPU die itself, examples are Intel's Sandy Bridge and AMD's Fusion processors both released in 2011. The southbridge became redundant and it was replaced by the Platform Controller Hub (PCH) architecture introduced with the Intel 5 Series chipset in 2008. All southbridge features and the remaining I/O functions are managed by the PCH which is directly connected to the CPU via the Direct Media Interface (DMI).&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  3. What is an Operating system?
&lt;/h2&gt;

&lt;p&gt;Now we have everything we need to use, but there is a missing piece that can orchestrate all these different electronic units. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F95fm8j13kb8rwvan3tly.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F95fm8j13kb8rwvan3tly.jpg" alt="Copied from Google Images" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In simple terms, the operating system is a set of files which can&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kernelling - Every OS has kernels that connect hardware to application software.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.guru99.com/process-management-pcb.html" rel="noopener noreferrer"&gt;Processes Management&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.guru99.com/cpu-scheduling-algorithms.html" rel="noopener noreferrer"&gt;Algorithms&lt;/a&gt; to schedule CPU&lt;/li&gt;
&lt;li&gt;File Management&lt;/li&gt;
&lt;li&gt;Memory Management&lt;/li&gt;
&lt;li&gt;Default software like our favorite &lt;a href="https://microsoft.fandom.com/wiki/Minesweeper" rel="noopener noreferrer"&gt;Minesweeper&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Many &lt;a href="https://www.geeksforgeeks.org/functions-of-operating-system/" rel="noopener noreferrer"&gt;More&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. What happened when I start my laptop?
&lt;/h2&gt;

&lt;p&gt;Have you ever wondered what happens when you click your laptop power button? &lt;br&gt;
That process of powering and initializing required components is called as Booting process.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The power button activates a power supply through the circuit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.partitionwizard.com/partitionmagic/uefi-vs-bios.html" rel="noopener noreferrer"&gt;BIOS/UEFI&lt;/a&gt; which is a firmware provided by your laptop provider which sits on &lt;a href="https://en.wikipedia.org/wiki/EEPROM" rel="noopener noreferrer"&gt;EEPROM&lt;/a&gt;(a type of ROM) will start execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;BIOS/UEFI performs a power-on self-test (POST). The POST is a small computer program within the BIOS that checks for hardware failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If Everything looks good, it will find and place the boot loader and load onto RAM.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;📢 With PC BIOS, it simply loads and executes the first sector off the disk it decides to boot from, which typically is the first hard disk detected. By convention, the first sector of a hard disk, called the Master Boot Record, contains a DOS partition table listing the locations of the partitions on the disk, and leaves some space for the boot loader. The boot loader is a small program designed to find and launch the PC's operating system.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then Boot Loader will load the kernel into memory, supplies it with some parameters and gives it control.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then You will see either windows or mac or Linux startup screen. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, I hope we understood how a computer works at a high level. Every step has a lot of algorithms/programs behind it. It's our interest to dig into some specific stage and learn more. &lt;/p&gt;

&lt;p&gt;We had talked about chips, motherboards, IC, operating systems But we left with one Interesting Question. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;what is the base of all these chips?&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;where is it started?&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;which makes all these inventions possible?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxda9odlwpbmni43qffdf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxda9odlwpbmni43qffdf.gif" alt="Alt Text" width="346" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;&lt;a href="https://www.yourdictionary.com/alchemy" rel="noopener noreferrer"&gt;Alchemy of SAND&lt;/a&gt;&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sand is composed of silica (also known as silicon dioxide) and is the starting point for making a processor. Sand used in the building industry is often yellow, orange or red due to impurities, but the type chosen in the manufacture of silicon is a purer form known as silica sand, which is usually recovered by quarrying.&lt;/p&gt;

&lt;p&gt;To extract the element silicon from the silica, it must be reduced (in other words, have the oxygen removed from it). This is accomplished by heating a mixture of silica and carbon in an electric arc furnace to a temperature in excess of 2,000°C.&lt;/p&gt;

&lt;p&gt;Then This silicon is formed as silicon ingot and goes through a process called PhotoLithography.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb328zwg695gvjbrer9y0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fb328zwg695gvjbrer9y0.jpg" alt="ASML Process" width="560" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;📢 Note&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.asml.com/en/technology" rel="noopener noreferrer"&gt;ASML&lt;/a&gt; &lt;em&gt;is a global leader in making photolithography machines which are in the size of a big classroom and most expensive. It is the backbone of all chip manufacturers you heard of like Intel, AMD, Samsung, IBM.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You might be wondering why only silicon, though there are more semiconducting materials like germanium suitable for computing.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Silicon is highly &lt;a href="https://en.wikipedia.org/wiki/Abundance_of_elements_in_Earth%27s_crust" rel="noopener noreferrer"&gt;abundant&lt;/a&gt; on earth&lt;/li&gt;
&lt;li&gt;There are researches going on silicon photonics.&lt;/li&gt;
&lt;li&gt;New Technologies like EXE, EUV are being developed to reduce the bandwidth to &amp;lt;7nm.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would like to end this article here to give you a chance to carry forward the spirit of great &lt;a href="https://en.wikipedia.org/wiki/List_of_pioneers_in_computer_science" rel="noopener noreferrer"&gt;computer scientists, mathematicians, and physicists&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Learned something? help others find this article.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;References:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Youtube playlist. 📢 &lt;a href="https://www.youtube.com/playlist?list=PLYBvUPvE7KuuZkmTT4t3h3L96rwm7rkWI" rel="noopener noreferrer"&gt;It's time for popcorn&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://theconversation.com/beyond-silicon-the-search-for-new-semiconductors-55795" rel="noopener noreferrer"&gt;Search for other material than silicon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hpquartz.com/2009/05/24/how-sand-is-transformed-into-silicon-chips/" rel="noopener noreferrer"&gt;sand to silicon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.livescience.com/20718-computer-history.html" rel="noopener noreferrer"&gt;Brief History of computers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>hardware</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Tagged Templates</title>
      <dc:creator>Bharath Muppa</dc:creator>
      <pubDate>Tue, 23 Feb 2021 23:43:38 +0000</pubDate>
      <link>https://dev.to/entangledcognition/tagged-templates-3ocb</link>
      <guid>https://dev.to/entangledcognition/tagged-templates-3ocb</guid>
      <description>&lt;p&gt;Back in the day, Everyone one of us was familiar with long string concatenations. With ES6, We got Template literals, which saved us a lot of time.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;currentTime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;getHours&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;var1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`I am template literal`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;var2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`I am multi template literal with the embedded expression: 
&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;currentTime&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;currentTime&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;I am night owl&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;I am early bird&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; `&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A nice and elegant solution to our problems.&lt;/p&gt;

&lt;p&gt;But wait, it is not the end of the story, there is one other cool feature, which is been used by many libraries like lit-elements, re-template-tag, graphql-tag&lt;/p&gt;

&lt;h2&gt;
  
  
  Tagged Templates
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Tags allow you to parse template literals with a function. The first argument of a tag function contains an array of string values. The remaining arguments are related to the expressions.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;you&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Tony&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;,...&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;strings&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['hi ',' have a great day.']&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// ['Tony']&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="s2"&gt;`hi &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;you&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, have a great day.`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see it is a normal function but invoked in a different way.&lt;/p&gt;

&lt;p&gt;You might also think that can be written in normal function, but imagine passing string and expressions as args and processing it for your requirements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;concatenatedString&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="c1"&gt;// replace # with values sequentially&lt;/span&gt;
  &lt;span class="c1"&gt;// do other stuff&lt;/span&gt;
  &lt;span class="c1"&gt;// return result&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`hi #, have a great day`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Tony&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// # acts as seperator&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I don't see a need to write something like this when we have a better approach provided out of the box.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Where can I use it?
&lt;/h2&gt;

&lt;h4&gt;
  
  
  You can use Tagged templates in many scenarios
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Format a template literal into HTML elements&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Reusable templates&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Process paths and in localization&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Decorate the text with some default data.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Further Reading
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/web/updates/2015/01/ES6-Template-Strings"&gt;Google docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals"&gt;MDN web docs&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>litelements</category>
      <category>javascript</category>
      <category>templateliterals</category>
      <category>taggedtemplates</category>
    </item>
  </channel>
</rss>
