Fixing “cURL error 60”

We have a number of sites that use webhooks, which were having trouble connecting to our back-end services. This problem only occurred recently as everything was working in the past. Searching for the specific error message, “cURL error 60: SSL certificate problem: unable to get local issuer certificate” gave a number of different fixes for PHP. Essentially, configuring PHP to search for trusted certs. Unfortunately, none of the fixes worked. No matter how much reconfiguration was done for PHP, it Read more…

Done and Dusted

This week was pretty stable and concluded with nearly finishing up all development related to the competition project. At the start of the week I altered my code to make all backend API calls pass through the Vuex store. This was done by making use of Vuex Actions, which is the only asynchronous method available in the Vuex store, and using it to perform the same operations that were performed in the Driver file from the Services folder. While this Read more…

Finishing Touches

This week was spent finalizing the react admin work from last week and making minor changes to the main application. For the forward linking between resources in react admin I had gone off on a journey of creating a whole new workflow based on systemically typed new components with custom functions that would allow me to reference one document to another. After consultation with Dr. Shawn I was told that this approach is not only difficult but also unnecessary as Read more…

Finally, Results!

Nothing trumps that feeling of seeing the results you so desire to see appear on screen. As the end of my internship period was approaching the stress started piling up on me, as nothing seemed to yield the results that I was looking for. However, this changed this week, with the use of MFCCs for timbre detection, the accuracy of the prediction of the model developed finally hit the peak that we were planning for. At the start of this Read more…

It’s a Wrap

At the start of this week I added a services folder and shifted all the backend API calls occurring in the Vuex store to pass through this services folder instead. It comprises of two files, the first of which holds all of the database methods called in our Vuex store, and the second contains global variables and functions that are used throughout different components in the code. This makes code management easier because instead of editing multiple copies of the Read more…

Cordova Updates

I spent the starting part of this week finalizing the QR code scanning and attendance taking. As per Dr. Shawn’s suggestion, I shifted from the usage of an in app Vuejs QR code scanner and instead added in the Cordova Camera plugin. The camera plugin was added along with a npm QR code decoding library which could pass the decoded JWT token to another npm library which subsequently verifies the secret from the QR code with another secret stored in Read more…

MLPack Experiments

As the end of my internship period was approaching, I was asked to move from feature extraction to working on the machine learning models. For the past few weeks I have been working with multiple libraries to retrieve information from musical tracks, and it was time to test what I had so far on machine learning models. The library that was chosen for the implementation of those ML models was the C++ library Mlpack, which is a machine learning library Read more…

Android Development with Cordova

Cordova is a framework that allows you to use your existing Web Application code and wrap it in a system Webview to be deployed as a mobile application. This week was spent mainly cleaning up and modifying the original app and testing it out on the Android tablets using Cordova. The importance of having a responsive layout was highlighted in this stage of development as the application showed apparent inconsistencies in the design when deployed on the tablet as opposed Read more…

Key Detection & Dynamic Complexity

The work on the new project continued; however, slow-paced. Experimentation and gathering data was the highlight of the whole week, as I started working with a new audio processing library “Essentia”. Essentia is a C++ library used for the purpose of analyzing and processing audio signals and files. It has a wide reach over the set of algorithms it contains, which made for an interesting exploration over the course of the week. Since our testing of the tempo deviation last Read more…

Tempo Detection

Unlike the past few weeks, the progress in this one was a bit bumpy and slow. The work for most of this week was based on the research done last week and a continuation of it. While a certain amount of time was spent writing and implementing code, the biggest chuck of this week was concerned with research and attempting to understand the problems presented as hand. The first test performed on the data samples involved measuring how good the Read more…