Becoming a True Coder

Daniel j -

I’ve learned so far that I have a lot more to learn.

This past week started off great. I received new refined output files that got rid of the asymmetry problem from last week. Now, the entire animation was symmetric throughout, just as it should be. As this issue thankfully wasn’t because of an error in my code, this meant that the code for the output side of the GUI was finalized and ready to be used.

Part of the finalized code (for anyone wondering how it looks):

Then came the harder part—creating the GUI itself on nanoHUB. When I was first learning how to code, I thought that all you had to do was write some Python script in Visual Studio Code and run it. Turns out, it’s a lot more complicated than that.

The process of creating a “tool” or an application on nanoHUB was a lot more troublesome than I thought. After registering the tool on the website, I had to create a repository, or a platform for developers to store their project code and files. There were two options for uploading the source code: using nanoHUB’s subversion repositories or using a GitHub repository and linking it up with nanoHUB.

Since I was already somewhat familiar with GitHub, I decided to take that route. But I immediately ran into an issue. Because the file that created the electron density graphs was so big, being around 75 MB, it exceeded the maximum file size of 25 MB. After browsing the internet for answers, I learned that I had to clone the repo into a local Git repo that allows up to 100 MB. And the way to do that was through a Git terminal on my local desktop.

But that also meant that I had to deal with one of my weaknesses: Linux. Although I had some background in this type of terminal-based system, my experience was limited to the most basic commands. So, I turned to something prevalent and a little controversial in modern technology and coding: ChatGPT.

Of course, using AI to do all of your work is pretty unethical and can produce potential flaws. But using it as a source of information to learn from can be pretty useful, especially for things as hard-coded (no pun intended) as computer science. So, using it to learn the necessary commands, I finally uploaded the necessary files into GitHub.

Now, the next step would be to get my hands on the actual Usuki code that calculates and creates the output files given an input geometry. This would enable me to link my inputs and outputs. But in the meantime, I will familiarize myself more with nanoHUB.

While I continue to work on this, the next steps include visualizing the electron density graphs of other geometries. By next week, I will have my hands on the quantum dot, which will be exciting since I created the UI that enables the creation of that input geometry. Afterwards, we will work on linking everything together to complete the GUI. Although unfortunately, the entire GUI is unlikely to be completed by the end of the senior project, we are making great progress.

More Posts

Comments:

All viewpoints are welcome but profane, threatening, disrespectful, or harassing comments will not be tolerated and are subject to moderation up to, and including, full deletion.

Leave a Reply

Your email address will not be published. Required fields are marked *