<?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: ツᎪʏᴜꜱʜ ᴋᴜᴍᴀʀ </title>
    <description>The latest articles on DEV Community by ツᎪʏᴜꜱʜ ᴋᴜᴍᴀʀ  (@ayushsdevforge).</description>
    <link>https://dev.to/ayushsdevforge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2001242%2Fc45cf181-0d3a-4ebf-b111-b50724cce0c8.jpg</url>
      <title>DEV Community: ツᎪʏᴜꜱʜ ᴋᴜᴍᴀʀ </title>
      <link>https://dev.to/ayushsdevforge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayushsdevforge"/>
    <language>en</language>
    <item>
      <title>🔥 Firebase Storage: Easy Setup &amp; File Listing.</title>
      <dc:creator>ツᎪʏᴜꜱʜ ᴋᴜᴍᴀʀ </dc:creator>
      <pubDate>Mon, 04 Aug 2025 08:18:07 +0000</pubDate>
      <link>https://dev.to/ayushsdevforge/firebase-storage-easy-setup-file-listing-1l3i</link>
      <guid>https://dev.to/ayushsdevforge/firebase-storage-easy-setup-file-listing-1l3i</guid>
      <description>&lt;p&gt;"Firebase is a Backend-as-a-Service (BaaS) platform developed by Google that helps developers build web and mobile apps faster without managing traditional server-side infrastructure."&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Firebase Setup
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Create a New Project&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on “Add Project” or “Create Project”&lt;/li&gt;
&lt;li&gt;Give your project a meaningful name (e.g., MyFirebaseStorageDemo)&lt;/li&gt;
&lt;li&gt;Follow the guided steps and click Finish to set up the project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Enable Firebase Storage&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the left sidebar and click on “Build &amp;gt; Storage”&lt;/li&gt;
&lt;li&gt;Click “Get Started” and choose your storage location (pick the one closest to your users).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Upgrade to Blaze Plan&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to Project Settings &amp;gt; Usage and billing.&lt;/li&gt;
&lt;li&gt;Select Blaze Plan (first $1 is often free as part of a trial)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Set Storage Rule&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.time &amp;lt; timestamp.date(2025, 8, 23);
    }
  }
}

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Upload Files on Cloud Storage&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a folder after Clicking on Folder Icon at Right Corner.&lt;/li&gt;
&lt;li&gt;Upload images file to the Folder. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 2: Add Firebase SDK to HTML.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script src="https://www.gstatic.com/firebasejs/10.3.1/firebase-app.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="https://www.gstatic.com/firebasejs/10.3.1/firebase-storage.js"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 3: Import Firebase CDN in Javascript Block.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script
&amp;lt;--Above Code--&amp;gt;
 import { initializeApp } from "https://www.gstatic.com/firebasejs/10.3.1/firebase-app.js";
import { getStorage, ref, listAll } from "https://www.gstatic.com/firebasejs/10.3.1/firebase-storage.js";
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;You can Find CDN in Firebase Documentation.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 4: Now Intialize Firebase config.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://console.firebase.google.com" rel="noopener noreferrer"&gt;https://console.firebase.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Select your project&lt;/li&gt;
&lt;li&gt;Click ⚙️ Settings (next to Project Overview)&lt;/li&gt;
&lt;li&gt;Scroll down to “Your Apps”&lt;/li&gt;
&lt;li&gt;Select Your Existing Web App.&lt;/li&gt;
&lt;li&gt;Copy the firebaseConfig object shown on screen.&lt;/li&gt;
&lt;li&gt;Copy and Paste firebaseConfig.&lt;/li&gt;
&lt;li&gt;initialize using an App and Storage Variable.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_PROJECT_ID.appspot.com",
  messagingSenderId: "SENDER_ID",
  appId: "APP_ID"
};

const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Listing Files from Folder in Firebase storage
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const fileList = document.getElementById("fileList");
    const listRef = ref(storage, '');
    listAll(listRef)
      .then((res) =&amp;gt; {
        res.items.forEach((itemRef) =&amp;gt; {
          const li = document.createElement("li");
          li.textContent = itemRef.name;
          fileList.appendChild(li);
        });
      })
      .catch((error) =&amp;gt; {
        console.error("Error listing files:", error);
      });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 5: Add the HTML Content.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h2&amp;gt;File List&amp;lt;/h2&amp;gt;
  &amp;lt;ul id="fileList"&amp;gt;&amp;lt;/ul&amp;gt;
&amp;lt;script&amp;gt;
&amp;lt;---Javascript Code from Here--&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;&lt;strong&gt;In this guide, we learned how to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up and configure Firebase Storage in a web project&lt;/li&gt;
&lt;li&gt;Apply temporary access rules for development&lt;/li&gt;
&lt;li&gt;List all files stored in a folder (or root) using simple JavaScript&lt;/li&gt;
&lt;li&gt;Display those files cleanly in the browser.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>"Essential Bit Manipulation Techniques in C"</title>
      <dc:creator>ツᎪʏᴜꜱʜ ᴋᴜᴍᴀʀ </dc:creator>
      <pubDate>Fri, 30 Aug 2024 08:29:51 +0000</pubDate>
      <link>https://dev.to/ayushsdevforge/essential-bit-manipulation-techniques-in-c-4jdc</link>
      <guid>https://dev.to/ayushsdevforge/essential-bit-manipulation-techniques-in-c-4jdc</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey folks! This is my first post here on dev.to, and I’m excited to share some insights on Bit Manipulation Techniques. I hope you find this discussion useful and informative.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is the List of Bit Manipulation techniques&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt; 1. Bitwise OR(|) for Combining Bits:  &lt;/u&gt;&lt;/strong&gt;&lt;br&gt;
