As the project I am working one came closer to finishing, many additions, touches, and bugfixes were needed to be performed on the source code. Below is a description that walks you through the events of this week.
Before getting into the code, it is worth mentioning that a major chunk of my time this week went towards training the ML model to get better results than the last attempt of last week. Though very close, the model failed to detect a number of the objects in testing pictures prompting me to add some more images to the training dataset and label them, that is simply to improve the accuracy of the detection. Some random images were added, as well, to the training dataset for the purpose of avoiding too many false positives, another issue that was plaguing the model. It is hard to report any significant results yet as the training time takes much longer than it used to, due to the mentioned additions to the training dataset.
Nothing was more tiring this week than a bug issue with detecting the changes that occur to all databases at once (global changes). When long polling changes from the databases, it is initially supposed to wait for any changes to happen, perform the rest of the code and wait for another change to happen. However, an issue was spotted where after the first change the code gets stuck in an endless loop, rendering it non-responsive. Further inspection and a better understanding of the difference between the database led to the long-awaited solution to the problem.
Besides the other bugs that were detected and solved in the code this week, I decided to add an extra layer of security by applying the cryptographic protocol “Secure Sockets Layer” SSL, which made accessing services such as Gmail much less troublesome. SSL is a protocol that establishes encrypted links between devices across a network, in this case, the mail server and the mail client.
Lastly, an exploration of the task manager feature provided by the c++ library Poco was done, and an initial code was implemented, in the hope of prompting the code to multitask, so as to increase the efficiency of the programming code. Nevertheless, it seems that more time is needed for me to better under the feature and apply it properly.
While the current project is technically functioning, some features, and better organization in the code would make it more efficient and would allow for better understanding on the part of contributors. This is, hence, decided to be the task for next week.