Week 12: Edge Cases
Finally, completed the upgrade to Vite and I would say the effort is worth it. The build time went down drastically from about 600 seconds to just 50 seconds. This was quite interesting as there wasn’t any change in the codebase. I can see why lots of folks in the JavaScript community are hyped about Vite. Another feeling I get with Vite is as though the Bundler isn’t there at all. Everything feels fast ⚡️!
I decided to take a week off work to finally get some time to relax time during which Mercy and I finally get to explore Kigali. We hired a car and went out from morning till night going around different parts of the city. Going out at night was a unique part of this experience as you get a different view of the city at night.
Some of the places we went to include the Genocide memorial site and the Kangt museum.
I get to know a lot about Rwanda and its people in one day. It’s amazing to see that in almost three decades, Rwanda was able to rise above a terrifying history to have a remarkable society. Their bounce back further shows to me the strength in the African people.
During our tour of the city, we went to a place where we tried Ziplines - a dangerous (I guess), yet fun activity. I think I would like to try it once again. I remember my Final Destination movie memory kicking in as I roll down the line.
We also went around and on top of some of the hills in Kigali, the views were great to see. The last time I saw views of hills like that was during travels around the Oke Ogun area which were a long time ago.
Booted a part of my day with some MySQL issue on PHPSandbox - an issue we will never have if there aren’t close to about 85K notebooks on PHPSandbox. With each record literarily containing all the files inside each notebook minus the vendor files, this database is quite heavy for that amount of notebooks. It turned out it was an infrastructural problem afterall. Bumping the Amazon RDS memory up a bit sure fix the migration that was timing out, for now.
Once again I’m confronted with making a choice of technology to be used for the Composer UI backend. I had the option of a node implementation (which was already underway as the app is an electron based app) or a PHP implementation. The PHP implementation seems efficient given that the code would be shared with PHPSandbox itself and also for the fact that we’ll be able to use the [composer/composer](https://packagist.org/composer/composer)
package itself where reasonable instead of CLI all the time as opposed to if it is a Node implementation.
One of our users was experiencing a CORS issue in one of the notebooks. I had to take a look into what the issue could be. In the initial implementations of PHPSandbox tunneler, we took care of this with the mind that some users might be using PHPSandbox as a backend for their JavaScript app. It turned out that, along the line, how we implemented the tunneling changed and didn’t account for the CORS issue anymore. This was the reason behind that user’s issue. It was finally resolved but I wish there were some sort of check that could ring a bell when the CORS setup fails.
After solving the issue, the room opened for me and the user to chat about what he’s doing with PHPSandbox. I learnt he’s a teacher who uses PHPSandbox to evaluate his students.
I was happy to see some consistency in thoughts about certain implementations. While working, I figured I need to create a file somewhere with some content. I figured I have actually created the file with the exact contents I was imagining over four months ago. I’m not sure if this should be a concern growth-wise but I do like the consistency.
I’ve been thinking of a certain feature on PHPSandbox for a while, I started hacking it off while promising myself it will be the last thing I will do till my off time is over 😂. Will that truly be the last? I hope I get to share with you what it is in the coming weeks.