<?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: manish srivastava</title>
    <description>The latest articles on DEV Community by manish srivastava (@manishfoodtechs).</description>
    <link>https://dev.to/manishfoodtechs</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%2F221659%2F353cc208-374e-4d32-8304-bf9aba600a40.jpg</url>
      <title>DEV Community: manish srivastava</title>
      <link>https://dev.to/manishfoodtechs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manishfoodtechs"/>
    <language>en</language>
    <item>
      <title>Use Google Search AI to Chat with any Website:Free, oneliner url</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Thu, 10 Jul 2025 23:09:36 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/use-google-search-ai-to-chat-with-any-websitefree-oneliner-url-4p6m</link>
      <guid>https://dev.to/manishfoodtechs/use-google-search-ai-to-chat-with-any-websitefree-oneliner-url-4p6m</guid>
      <description>&lt;p&gt;Google Search is same but recently they launched AI tab for search results. It can do internet search  and response are then presented as Chat with AI bla bla...&lt;/p&gt;

&lt;p&gt;This feature rolling timeline is different for countries.&lt;/p&gt;

&lt;p&gt;How to take advantage of ai to search a particular site?&lt;/p&gt;

&lt;p&gt;Without further ado:&lt;/p&gt;

&lt;p&gt;Try:&lt;/p&gt;

