By Default, any ubuntu VM lacks quite some things & plugis. Zsh, Oh-My-Zsh, Ruby, Go, etc.
(Will keep on adding more items in this)

Installing Oh-My-Zsh

sudo apt install curl wget gitsudo apt install zshzsh --versionecho $SHELLchsh -s $(which zsh)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
ls ~/.oh-my-zsh/themes/
source ~/.zshrc

You may reach the author for Interesting Ideas / Startup discussions / Life and Philosophy at me@abhinavrai.com


A Chrome extension to transfer incoming whatsapp messages to a Google Sheets

Problem:

With wave 2 of Covid, a lot of systems are collapsing in India and people are helping each other out. One of the person’s personal whatsapp got forwarded as the helpline number and people started sending help pleas on it.

Throughput: 50+ Whatsapp Messages / hour at peak times.

Since only 1 whatsapp login is allowed, a single volunteer was understanding and writing all data in Google Sheets from where other people can pick up cases and help these people out. We wanted to save Time & Efforts…


Use Case

We have our website hosted on https://growpad.io and we want to add blog. Both website and blogs are made with Gatsby but with different themes and hence they are different packages to be served.

https://blogs.growpad.io Vs https://growpad.io/blogs

Winner: https://growpad.io/blogs for SEO purposes

So, on our nginx if a request that starts with /blogs come, that needs to be served to blogs gatsby build while the other ones have to be served by website gatsby build.

How Nginx works?

There is location block in nginx which directs what to do when a specific request matches the location. …


First, ssh into the digitalocean box | ssh root@123.123.123.123

1. Add key to Gitlab / Github so that you can clone the project in your repo and pull when you make a change.

ssh-keygen -t ed25519 -C "<comment>"vim /root/.ssh/id_ed25519.pub

Add this key to gitlab

Clone the repo

2. Install Go

curl -O https://dl.google.com/go/go1.15.2.linux-amd64.tar.gztar xvf go1.15.2.linux-amd64.tar.gzchown -R root:root ./gomv go /usr/local
vim ~/.bashrc
(Add the below export commands)
export GOPATH=$HOME/workexport PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source ~/.bashrcgo version

3. Install Nginx

apt updateapt install nginxsystemctl status nginx
vim /etc/nginx/sites-enabled/default# Add this in the location blockproxy_pass…


How to run rails server (or any server) on a VM?

server{
server_name api.grambuddy.com;
location / {
proxy_pass http://localhost:3002;
proxy_http_version 1.1;
}
listen 80;
listen [::]:80;
}

4. Create a symlink for it:

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp

5. Restart Nginx:

sudo nginx -s reload

How to run service?

cd /etc/systemd/system/<Create a new file - grambuddy-server.service> and enter the below details in it[Unit]
Description= instance to start grambuddy backend server
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/root/grambuddy
Restart=on-failure
RestartSec=5s
ExecStart=/bin/bash -lc 'bundle exec rails server -e production…


3 Simple steps

3. Click on the Upload tab. Choose the CSV file downloaded from grambuddy in this new window which appeared. And then click Upload it.


If you are doing a task which has a lot of numbers like

Grambuddy Retrying to check if rate limit is removed

Chances are that you would be Rate limited by Instagram, meaning that you cannot hit more requests for some time (~ say 5 minutes).

Grambuddy Automatically handles this and pauses for some time and when this rate limit…


Chrome’s auto update does not work most of the time. So, you got to manually do the update.

Turn the developer mode on -> Top right corner

3. As soon as you toggle, you would see the update button. Press this Button.


If you are getting stuck and cannot log out of instagram, here is the way to do so.

3. Press the arrow “>>” on the right side of network tab & select Application from Drop Down. Or If you can find Application directly, just click on the Application Tab.


Step 1: Install Screencastify chrome extension. Link: https://chrome.google.com/webstore/detail/screencastify-screen-vide/mmeijimgabbpbgpdklnllpncmdofkcpn?hl=en

Step 2: Connect your google drive to the extension as these videos are heavy and need to be saved somewhere.

Step 3: Press the extension button, choose the Browser Tab option & start the screen recording. To see the tutorial how the extension works, see this 2 minute tutorial — https://www.youtube.com/watch?v=uuJ2lF9RkgE&feature=youtu.be

Step 4: Download the saved video from the Drive. The file extension will be .webm . We need to convert this to GIF now. Visit https://cloudconvert.com/webm-to-gif and upload this file & start the conversion. This step can take about a minute depending on how big the file is.

Step 5: Download & Use your GIF!

By Grambuddy. Do visit Grambuddy on chrome web store & see instagram like never before. Download the extension from here. https://chrome.google.com/webstore/detail/grambuddy-ig-analytics-to/geanmonfjnphmeighphheddlmdlcjkho?hl=en

Abhinav Rai

Product Engineer at Go-Jek | Guitarist | Traveller | Entrepreneur

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store