<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Akanksha's Blog]]></title><description><![CDATA[Akanksha's Blog]]></description><link>https://akanksha24.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 13:23:46 GMT</lastBuildDate><atom:link href="https://akanksha24.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[🚦 Ever Been Stuck in a Traffic Jam? That’s Deadlock in Action! 🚗💻]]></title><description><![CDATA[Have you ever found yourself trapped in an endless traffic jam, where no car can move forward because everyone is waiting for the other to budge? Frustrating, right? Well, this real-world scenario is a perfect analogy for deadlock in Operating System...]]></description><link>https://akanksha24.hashnode.dev/ever-been-stuck-in-a-traffic-jam-thats-deadlock-in-action</link><guid isPermaLink="true">https://akanksha24.hashnode.dev/ever-been-stuck-in-a-traffic-jam-thats-deadlock-in-action</guid><category><![CDATA[#OperatingSystems #Deadlock #Concurrency #ProcessManagement #OSConcepts #ComputerScience #Multithreading #SystemDesign]]></category><dc:creator><![CDATA[Akanksha Priyadarshinee Rath]]></dc:creator><pubDate>Fri, 04 Apr 2025 14:39:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1743777412434/676096cc-cbf4-44d2-9549-c1047d34ed87.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever found yourself trapped in an endless traffic jam, where no car can move forward because everyone is waiting for the other to budge? Frustrating, right? Well, this real-world scenario is a perfect analogy for <strong>deadlock</strong> in <strong>Operating Systems (OS)</strong>.</p>
<p>When an operating system experiences a deadlock, multiple processes are stuck, unable to proceed because they are waiting for resources held by others—just like cars on a blocked road. Let's explore this in detail.</p>
<hr />
<h2 id="heading-understanding-deadlock-through-a-traffic-jam">Understanding Deadlock Through a Traffic Jam</h2>
<h3 id="heading-mapping-traffic-jams-to-os-deadlocks">Mapping Traffic Jams to OS Deadlocks:</h3>
<ul>
<li><p>🚗 <strong>Cars</strong> = Processes</p>
</li>
<li><p>🛣 <strong>Roads</strong> = System Resources (CPU, memory, I/O devices)</p>
</li>
<li><p>⏳ <strong>Waiting Cars</strong> = Processes waiting for resources</p>
</li>
<li><p>⛔ <strong>No Movement</strong> = Deadlock condition (Nothing progresses!)</p>
</li>
</ul>
<h3 id="heading-how-does-deadlock-occur">How Does Deadlock Occur?</h3>
<p>Imagine a narrow, one-lane bridge with cars coming from both sides. If each car moves halfway and then stops, waiting for the other to reverse, <strong>nobody moves</strong>—this is a deadlock. Similarly, in an operating system, deadlocks happen when processes hold some resources while waiting for additional ones that are occupied by other processes.</p>
<hr />
<h2 id="heading-why-does-deadlock-happen-the-4-necessary-conditions">Why Does Deadlock Happen? (The 4 Necessary Conditions)</h2>
<p>For a deadlock to occur, four conditions must hold simultaneously. If any one of these conditions is broken, deadlock can be prevented.</p>
<h3 id="heading-mutual-exclusion">🔴 Mutual Exclusion</h3>
<p>Only one car can occupy a segment of the road at a time, just as some resources (like a printer or a database lock) can only be used by one process at a time. This exclusivity can cause deadlock when multiple processes require the same resource.</p>
<h3 id="heading-hold-and-wait">🟡 Hold and Wait</h3>
<p>Each car holds its position while waiting for the other to move. Similarly, in an OS, processes hold some resources while waiting for additional ones. If processes are allowed to request resources incrementally while holding others, the system is at risk of deadlock.</p>
<h3 id="heading-no-preemption">🟢 No Preemption</h3>
<p>Cars can’t forcefully push others away. Similarly, an OS cannot forcibly take resources from a process—it must voluntarily release them. This means a process can hold onto resources indefinitely, increasing the chance of a deadlock.</p>
<h3 id="heading-circular-wait">🔄 Circular Wait</h3>
<p>A loop forms where each car waits for another ahead of it. In OS terms, processes create a cycle where each one holds a resource that the next process in line needs, leading to a <strong>circular dependency</strong> that results in deadlock.</p>
<hr />
<h2 id="heading-how-do-we-solve-deadlocks">How Do We Solve Deadlocks?</h2>
<p>Just as traffic management prevents and resolves jams, operating systems use several strategies to handle deadlocks:</p>
<h3 id="heading-traffic-controller-os-deadlock-recovery">💡 Traffic Controller (OS Deadlock Recovery)</h3>
<p>An external force (like a traffic officer) intervenes to break the cycle, just as the OS might forcibly terminate a process or restart the system to resolve a deadlock.</p>
<h3 id="heading-reversing-cars-releasing-resources">🔄 Reversing Cars (Releasing Resources)</h3>
<p>Some cars may need to back up to create space. Similarly, the OS may <strong>roll back certain processes</strong>, request them to <strong>release resources</strong>, or restart certain operations to allow progress.</p>
<h3 id="heading-traffic-signals-deadlock-prevention">🚦 Traffic Signals (Deadlock Prevention)</h3>
<p>Smart traffic management prevents jams in the first place. Likewise, OS scheduling strategies can prevent deadlocks before they happen by:</p>
<ul>
<li><p><strong>Ensuring processes acquire all required resources before execution</strong> (to avoid hold-and-wait conditions).</p>
</li>
<li><p><strong>Setting a timeout for resource requests</strong> (forcing processes to release resources if they wait too long).</p>
</li>
<li><p><strong>Allowing preemption of resources</strong> (reallocating resources dynamically to prevent circular waits).</p>
</li>
</ul>
<hr />
<h2 id="heading-real-world-examples-of-deadlocks">Real-World Examples of Deadlocks</h2>
<p>Deadlocks are not just theoretical; they happen in real-world computing scenarios, such as:</p>
<ul>
<li><p><strong>Database Transactions:</strong> If two database queries lock different rows and wait for each other to release their locks, the entire database may freeze.</p>
</li>
<li><p><strong>Multithreading in Software Development:</strong> If two threads each lock a different resource and wait for the other to release its lock, the software may crash.</p>
</li>
<li><p><strong>Banking Systems:</strong> If a bank system holds funds in a transaction while waiting for another process to verify it, operations can come to a halt.</p>
</li>
</ul>
<hr />
<h2 id="heading-why-should-you-care">Why Should You Care?</h2>
<p>Just like traffic jams cause frustration and delays, deadlocks in an operating system can lead to <strong>performance bottlenecks, frozen applications, and even system crashes</strong>. Understanding deadlocks helps software engineers and system administrators design more efficient and reliable systems.</p>
<p>Next time your screen freezes indefinitely, remember—it’s just a digital traffic jam! 😅</p>
]]></content:encoded></item><item><title><![CDATA[Creating Products That Users Love: Usable, Equitable, Enjoyable, and Useful]]></title><description><![CDATA[When designing products, user experience (UX) plays a crucial role in determining whether users find the product satisfying and valuable. For a product to provide a great experience, it must be usable, equitable, enjoyable, and useful. Let’s dive int...]]></description><link>https://akanksha24.hashnode.dev/creating-products-that-users-love-usable-equitable-enjoyable-and-useful</link><guid isPermaLink="true">https://akanksha24.hashnode.dev/creating-products-that-users-love-usable-equitable-enjoyable-and-useful</guid><dc:creator><![CDATA[Akanksha Priyadarshinee Rath]]></dc:creator><pubDate>Thu, 02 Jan 2025 09:26:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ZSPBhokqDMc/upload/f61a76af2185ed4c85384d3f2ca93ca0.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When designing products, user experience (UX) plays a crucial role in determining whether users find the product satisfying and valuable. For a product to provide a great experience, it must be <strong>usable</strong>, <strong>equitable</strong>, <strong>enjoyable</strong>, and <strong>useful</strong>. Let’s dive into these principles and explore how they shape successful design.</p>
<h4 id="heading-1-usable-making-products-easy-to-use">1. Usable: Making Products Easy to Use</h4>
<p>A usable product is one that is intuitive and straightforward. It minimizes effort for the user, ensuring that they can achieve their goals without frustration. Consider the example of ketchup bottles:</p>
<p>Previously, ketchup bottles were made of glass, requiring users to shake or tap them forcefully to get the ketchup out. This often led to uneven results—either too much ketchup would come out, or not enough. To address this, manufacturers introduced squeezable bottles. These bottles allow users to control the amount of ketchup with a simple squeeze, making the process easier and more efficient.</p>
<p>This shift illustrates how thoughtful design ensures that products are clear and accessible to everyone. UX designers must prioritize usability to make their products welcoming and easy to navigate.</p>
<h4 id="heading-2-equitable-inclusive-design-for-all">2. Equitable: Inclusive Design for All</h4>
<p>Equity in design means creating products that work for a diverse range of users, including those with disabilities. For instance, while text-based interfaces may be useful to many, users with visual impairments might rely on auditory feedback or screen readers.</p>
<p>Equitable design ensures that everyone can benefit from the product. It requires designers to think beyond the average user and consider accessibility features, such as:</p>
<ul>
<li><p>Adding alt text to images for screen readers.</p>
</li>
<li><p>Providing subtitles for videos.</p>
</li>
<li><p>Offering voice commands or haptic feedback for users with physical impairments.</p>
</li>
</ul>
<p>By focusing on inclusivity, UX designers create products that are truly useful to all.</p>
<hr />
<h4 id="heading-3-enjoyable-building-positive-connections">3. Enjoyable: Building Positive Connections</h4>
<p>Enjoyable designs create a sense of delight and foster a positive bond between the user and the product. When users have fun interacting with a product, they are more likely to return to it.</p>
<p>Take food delivery apps like Zomato and Swiggy as examples. These platforms enhance the experience by showcasing enticing pictures of dishes. The visuals make browsing menus enjoyable and can even influence decisions, adding an element of excitement to the process.</p>
<p>Designing for enjoyment isn’t just about aesthetics—it’s about crafting moments that resonate emotionally with users.</p>
<hr />
<h4 id="heading-4-useful-solving-real-problems">4. Useful: Solving Real Problems</h4>
<p>A product is useful if it effectively solves a problem or fulfills a need. Designers can determine a product’s usefulness through research and user feedback.</p>
<p>For example, consider Google Maps. When it helps you navigate back home after getting lost, it’s incredibly useful. However, if the app fails to fetch your current location, it becomes frustrating and loses its value.</p>
<p>Understanding users’ pain points and addressing them directly is the key to designing products that genuinely matter.</p>
<hr />
<h3 id="heading-conclusion">Conclusion</h3>
<p>Creating exceptional products requires a balance of usability, equity, enjoyment, and utility. By focusing on these principles, UX designers can craft experiences that not only meet users’ needs but also delight and empower them. When products are easy to use, accessible to all, fun to interact with, and solve real problems, they naturally become indispensable to users.</p>
]]></content:encoded></item><item><title><![CDATA[Unlocking the Door to Digital Delight: Explore Thrilling Career Paths in UX Design]]></title><description><![CDATA[What is UX Design?
Lets understand a bit about it- UX design revolves around comprehending users' motivations, goals, and frustrations in interacting with a product or service. It involves conducting research, creating prototypes, testing designs, an...]]></description><link>https://akanksha24.hashnode.dev/unlocking-the-door-to-digital-delight-explore-thrilling-career-paths-in-ux-design</link><guid isPermaLink="true">https://akanksha24.hashnode.dev/unlocking-the-door-to-digital-delight-explore-thrilling-career-paths-in-ux-design</guid><category><![CDATA[UX]]></category><category><![CDATA[ux design]]></category><category><![CDATA[#Ux research]]></category><category><![CDATA[blog]]></category><dc:creator><![CDATA[Akanksha Priyadarshinee Rath]]></dc:creator><pubDate>Fri, 29 Mar 2024 11:52:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/zvmZiw3vdsQ/upload/69d41db3b469e9a0349748426ef7c379.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>What is UX Design?</strong></p>
<p>Lets understand a bit about it- UX design revolves around comprehending users' motivations, goals, and frustrations in interacting with a product or service. It involves conducting research, creating prototypes, testing designs, and iterating based on user feedback to optimize usability and satisfaction. Essentially, UX design is about empathizing with users and tailoring designs to meet their needs effectively.</p>
<p>Now, let's explore some of the exciting career opportunities within UX design:</p>
<p><strong>1. UX Researcher:</strong> UX researchers play a crucial role in understanding user behaviors, preferences, and pain points. Through interviews, surveys, and usability testing, they gather valuable insights to inform design decisions and improve the overall user experience.</p>
<p><strong>2. UX Writer:</strong> UX writers focus on crafting clear, concise, and engaging language within products to guide users seamlessly through their journey. They define the tone and personality of a brand and ensure that every word enhances the user experience.</p>
<p><strong>3. UX Program Manager:</strong> UX program managers oversee the entire UX design process, ensuring efficient communication and collaboration among team members. They set project goals, develop timelines, and allocate resources to ensure the timely delivery of user-centered designs.</p>
<p><strong>4. UX Engineer:</strong> UX engineers bridge the gap between design and development, translating design concepts into functional experiences. They ensure that designs are both visually appealing and technically feasible, enhancing usability and accessibility.</p>
<p><strong>5. Interaction Designer:</strong> Interaction designers focus on designing intuitive and efficient user interfaces, mapping out user flows and interactions to streamline the user experience. They prioritize functionality and usability, making it easy for users to navigate through digital platforms.</p>
<p><strong>6. Visual Designer:</strong> Visual designers are responsible for creating visually stunning interfaces that align with a brand's identity and aesthetics. They design logos, icons, and layouts, ensuring that every visual element contributes to a cohesive and engaging user experience.</p>
<p><strong>7. Motion Designer:</strong> Motion designers add dynamic elements to user interfaces, creating smooth transitions and engaging animations that enhance usability and delight users. They focus on bringing designs to life through motion and visual effects.</p>
<p><strong>8. VR/AR Designer:</strong> VR/AR designers specialize in creating immersive experiences that transport users to virtual or augmented worlds. They leverage 3D space and interactive elements to craft engaging user experiences that push the boundaries of reality.</p>
<p><strong>9. Conversation Designer:</strong> Conversation designers design natural and intuitive interactions between users and conversational interfaces, such as chatbots and virtual assistants. They focus on creating personas, dialogues, and flows that mimic human conversation, making interactions seamless and engaging.</p>
<p>In conclusion, the field of UX design offers a diverse range of career paths, each playing a vital role in creating exceptional user experiences. Whether you're passionate about research, design, or technology, there's a role in UX design that suits your interests and skills. By understanding and embracing the principles of UX design, you can contribute to building products and services that truly resonate with users and leave a lasting impact.</p>
]]></content:encoded></item><item><title><![CDATA["My First Website: A Beginner's Tale 
   with HTML and Vercel"]]></title><description><![CDATA[Introduction
Hey everyone! Today, I want to share my experience of creating and launching my very own website. I used VS Code to write the code, GitHub to store it, and Vercel to make it live on the internet. Let's get into it with simple steps:
Step...]]></description><link>https://akanksha24.hashnode.dev/my-first-website-a-beginners-tale-with-html-and-vercel</link><guid isPermaLink="true">https://akanksha24.hashnode.dev/my-first-website-a-beginners-tale-with-html-and-vercel</guid><category><![CDATA[General Programming]]></category><category><![CDATA[Vercel]]></category><category><![CDATA[GitHub]]></category><dc:creator><![CDATA[Akanksha Priyadarshinee Rath]]></dc:creator><pubDate>Wed, 24 Jan 2024 19:09:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/xrVDYZRGdw4/upload/ddb754233791bae32dd2bc3656b7ec97.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction"><strong>Introduction</strong></h2>
<p>Hey everyone! Today, I want to share my experience of creating and launching my very own website. I used VS Code to write the code, GitHub to store it, and Vercel to make it live on the internet. Let's get into it with simple steps:</p>
<h2 id="heading-step-1-getting-started-with-vs-code"><strong>Step 1: Getting Started with VS Code</strong></h2>
<p>I started my website journey by opening up Visual Studio Code (VS Code). It's a text editor where I could write and organize my website's code.</p>
<h2 id="heading-step-2-crafting-my-website"><strong>Step 2: Crafting My Website</strong></h2>
<p>Using HTML, I built the foundation of my website. HTML is like the language websites understand, and it's not as complicated as it might sound. It helps structure your content.</p>
<h2 id="heading-step-3-saving-my-code-on-github"><strong>Step 3: Saving My Code on GitHub</strong></h2>
<p>I wanted my code to be safe and sound, so I uploaded it to GitHub. GitHub is like a super cool cloud for your code. Just create a new repository, push your code there, and GitHub will keep it safe.</p>
<h2 id="heading-step-4-deploying-with-vercel"><strong>Step 4: Deploying with Vercel</strong></h2>
<p>Now comes the magic part – making your website live! I used Vercel for this. It's a fantastic platform that turns your code into a real website. Just connect your GitHub repository to Vercel, and it does the rest.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>And there you have it – my easy guide to creating and launching your website! With VS Code, GitHub, and Vercel, the process becomes a breeze. Happy Coding:)</p>
<hr />
]]></content:encoded></item></channel></rss>