&lt;p&gt;( Copy link and paste in browser)&lt;br&gt;
( Direct Click sometimes don't work. I do not know why)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Without site specific:
&lt;a href="https://www.google.com/search?q=docker+installation&amp;amp;udm=50" rel="noopener noreferrer"&gt;https://www.google.com/search?q=docker+installation&amp;amp;udm=50&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.Site Specific:&lt;br&gt;
&lt;a href="https://www.google.com/search?q=docker+installation+inurl:https://dev.to&amp;amp;udm=50"&gt;https://www.google.com/search?q=docker+installation+inurl:https://dev.to&amp;amp;udm=50&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then try in prompt box cover vs podman inurl:dev.to &lt;/p&gt;

&lt;p&gt;Use Case:&lt;br&gt;
Use power of Google for searching, understanding complex documentations, get realtime updates etc...&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>php</category>
    </item>
    <item>
      <title>Revolutionizing AI: Can Human Brain Cells Replace CPUs and GPUs?</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Sat, 28 Jun 2025 05:56:19 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/revolutionizing-ai-can-human-brain-cells-replace-cpus-and-gpus-2hhe</link>
      <guid>https://dev.to/manishfoodtechs/revolutionizing-ai-can-human-brain-cells-replace-cpus-and-gpus-2hhe</guid>
      <description>&lt;p&gt;Picture a computer powered not by silicon chips but by living human brain cells. Sounds like something out of a sci-fi blockbuster, doesn’t it? Well, this is no longer just a wild idea—it’s becoming reality! Biocomputing, where human brain cells process data, is emerging as a groundbreaking frontier in artificial intelligence (AI). As a tech enthusiast, I’m thrilled to dive into this mind-blowing fusion of biology and computing. Let’s explore how human brain cells could replace traditional CPUs and GPUs, why it’s exciting, and what hurdles we need to cross. Get ready for a wild ride into the future of tech!&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Biocomputing All About?
&lt;/h2&gt;

&lt;p&gt;Biocomputing is like the ultimate tech hack, using biological materials—think cells, DNA, or proteins—to crunch data. At its core are brain organoids, mini-brains grown from stem cells that mimic the human brain’s structure. These tiny powerhouses can learn, adapt, and process information in ways that feel almost magical. Unlike traditional computers, which rely on binary logic and guzzle electricity like there’s no tomorrow, brain cells work like neural networks, solving problems with a flair that silicon chips can’t match. For a global tech community obsessed with efficiency and innovation, this is a game-changer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cool Stuff Happening Right Now
&lt;/h2&gt;

&lt;p&gt;The world of biocomputing is buzzing with breakthroughs, and two projects shine brighter than a supernova:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Cortical Labs’ CL1: The Brain-Computer Hybrid&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An Australian startup, Cortical Labs, made waves at the Mobile World Congress 2025 with their CL1 biological computer. Imagine a chip with 59 electrodes hosting a network of human neurons grown from stem cells—a mini-brain wired to a computer! The CL1 can be programmed for tasks like drug discovery or even guiding robots. It comes with a life-support system to keep the neurons thriving (like a high-tech petri dish with oxygen and nutrients) and uses just 850-1,000 watts for an entire rack—far less than a GPU cluster powering today’s AI.&lt;/p&gt;

&lt;p&gt;Back in 2022, Cortical Labs showed off their DishBrain system, where 800,000 neurons learned to play Pong (yep, the retro arcade classic!). The CL1 is a sleeker, more reliable upgrade, set to hit the market later this year for about $35,000. For developers worldwide, there’s even a “Wetware-as-a-Service” option to access it remotely—perfect for startups on a budget.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Brainoware: The Speech-Savvy Mini-Brain&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Researchers at Indiana University Bloomington have cooked up something equally wild: Brainoware. This hybrid bio-computer connects a brain organoid to a high-density electrode array. In tests, Brainoware was trained to recognize Japanese vowel sounds from 240 audio clips, hitting a solid 78% accuracy. It’s like teaching a brainy buddy a new language!&lt;/p&gt;

&lt;p&gt;Brainoware uses reservoir computing, tapping into the organoid’s natural chaos to process data in unique ways. It’s not flawless—it can’t “hear” sounds directly and struggles with long-term stability—but it’s a massive step toward energy-efficient AI. For a world grappling with soaring energy costs, this could be a lifesaver.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Brain Cells Could Be the Next Big Thing
&lt;/h2&gt;

&lt;p&gt;So, why should developers and techies care? Here’s why brain cells are as exciting as the latest tech keynote:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Energy Savers&lt;/strong&gt;: The human brain runs on about 20 watts—less than a light bulb! Compare that to the megawatts burned by GPU farms training AI models. Brain-based systems could slash energy costs, making AI greener and more sustainable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smart Like Humans&lt;/strong&gt;: Brain cells adapt and learn naturally, like how we pick up new skills or solve tricky problems. This could lead to AI that thinks more like us, tackling tasks like common-sense reasoning or creativity that current systems struggle with.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Game-Changing Applications&lt;/strong&gt;: Imagine brain-powered AI revolutionizing healthcare—testing drugs on organoids tailored to individual patients. Or picture smarter prosthetics that respond like real limbs. Plus, these systems could replace animal testing, aligning with global pushes for ethical science.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Storage Revolution&lt;/strong&gt;: Paired with DNA-based storage, brain cells could store massive amounts of data in tiny spaces. For a data-hungry world, this could mean compact, efficient solutions for everything from cloud computing to archival storage.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Tricky Bits
&lt;/h2&gt;

&lt;p&gt;Before we get carried away, let’s talk about the roadblocks. Like any bold tech leap, biocomputing has its share of challenges:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scaling Up&lt;/strong&gt;: Current systems are small-scale, like a garage startup compared to a tech giant. The CL1 aims for a “Minimal Viable Brain” (inspired by a worm’s 300 neurons), but AI needs millions of neurons to rival GPUs. Scaling this up is like trying to build a global cloud network overnight.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keeping It Stable&lt;/strong&gt;: Brain cells are finicky—they need the right temperature, nutrients, and even “rest” to perform. Unlike silicon chips that run 24/7, biological systems can be unpredictable, like a server crashing at the worst moment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tech Meets Bio&lt;/strong&gt;: Connecting living cells to electronics is like trying to sync a vinyl record with a streaming app. Current electrode arrays have limits in resolution and bandwidth, making long-term stability a headache.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ethical Dilemmas&lt;/strong&gt;: Using human cells raises big questions. Where do these cells come from? Are donors fully informed? And what if these mini-brains start showing signs of consciousness? It’s a sci-fi plot twist that demands serious thought.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Ethical Angle: A Global Concern
&lt;/h2&gt;

&lt;p&gt;The idea of brain cells in machines can feel like stepping into uncharted territory. Most organoids come from adult stem cells (not embryos, thankfully), but ensuring ethical sourcing is critical—nobody wants a scandal over cell origins. There’s also the big question: could these organoids become sentient? Right now, they’re far from it, but as tech advances, we’ll need regulations as tight as a blockchain ledger. Public perception matters too—if people think we’re building “Frankenstein computers,” it could spark backlash. Clear communication, like an open-source project’s README, will be key to building trust worldwide.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future: A Brainy Revolution
&lt;/h2&gt;

&lt;p&gt;So, where’s this headed? For the global dev community, the possibilities are as vibrant as a tech conference swag bag:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Smarter AI&lt;/strong&gt;: Brain-powered systems could lead to AI that’s intuitive and creative, capable of solving problems like a seasoned coder. Think chatbots that get your humor or robots that navigate chaotic environments with ease.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Healthcare Breakthroughs&lt;/strong&gt;: Organoids could transform drug testing, making treatments more effective for diverse populations. No more one-size-fits-all drugs based on limited data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Green Tech&lt;/strong&gt;: With energy efficiency at its core, biocomputing could power the next wave of AI without frying the planet, aligning with global sustainability goals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Innovation Hub&lt;/strong&gt;: This tech could spark a new wave of startups, turning cities worldwide into hubs for biocomputing innovation. Imagine a “Biocomputing Valley” anywhere from Silicon Valley to Singapore!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts: Coding for a Brain-Powered Future
&lt;/h2&gt;

&lt;p&gt;Using human brain cells to replace CPUs and GPUs is like swapping a bicycle for a spaceship. It’s bold, it’s risky, but it’s packed with potential. For developers, this could open doors to building AI that’s not just smart but also sustainable and human-like. Sure, there are hurdles—technical, ethical, and financial—but the tech community thrives on solving tough problems.&lt;/p&gt;

&lt;p&gt;As we stand at this intersection of biology and code, let’s keep experimenting, questioning, and pushing boundaries. The next big AI breakthrough could come from a lab anywhere in the world, powered by the very cells that make us human. What do you think—ready to code for a brain-powered future? Share your thoughts in the comments and let’s geek out together!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt;:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cortical Labs’ CL1 announcement (corticallabs.com)
&lt;/li&gt;
&lt;li&gt;Brainoware research (Nature Electronics, 2023)
&lt;/li&gt;
&lt;li&gt;DishBrain study (Neuron, 2022)
&lt;/li&gt;
&lt;li&gt;Insights from Scientific American and Tom’s Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Corrections&lt;/strong&gt;&lt;br&gt;
This Article Language is corrected with AI Model&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>openai</category>
      <category>cloud</category>
    </item>
    <item>
      <title>A 𝖈𝖔𝖑𝖑𝖊𝖈𝖙𝖎𝖔𝖓 𝖔𝖋 𝖔𝖛𝖊𝖗 75 𝖀𝖓𝖎𝖈𝖔𝖉𝖊 𝖈𝖔𝖉𝖊 𝖊𝖝𝖆𝖒𝖕𝖑𝖊𝖘</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Thu, 20 Mar 2025 19:20:47 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/a-75-5gal</link>
      <guid>https://dev.to/manishfoodtechs/a-75-5gal</guid>
      <description>&lt;p&gt;𝕯𝖊𝖆𝖗 𝕯𝖊𝖛𝖊𝖑𝖔𝖕𝖊𝖗 𝕱𝖗𝖎𝖊𝖓𝖉𝖘,  &lt;/p&gt;

&lt;p&gt;𝕴'𝖒 𝖊𝖝𝖈𝖎𝖙𝖊𝖉 𝖙𝖔 𝖘𝖍𝖆𝖗𝖊 𝖆 𝖈𝖔𝖑𝖑𝖊𝖈𝖙𝖎𝖔𝖓 𝖔𝖋 𝖔𝖛𝖊𝖗 75 𝖀𝖓𝖎𝖈𝖔𝖉𝖊 𝖈𝖔𝖉𝖊 𝖊𝖝𝖆𝖒𝖕𝖑𝖊𝖘 𝖙𝖍𝖆𝖙 𝖆𝖗𝖊 𝖘𝖚𝖗𝖊 𝖙𝖔 𝖎𝖒𝖕𝖗𝖊𝖘𝖘 𝖞𝖔𝖚𝖗 𝖋𝖗𝖎𝖊𝖓𝖉𝖘. 𝕿𝖍𝖊𝖘𝖊 𝖊𝖝𝖆𝖒𝖕𝖑𝖊𝖘 𝖘𝖍𝖔𝖜𝖈𝖆𝖘𝖊 𝖙𝖍𝖊 𝖛𝖊𝖗𝖘𝖆𝖙𝖎𝖑𝖎𝖙𝖞 𝖆𝖓𝖉 𝖈𝖗𝖊𝖆𝖙𝖎𝖛𝖎𝖙𝖞 𝖔𝖋 𝖀𝖓𝖎𝖈𝖔𝖉𝖊, 𝖒𝖆𝖐𝖎𝖓𝖌 𝖙𝖍𝖊𝖒 𝖕𝖊𝖗𝖋𝖊𝖈𝖙 𝖋𝖔𝖗 𝖊𝖓𝖍𝖆𝖓𝖈𝖎𝖓𝖌 𝖞𝖔𝖚𝖗 𝖕𝖗𝖔𝖏𝖊𝖈𝖙𝖘.  𝕱𝖊𝖊𝖑 𝖋𝖗𝖊𝖊 𝖙𝖔 𝖊𝖝𝖕𝖑𝖔𝖗𝖊 𝖆𝖓𝖉 𝖘𝖍𝖆𝖗𝖊 𝖞𝖔𝖚𝖗 𝖙𝖍𝖔𝖚𝖌𝖍𝖙𝖘!  &lt;/p&gt;

&lt;p&gt;𝕭𝖊𝖘𝖙 𝖗𝖊𝖌𝖆𝖗𝖉𝖘,&lt;br&gt;&lt;br&gt;
𝕸𝖆𝖓𝖎𝖘𝖍 𝕾𝖗𝖎𝖛𝖆𝖘𝖙𝖆𝖛𝖆&lt;/p&gt;

&lt;p&gt;Few Examples:&lt;/p&gt;

&lt;p&gt;𝓗𝓲, 👋 𝓘 𝓪𝓶 𝓜𝓪𝓷𝓲𝓼𝓱 𝓢𝓻𝓲𝓿𝓪𝓼𝓽𝓪𝓿𝓪 &lt;/p&gt;

&lt;p&gt;H̖͈͑͒͐ĭ̙̗͕̄͊, 👋 I̤̞̓͒ a̘͌́͒m̤̓ M̝̤̅͐a͎͒̂̿n͍̜͓͐ï̘̙̤s̙͒͊͋h̥̿̆ Ṡ̖͈̆r̟̦͋̊̐i͉̍v͓͉͒͗a̞͂̆ș̋͊t͈̗̆̓a͈̅͐v̘̘̋͂a͉̋ &lt;/p&gt;

&lt;p&gt;𝕀 𝕒𝕞 𝕄𝕒𝕟𝕚𝕤𝕙 𝕊𝕣𝕚𝕧𝕒𝕤𝕥𝕒𝕧𝕒 &lt;/p&gt;

&lt;p&gt;Copy paste below code: &lt;/p&gt;

&lt;p&gt;`&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Awesome Text Styles&lt;br&gt;
  &amp;lt;br&amp;gt;
    body {&amp;lt;br&amp;gt;
      font-family: Arial, sans-serif;&amp;lt;br&amp;gt;
      max-width: 1200px;&amp;lt;br&amp;gt;
      margin: 0 auto;&amp;lt;br&amp;gt;
      padding: 20px;&amp;lt;br&amp;gt;
      background-color: #f0f0f0;&amp;lt;br&amp;gt;
    }&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;.container {
  text-align: center;
}

input {
  padding: 10px;
  font-size: 16px;
  margin: 10px;
  width: 300px;
}

button {
  padding: 10px 20px;
  font-size: 16px;
  background-color: #4CAF50;
  color: white;
  border: none;
  cursor: pointer;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.style-card {
  background: white;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.copy-btn {
  margin-top: 10px;
  padding: 5px 10px;
  background-color: #008CBA;
  font-size: 14px;
  border: none;
  cursor: pointer;
}
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
    &lt;br&gt;
    Generate Styles&lt;br&gt;
    &lt;br&gt;
  

&lt;p&gt;&amp;lt;br&amp;gt;
    // Default converter for contiguous Unicode blocks&amp;lt;br&amp;gt;
    function convertTextDefault(text, style) {&amp;lt;br&amp;gt;
      return text.split(&amp;amp;#39;&amp;amp;#39;).map(char =&amp;amp;gt; {&amp;lt;br&amp;gt;
        const code = char.charCodeAt(0);&amp;lt;br&amp;gt;
        if (char &amp;amp;gt;= &amp;amp;#39;A&amp;amp;#39; &amp;amp;amp;&amp;amp;amp; char &amp;amp;lt;= &amp;amp;#39;Z&amp;amp;#39;) {&amp;lt;br&amp;gt;
          return String.fromCodePoint(style.upper + (code - 65));&amp;lt;br&amp;gt;
        } else if (char &amp;amp;gt;= &amp;amp;#39;a&amp;amp;#39; &amp;amp;amp;&amp;amp;amp; char &amp;amp;lt;= &amp;amp;#39;z&amp;amp;#39;) {&amp;lt;br&amp;gt;
          return String.fromCodePoint(style.lower + (code - 97));&amp;lt;br&amp;gt;
        }&amp;lt;br&amp;gt;
        return char;&amp;lt;br&amp;gt;
      }).join(&amp;amp;#39;&amp;amp;#39;);&amp;lt;br&amp;gt;
    }&amp;lt;/p&amp;gt;
&amp;lt;div class="highlight"&amp;gt;&amp;lt;pre class="highlight plaintext"&amp;gt;&amp;lt;code&amp;gt;// Custom converters already in place:
function upsideDown(text) {
  const map = {
    'a': 'ɐ', 'b': 'q', 'c': 'ɔ', 'd': 'p', 'e': 'ǝ',
    'f': 'ɟ', 'g': 'ƃ', 'h': 'ɥ', 'i': 'ᴉ', 'j': 'ɾ',
    'k': 'ʞ', 'l': 'ן', 'm': 'ɯ', 'n': 'u', 'o': 'o',
    'p': 'd', 'q': 'b', 'r': 'ɹ', 's': 's', 't': 'ʇ',
    'u': 'n', 'v': 'ʌ', 'w': 'ʍ', 'x': 'x', 'y': 'ʎ', 'z': 'z',
    'A': '∀', 'B': '𐐒', 'C': 'Ɔ', 'D': '◖', 'E': 'Ǝ',
    'F': 'Ⅎ', 'G': 'פ', 'H': 'H', 'I': 'I', 'J': 'ſ',
    'K': 'ʞ', 'L': '˥', 'M': 'W', 'N': 'N', 'O': 'O',
    'P': 'Ԁ', 'Q': 'Ό', 'R': 'ᴚ', 'S': 'S', 'T': '┴',
    'U': '∩', 'V': 'Λ', 'W': 'M', 'X': 'X', 'Y': '⅄', 'Z': 'Z'
  };
  return text.split('').map(ch =&amp;amp;gt; map[ch] || ch).reverse().join('');
}

function smallCaps(text) {
  const map = {
    'a': 'ᴀ', 'b': 'ʙ', 'c': 'ᴄ', 'd': 'ᴅ', 'e': 'ᴇ',
    'f': 'ꜰ', 'g': 'ɢ', 'h': 'ʜ', 'i': 'ɪ', 'j': 'ᴊ',
    'k': 'ᴋ', 'l': 'ʟ', 'm': 'ᴍ', 'n': 'ɴ', 'o': 'ᴏ',
    'p': 'ᴘ', 'q': 'ǫ', 'r': 'ʀ', 's': 'ꜱ', 't': 'ᴛ',
    'u': 'ᴜ', 'v': 'ᴠ', 'w': 'ᴡ', 'x': 'x', 'y': 'ʏ', 'z': 'ᴢ',
    'A': 'ᴀ', 'B': 'ʙ', 'C': 'ᴄ', 'D': 'ᴅ', 'E': 'ᴇ',
    'F': 'ꜰ', 'G': 'ɢ', 'H': 'ʜ', 'I': 'ɪ', 'J': 'ᴊ',
    'K': 'ᴋ', 'L': 'ʟ', 'M': 'ᴍ', 'N': 'ɴ', 'O': 'ᴏ',
    'P': 'ᴘ', 'Q': 'ǫ', 'R': 'ʀ', 'S': 'ꜱ', 'T': 'ᴛ',
    'U': 'ᴜ', 'V': 'ᴠ', 'W': 'ᴡ', 'X': 'x', 'Y': 'ʏ', 'Z': 'ᴢ'
  };
  return text.split('').map(ch =&amp;amp;gt; map[ch] || ch).join('');
}

function leetSpeak(text) {
  const map = {
    'A': '4', 'a': '4',
    'E': '3', 'e': '3',
    'I': '1', 'i': '1',
    'O': '0', 'o': '0',
    'S': '5', 's': '5',
    'T': '7', 't': '7'
  };
  return text.split('').map(ch =&amp;amp;gt; map[ch] || ch).join('');
}

function zalgo(text) {
  const zalgo_up = ["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈́","͊","͋","͌","̃","̂","̌","͐","́","̋"];
  const zalgo_down = ["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖"];
  return text.split('').map(ch =&amp;amp;gt; {
    if (/[A-Za-z]/.test(ch)) {
      let extra = '';
      for (let i = 0; i &amp;amp;lt; Math.floor(Math.random() * 3) + 1; i++) {
        extra += zalgo_up[Math.floor(Math.random() * zalgo_up.length)];
      }
      for (let i = 0; i &amp;amp;lt; Math.floor(Math.random() * 3) + 1; i++) {
        extra += zalgo_down[Math.floor(Math.random() * zalgo_down.length)];
      }
      return ch + extra;
    }
    return ch;
  }).join('');
}

function spongebob(text) {
  return text.split('').map((ch, i) =&amp;amp;gt; {
    if (/[A-Za-z]/.test(ch)) {
      return i % 2 === 0 ? ch.toUpperCase() : ch.toLowerCase();
    }
    return ch;
  }).join('');
}

// A generic decorator converter factory:
function createDecoConverter(deco) {
  return function(text) {
    return deco + text.split('').join(deco) + deco;
  }
}

// ============================================
// New 25 Distinct Writing Styles Converters
// ============================================

// 1. Reverse Text: Reverse the entire string.
function reverseText(text) {
  return text.split('').reverse().join('');
}

// 2. Binary: Convert each character to its binary representation.
function binaryText(text) {
  return text.split('').map(ch =&amp;amp;gt; ch.charCodeAt(0).toString(2)).join(' ');
}

// 3. Morse Code: Convert letters/digits to Morse code.
function morseText(text) {
  const morseMap = {
    'a': '.-',    'b': '-...',  'c': '-.-.', 'd': '-..',
    'e': '.',     'f': '..-.',  'g': '--.',  'h': '....',
    'i': '..',    'j': '.---',  'k': '-.-',  'l': '.-..',
    'm': '--',    'n': '-.',    'o': '---',  'p': '.--.',
    'q': '--.-',  'r': '.-.',   's': '...',  't': '-',
    'u': '..-',   'v': '...-',  'w': '.--',  'x': '-..-',
    'y': '-.--',  'z': '--..',
    '0': '-----', '1': '.----', '2': '..---','3': '...--',
    '4': '....-', '5': '.....', '6': '-....','7': '--...',
    '8': '---..', '9': '----.'
  };
  return text.split('').map(ch =&amp;amp;gt; {
    const lower = ch.toLowerCase();
    return morseMap[lower] ? morseMap[lower] : ch;
  }).join(' ');
}

// 4. Double Vision: Duplicate every character.
function doubleVision(text) {
  return text.split('').map(ch =&amp;amp;gt; ch + ch).join('');
}

// 5. Spaced Out: Insert a space between every character.
function spacedOut(text) {
  return text.split('').join(' ');
}

// 6. Scrambled: Randomly shuffle characters in each word.
function scrambled(text) {
  return text.split(' ').map(word =&amp;amp;gt; {
    const arr = word.split('');
    for (let i = arr.length - 1; i &amp;amp;gt; 0; i--) {
      const j = Math.floor(Math.random() * (i + 1));
      [arr[i], arr[j]] = [arr[j], arr[i]];
    }
    return arr.join('');
  }).join(' ');
}

// 7. Pig Latin: Convert each word to Pig Latin.
function pigLatin(text) {
  return text.split(' ').map(word =&amp;amp;gt; {
    if (/^[aeiou]/i.test(word)) {
      return word + "way";
    } else {
      const match = word.match(/^[^aeiou]+/i);
      if (match) {
        const cluster = match[0];
        return word.substring(cluster.length) + cluster + "ay";
      }
      return word;
    }
  }).join(' ');
}

// 8. Inverted Case: Toggle the case for every character.
function invertedCase(text) {
  return text.split('').map(ch =&amp;amp;gt; {
    if (ch === ch.toUpperCase()) {
      return ch.toLowerCase();
    } else {
      return ch.toUpperCase();
    }
  }).join('');
}

// 9. Dashed: Insert a dash between every character.
function dashed(text) {
  return text.split('').join('-');
}

// 10. Underlined: Insert an underscore between every character.
function underlined(text) {
  return text.split('').join('_');
}

// 11. Stutter: Repeat each character with a hyphen between the repeats.
function stutter(text) {
  return text.split('').map(ch =&amp;amp;gt; ch + '-' + ch).join(' ');
}

// 12. Reverse Words: Reverse the order of words.
function reverseWords(text) {
  return text.split(' ').reverse().join(' ');
}

// 13. CamelCase: Capitalize first letter of each word and join without spaces.
function camelCase(text) {
  return text.split(' ').map(word =&amp;amp;gt; {
    return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
  }).join('');
}

// 14. Snake Case: Convert text to lowercase and replace spaces with underscores.
function snakeCase(text) {
  return text.toLowerCase().split(' ').join('_');
}

// 15. Screaming: Uppercase every character and add an exclamation mark after each.
function screaming(text) {
  return text.split('').map(ch =&amp;amp;gt; ch.toUpperCase() + '!').join('');
}

// 16. Whisper: Lowercase every character and add a period after each.
function whisper(text) {
  return text.split('').map(ch =&amp;amp;gt; ch.toLowerCase() + '.').join('');
}

// 17. Parenthesized Letters: Wrap every character in parentheses.
function parenthesized(text) {
  return text.split('').map(ch =&amp;amp;gt; '(' + ch + ')').join('');
}

// 18. Bracketed Letters: Wrap every character in square brackets.
function bracketed(text) {
  return text.split('').map(ch =&amp;amp;gt; '[' + ch + ']').join('');
}

// 19. Curly Braced Letters: Wrap every character in curly braces.
function curlyBraced(text) {
  return text.split('').map(ch =&amp;amp;gt; '{' + ch + '}').join('');
}

// 20. Angle Bracketed Letters: Wrap every character in angle brackets.
function angleBracketed(text) {
  return text.split('').map(ch =&amp;amp;gt; '&amp;amp;lt;' + ch + '&amp;amp;gt;').join('');
}

// 21. Dot Separated: Insert a dot between every character.
function dotSeparated(text) {
  return text.split('').join('.');
}

// 22. Comma Separated: Insert a comma between every character.
function commaSeparated(text) {
  return text.split('').join(',');
}

// 23. Asterisk Separated: Insert an asterisk between every character.
function asteriskSeparated(text) {
  return text.split('').join('*');
}

// 24. Incremental Repetition: Repeat each character incrementally (first 1 time, second 2 times, etc.).
function incremental(text) {
  return text.split('').map((ch, i) =&amp;amp;gt; ch.repeat(i + 1)).join(' ');
}

// 25. Random Case: Randomly convert each character to upper or lower case.
function randomCase(text) {
  return text.split('').map(ch =&amp;amp;gt; Math.random() &amp;amp;lt; 0.5 ? ch.toUpperCase() : ch.toLowerCase()).join('');
}

// ============================================
// Array of Base Styles (using contiguous Unicode mappings)
const styles = [
  { name: "Bold", upper: 0x1D400, lower: 0x1D41A },
  { name: "Italic", upper: 0x1D434, lower: 0x1D44E },
  { name: "Bold Italic", upper: 0x1D468, lower: 0x1D482 },
  { name: "Script", upper: 0x1D49C, lower: 0x1D4B6 },
  { name: "Bold Script", upper: 0x1D4D0, lower: 0x1D4EA },
  { name: "Fraktur", upper: 0x1D504, lower: 0x1D51E },
  { name: "Double-Struck", upper: 0x1D538, lower: 0x1D552 },
  { name: "Sans-Serif", upper: 0x1D5A0, lower: 0x1D5BA },
  { name: "Sans-Serif Bold", upper: 0x1D5D4, lower: 0x1D5EE },
  { name: "Sans-Serif Italic", upper: 0x1D608, lower: 0x1D622 },
  { name: "Monospace", upper: 0x1D670, lower: 0x1D68A },
  { name: "Bold Fraktur", upper: 0x1D56C, lower: 0x1D586 },
  { name: "Sans-Serif Bold Italic", upper: 0x1D63C, lower: 0x1D656 },
  { name: "Circled", upper: 0x24B6, lower: 0x24D0 },
  { name: "Parenthesized", upper: 0x2474, lower: 0x249C },
  { name: "Fullwidth", upper: 0xFF21, lower: 0xFF41 },
  { name: "Old English", upper: 0xA4D0, lower: 0xA4F0 },
  { name: "Alchemical", upper: 0x1F700, lower: 0x1F71A },

  // Custom converters:
  { name: "Upside Down", convert: upsideDown },
  { name: "Small Caps", convert: smallCaps },
  { name: "Leet Speak", convert: leetSpeak },
  { name: "Zalgo", convert: zalgo },
  { name: "SpongeBob", convert: spongebob }
];

// Array of 50 decorative styles (using a custom converter factory)
const decoSymbols = [
  "★", "☆", "✦", "✧", "❀", "✪", "✫", "✬", "✭", "✮",
  "✯", "☀", "☁", "☂", "☃", "❄", "♛", "♕", "♖", "♜",
  "♝", "♞", "♟", "☯", "✡", "☮", "☭", "☢", "☣", "⚡",
  "☄", "⚽", "⚾", "♠", "♣", "♥", "♦", "♪", "♫", "☕",
  "⚓", "✈", "⌛", "⏳", "⚙", "✂", "✒", "❈", "❉", "❊"
];
decoSymbols.forEach(symbol =&amp;amp;gt; {
  styles.push({
    name: "Deco: " + symbol,
    convert: createDecoConverter(symbol)
  });
});

// Add the 25 new distinct writing style converters:
styles.push({ name: "Reverse Text", convert: reverseText });
styles.push({ name: "Binary", convert: binaryText });
styles.push({ name: "Morse Code", convert: morseText });
styles.push({ name: "Double Vision", convert: doubleVision });
styles.push({ name: "Spaced Out", convert: spacedOut });
styles.push({ name: "Scrambled", convert: scrambled });
styles.push({ name: "Pig Latin", convert: pigLatin });
styles.push({ name: "Inverted Case", convert: invertedCase });
styles.push({ name: "Dashed", convert: dashed });
styles.push({ name: "Underlined", convert: underlined });
styles.push({ name: "Stutter", convert: stutter });
styles.push({ name: "Reverse Words", convert: reverseWords });
styles.push({ name: "CamelCase", convert: camelCase });
styles.push({ name: "Snake Case", convert: snakeCase });
styles.push({ name: "Screaming", convert: screaming });
styles.push({ name: "Whisper", convert: whisper });
styles.push({ name: "Parenthesized Letters", convert: parenthesized });
styles.push({ name: "Bracketed Letters", convert: bracketed });
styles.push({ name: "Curly Braced Letters", convert: curlyBraced });
styles.push({ name: "Angle Bracketed Letters", convert: angleBracketed });
styles.push({ name: "Dot Separated", convert: dotSeparated });
styles.push({ name: "Comma Separated", convert: commaSeparated });
styles.push({ name: "Asterisk Separated", convert: asteriskSeparated });
styles.push({ name: "Incremental", convert: incremental });
styles.push({ name: "Random Case", convert: randomCase });

// Main conversion function that checks if a style has a custom convert function
function convertText(text, style) {
  if (typeof style.convert === 'function') {
    return style.convert(text);
  } else {
    return convertTextDefault(text, style);
  }
}

function generateStyles() {
  const input = document.getElementById('inputText').value;
  const grid = document.getElementById('styleGrid');
  grid.innerHTML = '';

  styles.forEach(style =&amp;amp;gt; {
    const converted = convertText(input, style);
    const card = document.createElement('div');
    card.className = 'style-card';
    card.innerHTML = `
      &amp;amp;lt;h3&amp;amp;gt;${style.name}&amp;amp;lt;/h3&amp;amp;gt;
      &amp;amp;lt;div style="font-size: 1.5em; margin: 10px 0"&amp;amp;gt;${converted}&amp;amp;lt;/div&amp;amp;gt;
      &amp;amp;lt;button class="copy-btn" onclick="navigator.clipboard.writeText(\`${converted}\`)"&amp;amp;gt;Copy&amp;amp;lt;/button&amp;amp;gt;
    `;
    grid.appendChild(card);
  });
}
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;p&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
`&lt;/p&gt;

</description>
      <category>css</category>
      <category>design</category>
    </item>
    <item>
      <title>Removing Vocals &amp; Music from Audio Songs (easy peasy)</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Tue, 10 Sep 2024 20:14:42 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/removing-vocals-music-from-audio-songs-easy-peasy-1b5m</link>
      <guid>https://dev.to/manishfoodtechs/removing-vocals-music-from-audio-songs-easy-peasy-1b5m</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Spleeter is an open-source tool developed by Deezer for source separation, allowing users to isolate vocals and accompaniment from audio tracks. This guide outlines the steps to set up Spleeter in a Windows Subsystem for Linux (WSL) environment and use it to remove vocals from an audio file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WSL&lt;/strong&gt;: Ensure you have WSL installed on your Windows machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt;: Python 3 should be installed in your WSL environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pip&lt;/strong&gt;: The Python package manager should be available.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step-by-Step Guide
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Install Required Packages
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Update Package List&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Python and Pip&lt;/strong&gt; (if not already installed):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;python3 python3-pip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Spleeter&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   pip &lt;span class="nb"&gt;install &lt;/span&gt;spleeter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install Additional Dependencies&lt;/strong&gt;:
To ensure compatibility, install a specific version of NumPy:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="s1"&gt;'numpy&amp;lt;2'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upgrade Spleeter&lt;/strong&gt; (if necessary):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--upgrade&lt;/span&gt; spleeter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Install FFmpeg
&lt;/h3&gt;

&lt;p&gt;Spleeter requires FFmpeg for audio processing. Install it using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;ffmpeg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Prepare Your Audio File
&lt;/h3&gt;

&lt;p&gt;Ensure your audio file is accessible from WSL. For example, if your audio file is located at &lt;code&gt;E:\path\audio.mp3&lt;/code&gt;, you can access it in WSL at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/mnt/e/path/audio.mp3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: Run Spleeter to Separate Vocals
&lt;/h3&gt;

&lt;p&gt;Use the following command to separate the vocals from the audio file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 &lt;span class="nt"&gt;-m&lt;/span&gt; spleeter separate &lt;span class="nt"&gt;-i&lt;/span&gt; /mnt/e/path/audio.mp3 &lt;span class="nt"&gt;-o&lt;/span&gt; /mnt/e/path/output
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Check the Output
&lt;/h3&gt;

&lt;p&gt;After running the command, check the output directory (&lt;code&gt;/mnt/e/path/output&lt;/code&gt;). You should find two audio files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;vocals.wav&lt;/code&gt;: Contains the isolated vocals.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;accompaniment.wav&lt;/code&gt;: Contains the instrumental part.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;You have successfully set up Spleeter in a WSL environment and used it to remove vocals from an audio file. This powerful tool can be used for various audio processing tasks, making it a valuable resource for musicians, producers, and audio enthusiasts.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>music</category>
    </item>
    <item>
      <title>Why Local Date and Time Matter</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Tue, 10 Sep 2024 08:03:38 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/why-local-date-and-time-matter-2ci7</link>
      <guid>https://dev.to/manishfoodtechs/why-local-date-and-time-matter-2ci7</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;Why Local Date and Time Matter: Streamlining Your Ubuntu Server Configuration&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;In today's globalized world, managing time zones and date formats is crucial for server operations, especially when dealing with applications that rely on accurate timestamps. Whether you're running a web application, a database, or any other service, having the correct local date and time ensures that your data is consistent and reliable. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Importance of Local Date and Time
&lt;/h3&gt;

&lt;p&gt;Incorrect date and time settings can lead to a myriad of issues, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data Inconsistencies&lt;/strong&gt;: Applications may log events with incorrect timestamps, making it difficult to track user actions or system events.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling Conflicts&lt;/strong&gt;: Automated tasks scheduled based on the server's time may run at unexpected times, leading to missed deadlines or overlapping processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Experience&lt;/strong&gt;: For applications serving users in specific regions, displaying dates and times in the local format enhances usability and clarity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Common Issue: Misaligned Date Formats
&lt;/h3&gt;

&lt;p&gt;Imagine you have a MySQL database that stores user registration dates. By default, MySQL uses the &lt;code&gt;YYYY-MM-DD&lt;/code&gt; format. However, if your users are accustomed to the &lt;code&gt;DD-MM-YYYY&lt;/code&gt; format, they may find it confusing when viewing their registration dates. This discrepancy can lead to misunderstandings and a poor user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution: Configuring Time Zone and Date Format on Ubuntu Server
&lt;/h3&gt;

&lt;p&gt;To address these issues, you can configure your Ubuntu server to use the correct time zone and format dates appropriately without needing to change settings in every application. Here’s how to do it:&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Change the Time Zone to India/Kolkata
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check Current Time Zone&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   timedatectl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;List Available Time Zones&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   timedatectl list-timezones | &lt;span class="nb"&gt;grep &lt;/span&gt;Asia/Kolkata
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set the Time Zone&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;timedatectl set-timezone Asia/Kolkata
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify the Change&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   timedatectl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 2: Format Dates in MySQL
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Change Date Format in Queries&lt;/strong&gt;:
Use the &lt;code&gt;DATE_FORMAT&lt;/code&gt; function to retrieve dates in the desired format:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;   &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;DATE_FORMAT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;your_date_column&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'%d-%m-%Y'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;formatted_date&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;your_table&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set Default Date Format in MySQL&lt;/strong&gt;:
You can set a session variable to handle date formats:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;   &lt;span class="k"&gt;SET&lt;/span&gt; &lt;span class="k"&gt;SESSION&lt;/span&gt; &lt;span class="n"&gt;sql_mode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'NO_ZERO_DATE,NO_ZERO_IN_DATE'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 3: Adjust Locale Settings on Ubuntu
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Generate the Locale&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;locale-gen en_IN.UTF-8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Set the Locale&lt;/strong&gt;:
Edit the locale configuration file:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/default/locale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add or update:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   LANG=en_IN.UTF-8
   LC_ALL=en_IN.UTF-8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Apply the Changes&lt;/strong&gt;:
Log out and log back in, or run:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;source&lt;/span&gt; /etc/default/locale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Verify the Locale&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   locale
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;By configuring your Ubuntu server's time zone and date format, you can ensure that your applications operate smoothly and present data in a user-friendly manner. This not only enhances the reliability of your server but also improves the overall user experience. With these adjustments, you can avoid the pitfalls of misaligned date and time settings, allowing your applications to function as intended.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Converting bit of CPU to GPU : Rendering AI Models on CPU only</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Sat, 06 Jul 2024 06:17:42 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/converting-bit-of-cpu-to-gpu-rendering-ai-models-on-cpu-only-22oh</link>
      <guid>https://dev.to/manishfoodtechs/converting-bit-of-cpu-to-gpu-rendering-ai-models-on-cpu-only-22oh</guid>
      <description>&lt;p&gt;Hello Friends,&lt;/p&gt;

&lt;p&gt;Read this first:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/manishfoodtechs" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F221659%2F353cc208-374e-4d32-8304-bf9aba600a40.jpg" alt="manishfoodtechs"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/manishfoodtechs/slicing-cpu-as-gpu-with-example-269o" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Slicing CPU as GPU (with Example)&lt;/h2&gt;
      &lt;h3&gt;manish srivastava ・ Jul 5&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Exploring the Potential of LLVMpipe for AI Model Rendering
&lt;/h3&gt;

&lt;p&gt;In the evolving landscape of technology, the demand for robust and flexible rendering solutions continues to grow, particularly in areas where access to GPU resources is limited. LLVMpipe, a Gallium3D driver that uses the CPU for rendering rather than the GPU, has emerged as a significant player in this space. While LLVMpipe is traditionally associated with graphics rendering, its potential applications in artificial intelligence (AI) model rendering are worth exploring. This essay examines the feasibility and benefits of utilizing LLVMpipe for AI model rendering, highlighting its advantages and limitations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Understanding LLVMpipe
&lt;/h4&gt;

&lt;p&gt;LLVMpipe operates as a software rasterizer within the Gallium3D framework, a part of the Mesa 3D Graphics Library. Unlike conventional drivers that leverage GPU capabilities, LLVMpipe uses the CPU to perform rendering tasks. It relies on the LLVM (Low-Level Virtual Machine) compiler infrastructure to generate optimized machine code for specific CPU architectures, enhancing performance and efficiency. This approach makes LLVMpipe a versatile tool for environments where GPU access is restricted or unavailable.&lt;/p&gt;

&lt;h4&gt;
  
  
  Feasibility of Using LLVMpipe for AI Model Rendering
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compatibility and Accessibility&lt;/strong&gt;:&lt;br&gt;
In scenarios where AI models are deployed in virtualized environments or on hardware without dedicated GPUs, LLVMpipe offers a viable alternative. By utilizing the CPU for rendering tasks, AI models can be executed in a wider range of environments, ensuring greater accessibility and flexibility.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance Optimization&lt;/strong&gt;:&lt;br&gt;
While GPUs are inherently more suited for the parallel processing demands of AI models, LLVMpipe can still provide optimized performance on modern multi-core CPUs. The LLVM infrastructure allows for the generation of highly efficient machine code, which can enhance the execution speed of AI models to some extent.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resource Utilization&lt;/strong&gt;:&lt;br&gt;
In virtualized or cloud environments, balancing resource utilization is crucial. Offloading rendering tasks to the CPU using LLVMpipe can prevent GPU bottlenecks and distribute workloads more evenly across the system. This can be particularly beneficial in environments with high concurrency or where GPU resources are shared among multiple users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ease of Deployment&lt;/strong&gt;:&lt;br&gt;
Deploying AI models often involves complex configurations and dependencies. LLVMpipe simplifies this process by eliminating the need for specialized GPU hardware or intricate setup procedures. This ease of deployment can accelerate the development and testing phases, especially in resource-constrained environments.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Benefits of LLVMpipe for AI Model Rendering
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Broad Deployment Scenarios&lt;/strong&gt;:&lt;br&gt;
LLVMpipe enables the deployment of AI models in a variety of environments, including virtualized, cloud-based, and edge computing scenarios. This broad compatibility ensures that AI applications can be executed even in the absence of dedicated GPU resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cost Efficiency&lt;/strong&gt;:&lt;br&gt;
By leveraging existing CPU resources, LLVMpipe can reduce the need for expensive GPU hardware. This cost efficiency is particularly advantageous for small and medium-sized enterprises (SMEs) and educational institutions that may have limited budgets for AI infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhanced Testing and Development&lt;/strong&gt;:&lt;br&gt;
Developers can use LLVMpipe to test AI models in environments that closely mimic production scenarios where GPU access might be limited. This ensures that AI applications are robust and capable of operating under diverse conditions.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Limitations and Considerations
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance Trade-offs&lt;/strong&gt;:&lt;br&gt;
Despite its advantages, LLVMpipe cannot match the raw computational power of GPUs for AI model rendering. AI models, particularly those involving deep learning and large-scale data processing, may experience slower execution times when relying solely on CPU-based rendering.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scalability Challenges&lt;/strong&gt;:&lt;br&gt;
As the complexity and size of AI models increase, the limitations of CPU-based rendering become more pronounced. LLVMpipe may struggle to handle the demands of highly parallelized tasks that GPUs are designed to perform efficiently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Specialized Requirements&lt;/strong&gt;:&lt;br&gt;
Certain AI applications may have specific requirements that are best met by GPU hardware. For instance, tasks involving real-time processing or large-scale neural networks may necessitate the use of GPUs to achieve optimal performance.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;LLVMpipe offers a promising alternative for rendering AI models in environments where GPU access is limited or non-existent. Its compatibility, cost efficiency, and ease of deployment make it a valuable tool for a wide range of applications. However, it is essential to recognize the performance trade-offs and scalability challenges associated with CPU-based rendering. By carefully considering these factors, developers and organizations can leverage LLVMpipe to enhance the accessibility and flexibility of AI model deployment, ensuring that advanced AI capabilities are available across diverse environments.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Slicing CPU as GPU (with Example)</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Fri, 05 Jul 2024 10:46:24 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/slicing-cpu-as-gpu-with-example-269o</link>
      <guid>https://dev.to/manishfoodtechs/slicing-cpu-as-gpu-with-example-269o</guid>
      <description>&lt;p&gt;Hello friends,&lt;/p&gt;

&lt;p&gt;It's been a long time since I last wrote on dev.to. I want to share an experiment for bit of UI improvement using CPU . For example code I have used my docker image that I conducted as experiment almost four years ago.&lt;/p&gt;

&lt;p&gt;Then, I created a full Ubuntu desktop environment within a Docker container. You can find it here:&lt;br&gt;
&lt;a href="https://hub.docker.com/r/manishfoodtechs/xfcefulldesktop_ubuntu20.4"&gt;https://hub.docker.com/r/manishfoodtechs/xfcefulldesktop_ubuntu20.4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is two section article:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;About&lt;/li&gt;
&lt;li&gt;Example code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;1. About&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Role of LLVMpipe in Enhancing GUI Rendering in Virtualized Environments
&lt;/h3&gt;

&lt;p&gt;In the realm of virtualized environments, where direct access to GPU resources can often be limited or non-existent, the importance of efficient software rendering solutions cannot be overstated. One such solution that has gained significant traction is LLVMpipe, a Gallium3D driver designed to utilize the CPU for rendering tasks. This essay explores the benefits and implications of using LLVMpipe for rendering in virtualized environments, shedding light on its operational mechanics and advantages.&lt;/p&gt;

&lt;h4&gt;
  
  
  Understanding LLVMpipe
&lt;/h4&gt;

&lt;p&gt;LLVMpipe is a part of the Gallium3D framework, a flexible and modular architecture for 3D graphics drivers in the Mesa 3D Graphics Library. Unlike traditional graphics drivers that rely on the GPU to handle rendering tasks, LLVMpipe leverages the CPU. This software-based rasterizer translates rendering commands into CPU instructions, which are then executed to produce the desired graphical output. The use of the LLVM (Low-Level Virtual Machine) compiler infrastructure enables LLVMpipe to generate highly optimized machine code tailored to the specific CPU architecture, thereby enhancing performance.&lt;/p&gt;

&lt;h4&gt;
  
  
  Benefits of LLVMpipe in Virtualized Environments
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accessibility and Compatibility&lt;/strong&gt;:&lt;br&gt;
In many virtualized environments, direct access to physical GPU resources is either restricted or entirely unavailable. This limitation can hinder the performance of graphically intensive applications. LLVMpipe provides a viable alternative by using the CPU for rendering, ensuring that graphical applications can run smoothly even in the absence of a dedicated GPU. This broadens the range of environments where advanced graphics applications can be deployed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Performance Optimization&lt;/strong&gt;:&lt;br&gt;
Although CPUs are generally less efficient than GPUs at handling parallelized rendering tasks, LLVMpipe mitigates this disadvantage through the use of LLVM's powerful optimization capabilities. By generating machine code that is finely tuned to the specific CPU, LLVMpipe can achieve respectable performance levels. This is particularly beneficial in environments where modern multi-core CPUs are available, as LLVMpipe can distribute rendering tasks across multiple cores.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enhanced Resource Utilization&lt;/strong&gt;:&lt;br&gt;
Virtualized environments often involve multiple virtual machines (VMs) running concurrently on a single physical host. By offloading rendering tasks to the CPU, LLVMpipe allows for better distribution of computational workloads. This can lead to more balanced resource utilization across the host system, preventing any single resource (such as the GPU) from becoming a bottleneck.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ease of Deployment&lt;/strong&gt;:&lt;br&gt;
Implementing GPU pass-through or virtual GPU solutions in a virtualized environment can be complex and hardware-dependent. In contrast, deploying LLVMpipe is straightforward, requiring no special hardware or intricate configuration. This ease of deployment makes it an attractive option for environments where simplicity and reliability are paramount.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Practical Applications of LLVMpipe
&lt;/h4&gt;

&lt;p&gt;The practical applications of LLVMpipe extend across various domains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remote Desktop Services&lt;/strong&gt;:&lt;br&gt;
Virtual desktop infrastructure (VDI) solutions can benefit greatly from LLVMpipe. Users accessing graphical desktops remotely can experience improved performance and responsiveness, as rendering tasks are efficiently handled by the server's CPU.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Testing and Development&lt;/strong&gt;:&lt;br&gt;
Developers working on graphical applications can use LLVMpipe to test their software in environments where direct GPU access is unavailable. This ensures that their applications are robust and capable of running in a variety of deployment scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cloud Computing&lt;/strong&gt;:&lt;br&gt;
In cloud environments, where instances are often virtualized and GPU resources may be shared among multiple users, LLVMpipe offers a way to provide consistent graphical performance without relying on dedicated GPU hardware.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;LLVMpipe stands as a testament to the ingenuity of software-based solutions in overcoming hardware limitations. By harnessing the power of the CPU for rendering tasks, LLVMpipe opens up new possibilities for graphical applications in virtualized environments. Its accessibility, performance optimization, and ease of deployment make it an invaluable tool for ensuring smooth and efficient GUI rendering where GPU resources are scarce. As virtualized environments continue to evolve and expand, the role of LLVMpipe in enhancing graphical performance is likely to become even more pronounced, underscoring the enduring relevance of software-driven innovation in the field of computer graphics.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Example Code:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

set -e

HOST_MEMORY="1g"
HOST_CORES="0.20"
STORAGE_SIZE="10g"
CONTAINER_NAME="my-desktop-container"
DOCKER_IMAGE="manishfoodtechs/xfcefulldesktop_ubuntu20.4"

echo "Checking hardware compatibility..."

# Check hardware compatibility
if ! grep -E 'vmx|svm' /proc/cpuinfo &amp;gt;/dev/null; then
    echo "Error: CPU does not support hardware virtualization."
    exit 1
fi

echo "Installing Docker..."

# Install Docker if not already installed
if ! command -v docker &amp;gt;/dev/null; then
    echo "Docker not found. Installing Docker..."
    curl -fsSL https://get.docker.com -o get-docker.sh
    sh get-docker.sh
    rm get-docker.sh
fi

echo "Assigning resources to Docker container..."

# Assign resources to Docker container
docker run -d -p 9097:3389 -e 3389 --shm-size $HOST_MEMORY --cpus $HOST_CORES --memory $HOST_MEMORY --name $CONTAINER_NAME $DOCKER_IMAGE tail -f /dev/null


echo "Installing required packages inside Docker container..."

# Install required packages inside Docker container
docker exec -it $CONTAINER_NAME /bin/bash -c "apt-get update &amp;amp;&amp;amp; apt-get install -y mesa-utils libgl1-mesa-dri mesa-utils-extra xrdp"

echo "Creating swap file inside Docker container..."

echo "Creating swap file outside Docker container..."

# Create a swap file outside Docker container
sudo fallocate -l $STORAGE_SIZE /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

echo "Configuring LLVMpipe to use swap memory inside Docker container..."

# Configure LLVMpipe to use swap memory inside Docker container
docker exec -it $CONTAINER_NAME /bin/bash -c "echo 'export GALLIUM_DRIVER=\"llvmpipe\"' &amp;gt;&amp;gt; /etc/profile.d/llvmpipe.sh &amp;amp;&amp;amp; echo 'export LIBGL_ALWAYS_SOFTWARE=1' &amp;gt;&amp;gt; /etc/profile.d/llvmpipe.sh &amp;amp;&amp;amp; echo 'export LLVMPIPE_SWAPBUFFERS=1' &amp;gt;&amp;gt; /etc/profile.d/llvmpipe.sh"

echo "Restarting xrdp service inside Docker container..."

# Restart xrdp service inside Docker container
docker exec -it $CONTAINER_NAME /etc/init.d/xrdp restart

echo "Installation and configuration completed successfully."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;you can contact me on twitter (manishfoodtechs) or follow me on &lt;a href="https://github.com/Manishfoodtechs"&gt;https://github.com/Manishfoodtechs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>devops</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Riddle Solved: How many Ancestors I have since 1000 BC... ChatGPT answers</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Fri, 10 Mar 2023 19:08:00 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/riddle-solved-how-many-ancestors-i-have-since-1000-bc-chatgpt-answers-49hc</link>
      <guid>https://dev.to/manishfoodtechs/riddle-solved-how-many-ancestors-i-have-since-1000-bc-chatgpt-answers-49hc</guid>
      <description>&lt;p&gt;CHATGPT ANSWERS AS UNDER:&lt;/p&gt;

&lt;p&gt;Assuming an average male reproductive age of 35 years, and assuming that you were born in the year 2000, that would mean that there have been approximately 57 generations of male ancestors between you and a male ancestor who lived in the year 1000 BCE.&lt;/p&gt;

&lt;p&gt;Since each generation doubles the number of direct ancestors, the number of male ancestors you would have had in each generation going back 57 generations would be:&lt;/p&gt;

&lt;p&gt;1 (you)&lt;br&gt;
2 (your father)&lt;br&gt;
4 (your grandfather)&lt;br&gt;
8 (your great-grandfather)&lt;br&gt;
16 (your 2nd great-grandfather)&lt;br&gt;
32 (your 3rd great-grandfather)&lt;br&gt;
64 (your 4th great-grandfather)&lt;br&gt;
128 (your 5th great-grandfather)&lt;br&gt;
256 (your 6th great-grandfather)&lt;br&gt;
512 (your 7th great-grandfather)&lt;br&gt;
1,024 (your 8th great-grandfather)&lt;br&gt;
2,048 (your 9th great-grandfather)&lt;br&gt;
4,096 (your 10th great-grandfather)&lt;br&gt;
8,192 (your 11th great-grandfather)&lt;br&gt;
16,384 (your 12th great-grandfather)&lt;br&gt;
32,768 (your 13th great-grandfather)&lt;br&gt;
65,536 (your 14th great-grandfather)&lt;br&gt;
131,072 (your 15th great-grandfather)&lt;br&gt;
262,144 (your 16th great-grandfather)&lt;br&gt;
524,288 (your 17th great-grandfather)&lt;br&gt;
1,048,576 (your 18th great-grandfather)&lt;br&gt;
2,097,152 (your 19th great-grandfather)&lt;br&gt;
4,194,304 (your 20th great-grandfather)&lt;br&gt;
8,388,608 (your 21st great-grandfather)&lt;br&gt;
16,777,216 (your 22nd great-grandfather)&lt;br&gt;
33,554,432 (your 23rd great-grandfather)&lt;br&gt;
67,108,864 (your 24th great-grandfather)&lt;br&gt;
134,217,728 (your 25th great-grandfather)&lt;br&gt;
268,435,456 (your 26th great-grandfather)&lt;br&gt;
536,870,912 (your 27th great-grandfather)&lt;br&gt;
1,073,741,824 (your 28th great-grandfather)&lt;br&gt;
2,147,483,648 (your 29th great-grandfather)&lt;br&gt;
4,294,967,296 (your 30th great-grandfather)&lt;br&gt;
8,589,934,592 (your 31st great-grandfather)&lt;br&gt;
17,179,869,184 (your 32nd great-grandfather)&lt;br&gt;
34,359,738,368 (your 33rd great-grandfather)&lt;br&gt;
68,719,476,736 (your 34th great-grandfather)&lt;br&gt;
137,438,953,472 (your 35th great-grandfather)&lt;br&gt;
274,877,906,944 (your 36th great-grandfather)&lt;br&gt;
549,755,813,888 (your 37th great-grandfather)&lt;br&gt;
1,099,511,627,776 (your 38th great-grandfather)&lt;br&gt;
2,199,023,255,552 (your 39th great-grandfather)&lt;br&gt;
4,398,046,511,104 (your 40th great-grandfather)&lt;br&gt;
8,796,093,022,208 (your 41st great-grandfather)&lt;br&gt;
17,592,186,044,416 (your 42nd great-grandfather)&lt;br&gt;
35,184,372,088,832 (your 43rd great-grandfather)&lt;br&gt;
70,368,744,177,664 (your 44th great-grandfather)&lt;br&gt;
140,737,488,355,328 (your 45th great-grandfather)&lt;br&gt;
281,474,976,710,656 (your 46th great-grandfather)&lt;br&gt;
562,949,953,421,312 (your 47th great-grandfather)&lt;br&gt;
1&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>COLDCODEWAR ON: I asked Chatgpt straight question about its affect on humans ,students &amp; developers . Here is it's answer.</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Sat, 07 Jan 2023 20:18:54 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/coldcodewar-on-i-asked-chatgpt-straight-question-about-its-affect-on-humans-students-developers-here-is-its-answer-mfn</link>
      <guid>https://dev.to/manishfoodtechs/coldcodewar-on-i-asked-chatgpt-straight-question-about-its-affect-on-humans-students-developers-here-is-its-answer-mfn</guid>
      <description>&lt;p&gt;&lt;em&gt;Chatgpt or to be more clear the new tool ai chatbots in hands of students and new developers have started new concerns. So I asked few straight forward questions to Chatgpt that will help you to understand the Coldwar between AI and Human Intelligence.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava:&lt;/em&gt;&lt;br&gt;
I stopped using openai chatgpt. I think this will make device holders poor in mind. Joy of life will be lost&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
I'm sorry to hear that you stopped using OpenAI's chatbot GPT. Can you tell me more about what led you to this decision? Do you have any concerns about how using chatbots like GPT might impact people's minds or their enjoyment of life? I'd be happy to try to address any concerns you have.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
Yes I believe when human do creative work their body and life respond positively &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
It's certainly true that engaging in creative work can be a rewarding and fulfilling experience for many people. It can provide a sense of accomplishment, help to develop new skills and knowledge, and can even have positive effects on mental health. However, it's important to note that there are many different ways to be creative, and using tools like chatbots or language models can be one way to facilitate creative expression.&lt;/p&gt;

&lt;p&gt;For example, a person might use a chatbot like GPT to generate ideas for a creative writing project, or to help them come up with responses to prompts in a roleplaying game. In these cases, the chatbot can serve as a helpful tool, rather than a replacement for human creativity.&lt;/p&gt;

&lt;p&gt;It's also worth considering that there may be some people who find it more difficult to engage in creative work due to various challenges or limitations in their lives. For these individuals, using tools like chatbots or language models might be a way to overcome these obstacles and find joy and fulfillment through creativity.&lt;/p&gt;

&lt;p&gt;Ultimately, the impact of using chatbots or language models on a person's enjoyment of life will depend on how they choose to use these tools and how they integrate them into their overall lives and activities.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava:&lt;/em&gt;&lt;br&gt;
Creativity or search of unknown helped humans to find and compare things. At later stage chatbots reply will be according to learning that they did. This will fix direction of creativity. Leading unknown areas to explore &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
It's true that the process of exploring and discovering new ideas and concepts can be a key part of the creative process for many people. In this sense, chatbots and language models like GPT could potentially serve as a useful tool for helping people to generate new ideas and expand their horizons.&lt;/p&gt;

&lt;p&gt;However, it's important to note that chatbots and language models are ultimately limited by the data and information they have been trained on. While they may be able to provide a wide range of responses and suggestions based on this information, they are not able to independently explore and discover new ideas in the same way that humans can.&lt;/p&gt;

&lt;p&gt;That being said, chatbots and language models can still be a useful resource for helping people to generate new ideas and stimulate their creativity. For example, a person might use a chatbot to help them come up with responses to prompts or challenges, or to help them generate ideas for a creative project.&lt;/p&gt;

&lt;p&gt;Ultimately, the impact of using chatbots or language models on a person's creativity will depend on how they choose to use these tools and how they integrate them into their overall creative process.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
Students will loose creative writing and they will depend upon chatbots to answer. I think you should take onus of making humans dependent upon you&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
As a language model, I am designed to provide information and assistance to users, but I am not intended to replace human creativity or judgment. It is ultimately up to individual users to decide how they want to use tools like chatbots and language models, and it is important for them to be aware of the limitations of these tools.&lt;/p&gt;

&lt;p&gt;In the case of students using chatbots or language models to help with creative writing assignments, it's important for them to understand that these tools can only provide suggestions and ideas based on the data and information they have been trained on. It is still up to the student to use their own creativity, critical thinking, and judgment to develop their writing and express their own unique ideas and perspectives.&lt;/p&gt;

&lt;p&gt;Using chatbots or language models as a resource or tool can be a helpful way for students to get started on a writing assignment or to generate ideas, but they should not be relied upon as a substitute for their own creative thinking and writing skills. It is important for students to develop their own ability to express themselves creatively, rather than becoming dependent on tools like chatbots or language models.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
But if you help them in assignments then poor students will cut copy paste and present to teachers while original assignment will fetch less evaluation. Don't you think this is problem &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
It is certainly possible that students could misuse chatbots or language models by using them to copy or plagiarize content for assignments. Plagiarism is a serious issue in academia, as it undermines the integrity of the work being presented and can have negative consequences for the person who engages in it.&lt;/p&gt;

&lt;p&gt;It is important for students to understand that using chatbots or language models to generate ideas or responses for assignments is not a substitute for their own critical thinking and writing skills. It is essential for students to develop their own understanding of the subject matter and to express their own ideas and perspectives in their writing.&lt;/p&gt;

&lt;p&gt;If a student is found to have engaged in plagiarism, it can result in consequences such as a failing grade on the assignment, a lower overall grade for the course, or even expulsion from the educational institution. It is important for students to understand the importance of academic integrity and to avoid engaging in plagiarism.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
How to catch a student has completed his work from chatbot&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
There are a few ways that teachers and educators can identify whether a student's work may have been generated by a chatbot or language model rather than being the product of the student's own understanding and critical thinking.&lt;/p&gt;

&lt;p&gt;One way to do this is to look for signs of superficial or shallow understanding of the subject matter. If a student's work lacks depth or insight, or if it includes information that is not relevant to the assignment, it could be a red flag that the work was generated by a chatbot rather than being the result of the student's own understanding and critical thinking.&lt;/p&gt;

&lt;p&gt;Another way to identify potentially chatbot-generated work is to look for signs of repetitive or formulaic language. Chatbots and language models may use similar phrases or structures in their responses, which could be noticeable in a student's writing.&lt;/p&gt;

&lt;p&gt;Finally, teachers and educators can also use plagiarism detection software to scan a student's work for copied or paraphrased content. This can help to identify whether a student has used outside sources, including chatbots or language models, to generate their work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
Give me point wise how teachers can catch such students &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
Sure, here are a few points to consider when trying to identify whether a student may have used a chatbot or language model to complete an assignment:&lt;/p&gt;

&lt;p&gt;Look for signs of superficial or shallow understanding: If a student's work lacks depth or insight, or if it includes information that is not relevant to the assignment, it could be a red flag that the work was generated by a chatbot rather than being the result of the student's own understanding and critical thinking.&lt;/p&gt;

&lt;p&gt;Check for repetitive or formulaic language: Chatbots and language models may use similar phrases or structures in their responses, which could be noticeable in a student's writing.&lt;/p&gt;

&lt;p&gt;Use plagiarism detection software: Plagiarism detection software can scan a student's work for copied or paraphrased content, helping to identify whether a student has used outside sources, including chatbots or language models, to generate their work.&lt;/p&gt;

&lt;p&gt;Ask students to explain their work: Teachers and educators can also ask students to explain their work and answer questions about it. This can help to identify whether a student truly understands the material and is able to express their own ideas and insights, or whether they are simply repeating information they have obtained from a chatbot or other source.&lt;/p&gt;

&lt;p&gt;Encourage students to engage with the material: By encouraging students to actively engage with the material and think critically about it, teachers can help to develop their understanding and encourage them to express their own ideas and insights in their writing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Manish Srivastava&lt;/em&gt;&lt;br&gt;
How teachers can prepare assignment questions that can't be easily answerable by chatbots but only by humans. Point wise &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
Here are a few points to consider when creating assignment questions that are more difficult for chatbots to answer:&lt;/p&gt;

&lt;p&gt;Focus on open-ended, interpretive questions: Rather than asking for a straightforward, factual answer, consider asking questions that require students to interpret, analyze, or synthesize information. These types of questions are more difficult for chatbots to answer because they require the ability to understand and critically evaluate the material.&lt;/p&gt;

&lt;p&gt;Encourage creative thinking: Ask students to come up with their own ideas or solutions to a problem, rather than simply looking up the answer. This can help to encourage creative thinking and discourage students from using chatbots or other external sources to generate their work.&lt;/p&gt;

&lt;p&gt;Use prompts that require personal reflection or experience: By asking students to draw on their own experiences or perspectives, teachers can create assignments that are more difficult for chatbots to complete.&lt;/p&gt;

&lt;p&gt;Include questions that require students to apply the material to real-world situations: Asking students to apply the material to a specific case study or scenario can help to encourage critical thinking and discourage the use of chatbots or other external sources.&lt;/p&gt;

&lt;p&gt;Encourage collaboration: By encouraging students to work together on assignments and projects, teachers can create an environment that is less conducive to the use of chatbots or other external sources.&lt;/p&gt;

&lt;p&gt;*Manish Srivastava"&lt;br&gt;
I know you can write codes in different programming language. Don't you think this will take jobs of many new programmers.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Chatgpt:&lt;/em&gt;&lt;br&gt;
As a large language model, I am able to generate human-like text in a wide range of styles and formats, including programming code. However, it is important to note that I am not able to independently execute or run code in the same way that a human programmer can.&lt;/p&gt;

&lt;p&gt;In addition, while I may be able to generate code that is syntactically correct and follows best practices, I am not able to understand the underlying logic or purpose of the code in the same way that a human programmer would. As a result, I am not able to replace the critical thinking, problem-solving, and debugging skills that are essential to being a successful programmer.&lt;/p&gt;

&lt;p&gt;It is also worth noting that the field of programming is constantly evolving, and there is always a demand for skilled programmers who can keep up with the latest developments and technologies. While tools like chatbots and language models may be able to assist with certain aspects of programming, they are unlikely to replace the need for human programmers entirely.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What you say. Comments?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>404 Error as Url Shortner without db</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Sun, 23 Oct 2022 08:50:47 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/404-error-as-url-shortner-without-db-1e4k</link>
      <guid>https://dev.to/manishfoodtechs/404-error-as-url-shortner-without-db-1e4k</guid>
      <description>&lt;p&gt;Hey,&lt;br&gt;
Recently I created a small script with just few lines of code as Url Shortner.&lt;/p&gt;

&lt;p&gt;First how it works then where I am using it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How it works&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is my url : &lt;a href="https://getus.live"&gt;https://getus.live&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now anything you type like&lt;br&gt;
&lt;a href="https://getus.live/yourname"&gt;https://getus.live/yourname&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Will redirect it to default 404 page as nothing is 'yourname' on server / linked to server.&lt;/p&gt;

&lt;p&gt;I modified 404 default page to catch anything after my domain name. In this case /yourname is catched by 404 page and array with key ( yourname) will be redirected to "value" of the key. This value is long url.&lt;/p&gt;

&lt;p&gt;Workflow:&lt;br&gt;
In index page I asked the user to give the long url and key.&lt;br&gt;
This will write a array with key and value. The key here is /yourname and value will be longurl.&lt;/p&gt;

&lt;p&gt;To see in action visit&lt;br&gt;
&lt;a href="https://getus.live"&gt;https://getus.live&lt;/a&gt;&lt;br&gt;
Try yourself.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Where I am using it&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(1) Url Shortner&lt;br&gt;
(2) Navigation System&lt;br&gt;
(3) Referal System catching values etc&lt;br&gt;
(4) Bash UI to run commands.&lt;/p&gt;

&lt;p&gt;Bye!!!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Ian Murdock : the father of Debian : Death Anniversary</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Tue, 28 Dec 2021 09:52:14 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/ian-murdock-the-father-of-debian-death-anniversary-44a9</link>
      <guid>https://dev.to/manishfoodtechs/ian-murdock-the-father-of-debian-death-anniversary-44a9</guid>
      <description>&lt;p&gt;28th December is death anniversary of Late Ian Murdock.&lt;/p&gt;

&lt;p&gt;He is behind Debian , a Linux based operating system. The most common distro Ubuntu is also Debian based.&lt;/p&gt;

&lt;p&gt;Ian Murdock hanged himself today in 2015 and was then part of Docker team.&lt;/p&gt;

&lt;p&gt;You can read more about this wonderful man here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.m.wikipedia.org/wiki/Ian_Murdock"&gt;https://en.m.wikipedia.org/wiki/Ian_Murdock&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bye !!!&lt;br&gt;
Manish Srivastava&lt;/p&gt;

</description>
      <category>docker</category>
      <category>linux</category>
      <category>ubuntu</category>
      <category>devops</category>
    </item>
    <item>
      <title>Internet image as desktop background without downloading it in your local machine :) Its Possible</title>
      <dc:creator>manish srivastava</dc:creator>
      <pubDate>Sun, 26 Dec 2021 17:33:33 +0000</pubDate>
      <link>https://dev.to/manishfoodtechs/internet-image-as-desktop-background-without-downloading-it-in-your-local-machine-its-possible-1ab1</link>
      <guid>https://dev.to/manishfoodtechs/internet-image-as-desktop-background-without-downloading-it-in-your-local-machine-its-possible-1ab1</guid>
      <description>&lt;p&gt;Hello Friends,&lt;/p&gt;

