sakuric 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +13 -0
- data/Gemfile +22 -0
- data/Gemfile.lock +60 -0
- data/HISTORY.yml +13 -0
- data/INSTALL +5 -0
- data/LICENSE +1 -0
- data/Makefile +19 -0
- data/Manifest +405 -0
- data/README.md +72 -0
- data/Rakefile +4 -0
- data/TODO +3 -0
- data/VERSION +1 -0
- data/bashrc +30 -0
- data/bashrc.d/00-functions.include +7 -0
- data/bashrc.d/01-sakura_checks.include +15 -0
- data/bashrc.d/02-uname.include +11 -0
- data/bashrc.d/80-ruby.include +4 -0
- data/bashrc.d/99-dirs.include +11 -0
- data/bashrc.d/aliases.include +20 -0
- data/bashrc.d/common.include +7 -0
- data/bashrc.d/local.d/README +1 -0
- data/bashrc.d/local.d/nothing.include +0 -0
- data/bashrc.d/uname.d/Darwin +6 -0
- data/bashrc.d/uname.d/Linux +0 -0
- data/bashrc.local.sample +11 -0
- data/bin/10 +7 -0
- data/bin/10times +7 -0
- data/bin/1every +22 -0
- data/bin/1everyN +22 -0
- data/bin/1suN +22 -0
- data/bin/2 +5 -0
- data/bin/act +24 -0
- data/bin/amarelo +2 -0
- data/bin/arancio +4 -0
- data/bin/arcobaleno +10 -0
- data/bin/bianco +3 -0
- data/bin/black +2 -0
- data/bin/brew-install +3 -0
- data/bin/cache +50 -0
- data/bin/cache3 +50 -0
- data/bin/cheorae +4 -0
- data/bin/colorastdouterr +37 -0
- data/bin/cp2desktop +3 -0
- data/bin/create-git-repo.sh +24 -0
- data/bin/csoe +37 -0
- data/bin/data +3 -0
- data/bin/derive +90 -0
- data/bin/dimmi +31 -0
- data/bin/dimmiora +4 -0
- data/bin/doppioni +48 -0
- data/bin/du- +9 -0
- data/bin/duplicates +48 -0
- data/bin/echodo +7 -0
- data/bin/ensure_line_present +82 -0
- data/bin/epoch2date +5 -0
- data/bin/fanout +100 -0
- data/bin/find-broken-symlink +26 -0
- data/bin/find-duplicates +48 -0
- data/bin/find-special-chars-within-filenames +12 -0
- data/bin/fix-terminal +5 -0
- data/bin/gce-create-centos-instance +5 -0
- data/bin/gce-create-custom-image +8 -0
- data/bin/gce-curl-get-instances-for-project +7 -0
- data/bin/gce-get-token +3 -0
- data/bin/gce-getproject-metadata +35 -0
- data/bin/gce-public-ip +4 -0
- data/bin/gcutil-fetch +36 -0
- data/bin/giallo +2 -0
- data/bin/git-clone-in-non-empty-dir +21 -0
- data/bin/git-ignore +3 -0
- data/bin/git-repos +98 -0
- data/bin/git-repos.py +99 -0
- data/bin/gitinfo +2 -0
- data/bin/google-spreadsheet-cat +40 -0
- data/bin/google_ips +5 -0
- data/bin/gray +3 -0
- data/bin/green +2 -0
- data/bin/grigio +3 -0
- data/bin/gsutil-debug-bucket +12 -0
- data/bin/gsutil-get-oauth2-token +4 -0
- data/bin/gugol-image +74 -0
- data/bin/hamachi-ubuntu-install +17 -0
- data/bin/head-1^-1 +5 -0
- data/bin/ifdownup +13 -0
- data/bin/immature/ok2 +25 -0
- data/bin/immature/twice-still-broken +9 -0
- data/bin/install-gic-repo +13 -0
- data/bin/install-sakura-on-debian-latest +6 -0
- data/bin/iphoto_big_files.sh +37 -0
- data/bin/itunes +140 -0
- data/bin/jason-xpath.rb +54 -0
- data/bin/jsawk +1128 -0
- data/bin/json-xpath.rb +54 -0
- data/bin/keepup +13 -0
- data/bin/lsof-top10 +3 -0
- data/bin/minicook +218 -0
- data/bin/mv2. +2 -0
- data/bin/mv2desktop +2 -0
- data/bin/mv2dropbox +2 -0
- data/bin/mv2here +2 -0
- data/bin/mvto +39 -0
- data/bin/nero +2 -0
- data/bin/never_as_root +18 -0
- data/bin/not +16 -0
- data/bin/ok +42 -0
- data/bin/orange +4 -0
- data/bin/pink +2 -0
- data/bin/polygen-dell +7 -0
- data/bin/polygen-heanet +6 -0
- data/bin/polygen-labs +4 -0
- data/bin/print_key_val +4 -0
- data/bin/rainbow +10 -0
- data/bin/recipe +19 -0
- data/bin/red +2 -0
- data/bin/remember-command +140 -0
- data/bin/remember-command.rb +140 -0
- data/bin/richelp +99 -0
- data/bin/ricorda-comando +140 -0
- data/bin/rosa +2 -0
- data/bin/rosso +2 -0
- data/bin/run-parts.sh +50 -0
- data/bin/sakura-check-version +48 -0
- data/bin/sakura-init.DRAFT +5 -0
- data/bin/sakura-version +2 -0
- data/bin/sano +5 -0
- data/bin/sbianca +3 -0
- data/bin/sblua +2 -0
- data/bin/setterm-reset +5 -0
- data/bin/sgialla +2 -0
- data/bin/sgrigia +2 -0
- data/bin/split +37 -0
- data/bin/split.rb +37 -0
- data/bin/srosa +1 -0
- data/bin/srossa +2 -0
- data/bin/strip-white-spaces +2 -0
- data/bin/stty-sane +5 -0
- data/bin/sudo^-1 +18 -0
- data/bin/sverda +6 -0
- data/bin/swift-saio-install.sh +336 -0
- data/bin/synergyc +0 -0
- data/bin/synergys +0 -0
- data/bin/syracuse.pl +29 -0
- data/bin/tail-n+2 +5 -0
- data/bin/tellme +31 -0
- data/bin/tellme-time +4 -0
- data/bin/timeout3 +91 -0
- data/bin/top5 +4 -0
- data/bin/trim +4 -0
- data/bin/trova-broken-symlink +26 -0
- data/bin/twice +5 -0
- data/bin/twice.rb +5 -0
- data/bin/ubuntu-install-hamachi64 +17 -0
- data/bin/ultimo +5 -0
- data/bin/upload.py +2380 -0
- data/bin/usleep +0 -0
- data/bin/varia +90 -0
- data/bin/verde +2 -0
- data/bin/vermelho +2 -0
- data/bin/vim-whereveritis +5 -0
- data/bin/viola +1 -0
- data/bin/virsh-list-all-vms.py +21 -0
- data/bin/virtualbox-manage +41 -0
- data/bin/weekend +12 -0
- data/bin/whattimeisit +4 -0
- data/bin/whereis-ip +5 -0
- data/bin/white +3 -0
- data/bin/whitefy +3 -0
- data/bin/yellow +2 -0
- data/bin/yellowfy +2 -0
- data/bin/zombies +25 -0
- data/docz/polygen/dell.grm +100 -0
- data/docz/polygen/frati.grm +85 -0
- data/docz/polygen/heanet.grm +54 -0
- data/docz/richelp/gcompute.yml +52 -0
- data/docz/richelp/gcutil.yml +52 -0
- data/docz/richelp/gmail.yml +2 -0
- data/docz/richelp/ruby.yml +81 -0
- data/docz/richelp/sakura.yml +20 -0
- data/docz/richelp/sql.yml +12 -0
- data/docz/richelp/ubuntu.yml +22 -0
- data/docz/richelp/yaml.yml +39 -0
- data/docz/richelp/yml.yml +39 -0
- data/etc/sakura/devel.yml +36 -0
- data/etc/synergy.conf.example +37 -0
- data/images/color-sample.png +0 -0
- data/images/google.jpg +0 -0
- data/images/icons/toilet.png +0 -0
- data/images/sakura.jpg +0 -0
- data/images/sakura2.jpg +0 -0
- data/init.rb +5 -0
- data/lib/classes/arrays.rb +246 -0
- data/lib/classes/debug_ric.rb +196 -0
- data/lib/classes/fake_data.rb +8 -0
- data/lib/classes/ric_debug.rb +0 -0
- data/lib/classes/ricconf.rb +110 -0
- data/lib/classes/richelp.rb +70 -0
- data/lib/classes/strings.rb +284 -0
- data/lib/facter/google_compute_engine.rb +10 -0
- data/lib/recipes/20120411-puppet-rump-palladius.recipe +2 -0
- data/lib/recipes/20120726-skype.ubuntu.recipe +16 -0
- data/lib/recipes/20130206-puppet3.ubuntu.recipe +32 -0
- data/lib/recipes/20130206-redis.linux.recipe +17 -0
- data/lib/recipes/20130208-vanilla.linux.recipe +37 -0
- data/lib/recipes/Makefile +4 -0
- data/lib/recipes/README.md +29 -0
- data/lib/recipes/scripts/redis.sh +14 -0
- data/lib/ric.rb +156 -0
- data/lib/ric_colors.rb +313 -0
- data/lib/ric_strings.rb +285 -0
- data/lib/sonice-players/itunes_mac.rb +43 -0
- data/lib/sonice-players/itunes_win.rb +47 -0
- data/lib/sonice-players/mpd.rb +45 -0
- data/lib/sonice-players/rhythmbox.rb +38 -0
- data/profile +1 -0
- data/sakuric.gemspec +40 -0
- data/sbin/install-sakura-on-debian +25 -0
- data/sbin/make-install.sh +10 -0
- data/sbin/mate-createsymlink +4 -0
- data/sounds/0.ogg +0 -0
- data/sounds/0.wav +0 -0
- data/sounds/01.ogg +0 -0
- data/sounds/02.ogg +0 -0
- data/sounds/03.ogg +0 -0
- data/sounds/08.ogg +0 -0
- data/sounds/09.ogg +0 -0
- data/sounds/1.ogg +0 -0
- data/sounds/1.wav +0 -0
- data/sounds/10.ogg +0 -0
- data/sounds/100.ogg +0 -0
- data/sounds/11.ogg +0 -0
- data/sounds/12.ogg +0 -0
- data/sounds/13.ogg +0 -0
- data/sounds/14.ogg +0 -0
- data/sounds/15.ogg +0 -0
- data/sounds/16.ogg +0 -0
- data/sounds/17.ogg +0 -0
- data/sounds/18.ogg +0 -0
- data/sounds/19.ogg +0 -0
- data/sounds/2.ogg +0 -0
- data/sounds/2.wav +0 -0
- data/sounds/20.ogg +0 -0
- data/sounds/21.ogg +0 -0
- data/sounds/22.ogg +0 -0
- data/sounds/23.ogg +0 -0
- data/sounds/24.ogg +0 -0
- data/sounds/26.ogg +0 -0
- data/sounds/3.ogg +0 -0
- data/sounds/3.wav +0 -0
- data/sounds/30.ogg +0 -0
- data/sounds/34.ogg +0 -0
- data/sounds/4.ogg +0 -0
- data/sounds/4.wav +0 -0
- data/sounds/40.ogg +0 -0
- data/sounds/42.ogg +0 -0
- data/sounds/45.ogg +0 -0
- data/sounds/47.ogg +0 -0
- data/sounds/5.ogg +0 -0
- data/sounds/5.wav +0 -0
- data/sounds/50.ogg +0 -0
- data/sounds/6.ogg +0 -0
- data/sounds/6.wav +0 -0
- data/sounds/60.ogg +0 -0
- data/sounds/7.ogg +0 -0
- data/sounds/7.wav +0 -0
- data/sounds/70.ogg +0 -0
- data/sounds/8.ogg +0 -0
- data/sounds/8.wav +0 -0
- data/sounds/80.ogg +0 -0
- data/sounds/9.ogg +0 -0
- data/sounds/9.wav +0 -0
- data/sounds/90.ogg +0 -0
- data/sounds/a.ogg +0 -0
- data/sounds/aaahhh.ogg +0 -0
- data/sounds/abologna.ogg +0 -0
- data/sounds/adargenta.ogg +0 -0
- data/sounds/alzatiecammina.ogg +0 -0
- data/sounds/apache.ogg +0 -0
- data/sounds/attenzione.ogg +0 -0
- data/sounds/awesome.m4a +0 -0
- data/sounds/bazinga.mp3 +0 -0
- data/sounds/bazinga.ogg +0 -0
- data/sounds/bela regaz.wav +0 -0
- data/sounds/benvenuti.wav +0 -0
- data/sounds/benvenuti2.wav +0 -0
- data/sounds/bergonz.ogg +0 -0
- data/sounds/boh.ogg +0 -0
- data/sounds/buahah.ogg +0 -0
- data/sounds/buonasera.ogg +0 -0
- data/sounds/buongiorno.ogg +0 -0
- data/sounds/burp.ogg +0 -0
- data/sounds/carlo.ogg +0 -0
- data/sounds/cena.ogg +0 -0
- data/sounds/che figata.m4a +0 -0
- data/sounds/che figlio di puttana.m4a +0 -0
- data/sounds/che.ogg +0 -0
- data/sounds/ciao.ogg +0 -0
- data/sounds/ciao.wav +0 -0
- data/sounds/da.ogg +0 -0
- data/sounds/davide.ogg +0 -0
- data/sounds/demone.ogg +0 -0
- data/sounds/dhcp.ogg +0 -0
- data/sounds/dinuovo.ogg +0 -0
- data/sounds/dns.ogg +0 -0
- data/sounds/dopo.ogg +0 -0
- data/sounds/e'.ogg +0 -0
- data/sounds/eattivo.ogg +0 -0
- data/sounds/ee.ogg +0 -0
- data/sounds/ehi.ogg +0 -0
- data/sounds/eoragiu.ogg +0 -0
- data/sounds/eorasu.ogg +0 -0
- data/sounds/eripartita.ogg +0 -0
- data/sounds/estato.ogg +0 -0
- data/sounds/estatoriavviato.ogg +0 -0
- data/sounds/fratro.ogg +0 -0
- data/sounds/frozenbubble.ogg +0 -0
- data/sounds/funziona.ogg +0 -0
- data/sounds/go raibh mile maith agaibh.m4a +0 -0
- data/sounds/grazie.ogg +0 -0
- data/sounds/h1.ogg +0 -0
- data/sounds/hainuovaposta.ogg +0 -0
- data/sounds/hogiamangiato.ogg +0 -0
- data/sounds/host.ogg +0 -0
- data/sounds/il.ogg +0 -0
- data/sounds/ilcomputer.ogg +0 -0
- data/sounds/ilnumerodaleiselezionatoe.ogg +0 -0
- data/sounds/ilprocesso.ogg +0 -0
- data/sounds/ilprogramma.ogg +0 -0
- data/sounds/ilservizio.ogg +0 -0
- data/sounds/imap.ogg +0 -0
- data/sounds/imieisuperpoterimidiconoche.ogg +0 -0
- data/sounds/infunzione.ogg +0 -0
- data/sounds/inpunto.ogg +0 -0
- data/sounds/ipmon.ogg +0 -0
- data/sounds/laconnessioneadinternet.ogg +0 -0
- data/sounds/lastampante.ogg +0 -0
- data/sounds/lazzaron.ogg +0 -0
- data/sounds/ldap.ogg +0 -0
- data/sounds/linterfaccia.ogg +0 -0
- data/sounds/lucilla.ogg +0 -0
- data/sounds/ma vaffanculo.m4a +0 -0
- data/sounds/majjal.wav +0 -0
- data/sounds/mamma.ogg +0 -0
- data/sounds/mauro.ogg +0 -0
- data/sounds/max.ogg +0 -0
- data/sounds/meerda.wav +0 -0
- data/sounds/meno.ogg +0 -0
- data/sounds/merda clo.wav +0 -0
- data/sounds/mezza.ogg +0 -0
- data/sounds/mila.ogg +0 -0
- data/sounds/mille.ogg +0 -0
- data/sounds/minuti.ogg +0 -0
- data/sounds/named.ogg +0 -0
- data/sounds/no.ogg +0 -0
- data/sounds/nohofame.ogg +0 -0
- data/sounds/nonfunziona.ogg +0 -0
- data/sounds/nonriescoatrovare.ogg +0 -0
- data/sounds/nonsarebbeoradilavorare.ogg +0 -0
- data/sounds/nonstalavorando.ogg +0 -0
- data/sounds/numero.wav +0 -0
- data/sounds/ooohhh.ogg +0 -0
- data/sounds/pinger.ogg +0 -0
- data/sounds/pocofa.ogg +0 -0
- data/sounds/pop3.ogg +0 -0
- data/sounds/porca puttana.m4a +0 -0
- data/sounds/porcapupazza.ogg +0 -0
- data/sounds/ppp.ogg +0 -0
- data/sounds/pranzo.ogg +0 -0
- data/sounds/prego.ogg +0 -0
- data/sounds/prima.ogg +0 -0
- data/sounds/qualcosamidice.ogg +0 -0
- data/sounds/raggiungibile.ogg +0 -0
- data/sounds/riccardo.ogg +0 -0
- data/sounds/salsa ridge.wav +0 -0
- data/sounds/scusa.ogg +0 -0
- data/sounds/seriously man.m4a +0 -0
- data/sounds/si.ogg +0 -0
- data/sounds/sito porno con sonoro.wav +0 -0
- data/sounds/socmel.wav +0 -0
- data/sounds/sono.ogg +0 -0
- data/sounds/sonoacasa.ogg +0 -0
- data/sounds/sonole.ogg +0 -0
- data/sounds/sputo.ogg +0 -0
- data/sounds/ssh.ogg +0 -0
- data/sounds/stagiocando.ogg +0 -0
- data/sounds/statospento.ogg +0 -0
- data/sounds/stopaiodipalle.ogg +0 -0
- data/sounds/thesedicks.wav +0 -0
- data/sounds/tornatosu.ogg +0 -0
- data/sounds/trapoco.ogg +0 -0
- data/sounds/trequarti.ogg +0 -0
- data/sounds/tutti.ogg +0 -0
- data/sounds/una.ogg +0 -0
- data/sounds/unquarto.ogg +0 -0
- data/sounds/virgola.ogg +0 -0
- data/sources/c/usleep.c +50 -0
- data/spec/my_first_spec.rb +6 -0
- data/tasks/sakuric-gem.rake +21 -0
- data/tasks/testing.rake +15 -0
- data/templates/bashrc.inject +10 -0
- data/templates/happy_christmas.ascii_art +5 -0
- data/test/roodi.sh +10 -0
- data/test/test_mini_failing.rb +3 -0
- data/test/test_mini_ok.rb +3 -0
- data/test/test_ruby_syntax.sh +12 -0
- data/third-party/jsawk/README.markdown +437 -0
- data/third-party/jsawk/jsawk +1128 -0
- metadata +835 -0
data/bin/gitinfo
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/ruby1.8
|
|
2
|
+
|
|
3
|
+
require "rubygems"
|
|
4
|
+
require "google_drive"
|
|
5
|
+
require "socket"
|
|
6
|
+
|
|
7
|
+
VER = '1.1'
|
|
8
|
+
|
|
9
|
+
# TODO change your account here!
|
|
10
|
+
user = 'YOUR_USER@gmail.com' # Your gmail account
|
|
11
|
+
pass = 'YOUR_TOKEN_DONT_USE_THE_PASSWORD!' # GoogleSpreadsheet-specific
|
|
12
|
+
default_id = '0AlCr2c3SCUOjdHZ5aUpxTTQzNGxQRkZCTFNYNUVSMWc' # Your Google Spreadsheet ID
|
|
13
|
+
|
|
14
|
+
default_worksheet = 0
|
|
15
|
+
doc_id = ARGV[0] rescue default_id
|
|
16
|
+
worksheet_id = ARGV[1].to_i rescue default_worksheet
|
|
17
|
+
url = "https://docs.google.com/a/google.com/spreadsheet/ccc?key=#{doc_id}#gid=#{worksheet_id}"
|
|
18
|
+
|
|
19
|
+
def usage()
|
|
20
|
+
$stderr.puts "Usage: #{$0} [spreadhseet_id] [worksheet_id]"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
$session = GoogleDrive.login(user,pass)
|
|
24
|
+
|
|
25
|
+
# First worksheet of
|
|
26
|
+
ws = $session.spreadsheet_by_key(doc_id).worksheets[worksheet_id]
|
|
27
|
+
|
|
28
|
+
# Gets content of A2 cell.
|
|
29
|
+
#p ws[2, 1] #==> "hoge"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# Dumps all cells.
|
|
33
|
+
$stderr.puts "Dumping document Rows/Cols: #{ws.num_rows}x#{ws.num_cols}x"
|
|
34
|
+
$stderr.puts "================================================================================"
|
|
35
|
+
ws.rows.each do |row|
|
|
36
|
+
puts row.join("\t")
|
|
37
|
+
end
|
|
38
|
+
$stderr.puts "================================================================================"
|
|
39
|
+
$stderr.puts "#For curiosity, take a look here: #{url}"
|
|
40
|
+
|
data/bin/google_ips
ADDED
data/bin/gray
ADDED
data/bin/green
ADDED
data/bin/grigio
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
BUCKET=${1:-rcarlesso}
|
|
4
|
+
SITE=https://$BUCKET.commondatastorage.googleapis.com
|
|
5
|
+
|
|
6
|
+
set -x
|
|
7
|
+
curl -v -H "Authorization: Bearer $(gsutil-get-oauth2-token)" "$SITE"
|
|
8
|
+
RET=$?
|
|
9
|
+
set +x
|
|
10
|
+
echo
|
|
11
|
+
echo "= Connection to $SITE returned: $RET ="
|
|
12
|
+
exit $RET
|
data/bin/gugol-image
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# @vote = 9
|
|
4
|
+
# @comment Questo script e' una autentica figata!!!
|
|
5
|
+
|
|
6
|
+
$BASEDIR = "/tmp/.gugol_image/"
|
|
7
|
+
DFLT_ARG = %w{ spaghetti alla bolognese }
|
|
8
|
+
$do_it = true
|
|
9
|
+
|
|
10
|
+
###### FROM rcarlesso library
|
|
11
|
+
def debug_on(expl)
|
|
12
|
+
$DEBUG = true
|
|
13
|
+
end
|
|
14
|
+
def deb(s)
|
|
15
|
+
print s if $DEBUG
|
|
16
|
+
end
|
|
17
|
+
class String
|
|
18
|
+
def depurate_for_file
|
|
19
|
+
gsub(/[\/: \.]/ , '_')
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
#### END RICLIB
|
|
23
|
+
|
|
24
|
+
def good_extension?(url)
|
|
25
|
+
File.extname(url).downcase.match( /(jpg|png|gif)$/ ) ? true : false
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def download_url(line,match)
|
|
29
|
+
url = line.gsub(/^.*#{match}=/,'').split('&')[0]
|
|
30
|
+
deb "MATCH/URL: #{match} // #{url}"
|
|
31
|
+
deb url
|
|
32
|
+
puts url if $dry_run
|
|
33
|
+
file_name = File.basename(url).downcase
|
|
34
|
+
if good_extension?(url)
|
|
35
|
+
`wget '#{url}' -O '#{$mydir}/#{file_name}' 1>/dev/null 2>/dev/null &` if $do_it
|
|
36
|
+
else
|
|
37
|
+
puts "#DEB# Skipping: #{red(url) rescue url}"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def get_url(query)
|
|
42
|
+
"http://images.google.com/images?hl=en&um=1&sa=1&q=#{query}"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def gugol_image(query)
|
|
46
|
+
out = `lynx --dump "#{get_url query}"`
|
|
47
|
+
$mydir = $BASEDIR + query.depurate_for_file() + '/'
|
|
48
|
+
deb "BaseDir: #{$mydir}"
|
|
49
|
+
`mkdir -p #{$mydir}`
|
|
50
|
+
out.split("\n").grep( /imgurl=/ ).each{ |line|
|
|
51
|
+
download_url(line, 'imgurl')
|
|
52
|
+
}
|
|
53
|
+
# on Mac it works... on Linux it doesnt
|
|
54
|
+
`open #{$mydir} || xdg-open #{$mydir}` if $do_it
|
|
55
|
+
puts "Files downloaded in: #{$mydir}"# if mac or linux
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def main
|
|
59
|
+
debug_args = ARGV.select{|arg| arg.match /-d/ }.size > 0
|
|
60
|
+
$dry_run = ARGV.select{|arg| arg.match /-n/ }.size > 0
|
|
61
|
+
if debug_args
|
|
62
|
+
debug_on("debug args is #{debug_args}")
|
|
63
|
+
$do_it = false
|
|
64
|
+
end
|
|
65
|
+
if $dry_run
|
|
66
|
+
deb "# dryrun enabled: just printing stuff"
|
|
67
|
+
$do_it = false
|
|
68
|
+
end
|
|
69
|
+
query = (ARGV.empty? ? DFLT_ARG : ARGV.select{|a| ! a.match /^-/ } ).join(' ')
|
|
70
|
+
gugol_image(query)
|
|
71
|
+
puts ".. or try yourself: #{"open '#{ get_url(query) }'"}"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
main()
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
# for 64bit
|
|
3
|
+
HAMACHI64=logmein-hamachi_2.1.0.17-1_amd64.deb
|
|
4
|
+
HAMACHI32=logmein-hamachi_2.1.0.17-1_i386.deb
|
|
5
|
+
|
|
6
|
+
HAMACHI=$HAMACHI32
|
|
7
|
+
|
|
8
|
+
echo Installing hamachi arch: $HAMACHI ...
|
|
9
|
+
|
|
10
|
+
sudo add-apt-repository ppa:webupd8team/haguichi
|
|
11
|
+
wget https://secure.logmein.com/labs/$HAMACHI &&
|
|
12
|
+
dpkg -i $HAMACHI &&
|
|
13
|
+
echo This should try to install hamachi and fail but dont worry.
|
|
14
|
+
sudo apt-get -f install &&
|
|
15
|
+
sudo apt-get update &&
|
|
16
|
+
sudo apt-get install -y hamachi haguichi
|
|
17
|
+
|
data/bin/head-1^-1
ADDED
data/bin/ifdownup
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
INTF=${1:-eth0}
|
|
4
|
+
#TAGS=ubuntu,debian
|
|
5
|
+
|
|
6
|
+
echo "$0 v$VER, down/up of interface '$INTF'.."
|
|
7
|
+
|
|
8
|
+
echo "Crontabbing to take it up in a minute.."
|
|
9
|
+
echo ifup $INTF | at now + 1 min
|
|
10
|
+
|
|
11
|
+
echo "Down and up within 5secs of interface '$INTF'..."
|
|
12
|
+
sleep 5 | ifdown $INTF && ifup $INTF
|
|
13
|
+
|
data/bin/immature/ok2
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
FILE=`mktemp -t okidok`
|
|
4
|
+
|
|
5
|
+
if [ "$1" = '-' ] ; then
|
|
6
|
+
echo 'Called ok with -, assuming STDIN!'
|
|
7
|
+
cat | ricnotify yellow "OK from STDIN '$*'"
|
|
8
|
+
exit $?
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
#if "$@" |tee /tmp/ok1 2>&1 ; then
|
|
12
|
+
echo "`data` Start '$*'"
|
|
13
|
+
if "$@" 2>&1 | tee "$FILE" ; then # |tee /tmp/ok1 ; then
|
|
14
|
+
verde "OK: $*"
|
|
15
|
+
#echo -20 "$FILE" | ricnotify green "OK '$*'"
|
|
16
|
+
tail -20 "$FILE" | growlnotify -t "OK '$*'"
|
|
17
|
+
echo "`data` End (OK)"
|
|
18
|
+
exit 0
|
|
19
|
+
else
|
|
20
|
+
RET=$?
|
|
21
|
+
rosso "NO(ret=$RET): $*"
|
|
22
|
+
echo "`data` End (ERR) '$*'"
|
|
23
|
+
echo "There were some errors which returned: $RET" | ricnotify red "Err with '$*'"
|
|
24
|
+
exit $RET
|
|
25
|
+
fi
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Riccardo only!
|
|
4
|
+
|
|
5
|
+
set -u
|
|
6
|
+
set -e
|
|
7
|
+
set -x
|
|
8
|
+
|
|
9
|
+
echo Installing Ric repo in appropriate dir...
|
|
10
|
+
cd ~/ws
|
|
11
|
+
echodo git clone ssh://git@bitbucket.org/palladius/gic.git
|
|
12
|
+
verde Ok, enjoy Ric.
|
|
13
|
+
yellow 'PS. If you were succesfully able to install my repo, please report it to palladiusbonton@gmail.com with some proof and Ill be glad to pay you some bucks!'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Usage:
|
|
4
|
+
# iphoto_big_files.sh 300M
|
|
5
|
+
# iphoto_big_files.sh 300M -print0
|
|
6
|
+
# iphoto_big_files.sh 300M -print0
|
|
7
|
+
VER=0.9
|
|
8
|
+
SIZE=${1:-150M}
|
|
9
|
+
shift
|
|
10
|
+
ADDITIONAL_OPTS=$*
|
|
11
|
+
DIR=~/iPhoto\ Library/Masters/
|
|
12
|
+
|
|
13
|
+
function usage() {
|
|
14
|
+
echo "$0 v$VER"
|
|
15
|
+
echo "Usage: $0 [-h] [--dest DESTINATIONDIR] [SIZE=150M]"
|
|
16
|
+
echo -en "Sample usages: "
|
|
17
|
+
echo '
|
|
18
|
+
iphoto_big_files.sh -h # provides help
|
|
19
|
+
iphoto_big_files.sh 300M # finds files bigger than 300M
|
|
20
|
+
iphoto_big_files.sh 300M -print0 # .. and prints them in a more "xargsable" way
|
|
21
|
+
iphoto_big_files.sh --dest DESTDIR # to be implemented yet :(
|
|
22
|
+
More elaborate:
|
|
23
|
+
iphoto_big_files.sh 400M -print0 | xargs -0 mvto /media/myhd/bigvideos/
|
|
24
|
+
iphoto_big_files.sh 100M | while read F ; do mv -n "$F" /Volumes/MyDisk/MyDir/; done # moves without overwriting
|
|
25
|
+
'
|
|
26
|
+
}
|
|
27
|
+
#iphoto_big_files.sh 60M | while read t ; do mv -n "$t" /Volumes/FreeAgent\ GoFlex\ Drive/important-backups/; done
|
|
28
|
+
|
|
29
|
+
# cathches '-h', '--help' and much else :(
|
|
30
|
+
if echo "$SIZE" | fgrep -q -- "-h" ; then
|
|
31
|
+
usage
|
|
32
|
+
exit 1
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
echo "# Find big movies in iPhoto dir ($DIR) bigger than $SIZE (additional opts: '$ADDITIONAL_OPTS'):" >&2
|
|
36
|
+
#echo find "$DIR" -iname '*.mov' -size $SIZE
|
|
37
|
+
find "$DIR" -iname '*.mov' -size +$SIZE $ADDITIONAL_OPTS
|
data/bin/itunes
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# http://hints.macworld.com/article.php?story=20011108211802830
|
|
3
|
+
#
|
|
4
|
+
####################################
|
|
5
|
+
# iTunes Command Line Control v1.0
|
|
6
|
+
# written by David Schlosnagle
|
|
7
|
+
# created 2001.11.08
|
|
8
|
+
# adapted by Riccardo Carlesso
|
|
9
|
+
####################################
|
|
10
|
+
VER="1.1"
|
|
11
|
+
|
|
12
|
+
usage () {
|
|
13
|
+
echo "------------------------------------";
|
|
14
|
+
echo "iTunes Command Line Interface (v$VER)";
|
|
15
|
+
echo "------------------------------------";
|
|
16
|
+
echo "Usage: `basename $0` <option>";
|
|
17
|
+
echo;
|
|
18
|
+
echo "Options:";
|
|
19
|
+
echo " [h]elp = prints this message";
|
|
20
|
+
echo " [m]ute = Mute iTunes' volume.";
|
|
21
|
+
echo " [n]ext = Go to the next track.";
|
|
22
|
+
echo " [no]shuf = Do not shuffle current playlist";
|
|
23
|
+
echo " [p]ause = Pause iTunes.";
|
|
24
|
+
echo " pl[a]y = Start playing iTunes.";
|
|
25
|
+
echo " [pl]aylist [<PLNAME>] = Show playlists saved in iTunes or play selected playlist ";
|
|
26
|
+
echo " [pr]ev = Go to the previous track.";
|
|
27
|
+
echo " q quit = Quit iTunes.";
|
|
28
|
+
echo " [sh]uf = Shuffle current playlist";
|
|
29
|
+
echo " [st]atus = Shows iTunes' status, current artist and track.";
|
|
30
|
+
echo " st[o]p = Stop iTunes.";
|
|
31
|
+
echo " [u]nmute = Unmute iTunes' volume.";
|
|
32
|
+
echo " v vol <NN> = Set iTunes' volume to NN [0-100]";
|
|
33
|
+
echo " - vol down = Increase iTunes' volume by 10%";
|
|
34
|
+
echo " + vol up = Increase iTunes' volume by 10%";
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if [ $# = 0 ]; then
|
|
38
|
+
usage;
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
while [ $# -gt 0 ]; do
|
|
42
|
+
arg=$1;
|
|
43
|
+
case $arg in
|
|
44
|
+
st|"status" ) state=`osascript -e 'tell application "iTunes" to player state as string'`;
|
|
45
|
+
echo "iTunes is currently $state.";
|
|
46
|
+
if [ $state = "playing" ]; then
|
|
47
|
+
artist=`osascript -e 'tell application "iTunes" to artist of current track as string'`;
|
|
48
|
+
track=`osascript -e 'tell application "iTunes" to name of current track as string'`;
|
|
49
|
+
echo "Current track $artist: $track";
|
|
50
|
+
fi
|
|
51
|
+
break ;;
|
|
52
|
+
# Aliases
|
|
53
|
+
'+' ) $0 vol up ; break ;;
|
|
54
|
+
'-' ) $0 vol down ; break ;;
|
|
55
|
+
|
|
56
|
+
a|"play" ) echo "Playing iTunes.";
|
|
57
|
+
osascript -e 'tell application "iTunes" to play';
|
|
58
|
+
break ;;
|
|
59
|
+
|
|
60
|
+
p|"pause" ) echo "Pausing iTunes.";
|
|
61
|
+
osascript -e 'tell application "iTunes" to pause';
|
|
62
|
+
break ;;
|
|
63
|
+
|
|
64
|
+
n|"next" ) echo "Going to next track." ;
|
|
65
|
+
osascript -e 'tell application "iTunes" to next track';
|
|
66
|
+
break ;;
|
|
67
|
+
|
|
68
|
+
pr|"prev" ) echo "Going to previous track.";
|
|
69
|
+
osascript -e 'tell application "iTunes" to previous track';
|
|
70
|
+
break ;;
|
|
71
|
+
|
|
72
|
+
m|"mute" ) echo "Muting iTunes volume level.";
|
|
73
|
+
osascript -e 'tell application "iTunes" to set mute to true';
|
|
74
|
+
break ;;
|
|
75
|
+
|
|
76
|
+
u|"unmute" ) echo "Unmuting iTunes volume level.";
|
|
77
|
+
osascript -e 'tell application "iTunes" to set mute to false';
|
|
78
|
+
break ;;
|
|
79
|
+
|
|
80
|
+
v|"vol" )
|
|
81
|
+
vol=`osascript -e 'tell application "iTunes" to sound volume as integer'`;
|
|
82
|
+
echo "Changing iTunes volume level: '$vol'";
|
|
83
|
+
if [ "$2" = '' ]; then
|
|
84
|
+
usage
|
|
85
|
+
break
|
|
86
|
+
fi
|
|
87
|
+
if [ $2 = "up" ]; then
|
|
88
|
+
newvol=$(( vol+10 ));
|
|
89
|
+
else if [ $2 = "down" ]; then
|
|
90
|
+
newvol=$(( vol-10 ));
|
|
91
|
+
else if [ $2 -gt 0 ]; then
|
|
92
|
+
newvol=$2;
|
|
93
|
+
fi
|
|
94
|
+
fi
|
|
95
|
+
fi
|
|
96
|
+
osascript -e "tell application \"iTunes\" to set sound volume to $newvol";
|
|
97
|
+
break ;;
|
|
98
|
+
|
|
99
|
+
o|"stop" ) echo "Stopping iTunes.";
|
|
100
|
+
osascript -e 'tell application "iTunes" to stop';
|
|
101
|
+
break ;;
|
|
102
|
+
|
|
103
|
+
q|"quit" ) echo "Quitting iTunes.";
|
|
104
|
+
osascript -e 'tell application "iTunes" to quit';
|
|
105
|
+
exit 1 ;;
|
|
106
|
+
|
|
107
|
+
#And the code for showing available playlists, if there is no parameter given.
|
|
108
|
+
|
|
109
|
+
## addition playlist of choice
|
|
110
|
+
"pl"|"playlist" )
|
|
111
|
+
if [ -n "$2" ]; then
|
|
112
|
+
shift
|
|
113
|
+
PLAYLIST="$*"
|
|
114
|
+
echo "Changing iTunes playlists to '$PLAYLIST'.";
|
|
115
|
+
osascript -e 'tell application "iTunes"' -e "set new_playlist to \"$PLAYLIST\" as string" -e "play playlist new_playlist" -e "end tell";
|
|
116
|
+
break ;
|
|
117
|
+
else
|
|
118
|
+
# Show available iTunes playlists.
|
|
119
|
+
echo "Playlists:";
|
|
120
|
+
osascript -e 'tell application "iTunes"' -e "set allPlaylists to (get name of every playlist)" -e "end tell";
|
|
121
|
+
break;
|
|
122
|
+
fi
|
|
123
|
+
break;;
|
|
124
|
+
|
|
125
|
+
sh|"shuf" ) echo "Shuffle is ON.";
|
|
126
|
+
osascript -e 'tell application "iTunes" to set shuffle of current playlist to 1';
|
|
127
|
+
break ;;
|
|
128
|
+
|
|
129
|
+
no|"noshuf" ) echo "Shuffle is OFF.";
|
|
130
|
+
osascript -e 'tell application "iTunes" to set shuffle of current playlist to 0';
|
|
131
|
+
break ;;
|
|
132
|
+
|
|
133
|
+
h|"help" | * ) echo "help:";
|
|
134
|
+
usage;
|
|
135
|
+
break ;;
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
esac
|
|
140
|
+
done
|
data/bin/jason-xpath.rb
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
=begin
|
|
4
|
+
|
|
5
|
+
Try also the Oauth playground: http://googlecodesamples.com/oauth_playground/
|
|
6
|
+
|
|
7
|
+
Solves this problem with GCE. It was:
|
|
8
|
+
|
|
9
|
+
curl -s http://metadata/0.1/meta-data/network | python -c "import sys,json; print json.load(sys.stdin)['networkInterface'][0]['accessConfiguration'][0]['externalIp']"
|
|
10
|
+
|
|
11
|
+
It becomes:
|
|
12
|
+
|
|
13
|
+
curl -s http://metadata/0.1/meta-data/network |json-xpath.rb networkInterface.0.accessConfiguration.0.externalIp
|
|
14
|
+
|
|
15
|
+
=end
|
|
16
|
+
$default_arg = "networkInterface.0.accessConfiguration.0.externalIp"
|
|
17
|
+
|
|
18
|
+
class String
|
|
19
|
+
def is_number?
|
|
20
|
+
true if Float(self) rescue false
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def usage
|
|
26
|
+
print "Usage: #{$0} <xpath>
|
|
27
|
+
|
|
28
|
+
Example: #{$0} #{ $default_arg } # this will find your public IP from GCE metadata
|
|
29
|
+
(Try to use this in pipe with 'curl http://metadata.google.internal/0.1/meta-data/network'
|
|
30
|
+
"
|
|
31
|
+
exit(1)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def process_args(dotted_arg)
|
|
35
|
+
arr_args = dotted_arg.split '.'
|
|
36
|
+
python_program_original = "import sys, json; print json.load(sys.stdin)['networkInterface'][0]['accessConfiguration'][0]['externalIp'] "
|
|
37
|
+
python_program = "import sys, json; print json.load(sys.stdin)"
|
|
38
|
+
args = arr_args.map { |arg| arg.to_s.is_number? ? arg.to_s : "'" + arg + "'" }.map{|x| "[#{x}]" }
|
|
39
|
+
my_program = python_program + args.join('')
|
|
40
|
+
|
|
41
|
+
cmd_exec = "/usr/bin/python -c \"#{my_program}\" 2>/dev/null"
|
|
42
|
+
myin = $stdin.read
|
|
43
|
+
%x( #{cmd_exec} )
|
|
44
|
+
IO.popen(cmd_exec, mode='w') do |io|
|
|
45
|
+
io.write(myin)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def main
|
|
50
|
+
usage unless ARGV[0]
|
|
51
|
+
process_args(ARGV[0])
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
main()
|