<?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: Chitransh Soral</title>
    <description>The latest articles on DEV Community by Chitransh Soral (@gamecoder).</description>
    <link>https://dev.to/gamecoder</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%2F1480316%2F2ec253c1-3828-4072-83b8-3d92d85cdac5.jpeg</url>
      <title>DEV Community: Chitransh Soral</title>
      <link>https://dev.to/gamecoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gamecoder"/>
    <language>en</language>
    <item>
      <title>DeadLock - dead.lock file</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Thu, 12 Jun 2025 18:24:28 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-deadlock-file-5cam</link>
      <guid>https://dev.to/gamecoder/deadlock-deadlock-file-5cam</guid>
      <description>&lt;p&gt;Hello guys, I am excited to share that today I achieved another major milestone regarding my project "deadlock". Now the project is able to generate custom lock file that keeps track record of all the dependencies installed on the system. Though I am not sure how it will manage the versions. But, for the most part, if a user wants to run a project that it created earlier on a different computer, it can now easily manage the dependencies.&lt;/p&gt;

&lt;p&gt;I am working on a function that will read the lock file and then install all the packages. Just like pip does with &lt;code&gt;requirements.txt&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;That's all the update I had for today.&lt;br&gt;
Thank you! 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - 66% Complete</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Wed, 11 Jun 2025 17:28:52 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-66-complete-4p16</link>
      <guid>https://dev.to/gamecoder/deadlock-66-complete-4p16</guid>
      <description>&lt;p&gt;Yes! My friends, I have successfully completed 2 of the 3 tasks I originally envisioned when I was planning this project. Deadlock can now download the packages and extract them to the python virtual environment folder. It can also create all the necessary files required by a data scientist for a project. This achievement though comes with a small caveat that I wasn't able to figure out how to create a new virtual environment of python from scratch. First, I thought I have to download only the python.exe and configure it with &lt;code&gt;pyenv.cfg&lt;/code&gt; file. But when I saw what all is there inside a virtual environment along with the configuration, I thought it would be better if I postpone this part and just run &lt;code&gt;python -m venv&lt;/code&gt; in the terminal. I will try to implement a custom virtual manager though, but I feel that first I should ship a MVP (Minimum Viable Product), then I can look into it at a later date.&lt;/p&gt;

&lt;p&gt;The last portion left is to configure it to generate boilerplate code in the files, and it has to generate and maintain a lock file that should have info about all the packages in the project. I also have to test it onto other computers as well. Additionally, I also have to create the documentation which I have left for last.&lt;/p&gt;

&lt;p&gt;Therefore, it still has work to do and I am up for it.&lt;br&gt;
Thank you guys! 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DeadLock - Extracting wheels</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Tue, 10 Jun 2025 17:42:07 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-extracting-wheels-2fok</link>
      <guid>https://dev.to/gamecoder/deadlock-extracting-wheels-2fok</guid>
      <description>&lt;p&gt;Hello guys and welcome to my devblog where I've been documenting my journey as I develop my ambitious package manager called "deadlock" and today was again a frustrating day for me as I had to install the &lt;a href="https://www.zlib.net/" rel="noopener noreferrer"&gt;zlib&lt;/a&gt; library to the project and just like always, it didn't build in the first time. If you've been following this series, you'd know that installing a library in C++ is as hard as a wooden stick. It won't build until I RECONFIGURE THE WHOLE SH*T FROM GROUND UP.&lt;/p&gt;

&lt;p&gt;Anyways, after the reconfigure, I saw some weird decisions I had made throughout the whole process like why did I use &lt;code&gt;FetchContent&lt;/code&gt; to download the libraries on the fly when I had already put them in my source folder. I could've just included the subdirectory at the build time.&lt;/p&gt;

&lt;p&gt;At this point I realised a basic rule of programming:&lt;/p&gt;

&lt;h2&gt;
  
  
  If it works, don't touch it
&lt;/h2&gt;

&lt;p&gt;and then I ignored all of it and went ahead to read the documentation of zlib. I am currently reading this and I hope it is at least half if not as completely easy as the JSON one.&lt;/p&gt;

&lt;p&gt;That's all for today guys, will catch you tomorrow when I bring updates about this library.&lt;/p&gt;

&lt;p&gt;Till then Bye 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - JSON Parsing #3</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Mon, 09 Jun 2025 17:24:48 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-json-parsing-3-2gc3</link>
      <guid>https://dev.to/gamecoder/deadlock-json-parsing-3-2gc3</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;

&lt;p&gt;I am excited to announce that I have successfully completed the JSON parsing for deadlock. Provided that the libraries follow the same API response standards and file management.&lt;/p&gt;

