<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Rishabh Rao</title><description>Rishabh Rao is a 23 year old fullstack software developer from India. He is currently working as the Head of Engineering at codedamn since march 2022.</description><link>https://rao.dev</link><language>en-us</language><item><title>Rdamn - Online playground IDEs</title><link>https://rao.dev/blog/rdamn</link><guid isPermaLink="true">https://rao.dev/blog/rdamn</guid><description>A fully featured online IDE service that allows anyone to quickly boot up and run Next.JS, Express or any other projects without any effort.</description><pubDate>Tue, 15 Mar 2022 00:00:00 GMT</pubDate><content:encoded>import Figure from &quot;~/components/Figure.astro&quot;;
import image1 from &quot;~/assets/blog/rdamn/image1.png&quot;;
import image2 from &quot;~/assets/blog/rdamn/image2.png&quot;;

I had always been very intrigued by
[codedamn&apos;s online playgrounds](https://codedamn.com/playgrounds) and wanted to
figure out how something like that would work. So I decided to try to build it
from scratch on my own.

It took me almost a month to build it but I had implemented almost all the
functionalities that codedamn playgrounds had at that time. I sent my project to
the founder of codedamn who was so impressed by it that he decided to hire me
full-time :)

Here are a couple of screenshots from rdamn:

&lt;Figure src={image1} alt=&quot;Landing page&quot; /&gt;
&lt;Figure src={image2} alt=&quot;Playgrounds interface&quot; /&gt;

This project was definitely the most interesting and complex one I had attempted
till date. I learnt a lot while building it. I had to:

- Implement my own DNS servers for providing nice and friendly urls for client
  connections
- Set up a custom container orchestrator system for safely booting playgrounds
  quickly on demand and shutting them down when the client disconnects
- Build an s3 synchronization service that saves the user&apos;s data to s3 and
  restores from it when a user starts their session after inactivity
- Work with monaco, xterm and other frontend libraries for a good user
  experience

...and many other things that helped me become a better programmer.

Check out rdamn&apos;s GitHub repo to know more about how it works:
[https://github.com/rishabhrao/rdamn](https://github.com/rishabhrao/rdamn)</content:encoded><category>rdamn</category><category>webdev</category><category>ide</category><category>playground</category><category>codedamn</category></item><item><title>Surveys &amp; Simulations</title><link>https://rao.dev/blog/surveys-and-simulations</link><guid isPermaLink="true">https://rao.dev/blog/surveys-and-simulations</guid><description>An easy-to-use platform to help training professionals engage with learners more effectively. It makes training more engaging for trainers.</description><pubDate>Fri, 21 Jan 2022 00:00:00 GMT</pubDate><content:encoded>import Figure from &quot;~/components/Figure.astro&quot;;
import image1 from &quot;~/assets/blog/surveys-and-simulations/image1.png&quot;;
import image2 from &quot;~/assets/blog/surveys-and-simulations/image2.png&quot;;
import image3 from &quot;~/assets/blog/surveys-and-simulations/image3.png&quot;;
import image4 from &quot;~/assets/blog/surveys-and-simulations/image4.png&quot;;

Surveys &amp; Simulations is an online training tool with which trainers can conduct
simulations having a series of quizzes with hundreds of users and then assess
their performance and publish the learnings. It also lets the trainers collect
data from the users with pre and post simulation surveys. This allows
participants to work together as a team and gain a better understanding of
theoretical business concepts. It boosts participant involvement and enjoyment.
Simulation has been shown in studies to improve participant knowledge retention,
decision-making, and teamwork skills.

Here are a few screenshots from Surveys &amp; Simulations:

&lt;Figure src={image1} alt=&quot;Landing page&quot; /&gt;
&lt;Figure src={image2} alt=&quot;Registration page&quot; /&gt;
&lt;Figure src={image3} alt=&quot;Trainer dashboard&quot; /&gt;
&lt;Figure src={image4} alt=&quot;Post-workshop summary for user&quot; /&gt;

I built this project when I was working with
[Bigtime Consulting Private Limited](https://www.linkedin.com/company/bigtimeconsulting/)
on a contract to build a few educational websites.</content:encoded><category>surveys-and-simulations</category><category>webdev</category><category>surveys</category><category>simulations</category><category>training</category></item><item><title>R Visual</title><link>https://rao.dev/blog/rvisual</link><guid isPermaLink="true">https://rao.dev/blog/rvisual</guid><description>A pathfinding algorithm visualizer that animates BFS, DFS, Dijkstra&apos;s and A* search across a 2D grid so you can watch each algorithm work.</description><pubDate>Sat, 02 Jan 2021 00:00:00 GMT</pubDate><content:encoded>import Figure from &quot;~/components/Figure.astro&quot;;
import image1 from &quot;~/assets/blog/rvisual/image1.png&quot;;
import image2 from &quot;~/assets/blog/rvisual/image2.png&quot;;
import image3 from &quot;~/assets/blog/rvisual/image3.png&quot;;

A pathfinding algorithm seeks to find the shortest path between two points. This
application visualizes various pathfinding algorithms in action, and more...

R Visual supports 4 algorithms: Breadth first search (BFS), Depth first search
(DFS), Dijkstra&apos;s and A\* search algorithm. It lets the user choose a start
point and end point in a 2D grid array and also lets the user add multiple
obstacles in the path. It uses the selected algorithm to find a path from the
start point to the end point. The user can trace the path that the algorithm is
following to learn more about how the algorithm works.

Here are a few screenshots from R Visual:

&lt;Figure src={image1} alt=&quot;Welcome tutorial&quot; /&gt;
&lt;Figure src={image2} alt=&quot;Main grid interface&quot; /&gt;
&lt;Figure
	src={image3}
	alt=&quot;Solution showing the shortest path when obstacles are preset&quot;
/&gt;

I built this project when I was learning DSA (Data Structures &amp; Algorithms) and
exploring some real life uses of these algorithms.</content:encoded><category>rvisual</category><category>dsa</category><category>algorithms</category><category>path-finding</category><category>dijkstra</category><category>astar</category><category>bfs</category><category>breadth-first-search</category><category>dfs</category><category>depth-first-search</category></item></channel></rss>