Spring Cleaning Part 3

It feels like there is no end to this. About 5 months have passed since I started working on this project, but even at this point there is still much to be done. Dr Shawn told me about the Pareto Principle, which I can relate to this project a lot. The formal definition states that 80% of effects come from 20% of the causes, for many events. It is also known to be the 80/20 principle. So why is it Read more…

Regression via RInside, incremental import

Last week, I finished implementing the functions for calculating precision and recall values of judge scores. The final set of calculation that I need to implement is the regression of judge scores on categorical factors. First, I grouped up the judge scores according to venue, year, and judge_id. After grouping, each group would look something like this venue_id, year, judge_id, category_id, instrument_id, performance_id, absolute_score Penang, 2018, Judge-2, Under-12, Violin, 1, 80 Penang, 2018, Judge-2, Under-12, Violin, 2, 77 Penang, 2018, Read more…

Photo by Giorgio Tomassetti on Unsplash
Photo by Tim Gouw on Unsplash

No Hard-Coding!

Here is a summary of what happened this week. The task that I am working on right now is the generation of reports for the Competition. I have faced a lot of problems while doing this task and I will briefly explain them later. Before that, just to let you all know that, my lecturer from University of Malaya visited me on 8th August. The purpose of the visit is for them to check on what I am doing and Read more…

Starting on OTA

In our HID module, MD5 hash function was used for a number of reasons. Previously we were using wolfSSL API to compute the MD5 hash, now I have replaced these function with bearSSL substitutes. Although Harmony has a crypto library providing MD5 hash, but that in fact is just merely a wrapper around the wolfSSL API. We also need to generate RSA keys. The generation of device’s RSA key pair also rely on wolfSSL, but bearSSL do not support the generation Read more…

Photo by Alexandre Debiève on Unsplash

Progress of Triggering the Simulation: Part 2

As I have stated last week, Dr Shawn recommended me with two ways to retrieve addresses where LOAD or STORE operation occur and to which module it happens. I will explain the two methods briefly. Method 1: When the simulation starts, get the map of variables and addresses that we set ourselves to make sure addresses are within a specific range. Meanwhile, get the ids of components on the schematic and sort them alphabetically. Plus, the content of the map Read more…

Visualizations, Refactoring, and More

Last week, I was spent a lot of time exploring various options for writing the Rest API for returning a JSON string to the browser. I eventually came up with a template class (derived class of Wt::Resource)  to handle ‘queries’ to each table in the database, and made use of the Poco::JSON::Object for setting the key-value pairs of a JSON string. Thankfully, it took me just a few hours to implement this properly. My next task was to create some Read more…

Photo by Giorgio Tomassetti on Unsplash

Spring Cleaning Part 2

So I’ve made a few more strides in my spring cleaning adventures this week. I finally managed to get all my cURL test scripts to passed, which was a boost of confidence for me. Also, any other things that I had conveniently hardcoded back then were at least moved to the server’s configuration file, or like for the project file extension (which is “.zip” for a Zip archive), since I was using it everywhere, I put that in a getter Read more…

What I Know Is Just A Drop Of Water In The Ocean

So last week I had burst the quota of the maximum amount of emails we could send out a month and the quota hasn’t renew yet. So, this week I am focusing on my next task. What I have to achieve in task number 4 is to generate a final report for the competition. This report is going to be used by the organizers for archival purpose. Basically, the big picture of my task is to figure out a way Read more…

Photo by rawpixel on Unsplash
Photo by Nicolas Thomas on Unsplash

Finally download bitstream via SSL connection is done

Continue from last week problem, curl client shows “Empty reply from server” just because I did not send a proper HTTP response which starts with the message status line (something like “HTTP/1.1 200 OK”) thus the client just ignores the packages. Simply br_sslio_write() the status line at the start of the response then it works perfectly fine. Then I start to replicate what were done before with wolfSSL,  grab the HTTP request line and pass the request type to the Cross-Origin Read more…

Progress of Triggering the Simulation: Part 1

Triggering the simulation is the task I am working on lately. I will try this time to sum up what I have done to fulfil this task. To recall, we need to read the addresses to which data are stored, and addresses from where data are loaded, then, trigger the corresponding I/O device. In other words, when the line-by-line simulation is running on the editor side, we need to check the addresses when Load/Store operations occur, if the address is Read more…