Asana to ICal Sync ICal feed with Google Calendar Asana to ICal # Script below fetches events from Asana and returns formatted ICal Feed. I deployed the function as a lambda on Vercel . Sync ICal feed with Google Calendar # The existing Google Calendar ICal sync updates very slow (between 12-24 hours). So I used the script from https://github.com/derekantrican/GAS-ICS-Sync to sync events from…
I’ve been wanting to try using Grocy to manage some household inventory but couldn’t find a server where I could host PHP for free but is also up to date enough to support SQLite version 3.90 ( see Github issue ). When researching the latest platforms that I could deploy websites and APIs (for free) , I found out about Fly , their generous free plan (no sleep + persistent storage) and their…
General Components # https://tailwindcomponents.com/ https://www.tailwind-kit.com/components https://tailblocks.cc/ https://www.gustui.com/docs https://flowbite.com/docs/components/alerts/ https://blocks.wickedtemplates.com/ (some with Alpine.js) https://postsrc.com/components More Tailwind CSS Component resources here Full Page Demos #…
Personally have tried most of the platforms here. All platforms have a generous free tier, with different limitations. Website + API + Database # Deta - Totally free. Something quite new that I found out, still exploring and built a couple of prototypes with it. Apparently they will have an alternative way to generate revenue . Fly - generous free plan, able to host three servers with Heroku style…
Install Android debug bridge: https://www.xda-developers.com/install-adb-windows-macos-linux/ Enable USB debugging on phone (if not already done in step 1): https://developer.android.com/studio/command-line/adb#Enabling Connect your device to your laptop and make sure device shows up in ADB with running this command in the terminal: adb devices (if not already done in step 1) If you don’t know the…
Ongoing collection of resources I found helpful/that I want to refer back to as I begin my data science journey. Tutorials # https://machinelearningmastery.com/ - online blog tutorials https://jovian.ai/ https://paperswithcode.com/ - research papers with code https://www.freecodecamp.org/learn/machine-learning-with-python/ NLP # https://huggingface.co/ Malay based models:…
Ongoing collection of resources I found helpful/that I want to refer back to as I begin my investment journey. Contains mixture of Malaysia, US, crypto etc. Malaysian Portfolio Updates/Reference # https://dividendmagic.com.my/best-dividend-stocks-in-malaysia/ https://marcuskeong.com/stock-portfolio-update/ https://ringgitfreedom.com/category/updates/monthly-review/…
Ongoing list of tips and fixes with KDE Plasma on Manjaro Unzip/Unarchive files Tiling window manager like experience (like i3) Open specific Settings screens directly Remember folder structure per folder on dolphin Windows like Icon theme xbacklight command not working Launch .desktop files from command line Update application list after creating .desktop file Install WPS office and block…
The Zapier integration between Google Form and Trello only allows one to add color labels and custom text labels separately, but the custom text labels added by Trello were not matched with the right color label. To circumvent that, I created a custom google-apps-script that emails the Google Form response as a card to Trello directly (guide to set up Trello Board email here ) The script below is…
Steps # Create a new project at https://script.google.com/ . Paste one of the scripts below into Code.gs . a. Simple Daily b. Complex Daily c. Complex Generic Modify as desired with URLs/webhooks from Vercel / Netlify etc. Test code by running dailyCron function from editor (will be prompted to authenticate on the first time). Go to Triggers on the left sidebar (has the clock icon). Select Add…
My first intro to Javascript frontend frameworks is through Vue.js in 2017. I really like Vue’s Single File Components and how similar the Vue syntax is to HTML. Naturally, I transitioned to the batteries loaded Nuxt.js that already sets up Vue Router, Vuex, SSR etc under the hood. In fact I built the first iteration of this blog with Nuxt’s static mode and the very helpful Nuxt Content module. As…
Just hang in there You will get there It’s fine to shed a little tear When things are just too much to bear Just hang in there You will get there It’s fine to share your fears and struggles With the people that you care Lyrics for this song came to me in one of my lower moments. I just finished an exam, and was walking home in the dark in the middle of the winter to join a Zoom meeting. It’s been…
What is Hide Discord Sidebar? # Hide Discord Sidebar is a Chrome extension for Discord users who find the Discord sidebar too huge and wish to minimize/hide it when they are not using it. This extension minimizes the channels list into a small left sidebar when it is not in use as well as installs a button on the top right corner that hides/shows the Discord server list. How did it come about? #…
Prayer exposes sin. Just like any rightful worship of god should magnify His glory and our need for his grace. It requires commitment and repentance. (Paul E. Miller, A Praying Life) Pray about what your mind is wandering to. Maybe it is something that is important to you. Maybe the Spirit is nudging you to think about something else. (Paul E. Miller, A Praying Life) When you know that you (like…
Problem What happened? Solution Final Thoughts Problem # I was migrating this blog from hmsk/frontmatter-markdown-loader to @nuxt/content to make use of @nuxt/content ’s powerful Markdown query features and faced a weird bug when I was setting things up. I adapted the code from https://content.nuxtjs.org/fetching but got: But when I visited the url at http://localhost:3000/_content/pages/home.md ,…
Note : I would recommend anyone using Vue.js and wants to turn their webapp into a mobile app to checkout Quasar . They do it very well out of the box! What is Ionic Capacitor? # Capacitor is a cross-platform app runtime that makes it easy to build web apps that run natively on iOS, Android, and the web. - From Capacitor Docs Capacitor is created by the Ionic framework (which is why I refer to it…
After getting a good part of this site together, I thought that it would be cool to get a personal domain name for the site. A quick search on popular domain name providers brought me to Namecheap where I found out that a .com domain only costs USD8.88 for a year! 😮 That’s about the price of a cheap meal in the US, or in the case of Malaysia, USD 8.88 = ~RM36 which is about the price of 4 decent…
I was quite into the scrabble theme after making the favicon for this site and hence decided to build on it by creating scrabble theme headings! I believe it can be better/made more dynamic by making the padding sizes more responsive to the font size. I’ll try to do that before incorporating it as a vue component on this site. Check the Codepen below for what I have right now: See the Pen Scrabble…
Crash and Burn And do it all over again Inspiration # I’ve always had fond memories of the Crash Bandicoot racing games because they remind me of the days in middle school when I used to play the game with my friends on the Playstation. Here’s a snippet of gameplay footage when four people are playing at the same time: If you noticed, the backing track is pretty quiet and simple during the race.…
I’m still in the midst of figuring out the mood/vibe of this site, but a site definitely needs an original favicon. so I decided to experiment with a favicon generator at https://favicon.io/favicon-generator/ . The end result is a favicon that looks like a Scrabble tile, which I felt was kinda apt. Scrabble tiles are a bit like a lego pieces. You can build words with them, rearrange them to make…
Yay I finally have a personal site! 😄 Been on my mind for a good number of years now. I did some digging and found a template at https://github.com/Gomah/bluise that uses NuxtJS, Tailwind CSS and Netlify CMS. I’m familiar with Nuxt/Vue.JS and have been wanting to get my hands dirty with Tailwind CSS and Netlify CMS, so this is a pretty cool opportunity. Looking forward to playing around with the…