&lt;p&gt;Speaking of file management, I got to know and understand the &lt;code&gt;whl&lt;/code&gt; extension which is just a simple zip archive that can be installed in &lt;code&gt;site-packages&lt;/code&gt; folder of python installation.&lt;/p&gt;

&lt;p&gt;All this I'll have to configure in the deadlock while figuring out a way to create a whole new virtual environment.&lt;/p&gt;

&lt;p&gt;Right now I am thinking of creating a virtual environment feature as more of a secondary feature. I think I can get away with running just &lt;code&gt;python -m venv .venv&lt;/code&gt; command in the user's terminal. But then I think why did I came all this ay configuring cURL, parsing JSON and then extract the packages when I can just run &lt;code&gt;pip install&lt;/code&gt; in the terminal too.&lt;/p&gt;

&lt;p&gt;Let me know what you think by commenting below 👇&lt;/p&gt;

&lt;p&gt;Till then bye, bye 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - Parsing JSON #2</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Sun, 08 Jun 2025 17:26:31 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-parsing-json-2-51bo</link>
      <guid>https://dev.to/gamecoder/deadlock-parsing-json-2-51bo</guid>
      <description>&lt;p&gt;What's up guys!&lt;br&gt;
Here I am with an update to my project - "DeadLock", a project manager for data scientists.&lt;/p&gt;

&lt;p&gt;Today I worked on the JSON parsing and thanks to both the library and API client, I was able to check which property I had to extract from the JSON response in order to get the download URL. I have already made the functions that are responsible for getting the latest version of the different packages. Today I created the JSON engine and extracted the version and initialised the download functions.&lt;/p&gt;

&lt;p&gt;My plan is to download the tar.gz or the wheel file and then build those files according to Pypi. I also have to first check the user's OS to prevent additional download files.&lt;/p&gt;

&lt;p&gt;Then I'll have to figure out a way to create a virtual environment that too without using traditional &lt;code&gt;venv&lt;/code&gt; module. Then install the downloaded packages in the said environment and create a file that maintains the version of the said dependency.&lt;/p&gt;

&lt;p&gt;So much stuff to do and I got excited when I wrote the 50% completion post 😅&lt;/p&gt;

&lt;p&gt;Anyways, Thank you and Bye, Bye 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - Parsing JSON</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Sat, 07 Jun 2025 18:22:23 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-parsing-json-31kj</link>
      <guid>https://dev.to/gamecoder/deadlock-parsing-json-31kj</guid>
      <description>&lt;p&gt;Hello guys, I want to start off with a huge thanks to &lt;a href="https://github.com/nlohmann" rel="noopener noreferrer"&gt;Niels Lohmann&lt;/a&gt; for the amazing &lt;a href="https://github.com/nlohmann/json" rel="noopener noreferrer"&gt;json&lt;/a&gt; library and point to point documentation. With his help I am now able to easily parse the JSON response, and the intuitive syntax is helping me extract contents from JSON in C++ just like I would do in python.&lt;/p&gt;

&lt;p&gt;Today I didn't do much in the code perspective, instead I tried to understand the responses from Pypi while sending requests. When I queried a simple library like pandas, I was at first shocked to see the ~43k line response which alone was around 37 MB (Yes that is 37 MegaBytes). I have to first extract the latest version from the JSON, which at first, I thought can be done by comparing the version numbers. But it has a problem, some versions of pandas are like &lt;code&gt;"1.4.0rc0"&lt;/code&gt; that will return error if compared traditionally and this is not only with pandas, but I also saw this naming scheme with other libraries. Therefore, I'll have to design another way that extracts the latest version. Also, I saw that Pypi also returns the urls for downloading packages for all operating systems. So, I also have to check which OS will the users use and then download the correct wheel package and build it.&lt;/p&gt;

&lt;p&gt;This all will take a lot of time, but I am confident that I will be able to give it the time it deserves and create something good for all of us.&lt;/p&gt;

&lt;p&gt;Thanks! 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - 50% Complete</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Fri, 06 Jun 2025 18:13:45 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-50-complete-3627</link>
      <guid>https://dev.to/gamecoder/deadlock-50-complete-3627</guid>
      <description>&lt;p&gt;Yep! you read that right, my ambitious project manager is now 50% complete and it is building with CMake too.&lt;/p&gt;

&lt;p&gt;Now you guys might be asking that what changed so drastically in one day that from complete hopelessness, I present you this good news. Well, I would like to remind you that yesterday only I said that "IF days like today happen", which I can assure you guys that this quote didn't age well.&lt;/p&gt;

