Photo by Fabian Grohs on Unsplash

Final Testing and Cleaning Up

Week 11, last week I managed to use Wtemplate function inside the template file linking with the information that I needed. I am really excited about this because previously I had problem linking the information into the another function due to some c++ structure and syntax issue. To be more specific, the function I am using right now is “handleUnresolvedVariable()” which can be found in the member function documentation of Wt::Wtemplate Class Reference. I have customized the function so that Read more…

Flash Mutex check & Firmware OTA update

In last week, bearSSL server in CORS thread and bearSSL client in OTA thread can already run simultaneously except the bitstream download & firmware download part as both of them write to flash memory at different addresses (the board gets rebooted). Therefore, a mutex (mutual exclusion) check is needed to make sure only one instance of flash is running over all threads at one time. Since the multithread process is provided by freeRTOS, we need to use mutex API of freeRTOS Read more…

Photo by Nicolas Thomas on Unsplash
Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

UART Demo

Last week, I talked about how I was able to run STORE and LOAD related functions which are methods of JavaScript Objects. Maybe I have not explained this part very well, so, I will review it first. I have added methods to an object from which all modules objects inherit. Thus, these methods will be shared among all the modules. Let’s say we have only two methods declared in our objects, store() and load(), which are defined accordingly: store(data){ // Read more…

Spring Cleaning Part 4

The race against time continues as I strive to complete the things that I need to do for the project for good by the end of this month. One of the things that I have done for this week was implementing a basic search and sort functionality for the projects as part of the UI. In recent versions of Vuetify, they added a few new components, one of which helps to deal with auto-completion for a search bar which is Read more…

Photo by Giorgio Tomassetti on Unsplash

Syncing data from CRS and CMS, more visualizations

This week, I spent some time working on CRS to implement a new REST API endpoint for exporting data in the form of TSV. This is needed for CAS because the existing export function in CRS does not export any information regarding registrants. Next, I implemented a new class, CRSTSVParser in CAS to handle the parsing of string content from the imported TSV. Since I had already implemented a parsing class, CMSTSVParser before this, I thought it might be a Read more…

Programming Is An Art (Second Approach)

This week is already my tenth week at Aeste which means that I have only two more weeks left for this internship. I am still struggling to write the code for the generation of report as “not-hard-coded” as possible. Previously, Dr Shawn suggested me to write a customize function to do that. After some researches and helps from my colleague Wen Yan, I’m able to call the function inside the template. However, the issues never end. For now, I have Read more…

Photo by Tim Gouw on Unsplash
Photo by Jon Moore on Unsplash

Known-key mode of BearSSL

Continue from last week’s progress, I was feeding in hard-coded time data that is valid into bearSSL engine to pass the certificate date verification so that an SSL connection can start. This is definitely not a proper way to obtain the time, I did that just to make sure the bearSSL client actually works with a valid time data, to characterize the problem. So now, I am to get the actual time data from a public global time server. No worries, the Read more…

JavaScript Objects

Last week, I have mentioned that triggering the simulation has been done. I could make the modules blink for now. However, the goal now is to simulate every component on its own which is the main purpose of the simulation in the first place. To be able to simulate each and every component differently, we need to run unique Store() and Load() functions of each component. The best way to do that is to implement OOP (Object-oriented programming). Thus, I Read more…

Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

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