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,72 @@
1
+ # Sakura
2
+
3
+ [![Build Status](https://secure.travis-ci.org/palladius/sakura.png)](http://travis-ci.org/palladius/sakura)
4
+
5
+ Sakura stands for Swiss Army Knife Uncanny Repository and Awesome :)
6
+
7
+ <img src='https://github.com/palladius/sakura/raw/master/images/sakura.jpg' height='200' align='right' />
8
+
9
+ It's a very nice way to color your life, I guess. It also provides a lot of tools, aliases, .. that power
10
+ your shell experience. If you're not a shell guy, you shouldn't be using it. If you are, you can have your
11
+ shell PS1 to be changed to have the Italian flag, or Irish, or Argentinian, for instance. :)
12
+
13
+ ## Synopsis
14
+
15
+ This is my famous SVN which is becoming opensource!
16
+
17
+ ## Install
18
+
19
+ Go to the directory where you want to 'install' this software. Then download the repo:
20
+
21
+ git clone git://github.com/palladius/sakura.git
22
+ cat sakura/templates/bashrc.inject >> ~/.bashrc
23
+
24
+ Note. Any help is appreciated to make this changeable!
25
+
26
+ ## License
27
+
28
+ Everything in this repo is under the Creative Commons license, except where stated otherwise.
29
+
30
+ ## Usage
31
+
32
+ <img src='https://github.com/palladius/sakura/raw/master/images/color-sample.png' height='100' align='right' />
33
+ See `doc/sakura-samples.txt` for some usage.
34
+ For instant gratification try the following:
35
+
36
+ richelp ubuntu # shows a richelp of my 'ubuntu' cheatsheet
37
+ richelp sakura synopsis # shows a richelp of my 'sakura' cheatsheet, grepping for 'synopsis'
38
+ ls | act # randomly scrambles the lines! Taken from cat/cat ;)
39
+ ps | rainbow # colors all lines differently
40
+ twice itunes - # lowers volume of iTunes... twice :)
41
+ 10 echo Bart Simpson likes it DRY # tells you this 10 times. Very sarcastic script!
42
+ seq 100 | 1suN 7 # prints every 7th element of the list
43
+ zombies # prints processes that show zombies (plus funny options to kill them)
44
+ find . -size +300M | xargs mvto /tmp/bigfiles/ # moves big files to that directory
45
+ alias gp='never_as_root git pull' # only if u r not root it runs!
46
+ tellme-time # Tells you the time with Riccardo voice in Italian. Brilliant!
47
+ find-duplicates . # Tells you files with same size/MD5 in this directory
48
+ facter is_google_vm # Tells if it's a GCE Virtual Machine
49
+
50
+ ## Credits
51
+
52
+ Many people contributed to it. First place goes obviously to my mum (see below).
53
+
54
+ <img src='http://www.palladius.it/palladius.jpg' height='100' align='right' />
55
+
56
+ - Riccardo Carlesso <riccardo.carlesso@gmail.com>
57
+
58
+ Borrowed code:
59
+
60
+ - Dmitry V Golovashkin <Dmitry.Golovashkin@sas.com>: `timeout3`
61
+ - William Stearns <wstearns@pobox.com>: `fanout`, GPL
62
+ - Synergy FOSS <http://synergy-foss.org/support>
63
+ - Google: `upload.py` (Apache license)
64
+ - Micha Niskin <micha@thinkminimo.com>: `jsawk`
65
+ - A. Iurlano <http://github.com/aiurlano>: `gcutil-fetch`
66
+
67
+ Thanks for who believed in me:
68
+
69
+ - Enrico "Vector field" Biondini
70
+ - Chris <a href='https://github.com/palladius/sakura/raw/master/sounds/awesome.m4a'>"awesome"</a> Glass (Notice `Awesome.m4a` sound, under Creative Commons)
71
+ - Lucilla "Mum" Gennari for love and support
72
+ - Jeffrey Silverman, my wise colleague for wise suggestions
@@ -0,0 +1,4 @@
1
+ require 'rake'
2
+ require 'echoe'
3
+
4
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
data/TODO ADDED
@@ -0,0 +1,3 @@
1
+
2
+ - OK make this a ruby gem
3
+ - copy the lib/ structure from Rails (sittin gon shoulders of giants)
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 2.0.1
data/bashrc ADDED
@@ -0,0 +1,30 @@
1
+
2
+ VER=`cat "$SAKURADIR/VERSION"`
3
+ export SAKURA_VER=$VERSION
4
+
5
+ ## enable/disable DEBUG
6
+ #export DEBUG=true
7
+ export DEBUG=false
8
+
9
+ if [ "nope$SAKURADIR" = "nope" ] ; then
10
+ echo "SAKURA> Sorry, SAKURADIR is missing. Please add to ~/.bashrc something like this:" >&2
11
+ echo " export SAKURADIR=~/path/to/your/sakura/repo/" >&2
12
+ echo "Or you might try the following: cat templates/bashrc.inject" >&2
13
+ fi
14
+
15
+ if [ ! -f $SAKURADIR/bashrc.local ] ; then
16
+ echo "File $SAKURADIR/bashrc.local not found, copying $SAKURADIR/bashrc.local. this may take a while..."
17
+ cp $SAKURADIR/bashrc.local.sample $SAKURADIR/bashrc.local
18
+ sleep 1
19
+ echo Done.
20
+ fi
21
+
22
+
23
+ # TODO change to run-all or source-all :)
24
+ for INCLUDE_FILE in $SAKURADIR/bashrc.d/*.include ; do
25
+ source "$INCLUDE_FILE"
26
+ done
27
+ #. $SAKURADIR/bashrc.d/00-functions
28
+ #. $SAKURADIR/bashrc.d/01-sakura_checks
29
+ #. $SAKURADIR/bashrc.d/all/_common
30
+ #. $SAKURADIR/bashrc.d/all/aliases
@@ -0,0 +1,7 @@
1
+
2
+
3
+ # this works on Mac OSX
4
+ deb() {
5
+ echo "[SAKDEB] $*" >&2
6
+ }
7
+
@@ -0,0 +1,15 @@
1
+
2
+ #deb SAKDEB sourceing $0 v$VER bashrc on Sakura
3
+
4
+ #set -x
5
+ # TODO: verify that $SAKURADIR is set otherwise exit saying:
6
+ # Sorry, inject 'bashrc.inject' THIS into .bashrc
7
+ # This should be changed by the user
8
+ export SAKURA_BASHRC_PARSED=true
9
+
10
+ if [ -f $SAKURADIR/bashrc.local ] ; then
11
+ . $SAKURADIR/bashrc.local
12
+ else
13
+ echo "Attention, bashrc.local doesnt exist. Copy it and adapt it to your situation"
14
+ echo " cp $SAKURADIR/bashrc.local.sample $SAKURADIR/bashrc.local"
15
+ fi
@@ -0,0 +1,11 @@
1
+
2
+
3
+ # sources files based on Architecture.
4
+
5
+ UNAME_FILE="$SAKURADIR/bashrc.d/uname.d/`uname`"
6
+ if [ -f "$UNAME_FILE" ] ; then
7
+ #deb "Sourcing my architecture file: $UNAME_FILE"
8
+ . "$UNAME_FILE"
9
+ else
10
+ echo "File not found: $UNAME_FILE"
11
+ fi
@@ -0,0 +1,4 @@
1
+
2
+ export FACTERLIB="$FACTERLIB:$SAKURALIB/facter/"
3
+
4
+ alias irb-sakura="echodo irb -r $SAKURALIB/ric.rb"
@@ -0,0 +1,11 @@
1
+
2
+ # Local, depends on final user...
3
+ for INCLUDE_FILE in $SAKURADIR/bashrc.d/local.d/*.include ; do
4
+ #deb "Including local file: $INCLUDE_FILE"
5
+ source "$INCLUDE_FILE"
6
+ done
7
+
8
+ # for INCLUDE_FILE in local.d/*.include ; do
9
+ # echo "SAKDEB: including local file: $INCLUDE_FILE"
10
+ # source "$INCLUDE_FILE"
11
+ # done
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # Sakura stuff
4
+ alias 'cdsak=cd $SAKURADIR'
5
+ alias sak="giallo With sakura everything is easier and more verbose..; . $SAKURADIR/bashrc"
6
+ alias ssa="rosso SSA is sourcing sakura.. ; . $SAKURADIR/bashrc"
7
+ alias sa="rosso SA is now sourcing sakura.. ; . $SAKURADIR/bashrc"
8
+ alias sb='source ~/.bashrc'
9
+ alias sbsak='source $SAKURADIR/bashrc'
10
+ alias rh=richelp
11
+
12
+ # git
13
+ alias git-undo-last-commit='git reset --soft HEAD^'
14
+
15
+ # PS1
16
+ alias ps1_normal="export PS1='\u@\h:\w\$ '"
17
+ alias ps1_coloured="export PS1='\u@\h:\w (TODO COLORS)\$ '"
18
+
19
+ #ls
20
+ alias ll='ls -al'
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ # Common stuff not to be seen in the ~
4
+ export SAKURABIN=$SAKURADIR/bin
5
+ export SAKURASBIN=$SAKURADIR/sbin
6
+ export SAKURALIB=$SAKURADIR/lib
7
+ export PATH=$PATH:$SAKURABIN
@@ -0,0 +1 @@
1
+ Feel free to add here your personal .include files
File without changes
@@ -0,0 +1,6 @@
1
+ #!/bib/bash
2
+
3
+
4
+ # This is only for Mac
5
+
6
+ alias ls='ls -G' # colors enabled on Mac
File without changes
@@ -0,0 +1,11 @@
1
+
2
+ # This should be changed by the user
3
+
4
+ export SAKURA_BASHRC_LOCAL_CONF_VER=1.0.2
5
+
6
+ # This should be in the ~/.bashrc !
7
+ #export SAKURADIR=~/path/to/your/sakura/repo/
8
+
9
+ export SAKURA_BROWSER=google-chrome
10
+ export SAKURARIC=true
11
+ export SAKURA_USER=YOUR_USERNAME
data/bin/10 ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+
3
+ (1..10).each {|i|
4
+ #print i, 'eseguo "' , ARGV , "\"\n"
5
+ system ARGV.join(' ')
6
+ }
7
+
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+
3
+ (1..10).each {|i|
4
+ #print i, 'eseguo "' , ARGV , "\"\n"
5
+ system ARGV.join(' ')
6
+ }
7
+
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/perl -w
2
+
3
+ # IN BASH You can simply do: sed -n 2~5p : rows 2 7 12 17...
4
+ # i.e.:
5
+ # eq 1 100 | sed -n 2~5p
6
+ # But on my Mac it doesnt work!
7
+
8
+ my $DEBUG = 0;
9
+
10
+ my $n=10; # default N=10
11
+ if (defined($ARGV[0]) ) { $n=int($ARGV[0]); }
12
+
13
+
14
+ # prints one line every n (default: n=10)
15
+ my $i=0;
16
+ while (<STDIN>) {
17
+ if ($DEBUG) { print "DEB $i/$n (".($i == 0)."): $_"; }
18
+ if ($i == 0) { print; }
19
+ $i++;
20
+ if ($i == $n) { $i = 0; }
21
+ }
22
+
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/perl -w
2
+
3
+ # IN BASH You can simply do: sed -n 2~5p : rows 2 7 12 17...
4
+ # i.e.:
5
+ # eq 1 100 | sed -n 2~5p
6
+ # But on my Mac it doesnt work!
7
+
8
+ my $DEBUG = 0;
9
+
10
+ my $n=10; # default N=10
11
+ if (defined($ARGV[0]) ) { $n=int($ARGV[0]); }
12
+
13
+
14
+ # prints one line every n (default: n=10)
15
+ my $i=0;
16
+ while (<STDIN>) {
17
+ if ($DEBUG) { print "DEB $i/$n (".($i == 0)."): $_"; }
18
+ if ($i == 0) { print; }
19
+ $i++;
20
+ if ($i == $n) { $i = 0; }
21
+ }
22
+
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/perl -w
2
+
3
+ # IN BASH You can simply do: sed -n 2~5p : rows 2 7 12 17...
4
+ # i.e.:
5
+ # eq 1 100 | sed -n 2~5p
6
+ # But on my Mac it doesnt work!
7
+
8
+ my $DEBUG = 0;
9
+
10
+ my $n=10; # default N=10
11
+ if (defined($ARGV[0]) ) { $n=int($ARGV[0]); }
12
+
13
+
14
+ # prints one line every n (default: n=10)
15
+ my $i=0;
16
+ while (<STDIN>) {
17
+ if ($DEBUG) { print "DEB $i/$n (".($i == 0)."): $_"; }
18
+ if ($i == 0) { print; }
19
+ $i++;
20
+ if ($i == $n) { $i = 0; }
21
+ }
22
+
data/bin/2 ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/ruby
2
+
3
+ (1..2).each {|i|
4
+ system ARGV.join(' ')
5
+ }
data/bin/act ADDED
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/perl
2
+ ###########
3
+ # act.pl
4
+ #########
5
+ # scrambla i contenuti di un stdin, li rimescola a caso
6
+ # fisher_yates_shuffle( \@array ) : generate a random permutation
7
+ # of @array in place
8
+
9
+ sub fisher_yates_shuffle {
10
+ my $array = shift;
11
+ my $i;
12
+ for ($i = @$array; --$i; ) {
13
+ my $j = int rand ($i+1);
14
+ next if $i == $j;
15
+ @$array[$i,$j] = @$array[$j,$i];
16
+ }
17
+ return $array;
18
+ }
19
+
20
+ my @Astdin = 0;
21
+ my $i=0;
22
+ while (<>) { $Astdin[$i++] = $_; }
23
+ fisher_yates_shuffle(\@Astdin);
24
+ print @Astdin;
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ echo -en "\033[1;33m$*\033[0m\n"
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ # 256 colori grazie a cillian e allo script: \033[38;5;208m
3
+ # fatto a tentoni: echo FF7700 | ./conv-rgb2xterm
4
+ echo -en "\033[38;5;208m$*\033[0m\n"
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+
3
+ I=1
4
+ # evito il nero che e' 30
5
+ while read linea
6
+ do
7
+ I=$(($I+1));
8
+ N=$((31+$I%7))
9
+ echo -en "\033[1;${N}m$linea\033[0m\n"
10
+ done
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ echo -en "\033[1;37m$*\033[0m\n"
3
+
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ echo -en "\033[0;30m$*\033[0m\n"
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ VER = '1.1'
4
+
5
+ require 'rubygems'
6
+ begin
7
+ require 'filecache' # gem install ruby-cache
8
+ rescue Exception => e
9
+ puts 'gem filecache requires installation, sorry'
10
+ puts 'gem filecache requires installation, sorry. trying to install myself, give me root password'
11
+ system 'sudo gem install -r filecache'
12
+ puts 'Try again now!'
13
+ exit 1
14
+ end
15
+
16
+
17
+ $time_cache_secs = 3600
18
+ $cache_dir = File.expand_path("~/.riccache")
19
+
20
+ def deb(s)
21
+ #puts "#DEB# #{s}"
22
+ end
23
+
24
+ # writes a command
25
+ def main
26
+ # create a new cache called "my-cache", rooted in /home/simon/caches
27
+ # with an expiry time of 30 seconds, and a file hierarchy three
28
+ # directories deep
29
+ cache = FileCache.new("cache3", $cache_dir, $time_cache_secs, 3)
30
+ cmd = ARGV.join(' ').to_s
31
+ cmd = 'echo give me an argment' if cmd.length < 1
32
+
33
+ # gives a list... but hey! This expires! Maybe better a normal single file serialization...
34
+ #list = cache.get('_index') || []
35
+ #list << cmd # unless cmd contains it
36
+ #deb list
37
+ #cache.set(list)
38
+
39
+ # caches the command and retrieves it
40
+ if cache.get('output' + cmd)
41
+ deb "Cache found!(for '#{cmd}')"
42
+ else
43
+ deb "Cache not found! Recalculating and setting for the future"
44
+ cache.set('output' + cmd, `#{cmd}`)
45
+ end
46
+ deb 'anyway calling the cache now'
47
+ print(cache.get('output' + cmd))
48
+ end
49
+
50
+ main
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ VER = '1.1'
4
+
5
+ require 'rubygems'
6
+ begin
7
+ require 'filecache' # gem install ruby-cache
8
+ rescue Exception => e
9
+ puts 'gem filecache requires installation, sorry'
10
+ puts 'gem filecache requires installation, sorry. trying to install myself, give me root password'
11
+ system 'sudo gem install -r filecache'
12
+ puts 'Try again now!'
13
+ exit 1
14
+ end
15
+
16
+
17
+ $time_cache_secs = 3600
18
+ $cache_dir = File.expand_path("~/.riccache")
19
+
20
+ def deb(s)
21
+ #puts "#DEB# #{s}"
22
+ end
23
+
24
+ # writes a command
25
+ def main
26
+ # create a new cache called "my-cache", rooted in /home/simon/caches
27
+ # with an expiry time of 30 seconds, and a file hierarchy three
28
+ # directories deep
29
+ cache = FileCache.new("cache3", $cache_dir, $time_cache_secs, 3)
30
+ cmd = ARGV.join(' ').to_s
31
+ cmd = 'echo give me an argment' if cmd.length < 1
32
+
33
+ # gives a list... but hey! This expires! Maybe better a normal single file serialization...
34
+ #list = cache.get('_index') || []
35
+ #list << cmd # unless cmd contains it
36
+ #deb list
37
+ #cache.set(list)
38
+
39
+ # caches the command and retrieves it
40
+ if cache.get('output' + cmd)
41
+ deb "Cache found!(for '#{cmd}')"
42
+ else
43
+ deb "Cache not found! Recalculating and setting for the future"
44
+ cache.set('output' + cmd, `#{cmd}`)
45
+ end
46
+ deb 'anyway calling the cache now'
47
+ print(cache.get('output' + cmd))
48
+ end
49
+
50
+ main