&lt;p&gt;Today I had much more time to focus on the project and I did that. Yesterday, I had just got to know about the &lt;a href="https://curl.se/" rel="noopener noreferrer"&gt;cURL&lt;/a&gt; library that is used to send the HTTP requests in C++. But today, I imported the library, went through the documentation and with the help of some chatbots, was able to build functions to download and extract packages from Pypi.&lt;br&gt;
Using the &lt;a href="https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client" rel="noopener noreferrer"&gt;Thunder Client&lt;/a&gt;, I got to know that I am receiving JSON from Pypi. But I don't know how to parse JSON in C++, so using AI I found that I need to use &lt;a href="https://github.com/nlohmann/json" rel="noopener noreferrer"&gt;nlohmann json&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That will be my task for tomorrow and after deadlock is able to handle packages easily while using the virtual environment, &lt;br&gt;
my project will be around 2/3rds complete.&lt;/p&gt;

&lt;p&gt;Thank you, guys for your support 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DeadLock - Networking</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Thu, 05 Jun 2025 18:14:24 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-networking-3fa8</link>
      <guid>https://dev.to/gamecoder/deadlock-networking-3fa8</guid>
      <description>&lt;p&gt;Hello Guys! 👋&lt;/p&gt;

&lt;p&gt;Today was one of the hectic days which I was expecting when thinking of the project. I wasn't able to concentrate on the project the same way I was doing for the past days. But its isn't all bad - in fact, I was able to gain feedback from a lot of my friends on this topic along with some advice that should help me throughout the project.&lt;/p&gt;

&lt;p&gt;Yesterday, I told you guys that I will be building the package downloading functionality and though I have included that library in the project, as expected, CMake didn't build. But I will look into it tomorrow and I promise you guys that I will try my best to complete this functionality as soon as possible. And since the file creation process is complete, I will just have to create the last lock file for dependency maintenance, and I will be able to ship a working model of my project manager.&lt;/p&gt;

&lt;p&gt;Yesterday, I thought the project will be over soon. But if days like today come more and they will, I fear that it will take me much more time in completing this project.&lt;/p&gt;

&lt;p&gt;Anyways, that's all for today and I will be back tomorrow with hopefully working package downloader. &lt;/p&gt;

&lt;p&gt;Bye 🫡&lt;/p&gt;

</description>
      <category>python</category>
      <category>opensource</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - Positive Changes</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Wed, 04 Jun 2025 17:06:37 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-positive-changes-2bn4</link>
      <guid>https://dev.to/gamecoder/deadlock-positive-changes-2bn4</guid>
      <description>&lt;p&gt;Greetings fellow programmers, I am here to update you all about the latest changes happening in my project, "DeadLock".&lt;/p&gt;

