Skip to content

Instantly share code, notes, and snippets.

@kapkaev
kapkaev / script.sh
Created April 23, 2012 06:45
macosx mysql remove
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo vim /etc/hostconfig #remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
@kapkaev
kapkaev / gist:2602880
Created May 5, 2012 14:29
secure nginx video streaming
# Actual Streaming
location ~ /streaming/(.*\.mp4)$ {
# Fix strange CPU usage caused by gzip
gzip off;
gzip_static off;
limit_rate_after 10m;
limit_rate 400k;
alias /streaming/$1;
internal;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.redis.redis-server</string>
<key>Program</key>
<string>/usr/local/redis/bin/redis-server</string>
<key>ProgramArguments</key>
@kapkaev
kapkaev / quiet_assets.rb
Created May 17, 2012 12:51
quiet_assets.rb
if Rails.env.development?
Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
def call_with_quiet_assets(env)
previous_level = Rails.logger.level
Rails.logger.level = Logger::ERROR if env['PATH_INFO'] =~ %r{^/assets/}
call_without_quiet_assets(env)
ensure
Rails.logger.level = previous_level
end
@kapkaev
kapkaev / io.redis.redis-server.plist
Created May 17, 2012 14:37
redis macos autostart
#sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
@kapkaev
kapkaev / config.rb
Created May 23, 2012 07:51
rails time zone
config.active_record.default_timezone = 'Moscow'
config.time_zone = 'Moscow'
$('#image_image').change(function()
{
form=document.getElementById('new_image')
data=new FormData(form)
var xhr = new XMLHttpRequest();
xhr.open("POST", "images");
xhr.send(data);
});
def create
@post = Post.find_by_slug(params[:post_id])
@image = @post.images.build(params[:image])
if @image.save
respond_to do |format|
format.js
end
end
end
@kapkaev
kapkaev / 0. nginx_setup.sh
Created August 5, 2012 11:10 — forked from mikhailov/0. nginx_setup.sh
Nginx + secure pseudo-streaming
# Nginx can serve FLV/MP4 files by pseudo-streaming way without any specific media-server software.
# To do the custom build we use 2 modules: --with-http_secure_link_module --with-http_flv_module
# This module "secure-link" helps you to protect links from stealing away.
#
# NOTE: see more details at coderwall: http://coderwall.com/p/3hksyg
$ cd /usr/src
$ wget http://nginx.org/download/nginx-1.2.2.tar.gz
$ tar xzvf ./nginx-1.2.2.tar.gz && rm -f ./nginx-1.2.2.tar.gz
@kapkaev
kapkaev / 0. nginx_setup.sh
Created August 5, 2012 11:22 — forked from mikhailov/0. nginx_setup.sh
Nginx+Unicorn
# Nginx+Unicorn best-practices congifuration guide.
# We use latest stable nginx with fresh **openssl**, **zlib** and **pcre** dependencies.
# Some extra handy modules to use: --with-http_stub_status_module --with-http_gzip_static_module
#
# Deployment structure
#
# SERVER:
# /etc/init.d/nginx (1. nginx)
# /home/app/public_html/app_production/current (Capistrano directory)
#