sakuric 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
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