It's been a month since my last post. So naturally, the question whether I abandoned this blog (for a new one with a prettier tech stack) or just forgot about this blog arises. Of course, how could I forget about this stupid blog!

This month has been super stressful, despite having Christmas and New Year next to each other. I had really huge exams for which I had to prepare, just like preparing to fight the Wither in Minecraft.

Now that exams are over, I'd probably have much more time to code and enjoy. Like finish the GlitchyPastePen project. It's the second version of a project created at the beginning of this month, and ever since I became familiar with Vue and serverless functions, I wanted to build GlitchyPastePen with those fancy frameworks. I started on it somewhere around September and I'm still working on it to this day. Using serverless and only serverless is really hard. Communication between the UI and the API becomes much more complicated, and if Firebase Auth hadn't existed, I'd have probably gave up. The original version of GlitchyPastePen was made using Express and EJS and I didn't have to worry about validating API tokens and user session access controls because Express and EJS worked as a single thing, which was a whole lot easier. But I'm not complaining, I learnt a lot while using Vue and serverless functions, including Vercel and Netlify hosting, using Typescript for serverless functions, encountering errors (a lot), SVG designing with Adobe XD, using Vue plugins and much more.

And it's all starting to work! Editing, saving, logging in and creating new projects all work. Our biggest problem, which I've yet to overcome, is collaboration. I initially did manage to implement collaboration with Firebase's Realtime Database into Ace.js (thanks to this article, may the authors of that article live longer :)) but just a few days later, I switched the code editor to Monaco. Monaco is this fancy web-based code editor developed by Microsoft that looks just like Visual Studio Code. Monaco's API does not have the required methods for me to exactly duplicate the Ace.js collaboration logic into Monaco, so I'm still working on that.

Other than GlitchyPastePen, I have a bunch (read: a lot) of side-projects that I'm too lazy to work on. Right now, all I wanna do is watch videos on YouTube, chat with everyone on Discord, and play games with my friends.

Merry Christmas & Happy New Year