&lt;p&gt;Today was totally different from the gloominess of yesterday. I had made my mind to completely revamp my project structure cause of the failure of compiler and CMake in finding my libraries and source files. Till today, anything that was pushed to the repo was never built by CMake (Yeah that's concerning, but what could have I done?). It was constantly showing me errors that it wasn't able to find my source files, but today I went through their documentation WITHOUT any help from external sources except for the "find" feature on MS Edge (it's pretty cool). I did manage to find out some of the useful variables out of it like &lt;code&gt;CMAKE_CURRENT_SOURCE_DIR&lt;/code&gt; and &lt;code&gt;-DWIN32_LEAN_AND_MEAN&lt;/code&gt; which define the current CMake directory and debloat your app respectively.&lt;/p&gt;

&lt;p&gt;Till today the only part I allowed any AI to touch was the github workflow that you all know how it ended, but today I let the github copilot in its agent mode to make changes to my project. I basically asked it to implement the package downloading functionality that's required for a project manager and funnily enough it managed to do so but by running &lt;code&gt;python -m pip install {package-name}&lt;/code&gt; in the terminal 😂&lt;/p&gt;

&lt;p&gt;Anyways, with the project building and my exams nearing, I am confident that this project will be over soon, at this rate, most probably next week.&lt;/p&gt;

&lt;p&gt;Also, if anyone was following my project recently noticed, I promised about documentation with Doxygen but never tried doing it and I have reserved it as a task to be done at last, before that I have to achieve the package downloading functionality and hopefully set up the github workflows correctly so I could ship a release soon for all of you.&lt;/p&gt;

&lt;p&gt;Till then take care and beware! 🫡&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - Big Changes</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Tue, 03 Jun 2025 17:28:33 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-big-changes-46jm</link>
      <guid>https://dev.to/gamecoder/deadlock-big-changes-46jm</guid>
      <description>&lt;p&gt;Hi there 👋&lt;br&gt;
Here I am again with updates I made to my ambitious project "DeadLock". And today, I made some decisions.&lt;/p&gt;

&lt;p&gt;First of all, I removed the fmt library from my project because of a simple reason- I didn't like the complexity that I had to introduce just to color the prompts in the terminal. Whether it be implementing its namespace, which I agree is very good and its way of formatting the string in the same way as python could help too, but the way it is implemented inside of the library can be made easier. And this is without addressing the other issue- configuring of CMake, even though I tried evverything written in their documentation, it just didn't work. If only it worked, my project would look so soo good, but sometimes you just have to part goodbye to some people to achieve good things in life.&lt;/p&gt;

&lt;p&gt;Speaking of goodbyes, last night I added the GitHub workflow for CMake as I thought it would help people looking to contribute in my project, but it had some other plans. I never worked with any GitHub workflow, so I thought why not use GitHub copilot for this task, but it still has a long way to go before it replaces me or any other programmer in the world. It first created the &lt;code&gt;yml&lt;/code&gt; file with outdated packages, then after updating the packages, it removed the checking commands which were the whole point of running the workflow in the first place. After this too, it didn't stop as it was running in the agent mode, it went on for a whole hour before I manually deleted the file to remove the hassle altogether (Yeah, the commits are almost consecutively because I pushed them late to the Hub.)&lt;/p&gt;

&lt;p&gt;That's all for today, I will be back tomorrow with hopefully some good updates on this project.&lt;/p&gt;

&lt;p&gt;Thanks! 🫡&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - Update</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Mon, 02 Jun 2025 15:05:40 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-update-524a</link>
      <guid>https://dev.to/gamecoder/deadlock-update-524a</guid>
      <description>&lt;p&gt;Hey there!&lt;br&gt;
I am here again with an update to my ambitious project- "DeadLock". The project manager I am creating for data scientists which you can follow on this &lt;a href="https://github.com/Chitransh-coder/DeadLock" rel="noopener noreferrer"&gt;link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, I learnt how to configure CMake to link the fmt and CLI11 libraries that I will be using throughout the project. I also added these libraries to folder structure and created functions that will generate necessary files for the project.&lt;/p&gt;

&lt;p&gt;I haven't included a &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; file yet, but I will try to add it tomorrow or day after tomorrow. No promises though.&lt;/p&gt;

&lt;p&gt;So, that's all for today guys and again if you want to contribute or have any ideas that you would like to see in my project, I would love to hear those. Just comment them below 👇.&lt;/p&gt;

&lt;p&gt;Thanks! 🫡&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DeadLock - First Commit</title>
      <dc:creator>Chitransh Soral</dc:creator>
      <pubDate>Sun, 01 Jun 2025 16:14:16 +0000</pubDate>
      <link>https://dev.to/gamecoder/deadlock-first-commit-10m1</link>
      <guid>https://dev.to/gamecoder/deadlock-first-commit-10m1</guid>
      <description>&lt;p&gt;Hello Everyone! 👋&lt;br&gt;
Here I am with a new update to my project "DeadLock".&lt;/p&gt;

&lt;p&gt;Yesterday after initialising the repository. I tried to create a test notebook using the &lt;code&gt;fstream&lt;/code&gt; library. You can check out the code on my &lt;a href="https://github.com/Chitransh-coder/DeadLock" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also did some research on how to make my code more "human-friendly" and got some interesting results:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I will not be adding too many comments, contrary to what most people say. Comments will be added but to only those places which require some additional context to whatever is going on in the code file.&lt;/li&gt;
&lt;li&gt;When you checkout the repo and ultimately see my other projects, you will see a bad practice of naming variables with a single word. But this won't happen with this project, and I will make sure that I am as explicit as possible with the naming schemes, which I got to know about through this &lt;a href="https://www.youtube.com/watch?v=-J3wNP6u5YU" rel="noopener noreferrer"&gt;video&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;For documentation, I will be using &lt;a href="https://www.doxygen.nl/" rel="noopener noreferrer"&gt;Doxygen&lt;/a&gt;, the most popular C++ docs generator.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And, if you look at my profile, you will see that I am still a college student, and I still didn't know about these things until now. Also, I'll have to first study these while also maintaining my academics and the project, so I apologize right now itself that the upcoming commits may contain less code than this one. Please bear with me or you can contribute yourself either through code or just recommend me what you'd like to see more. I can't promise but I'll try my best to fulfil your expectations.&lt;/p&gt;

&lt;p&gt;Thank You Reader! 🫡&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
