Skip to content

Instantly share code, notes, and snippets.

View qzaidi's full-sized avatar
💭
smiling

Qasim Zaidi qzaidi

💭
smiling
View GitHub Profile
@qzaidi
qzaidi / info_schema.sql
Last active August 29, 2015 13:56
mysql information schema queries
# Show largest tables and indexes
SELECT CONCAT(table_schema, '.', table_name),CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows,CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA,CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx,CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size,ROUND(index_length / data_length, 2) idxfrac FROM information_schema.TABLES ORDER BY data_length + index_length DESC LIMIT 10;
# Show temp table stats
show global status like '%tmp%'
@qzaidi
qzaidi / perf_schema.sql
Last active August 29, 2015 13:56
mysql performance schema
# verify if its on/off
SHOW VARIABLES LIKE 'perf%';
# List frequently running queries
select * from events_statements_summary_by_digest order by count_star desc limit 4;
# List queries creating temp tables
select * from events_statements_current where CREATED_TMP_DISK_TABLES > 0 limit 1\G;
@qzaidi
qzaidi / nginx.conf
Created February 20, 2014 10:49
stacked nginx
recursive_error_pages on;
location / {
try_files $uri @nodesrv;
}
location @nodesrv {
proxy_pass http://localhost:5000;
proxy_intercept_errors on;
error_page 404 = @phpsrv;
}
@qzaidi
qzaidi / cluster
Created March 22, 2014 18:09
script wrapper for running node daemons
#!/usr/bin/env node
//# vi: ft=javascript
"use strict";
var util = require('util');
var recluster = require('recluster');
var path = require('path');
var fs = require('fs');
var args = require('optimist').argv;
@qzaidi
qzaidi / slave-lag.sh
Created May 9, 2014 08:35
Monitor Slave Lag
#!/bin/bash
HOST=127.0.0.1
SUBJECT="Mysql replication problem"
EMAIL=qasim@paytm.com
RESULT=`mysql -h $HOST -e 'show slave status\G' | grep 'Last_SQL_Error:' | sed -e 's/ *Last_SQL_Error: //'`
if [ -n "$RESULT" ]; then
echo "Subject:$SUBJECT\r\n\r\n$RESULT\r\n.\r\n" | sendmail -f "$EMAIL" "$EMAIL"
else
@qzaidi
qzaidi / mysqlproxy.conf
Created March 4, 2015 06:25
upstart config
description "Start and stop the application running on nodejs"
author "paytm.com"
env APP_HOME=/var/www/market-catalog/releases/current
env NODE_ENV=production
env RUN_AS_USER=www-data
start on (net-device-up
and local-filesystems
and runlevel [2345])
@qzaidi
qzaidi / pre-commit
Created March 26, 2015 02:11
go precommit
VERBASE=$(git rev-parse --verify HEAD | cut -c 1-7)
echo $VERBASE
NUMVER=$(grep return version.go | sed 's/.*WP\.//' | sed 's/\..*//')
echo "old version: $NUMVER"
NEWVER=$(expr $NUMVER + 1)
BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "new version: WP.$NEWVER.$VERBASE"
BODY="package main\n\nfunc WPVersion() string {\n\treturn \"WP.$NEWVER.$BRANCH.$VERBASE\"\n}\n"
printf "$BODY" > version.go
git add version.go
@qzaidi
qzaidi / ffmpeg
Created April 16, 2015 01:46
ffmpeg experiments
#!/bin/sh
# use a single image
ffmpeg -loop 1 -i ./rajab3.jpg -i audio.mp3 -c:v libx264 -c:a aac -b:a 192k -strict experimental -pix_fmt yuv420p -shortest out.mp4
#use a fixed frame rate
ffmpeg -framerate 1/5 -i rajab%1d.jpg -i audio.mp3 -c:v libx264 -c:a aac -b:a 192k -strict experimental -pix_fmt yuv420p -shortest out.mp4
#image with drawtext
ffmpeg -loop 1 -i ./freeblue.jpg -vf drawtext=fontsize=14:fontcolor=Green:text='In the name of Allah\, most merciful':x=20:y=h/2 -c:v libx264 -c:a aac -b:a 192k -strict experimental -pix_fmt yuv420p -shortest out.mp4
# Arabic with drawtext
ffmpeg -loop 1 -i ./freeblue.jpg -vf drawtext=text_shaping:fontsize=14:fontfile=/Users/qasim/Library/Fonts/DejaVuSans.ttf:fontcolor=Green:text=أحمد:x=20:y=h/2 -c:v libx264 -c:a aac -b:a 192k -strict experimental -pix_fmt yuv420p -shortest out.mp4
# openvpn
#
description "OpenVPN - virtual private network daemon(s)"
author "Jay"
version "1.0.0"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
@qzaidi
qzaidi / Netstad.md
Created May 20, 2015 06:14
netstat

Monitoring natted traffic

netstat-nat

cat /proc/net/netstat or netstat -s