<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Shivani Pothirajan on Medium]]></title>
        <description><![CDATA[Stories by Shivani Pothirajan on Medium]]></description>
        <link>https://medium.com/@shivanipothirajan?source=rss-2c094a414c27------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*VRauBX8xYSOZQdSt_oZa2Q.jpeg</url>
            <title>Stories by Shivani Pothirajan on Medium</title>
            <link>https://medium.com/@shivanipothirajan?source=rss-2c094a414c27------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 15 May 2026 16:11:16 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@shivanipothirajan/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[WebAssembly : The bridge]]></title>
            <link>https://medium.com/codex/webassembly-the-bridge-19d0e999064f?source=rss-2c094a414c27------2</link>
            <guid isPermaLink="false">https://medium.com/p/19d0e999064f</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[wasm]]></category>
            <dc:creator><![CDATA[Shivani Pothirajan]]></dc:creator>
            <pubDate>Mon, 10 Jan 2022 19:25:26 GMT</pubDate>
            <atom:updated>2022-01-13T10:24:04.482Z</atom:updated>
            <content:encoded><![CDATA[<h3>WebAssembly : The bridge</h3><p>WebAssembly aka WASM can be viewed as the bridge between JavaScript and machine code. WebAssembly is a low-level language with a compact binary format that runs with near-native performance. It is a <strong>compilation target</strong> for languages like <strong>Rust, AssemblyScript, C/C++</strong> and much more!</p><h3>Why is WASM useful?</h3><p>WASM was designed to provide highly optimized computation and performance on the web. JavaScript is a great language that wasn’t made with performance in mind but when used with other languages and WebAssembly It could bring excellent performance and the best traits of both worlds to the table!.</p><p>WASM can re-utilize code written for a completely different platform, in a completely incompatible language, into a modern-day browser.</p><p>While WebAssembly is designed to run <a href="https://webassembly.org/docs/web/">on the Web</a>, it is also desirable for it to be able to execute well in other environments, including everything from shells to full-blown application environments e.g. on servers in datacenters, on IoT devices etc. For example — Desktop WebAssembly, <a href="https://github.com/nebulet/nebulet">Nebulet</a> - operating system microkernel that runs only WebAssembly.</p><p>It was made to but not bounded to help browsers run intensive computational tasks such as Emulation, VR/AR, Image Recognition etc. more efficiently.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HhjesZgel0I4hf_SXpJTKA.png" /><figcaption>Google Earth Ported to Browsers with WebAssembly</figcaption></figure><p>Unity, Tensorflow.js, Google Earth are some of the major projects that utilized WASM. Here is the full list — <a href="https://madewithwebassembly.com/">https://madewithwebassembly.com/</a></p><h3>The Working of WASM</h3><p>Lets look at the working by taking an example of C/C++ source code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pp-a77vu7VCL_QPmNhZnQg.png" /></figure><p>Assembly typically refers to humanly readable languages that are similar to machine code. Machine code is what your processor understands, 0s and 1s. Every high-level programming language gets translated down to machine code in order to run on the processor.</p><p>Different kinds of processor architectures (x86, ARM etc.) need different machine codes and different kinds of assembly for each of them. When the browser downloads the WebAssembly code it can quickly turn it to any machine’s assembly.</p><ol><li>Emscripten transforms or compiles the source code into a .wasm binary or a wasm module.</li><li>WebAssembly cannot currently directly access the DOM. Thus, to access any Web API, WebAssembly needs to call out to JavaScript, which then makes the Web API call. Emscripten therefore creates the HTML and JavaScript glue code needed to achieve this.</li></ol><p>Glue code — functionality of libraries used in source code, logic for calling the JavaScript APIs to fetch, load and run the .wasm file.</p><p>HTML document — It displays the result of the code</p><p>The WebAssembly has a textual format that’s easy to read <em>(.wat)</em>, but binary representation is what you actually deliver to the browser <em>(.wasm)</em>.</p><h3>WASM Features</h3><ul><li><strong>Efficient - </strong>As<strong> </strong>WASM is a low-level binary format with a small size, it loads faster in web browsers. when these browsers execute the WASM code, they fetch it quicker from the server. It supports <strong>Streaming Compilation</strong> which is the compilation to machine code <em>while a file is being downloaded</em>. To be more elaborate, JavaScript engine can compile a file to native code but the file needs to be downloaded first. Whereas, WebAssembly, on the other hand, can be compiling to machine code as the bytes comes in, resulting in significantly faster startup times.</li><li><strong>Safe</strong> - WebAssembly is <strong>sandboxed</strong>, Sandboxing means isolating or limiting the scope of what a script can do for security purposes. It can’t access the user’s operating system directly, it only has access to the same APIs JavaScript does. WebAssembly also <a href="https://webassembly.org/docs/security/#memory-safety">provides additional safety</a> for languages like C/C++.</li><li><strong>Low-Level Bytecode</strong> - High-level programming language code (like C++ or Rust) is compiled down to the machine-readable binary object code aka bytecode. Bytecode is an instruction set designed for efficient execution by a software, commonly this software is a virtual machine. This makes it very low-level, which enables performance optimizations, but still portable; you don’t have to worry about which CPU (x64, ARM, etc.) your users have.</li><li>Part of the <strong>open web platform</strong> - WebAssembly is designed to maintain the version-less, feature-tested, and backwards-compatible <a href="https://webassembly.org/docs/web/">nature of the web</a>. WebAssembly modules will be able to call into and out of the JavaScript context and access browser functionality through the same Web APIs accessible from JavaScript.</li></ul><h3>How can I get started or make use of WebAssembly?</h3><p>Here, are the some of the ways in which you could develop using WebAssembly:</p><ul><li>WebAssembly modules can be imported into a web (or Node.js) app, exposing WebAssembly functions for use via JavaScript.</li><li>Using <a href="https://assemblyscript.org/">AssemblyScript</a> which looks similar to TypeScript and compiles to WebAssembly binary.</li><li>Transferring a C/C++ application using Emscripten (compiles C/C++ into wasm).</li></ul><p>Here is a link to get started with the ‘Hello World’ of wasm code— <a href="https://wasmbyexample.dev/examples/hello-world/hello-world.c.en-us.html">https://wasmbyexample.dev/examples/hello-world/hello-world.c.en-us.html</a></p><p>Lastly, WebAssembly is the bridge from high-level code to machine code and a bridge to more powerful browsers. It encourages the use of more languages being used for development. It will soon be used everywhere and not just the browser. Do check out <a href="https://github.com/mbasso/awesome-wasm">awsm-wasm</a> for all things WASM !.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=19d0e999064f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/codex/webassembly-the-bridge-19d0e999064f">WebAssembly : The bridge</a> was originally published in <a href="https://medium.com/codex">CodeX</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Magic of Quantum Computing]]></title>
            <link>https://medium.com/@shivanipothirajan/the-magic-of-quantum-computing-d3144c3adedd?source=rss-2c094a414c27------2</link>
            <guid isPermaLink="false">https://medium.com/p/d3144c3adedd</guid>
            <category><![CDATA[quantum-computing]]></category>
            <category><![CDATA[quantum-computer]]></category>
            <category><![CDATA[quantum]]></category>
            <dc:creator><![CDATA[Shivani Pothirajan]]></dc:creator>
            <pubDate>Tue, 28 Sep 2021 06:53:27 GMT</pubDate>
            <atom:updated>2021-09-28T06:53:27.199Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/620/1*9QAoJzyy4_PacTxwCdvqXw.jpeg" /></figure><p>The security of nearly every online transaction today relies on an RSA cryptosystem that could be broken by a quantum computer in around 10 seconds whereas, it takes years of trial and error for a classical computer to try breaking the code and yet, you would still prefer your classical computer as it is still faster than the quantum one for most of your activities. If you aren’t a tad bit curious about it yet? then this isn’t for you.</p><p>Our computers have become smaller and more powerful over the centuries. Computer parts are approaching the size of an atom and its becoming a problem. Computers are made up of logic gates which are in turn made up of transistors, a switch that can either block or open the way for the electrons or bits, coming through. These bits are binary in nature, can be set to either 0 or 1. A combination of logic gates form meaningful modules such as, to add two numbers. However, as parts are getting tinier quantum physics is making things trickier.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CooUG8GXU3zZhDht.jpg" /><figcaption>Quantum tunneling in action. source: The Varsity</figcaption></figure><p>A typical scale for transistors is 14 nanometers (10^-9 meters) as transistors are shrinking to the size of only a few atoms, electrons may just transfer themselves to the other side of the blocked passage via a process called quantum tunneling, which in-turn makes our computers useless.</p><p>Some scientists are making use of these unusual quantum properties to their advantage by building quantum computers.</p><p>In classical computers bits are the smallest units of information. Quantum computers use qubits which can also be set to any one of the two values. a qubit can be any two level quantum system such as a spin and a magnetic field or a single photon. Some researchers have used the outermost electron in phosphorus as a qubit. When the electron is placed in a magnetic field it aligns to it just like a compass, this is its lowest energy state aka spin down or zero state. You could put it in a one state or spin up but it takes some energy and that is the highest energy state of the qubit. For photons the horizontal and vertical polarization determines its state.</p><p>In the quantum world, the qubit state doesn’t have to be in only one of those it could be in any proportion of both states at once, this is called superposition. As soon as you test its value by sending a photon through a filter it has to decide to be either vertically or horizontally polarized so as long as it’s unobserved the qubit is in a superposition of probabilities, much like the Schrodinger’s cat situation. The instant you measure it, it collapses into one of the definitive states.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vRr7pCS8HWCflrYTRTL63g.png" /><figcaption>The probability of each state in a two spin system. source: Veritasium</figcaption></figure><p>Superposition is a game changer. Lets take two qubits that exist in a superposition so, they can have the values α x 00, β x 01, γ x 10, δ x 11 where, α, β, γ, δ are four probabilities that could be used to determine the state of this two spin system. Whereas, in a classical system we need only two bits. Hence, two qubits actually contain 4 bits of information. If there were three spins then we would need 8 probability coefficients for each state. Whereas, classical is just 3 bits. If you keep going you’ll find that the amount of equivalent classical information contained in N qubits is 2^N classical bits. Once, we have 300 qubits we have 2³⁰⁰ classical bits which is as many particles as there are in the universe.</p><p>A really weird and unintuitive property qubits can have is quantum entanglement, a close connection that makes each of the qubits react to a change in the others state instantaneously no matter how far they are apart. This means when measuring just one entangled qubit, you can directly deduce the properties of its partners without having to look.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/418/1*klMhhUluA-u1rdDKarrJpw.png" /><figcaption>OR logic gate with A and B as its inputs</figcaption></figure><p>A normal logic gate gets a simple set of inputs and produces one definite output. A quantum gate manipulates an input of superpositions, rotates probabilities and produces another superposition as an output.</p><p>Essentially, a quantum computer sets up some qubits, applies quantum gates to entangle them and manipulate probabilities then finally measures the outcome, collapsing superpositions to an actual sequence of 0s and 1s. What this means is that you get the entire set of calculations that are possible with your setup all done at the same time. Ultimately, you can only measure one of the results and it’ll only probably be the one you want so you may have to try again. By cleverly exploiting superposition and entanglement this can be exponentially more efficient than would ever be possible on a classical computer.</p><p>Quantum computers are not faster but are more efficient in vastly reducing the total number of operations you need to arrive at a result. Hence, they might not replace the ones at your home but in some areas are vastly superior. One of them is database searching, to find something in a database, a normal computer may have to test every single one of its entries. Quantum algorithms need only a square root of that time, which for large databases is a huge difference.</p><p>Now lets get to the cryptography part, your browsing, email and banking data is being kept secure by an RSA encryption system in which you give everyone a public key to encode messages that only you can decode, this public key can be used to calculate your secret private key. The math for calculating it consists of the prime factorization of large numbers, doing this math on any normal computer would take years of trial and error but that’s hardly the case with a quantum computer.</p><p>Simulations of the quantum world are very intense on resources and even for bigger structures such as molecules they often lack the accuracy so what better way to simulate quantum physics than with actual quantum physics? It could provide new insights on proteins that could revolutionize medicine. In fact, researchers have confirmed that a protein found in bird eyes — the cryptochrome — displays a quantum mechanical phenomenon which makes it sensitive to magnetic fields. This mechanism could be behind a bird’s magnetoreception abilities.</p><p>Also, feel free to check out Qiskit, if you are interested in working with quantum computers. It is an open-source software development kit for working with quantum computers at the level of circuits, pulses, and algorithms. We don’t know if quantum computers will just be a very specialized tool or a big revolution for humanity. The quantum is all around us and its time we harness it. I hope I live long enough to see this prodigious quantum revolution.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d3144c3adedd" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Computer Essentials]]></title>
            <link>https://medium.com/@shivanipothirajan/the-computer-essentials-1ab34c8a44e4?source=rss-2c094a414c27------2</link>
            <guid isPermaLink="false">https://medium.com/p/1ab34c8a44e4</guid>
            <category><![CDATA[computers]]></category>
            <category><![CDATA[specifications]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Shivani Pothirajan]]></dc:creator>
            <pubDate>Tue, 28 Sep 2021 06:24:50 GMT</pubDate>
            <atom:updated>2021-09-28T06:24:50.938Z</atom:updated>
            <content:encoded><![CDATA[<p>I personally find it confusing with all the geeky terms and specs that I have to deal with when buying computers. I’ve always wanted to know the meaning behind these terms and how exactly it affects my computer of choice. Here is an overview of the most important specs and details you need to keep your eye on when it comes to computers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iCxIh8OlzqkjuyN1RPgsXg.jpeg" /></figure><h3><strong>The Motherboard</strong></h3><p>A motherboard provides connectivity between the hardware components of a computer, like the processor (CPU), memory (RAM), hard drive, and video card. There are multiple types of motherboards, designed to fit different types and sizes of computers.</p><p><strong>Buses</strong> are circuits on the motherboard that connect the CPU to other components. A bus moves instructions and data around the system. The faster the bus, the faster data is communicated. The speed of the motherboard is defined by the bus speed<strong> </strong>it<strong> </strong>is measured in megahertz (MHz).</p><p>The bus’s job is to get the data that the CPU needs. The bus does not increase or decrease the CPU’s speed, but handles that data that flows in and out of the device, which plays a key role in how well the CPU performs.</p><h3><strong>Processor</strong></h3><p>Think of the computer’s processor like a brain . A computer with a good processor can run programs no problem, and boot up in a flash.</p><p>Processor specs are labeled in terms of the number of cores, and the clock speed (in GHz or gigahertz). The speed indicates the amount of data that can be processed in a specific amount of time the bigger the number, the better. The cores act as multipliers. For example, a 3GHz processor with a single-core is six times slower than a six-core 3GHz processor. Multiple cores can also help with multi-tasking, as each can be working on different tasks. If you don’t use a lot of programs at the same time, you may be content with just one or two cores.</p><p>Check out <a href="https://www.cpubenchmark.net/">CPU Benchmark</a>, it allows you to compare CPU’s of multiple machines. A cache is a hardware or software component that stores data so that future requests for that data can be served faster. Here, the L1, L2, and L3 cache sizes are the closest and fastest memory spaces to the CPU and the bigger they are, the better. You can also see how many threads the core has the more, the better.</p><h3><strong>RAM — Random Access Memory</strong></h3><p>The RAM is where active data from your applications and system processes are stored. Think of RAM as the temporary canvas or scratchpad where a computer does its real-time calculations and operations. The amount of Random Access Memory, or RAM, in a computer can affect just how much multitasking it can handle and how fast it will be. RAM is basically a small, extra-fast form of memory.</p><p>With today’s memory-hungry applications and web browsers, computers need more RAM than ever before. If you tend to use multiple open apps at the same time, then the more RAM your computer has, the better.</p><p>If you’re shopping around for a new computer, always go for at least 8GB of RAM. If you are a gamer, photo or video editor, or planning to do CAD/CAM work, you need at least 16GB of Ram.</p><p>If you check out the specifics of the RAM in a computer and see that it’s DDR2–800, then this is a faster memory than one labeled DDR2–400, as that last number signifies how many millions of data transfers the RAM can make each second.</p><p>RAM also has clock speeds, similar to processors. However, that speed is limited to the speed of your computer’s motherboard, so if you’re buying RAM separately from your computer, figure out the speed of your motherboard and don’t buy RAM that’s any faster it will probably cost you more for no reason and don’t buy RAM any slower as it will force your motherboard to run at the slower speed.</p><h3><strong>Storage</strong></h3><p>Every computer needs data storage, and though that is something RAM does, the majority of it will go onto your hard drive. There are three types of storage: HDD (hard disk drive) and SSD (solid state drive) and hybrids.</p><p>HDDs still use rapidly spinning magnetic disks called “platters” to store information while SSDs use flash memory. Computers with SSDs have much faster read and write rates than computers with conventional HDDs.</p><p>SSDs don’t have moving parts too so they’re lighter, cooler, quieter, more efficient and are harder to damage than a conventional drive.</p><p>With these advantages, always choose a computer with an SSD over one with a conventional hard drive. They might be more expensive but their speed and efficiency are definitely worth the difference.</p><p>Some computers combine the best of both worlds with hybrid drives. These combine a small SSD and a large HDD in a single package. While hybrids aren’t as fast as a true SSD, they are less expensive and hold more.</p><p>The faster the spin speed of your hard drive disk, the quicker information can be gathered from it. So, between a 5400rpm drive and a 7200rpm drive, the second would be faster. Some applications may even be able to run from an external hard drive. You’ll also want to pay attention to data transfer bandwidth. The higher, the better.</p><p>You can always expand your storage space with a memory card, external drive or even replace the entire drive if needed. You could also use cloud storage in addition to your local drive.</p><h3>GPU</h3><p>Integrated GPUs are built into the computer’s processor and relies on computer memory and is typically a low performance graphics component. Dedicated GPUs will includes its own processor and memory and will tend to be higher performing.</p><p>Higher speed, higher capacity RAM in the graphics card will let it handle a more intense graphic load and do it quicker. This will allow for better, more fluid visuals. The card’s processor speed will be similarly important and can be looked at much the same as a computer’s processor. You can dig into the details and see how many shaders it has and what its core speed is, but in the end, it will probably be most valuable to check out a benchmark score that has evaluated its actual performance. To compare GPUs you can do a quick search on <a href="http://www.videocardbenchmark.net/gpu_list.php">PassMark’s site</a> for the graphics components in each.</p><h3><strong>Peripherals</strong></h3><p><strong>USB</strong>: There is, thankfully, a standard that most computer peripherals opt to use, and it can be for anything from mouses and keyboards to hard drives and monitors. A modern version of USB, called USB 3.0, is faster than its predecessors, but there’s an even newer version of USB, called USB Type-C, which offers gigabits of bandwidth and the ability to handle enough current to power a laptop.</p><p>An alternative for some major externals (like CD drives and hard drives) is to get a computer with an eSATA port, which will let you plug in those peripherals on the fly with high data transfer rates.</p><p><strong>HDMI:</strong> If you’re going to use your machine for entertainment, you’ll probably want an HDMI output. This will allow you to connect it to most modern televisions for a high-quality visual display, and it will also run the audio out if you’re planning to use the TV for sound.</p><p><strong>SD slot</strong>: If you work a lot with photography, an SD slot can be a handy way to get the files from your camera over to your computer. SD cards can even be used to speed up the system.</p><h3><strong>Gaming PC?</strong></h3><p>To play the latest games with the graphics on high (or ultra) and keep a high frame-rate, you’ll be needing to look into a truly high-performance machine. Modern games take up a lot of space, so a big hard drive is a must if you plan on having more than one game installed at a time — you’ll want it to be a fast drive, too. Running those games also takes a lot of processing power, so a heavy-hitting processor will be important. You can do without too many cores in your processor if each is extra-fast, but if you’re planning to play your games and keep other programs open in the background, consider bumping up the core count.</p><p>You’ll need a dedicated graphics card, and a good one at that. You can probably get by with something in the mid-range of graphics cards, but a high-end card is your best bet. Make sure to get a high screen refresh rate 144Hz monitor to keep up with you FPS.</p><p>Video RAM is just like a normal RAM, but video RAM’s job is to process the picture so that the monitor can show you the picture. All types of VRAMs are special arrangements for dynamic RAM. The video RAM is a buffer between the computer and the monitor. It is also called a frame buffer. When images are sent to display on the screen by the system, they are read by the processor onto the dedicated video RAM or integrated video RAM. Then the video is processed into the RAM and appears on the monitor. Be sure to get plenty of VRAM on that card.</p><p>Lastly, Assess your budget and how you’ll be using your machine and you’ll find the right balance between price and performance. I hope this cleared up the technical jargon that surrounds these devices and gives you a smoother buying experience the next time you look at the specs.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1ab34c8a44e4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>