Jan 17, 2020

Encrypting files with GPG

I often have to securely share sensitive files with colleagues. I do this several times a day so to save time I have a few scripts that run GPG commands to encrypt and decrypt files.

Keep reading→

Jan 7, 2020

Objectives for 2020

Happy New Year! I turned 26 late last year. The nice thing about having a birthday near the end of the year is I can plan for the next year of life with the calendar year, and treat New Year’s resolutions as age resolutions too. Here’s what I have planned for 2020.

Keep reading→

Oct 21, 2019

Using Ansible with GitHub Actions

My most recent work with GitHub Actions involves migrating Transverse from being deployed manually using Ansible run on my laptop to a CI/CD approach using Ansible on GitHub Actions. Now I can push changes and deploy from anywhere without requiring access to my personal laptop or the private keys to connect to my server.

Keep reading→

Oct 1, 2019

Stuff I Use

These are all of the things I use on a daily basis. Everything listed here is a high-quality product that I enjoy using and would recommend to others.

Keep reading→

Sep 9, 2019

Deploying projects to Cloud Run using GitHub Actions

Over the past month I made some small but significant changes to my notes app project called Contrast. It was always deployed as a Docker container on Google Cloud Run and that didn’t change, but the process of getting it there is now completely different. The build process now uses multi-stage Docker builds, is built using GitHub Actions workflows, and is deployed automatically on pushes.

Keep reading→

Jul 15, 2019

New project: Contrast Notes

I’m taking more notes at work these days. They’re mostly meeting notes and to-do lists. I was trying to figure out the best app for me to take notes the way I do. I didn’t like the Notes app on macOS or a text editor, so I decided to write my own Markdown notes app. It ended up being a great project idea!

I call it Contrast and it’s available here: https://contrast.site. I’m still working on the landing page. The code is on GitHub: https://github.com/Preetam/contrast. It uses Mithril.js, runs on Cloud Run (my first serverless app!), and I used Figma for the design.

It’s a very simple app. It runs entirely in the browser (no communication with the server) and uses local storage for saving. There’s no syncing. Instead, there is a “save” button you can use to save the Markdown contents of a note somewhere on your computer. I don’t need syncing or sharing support because these notes don’t last very long. Once I draft something and clean it up, I post it somewhere else like Slack or GitHub.

Besides actually using it to take notes, it’s also an exercise in designing something, building it, figuring out what doesn’t work in practice, and redesigning. The local saving and full rendered view features came after a few days of use and realizing they were something I really wanted. I’ll continue making small improvements over time, but I am still considering this project done.