Bits from multiple sources are combined using the bitwise OR operator (|).&lt;/p&gt;

&lt;p&gt;example: &lt;/p&gt;

&lt;p&gt;00001100   (12 in binary)&lt;br&gt;
  OR&lt;br&gt;
  00000111   (7 in binary)&lt;br&gt;
  ————————————&lt;br&gt;
  00001111   (15 in binary)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;2. Bitwise AND (&amp;amp;) for Masking and Extracting:&lt;/u&gt;&lt;/strong&gt; &lt;br&gt;
Bitwise AND is used to isolate specific bits from a combined value or check if certain bits are set. This technique can also be used to mask out unwanted bits.&lt;br&gt;
example:&lt;/p&gt;

&lt;p&gt;10101111 [175 (0xAF)]&lt;br&gt;
  AND&lt;br&gt;
  00111100 [60 (0x3C)]&lt;br&gt;
  ——————————————&lt;br&gt;
  00101100 [44 (0x2C)]&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;3. Bitwise NOT (~)&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
The Bitwise NOT operation is a unary operation that inverts all bits of its operand. This means that each bit of the number is flipped: 1s become 0s, and 0s become 1s.&lt;br&gt;
example:&lt;/p&gt;

&lt;p&gt;00001100  (12 in binary)&lt;br&gt;
   ~         (Bitwise NOT)&lt;br&gt;
  —————————————-&lt;br&gt;
  11110011  (-13 as Result in      Binary)&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;3. Bitwise Shift (&amp;lt;&amp;lt;, &amp;gt;&amp;gt;) for Positioning:&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
Bitwise shift operations are used to move bits to specific positions within a value before combining or extracting them. This is useful for packing multiple values into a single variable.&lt;br&gt;
example:&lt;/p&gt;

&lt;p&gt;Operation: 12 &amp;lt;&amp;lt; 2&lt;br&gt;&lt;br&gt;
  00001100 (12 in binary)&lt;br&gt;
  Shift left by 2 positions&lt;br&gt;
  ———————————————-&lt;br&gt;
  00110000 (48 in binary)&lt;/p&gt;

&lt;p&gt;Operation: 12 &amp;gt;&amp;gt; 2&lt;br&gt;
  00001100 (12 in binary)&lt;br&gt;
  Shift right by 2 positions:&lt;br&gt;
  ———————————————-&lt;br&gt;
  00000011 (3 in binary)&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;4. Bitwise XOR (^):&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
For each bit position, the XOR operation sets the result bit to 1 if exactly one of the corresponding bits in the operands is 1, but not both.&lt;br&gt;
Example:&lt;/p&gt;

&lt;p&gt;00001100 (12 in Binary)&lt;br&gt;
  XOR&lt;br&gt;
  00000111 (7 in Binary)&lt;br&gt;
  —————————————————&lt;br&gt;
  00001011  (11 as Result in   binary)&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;5. Bit Masks for Flags:&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
 Bit masks are used to set, clear, or toggle specific bits within a variable. Each bit in the mask represents a different flag or status bit.&lt;br&gt;
example: &lt;/p&gt;

&lt;p&gt;Operation: Bitwise OR to set     FLAG_A&lt;/p&gt;

&lt;p&gt;Initial State:  00001000 (8 in     binary)&lt;br&gt;
  OR&lt;br&gt;
  FLAG_A:         00000001 (1 in     binary)&lt;br&gt;
  —————————————————-&lt;br&gt;
  Result:         00001001 (9 in     binary)&lt;/p&gt;

&lt;p&gt;Operation: Bitwise AND with NOT     of FLAG_B to clear FLAG_B&lt;/p&gt;

&lt;p&gt;Initial State:  00001111&lt;br&gt;
  AND NOT FLAG_B: 11111101&lt;br&gt;
  —————————————————-&lt;br&gt;
Result:         00001101 (13 in binary)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bitwise XOR to toggle FLAG_C&lt;/strong&gt;&lt;br&gt;
 Initial State:  00001101 (13 in binary)&lt;br&gt;
XOR&lt;br&gt;
FLAG_C     00000100  (4 in binary)&lt;br&gt;
——————————————————-&lt;br&gt;
Result:         00001001 (9 in binary)&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;6. Packing Bitfields:&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
Bitfields gives the utility to the User to pack multiple smaller integer values into a single variable. Bitfields are typically used within structs.&lt;br&gt;
example: &lt;/p&gt;

&lt;p&gt;Example for Packing Bitfields&lt;br&gt;
Field1: 1010 (4 bits)&lt;br&gt;
Field2: 0101 (4 bits)&lt;/p&gt;

&lt;p&gt;Packed Value: 10100101 (165 in decimal)&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
