<?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[Untitled Publication]]></title><description><![CDATA[Passionate Developer | Open-Source Enthusiast]]></description><link>https://ruchip.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 15:35:50 GMT</lastBuildDate><atom:link href="https://ruchip.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to maintain a balance between web development and DSA]]></title><description><![CDATA[Due to this pandemic, almost every sector has suffered concerning employment but fortunately, the IT sector has been growing immensely amidst the pandemic. Each company hires around  30-40 % or even more per year on-campus & off-campus there are no f...]]></description><link>https://ruchip.hashnode.dev/how-to-maintain-a-balance-between-web-development-and-dsa</link><guid isPermaLink="true">https://ruchip.hashnode.dev/how-to-maintain-a-balance-between-web-development-and-dsa</guid><category><![CDATA[Web Development]]></category><category><![CDATA[Developer]]></category><category><![CDATA[data structures]]></category><category><![CDATA[algorithms]]></category><dc:creator><![CDATA[Ruchi Pakhle]]></dc:creator><pubDate>Thu, 17 Feb 2022 06:35:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/Skf7HxARcoc/upload/v1650004506081/n8t20KmfN.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Due to this pandemic, almost every sector has suffered concerning employment but fortunately, the IT sector has been growing immensely amidst the pandemic. Each company hires around  <strong>30-40 %</strong> or even more per year on-campus &amp; off-campus there are no fewer opportunities.</p>
<p>However, the competition to get into these big tech companies have risen immensely compared to the previous 5 years, now companies don’t care about which tier college are you in or what degree you hold, <strong>education is easily available online thanks to the Internet :)
</strong>
These days degrees have become expensive &amp; education has become cheap, companies don’t care about college tier or degree until you have the right skillset. You might have heard that Google does not require any degree. Most of the learners approx 61% do not hold a four-year degree and yet google is ready to hire them. Every computer science student now aspires to get into Product based companies like Google, Amazon, Microsoft, Apple, Netflix &amp; many more... But what sets apart each candidate is how wisely they utilize their time to upskill themselves. Time management is indeed an essential factor. </p>
<p>Now the craze of IITs, NITs, or other premium colleges like BITS, IISC, etc is decreasing. But does that mean there is no difference between these premium colleges &amp; other normal colleges? Umm not, there is of course an upper edge to the students of these colleges as these big companies visit them on-campus &amp; the competition is less. However, there is much awareness now and even tier-3 students are getting into these companies. So instead of worrying about the placements focus on your skills and you will land at your dream company. </p>
<p>Many students who aspire to get into software development or any role in these FAANGM companies already know that they have to ace their data structures &amp; algorithms skills along with that they should have good projects and some open source contributions as well listed on their resume. But doing these simultaneously is not a easy job as it seems. As they say, great things take time so does the preparation. So rather than just hoping onto everything and trying to mark your presence everywhere give your 200% on whatever and wherever you are doing and make it count. </p>
<h2 id="heading-how-to-do-web-development-and-dsa-both-simultaneously">How to do web development and DSA both simultaneously?</h2>
<p>Well, many students have this issue and they are often confused which one to choose or rather how to do both things together. Web development and Data structures &amp; algorithms both are vast topics and need dedicated time to understand and implement. So there is no shortcut you have to do the hardwork and somedays you can feel totally burned out. But thats normal take a rest day and continue the grind. One thing you can do is prepare some good projects by participating in hackathons, events &amp; any program due to which you can build a project. Hackathons are generally the best way to develop projects as you dont have that time to procrastinate and you have to do it anyway. 
<strong><em>You can have three to four good projects which you can talk about during your interview and rest you can focus on your DSA skills</em></strong>. Be thorough with the basic data structures first get a hang of them by solving problems on any platform you are comfortable with and after that just solve them in an ad-hoc way.</p>
<h2 id="heading-how-to-prepare-dsa-in-an-effective-way">How to prepare DSA in an effective way?</h2>
<ul>
<li>Practice DSA everyday, this is non-negotiable</li>
<li>Give contest on leetcode if you are a beginner and nervous about the coding tests, this will help you get confident and test your skills &amp; keep a track on where you need to improve</li>
<li>Practice, Practice, Practice!</li>
</ul>
<p>There are many platforms out there to practice DSA. Here is a list of some which can help you start off with:</p>
<h2 id="heading-for-beginners">For Beginners</h2>
<ul>
<li>GeeksforGeeks</li>
<li>HackerRank</li>
<li>HackerEarth</li>
</ul>
<h2 id="heading-for-interview-preparation">For Interview Preparation</h2>
<ul>
<li>LeetCode</li>
<li>InterviewBit</li>
</ul>
<h2 id="heading-for-competitive-programming">For Competitive Programming</h2>
<ul>
<li>CodeChef</li>
<li>CodeForces</li>
</ul>
<p><em>Here is a quick gist, prepare 3-4 good projects to list them on resume, practice DSA as much as you can, if you are good at it try to start giving contests on Codechef, CodeForces and upsolve problems after the contest this will help you to learn new concepts and will get to know where you missed it. Lastly, believe in yourself, be confident! Do not underestimate yourself by comparing what others are doing, i repeat do not. Everyone has their own pace and own timeline and in the end all your efforts will definitely pay off. </em></p>
<p>Good Luck :)</p>
]]></content:encoded></item><item><title><![CDATA[How To Build Your Online Community?]]></title><description><![CDATA[Due to the Covid-19 pandemic, the work mode of all generations has been shifted to offline. Honestly, when it started, we all were being so productive and utilizing our time to learn something or the other or just find our passion. The pandemic creat...]]></description><link>https://ruchip.hashnode.dev/how-to-build-your-online-community</link><guid isPermaLink="true">https://ruchip.hashnode.dev/how-to-build-your-online-community</guid><category><![CDATA[Open Source]]></category><category><![CDATA[community]]></category><dc:creator><![CDATA[Ruchi Pakhle]]></dc:creator><pubDate>Wed, 16 Feb 2022 06:27:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/SYTO3xs06fU/upload/v1650004057319/B7htS_1CL.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Due to the Covid-19 pandemic, the work mode of all generations has been shifted to offline. Honestly, when it started, we all were being so productive and utilizing our time to learn something or the other or just find our passion. The pandemic created whole new havoc among the youngsters to follow their passion and get recognized. But one completely new thing, which we haven’t paid attention to before was building our online community. Considering the current scenario, it has become a really important thing. Through our online community presence, we can get a chance to land in our dream company. Now you must have a question popping up in your mind that <strong>where &amp; how to build my online community?</strong> </p>
<p>There are platforms like <strong>LinkedIn</strong> and <strong>Twitter</strong> where recruiters and employees are mostly there. For people like me who are in their undergraduate years, building a strong profile on LinkedIn can fetch us opportunities to land in our dream company, having so much time on our hands we can build the required skillset and become potential candidates for recruiters. <strong>LinkedIn has the power to connect us directly with the recruiter</strong>s and employees of the company and we can ask their doubts directly to them. We need to be aware of the opportunities and keep an eye on them because most people miss out on opportunities just because being unaware of them. During this pandemic like many people, I wasn’t aware of the special opportunities provided by the tech giants for women in the tech industry. Tech giants have introduced diversity programs, mentorship activities, coding programs, and hackathons to increase the ratio of women. Hence I created a list of all these opportunities and then look up to them frequently. You can also remain updated about these opportunities on LinkedIn as many of the employees or recruiters post often about such programs when the applications have rolled out. Also, LinkedIn features like you must turn on the <strong>visibility of your profile</strong> to get noticed by the recruiters, and having <strong>keywords in your profile</strong> can make you stand out from other candidates as these are the things people generally ignore or aren’t aware of beforehand. You can pay attention to these things and can increase your chances to get noticed by the recruiters.</p>
<h2 id="heading-are-there-any-positive-aspects-of-the-online-community">Are there any positive aspects of the online community?</h2>
<p>Well, there are many positive aspects to building an online community. It can benefit in ways that we could not even think of. Firstly, we get to <strong>collaborate socially</strong> with like-minded people &amp; developers which can help us grow exponentially. Having a peer group to discuss our doubts can make our minds think in the right direction, it helps individuals to go beyond their comfort zone as it generates healthy competition within us which helps to push our limits and hustle harder. Second, being a part of the online community can <strong>keep our reputation &amp; retention</strong> and give us access to many opportunities we couldn’t think of. One important factor that has a huge part in the community’s success is <strong>transparency and a positive attitude</strong> to help each other solve doubts &amp; uplift ourselves and the people in our community. Lastly, when we join relevant communities and actively participate in them, unknowingly <strong>help to build our brand</strong> across the globe.</p>
<p>Now, you must have thought that <strong>How do I find my community?</strong></p>
<p>The answer is simple, you don’t have to spend time in searching communities, you just need to discover your passion and find ways to make it follow you and the rest will automatically happen in its place. Let me explain to you this when we are passionate about anything we anyhow find time to work harder for it and search for opportunities to enhance them so while searching you will find relevant people who can guide you in the right direction which can help you find your community and follow your passion.</p>
<p>This pandemic is a great learning curve for us, you can develop your hobbies and recognize your passion. This is a great chance to explore different things and see if you develop any interest in them. Because as you follow your passion and instincts, you will build a great community and help other peers learn and upskill themselves. But before building or being a part of that community, make sure that you will be able to contribute actively because there is absolutely no point in building a passive community. It cannot benefit you in any way.</p>
<p>Apart from LinkedIn, you can create your community online by being a part of the student programs that are mainly focused on building online communities in India and around the globe. I have mentioned below some of these programs which focus on building online communities:</p>
<p>1] <strong>Duolingo community</strong> – Duolingo provides an online language-learning tool for making a team of less than 40 and focuses on the exponential growth of the team. The team gets volunteers who spread the word about their language courses.</p>
<p>2] <strong>Facebook Developer Circle</strong> – Developer Circles is a community-driven program that’s free to join and open to any developer. Each Developer Circle is led by members of the local community who act as leads for the circle, this includes working with Facebook to establish your Developer Circle, growing an active, engaged Facebook community, and hosting regular meetups. You can apply <a target="_blank" href="https://developers.facebook.com/developercircles/">here.</a></p>
<p>3] <strong>Microsoft Learn Student Ambassador</strong> – Focuses on building community to amplify impact and bring together peers to learn new skills and solve real-world problems worldwide. You can apply <a target="_blank" href="https://studentambassadors.microsoft.com/en-US/">here</a></p>
<p>4] <strong>Deep Learning AI Ambassador</strong> – Helps bring together the global AI community by representing your city’s deep learners. Being an AI ambassador, you will need to find different AI hubs in your city and inspire your local community to break into AI. You can apply <a target="_blank" href="https://docs.google.com/forms/d/e/1FAIpQLSdyztghL5bLnktJLP6YG2GU65E8IEpGR_o937CxEwxdemNcHA/viewform">here</a> </p>
<p>5] <strong>HackerEarth Campus Evangelist</strong> – Being Campus Ambassador at HackerEarth, you have to spread the word in your College by arranging coding hackathons. You can apply <a target="_blank" href="https://docs.google.com/forms/d/e/1FAIpQLSdt26yVgUuRTo_U43OFCT1Sx1-TvkW_GOlauH-FTKldnVQ5tg/viewform">here</a></p>
<p>Discussing all the relevant points related to building an online community, hope all things are clear to you and apply to the student community programs that can benefit you in large ways.</p>
]]></content:encoded></item><item><title><![CDATA[Process Scheduling in Operating System]]></title><description><![CDATA[Let's assume you're writing a document while listening to music and downloading a file into your browser, so we feel like we're doing these three things at the same time, but what's happening is that we think these three things are occurring at the s...]]></description><link>https://ruchip.hashnode.dev/process-scheduling-in-operating-system</link><guid isPermaLink="true">https://ruchip.hashnode.dev/process-scheduling-in-operating-system</guid><category><![CDATA[operating system]]></category><category><![CDATA[Computer Science]]></category><dc:creator><![CDATA[Ruchi Pakhle]]></dc:creator><pubDate>Sat, 01 Jan 2022 06:15:07 GMT</pubDate><content:encoded><![CDATA[<p>Let's assume you're writing a document while listening to music and downloading a file into your browser, so we feel like we're doing these three things at the same time, but what's happening is that we think these three things are occurring at the same time, but they aren't. However, the CPU among these processes is swapped so frequently and swiftly that we are unaware of it. As a result, we may interact with each of these processes while they are executing.</p>
<p>So, we can relate this example with the operating system as,</p>
<p><strong>Process Scheduling is the act of determining which processes are ready to be shifted to the running state.</strong></p>
<p>The process scheduling system's primary purpose is to keep the CPU active at all times while delivering the quickest feasible response time for all processes. There are two types of schedules to attain this goal: pre-emptive scheduling and non-preemptive scheduling.</p>
<p>-<strong> Pre-emptive Scheduling</strong> - Pre-emptive scheduling is the act of determining which process runs at a given moment in time when there are several processes lined up in the ready queue, and if the CPU pauses a current process, moves it back to the queue, and begins a new process.</p>
<ul>
<li><strong>Non-preemptive Scheduling </strong>- CPU cannot be assigned to another process under non-preemptive scheduling until the current process completes its execution. Process switching occurs only when the current process completes and moves to a waiting state.</li>
</ul>
<h2 id="heading-scheduling-queues">Scheduling Queues</h2>
<p>There are multiple states a process has got to undergo during execution. The operating system keeps a distinct queue for each state, as well as the process control blocks of all processes. When a process's status changes, the process control block is unlinked from its current queue and moved to a new state queue.
The process scheduling queues are:</p>
<ul>
<li><strong>Job Queue</strong> -  As processes enter the system, they are placed in a job queue that includes all processes in the system.</li>
<li><strong>Ready Queue</strong> - The processes that are in main memory and ready to execute are maintained on a list known as the ready queue.</li>
<li><strong>Device Queue</strong> - This queue consists of the processes blocked mainly due to the unavailability of an I/O device.</li>
</ul>
<p><em>As a result, we may compare this to the train ticketing system. The CPU during this case would be the ticket counter, and therefore the people within the wait queue would be processed. So, until the primary person within the standing wait queue doesn’t receive his ticket, the remaining people within the queue also will not receive the ticket. Therefore the people in line represent our task queue, and therefore the person receiving the ticket is within the ready queue</em>.</p>
<h2 id="heading-process-states">Process States</h2>
<p>There are various states a process goes through:</p>
<ul>
<li><p><strong>New State</strong> - When a program stored in secondary memory is launched for execution, a process is said to be in a new state.</p>
</li>
<li><p><strong>Ready State</strong> -  A process moves from a new state to a ready state after it’s loaded into the main memory &amp; is prepared for execution.</p>
<ul>
<li>The process is in the ready state, waiting for the processor to execute it.</li>
<li>Many processes may be present in a ready state in a multiprogramming 
environment.</li>
</ul>
</li>
<li><p><strong>Run State</strong> - When a process is allocated to the CPU for execution, it passes from the ready state to the run state.</p>
</li>
<li><p><strong>Terminate State </strong>- When a process's execution is finished, it moves from the run state to the terminate state. The operating system deletes the process control block once it enters the terminate state.</p>
</li>
<li><p><strong>Wait or Block State</strong> - If a process requires an I/O operation or a blocked resource during its execution, it changes from the run state to the block state or waits for the state.</p>
<ul>
<li>The process enters the ready state after the I/O operation is done or the resource 
 becomes accessible.</li>
