Skip to content

Instantly share code, notes, and snippets.

@why-not
why-not / shakespeare.txt
Created July 17, 2023 01:47
shakespeare
View shakespeare.txt
This file has been truncated, but you can view the full file.
First Citizen:
Before we proceed any further, hear me speak.
All:
Speak, speak.
First Citizen:
You are all resolved rather to die than to famish?
All:
@why-not
why-not / get_stats_youtube.py
Created March 10, 2023 02:35
Code to get basic stats from videos in a given list of playlists (youtube)
View get_stats_youtube.py
import time
import pandas as pd
from googleapiclient.discovery import build
# Enter your API key here
api_key = "API KEY HERE"
# Create a service object for the YouTube API
youtube = build('youtube', 'v3', developerKey=api_key)
@why-not
why-not / useful_bash_functions.sh
Created November 2, 2022 21:45
useful bash functions backup.
View useful_bash_functions.sh
function addpythonpath {
PYTHONPATH=$PYTHONPATH:`pwd`
sed -i '' '/^PYTHONPATH/d' ~/.bashrc
sleep .5
echo PYTHONPATH=$PYTHONPATH >> ~/.bashrc
}
# install yt-dlp first for this to work.
# streams youtube videos via VLC.
function ytvlc {
@why-not
why-not / multiplication_tables.py
Last active April 15, 2022 22:54
print multiplication tables for children, with color formatting if needed. (python, pandas)
View multiplication_tables.py
import pandas as pd
import numpy as np
def style_dataframe(df, maxvals=None):
result = df.style
result.set_properties(**{'text-align': 'center'})
result.set_properties(**{'font-family': 'monospace'})
result.set_properties(**{'font-weight': 'bold'})
result.set_table_styles([
@why-not
why-not / sign_verify.sh
Last active February 3, 2022 05:49
Sign and Verify Using Public/Private Keys
View sign_verify.sh
# generate private key
openssl genrsa -out private_key.pem 4096
# extract public key
openssl rsa -in private_key.pem -pubout > public_key.pub
# sign using private key
openssl dgst -sign private_key.pem -keyform PEM -sha256 -out VGG_ILSVRC_16_layers.caffemodel.sign -binary VGG_ILSVRC_16_layers.caffemodel
# extract using public key
@why-not
why-not / pandas_data_reader_example.py
Created September 13, 2019 03:59
pandas data reader for stock data.
View pandas_data_reader_example.py
# command to install this library.
# conda install pandas-datareader
# example 1
import pandas_datareader as pdr
tsla = pdr.DataReader('tsla', data_source='google', start='2017-1-1')
# example 2
# calculates the trailing stop order price, can be used for weight loss like time series as well.
@why-not
why-not / aws-get_ip-update_sublime.py
Last active August 6, 2018 03:46
When you have a Sublime Text SFTP remote folder mapping to an Amazon AWS machine, everytime you reboot you have to update your Sublime SFTP config file so it knows where the folder/files are now. This ofcourse is massively tragic and should not be permitted in a civilized society. Hence this script. It even prints a connection string, so you can…
View aws-get_ip-update_sublime.py
import json
import subprocess
"""EDIT FNAME TO UPDATE WITH YOUR LOCAL FILE PATH"""
FNAME = "/PATH/To/SUBLIME/SFTP/FILE/sftp-config.json"
def update_json_file(given_ip, filename):
jsonfile = open(filename, "r") # open the json file for reading
data = json.load(jsonfile) # read the json into the buffer
@why-not
why-not / shutdown-idle-aws.py
Last active October 18, 2023 19:39
Automatically stopping an AWS machine when users are not actively using a machine via ssh, and the CPU load avg over the past 5 mins is less than THRESHOLD. This will avoid getting billed for the machine when not in use (except ofcourse your storage will still be billed unless you delete everything and decommission those as well, which this scri…
View shutdown-idle-aws.py
#!/usr/bin/env python
# shell commands being automated.
# w
# aws ec2 stop-instances --instance-id INSTANCE_ID
"""
The script is the easy part, installing it into the unfriendly(imo) cron system and
making all the permissions and paths are set correctly is another issue altogether.
@why-not
why-not / stop-idle-azure.py
Last active October 16, 2023 23:29
Automatically Shutting Down and Deallocating an AZURE VM (when idle AND no one is logged in via SSH)
View stop-idle-azure.py
"""
The script is the easy part, installing it into the unfriendly(imo) cron system and
making all the permissions and paths are set correctly is another issue altogether.
cron will default to run as a root, so your scripts will fail because it is not running
in the correct python environment, also root might not have the paths for commands like 'python'
So best to run this in the user space where you are testing this script already.
Here is a cron command to add to the current user's cron than doing it for root.
sudo crontab -u ec2-user -e
@why-not
why-not / vector_intersection.md
Created December 11, 2016 05:04 — forked from hellpanderrr/vector_intersection.md
Python find intersection of two vectors using matplotlib and numpy
View vector_intersection.md
from numpy import dot,array,empty_like
from matplotlib.path import Path

def make_path(x1,y1,x2,y2):
    return Path([[x1,y1],[x1,y2],[x2,y2],[x2,y1]])

def perp( a ) :
    b = empty_like(a)
 b[0] = -a[1]