Skip to content

Instantly share code, notes, and snippets.

View t27's full-sized avatar

Tarang Shah t27

View GitHub Profile
t27 /
Created May 6, 2021 04:01
Regularly Terminate AWS instances that are idle(<5% CPU Utilization) for the past 10 minutes
import json
import subprocess
import pendulum # pip install pendulum
# Note: This is a hacky, quick solution prototyped in less than an hour, the ideal solution would involve using boto3 and other best practices auth
# ensure that your AWS CLI is configured and has the keys and default region set up. This script works in the default region
instance_cmd = """
aws ec2 describe-instances \
t27 / videos_on_exported_notionhtml.txt
Created April 14, 2021 02:51
Videos on HTML export not properly exported fix : Notion (from Reddit)
Thanks to u/IAmBeardPerson on
var videos = document.getElementsByClassName("source");
for (var i = 0; i < videos.length; i++) {
var source = videos[i].getElementsByTagName("a");
if (source[0].href.includes("youtube")) {
var videoObject = document.createElement('iframe');
videoObject.src = source[0].href.replace("watch?v=", "embed/");
videos[i].style.padding = "0";
t27 / command.txt
Created December 14, 2020 08:23
Batch FFMpeg command for windows cmd
for /f "tokens=1 delims=." %a in ('dir /B *.webm') do ffmpeg -i "%a.webm" -c:v copy -crf 0 "%a.mp4"
# here "ffmpeg -i "%a.webm" -c:v copy -crf 0 "%a.mp4" is the command to repeat
t27 / bouncingball.js
Created November 24, 2020 02:19
p5 js Bouncing ball with squash and stretch for Graphics animation assignment
// Code for a bouncing ball animation in p5 Js
function setup() {
createCanvas(400, 400);
// frameRate(12)
u = 0
x = 200
y = 100
y_top = 100
last_ch = 60
t27 /
Last active April 28, 2023 20:15
Ublock Origin rules to hide the Cart sidebar that can't be hidden via any setting/config on the website
! Ublock Origin rules to hide the Cart sidebar that can't be officially hidden
! hide the sidebar
! ensure the rest of the site covers full width 0px !important)
t27 /
Created September 12, 2020 05:42
Create a Jupyter kernel from inside a Python environment
# ensure you have activated the environment
python -m ipykernel install --user --name my_env --display-name "Python (my_env)"
# this will create a Jupyter kernel called my_env that will use the python binary and the packages from the current project
t27 /
Created April 23, 2020 21:31
A simple way to convert a list of indices to a one-hot encoded vector using numpy
import numpy as np
q_word_idx = [1,2,4,7,6,2]
a_idx = [1,1,5,6,4,2]
q_word_idx = np.array(q_word_idx)
a_idx = np.array(a_idx)
q_vector_size = 8
a_vector_size = 8
# Got this from
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
# Where:
# “in.mp4” refers to the input file to be converted
# “out.mp4” is the name of the output file to be saved after conversion
# out_w is the width of your desired output rectangle to which the original video’s width will be reduced
# out_h is the height of your output rectangle to which the original video’s height will be reduced
# x and y are the position coordinates for the top left corner of your desired output rectangle
t27 /
Created March 26, 2020 06:18
Convert Video to Images using FFMPEG
ffmpeg -i input.flv -vf fps=1 out%d.png
# fps is number of images per second
t27 /
Last active June 14, 2024 12:39
Dealing with the Linux OOM Killer

Dealing with the Linux OOM Killer at the program level

Do this in cases when you dont want to change the os-level settings, but only want to disable the OOM killer for a single process. This is useful when youre on a shared machine/server.

The OOM killer uses the process level metric called oom_score_adj to decide if/when to kill a process. This file is present in /proc/$pid/oom_score_adj. The oom_score_adj can vary from -1000 to 1000, by default it is 0.

You can add a large negative score to this file to reduce the probability of your process getting picked and terminated by OOM killer. When you set it to -1000, it can use 100% memory and still avoid getting terminated by OOM killer.