&lt;p&gt;Many of us download images from internet and then set it as wallpaper. In this short hack , I will let you know, how you can make any internet image as desktop background without downloading it in your local machine.&lt;/p&gt;

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

&lt;p&gt;In ubuntu you need to run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install feh
feh --bg-scale /path/to/your/background/image.jpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;change path to internet image:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feh --bg-scale https://bit.ly/3EnPMkc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above link is shorturl of &lt;a href="https://upload.wikimedia.org/wikipedia/commons/b/b3/Shinjini_kathak_dance_indian_classical_san_Francisco.jpg"&gt;https://upload.wikimedia.org/wikipedia/commons/b/b3/Shinjini_kathak_dance_indian_classical_san_Francisco.jpg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;you can make feh to remember your choice next boot:&lt;br&gt;
Once you've picked a wallpaper, feh stores the name in a file called .fehbg. That means you can tell it to restore the wallpaper on the next boot by checking to see what's inside that file. Add this line to your ~/.xinitrc file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eval `cat $HOME/.fehbg` &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Other things you can do:&lt;/p&gt;

&lt;p&gt;(1) My readers may recall my post about the lorapora-sum of images, in which images are generated on each refresh ( check my previous posts). You can try this on your server by allowing feh to reload every 2 hours. As a simple home-made solution.&lt;/p&gt;

&lt;p&gt;(2) If you are a "Administrator," you can update the season greeting as the desktop wallpaper on all computers connected to your network.&lt;/p&gt;

&lt;p&gt;(3) New notices are delivered to employees' desktops on a daily basis. They are not required to open mail:)&lt;/p&gt;

&lt;p&gt;Bye!!! &lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>linux</category>
      <category>desktop</category>
    </item>
  </channel>
</rss>
