Skip to content

Instantly share code, notes, and snippets.

View sandys's full-sized avatar

Sandeep Srinivasa sandys

View GitHub Profile
@sandys
sandys / search_api.rb
Created March 22, 2012 15:48
Ruby script to talk to google custom search api
require 'google/api_client'
client = Google::APIClient.new(:key => 'something')
client.authorization = nil
search = client.discovered_api('customsearch')
offset = 100
1.step(10,10) do |i|
#cx is gotten from the API registration page
@sandys
sandys / gist:2428218
Created April 20, 2012 12:36
debugging SOAP services
sudo tcpdump -A -i wlan0 |& tee /tmp/out
figure out the exact post command and use net/http to execute it
@sandys
sandys / hn-stylesheet
Created April 21, 2012 08:26
stylesheet for HN
body { margin: 35px 0 0; } table { background: none; } /* header */ table td[bgcolor] { margin: 0 0 20px 0; padding: 5px; display: block; background-color: #eee; position: fixed; z-index: 100; top: 0; left: 0; width: 100%; box-sizing: border-box; } table td[bgcolor] b a { font-size: 12px; width: 99px; } table td[bgcolor] a { font-size: 12px; } .pagetop b { margin-right: 20px; } table tr[style]:nth-child(2) { height: 15px ; } tbody tr:nth-child(3) table { margin-left: 0; display: block; } tbody tbody tr:nth-child(3n) { height: 12px ; } tbody tr:nth-child(3n) table { width: 100%; } tbody { position: relative; } /* hide numbering */ tbody tbody td.title:first-child { font-size: 1px; visibility: hidden; } .title:nth-child(3) { position: relative; z-index: 1; padding: 0 0 2px 0; } .title a { font-size: 14px; } .title a:visited { color: #999; } .subtext { padding: 2px 0; color: #fff; position: relative; } .subtext * { z-index: 10; color: #444; } /* points */ .subtext span { font-weight: bold; position: absolute; le
@sandys
sandys / hdparm.conf
Created May 1, 2012 14:53
raid setup on providerservice
#get data about current RAID
#1 block = 1kb
cat /proc/mdstat
mdadm --detail --scan
#to get to the real fstab
mount /dev/md1 /tmp/1
vi /tmp/1/etc/fstab #find out the md # of the partition that u want to reformat
mdadm --detail /dev/md6 #more details about that partition, especially the /dev/sda6 + /dev/sdb6 info
@sandys
sandys / secure_servers
Created May 3, 2012 07:50
Securing server processes by creating a non-privileged user to run commands
#add a system user
sudo adduser --system --home=/opt/openerp --group openerp
#copying config files to correct locations
#The below commands make the file owned and writeable only by the openerp user and group and only readable by openerp #and root.
sudo cp /opt/openerp/server/install/openerp-server.conf /etc/
sudo chown openerp: /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf
#running the command
@sandys
sandys / etc_monit_conf.d_localhost
Created May 4, 2012 12:59
secure and self contained ruby deployment with multiple load-balanced, boot-persistent and highly available thin servers, and a multi-user rvm environment
set httpd port 2812 and # Monit will run on port 2812
allow sss:sss123 #set your username and password to loin to your Monit
@sandys
sandys / gitolite_setup.sh
Created May 18, 2012 04:37
Gitolite installation using a secure user
#Notice that when we created the user, we used –disable-password, which prevents us logging into the machine using a password. Therefore we’ll need to upload a ssh key for running the installer. Here, I will create a public and private keypair with the name id_rsa_gitolite.
sudo adduser --system --shell /bin/bash --gecos 'git version control' --group --disabled-password --home /home/gitolite gitolite
@sandys
sandys / clojure-java-interop.md
Created June 19, 2012 08:00
clojure and java interop with repl

#standalone running of clojure and leiningen using only jars and no scripts java -Xbootclasspath/a:../clojure-1.4.0/clojure-1.4.0.jar -cp ../leiningen-2.0.0-preview6-standalone.jar clojure.main -m leiningen.core.main help

@sandys
sandys / shell.sh
Created June 28, 2012 11:34
shell utilities
# ls with dates formatted as timestamps
ls -ahltr --time-style=+%Y%m%d%H%M
@sandys
sandys / mp3_combine.sh
Created July 26, 2012 17:50
Combining many mp3s into a single file
sudo apt-get install libavcodec-extra-53
#This method re-encodes the audio. This method is slow, and lossy (mostly noticeable when using low bitrates), but the resulting mp3 file is properly playable in most media players. There are ways to merge mp3s without re-encoding, but the duration of the files can often not be properly detected by most players.
cvlc aa.mp3 bb.mp3 cc.mp3 --sout "#transcode{acodec=mp3,ab=<bitrate>,channels=2}:std{access=file,mux=raw,dst=1.mp3}" --sout-keep
#much faster
sudo apt-get install vbrfix libid3-tools libav-tools
cat 1.mp3 2.mp3 3.mp3 > tmp.mp3
#OR
ffmpeg -i concat:file1.mp3\|file2.mp3 -acodec copy tmp.mp3