Blog
July 08, 2024
My first week of ZettelkastenJuly 06, 2024
How I built an AI Discord BotJuly 04, 2024
An introduction to Postgres Row Level Security (RLS)October 03, 2023
Use a Makefile to run Vite and Express at the same timeSeptember 19, 2023
What do writing and test-driven development have in common?May 23, 2023
![blog-post-icon](/img/n/clerkdev-tokens-in-go-netlify-functions/0961e23c-c09b-4514-8270-66d72407a6c9-W9i11EoA_400x400.jpg)
May 18, 2023
![blog-post-icon](/img/n/streamline-docker-development-with-makefiles/1c3abe37-6907-4420-a1a8-e93a06b9bd95-docker-logo.png)
May 09, 2023
![blog-post-icon](/img/n/automating-my-content-planning-process/bb22a722-72cf-4d5d-9e32-5d2a0d6d72cc-Notion_app_logo.png)
May 02, 2023
![blog-post-icon](/img/n/automating-posthog-annotations/7375f389-0b3a-472a-b8f2-522f096e4266-84f60f9b33de4b4ea4b29bf30a0c7cc8.png.webp)
April 25, 2023
![series icon](/img/n/building-guardianforge/191f653a-354f-4ba3-acbd-3a47f683b29f-favicon-base.png)
April 19, 2023
![series icon](/img/n/developing-for-notion/259bbde3-73c5-4242-9aa1-e28887edde35-Notion_app_logo.png)
April 11, 2023
![blog-post-icon](/img/n/how-i-cross-post-to-hashnode-and-devto/b774e590-e398-4e58-aede-3a23e38fab3f-264-2641184_111-kb-png-golang-logo.png)
April 04, 2023
February 03, 2023
![blog-post-icon](/img/n/my-notion-note-taking-automations/02d14448-4d5f-412d-b732-fb332f0ab682-Notion_app_logo.png)
December 28, 2022
Experiences with Fauna's Query Language (FQL)December 01, 2022
![series icon](/img/n/building-tootahead/f985bfcf-9d75-464a-afe6-96fa2e218746-logo.png)
November 29, 2022
![blog-post-icon](/img/n/build-a-responsive-modal-with-svelte-and-tailwind/531b3b99-f51d-4234-9f0d-e63fc7aa8e00-svelte-logo-E3497608CB-seeklogo.com.png)
November 24, 2022
![series icon](/img/n/building-tootahead/f985bfcf-9d75-464a-afe6-96fa2e218746-logo.png)
October 04, 2022
![blog-post-icon](/img/n/first-experience-with-framer-motion/bfb997e4-170b-4a00-8a8b-bfd89e622821-framer-motion-300x290.webp)
September 16, 2022
![blog-post-icon](/img/n/how-i-learn-new-stuff-in-tech/6ff44c7e-e999-42a3-a9c2-ac8dd84a295f-nerd.png)
September 14, 2022
![blog-post-icon](/img/n/migrating-from-google-analytics-to-posthog/0e058da6-1b29-425a-adc1-c73f0c748d8f-84f60f9b33de4b4ea4b29bf30a0c7cc8.png.webp)
September 12, 2022
![blog-post-icon](/img/n/querying-a-graphql-service-with-go/0f229fa7-b8ab-4bbd-b273-d53515e4e21b-264-2641184_111-kb-png-golang-logo.png)
August 21, 2022
![series icon](/img/n/building-guardianforge/191f653a-354f-4ba3-acbd-3a47f683b29f-favicon-base.png)
August 19, 2022
![series icon](/img/n/building-a-serverless-api-in-aws-with-go/2cf45e1c-e5be-4425-bcd3-368f2cf51796-264-2641184_111-kb-png-golang-logo.png)
July 21, 2022
![series icon](/img/n/building-a-serverless-api-in-aws-with-go/2cf45e1c-e5be-4425-bcd3-368f2cf51796-264-2641184_111-kb-png-golang-logo.png)
July 01, 2022
![blog-post-icon](/img/n/first-experience-with-planetscale/1b441663-147f-41cb-887c-ef608446b227-planetscale-logo-0EEA8CAEB4-seeklogo.com.png)
June 28, 2022
![series icon](/img/n/building-guardianforge/191f653a-354f-4ba3-acbd-3a47f683b29f-favicon-base.png)
June 27, 2022
Porting my Website to Gatsby & WordPressApril 19, 2022
![series icon](/img/n/building-a-serverless-api-in-aws-with-go/2cf45e1c-e5be-4425-bcd3-368f2cf51796-264-2641184_111-kb-png-golang-logo.png)
March 29, 2022
![series icon](/img/n/building-a-serverless-api-in-aws-with-go/2cf45e1c-e5be-4425-bcd3-368f2cf51796-264-2641184_111-kb-png-golang-logo.png)
March 22, 2022
Publish Your Own Go PackageMarch 15, 2022
Create Your Own VSCode SnippetsMarch 04, 2022
Setting Up a Content Pipeline in NotionDecember 27, 2021
![series icon](/img/n/developing-for-notion/259bbde3-73c5-4242-9aa1-e28887edde35-Notion_app_logo.png)
December 22, 2021
Goals for 2022December 21, 2021
Reflecting on 2021December 02, 2021
My Personal To Do ProcessAugust 23, 2021
![series icon](/img/n/building-guardianforge/191f653a-354f-4ba3-acbd-3a47f683b29f-favicon-base.png)
August 20, 2021
![series icon](/img/n/building-guardianforge/191f653a-354f-4ba3-acbd-3a47f683b29f-favicon-base.png)
April 01, 2021
Building Postman2Http in GoMarch 10, 2021
Easy CRUD with FaunaServiceMarch 03, 2021
March 02, 2021
February 23, 2021
![series icon](/img/n/deploy-vue-apps-to-aws/17b2890a-f5c7-406a-9cc4-00b247e5209b-vue-logo.png)
February 16, 2021
![series icon](/img/n/deploy-vue-apps-to-aws/17b2890a-f5c7-406a-9cc4-00b247e5209b-vue-logo.png)
December 10, 2020
![series icon](/img/n/automating-trello/6541a2c2-c625-487a-b5f5-548274a5c7f7-trello.png)
December 07, 2020
![series icon](/img/n/automating-trello/6541a2c2-c625-487a-b5f5-548274a5c7f7-trello.png)
December 03, 2020
![series icon](/img/n/building-tootahead/f985bfcf-9d75-464a-afe6-96fa2e218746-logo.png)
October 25, 2020
Creating Standalone Apps in NodeJS with pkg.jsOctober 22, 2020
![series icon](/img/n/websites-with-gridsome-and-wordpress/4657d52e-dcf8-4695-a1d0-f239ba8e11f2-gridsome-logo.png)
October 14, 2020
![series icon](/img/n/websites-with-gridsome-and-wordpress/4657d52e-dcf8-4695-a1d0-f239ba8e11f2-gridsome-logo.png)
October 12, 2020
![series icon](/img/n/websites-with-gridsome-and-wordpress/4657d52e-dcf8-4695-a1d0-f239ba8e11f2-gridsome-logo.png)
October 07, 2020
Running WordPress in Docker for DevelopmentSeptember 29, 2020
Getting Started with VueJSSeptember 17, 2020
Private NPM Packages with GitHub Actions & PackagesSeptember 09, 2020
Lessons Learned With Netlify FormsSeptember 07, 2020
My GTD workflowAugust 27, 2020
Introducing BMOPS, My Custom CMSAugust 12, 2020
Tips for Job HuntingAugust 03, 2020
![series icon](/img/n/coding-nodejs-apis/7605a144-df90-4627-84e3-607eba32f401-pngflow.com.png)
July 20, 2020
![series icon](/img/n/coding-nodejs-apis/7605a144-df90-4627-84e3-607eba32f401-pngflow.com.png)
July 13, 2020
![series icon](/img/n/coding-nodejs-apis/7605a144-df90-4627-84e3-607eba32f401-pngflow.com.png)
July 06, 2020
![series icon](/img/n/coding-nodejs-apis/7605a144-df90-4627-84e3-607eba32f401-pngflow.com.png)
June 29, 2020
![series icon](/img/n/coding-nodejs-apis/7605a144-df90-4627-84e3-607eba32f401-pngflow.com.png)
June 24, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 22, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 19, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 17, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 15, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 12, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 10, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 08, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 05, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 03, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
June 01, 2020
![series icon](/img/n/coding-discord-bots-in-javascript/02a493f9-24ab-4088-8b0d-f828806f7f66-Discord-Logo-Colo.png)
April 30, 2020
Reviving Enviari On MixerApril 16, 2020
Embracing Imposter SyndromeApril 11, 2020
Nodist: Running multiple version of NodeJS on WindowsMarch 24, 2020
Cloud Challenge: Build a Pipeline with Azure DevOpsMarch 15, 2020
Cloud Challenge: Deploy a Frontend App to Azure CDNMarch 09, 2020
Cloud Challenge: Deploy a Docker Container on Azure AKSFebruary 28, 2020
Cloud Challenge: Build an API in AzureFebruary 16, 2020
![series icon](/img/n/deploy-vue-apps-to-aws/17b2890a-f5c7-406a-9cc4-00b247e5209b-vue-logo.png)
February 03, 2020
Script-Scheduler: A cron based NodeJS script runnerJanuary 26, 2020
Deploy a website to AWS CloudFront