DEV Community

Meet Gandhi
Meet Gandhi

Posted on

The Heartbeat Frame

Long time no seeโ€ฆ Again! I just survived my exams a day ago and I could not help but jump straight to writing this blog! Since this blog does not have something I have done already, this is a Heartbeat frame similar to a WebSocket connection ๐Ÿ˜

Jerry from Tom and Jerry holding his beating heart


So I was a teaching assistant in the Object Oriented Programming course at my university this semester. And the good news is that I am going to be the teaching assistant for the Operating Systems course next semester too! And for that me and my other 2 friends (who are also teaching assistants next semester with me) have decided to create a new platform for students to code in. Now I know what you might be thinking,

โ€œOh hey meet, there are tons of such platforms that have a lot of different capabilities, I donโ€™t see a good motive here!โ€

Yeah that thought crossed my mindโ€ฆ and that is something we are still working on ๐Ÿซ . So basically this is a project we are doing for learning something new. The three of us have different interests, I have an interest in systems, one of my friend has an interest in UI and ML and the third one has an interest in backend and also systems (similar but not the same). So we have decided to make the building process modular too.

So hereโ€™s the (simple?) plan, We will build a platform with various roles like professor, student, teaching assistant, admin and maybe developer. Now each role can do different things.

The Professor can create and monitor contests given by students and decide the way to derive the results. The professor can also change a students marks (yeah we have to keep this after a looong discussion ๐Ÿ˜‚)

The student can see their contests and also give them at the time set by the professor. There is a feature where the students can create contests for themselves too (not graded definitely ๐Ÿ˜‚). And multiple students can join in and practice. The questions will be from a common question bank, it could be from the already taken contests or something new that the professor or teaching assistant provides.

The adminโ€ฆ is well the ADMIN! Like they can literally change roles, manipulate contests and blah blah blah, you know what an admin does! Nothing unique here ๐Ÿ˜‡

And finally a developer can act as any of the roles and test the platform. This user wonโ€™t be visible to anyone except other developers. Yeah we have to โ€œsafelyโ€ test the platform without having to create 50 students and 10 professors who do not exist ๐Ÿ˜‚

Now comes the best part, I will be creating a local cluster of computers for this! Yeah, we are planning to run the student's code in a "custom" container (or docker if the "custom" container does not work) which will be created using linux namespaces (seems very exciting to me! ๐Ÿ˜). And there will be a cluster of computers (most probably our university's computer lab PCs ๐Ÿ˜) which will be connected to 3 laptops. Now this will be a "decentralized" system, atleast I aim to make it so. The three laptops will be masters and the lab PCs will be slaves, making it a master-slave (leader-follower to be more technical ๐Ÿ˜‚) architecture. So there will be two kinds of slaves, one that receives a request from a client (not more than 2 most probably ๐Ÿ˜…) and the other which runs code in these containers.

So I know what youโ€™re thinkingโ€ฆ Most probably ๐Ÿ˜…

โ€œWhy introduce so much complexity when you have options like Kuberneters and Docker which are battle tested?โ€

The simple and the only answer is, just for FUN ๐Ÿ˜‚! Yeah I have literally no other reason! Why should I use Kubernetes and Docker when I build my own mini-cloud against it ๐Ÿ˜? After all knowing what Docker does is equally important compared with using it in real production systems. But any custom solution cannot beat an open source โ€œbulletproofโ€ system like Docker and Kubernetes. Atleast not mine which is made in 1โ€“2 months ๐Ÿ˜‰

A scene from Fast and Furious where the driver says


And along with this project I am planning to get a deep look into the linux kernel in this vacation and maybe even contribute a bit there! Exciting but still imaginary ๐Ÿ˜‚

And sometimes when I will get bored which I know I will, I will refresh my Compiler Design course I had taken this time (which I could not pay enough attention to ๐Ÿ˜…) from NPTEL. Cause after I am done with the Compiler Design course I want to explore LLVM as well. Knowing that I am facing a hydra, I might as well bring a stone sword to emotionally support me ๐Ÿ˜‚.

Along with this, a small group from my university of around 5โ€“6 students have planned to work on our system design concepts, we have github repository from where we'll be doing system design and every 2 days we'll meet online and explain the concepts from our standpoints. Group work is much better than me doing it alone ๐Ÿ˜ cause I want to actually do this now, after a year of planning though ๐Ÿ˜ถโ€๐ŸŒซ๏ธ.

And on weekends, I am finally, after 2 loong years of planning (procastination ๐Ÿ˜‚), going to work towards my personal portfolio website! Yeah I have planned this but I hope I don't come in the way ๐Ÿ˜…

A cartoon having 6 hands where each hand does some work indicating work overload or multi-tasking


Soโ€ฆ,

This vacation has a lot of work but I think I will keep blogging now and try to stay super consistent (that's my 5th time saying it right?).

And yeah believe me when I say it, this is not it, I have a freelance work ongoing and also some more freelance work upcoming. So my schedule is going to be tight but full of fun (maybe?).

I have built a fortress in my head, let's see what I can actually build ๐Ÿ˜

Signing offโ€ฆ

Bye GIF with a man disappearing


If you have read until here and have more time, I would really appreciate you giving a view at the other two platforms where I write as well ๐Ÿ˜…

Hashnode:ย https://keep-alives.hashnode.dev/the-heartbeat-frame
Medium: https://medium.com/@meetgandhi13062005/the-heartbeat-frame-0fe1e7bfb6a8

Top comments (0)