Week 19: ...
I started the week with an opportunity to work with people from other teams during an internal hackathon event. It was also an opportunity for me to explore other areas of tech within Shopify. I have some set goals around my work at Shopify and participating in the 3 days hackathon helped me to progress toward those goals a bit. I was able to do some research in some areas I know very little about.
I continued to work on Composer UI and things are finally taking a brighter shape. The majority of the time is spent trying to properly organize how the Node process can communicate to the PHP process. In the scope of the project, this was a very pivotal item to check off the ToDo list. In one of my past notes, I mentioned some of the criteria the decision on which medium of communication is based upon. We need PHP as much as we can't do without Node (since it powers electron) so finding a way for both to coexist sounds like the way to go. After some progress in implementation, I could see the benefit of being able to use the composer/composer package as a dependency. It gives us access to some of the logic that powers the Composer binary itself. I also explored some alternative means of communication between these processes. One was implementing a JSON RPC over a Node IPC. This looks more friendly compared to having to spawn child processes every time we need to perform some operation on the PHP side. I think this is rather a medium I would consider in the future of Composer UI and not now as its more important to get things done than try to improve them 🤷🏽♂️.
I have always seen SSR in frontend JS apps as too cumbersome and the process of migrating to SSR (if you already have a frontend JS app) isn't that soothing yet. I tried it again and this time and I failed it yet again. Reading so many docs isn’t that friendly - the fact that I need to consult Vite's SSR docs and Vue's SSR docs, Inertia’s SSR docs all at the same time 🤷🏽♂️ and also do some configurations. Maybe I will block some time in the future where I won't have to rush the docs or even start with the basics. SSR is a part of building JS Apps that I really want to explore.
I'm finally closing in on my travel goals more than I've ever done. We started planning our weekend getaway to Benin Republic - a country on the western border of Nigeria. We used Thursday / Friday in preparing for the journey and hit the road (yes Road! 😩) on Saturday. The main logistics for the travel have already been done by Lifestyle for Tech - a community for techies like me who would like to explore travelling. I've always wanted to know how travelling to another country by road will be. I finally do but didn't enjoy it as much as I expected due to some factors - Bad road, corrupt border officers and delays (we literarily spent about 3 hours at the border trying to clear ourselves).
While in Benin I had the opportunity to continue the very-soon-will-not-be-secret project. While thinking about the use cases of the project, I discovered we could take our interactive notebooks to another level where users on PHPSandbox can get to interact with the output while running the Notebook. This is very useful for Interactive notebooks that might require input from users while they are running. I was able to make some core modifications and have a working prototype of an interactive notebook that prompts the user for input. Applying use-cases has been one of the ways we’ve been adjusting some aspects of PHPSandbox.