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.
Files changed (407) hide show
  1. data/CHANGELOG +13 -0
  2. data/Gemfile +22 -0
  3. data/Gemfile.lock +60 -0
  4. data/HISTORY.yml +13 -0
  5. data/INSTALL +5 -0
  6. data/LICENSE +1 -0
  7. data/Makefile +19 -0
  8. data/Manifest +405 -0
  9. data/README.md +72 -0
  10. data/Rakefile +4 -0
  11. data/TODO +3 -0
  12. data/VERSION +1 -0
  13. data/bashrc +30 -0
  14. data/bashrc.d/00-functions.include +7 -0
  15. data/bashrc.d/01-sakura_checks.include +15 -0
  16. data/bashrc.d/02-uname.include +11 -0
  17. data/bashrc.d/80-ruby.include +4 -0
  18. data/bashrc.d/99-dirs.include +11 -0
  19. data/bashrc.d/aliases.include +20 -0
  20. data/bashrc.d/common.include +7 -0
  21. data/bashrc.d/local.d/README +1 -0
  22. data/bashrc.d/local.d/nothing.include +0 -0
  23. data/bashrc.d/uname.d/Darwin +6 -0
  24. data/bashrc.d/uname.d/Linux +0 -0
  25. data/bashrc.local.sample +11 -0
  26. data/bin/10 +7 -0
  27. data/bin/10times +7 -0
  28. data/bin/1every +22 -0
  29. data/bin/1everyN +22 -0
  30. data/bin/1suN +22 -0
  31. data/bin/2 +5 -0
  32. data/bin/act +24 -0
  33. data/bin/amarelo +2 -0
  34. data/bin/arancio +4 -0
  35. data/bin/arcobaleno +10 -0
  36. data/bin/bianco +3 -0
  37. data/bin/black +2 -0
  38. data/bin/brew-install +3 -0
  39. data/bin/cache +50 -0
  40. data/bin/cache3 +50 -0
  41. data/bin/cheorae +4 -0
  42. data/bin/colorastdouterr +37 -0
  43. data/bin/cp2desktop +3 -0
  44. data/bin/create-git-repo.sh +24 -0
  45. data/bin/csoe +37 -0
  46. data/bin/data +3 -0
  47. data/bin/derive +90 -0
  48. data/bin/dimmi +31 -0
  49. data/bin/dimmiora +4 -0
  50. data/bin/doppioni +48 -0
  51. data/bin/du- +9 -0
  52. data/bin/duplicates +48 -0
  53. data/bin/echodo +7 -0
  54. data/bin/ensure_line_present +82 -0
  55. data/bin/epoch2date +5 -0
  56. data/bin/fanout +100 -0
  57. data/bin/find-broken-symlink +26 -0
  58. data/bin/find-duplicates +48 -0
  59. data/bin/find-special-chars-within-filenames +12 -0
  60. data/bin/fix-terminal +5 -0
  61. data/bin/gce-create-centos-instance +5 -0
  62. data/bin/gce-create-custom-image +8 -0
  63. data/bin/gce-curl-get-instances-for-project +7 -0
  64. data/bin/gce-get-token +3 -0
  65. data/bin/gce-getproject-metadata +35 -0
  66. data/bin/gce-public-ip +4 -0
  67. data/bin/gcutil-fetch +36 -0
  68. data/bin/giallo +2 -0
  69. data/bin/git-clone-in-non-empty-dir +21 -0
  70. data/bin/git-ignore +3 -0
  71. data/bin/git-repos +98 -0
  72. data/bin/git-repos.py +99 -0
  73. data/bin/gitinfo +2 -0
  74. data/bin/google-spreadsheet-cat +40 -0
  75. data/bin/google_ips +5 -0
  76. data/bin/gray +3 -0
  77. data/bin/green +2 -0
  78. data/bin/grigio +3 -0
  79. data/bin/gsutil-debug-bucket +12 -0
  80. data/bin/gsutil-get-oauth2-token +4 -0
  81. data/bin/gugol-image +74 -0
  82. data/bin/hamachi-ubuntu-install +17 -0
  83. data/bin/head-1^-1 +5 -0
  84. data/bin/ifdownup +13 -0
  85. data/bin/immature/ok2 +25 -0
  86. data/bin/immature/twice-still-broken +9 -0
  87. data/bin/install-gic-repo +13 -0
  88. data/bin/install-sakura-on-debian-latest +6 -0
  89. data/bin/iphoto_big_files.sh +37 -0
  90. data/bin/itunes +140 -0
  91. data/bin/jason-xpath.rb +54 -0
  92. data/bin/jsawk +1128 -0
  93. data/bin/json-xpath.rb +54 -0
  94. data/bin/keepup +13 -0
  95. data/bin/lsof-top10 +3 -0
  96. data/bin/minicook +218 -0
  97. data/bin/mv2. +2 -0
  98. data/bin/mv2desktop +2 -0
  99. data/bin/mv2dropbox +2 -0
  100. data/bin/mv2here +2 -0
  101. data/bin/mvto +39 -0
  102. data/bin/nero +2 -0
  103. data/bin/never_as_root +18 -0
  104. data/bin/not +16 -0
  105. data/bin/ok +42 -0
  106. data/bin/orange +4 -0
  107. data/bin/pink +2 -0
  108. data/bin/polygen-dell +7 -0
  109. data/bin/polygen-heanet +6 -0
  110. data/bin/polygen-labs +4 -0
  111. data/bin/print_key_val +4 -0
  112. data/bin/rainbow +10 -0
  113. data/bin/recipe +19 -0
  114. data/bin/red +2 -0
  115. data/bin/remember-command +140 -0
  116. data/bin/remember-command.rb +140 -0
  117. data/bin/richelp +99 -0
  118. data/bin/ricorda-comando +140 -0
  119. data/bin/rosa +2 -0
  120. data/bin/rosso +2 -0
  121. data/bin/run-parts.sh +50 -0
  122. data/bin/sakura-check-version +48 -0
  123. data/bin/sakura-init.DRAFT +5 -0
  124. data/bin/sakura-version +2 -0
  125. data/bin/sano +5 -0
  126. data/bin/sbianca +3 -0
  127. data/bin/sblua +2 -0
  128. data/bin/setterm-reset +5 -0
  129. data/bin/sgialla +2 -0
  130. data/bin/sgrigia +2 -0
  131. data/bin/split +37 -0
  132. data/bin/split.rb +37 -0
  133. data/bin/srosa +1 -0
  134. data/bin/srossa +2 -0
  135. data/bin/strip-white-spaces +2 -0
  136. data/bin/stty-sane +5 -0
  137. data/bin/sudo^-1 +18 -0
  138. data/bin/sverda +6 -0
  139. data/bin/swift-saio-install.sh +336 -0
  140. data/bin/synergyc +0 -0
  141. data/bin/synergys +0 -0
  142. data/bin/syracuse.pl +29 -0
  143. data/bin/tail-n+2 +5 -0
  144. data/bin/tellme +31 -0
  145. data/bin/tellme-time +4 -0
  146. data/bin/timeout3 +91 -0
  147. data/bin/top5 +4 -0
  148. data/bin/trim +4 -0
  149. data/bin/trova-broken-symlink +26 -0
  150. data/bin/twice +5 -0
  151. data/bin/twice.rb +5 -0
  152. data/bin/ubuntu-install-hamachi64 +17 -0
  153. data/bin/ultimo +5 -0
  154. data/bin/upload.py +2380 -0
  155. data/bin/usleep +0 -0
  156. data/bin/varia +90 -0
  157. data/bin/verde +2 -0
  158. data/bin/vermelho +2 -0
  159. data/bin/vim-whereveritis +5 -0
  160. data/bin/viola +1 -0
  161. data/bin/virsh-list-all-vms.py +21 -0
  162. data/bin/virtualbox-manage +41 -0
  163. data/bin/weekend +12 -0
  164. data/bin/whattimeisit +4 -0
  165. data/bin/whereis-ip +5 -0
  166. data/bin/white +3 -0
  167. data/bin/whitefy +3 -0
  168. data/bin/yellow +2 -0
  169. data/bin/yellowfy +2 -0
  170. data/bin/zombies +25 -0
  171. data/docz/polygen/dell.grm +100 -0
  172. data/docz/polygen/frati.grm +85 -0
  173. data/docz/polygen/heanet.grm +54 -0
  174. data/docz/richelp/gcompute.yml +52 -0
  175. data/docz/richelp/gcutil.yml +52 -0
  176. data/docz/richelp/gmail.yml +2 -0
  177. data/docz/richelp/ruby.yml +81 -0
  178. data/docz/richelp/sakura.yml +20 -0
  179. data/docz/richelp/sql.yml +12 -0
  180. data/docz/richelp/ubuntu.yml +22 -0
  181. data/docz/richelp/yaml.yml +39 -0
  182. data/docz/richelp/yml.yml +39 -0
  183. data/etc/sakura/devel.yml +36 -0
  184. data/etc/synergy.conf.example +37 -0
  185. data/images/color-sample.png +0 -0
  186. data/images/google.jpg +0 -0
  187. data/images/icons/toilet.png +0 -0
  188. data/images/sakura.jpg +0 -0
  189. data/images/sakura2.jpg +0 -0
  190. data/init.rb +5 -0
  191. data/lib/classes/arrays.rb +246 -0
  192. data/lib/classes/debug_ric.rb +196 -0
  193. data/lib/classes/fake_data.rb +8 -0
  194. data/lib/classes/ric_debug.rb +0 -0
  195. data/lib/classes/ricconf.rb +110 -0
  196. data/lib/classes/richelp.rb +70 -0
  197. data/lib/classes/strings.rb +284 -0
  198. data/lib/facter/google_compute_engine.rb +10 -0
  199. data/lib/recipes/20120411-puppet-rump-palladius.recipe +2 -0
  200. data/lib/recipes/20120726-skype.ubuntu.recipe +16 -0
  201. data/lib/recipes/20130206-puppet3.ubuntu.recipe +32 -0
  202. data/lib/recipes/20130206-redis.linux.recipe +17 -0
  203. data/lib/recipes/20130208-vanilla.linux.recipe +37 -0
  204. data/lib/recipes/Makefile +4 -0
  205. data/lib/recipes/README.md +29 -0
  206. data/lib/recipes/scripts/redis.sh +14 -0
  207. data/lib/ric.rb +156 -0
  208. data/lib/ric_colors.rb +313 -0
  209. data/lib/ric_strings.rb +285 -0
  210. data/lib/sonice-players/itunes_mac.rb +43 -0
  211. data/lib/sonice-players/itunes_win.rb +47 -0
  212. data/lib/sonice-players/mpd.rb +45 -0
  213. data/lib/sonice-players/rhythmbox.rb +38 -0
  214. data/profile +1 -0
  215. data/sakuric.gemspec +40 -0
  216. data/sbin/install-sakura-on-debian +25 -0
  217. data/sbin/make-install.sh +10 -0
  218. data/sbin/mate-createsymlink +4 -0
  219. data/sounds/0.ogg +0 -0
  220. data/sounds/0.wav +0 -0
  221. data/sounds/01.ogg +0 -0
  222. data/sounds/02.ogg +0 -0
  223. data/sounds/03.ogg +0 -0
  224. data/sounds/08.ogg +0 -0
  225. data/sounds/09.ogg +0 -0
  226. data/sounds/1.ogg +0 -0
  227. data/sounds/1.wav +0 -0
  228. data/sounds/10.ogg +0 -0
  229. data/sounds/100.ogg +0 -0
  230. data/sounds/11.ogg +0 -0
  231. data/sounds/12.ogg +0 -0
  232. data/sounds/13.ogg +0 -0
  233. data/sounds/14.ogg +0 -0
  234. data/sounds/15.ogg +0 -0
  235. data/sounds/16.ogg +0 -0
  236. data/sounds/17.ogg +0 -0
  237. data/sounds/18.ogg +0 -0
  238. data/sounds/19.ogg +0 -0
  239. data/sounds/2.ogg +0 -0
  240. data/sounds/2.wav +0 -0
  241. data/sounds/20.ogg +0 -0
  242. data/sounds/21.ogg +0 -0
  243. data/sounds/22.ogg +0 -0
  244. data/sounds/23.ogg +0 -0
  245. data/sounds/24.ogg +0 -0
  246. data/sounds/26.ogg +0 -0
  247. data/sounds/3.ogg +0 -0
  248. data/sounds/3.wav +0 -0
  249. data/sounds/30.ogg +0 -0
  250. data/sounds/34.ogg +0 -0
  251. data/sounds/4.ogg +0 -0
  252. data/sounds/4.wav +0 -0
  253. data/sounds/40.ogg +0 -0
  254. data/sounds/42.ogg +0 -0
  255. data/sounds/45.ogg +0 -0
  256. data/sounds/47.ogg +0 -0
  257. data/sounds/5.ogg +0 -0
  258. data/sounds/5.wav +0 -0
  259. data/sounds/50.ogg +0 -0
  260. data/sounds/6.ogg +0 -0
  261. data/sounds/6.wav +0 -0
  262. data/sounds/60.ogg +0 -0
  263. data/sounds/7.ogg +0 -0
  264. data/sounds/7.wav +0 -0
  265. data/sounds/70.ogg +0 -0
  266. data/sounds/8.ogg +0 -0
  267. data/sounds/8.wav +0 -0
  268. data/sounds/80.ogg +0 -0
  269. data/sounds/9.ogg +0 -0
  270. data/sounds/9.wav +0 -0
  271. data/sounds/90.ogg +0 -0
  272. data/sounds/a.ogg +0 -0
  273. data/sounds/aaahhh.ogg +0 -0
  274. data/sounds/abologna.ogg +0 -0
  275. data/sounds/adargenta.ogg +0 -0
  276. data/sounds/alzatiecammina.ogg +0 -0
  277. data/sounds/apache.ogg +0 -0
  278. data/sounds/attenzione.ogg +0 -0
  279. data/sounds/awesome.m4a +0 -0
  280. data/sounds/bazinga.mp3 +0 -0
  281. data/sounds/bazinga.ogg +0 -0
  282. data/sounds/bela regaz.wav +0 -0
  283. data/sounds/benvenuti.wav +0 -0
  284. data/sounds/benvenuti2.wav +0 -0
  285. data/sounds/bergonz.ogg +0 -0
  286. data/sounds/boh.ogg +0 -0
  287. data/sounds/buahah.ogg +0 -0
  288. data/sounds/buonasera.ogg +0 -0
  289. data/sounds/buongiorno.ogg +0 -0
  290. data/sounds/burp.ogg +0 -0
  291. data/sounds/carlo.ogg +0 -0
  292. data/sounds/cena.ogg +0 -0
  293. data/sounds/che figata.m4a +0 -0
  294. data/sounds/che figlio di puttana.m4a +0 -0
  295. data/sounds/che.ogg +0 -0
  296. data/sounds/ciao.ogg +0 -0
  297. data/sounds/ciao.wav +0 -0
  298. data/sounds/da.ogg +0 -0
  299. data/sounds/davide.ogg +0 -0
  300. data/sounds/demone.ogg +0 -0
  301. data/sounds/dhcp.ogg +0 -0
  302. data/sounds/dinuovo.ogg +0 -0
  303. data/sounds/dns.ogg +0 -0
  304. data/sounds/dopo.ogg +0 -0
  305. data/sounds/e'.ogg +0 -0
  306. data/sounds/eattivo.ogg +0 -0
  307. data/sounds/ee.ogg +0 -0
  308. data/sounds/ehi.ogg +0 -0
  309. data/sounds/eoragiu.ogg +0 -0
  310. data/sounds/eorasu.ogg +0 -0
  311. data/sounds/eripartita.ogg +0 -0
  312. data/sounds/estato.ogg +0 -0
  313. data/sounds/estatoriavviato.ogg +0 -0
  314. data/sounds/fratro.ogg +0 -0
  315. data/sounds/frozenbubble.ogg +0 -0
  316. data/sounds/funziona.ogg +0 -0
  317. data/sounds/go raibh mile maith agaibh.m4a +0 -0
  318. data/sounds/grazie.ogg +0 -0
  319. data/sounds/h1.ogg +0 -0
  320. data/sounds/hainuovaposta.ogg +0 -0
  321. data/sounds/hogiamangiato.ogg +0 -0
  322. data/sounds/host.ogg +0 -0
  323. data/sounds/il.ogg +0 -0
  324. data/sounds/ilcomputer.ogg +0 -0
  325. data/sounds/ilnumerodaleiselezionatoe.ogg +0 -0
  326. data/sounds/ilprocesso.ogg +0 -0
  327. data/sounds/ilprogramma.ogg +0 -0
  328. data/sounds/ilservizio.ogg +0 -0
  329. data/sounds/imap.ogg +0 -0
  330. data/sounds/imieisuperpoterimidiconoche.ogg +0 -0
  331. data/sounds/infunzione.ogg +0 -0
  332. data/sounds/inpunto.ogg +0 -0
  333. data/sounds/ipmon.ogg +0 -0
  334. data/sounds/laconnessioneadinternet.ogg +0 -0
  335. data/sounds/lastampante.ogg +0 -0
  336. data/sounds/lazzaron.ogg +0 -0
  337. data/sounds/ldap.ogg +0 -0
  338. data/sounds/linterfaccia.ogg +0 -0
  339. data/sounds/lucilla.ogg +0 -0
  340. data/sounds/ma vaffanculo.m4a +0 -0
  341. data/sounds/majjal.wav +0 -0
  342. data/sounds/mamma.ogg +0 -0
  343. data/sounds/mauro.ogg +0 -0
  344. data/sounds/max.ogg +0 -0
  345. data/sounds/meerda.wav +0 -0
  346. data/sounds/meno.ogg +0 -0
  347. data/sounds/merda clo.wav +0 -0
  348. data/sounds/mezza.ogg +0 -0
  349. data/sounds/mila.ogg +0 -0
  350. data/sounds/mille.ogg +0 -0
  351. data/sounds/minuti.ogg +0 -0
  352. data/sounds/named.ogg +0 -0
  353. data/sounds/no.ogg +0 -0
  354. data/sounds/nohofame.ogg +0 -0
  355. data/sounds/nonfunziona.ogg +0 -0
  356. data/sounds/nonriescoatrovare.ogg +0 -0
  357. data/sounds/nonsarebbeoradilavorare.ogg +0 -0
  358. data/sounds/nonstalavorando.ogg +0 -0
  359. data/sounds/numero.wav +0 -0
  360. data/sounds/ooohhh.ogg +0 -0
  361. data/sounds/pinger.ogg +0 -0
  362. data/sounds/pocofa.ogg +0 -0
  363. data/sounds/pop3.ogg +0 -0
  364. data/sounds/porca puttana.m4a +0 -0
  365. data/sounds/porcapupazza.ogg +0 -0
  366. data/sounds/ppp.ogg +0 -0
  367. data/sounds/pranzo.ogg +0 -0
  368. data/sounds/prego.ogg +0 -0
  369. data/sounds/prima.ogg +0 -0
  370. data/sounds/qualcosamidice.ogg +0 -0
  371. data/sounds/raggiungibile.ogg +0 -0
  372. data/sounds/riccardo.ogg +0 -0
  373. data/sounds/salsa ridge.wav +0 -0
  374. data/sounds/scusa.ogg +0 -0
  375. data/sounds/seriously man.m4a +0 -0
  376. data/sounds/si.ogg +0 -0
  377. data/sounds/sito porno con sonoro.wav +0 -0
  378. data/sounds/socmel.wav +0 -0
  379. data/sounds/sono.ogg +0 -0
  380. data/sounds/sonoacasa.ogg +0 -0
  381. data/sounds/sonole.ogg +0 -0
  382. data/sounds/sputo.ogg +0 -0
  383. data/sounds/ssh.ogg +0 -0
  384. data/sounds/stagiocando.ogg +0 -0
  385. data/sounds/statospento.ogg +0 -0
  386. data/sounds/stopaiodipalle.ogg +0 -0
  387. data/sounds/thesedicks.wav +0 -0
  388. data/sounds/tornatosu.ogg +0 -0
  389. data/sounds/trapoco.ogg +0 -0
  390. data/sounds/trequarti.ogg +0 -0
  391. data/sounds/tutti.ogg +0 -0
  392. data/sounds/una.ogg +0 -0
  393. data/sounds/unquarto.ogg +0 -0
  394. data/sounds/virgola.ogg +0 -0
  395. data/sources/c/usleep.c +50 -0
  396. data/spec/my_first_spec.rb +6 -0
  397. data/tasks/sakuric-gem.rake +21 -0
  398. data/tasks/testing.rake +15 -0
  399. data/templates/bashrc.inject +10 -0
  400. data/templates/happy_christmas.ascii_art +5 -0
  401. data/test/roodi.sh +10 -0
  402. data/test/test_mini_failing.rb +3 -0
  403. data/test/test_mini_ok.rb +3 -0
  404. data/test/test_ruby_syntax.sh +12 -0
  405. data/third-party/jsawk/README.markdown +437 -0
  406. data/third-party/jsawk/jsawk +1128 -0
  407. metadata +835 -0
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ echo It tells you what time is it in Italian via OGG libraries..
4
+ $SAKURADIR/bin/dimmi $( date +"sonole %H ee %M minuti " )
@@ -0,0 +1,37 @@
1
+ #!/bin/bash
2
+
3
+ VER=1.0
4
+
5
+ # trasforma stdin in rosso o verde
6
+ function fverde() {
7
+ echo -en "\033[0;32m$*\033[0m\n"
8
+ }
9
+ function frosso() {
10
+ echo -en "\033[1;31m$*\033[0m\n"
11
+
12
+ }
13
+
14
+ function riscrivi() {
15
+ COLOR=$1
16
+ if echo $COLOR | egrep -q '^green' ; then
17
+ while read LINE; do
18
+ fverde $LINE
19
+ done
20
+ fi
21
+ if echo $COLOR | egrep -q '^red' ; then
22
+ while read LINE; do
23
+ frosso $LINE
24
+ done
25
+ fi
26
+ while read LINE; do
27
+ echo "???> $LINE"
28
+ done
29
+ }
30
+
31
+ bianco "# >$(whoami):$(pwd)\$ $*"
32
+ (
33
+ # sono un GENIO!!!! era: '($* 2>&3 ...'
34
+ (eval "$@" 2>&3 |riscrivi green >&2) 3>&1 |riscrivi red 2>&1
35
+ )2>&1
36
+ # Non posso sapere come esce purtroppo poiche' passa per 'riscrivi'
37
+ #bianco "# Uscita: $?"
@@ -0,0 +1,3 @@
1
+
2
+ cp $* ~/Desktop/
3
+
@@ -0,0 +1,24 @@
1
+ #!/bin/bash
2
+
3
+ VER=0.9.4
4
+ REPO=${1:-MISSING_REPO_NAME}
5
+ # With the basename you lose the directory (etc/) :(
6
+ #REPO=$(basename $REPO .git) # eliminates .git in the end, if such
7
+ REPODIR="$REPO"
8
+
9
+ usage() {
10
+ echo "Usage: $(basename $0) REPONAME.git"
11
+ echo " (.git in the end is mandatory)"
12
+ }
13
+ if echo $REPODIR |egrep -v "\.git$" ; then
14
+ usage
15
+ ll
16
+
17
+ fi
18
+
19
+ echo "Creating repo called '$REPODIR'"
20
+ mkdir "$REPODIR" &&
21
+ cd "$REPODIR" &&
22
+ git init --bare
23
+
24
+ echo -en "Tudo bem. Now please edit the file: \n vim $REPODIR/description\n"
@@ -0,0 +1,37 @@
1
+ #!/bin/bash
2
+
3
+ VER=1.0
4
+
5
+ # trasforma stdin in rosso o verde
6
+ function fverde() {
7
+ echo -en "\033[0;32m$*\033[0m\n"
8
+ }
9
+ function frosso() {
10
+ echo -en "\033[1;31m$*\033[0m\n"
11
+
12
+ }
13
+
14
+ function riscrivi() {
15
+ COLOR=$1
16
+ if echo $COLOR | egrep -q '^green' ; then
17
+ while read LINE; do
18
+ fverde $LINE
19
+ done
20
+ fi
21
+ if echo $COLOR | egrep -q '^red' ; then
22
+ while read LINE; do
23
+ frosso $LINE
24
+ done
25
+ fi
26
+ while read LINE; do
27
+ echo "???> $LINE"
28
+ done
29
+ }
30
+
31
+ bianco "# >$(whoami):$(pwd)\$ $*"
32
+ (
33
+ # sono un GENIO!!!! era: '($* 2>&3 ...'
34
+ (eval "$@" 2>&3 |riscrivi green >&2) 3>&1 |riscrivi red 2>&1
35
+ )2>&1
36
+ # Non posso sapere come esce purtroppo poiche' passa per 'riscrivi'
37
+ #bianco "# Uscita: $?"
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ date +%Y%m%d-%H%M%S
@@ -0,0 +1,90 @@
1
+ #!/bin/bash
2
+
3
+ export PATH=$PATH:$SVNHOME/bin
4
+
5
+ #########################################################
6
+ # Author: Riccardo Carlesso, all rights reserved
7
+ # Email: palladiusbonton@gmail.com
8
+ # Site: www.palladius.it
9
+ #
10
+ # Questo programma e' cio' che ho sempre sognato, verifica se
11
+ # cio' che segue cambia o meno. Se non cambia, non ha stdout, se no ce l'ha in formato mail...
12
+ # Quindi in sostanza fa la derivata di un output...
13
+ #########################################################
14
+ # TODO
15
+ #
16
+ # Come dice giustamente MB, la prima volta che avvii l'esecuzione,
17
+ # varia DEVE dare output nullo, se ci pensi e' semanticamente cosi'
18
+ # anche se poi non e' comodo implementativamente ;)
19
+ #########################################################
20
+
21
+ VER="2.0"
22
+
23
+ DEBUG=false
24
+
25
+ # 2011 12 23 2.0 Moved to sakura (open source and in English for my international fans!)
26
+ # 2007 05 22 1.8 messo debug che se diff e' attiva catta anche i 2 out (ottenevo delle diff strane!)
27
+ # 2007 01 17 1.7 messi copyright e messo indenta interno
28
+ # 2007 01 03 1.6 la exit e' corretta (0 uguali, <>0 diversi)
29
+ # 2006 07 04 1.5 aqggiunto supporto a utenti (carlo, riccardo, ...)
30
+ # 2006 02 13 1.4 aggiunta roba, tolta parte verbosa con date (un giorno sara' nel -v)
31
+
32
+ MD5=$(echo $*|md5sum|awk '{print $1}')
33
+ PAZ="/tmp/varia/"
34
+ MYUSER=$(whoami) # dovesse un giorno non bastare + in UTENET andra' l'ulteriore specificazione (chesso', utente+computer+dominio+cliente, ....
35
+ OLD="$PAZ/$MD5.$MYUSER.old"
36
+ ERR="$PAZ/$MD5.$MYUSER.err"
37
+ NEW="$PAZ/$MD5.$MYUSER.new"
38
+ OK="$PAZ/$MD5.$MYUSER.nochanges" # how long its been like this
39
+ CNT="$PAZ/$MD5.$MYUSER.count" # change history
40
+ OLDNEWGLOB="$PAZ/$MD5.$MYUSER.*" # glob to catch all and only these (two?) files
41
+ SEP="---------------------------------------------"
42
+ INDENTSEP=" | "
43
+
44
+ function indenta() {
45
+ while read LINE ; do
46
+ echo "$1$LINE"
47
+ done
48
+ }
49
+
50
+ write_infos() {
51
+ echo "pwd: `pwd`"
52
+ echo "date: `date`"
53
+ echo "Who: '$MYUSER'"
54
+ echo 'COUNT: (Count the chars over this line:)' # will be populated by plus
55
+ echo
56
+ }
57
+
58
+ mkdir -p $PAZ 2>/dev/null
59
+ chmod 777 $PAZ 2>/dev/null
60
+ touch $NEW # cosi' al primo colpo va gia'
61
+
62
+ # guarantees that now files get created with "rw-------"
63
+ umask 066
64
+
65
+ mv $NEW $OLD
66
+ eval "$@" 1>$NEW 2>$ERR
67
+ if diff -q $NEW $OLD >/dev/null; then
68
+ touch $OK
69
+ echo -n + >> $CNT
70
+ exit 0
71
+ else
72
+ #echo "NUOVO($(date))"
73
+ write_infos > $CNT
74
+ #echo "Subject: [varia] '"$*"'"
75
+ #echo
76
+ echo "+ Differences on `date +"%Y%m%d-%H%M%S"`:"
77
+ diff $NEW $OLD | sed -e 's/^>/OLD /'| sed -e 's/^</NEW /' | indenta "$INDENTSEP"
78
+ echo " --"
79
+ echo " $0, ver $VER"
80
+ if $DEBUG; then
81
+ echo " --"
82
+ echo "NEW:"
83
+ cat $NEW|indenta 'NEW> '
84
+ echo
85
+ echo OLD:
86
+ cat $OLD|indenta 'OLD> '
87
+ fi
88
+ echo "# More info here: $CNT"
89
+ exit 42
90
+ fi
@@ -0,0 +1,31 @@
1
+ #!/bin/bash
2
+
3
+ DIMMIPATH="$SAKURADIR/sounds/"
4
+ SUONA=/usr/bin/ogg123
5
+
6
+ if [ ! -f $SUONA ] ; then
7
+ echo "Ogg123 not installed, try: sudo apt-get install vorbis-tools"
8
+ exit 2
9
+ fi
10
+
11
+ function gestisci() {
12
+ PAROLA="$*"
13
+ if test -z "$1" ; then
14
+ return
15
+ fi
16
+ FNAME="$DIMMIPATH/$PAROLA.ogg"
17
+ RISERVA="$DIMMIPATH/boh.ogg"
18
+ if [ -f "$FNAME" ] ; then
19
+ $SUONA "$FNAME" >/dev/null 2>/dev/null
20
+ else
21
+ $SUONA "$RISERVA" >/dev/null 2>/dev/null
22
+ echo "'$FNAME' not found" >&2
23
+ fi
24
+ }
25
+
26
+ gestisci "$1"
27
+ while shift; do
28
+ if test ! -z "$1" ; then
29
+ gestisci $1
30
+ fi
31
+ done
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+
3
+ echo It tells you what time is it in Italian via OGG libraries..
4
+ $SAKURADIR/bin/dimmi $( date +"sonole %H ee %M minuti " )
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+
3
+ DIR=${1:-.}
4
+ #DEBUG=true
5
+ DEBUG=false
6
+
7
+ ################################################################################
8
+ # This program finds all files in the current directrory with the same md5 and it prints them out.
9
+ ################################################################################
10
+
11
+ function debugga() {
12
+ if $DEBUG ; then
13
+ echo '#DEB# ' $* >&2
14
+ fi
15
+ }
16
+ TMPFILE="/tmp/md5z.$USER.$$"
17
+ #DOPPIONIcaTMP_DUPLICATES="/tmp/m5d-duplicates"
18
+ #TMPFILE='./.md5z.list'
19
+ TMP_DUPLICATES='./.md5z.duplicates'
20
+ FIND_OPTS='-not -type l'
21
+
22
+ # creao lista degli md5 almeno doppi.
23
+ rm -f $TMPFILE $TMP_DUPLICATES
24
+ # in case its empty..
25
+ touch $TMPFILE $TMP_DUPLICATES
26
+ find "$DIR" $FIND_OPTS | fgrep -v '/.svn/' | while read F; do
27
+ debugga File "$F"
28
+ md5sum "$F" >>$TMPFILE # 2>/dev/null
29
+ done
30
+
31
+ debugga "Creating file with duplicates from dir: '$DIR'"
32
+ cat $TMPFILE|sort|awk '{print $1}'|uniq -c|egrep -v " 1"|awk '{print $2}' >$TMP_DUPLICATES
33
+
34
+ #debugga "Leggo i file e ti dico cosa ho trovato:"
35
+
36
+ cat $TMP_DUPLICATES|while read row
37
+ do
38
+ echo " ### MD5: $row ###"
39
+ fgrep $row $TMPFILE|cut -d" " -f 2-
40
+ echo
41
+ done
42
+
43
+ if $DEBUG; then
44
+ debugga Leaving files where they are for debug.
45
+ else
46
+ rm -f $TMPFILE $TMP_DUPLICATES
47
+ fi
48
+
data/bin/du- ADDED
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+
3
+ # does the du from files in stdin
4
+ # Usage:
5
+ # find . -name *.MOV | du-
6
+ #
7
+ while read FILE ; do
8
+ du -sh "$FILE"
9
+ done
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+
3
+ DIR=${1:-.}
4
+ #DEBUG=true
5
+ DEBUG=false
6
+
7
+ ################################################################################
8
+ # This program finds all files in the current directrory with the same md5 and it prints them out.
9
+ ################################################################################
10
+
11
+ function debugga() {
12
+ if $DEBUG ; then
13
+ echo '#DEB# ' $* >&2
14
+ fi
15
+ }
16
+ TMPFILE="/tmp/md5z.$USER.$$"
17
+ #DOPPIONIcaTMP_DUPLICATES="/tmp/m5d-duplicates"
18
+ #TMPFILE='./.md5z.list'
19
+ TMP_DUPLICATES='./.md5z.duplicates'
20
+ FIND_OPTS='-not -type l'
21
+
22
+ # creao lista degli md5 almeno doppi.
23
+ rm -f $TMPFILE $TMP_DUPLICATES
24
+ # in case its empty..
25
+ touch $TMPFILE $TMP_DUPLICATES
26
+ find "$DIR" $FIND_OPTS | fgrep -v '/.svn/' | while read F; do
27
+ debugga File "$F"
28
+ md5sum "$F" >>$TMPFILE # 2>/dev/null
29
+ done
30
+
31
+ debugga "Creating file with duplicates from dir: '$DIR'"
32
+ cat $TMPFILE|sort|awk '{print $1}'|uniq -c|egrep -v " 1"|awk '{print $2}' >$TMP_DUPLICATES
33
+
34
+ #debugga "Leggo i file e ti dico cosa ho trovato:"
35
+
36
+ cat $TMP_DUPLICATES|while read row
37
+ do
38
+ echo " ### MD5: $row ###"
39
+ fgrep $row $TMPFILE|cut -d" " -f 2-
40
+ echo
41
+ done
42
+
43
+ if $DEBUG; then
44
+ debugga Leaving files where they are for debug.
45
+ else
46
+ rm -f $TMPFILE $TMP_DUPLICATES
47
+ fi
48
+
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ # Sakura-simplified version of this amazing script
4
+
5
+ (echo -en 'SachoDo: ' ; echo "$@" )>&2
6
+
7
+ $@
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ =begin
4
+
5
+ ############################################################
6
+ @author: Riccardo Carlesso
7
+ @email: riccardo.carlesso@gmail.com
8
+ @maturity: development
9
+ @language: Ruby
10
+ @synopsis: ensure a line $2-$$ is present in file $1. Sim ilar to Augeas, just simpler
11
+ @tags: development, rcarlesso, test
12
+ @description:
13
+ Adds a line to a file if it doesnt find it :)
14
+ ############################################################
15
+
16
+ =end
17
+
18
+ # http://ruby.about.com/od/advancedruby/a/optionparser.htm
19
+ require 'optparse'
20
+ # Sakura Ruby library :)
21
+ require ENV['SAKURALIB'] + "/ric.rb"
22
+
23
+ # Program constants, automagically picked up by RicLib
24
+ # More configuration could be written in:
25
+ # $SVNHOME/etc/ricsvn/<FILENAME>.yml
26
+ # That would go into the variable '$prog_conf_d'
27
+ $myconf = {
28
+ :app_name => 'ensure_line_present',
29
+ :hello => 'Welcome to this terrific application',
30
+ }
31
+
32
+ $PROG_VER = '0.9.1'
33
+ $DEBUG = true
34
+ $TEMPLATE_VER = '1.5.7'
35
+
36
+ def usage(comment=nil)
37
+ puts "#{$0} v.#{$PROG_VER}"
38
+ puts "Usage: #{File.basename $0} [-dhjv] [-l LOGFILE] FILE [content to be there]"
39
+ deb $opts
40
+ pred comment if comment
41
+ puts "Example (quotes are for clarity, yet unnecessary):\n #{File.basename $0} /etc/hosts '8.8.8.8 gugoldns'"
42
+ exit 11
43
+ end
44
+
45
+ def init() # see lib_autoinit in lib/util.rb
46
+ $opts = {}
47
+ optparse = OptionParser.new do |opts|
48
+ opts.banner = "#{$0} v.#{$PROG_VER}\n Usage: #{File.basename $0} file [content to be there]"
49
+ opts.on( '-d', '--debug', 'enables debug (DFLT=false)' ) { $opts[:debug] = true }
50
+ opts.on( '-h', '--help', 'Display this screen' ) { puts(opts); exit 1 }
51
+ opts.on( '-j', '--jabba', 'Activates my Jabber powerful CLI' ) { $opts[:jabba] = true }
52
+ opts.on( '-l', '--logfile FILE', 'Write log to FILE' ) {|file| $opts[:logfile] = file }
53
+ opts.on( '-v', '--verbose', 'Output more information' ) { $opts[:verbose] = true}
54
+ end
55
+ optparse.parse!
56
+ end
57
+
58
+ def real_program
59
+ # Maybe you may want to check on ARGV
60
+ unless ARGV.size == 2
61
+ usage "Give me 2 or more arguments!"
62
+ end
63
+ deb("Hello world from a templated '#{$0 }'")
64
+ deb "+ Options are: #{$opts}"
65
+ deb "+ Depured args: #{ARGV}"
66
+
67
+ deb "PS Please find me in " + __FILE__
68
+ deb "Maybe you forgot to do:
69
+ git add #{__FILE__} # add to GIT
70
+ guarda #{__FILE__} & # edit file
71
+ always -- #{__FILE__} -d # to see what happens..."
72
+ # Your code goes here...
73
+ puts "Hello world!"
74
+ end
75
+
76
+ def main()
77
+ #init
78
+ #real_program
79
+ puts "To be implemented yet, please bear with me when my gf leaves my house :)"
80
+ end
81
+
82
+ main()