It’s been a month since my last post. So nat­u­rally, the ques­tion whether I aban­doned this blog (for a new one with a pret­tier tech stack) or just for­got about this blog arises. Of course, how could I for­get about this stu­pid blog!

This month has been su­per stress­ful, de­spite hav­ing Christmas and New Year next to each other. I had re­ally huge ex­ams for which I had to pre­pare, just like prepar­ing to fight the Wither in Minecraft.

Now that ex­ams are over, I’d prob­a­bly have much more time to code and en­joy. Like fin­ish the GlitchyPastePen pro­ject. It’s the sec­ond ver­sion of a pro­ject cre­ated at the be­gin­ning of this month, and ever since I be­came fa­mil­iar with Vue and server­less func­tions, I wanted to build GlitchyPastePen with those fancy frame­works. I started on it some­where around September and I’m still work­ing on it to this day. Using server­less and only server­less is re­ally hard. Communication be­tween the UI and the API be­comes much more com­pli­cated, and if Firebase Auth had­n’t ex­isted, I’d have prob­a­bly gave up. The orig­i­nal ver­sion of GlitchyPastePen was made us­ing Express and EJS and I did­n’t have to worry about val­i­dat­ing API to­kens and user ses­sion ac­cess con­trols be­cause Express and EJS worked as a sin­gle thing, which was a whole lot eas­ier. But I’m not com­plain­ing, I learnt a lot while us­ing Vue and server­less func­tions, in­clud­ing Vercel and Netlify host­ing, us­ing Typescript for server­less func­tions, en­coun­ter­ing er­rors (a lot), SVG de­sign­ing with Adobe XD, us­ing Vue plu­g­ins and much more.

And it’s all start­ing to work! Editing, sav­ing, log­ging in and cre­at­ing new pro­jects all work. Our biggest prob­lem, which I’ve yet to over­come, is col­lab­o­ra­tion. I ini­tially did man­age to im­ple­ment col­lab­o­ra­tion with Firebase’s Realtime Database into Ace.js (thanks to this ar­ti­cle, may the au­thors of that ar­ti­cle live longer :)) but just a few days later, I switched the code ed­i­tor to Monaco. Monaco is this fancy web-based code ed­i­tor de­vel­oped by Microsoft that looks just like Visual Studio Code. Monaco’s API does not have the re­quired meth­ods for me to ex­actly du­pli­cate the Ace.js col­lab­o­ra­tion logic into Monaco, so I’m still work­ing on that.

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

Merry Christmas & Happy New Year