Skip to content

Instantly share code, notes, and snippets.

@rvaidya
rvaidya / serverlesspricing.js
Created November 22, 2016 03:12
AWS Serverless pricing calculator
let jobsPerMinute = 60;
let lambdaMemory = 128;
let lambdaExecutionsPerJob = 3;
let averageJobRuntimeInMS = 1024;
let sqsMessageSizeInKB = 64;
let minutesPerMonth = 43800;
let hoursPerMonth = minutesPerMonth / 60;
let jobsPerHour = jobsPerMinute * 60;
@rvaidya
rvaidya / dynamoose.d.ts
Created December 1, 2016 20:02
Typescript definition for dynamoose
// Type definitions for dynamoose 0.7
// Project: https://github.com/automategreen/dynamoose
// Definitions by: Rahul Vaidya <https://github.com/rvaidya>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module "dynamoose" {
import AWS from 'aws-sdk';
export class Dynamoose {
constructor();
@rvaidya
rvaidya / database_table_extract.py
Created August 13, 2018 22:23
Dask DataFrame read_sql_table using sqlalchemy reflection to detect column types
from dask.dataframe import read_sql_table
import pandas as pd
import numpy as np
from sqlalchemy import create_engine, schema
from config import database_config
# Copied from pandas with modifications
def _get_dtype(column, sqltype):
@rvaidya
rvaidya / database_to_parquet.py
Last active September 17, 2024 02:38
Dump database table to parquet file using sqlalchemy and fastparquet. Useful for loading large tables into pandas / Dask, since read_sql_table will hammer the server with queries if the # of partitions/chunks is high. Using this you write a temp parquet file, then use read_parquet to get the data into a DataFrame
import pandas as pd
import numpy as np
import fastparquet
from sqlalchemy import create_engine, schema, Table
# Copied from pandas with modifications
def __get_dtype(column, sqltype):
import sqlalchemy.dialects as sqld
@rvaidya
rvaidya / gist:49db1044bfbf91aab1e170cf5c3a197b
Created June 28, 2020 07:49
Ultimate VR Essentials Mod List
Search "modName=" (496 hits in 1 file)
Z:\Temp\7zOC2107F04\modlist~ (496 hits)
Line 9: modName=Mod Organizer 2
Line 35: modName=A Quality World Map
Line 56: modName=Alpine Forest of Whiterun Valley
Line 76: modName=Alternate Start - Live Another Life
Line 96: modName=aMidianBorn Book of Silence
Line 116: modName=aMidianBorn Textures For Immersive Armors and Lore-Friendly Armor Pack
Line 136: modName=Amulets of Skyrim SSE
Line 156: modName=Andragorn Weapons SSE
@rvaidya
rvaidya / OnWipe.xml
Created October 14, 2021 16:54 — forked from TomRichter/OnWipe.xml
Installation Instructions for FFXIV ACT + Key Plugins
<?xml version="1.0"?>
<TriggernometryExport Version="1">
<ExportedTrigger Enabled="true" Name="On Wipe" Id="d2f2668d-dfd5-456d-a404-1d2b5cdd18cd" RegularExpression="(wipeout|0038:end|21:([0-9,a-f,A-F]{8}):40000010)" DebugLevel="Inherit" PrevActions="Keep" PrevActionsRefire="Allow" Scheduling="FromFire" PeriodRefire="Allow" RefirePeriodExpression="0">
<Actions>
<Action DiscordTts="false" OrderNumber="1" AuraImageMode="Normal" TextAuraAlignment="MiddleCenter" TextAuraFontSize="8.25" TextAuraEffect="None" TextAuraUseOutline="false" Enabled="true" ActionType="EndEncounter" ExecutionDelayExpression="0" Asynchronous="true" DebugLevel="Inherit" RefireInterrupt="false" RefireRequeue="true" SystemBeepFreqExpression="1000" SystemBeepLengthExpression="100" PlaySoundVolumeExpression="100" PlaySoundExclusive="true" PlaySoundMyself="false" PlaySpeechMyself="false" UseTTSVolumeExpression="100" UseTTSRateExpression="0" UseTTSExclusive="true" LaunchProcessWindowStyle="Normal" ExecScriptType="CSharp" MessageBoxIcon
@rvaidya
rvaidya / aqara_magic_cube.yaml
Last active March 9, 2024 01:38
ZHA - Aqara Magic Cube
blueprint:
name: Aqara Magic Cube
description: Control anything using Aqara Magic Cube.
domain: automation
input:
remote:
name: Magic Cube
description: Select the Aqara Magic Cube device
selector:
device:
@rvaidya
rvaidya / ffxiv_p4s_s_rot.txt
Created May 25, 2022 21:13
FFXIV P4S S/S Rot breakdown
A breakdown of S/S Rot:
If you are taking tethers, stand IN boss hitbox
If you are not taking tethers, stand MAX MELEE
If you are resolving rot, SPREAD
IF you are not resolving rot, STACK
So,
DPS all = DPS spread IN, T/H stack MAX MELEE. DPS that need rot step back to grab it then stack IN for tethers.
T/H all = T/H spread IN, DPS stack MAX MELEE. T/H that need rot step back to grab it then stack IN for tethers.