Preserving LVM Cache

While there are a lot of examples that describe how to set up a LVM cache on an SSD for a HDD backed storage, they mostly fail to describe an additional step needed to preserve the cache across a reboot on a Ubuntu system. The culprit is that the drivers needed to enable the LVM cache are not built into the kernel, nor available in the initrd. Therefore, these drivers need to be added to the initrd. Additionally, some cache Read more…

Generating TSV and PDF files

My current tasks involve generating a spreadsheet and a PDF file from the database. To create the .tsv file, I opened a new file and wrote into it details of the players and performances of the database. I first wrote into the file the headers of the spreadsheet. Next I sent a HTTP request to grab the performance and result documents based off each event document, with the event documents grabbed based off each venue document. To improve efficiency, Dr Read more…

Photo by Vojtech Bruzek on Unsplash

Pressing Brakes

This week was rather unproductive in the sense that I made no apparent progress towards any of my designs. But saying this whole week was a waste wouldn’t be accurate either as I have made some progress, albeit in a different sense. Creating a small Single Page Application with a framework like Vuejs is relatively easy and even a novice could pick it up fairly quickly. As the project starts to scale, however, it becomes increasingly difficult to monitor all Read more…

Completing ServerApplication

Next in ServerApplication, I worked on generating the result documents. To generate the result document ID, Poco::UUIDGenerator is used. This UUID cannot be randomly generated, otherwise additional unwanted result documents could be created. With the createFromName() member function, the UUID created is set to be dependent on the performance ID. Thus, no extra result document will be created for a performance. We also want to allow the result documents to be updated. For example, if one judge happens to only Read more…

Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

Making Progress

This week went somewhat productive with my being able to add additional functionality to the overall app and finishing up the UI for one client base entirely and nearly completely finishing another. Since this week I mostly had to deal with UI designing I had to extensively go through the Vuetify docs again to see the styling and functionality options available for each component. The main problem that I encountered while developing this week was with my overall directory structure. Read more…

Deploying ServerApplication

The fourth week saw me working on the ServerApplication from the Poco library. This system I am working on is a background process that will monitor and wait for the appropriate changes before actions are taken. First, I worked on pulling changes corresponding to events while ignoring other types of changes, then checking the event’s status. If its status reads stop, I pull all the performance documents corresponding to the stopped event. For each performance, I then grab all the Read more…

Photo by Vojtech Bruzek on Unsplash

Hitting Turbulence

This 5th week of my internship went a little slow and underwhelming. Hurdles and retractions delayed progress and what should have been easily fixable edits ended up taking substantial amounts of my time every single day. The previous week I had covered some distance with regards to my project but that came along with simplifications and hard-coding on my part which I believed could be resolved easily and quickly later on that proved sadly to be more time consuming than Read more…

Third Week Updates

For the third week, I start with familiarizing myself with carrying out create, read, update and delete operations on the CouchDB database. This involves sending HTTP requests using the Poco library. I learnt to use the “If-Match” header to retrieve a document’s revision so that I can perform update operations more easily, instead of having to retrieve the revision each time I want to update a document. Also when sending new requests, it is good to reuse the request that Read more…

Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

Picking up the Pace

Approaching the end of this fourth week I can say that the time for relaxation and learning is long gone and that for doing and developing is nigh. This week was by far the most productive I have had since the start of my internship mainly because I managed to get a small, albeit substantial part, of my project completed. I have designed 1 out of the 5 User Interfaces that are due for submission by mid August and although Read more…

Vue, Vuetify, and Vuex – a tale of three sisters

For this third week of my internship I had the opportunity to get my hands dirty with coding by writing up my first program for one of the UIs and then testing it out by connecting to a remote PouchDB Database for Data fetching and Data creation. The PouchDB Database can then be synchronized to allow bilateral communication to ensure the client and server both contain the latest states of data. However, the limelight for this last week rests on Read more…

Photo by Vojtech Bruzek on Unsplash
Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

Continuing with Poco

During the second week, I worked on my assigned project and also received kind guidance from Dr Shawn whenever I’m stuck. My project involves processing final scores of participants in a competition. This calls for pulling data from a CouchDB database after all the marks by judges are dialed in, or simply after the competition has closed. The Poco library is used. I start by writing some code to fetch data from the server. To do so, I use the Read more…