Skip to content

Instantly share code, notes, and snippets.

View sponomarev's full-sized avatar
🔴
Offline

Sergey Ponomarev sponomarev

🔴
Offline
View GitHub Profile
@sponomarev
sponomarev / mp3_to_ogg.sh
Last active August 29, 2015 14:00
mp3_to_ogg.sh
ffmpeg -i test.mp3 -vn -acodec libvorbis test.ogg
# oj gem
gem 'oj'
gem 'oj_mimic_json' # we need this for Rails 4.1.x
@sponomarev
sponomarev / query_management.sql
Last active August 29, 2015 14:04
PG query management in simple query snippets
-- This queries were tested on PostgreSQL 9.3.4
-- Provides detailed information about servers current connections
SELECT datname as database,
pid,
user as username,
application_name as application,
client_addr as client_address,
query
FROM pg_stat_activity;
@sponomarev
sponomarev / show_biggest_tables.sql
Created August 4, 2014 09:25
PG biggest table in database
-- Show biggest tables in your database
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 20;
@sponomarev
sponomarev / ddos.sh
Created September 15, 2014 07:13
Usefull commands when you are under ddos
# Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop
# Покажет распределение какой-либо строки по IP в логе.
grep "&key=" /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -n | tail -n 30
# С какого ip сколько запросов
netstat -ntu | awk '{print $5}'| cut -d: -f1 | sort | uniq -c | sort -nr | more
@sponomarev
sponomarev / convert.sh
Created October 17, 2014 09:22
convert any source video to fixed size flv with coloured letterboxes
# params: $input, $output, $width, $height, $color
# for landscape (normal) orientation
ffmpeg -y -i $input -vcodec flv1 -vf "scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2:color=$color" -vb 4000k -acodec mp3 -ar 44100 -ab 320k -vsync 1 -async 1 $output
# for portrait orientation
ffmpeg -y -i $input -vcodec flv1 -vf "transpose=1, scale=iw*min($width/iw\,$height/ih):ih*min($width/iw\,$height/ih), pad=$width:$height:($width-iw*min($width/iw\,$height/ih))/2:($height-ih*min($width/iw\,$height/ih))/2:color=$color" -vb 4000k -acodec mp3 -ar 44100 -ab 320k -vsync 1 -async 1 $output
@sponomarev
sponomarev / documents.rb
Last active August 29, 2015 14:17 — forked from dhh/documents.rb
# config/routes.rb
resources :documents do
scope module: 'documents' do
resources :versions do
post :restore, on: :member
end
resource :lock
end
end
@sponomarev
sponomarev / active_admin.css.scss
Last active December 24, 2015 23:39
active_admin bootstrap-like theme
$primary-color: #1B1B1B;
$text-color: #333;
$link-color: #08C;
$current-menu-item-background: $primary-color;
$hover-menu-item-background: $primary-color;
$secondary-gradient-start: #F7F7F9;
$secondary-gradient-stop: #F7F7F9;
require 'rubygems'
require 'eventmachine'
module ChatClient
def self.list
@list ||= []
end
def post_init
@name = "anonymous_#{rand(99999)}"
@sponomarev
sponomarev / Gemfile
Created January 29, 2014 11:45 — forked from gvarela/Gemfile
# A sample Gemfile
source "http://rubygems.org"
gem "redis"
gem 'eventmachine', :git => 'git://github.com/eventmachine/eventmachine.git'
gem "em-hiredis"
# gem "em-synchrony"
gem "em-websocket"