</ul>
</li>
<li><p><strong>Suspend Ready State</strong> - If a process with a greater priority has to be performed but the main memory is full, the process goes from the ready state to the suspend ready state.</p>
<ul>
<li>Moving a lower priority process from the ready state to the suspend state frees up 
 space in the ready state for a higher priority process.</li>
<li>The process stays in the suspend ready state until the main memory becomes 
 accessible, at which point it is returned to the ready state.</li>
</ul>
</li>
<li><p><strong>Suspend Wait State</strong> - If a process with a higher priority has to be performed but the main memory is full, the process goes from the wait state to the suspend wait state.</p>
<ul>
<li>Moving a lower priority process from the wait state to the suspend wait state frees 
up space in the ready state for a higher priority process.</li>
<li>When a resource becomes available, the process enters the suspend-ready state.</li>
</ul>
</li>
</ul>
<h2 id="heading-types-of-schedulers">Types of Schedulers</h2>
<p>There are different types of schedulers through which scheduling in the process takes place.</p>
<p><strong>Long Term Scheduler</strong></p>
<ol>
<li>It is also known as Job Scheduler.</li>
<li>This Scheduler controls the program and selects processes from the queue to load into memory for execution.</li>
<li>It also regulates the degree of multi-programming.</li>
<li>However, the major purpose of this form of the scheduler is to provide a balanced mix of activities, such as processor and I/O operations, that allow for multi-programming management.</li>
<li>The degree of multi-programming denotes the greatest number of processes that a single processor system can efficiently handle.</li>
</ol>
<p><strong>Short Term Scheduler</strong></p>
<ol>
<li>CPU Scheduler/dispatching is another name for short-term scheduling.</li>
<li>This scheduler's primary purpose is to improve system performance based on predefined criteria.</li>
<li>This allows you to choose from a list of ready-to-run programs and assign a CPU to one of them.</li>
<li>The dispatcher assigns CPU control to the process chosen by the short-term scheduler.</li>
</ol>
<p><strong>Medium Term Scheduler</strong></p>
<ol>
<li>Scheduling for the medium term is a crucial aspect of swapping.</li>
<li>It allows you to manage swapped-out processes.</li>
<li>In this scheduler, a running process that makes an I/O request can be halted.</li>
<li>If a running process makes an I/O request, it may be halted. A procedure that is paused cannot make any progress toward completion. The suspended process should be transferred to secondary storage in order to remove it from memory and make room for other processes.</li>
</ol>
<h2 id="heading-objectives-of-process-scheduling">Objectives of Process Scheduling</h2>
<p>The main objective of process scheduling is that it makes sure that there is minimum starvation of a process and executes it as per its priority and requirement.
It helps in achieving a balance between response and utilization.</p>
<p>So, we learned what is process scheduling and how it takes place in different types of schedulers in the operating system.</p>
]]></content:encoded></item></channel></rss>