roebe 0.5.147

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of roebe might be problematic. Click here for more details.

Files changed (2891) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +2982 -0
  3. data/bin/blinking_cursor +7 -0
  4. data/bin/browser +7 -0
  5. data/bin/colourized_tokenitor1 +7 -0
  6. data/bin/colourized_tokenitor2 +7 -0
  7. data/bin/colourized_tokenitor3 +7 -0
  8. data/bin/colourized_tokenitor4 +7 -0
  9. data/bin/colourized_tokenitor5 +7 -0
  10. data/bin/compare_these_two_directories +7 -0
  11. data/bin/create_file_skeleton +7 -0
  12. data/bin/create_my_directories +7 -0
  13. data/bin/create_wpa_supplicant_build_file +7 -0
  14. data/bin/create_zip +7 -0
  15. data/bin/custom_invoke +28 -0
  16. data/bin/delete_empty_files +7 -0
  17. data/bin/display_gcc_version +7 -0
  18. data/bin/do_a_google_search +7 -0
  19. data/bin/extract_gem_file +7 -0
  20. data/bin/fragment_maker +7 -0
  21. data/bin/generate_fstab_file +7 -0
  22. data/bin/handle_xorg_related_boot_phase +7 -0
  23. data/bin/hello_world +7 -0
  24. data/bin/in +7 -0
  25. data/bin/increment_application_version +7 -0
  26. data/bin/increment_application_version_then_push_the_gem +13 -0
  27. data/bin/install_all_registered_fonts +7 -0
  28. data/bin/install_my_addons +114 -0
  29. data/bin/interactive_file_creator +7 -0
  30. data/bin/java_compile_statically +11 -0
  31. data/bin/kill_firefox +7 -0
  32. data/bin/kill_palemoon +7 -0
  33. data/bin/konsole_title +7 -0
  34. data/bin/larrow +7 -0
  35. data/bin/log10 +7 -0
  36. data/bin/menugenerator +7 -0
  37. data/bin/modify_shebang_header +7 -0
  38. data/bin/openpdf1 +7 -0
  39. data/bin/openpdf2 +7 -0
  40. data/bin/openpdf3 +7 -0
  41. data/bin/openpdf4 +7 -0
  42. data/bin/openpdf5 +7 -0
  43. data/bin/openpdf6 +7 -0
  44. data/bin/openpdf7 +7 -0
  45. data/bin/openpdf8 +7 -0
  46. data/bin/openpdf9 +7 -0
  47. data/bin/passwords +7 -0
  48. data/bin/path_generator +7 -0
  49. data/bin/print_this_unicode_symbol +7 -0
  50. data/bin/quick_colour_test +13 -0
  51. data/bin/rarrow +7 -0
  52. data/bin/rdate +7 -0
  53. data/bin/remove_this_substring_from_all_files +7 -0
  54. data/bin/replace_space_with_underscore +7 -0
  55. data/bin/rfirefox +7 -0
  56. data/bin/rinstall2 +7 -0
  57. data/bin/roebe +7 -0
  58. data/bin/roebe_documentation +7 -0
  59. data/bin/roebeshell +11 -0
  60. data/bin/ruby_cat +7 -0
  61. data/bin/ruby_dhcpcd +7 -0
  62. data/bin/run +7 -0
  63. data/bin/rxinitrc +7 -0
  64. data/bin/set_alias_1 +7 -0
  65. data/bin/set_alias_10 +7 -0
  66. data/bin/set_alias_11 +7 -0
  67. data/bin/set_alias_12 +7 -0
  68. data/bin/set_alias_13 +7 -0
  69. data/bin/set_alias_14 +7 -0
  70. data/bin/set_alias_15 +7 -0
  71. data/bin/set_alias_2 +7 -0
  72. data/bin/set_alias_3 +7 -0
  73. data/bin/set_alias_4 +7 -0
  74. data/bin/set_alias_5 +7 -0
  75. data/bin/set_alias_6 +7 -0
  76. data/bin/set_alias_7 +7 -0
  77. data/bin/set_alias_8 +7 -0
  78. data/bin/set_alias_9 +7 -0
  79. data/bin/set_browser +7 -0
  80. data/bin/setpdf1 +7 -0
  81. data/bin/setpdf2 +7 -0
  82. data/bin/setpdf3 +7 -0
  83. data/bin/setpdf4 +7 -0
  84. data/bin/setpdf5 +7 -0
  85. data/bin/setpdf6 +7 -0
  86. data/bin/setpdf7 +7 -0
  87. data/bin/setpdf8 +7 -0
  88. data/bin/setpdf9 +7 -0
  89. data/bin/show_available_users +7 -0
  90. data/bin/show_ten_aliases +7 -0
  91. data/bin/simple_extractor +9 -0
  92. data/bin/start_lighty +7 -0
  93. data/bin/symlink_directories_from_that_directory_to_the_current_directory +7 -0
  94. data/bin/symlink_everything_from_that_directory_to_this_directory +7 -0
  95. data/bin/symlink_files_from_that_directory_to_the_current_directory +7 -0
  96. data/bin/take_screenshot +7 -0
  97. data/bin/to_binary +7 -0
  98. data/bin/tokenitor +7 -0
  99. data/bin/vim_paradise +7 -0
  100. data/bin/wlan +7 -0
  101. data/bin/word_count +7 -0
  102. data/bin/write_what_into +7 -0
  103. data/bin/yaml_check +7 -0
  104. data/doc/README.gen +2942 -0
  105. data/doc/add_ons_for_ruby/README.md +3 -0
  106. data/doc/add_ons_for_ruby/axlsx.md +60 -0
  107. data/doc/add_ons_for_ruby/cgi.md +16 -0
  108. data/doc/add_ons_for_ruby/falcon.md +0 -0
  109. data/doc/add_ons_for_ruby/fxruby.md +14 -0
  110. data/doc/add_ons_for_ruby/glimmer-libui.md +43 -0
  111. data/doc/add_ons_for_ruby/gosu.md +3 -0
  112. data/doc/add_ons_for_ruby/hexapdf.md +66 -0
  113. data/doc/add_ons_for_ruby/jruby.md +199 -0
  114. data/doc/add_ons_for_ruby/kramdown.md +34 -0
  115. data/doc/add_ons_for_ruby/mail.md +51 -0
  116. data/doc/add_ons_for_ruby/opal.md +34 -0
  117. data/doc/add_ons_for_ruby/padrino.md +4 -0
  118. data/doc/add_ons_for_ruby/prawn.md +30 -0
  119. data/doc/add_ons_for_ruby/rack.md +214 -0
  120. data/doc/add_ons_for_ruby/roda.md +6 -0
  121. data/doc/add_ons_for_ruby/sequel.md +51 -0
  122. data/doc/add_ons_for_ruby/tty_box.md +28 -0
  123. data/doc/add_ons_for_ruby/watir.md +30 -0
  124. data/doc/add_ons_for_ruby/whois.md +15 -0
  125. data/doc/core/array.md +65 -0
  126. data/doc/core/blocks.md +38 -0
  127. data/doc/core/enumerator.md +15 -0
  128. data/doc/core/io_console.md +15 -0
  129. data/doc/core/open_uri.md +29 -0
  130. data/doc/core/pp.md +29 -0
  131. data/doc/core/process.md +21 -0
  132. data/doc/core/rbconfig.md +39 -0
  133. data/doc/core/regex.md +23 -0
  134. data/doc/core/rubyvm.md +4 -0
  135. data/doc/core/symbols.md +47 -0
  136. data/doc/core/tempfile.md +34 -0
  137. data/doc/core/tracepoint.md +7 -0
  138. data/doc/core/unicode.md +5 -0
  139. data/doc/core/unprintable_characters.md +17 -0
  140. data/doc/deprecations.md +10 -0
  141. data/doc/diamond_shell_tutorial.cgi +589 -0
  142. data/doc/linux_may_have_issues.md +92 -0
  143. data/doc/misc/how_to_publish.md +49 -0
  144. data/doc/misc/the_initialize_method.md +2 -0
  145. data/doc/misc/the_perfect_book.md +14 -0
  146. data/doc/old_tutorial/README.md +7 -0
  147. data/doc/old_tutorial/old_diashell_tutorial.cgi +2105 -0
  148. data/doc/roebeshell/CONFIGURATION_FOR_THE_ROEBE_SHELL.md +381 -0
  149. data/doc/roebeshell/MANIFESTO_FOR_THE_ROEBE_SHELL_COMPONENT.md +391 -0
  150. data/doc/roebeshell/PHILOSOPHY_OF_THE_ROEBE_SHELL.md +64 -0
  151. data/doc/ruby_on_rails_tutorial/data_types_for_rails_migrations.md +11 -0
  152. data/doc/ruby_on_rails_tutorial/ruby_on_rails_tutorial.cgi +404 -0
  153. data/doc/sinatra_tutorial/sinatra_tutorial.cgi +7 -0
  154. data/doc/sinatra_tutorial/sinatra_tutorial.rb +930 -0
  155. data/doc/sinatra_tutorial/sinatra_tutorial.sinatra +56 -0
  156. data/doc/statistics/statistics.md +94 -0
  157. data/doc/the_ruby_philosophy/the_ruby_philosophy.md +6 -0
  158. data/doc/todo/todo_for_the_roebe_project.md +1 -0
  159. data/doc/todo/todo_for_the_roebe_project_on_windows.md +4 -0
  160. data/doc/todo/todo_for_the_roebe_shell.md +759 -0
  161. data/examples/README.md +4 -0
  162. data/examples/date_and_time/is_this_day_part_of_that_range.rb +45 -0
  163. data/examples/misc/argv_encoding_test.rb +38 -0
  164. data/examples/misc/arrays/center_two_arrays.rb +24 -0
  165. data/examples/misc/loops/display_coloured_vertical_bars.rb +10 -0
  166. data/examples/rack/README.md +2 -0
  167. data/examples/rack/all_in_one_rack_example.rb +241 -0
  168. data/examples/rack/hello_world_in_rack.rb +37 -0
  169. data/examples/recursion/README.md +2 -0
  170. data/examples/recursion/quadratic_sum_of_a_number.rb +23 -0
  171. data/examples/recursion/reverse_the_string.rb +31 -0
  172. data/examples/recursion/shift_highest_value.rb +30 -0
  173. data/examples/recursion/shuffle_sort_string.rb +35 -0
  174. data/examples/rmagick/001_axes.rb +68 -0
  175. data/examples/rmagick/002_basic_2D_canvas.rb +29 -0
  176. data/examples/rmagick/003_a_walking_duck.rb +42 -0
  177. data/examples/rmagick/004_black_rectangle_with_red_border.rb +37 -0
  178. data/examples/rmagick/A_WALKING_DUCK.gif +0 -0
  179. data/examples/rmagick/foobar.png +0 -0
  180. data/examples/tty_box/all_in_one.rb +33 -0
  181. data/lib/roebe/autoinclude.rb +4 -0
  182. data/lib/roebe/autoinclude_encoding.rb +11 -0
  183. data/lib/roebe/autoinclude_open.rb +3 -0
  184. data/lib/roebe/base/base.rb +25 -0
  185. data/lib/roebe/base/chdir.rb +48 -0
  186. data/lib/roebe/base/colours.rb +600 -0
  187. data/lib/roebe/base/commandline_arguments.rb +96 -0
  188. data/lib/roebe/base/constants.rb +25 -0
  189. data/lib/roebe/base/copy.rb +72 -0
  190. data/lib/roebe/base/editor.rb +18 -0
  191. data/lib/roebe/base/encoding.rb +54 -0
  192. data/lib/roebe/base/env.rb +22 -0
  193. data/lib/roebe/base/esystem.rb +99 -0
  194. data/lib/roebe/base/home_directory_of_user_x.rb +27 -0
  195. data/lib/roebe/base/is_on_roebe.rb +22 -0
  196. data/lib/roebe/base/misc.rb +415 -0
  197. data/lib/roebe/base/next.rb +29 -0
  198. data/lib/roebe/base/opnn.rb +52 -0
  199. data/lib/roebe/base/prototype.rb +483 -0
  200. data/lib/roebe/base/reset.rb +50 -0
  201. data/lib/roebe/base/run.rb +17 -0
  202. data/lib/roebe/base/simp.rb +25 -0
  203. data/lib/roebe/base/support_for_beautiful_url.rb +35 -0
  204. data/lib/roebe/base/symlink.rb +51 -0
  205. data/lib/roebe/base/time.rb +165 -0
  206. data/lib/roebe/base/verbose_truth.rb +21 -0
  207. data/lib/roebe/base/write_what_into.rb +33 -0
  208. data/lib/roebe/browser/README.md +5 -0
  209. data/lib/roebe/browser/browser.rb +26 -0
  210. data/lib/roebe/browser/constants.rb +43 -0
  211. data/lib/roebe/browser/firefox.rb +51 -0
  212. data/lib/roebe/browser/menu.rb +103 -0
  213. data/lib/roebe/browser/misc.rb +367 -0
  214. data/lib/roebe/browser/output_url_then_open_in_browser.rb +168 -0
  215. data/lib/roebe/browser/palemoon.rb +59 -0
  216. data/lib/roebe/browser/reset.rb +50 -0
  217. data/lib/roebe/cat/class.rb +225 -0
  218. data/lib/roebe/cat/method.rb +14 -0
  219. data/lib/roebe/classes/add_irc_quote.rb +132 -0
  220. data/lib/roebe/classes/add_newline_after.rb +124 -0
  221. data/lib/roebe/classes/add_newline_after_n_characters.rb +65 -0
  222. data/lib/roebe/classes/add_this_user_to_the_sudoers_file.rb +67 -0
  223. data/lib/roebe/classes/add_user_lighty.rb +104 -0
  224. data/lib/roebe/classes/aggregate_all_files_together_from_this_directory.rb +86 -0
  225. data/lib/roebe/classes/aliases.rb +683 -0
  226. data/lib/roebe/classes/all_games.rb +61 -0
  227. data/lib/roebe/classes/all_my_gems.rb +101 -0
  228. data/lib/roebe/classes/alphabetical_sorter.rb +117 -0
  229. data/lib/roebe/classes/apache_configuration_maker.rb +234 -0
  230. data/lib/roebe/classes/append_this.rb +156 -0
  231. data/lib/roebe/classes/append_to_line.rb +141 -0
  232. data/lib/roebe/classes/ascii/README.md +2 -0
  233. data/lib/roebe/classes/ascii/fix_missing_numbers_for_ascii_paradise.rb +96 -0
  234. data/lib/roebe/classes/at.rb +340 -0
  235. data/lib/roebe/classes/audio_information/audio_information.rb +116 -0
  236. data/lib/roebe/classes/automounter.rb +181 -0
  237. data/lib/roebe/classes/available_classes.rb +219 -0
  238. data/lib/roebe/classes/backup_core_system.rb +223 -0
  239. data/lib/roebe/classes/basic_configure.rb +110 -0
  240. data/lib/roebe/classes/batch_generate_all_my_gems.rb +132 -0
  241. data/lib/roebe/classes/become_another_user.rb +86 -0
  242. data/lib/roebe/classes/bezirk.rb +91 -0
  243. data/lib/roebe/classes/birthday_notifications.rb +291 -0
  244. data/lib/roebe/classes/books/books.rb +452 -0
  245. data/lib/roebe/classes/books/menu.rb +171 -0
  246. data/lib/roebe/classes/burn_iso/burn_iso.rb +262 -0
  247. data/lib/roebe/classes/burn_iso/constants.rb +43 -0
  248. data/lib/roebe/classes/burn_iso/initialize.rb +33 -0
  249. data/lib/roebe/classes/caesar_cipher.rb +88 -0
  250. data/lib/roebe/classes/calendar.rb +360 -0
  251. data/lib/roebe/classes/calendar_maker.rb +61 -0
  252. data/lib/roebe/classes/celsius_to_fahrenheit.rb +195 -0
  253. data/lib/roebe/classes/check_for_bad_blocks.rb +67 -0
  254. data/lib/roebe/classes/check_yaml.rb +71 -0
  255. data/lib/roebe/classes/chmod_current_time.rb +71 -0
  256. data/lib/roebe/classes/clipboard.rb +221 -0
  257. data/lib/roebe/classes/clock.rb +118 -0
  258. data/lib/roebe/classes/colourize_numbers.rb +70 -0
  259. data/lib/roebe/classes/compare_these_two_directories.rb +101 -0
  260. data/lib/roebe/classes/compare_these_two_files.rb +167 -0
  261. data/lib/roebe/classes/compile_kernel.rb +114 -0
  262. data/lib/roebe/classes/config_generator.rb +204 -0
  263. data/lib/roebe/classes/conky.rb +114 -0
  264. data/lib/roebe/classes/conky_rcfile_generator.rb +61 -0
  265. data/lib/roebe/classes/convert_encoding_of_this_file.rb +215 -0
  266. data/lib/roebe/classes/convert_file_into_utf_encoding.rb +89 -0
  267. data/lib/roebe/classes/convert_this_cgi_file_into_a_sinatrafied_application.rb +145 -0
  268. data/lib/roebe/classes/copy_from_glibc.rb +134 -0
  269. data/lib/roebe/classes/copy_here.rb +76 -0
  270. data/lib/roebe/classes/copy_kernel_config.rb +59 -0
  271. data/lib/roebe/classes/copy_these_directories_to.rb +121 -0
  272. data/lib/roebe/classes/correct_gibberish.rb +89 -0
  273. data/lib/roebe/classes/covid_lethality.rb +243 -0
  274. data/lib/roebe/classes/create_asoundrc_file.rb +66 -0
  275. data/lib/roebe/classes/create_benchmark_file.rb +77 -0
  276. data/lib/roebe/classes/create_desktop_file.rb +236 -0
  277. data/lib/roebe/classes/create_docbook_sgml_dtd_catalog.rb +113 -0
  278. data/lib/roebe/classes/create_file_skeleton/constants.rb +70 -0
  279. data/lib/roebe/classes/create_file_skeleton/create_file_skeleton.rb +470 -0
  280. data/lib/roebe/classes/create_file_skeleton/generate_c_string.rb +31 -0
  281. data/lib/roebe/classes/create_file_skeleton/generate_cpp_string.rb +33 -0
  282. data/lib/roebe/classes/create_file_skeleton/generate_ruby_string.rb +124 -0
  283. data/lib/roebe/classes/create_file_skeleton/reset.rb +56 -0
  284. data/lib/roebe/classes/create_file_skeleton/run.rb +23 -0
  285. data/lib/roebe/classes/create_firefox_extension.rb +178 -0
  286. data/lib/roebe/classes/create_iso.rb +203 -0
  287. data/lib/roebe/classes/create_iso_for_games.rb +308 -0
  288. data/lib/roebe/classes/create_jar_archive.rb +58 -0
  289. data/lib/roebe/classes/create_my_directories.rb +208 -0
  290. data/lib/roebe/classes/create_ruby_directory_layout.rb +117 -0
  291. data/lib/roebe/classes/create_zip.rb +112 -0
  292. data/lib/roebe/classes/css_analyzer.rb +125 -0
  293. data/lib/roebe/classes/current_monitor_resolution.rb +107 -0
  294. data/lib/roebe/classes/custom_table/custom_table.rb +198 -0
  295. data/lib/roebe/classes/cut_after_colon.rb +80 -0
  296. data/lib/roebe/classes/daemonize.rb +131 -0
  297. data/lib/roebe/classes/date_sort.rb +149 -0
  298. data/lib/roebe/classes/day_calendar.rb +153 -0
  299. data/lib/roebe/classes/dbus.rb +127 -0
  300. data/lib/roebe/classes/delete_all_directories.rb +100 -0
  301. data/lib/roebe/classes/delete_empty_directories.rb +96 -0
  302. data/lib/roebe/classes/delete_empty_files.rb +146 -0
  303. data/lib/roebe/classes/dhcpcd.rb +139 -0
  304. data/lib/roebe/classes/differences_between_two_directories.rb +140 -0
  305. data/lib/roebe/classes/disable.rb +172 -0
  306. data/lib/roebe/classes/display_gcc_version.rb +135 -0
  307. data/lib/roebe/classes/do_a_google_search.rb +67 -0
  308. data/lib/roebe/classes/do_install.rb +337 -0
  309. data/lib/roebe/classes/done.rb +158 -0
  310. data/lib/roebe/classes/done_and_open.rb +183 -0
  311. data/lib/roebe/classes/doskey_generator.rb +198 -0
  312. data/lib/roebe/classes/downcase_directories.rb +83 -0
  313. data/lib/roebe/classes/downcase_extension.rb +131 -0
  314. data/lib/roebe/classes/download_from_this_url.rb +266 -0
  315. data/lib/roebe/classes/email.rb +648 -0
  316. data/lib/roebe/classes/enable.rb +60 -0
  317. data/lib/roebe/classes/enable_autologin.rb +371 -0
  318. data/lib/roebe/classes/english_to_german.rb +128 -0
  319. data/lib/roebe/classes/ethernet.rb +171 -0
  320. data/lib/roebe/classes/euclidian_distance.rb +148 -0
  321. data/lib/roebe/classes/extract_documentation.rb +191 -0
  322. data/lib/roebe/classes/extract_gem_file.rb +208 -0
  323. data/lib/roebe/classes/feet_to_centimetres.rb +106 -0
  324. data/lib/roebe/classes/fetch_random_line.rb +66 -0
  325. data/lib/roebe/classes/fetch_url.rb +77 -0
  326. data/lib/roebe/classes/file_parser.rb +126 -0
  327. data/lib/roebe/classes/file_renamer.rb +229 -0
  328. data/lib/roebe/classes/files_that_could_become_apps.rb +91 -0
  329. data/lib/roebe/classes/filter_apache_log.rb +90 -0
  330. data/lib/roebe/classes/find_all_files_encoded_in_iso.rb +95 -0
  331. data/lib/roebe/classes/find_all_files_with_a_question_mark.rb +148 -0
  332. data/lib/roebe/classes/find_duplicate_entries_in_alias_file.rb +160 -0
  333. data/lib/roebe/classes/find_empty_files.rb +80 -0
  334. data/lib/roebe/classes/find_expanded_alias.rb +259 -0
  335. data/lib/roebe/classes/find_out_version_of.rb +186 -0
  336. data/lib/roebe/classes/find_static_libraries.rb +213 -0
  337. data/lib/roebe/classes/fix_mcookie.rb +76 -0
  338. data/lib/roebe/classes/fix_timezone.rb +95 -0
  339. data/lib/roebe/classes/fluxbox/README.md +3 -0
  340. data/lib/roebe/classes/fluxbox/autogenerate_fluxbox_files.rb +20 -0
  341. data/lib/roebe/classes/fluxbox/generate_fluxbox_apps_file.rb +155 -0
  342. data/lib/roebe/classes/fluxbox/generate_fluxbox_keys_file.rb +110 -0
  343. data/lib/roebe/classes/fluxbox/install_fluxbox_style.rb +85 -0
  344. data/lib/roebe/classes/font_installer.rb +139 -0
  345. data/lib/roebe/classes/fotos_f/303/274r_ingrid.rb +50 -0
  346. data/lib/roebe/classes/fragment_maker.rb +141 -0
  347. data/lib/roebe/classes/general_overviewer.rb +258 -0
  348. data/lib/roebe/classes/generate_alsa_conf.rb +133 -0
  349. data/lib/roebe/classes/generate_etc_resolv_conf_file.rb +106 -0
  350. data/lib/roebe/classes/generate_fstab_file/generate_fstab_file.rb +255 -0
  351. data/lib/roebe/classes/generate_gemspec/constants.rb +58 -0
  352. data/lib/roebe/classes/generate_gemspec/generate_gemspec.rb +195 -0
  353. data/lib/roebe/classes/generate_locales.rb +92 -0
  354. data/lib/roebe/classes/generate_ls_colors.rb +87 -0
  355. data/lib/roebe/classes/generate_master_shell_script.rb +254 -0
  356. data/lib/roebe/classes/generate_nsswitch_conf.rb +110 -0
  357. data/lib/roebe/classes/generate_overview_of_the_locally_available_books.rb +178 -0
  358. data/lib/roebe/classes/generate_protocols.rb +253 -0
  359. data/lib/roebe/classes/generate_rewrite_rules.rb +266 -0
  360. data/lib/roebe/classes/generate_robots_txt_file.rb +97 -0
  361. data/lib/roebe/classes/generate_rtf_file.rb +123 -0
  362. data/lib/roebe/classes/generate_system_values.rb +164 -0
  363. data/lib/roebe/classes/generate_unit_files/README.md +9 -0
  364. data/lib/roebe/classes/generate_unit_files/generate_unit_files.rb +192 -0
  365. data/lib/roebe/classes/generate_xauthority_file.rb +119 -0
  366. data/lib/roebe/classes/generate_xorg_conf/constants.rb +145 -0
  367. data/lib/roebe/classes/generate_xorg_conf/generate_xorg_conf.rb +767 -0
  368. data/lib/roebe/classes/get_dependencies.rb +175 -0
  369. data/lib/roebe/classes/github.rb +60 -0
  370. data/lib/roebe/classes/good_night.rb +72 -0
  371. data/lib/roebe/classes/google_url_cleaner.rb +147 -0
  372. data/lib/roebe/classes/grant_superuser_rights.rb +146 -0
  373. data/lib/roebe/classes/grub/grub_config_generator.rb +176 -0
  374. data/lib/roebe/classes/grub_appender.rb +246 -0
  375. data/lib/roebe/classes/gzip_this_file.rb +86 -0
  376. data/lib/roebe/classes/hello_world.rb +60 -0
  377. data/lib/roebe/classes/hex_to_rgb.rb +89 -0
  378. data/lib/roebe/classes/holiday.rb +99 -0
  379. data/lib/roebe/classes/hosts_appender.rb +171 -0
  380. data/lib/roebe/classes/html_form_fetcher.rb +101 -0
  381. data/lib/roebe/classes/icewm/README.md +3 -0
  382. data/lib/roebe/classes/icewm/icewm_keys_generator.rb +162 -0
  383. data/lib/roebe/classes/identical.rb +174 -0
  384. data/lib/roebe/classes/imdb.rb +86 -0
  385. data/lib/roebe/classes/in.rb +156 -0
  386. data/lib/roebe/classes/increment_application_version.rb +291 -0
  387. data/lib/roebe/classes/inhalt.rb +166 -0
  388. data/lib/roebe/classes/inputrc/constants.rb +37 -0
  389. data/lib/roebe/classes/inputrc/inputrc.rb +567 -0
  390. data/lib/roebe/classes/inputrc/misc.rb +11 -0
  391. data/lib/roebe/classes/install_debian_file.rb +165 -0
  392. data/lib/roebe/classes/install_flash/install_flash.rb +179 -0
  393. data/lib/roebe/classes/install_libreoffice/constants.rb +39 -0
  394. data/lib/roebe/classes/install_libreoffice/install_libreoffice.rb +275 -0
  395. data/lib/roebe/classes/install_my_gems.rb +100 -0
  396. data/lib/roebe/classes/install_openssl_certificates.rb +238 -0
  397. data/lib/roebe/classes/install_ruby_project.rb +180 -0
  398. data/lib/roebe/classes/interactive_file_creator.rb +229 -0
  399. data/lib/roebe/classes/into.rb +102 -0
  400. data/lib/roebe/classes/ipaste.rb +88 -0
  401. data/lib/roebe/classes/iso_to_usb.rb +240 -0
  402. data/lib/roebe/classes/java_header.rb +112 -0
  403. data/lib/roebe/classes/java_runner.rb +85 -0
  404. data/lib/roebe/classes/kde/install_this_konsole_theme.rb +87 -0
  405. data/lib/roebe/classes/kde/kde_konsole/constants.rb +54 -0
  406. data/lib/roebe/classes/kde/kde_konsole/help.rb +33 -0
  407. data/lib/roebe/classes/kde/kde_konsole/initialize.rb +40 -0
  408. data/lib/roebe/classes/kde/kde_konsole/kde_konsole.rb +37 -0
  409. data/lib/roebe/classes/kde/kde_konsole/menu.rb +200 -0
  410. data/lib/roebe/classes/kde/kde_konsole/misc.rb +333 -0
  411. data/lib/roebe/classes/kde/kde_konsole/reset.rb +42 -0
  412. data/lib/roebe/classes/kde/kde_konsole/run.rb +22 -0
  413. data/lib/roebe/classes/kde/kde_konsole_send_command.rb +95 -0
  414. data/lib/roebe/classes/kde/kde_servicemenus.rb +83 -0
  415. data/lib/roebe/classes/kde/konsole_new_tab.rb +124 -0
  416. data/lib/roebe/classes/kde/restore_kde.rb +103 -0
  417. data/lib/roebe/classes/kde/return_pid_of_kde_konsole.rb +30 -0
  418. data/lib/roebe/classes/kde/split_kde_konsole_tab_vertically.rb +28 -0
  419. data/lib/roebe/classes/key_value_parser.rb +145 -0
  420. data/lib/roebe/classes/keys_generator/constants.rb +72 -0
  421. data/lib/roebe/classes/keys_generator/keys_generator.rb +328 -0
  422. data/lib/roebe/classes/kill_firefox.rb +126 -0
  423. data/lib/roebe/classes/kill_palemoon.rb +132 -0
  424. data/lib/roebe/classes/last_called_logger/last_called_logger.rb +67 -0
  425. data/lib/roebe/classes/last_line.rb +69 -0
  426. data/lib/roebe/classes/left_hyphen_in_this_file.rb +74 -0
  427. data/lib/roebe/classes/level_subdirectories.rb +123 -0
  428. data/lib/roebe/classes/lighttpd_config_generator.rb +105 -0
  429. data/lib/roebe/classes/lilo_config_generator.rb +403 -0
  430. data/lib/roebe/classes/lotto/handle_quicktipps.rb +96 -0
  431. data/lib/roebe/classes/lotto/lotto_quicktip.rb +214 -0
  432. data/lib/roebe/classes/make_cookbooks_gem.rb +109 -0
  433. data/lib/roebe/classes/make_gem.rb +280 -0
  434. data/lib/roebe/classes/mark_this_directory.rb +76 -0
  435. data/lib/roebe/classes/married_with_children.rb +110 -0
  436. data/lib/roebe/classes/mate_terminal/rename_mate_terminal.rb +56 -0
  437. data/lib/roebe/classes/mbl.rb +294 -0
  438. data/lib/roebe/classes/meal_maker.rb +88 -0
  439. data/lib/roebe/classes/menu_generator/append_to.rb +35 -0
  440. data/lib/roebe/classes/menu_generator/constants.rb +80 -0
  441. data/lib/roebe/classes/menu_generator/menu_generator.rb +623 -0
  442. data/lib/roebe/classes/misc/README.md +2 -0
  443. data/lib/roebe/classes/misc/anteile.rb +91 -0
  444. data/lib/roebe/classes/modify_shebang_header/modify_shebang_header.rb +435 -0
  445. data/lib/roebe/classes/modright.rb +110 -0
  446. data/lib/roebe/classes/monthly_activity_on_rubygems.rb +219 -0
  447. data/lib/roebe/classes/moodle.rb +182 -0
  448. data/lib/roebe/classes/mount_dvd.rb +92 -0
  449. data/lib/roebe/classes/mount_iso_file.rb +108 -0
  450. data/lib/roebe/classes/move_content_of_this_directory_to_that_directory_unless_target_already_exists.rb +119 -0
  451. data/lib/roebe/classes/move_file.rb +234 -0
  452. data/lib/roebe/classes/move_mouse.rb +75 -0
  453. data/lib/roebe/classes/mrxvt.rb +140 -0
  454. data/lib/roebe/classes/mrxvt_options.rb +295 -0
  455. data/lib/roebe/classes/my_default_webrick_server.rb +125 -0
  456. data/lib/roebe/classes/my_ip.rb +69 -0
  457. data/lib/roebe/classes/n_directories.rb +98 -0
  458. data/lib/roebe/classes/n_downloads_on_rubygems_org.rb +246 -0
  459. data/lib/roebe/classes/n_gems_exist_in_total.rb +136 -0
  460. data/lib/roebe/classes/n_symlinks.rb +122 -0
  461. data/lib/roebe/classes/nano_config.rb +182 -0
  462. data/lib/roebe/classes/nibble_converter.rb +172 -0
  463. data/lib/roebe/classes/non_symlinks.rb +115 -0
  464. data/lib/roebe/classes/number_files.rb +89 -0
  465. data/lib/roebe/classes/number_to_english.rb +167 -0
  466. data/lib/roebe/classes/nutrition.rb +69 -0
  467. data/lib/roebe/classes/nvidia.rb +83 -0
  468. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/constants.rb +38 -0
  469. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/help.rb +27 -0
  470. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/obtain_audio_recordings_from_voice_recorder.rb +610 -0
  471. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/run.rb +22 -0
  472. data/lib/roebe/classes/on_screen_display.rb +320 -0
  473. data/lib/roebe/classes/one_line_passwords.rb +201 -0
  474. data/lib/roebe/classes/open_pdf.rb +293 -0
  475. data/lib/roebe/classes/open_random_book.rb +124 -0
  476. data/lib/roebe/classes/output_random_line.rb +93 -0
  477. data/lib/roebe/classes/output_text_then_assign_to_the_xorg_buffer.rb +114 -0
  478. data/lib/roebe/classes/pad_via_quotes.rb +63 -0
  479. data/lib/roebe/classes/parse_apache_log/constants.rb +55 -0
  480. data/lib/roebe/classes/parse_apache_log/parse_apache_log.rb +329 -0
  481. data/lib/roebe/classes/pascalsches_dreieck.rb +108 -0
  482. data/lib/roebe/classes/passwords.rb +542 -0
  483. data/lib/roebe/classes/path_generator/constants.rb +68 -0
  484. data/lib/roebe/classes/path_generator/misc.rb +332 -0
  485. data/lib/roebe/classes/path_generator/path_generator.rb +31 -0
  486. data/lib/roebe/classes/path_generator/reset.rb +33 -0
  487. data/lib/roebe/classes/percentage_counter.rb +84 -0
  488. data/lib/roebe/classes/permission_ascii_format.rb +228 -0
  489. data/lib/roebe/classes/php_to_ruby.rb +177 -0
  490. data/lib/roebe/classes/pound_to_kg_converter.rb +86 -0
  491. data/lib/roebe/classes/prepend_this.rb +264 -0
  492. data/lib/roebe/classes/prepend_this_line_to_that_file.rb +259 -0
  493. data/lib/roebe/classes/prepend_this_string_to_every_line_of_this_file.rb +195 -0
  494. data/lib/roebe/classes/pristine_gems.rb +71 -0
  495. data/lib/roebe/classes/proper_english.rb +115 -0
  496. data/lib/roebe/classes/publish_gem.rb +245 -0
  497. data/lib/roebe/classes/pull_together.rb +126 -0
  498. data/lib/roebe/classes/purge_files_or_directories.rb +66 -0
  499. data/lib/roebe/classes/purge_gmon_out_files.rb +102 -0
  500. data/lib/roebe/classes/purge_ordoc_directories.rb +66 -0
  501. data/lib/roebe/classes/put_all_gems_into_this_project.rb +326 -0
  502. data/lib/roebe/classes/qemu/README.md +2 -0
  503. data/lib/roebe/classes/qemu/qemu.rb +72 -0
  504. data/lib/roebe/classes/quiz.rb +300 -0
  505. data/lib/roebe/classes/ram.rb +160 -0
  506. data/lib/roebe/classes/random_background.rb +208 -0
  507. data/lib/roebe/classes/random_open.rb +110 -0
  508. data/lib/roebe/classes/rbashrc.rb +160 -0
  509. data/lib/roebe/classes/rdate.rb +259 -0
  510. data/lib/roebe/classes/readme_generator/constants.rb +21 -0
  511. data/lib/roebe/classes/readme_generator/initialize.rb +38 -0
  512. data/lib/roebe/classes/readme_generator/misc.rb +519 -0
  513. data/lib/roebe/classes/readme_generator/readme_generator.rb +11 -0
  514. data/lib/roebe/classes/readme_generator/reset.rb +28 -0
  515. data/lib/roebe/classes/readme_generator/run.rb +20 -0
  516. data/lib/roebe/classes/remote_gems.rb +154 -0
  517. data/lib/roebe/classes/remove_bad_fluxbox_styles.rb +108 -0
  518. data/lib/roebe/classes/remove_comments/autoinclude.rb +3 -0
  519. data/lib/roebe/classes/remove_comments/constants.rb +22 -0
  520. data/lib/roebe/classes/remove_comments/remove_comments.rb +214 -0
  521. data/lib/roebe/classes/remove_directory.rb +210 -0
  522. data/lib/roebe/classes/remove_extension.rb +95 -0
  523. data/lib/roebe/classes/remove_file_extension.rb +111 -0
  524. data/lib/roebe/classes/remove_gems.rb +182 -0
  525. data/lib/roebe/classes/remove_lighty_logs.rb +61 -0
  526. data/lib/roebe/classes/remove_line.rb +172 -0
  527. data/lib/roebe/classes/remove_localhost.rb +314 -0
  528. data/lib/roebe/classes/remove_missing.rb +107 -0
  529. data/lib/roebe/classes/remove_newlines.rb +116 -0
  530. data/lib/roebe/classes/remove_this_substring_from_all_files.rb +70 -0
  531. data/lib/roebe/classes/replace_global_variables_in_this_file.rb +164 -0
  532. data/lib/roebe/classes/replace_space_with_underscore/replace_space_with_underscore.rb +768 -0
  533. data/lib/roebe/classes/replace_what_with.rb +111 -0
  534. data/lib/roebe/classes/report_how_many_classes_exist_for_this_directory.rb +128 -0
  535. data/lib/roebe/classes/report_same_named_files.rb +82 -0
  536. data/lib/roebe/classes/require_everything.rb +155 -0
  537. data/lib/roebe/classes/return_aliases/return_n_aliases.rb +178 -0
  538. data/lib/roebe/classes/return_aliases/return_ten_aliases.rb +78 -0
  539. data/lib/roebe/classes/return_aliases/return_twenty_aliases.rb +79 -0
  540. data/lib/roebe/classes/return_random_image.rb +83 -0
  541. data/lib/roebe/classes/ruby_cat.rb +139 -0
  542. data/lib/roebe/classes/ruby_header.rb +122 -0
  543. data/lib/roebe/classes/ruby_main.rb +133 -0
  544. data/lib/roebe/classes/ruby_seq.rb +67 -0
  545. data/lib/roebe/classes/ruby_use_config_file.rb +104 -0
  546. data/lib/roebe/classes/ruby_version_switcher.rb +99 -0
  547. data/lib/roebe/classes/run/menu.rb +73 -0
  548. data/lib/roebe/classes/run/run.rb +716 -0
  549. data/lib/roebe/classes/rxinitrc/constants.rb +101 -0
  550. data/lib/roebe/classes/rxinitrc/help.rb +40 -0
  551. data/lib/roebe/classes/rxinitrc/run.rb +25 -0
  552. data/lib/roebe/classes/rxinitrc/rxinitrc.rb +534 -0
  553. data/lib/roebe/classes/scan_for_http_links.rb +110 -0
  554. data/lib/roebe/classes/schlafe.rb +101 -0
  555. data/lib/roebe/classes/send_email.rb +170 -0
  556. data/lib/roebe/classes/serve_local_page.rb +280 -0
  557. data/lib/roebe/classes/set_aliases.rb +364 -0
  558. data/lib/roebe/classes/set_background.rb +113 -0
  559. data/lib/roebe/classes/set_chained.rb +79 -0
  560. data/lib/roebe/classes/set_hwclock.rb +67 -0
  561. data/lib/roebe/classes/set_normal_alias_to.rb +469 -0
  562. data/lib/roebe/classes/setup_chrooted_environment.rb +402 -0
  563. data/lib/roebe/classes/shells/generate_etc_shell_file.rb +107 -0
  564. data/lib/roebe/classes/show_appointments.rb +195 -0
  565. data/lib/roebe/classes/show_available_fonts.rb +146 -0
  566. data/lib/roebe/classes/show_available_users.rb +319 -0
  567. data/lib/roebe/classes/show_kernel_modules.rb +88 -0
  568. data/lib/roebe/classes/show_non_symlinks.rb +98 -0
  569. data/lib/roebe/classes/show_only_files.rb +90 -0
  570. data/lib/roebe/classes/show_prime_numbers.rb +83 -0
  571. data/lib/roebe/classes/show_sigint.rb +50 -0
  572. data/lib/roebe/classes/show_ten_aliases.rb +378 -0
  573. data/lib/roebe/classes/show_twenty_aliases.rb +243 -0
  574. data/lib/roebe/classes/simple_boot_script.rb +358 -0
  575. data/lib/roebe/classes/simple_extractor.rb +104 -0
  576. data/lib/roebe/classes/size_of.rb +234 -0
  577. data/lib/roebe/classes/size_of_states.rb +157 -0
  578. data/lib/roebe/classes/skel_maker/constants.rb +65 -0
  579. data/lib/roebe/classes/skel_maker/skel_maker.rb +230 -0
  580. data/lib/roebe/classes/slogans.rb +290 -0
  581. data/lib/roebe/classes/slow_load.rb +65 -0
  582. data/lib/roebe/classes/sorted_output.rb +86 -0
  583. data/lib/roebe/classes/sourcerank.rb +76 -0
  584. data/lib/roebe/classes/start_program.rb +74 -0
  585. data/lib/roebe/classes/std_renamer.rb +285 -0
  586. data/lib/roebe/classes/string_colour_parser.rb +165 -0
  587. data/lib/roebe/classes/sum_of_all_numbers.rb +153 -0
  588. data/lib/roebe/classes/supermerger.rb +121 -0
  589. data/lib/roebe/classes/symlink_all_directories_in_this_directory.rb +101 -0
  590. data/lib/roebe/classes/symlink_directories_from_that_directory_to_the_current_directory.rb +178 -0
  591. data/lib/roebe/classes/symlink_directory.rb +104 -0
  592. data/lib/roebe/classes/symlink_everything_from_that_directory_to_this_directory.rb +196 -0
  593. data/lib/roebe/classes/symlink_files_from_that_directory_to_the_current_directory/symlink_files_from_that_directory_to_the_current_directory.rb +271 -0
  594. data/lib/roebe/classes/syntax_checker.rb +200 -0
  595. data/lib/roebe/classes/system_checker.rb +646 -0
  596. data/lib/roebe/classes/take_screenshot.rb +396 -0
  597. data/lib/roebe/classes/tales_from_the_crypt.rb +550 -0
  598. data/lib/roebe/classes/terminal.rb +62 -0
  599. data/lib/roebe/classes/terminal_ps1.rb +128 -0
  600. data/lib/roebe/classes/test_for_psych.rb +73 -0
  601. data/lib/roebe/classes/test_openssl.rb +125 -0
  602. data/lib/roebe/classes/test_yaml.rb +70 -0
  603. data/lib/roebe/classes/threshold_splitter.rb +96 -0
  604. data/lib/roebe/classes/tic_tac_toe.rb +326 -0
  605. data/lib/roebe/classes/time/current_time_in_singapore.rb +121 -0
  606. data/lib/roebe/classes/time/display_weekdays.rb +78 -0
  607. data/lib/roebe/classes/time/query_world_time.rb +149 -0
  608. data/lib/roebe/classes/time/set_hardware_clock.rb +158 -0
  609. data/lib/roebe/classes/time/trivial_time_parser.rb +162 -0
  610. data/lib/roebe/classes/to_binary.rb +114 -0
  611. data/lib/roebe/classes/to_buy.rb +216 -0
  612. data/lib/roebe/classes/to_next.rb +139 -0
  613. data/lib/roebe/classes/to_squashfs.rb +83 -0
  614. data/lib/roebe/classes/to_tar_bz2.rb +62 -0
  615. data/lib/roebe/classes/to_utf.rb +87 -0
  616. data/lib/roebe/classes/today.rb +67 -0
  617. data/lib/roebe/classes/todo_overview.rb +87 -0
  618. data/lib/roebe/classes/todo_sanitizer.rb +153 -0
  619. data/lib/roebe/classes/top_ten_aliases.rb +104 -0
  620. data/lib/roebe/classes/total_pages_in_finished_books.rb +76 -0
  621. data/lib/roebe/classes/translate.rb +295 -0
  622. data/lib/roebe/classes/traverse_install.rb +268 -0
  623. data/lib/roebe/classes/treeview.rb +180 -0
  624. data/lib/roebe/classes/turn_ruby_file_into_gem.rb +195 -0
  625. data/lib/roebe/classes/twentyfour_hours_notation.rb +174 -0
  626. data/lib/roebe/classes/umlaut_converter.rb +137 -0
  627. data/lib/roebe/classes/undone.rb +126 -0
  628. data/lib/roebe/classes/unicode_snowman.rb +120 -0
  629. data/lib/roebe/classes/unified_padding.rb +144 -0
  630. data/lib/roebe/classes/unrar.rb +95 -0
  631. data/lib/roebe/classes/upcaser.rb +145 -0
  632. data/lib/roebe/classes/update.rb +368 -0
  633. data/lib/roebe/classes/update_static_html_pages_in_the_directory_containing_my_fotos.rb +73 -0
  634. data/lib/roebe/classes/upload_to_imgur.rb +177 -0
  635. data/lib/roebe/classes/upwards_counter.rb +59 -0
  636. data/lib/roebe/classes/usage.rb +158 -0
  637. data/lib/roebe/classes/usb/automount_usb.rb +82 -0
  638. data/lib/roebe/classes/usb/create_bootable_usb.rb +111 -0
  639. data/lib/roebe/classes/usb/usb_devices.rb +188 -0
  640. data/lib/roebe/classes/use_jruby.rb +68 -0
  641. data/lib/roebe/classes/vte.rb +110 -0
  642. data/lib/roebe/classes/wallpaper.rb +177 -0
  643. data/lib/roebe/classes/wikipedia.rb +99 -0
  644. data/lib/roebe/classes/wlan/eduroam/eduroam.rb +133 -0
  645. data/lib/roebe/classes/wlan/wlan.rb +1303 -0
  646. data/lib/roebe/classes/wochentag_anzeiger.rb +219 -0
  647. data/lib/roebe/classes/word_wrap.rb +67 -0
  648. data/lib/roebe/classes/write_what_into.rb +91 -0
  649. data/lib/roebe/classes/xfce/README.md +2 -0
  650. data/lib/roebe/classes/xfce/set_xfce_wallpaper.rb +91 -0
  651. data/lib/roebe/classes/yaml_check.rb +63 -0
  652. data/lib/roebe/classes/youtube_downloader.rb +157 -0
  653. data/lib/roebe/classes/zenity.rb +319 -0
  654. data/lib/roebe/classes/zoll.rb +88 -0
  655. data/lib/roebe/colours/colours.rb +44 -0
  656. data/lib/roebe/colours/determine_whether_colours_will_be_used.rb +71 -0
  657. data/lib/roebe/colours/ecomment.rb +36 -0
  658. data/lib/roebe/colours/html_colours.rb +176 -0
  659. data/lib/roebe/colours/permanently_disable_colours.rb +23 -0
  660. data/lib/roebe/colours/sdir.rb +34 -0
  661. data/lib/roebe/colours/sfancy.rb +26 -0
  662. data/lib/roebe/colours/sfile.rb +24 -0
  663. data/lib/roebe/colours/simp.rb +24 -0
  664. data/lib/roebe/colours/swarn.rb +24 -0
  665. data/lib/roebe/colours/use_colours.rb +17 -0
  666. data/lib/roebe/commandline/help.rb +125 -0
  667. data/lib/roebe/commandline/menu.rb +749 -0
  668. data/lib/roebe/commandline/misc.rb +278 -0
  669. data/lib/roebe/commandline/parse_commandline.rb +55 -0
  670. data/lib/roebe/configuration/autoinclude.rb +7 -0
  671. data/lib/roebe/configuration/class/configuration.rb +990 -0
  672. data/lib/roebe/configuration/module.rb +35 -0
  673. data/lib/roebe/constants/archive_types.rb +26 -0
  674. data/lib/roebe/constants/array_install_these_gem_projects.rb +113 -0
  675. data/lib/roebe/constants/constants.rb +97 -0
  676. data/lib/roebe/constants/directory_constants.rb +53 -0
  677. data/lib/roebe/constants/file_constants.rb +119 -0
  678. data/lib/roebe/constants/home_of_the_user_called_x.rb +14 -0
  679. data/lib/roebe/constants/misc.rb +129 -0
  680. data/lib/roebe/constants/newline.rb +16 -0
  681. data/lib/roebe/constants/roebe.rb +72 -0
  682. data/lib/roebe/constants/www.rb +32 -0
  683. data/lib/roebe/core/README.md +6 -0
  684. data/lib/roebe/core/array.rb +347 -0
  685. data/lib/roebe/core/dir.rb +126 -0
  686. data/lib/roebe/core/enumerable.rb +25 -0
  687. data/lib/roebe/core/file.rb +140 -0
  688. data/lib/roebe/core/fixnum.rb +155 -0
  689. data/lib/roebe/core/float.rb +86 -0
  690. data/lib/roebe/core/hash.rb +48 -0
  691. data/lib/roebe/core/integer.rb +41 -0
  692. data/lib/roebe/core/kernel.rb +82 -0
  693. data/lib/roebe/core/math.rb +61 -0
  694. data/lib/roebe/core/module.rb +91 -0
  695. data/lib/roebe/core/numeric.rb +64 -0
  696. data/lib/roebe/core/object.rb +53 -0
  697. data/lib/roebe/core/proc.rb +10 -0
  698. data/lib/roebe/core/process.rb +27 -0
  699. data/lib/roebe/core/range.rb +18 -0
  700. data/lib/roebe/core/string.rb +651 -0
  701. data/lib/roebe/core/struct.rb +22 -0
  702. data/lib/roebe/core/windows.rb +758 -0
  703. data/lib/roebe/css/project.css +38 -0
  704. data/lib/roebe/custom_methods/README.md +8 -0
  705. data/lib/roebe/custom_methods/constants.rb +53 -0
  706. data/lib/roebe/custom_methods/custom_methods.rb +5322 -0
  707. data/lib/roebe/documentation/README.md +2 -0
  708. data/lib/roebe/documentation/abbreviation.rb +48 -0
  709. data/lib/roebe/documentation/activerecord.rb +97 -0
  710. data/lib/roebe/documentation/ansi.rb +32 -0
  711. data/lib/roebe/documentation/app.rb +273 -0
  712. data/lib/roebe/documentation/argf.rb +50 -0
  713. data/lib/roebe/documentation/argv.rb +101 -0
  714. data/lib/roebe/documentation/array.rb +1041 -0
  715. data/lib/roebe/documentation/audio.rb +181 -0
  716. data/lib/roebe/documentation/base64.rb +27 -0
  717. data/lib/roebe/documentation/basic_object.rb +37 -0
  718. data/lib/roebe/documentation/benchmark.rb +39 -0
  719. data/lib/roebe/documentation/bigdecimal.rb +30 -0
  720. data/lib/roebe/documentation/binding.rb +51 -0
  721. data/lib/roebe/documentation/bundler.rb +40 -0
  722. data/lib/roebe/documentation/byebug.rb +34 -0
  723. data/lib/roebe/documentation/camping.rb +36 -0
  724. data/lib/roebe/documentation/case.rb +38 -0
  725. data/lib/roebe/documentation/caxlsx.rb +56 -0
  726. data/lib/roebe/documentation/cgi.rb +117 -0
  727. data/lib/roebe/documentation/chunkypng.rb +32 -0
  728. data/lib/roebe/documentation/class.rb +60 -0
  729. data/lib/roebe/documentation/classifier.rb +26 -0
  730. data/lib/roebe/documentation/closure.rb +216 -0
  731. data/lib/roebe/documentation/coderay.rb +96 -0
  732. data/lib/roebe/documentation/colours.rb +70 -0
  733. data/lib/roebe/documentation/comparable.rb +24 -0
  734. data/lib/roebe/documentation/conditionals.rb +69 -0
  735. data/lib/roebe/documentation/constants.rb +92 -0
  736. data/lib/roebe/documentation/conversions.rb +128 -0
  737. data/lib/roebe/documentation/css/TODO.md +1 -0
  738. data/lib/roebe/documentation/css/default.css +181 -0
  739. data/lib/roebe/documentation/csv.rb +63 -0
  740. data/lib/roebe/documentation/daemons.rb +109 -0
  741. data/lib/roebe/documentation/dir.rb +95 -0
  742. data/lib/roebe/documentation/dl.rb +124 -0
  743. data/lib/roebe/documentation/documentation.rb +745 -0
  744. data/lib/roebe/documentation/drb.rb +123 -0
  745. data/lib/roebe/documentation/dsl.rb +45 -0
  746. data/lib/roebe/documentation/encoding.rb +157 -0
  747. data/lib/roebe/documentation/english.rb +28 -0
  748. data/lib/roebe/documentation/enumerable.rb +165 -0
  749. data/lib/roebe/documentation/enumerator.rb +29 -0
  750. data/lib/roebe/documentation/env.rb +30 -0
  751. data/lib/roebe/documentation/erb.rb +44 -0
  752. data/lib/roebe/documentation/errno.rb +41 -0
  753. data/lib/roebe/documentation/errorcodes.rb +42 -0
  754. data/lib/roebe/documentation/erubis.rb +134 -0
  755. data/lib/roebe/documentation/etc.rb +95 -0
  756. data/lib/roebe/documentation/eval.rb +37 -0
  757. data/lib/roebe/documentation/exception.rb +212 -0
  758. data/lib/roebe/documentation/falseclass.rb +22 -0
  759. data/lib/roebe/documentation/ferret.rb +41 -0
  760. data/lib/roebe/documentation/ffi.rb +43 -0
  761. data/lib/roebe/documentation/fiber.rb +44 -0
  762. data/lib/roebe/documentation/fiddle.rb +40 -0
  763. data/lib/roebe/documentation/file.rb +366 -0
  764. data/lib/roebe/documentation/fileutils.rb +78 -0
  765. data/lib/roebe/documentation/fixnum.rb +70 -0
  766. data/lib/roebe/documentation/float.rb +34 -0
  767. data/lib/roebe/documentation/for.rb +29 -0
  768. data/lib/roebe/documentation/fork.rb +43 -0
  769. data/lib/roebe/documentation/fpm.rb +54 -0
  770. data/lib/roebe/documentation/ftp.rb +83 -0
  771. data/lib/roebe/documentation/gc.rb +79 -0
  772. data/lib/roebe/documentation/gems.rb +435 -0
  773. data/lib/roebe/documentation/getoptlong.rb +36 -0
  774. data/lib/roebe/documentation/gist.rb +45 -0
  775. data/lib/roebe/documentation/global_variables.rb +44 -0
  776. data/lib/roebe/documentation/gmail.rb +39 -0
  777. data/lib/roebe/documentation/gosu.rb +36 -0
  778. data/lib/roebe/documentation/graphviz.rb +231 -0
  779. data/lib/roebe/documentation/gruff.rb +88 -0
  780. data/lib/roebe/documentation/gtk.rb +7873 -0
  781. data/lib/roebe/documentation/hash.rb +437 -0
  782. data/lib/roebe/documentation/highline.rb +36 -0
  783. data/lib/roebe/documentation/hooks.rb +74 -0
  784. data/lib/roebe/documentation/iconv.rb +34 -0
  785. data/lib/roebe/documentation/imap.rb +25 -0
  786. data/lib/roebe/documentation/include_in_ruby.rb +30 -0
  787. data/lib/roebe/documentation/inline.rb +51 -0
  788. data/lib/roebe/documentation/inotify.rb +123 -0
  789. data/lib/roebe/documentation/install.rb +124 -0
  790. data/lib/roebe/documentation/instiki.rb +80 -0
  791. data/lib/roebe/documentation/integer.rb +55 -0
  792. data/lib/roebe/documentation/io.rb +116 -0
  793. data/lib/roebe/documentation/io_console.rb +34 -0
  794. data/lib/roebe/documentation/irb.rb +184 -0
  795. data/lib/roebe/documentation/iterators.rb +178 -0
  796. data/lib/roebe/documentation/json.rb +70 -0
  797. data/lib/roebe/documentation/kernel.rb +179 -0
  798. data/lib/roebe/documentation/keywords.rb +48 -0
  799. data/lib/roebe/documentation/lexer.rb +37 -0
  800. data/lib/roebe/documentation/libarchive.rb +91 -0
  801. data/lib/roebe/documentation/libburn.rb +44 -0
  802. data/lib/roebe/documentation/libui.md +62 -0
  803. data/lib/roebe/documentation/marshal.rb +146 -0
  804. data/lib/roebe/documentation/math.rb +448 -0
  805. data/lib/roebe/documentation/matrix.rb +31 -0
  806. data/lib/roebe/documentation/mdreverse.rb +30 -0
  807. data/lib/roebe/documentation/mechanize.rb +213 -0
  808. data/lib/roebe/documentation/memcached.rb +35 -0
  809. data/lib/roebe/documentation/method_source.rb +30 -0
  810. data/lib/roebe/documentation/methods.rb +204 -0
  811. data/lib/roebe/documentation/midilib.rb +47 -0
  812. data/lib/roebe/documentation/mime.rb +33 -0
  813. data/lib/roebe/documentation/minitest.rb +61 -0
  814. data/lib/roebe/documentation/misc.rb +1353 -0
  815. data/lib/roebe/documentation/mkmf.md +95 -0
  816. data/lib/roebe/documentation/mkmf.rb +58 -0
  817. data/lib/roebe/documentation/module.rb +68 -0
  818. data/lib/roebe/documentation/mongrel.rb +98 -0
  819. data/lib/roebe/documentation/mp3info.rb +104 -0
  820. data/lib/roebe/documentation/mpd.rb +35 -0
  821. data/lib/roebe/documentation/mrplot.rb +84 -0
  822. data/lib/roebe/documentation/mruby.rb +36 -0
  823. data/lib/roebe/documentation/mutex.rb +56 -0
  824. data/lib/roebe/documentation/ncurses.rb +230 -0
  825. data/lib/roebe/documentation/network.rb +92 -0
  826. data/lib/roebe/documentation/nilclass.rb +25 -0
  827. data/lib/roebe/documentation/nokogiri.rb +48 -0
  828. data/lib/roebe/documentation/object.rb +232 -0
  829. data/lib/roebe/documentation/objectspace.rb +42 -0
  830. data/lib/roebe/documentation/observable.rb +26 -0
  831. data/lib/roebe/documentation/open3.rb +38 -0
  832. data/lib/roebe/documentation/openid.rb +50 -0
  833. data/lib/roebe/documentation/openssl.rb +60 -0
  834. data/lib/roebe/documentation/openstruct.rb +62 -0
  835. data/lib/roebe/documentation/optparser.rb +216 -0
  836. data/lib/roebe/documentation/passenger.rb +24 -0
  837. data/lib/roebe/documentation/pathname.rb +85 -0
  838. data/lib/roebe/documentation/pdf.rb +382 -0
  839. data/lib/roebe/documentation/performance_in_ruby.md +29 -0
  840. data/lib/roebe/documentation/pp.rb +23 -0
  841. data/lib/roebe/documentation/prawn.md +206 -0
  842. data/lib/roebe/documentation/precedence.rb +46 -0
  843. data/lib/roebe/documentation/prime.rb +27 -0
  844. data/lib/roebe/documentation/proc.rb +116 -0
  845. data/lib/roebe/documentation/process.rb +231 -0
  846. data/lib/roebe/documentation/profiling.rb +85 -0
  847. data/lib/roebe/documentation/pry.rb +66 -0
  848. data/lib/roebe/documentation/pstore.rb +40 -0
  849. data/lib/roebe/documentation/psych.rb +27 -0
  850. data/lib/roebe/documentation/pty.rb +27 -0
  851. data/lib/roebe/documentation/puma.md +22 -0
  852. data/lib/roebe/documentation/ractor.md +13 -0
  853. data/lib/roebe/documentation/ragel.rb +32 -0
  854. data/lib/roebe/documentation/rake.rb +131 -0
  855. data/lib/roebe/documentation/ramaze.rb +79 -0
  856. data/lib/roebe/documentation/random.rb +36 -0
  857. data/lib/roebe/documentation/range.rb +45 -0
  858. data/lib/roebe/documentation/rational.rb +25 -0
  859. data/lib/roebe/documentation/rbenv.rb +39 -0
  860. data/lib/roebe/documentation/rdoc.rb +77 -0
  861. data/lib/roebe/documentation/readline.rb +289 -0
  862. data/lib/roebe/documentation/redcloth.rb +27 -0
  863. data/lib/roebe/documentation/redmine.rb +23 -0
  864. data/lib/roebe/documentation/refinements.rb +39 -0
  865. data/lib/roebe/documentation/regex.rb +523 -0
  866. data/lib/roebe/documentation/require_in_ruby.rb +39 -0
  867. data/lib/roebe/documentation/ripper.rb +59 -0
  868. data/lib/roebe/documentation/rspec.rb +43 -0
  869. data/lib/roebe/documentation/rtf.rb +77 -0
  870. data/lib/roebe/documentation/rubocop.rb +80 -0
  871. data/lib/roebe/documentation/ruby_c.rb +1989 -0
  872. data/lib/roebe/documentation/ruby_coding_guidelines.rb +177 -0
  873. data/lib/roebe/documentation/ruby_links.rb +100 -0
  874. data/lib/roebe/documentation/rubyvm.rb +37 -0
  875. data/lib/roebe/documentation/ruport.rb +36 -0
  876. data/lib/roebe/documentation/rvm.rb +31 -0
  877. data/lib/roebe/documentation/sdl.rb +204 -0
  878. data/lib/roebe/documentation/set.rb +39 -0
  879. data/lib/roebe/documentation/shellwords.rb +50 -0
  880. data/lib/roebe/documentation/shoes.rb +30 -0
  881. data/lib/roebe/documentation/signal.rb +34 -0
  882. data/lib/roebe/documentation/singleton.rb +58 -0
  883. data/lib/roebe/documentation/slogans.rb +22 -0
  884. data/lib/roebe/documentation/slop.rb +44 -0
  885. data/lib/roebe/documentation/sockets.rb +129 -0
  886. data/lib/roebe/documentation/splat.rb +28 -0
  887. data/lib/roebe/documentation/spreadsheet.rb +152 -0
  888. data/lib/roebe/documentation/sqlite.rb +104 -0
  889. data/lib/roebe/documentation/stderr.rb +21 -0
  890. data/lib/roebe/documentation/stdin.rb +41 -0
  891. data/lib/roebe/documentation/stdout.rb +30 -0
  892. data/lib/roebe/documentation/string.rb +749 -0
  893. data/lib/roebe/documentation/stringio.rb +60 -0
  894. data/lib/roebe/documentation/stringscanner.rb +42 -0
  895. data/lib/roebe/documentation/struct.rb +63 -0
  896. data/lib/roebe/documentation/subclassing.rb +39 -0
  897. data/lib/roebe/documentation/system.rb +25 -0
  898. data/lib/roebe/documentation/systemu.rb +33 -0
  899. data/lib/roebe/documentation/tcpsocket.rb +36 -0
  900. data/lib/roebe/documentation/telnet.rb +50 -0
  901. data/lib/roebe/documentation/tempfile.rb +0 -0
  902. data/lib/roebe/documentation/thor.rb +41 -0
  903. data/lib/roebe/documentation/thread.rb +123 -0
  904. data/lib/roebe/documentation/time.rb +334 -0
  905. data/lib/roebe/documentation/tk.rb +475 -0
  906. data/lib/roebe/documentation/tty.md +9 -0
  907. data/lib/roebe/documentation/tty_prompt.rb +36 -0
  908. data/lib/roebe/documentation/unittest.rb +25 -0
  909. data/lib/roebe/documentation/webrick.md +194 -0
  910. data/lib/roebe/documentation/webrick.rb +151 -0
  911. data/lib/roebe/documentation/whois.rb +34 -0
  912. data/lib/roebe/documentation/windows.rb +329 -0
  913. data/lib/roebe/documentation/writeexcel.rb +61 -0
  914. data/lib/roebe/documentation/xml.rb +223 -0
  915. data/lib/roebe/documentation/xosd.rb +42 -0
  916. data/lib/roebe/documentation/yaml.rb +393 -0
  917. data/lib/roebe/documentation/yard.rb +69 -0
  918. data/lib/roebe/documentation/zip.rb +84 -0
  919. data/lib/roebe/documentation/zlib.rb +115 -0
  920. data/lib/roebe/dosbox/README.md +5 -0
  921. data/lib/roebe/dosbox/autoexec.conf +114 -0
  922. data/lib/roebe/dosbox/bios.conf +20 -0
  923. data/lib/roebe/dosbox/cpu.conf +42 -0
  924. data/lib/roebe/dosbox/cycles.conf +41 -0
  925. data/lib/roebe/dosbox/dos.conf +55 -0
  926. data/lib/roebe/dosbox/dosbox.conf +34 -0
  927. data/lib/roebe/dosbox/games.conf +37 -0
  928. data/lib/roebe/dosbox/generate_dosbox_config.rb +150 -0
  929. data/lib/roebe/dosbox/gus.conf +26 -0
  930. data/lib/roebe/dosbox/ipx.conf +14 -0
  931. data/lib/roebe/dosbox/keyboard.conf +17 -0
  932. data/lib/roebe/dosbox/midi.conf +18 -0
  933. data/lib/roebe/dosbox/mixer.conf +26 -0
  934. data/lib/roebe/dosbox/render.conf +31 -0
  935. data/lib/roebe/dosbox/sblaster.conf +38 -0
  936. data/lib/roebe/dosbox/sdl.conf +115 -0
  937. data/lib/roebe/dosbox/serial.conf +22 -0
  938. data/lib/roebe/dosbox/speaker.conf +20 -0
  939. data/lib/roebe/editors/README.md +2 -0
  940. data/lib/roebe/editors/ruby_nano.rb +88 -0
  941. data/lib/roebe/editors/vim_paradise/colours.rb +30 -0
  942. data/lib/roebe/editors/vim_paradise/constants.rb +113 -0
  943. data/lib/roebe/editors/vim_paradise/help.rb +37 -0
  944. data/lib/roebe/editors/vim_paradise/menu.rb +62 -0
  945. data/lib/roebe/editors/vim_paradise/run.rb +22 -0
  946. data/lib/roebe/editors/vim_paradise/vim_paradise.rb +630 -0
  947. data/lib/roebe/emoji/README.md +2 -0
  948. data/lib/roebe/emoji/emoji_table.rb +40 -0
  949. data/lib/roebe/encoding/encoding.rb +113 -0
  950. data/lib/roebe/extensions.rb +23 -0
  951. data/lib/roebe/gemrc/gemrc +19 -0
  952. data/lib/roebe/gui/cgi/interactive_caesar_cipher/interactive_caesar_cipher.cgi +56 -0
  953. data/lib/roebe/gui/cgi/md5_comparer/md5_comparer.cgi +83 -0
  954. data/lib/roebe/gui/glimmer/examples/001_hello_world.rb +8 -0
  955. data/lib/roebe/gui/glimmer/examples/002_basic_table_progress_bar.rb +29 -0
  956. data/lib/roebe/gui/glimmer/examples/003_form_table_example.rb +118 -0
  957. data/lib/roebe/gui/glimmer/microsoft_controller/microsoft_controller.rb +58 -0
  958. data/lib/roebe/gui/gtk2/code_generator/code_generator.config +6 -0
  959. data/lib/roebe/gui/gtk2/code_generator/code_generator.rb +39 -0
  960. data/lib/roebe/gui/gtk2/email/email.config +6 -0
  961. data/lib/roebe/gui/gtk2/email/email.rb +31 -0
  962. data/lib/roebe/gui/gtk2/ifconfig/ifconfig.rb +34 -0
  963. data/lib/roebe/gui/gtk2/send_email/send_email.rb +34 -0
  964. data/lib/roebe/gui/gtk2/show_aliases/show_aliases.rb +31 -0
  965. data/lib/roebe/gui/gtk2/show_ten_aliases/show_ten_aliases.rb +34 -0
  966. data/lib/roebe/gui/gtk2/world_capitals/capital_event_box.rb +18 -0
  967. data/lib/roebe/gui/gtk2/world_capitals/frame_for_world_capitals.rb +27 -0
  968. data/lib/roebe/gui/gtk2/world_capitals/world_capitals.rb +31 -0
  969. data/lib/roebe/gui/gtk3/code_generator/code_generator.rb +31 -0
  970. data/lib/roebe/gui/gtk3/email/email.rb +34 -0
  971. data/lib/roebe/gui/gtk3/generate_xorg_configuration/generate_xorg_configuration.rb +223 -0
  972. data/lib/roebe/gui/gtk3/ifconfig/ifconfig.rb +34 -0
  973. data/lib/roebe/gui/gtk3/install_operating_system/install_operating_system.rb +159 -0
  974. data/lib/roebe/gui/gtk3/interactive_caesar_cipher/interactive_caesar_cipher.rb +112 -0
  975. data/lib/roebe/gui/gtk3/md5_comparer/md5_comparer.rb +120 -0
  976. data/lib/roebe/gui/gtk3/send_email/send_email.rb +34 -0
  977. data/lib/roebe/gui/gtk3/shell/misc.rb +70 -0
  978. data/lib/roebe/gui/gtk3/shell/shell.rb +392 -0
  979. data/lib/roebe/gui/gtk3/show_aliases/show_aliases.rb +64 -0
  980. data/lib/roebe/gui/gtk3/show_ten_aliases/show_ten_aliases.rb +34 -0
  981. data/lib/roebe/gui/gtk3/system_widget/system_widget.rb +34 -0
  982. data/lib/roebe/gui/gtk3/task_viewer/task_viewer.rb +34 -0
  983. data/lib/roebe/gui/gtk3/todo_viewer/todo_viewer.rb +290 -0
  984. data/lib/roebe/gui/gtk3/wecker/wecker.rb +440 -0
  985. data/lib/roebe/gui/gtk3/wlan_information_center/README.md +9 -0
  986. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.css +13 -0
  987. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.rb +708 -0
  988. data/lib/roebe/gui/gtk3/world_capitals/capital_event_box.rb +24 -0
  989. data/lib/roebe/gui/gtk3/world_capitals/frame_for_world_capitals.rb +29 -0
  990. data/lib/roebe/gui/gtk3/world_capitals/world_capitals.rb +24 -0
  991. data/lib/roebe/gui/gtk4/interactive_caesar_cipher/interactive_caesar_cipher.rb +119 -0
  992. data/lib/roebe/gui/gtk4/shell/shell.rb +93 -0
  993. data/lib/roebe/gui/jruby/interactive_caesar_cipher/interactive_caesar_cipher.rb +118 -0
  994. data/lib/roebe/gui/jruby/shell/shell.rb +107 -0
  995. data/lib/roebe/gui/libui/interactive_caesar_cipher/interactive_caesar_cipher.rb +147 -0
  996. data/lib/roebe/gui/libui/md5_comparer/md5_comparer.rb +89 -0
  997. data/lib/roebe/gui/libui/microsoft_controller/README.me +3 -0
  998. data/lib/roebe/gui/libui/microsoft_controller/microsoft_controller.rb +206 -0
  999. data/lib/roebe/gui/libui/rundll32/rundll32.rb +89 -0
  1000. data/lib/roebe/gui/libui/shell/shell.rb +139 -0
  1001. data/lib/roebe/gui/libui/show_aliases/show_aliases.rb +78 -0
  1002. data/lib/roebe/gui/libui/show_ten_aliases/show_ten_aliases.rb +99 -0
  1003. data/lib/roebe/gui/libui/todo_viewer/todo_viewer.rb +120 -0
  1004. data/lib/roebe/gui/libui/wlan_interface/wlan_interface.rb +140 -0
  1005. data/lib/roebe/gui/shared_code/code_generator/code_generator_module.rb +273 -0
  1006. data/lib/roebe/gui/shared_code/email/email_module.rb +178 -0
  1007. data/lib/roebe/gui/shared_code/ifconfig/ifconfig_module.rb +1163 -0
  1008. data/lib/roebe/gui/shared_code/interactive_caesar_cipher/interactive_caesar_cipher_module.rb +338 -0
  1009. data/lib/roebe/gui/shared_code/md5_comparer/md5_comparer_module.rb +244 -0
  1010. data/lib/roebe/gui/shared_code/microsoft_controller/microsoft_controller_module.rb +215 -0
  1011. data/lib/roebe/gui/shared_code/send_email/send_email.css +0 -0
  1012. data/lib/roebe/gui/shared_code/send_email/send_email_module.rb +291 -0
  1013. data/lib/roebe/gui/shared_code/shell/shell_module.rb +426 -0
  1014. data/lib/roebe/gui/shared_code/show_aliases/show_aliases_module.rb +196 -0
  1015. data/lib/roebe/gui/shared_code/show_ten_aliases/show_ten_aliases_module.rb +302 -0
  1016. data/lib/roebe/gui/shared_code/system_widget/system_widget_module.rb +161 -0
  1017. data/lib/roebe/gui/shared_code/task_viewer/task_viewer_module.rb +222 -0
  1018. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface.css +13 -0
  1019. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_base.rb +0 -0
  1020. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_module.rb +0 -0
  1021. data/lib/roebe/gui/shared_code/world_capitals/capital_event_box_module.rb +201 -0
  1022. data/lib/roebe/gui/shared_code/world_capitals/frame_for_world_capitals_module.rb +84 -0
  1023. data/lib/roebe/gui/shared_code/world_capitals/world_capitals_module.rb +276 -0
  1024. data/lib/roebe/gui/sinatra/md5_comparer/md5_comparer.rb +108 -0
  1025. data/lib/roebe/gui/swing/README.md +6 -0
  1026. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.class +0 -0
  1027. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.java +87 -0
  1028. data/lib/roebe/gui/swing/text_editor/TextEditor.class +0 -0
  1029. data/lib/roebe/gui/swing/text_editor/TextEditor.java +248 -0
  1030. data/lib/roebe/gui/unified_widgets/README.md +5 -0
  1031. data/lib/roebe/gui/unified_widgets/interactive_caesar_cipher/interactive_caesar_cipher.rb +137 -0
  1032. data/lib/roebe/hello_world/hello_world.rb +1 -0
  1033. data/lib/roebe/images/ROEBE_LOGO.png +0 -0
  1034. data/lib/roebe/irb/README.md +3 -0
  1035. data/lib/roebe/irb/irbrc +47 -0
  1036. data/lib/roebe/irb/start_my_custom_irb.rb +95 -0
  1037. data/lib/roebe/java_roebe/Ant.java +26 -0
  1038. data/lib/roebe/java_roebe/EnglishToGerman.class +0 -0
  1039. data/lib/roebe/java_roebe/EnglishToGerman.java +52 -0
  1040. data/lib/roebe/java_roebe/MoveFile.class +0 -0
  1041. data/lib/roebe/java_roebe/MoveFile.java +50 -0
  1042. data/lib/roebe/java_roebe/MyIp.java +42 -0
  1043. data/lib/roebe/java_roebe/RemoveLine.class +0 -0
  1044. data/lib/roebe/java_roebe/RemoveLine.java +168 -0
  1045. data/lib/roebe/java_roebe/ReturnRandomImage.class +0 -0
  1046. data/lib/roebe/java_roebe/ReturnRandomImage.java +54 -0
  1047. data/lib/roebe/java_roebe/Schlafe.class +0 -0
  1048. data/lib/roebe/java_roebe/Schlafe.java +65 -0
  1049. data/lib/roebe/java_roebe/SetBackground.class +0 -0
  1050. data/lib/roebe/java_roebe/SetBackground.java +104 -0
  1051. data/lib/roebe/java_roebe/ShowOnlyFiles.class +0 -0
  1052. data/lib/roebe/java_roebe/ShowOnlyFiles.java +86 -0
  1053. data/lib/roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1054. data/lib/roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1055. data/lib/roebe/java_roebe/TakeScreenshot.class +0 -0
  1056. data/lib/roebe/java_roebe/TakeScreenshot.java +126 -0
  1057. data/lib/roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1058. data/lib/roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1059. data/lib/roebe/java_roebe/ToBinary.class +0 -0
  1060. data/lib/roebe/java_roebe/ToBinary.java +21 -0
  1061. data/lib/roebe/java_roebe/ToBuy.java +94 -0
  1062. data/lib/roebe/java_roebe/ToSquashfs.class +0 -0
  1063. data/lib/roebe/java_roebe/ToSquashfs.java +84 -0
  1064. data/lib/roebe/java_roebe/ToTarBz2.class +0 -0
  1065. data/lib/roebe/java_roebe/ToTarBz2.java +57 -0
  1066. data/lib/roebe/java_roebe/Today.java +71 -0
  1067. data/lib/roebe/java_roebe/TodoOverview.class +0 -0
  1068. data/lib/roebe/java_roebe/TodoOverview.java +78 -0
  1069. data/lib/roebe/java_roebe/Translate.class +0 -0
  1070. data/lib/roebe/java_roebe/Translate.java +93 -0
  1071. data/lib/roebe/java_roebe/TwentyfourHoursNotation.class +0 -0
  1072. data/lib/roebe/java_roebe/TwentyfourHoursNotation.java +60 -0
  1073. data/lib/roebe/java_roebe/Undone.class +0 -0
  1074. data/lib/roebe/java_roebe/Undone.java +143 -0
  1075. data/lib/roebe/java_roebe/UnicodeSnowman.class +0 -0
  1076. data/lib/roebe/java_roebe/UnicodeSnowman.java +48 -0
  1077. data/lib/roebe/java_roebe/Upcaser.class +0 -0
  1078. data/lib/roebe/java_roebe/Upcaser.java +69 -0
  1079. data/lib/roebe/java_roebe/UploadToImgur.class +0 -0
  1080. data/lib/roebe/java_roebe/UploadToImgur.java +97 -0
  1081. data/lib/roebe/java_roebe/Wikipedia.class +0 -0
  1082. data/lib/roebe/java_roebe/Wikipedia.java +43 -0
  1083. data/lib/roebe/java_roebe/WriteWhatInto.class +0 -0
  1084. data/lib/roebe/java_roebe/WriteWhatInto.java +56 -0
  1085. data/lib/roebe/java_roebe/Zoll.class +0 -0
  1086. data/lib/roebe/java_roebe/Zoll.java +42 -0
  1087. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport$1.class +0 -0
  1088. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.class +0 -0
  1089. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.java +277 -0
  1090. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1091. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1092. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.class +0 -0
  1093. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.java +126 -0
  1094. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1095. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1096. data/lib/roebe/java_roebe/java_roebe/Zoll.class +0 -0
  1097. data/lib/roebe/java_roebe/java_roebe/Zoll.java +42 -0
  1098. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.class +0 -0
  1099. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.java +50 -0
  1100. data/lib/roebe/jruby/jruby_enhancements.rb +18 -0
  1101. data/lib/roebe/jruby/swing/absolute_positioning_example.rb +75 -0
  1102. data/lib/roebe/jruby/swing/complete_windows_example.rb +90 -0
  1103. data/lib/roebe/jruby/swing/paint_demo.rb +37 -0
  1104. data/lib/roebe/jruby/swing/quit_button_example.rb +54 -0
  1105. data/lib/roebe/jruby/swing/simple_swing_example.rb +33 -0
  1106. data/lib/roebe/jruby/swing/tooltip_example.rb +90 -0
  1107. data/lib/roebe/jruby/swing/two_buttons_example.rb +62 -0
  1108. data/lib/roebe/linux/README.md +3 -0
  1109. data/lib/roebe/linux/linux.rb +106 -0
  1110. data/lib/roebe/linux/slackware/remove_pulseaudio.rb +34 -0
  1111. data/lib/roebe/linux/slackware/slackware.rb +122 -0
  1112. data/lib/roebe/math/README.md +4 -0
  1113. data/lib/roebe/math/anagram.rb +42 -0
  1114. data/lib/roebe/math/average_of_differences.rb +41 -0
  1115. data/lib/roebe/math/binning.rb +56 -0
  1116. data/lib/roebe/math/calculate_the_distance_between_two_points.rb +38 -0
  1117. data/lib/roebe/math/calculate_the_variance.rb +45 -0
  1118. data/lib/roebe/math/circle.rb +101 -0
  1119. data/lib/roebe/math/draw_line.rb +25 -0
  1120. data/lib/roebe/math/draw_triangle.rb +26 -0
  1121. data/lib/roebe/math/fact.rb +44 -0
  1122. data/lib/roebe/math/log10.rb +54 -0
  1123. data/lib/roebe/math/math.rb +314 -0
  1124. data/lib/roebe/math/pi.rb +29 -0
  1125. data/lib/roebe/math/primfaktorzerlegung.rb +105 -0
  1126. data/lib/roebe/math/regel_von_sarrus.rb +70 -0
  1127. data/lib/roebe/math/sphere.rb +126 -0
  1128. data/lib/roebe/math/traurige_oder_fr/303/266hliche_zahl.rb +47 -0
  1129. data/lib/roebe/math/traurige_oder_gl/303/274ckliche_zahl.rb +55 -0
  1130. data/lib/roebe/math/zylinder.rb +59 -0
  1131. data/lib/roebe/mime_types/mime_types.rb +389 -0
  1132. data/lib/roebe/misc/README.md +2 -0
  1133. data/lib/roebe/misc/chrome_extensions/roebe/commands_to_run.rb +1 -0
  1134. data/lib/roebe/misc/chrome_extensions/roebe/index.html +129 -0
  1135. data/lib/roebe/misc/chrome_extensions/roebe/manifest.json +19 -0
  1136. data/lib/roebe/misc/fluxbox_keys_file +117 -0
  1137. data/lib/roebe/misc/icewm_keys_file +88 -0
  1138. data/lib/roebe/misc/master_boot_record/master_boot_record +0 -0
  1139. data/lib/roebe/misc/ublock_origin/ublock_origin.md +4 -0
  1140. data/lib/roebe/modules/as_uid.rb +61 -0
  1141. data/lib/roebe/modules/extensions/README.md +2 -0
  1142. data/lib/roebe/modules/extensions/hexapdf.rb +14 -0
  1143. data/lib/roebe/modules/http_status_codes/constants.rb +105 -0
  1144. data/lib/roebe/modules/http_status_codes/http_status_codes.rb +59 -0
  1145. data/lib/roebe/modules/remove_html.rb +61 -0
  1146. data/lib/roebe/mouse/README.md +2 -0
  1147. data/lib/roebe/mouse/libffi_is_not_available.rb +70 -0
  1148. data/lib/roebe/mouse/mouse.rb +205 -0
  1149. data/lib/roebe/nano/README.md +42 -0
  1150. data/lib/roebe/nano/c.md +77 -0
  1151. data/lib/roebe/nano/cpp.md +68 -0
  1152. data/lib/roebe/nano/css.md +16 -0
  1153. data/lib/roebe/nano/fasta.md +10 -0
  1154. data/lib/roebe/nano/general_settings.md +194 -0
  1155. data/lib/roebe/nano/generic.md +52 -0
  1156. data/lib/roebe/nano/html.md +7 -0
  1157. data/lib/roebe/nano/include.md +26 -0
  1158. data/lib/roebe/nano/java.md +31 -0
  1159. data/lib/roebe/nano/mail.md +36 -0
  1160. data/lib/roebe/nano/ml.md +21 -0
  1161. data/lib/roebe/nano/nano.cgi +23 -0
  1162. data/lib/roebe/nano/nanorc.md +16 -0
  1163. data/lib/roebe/nano/nexus.md +12 -0
  1164. data/lib/roebe/nano/opal.md +66 -0
  1165. data/lib/roebe/nano/patch_files.md +12 -0
  1166. data/lib/roebe/nano/perl.md +12 -0
  1167. data/lib/roebe/nano/php.md +26 -0
  1168. data/lib/roebe/nano/python.md +12 -0
  1169. data/lib/roebe/nano/ruby.md +122 -0
  1170. data/lib/roebe/nano/shell_scripts.md +15 -0
  1171. data/lib/roebe/nano/top.md +14 -0
  1172. data/lib/roebe/nano/yaml.md +70 -0
  1173. data/lib/roebe/nano/zzz_misc.md +13 -0
  1174. data/lib/roebe/no_colours.rb +7 -0
  1175. data/lib/roebe/pdf/README.md +1 -0
  1176. data/lib/roebe/pdf/prawn/all_in_one_showcasing_prawn.rb +160 -0
  1177. data/lib/roebe/project/project.rb +77 -0
  1178. data/lib/roebe/python/base/__pycache__/base.cpython-39.pyc +0 -0
  1179. data/lib/roebe/python/base/base.py +40 -0
  1180. data/lib/roebe/python/zoll.py +16 -0
  1181. data/lib/roebe/requires/basic_common_requires.rb +18 -0
  1182. data/lib/roebe/requires/colours.rb +7 -0
  1183. data/lib/roebe/requires/failsafe_require_of_beautiful_url.rb +12 -0
  1184. data/lib/roebe/requires/failsafe_require_of_opn.rb +12 -0
  1185. data/lib/roebe/requires/require_all_standalone_classes.rb +65 -0
  1186. data/lib/roebe/requires/require_all_standalone_modules.rb +61 -0
  1187. data/lib/roebe/requires/require_burn_iso.rb +5 -0
  1188. data/lib/roebe/requires/require_kde_konsole.rb +7 -0
  1189. data/lib/roebe/requires/require_menu_generator.rb +7 -0
  1190. data/lib/roebe/requires/require_remove_directory.rb +7 -0
  1191. data/lib/roebe/requires/require_ruby_header.rb +7 -0
  1192. data/lib/roebe/requires/require_the_browser_files.rb +11 -0
  1193. data/lib/roebe/requires/require_the_roebe_documentation.rb +11 -0
  1194. data/lib/roebe/requires/require_the_roebe_shell.rb +22 -0
  1195. data/lib/roebe/requires/require_the_run_class.rb +7 -0
  1196. data/lib/roebe/requires/require_the_toplevel_methods.rb +11 -0
  1197. data/lib/roebe/requires/require_the_whole_roebe_project.rb +75 -0
  1198. data/lib/roebe/requires/require_traverse_install.rb +7 -0
  1199. data/lib/roebe/requires/require_unicode.rb +31 -0
  1200. data/lib/roebe/setup/README.md +1 -0
  1201. data/lib/roebe/setup/setup.rb +1665 -0
  1202. data/lib/roebe/shell/README.md +3 -0
  1203. data/lib/roebe/shell/colours/colour_codes.rb +178 -0
  1204. data/lib/roebe/shell/colours/colours.rb +330 -0
  1205. data/lib/roebe/shell/commandline/commandline.rb +392 -0
  1206. data/lib/roebe/shell/configuration/configuration.rb +172 -0
  1207. data/lib/roebe/shell/gui/gtk3/vte_terminal_frame.rb +77 -0
  1208. data/lib/roebe/shell/help/colourized_help_line.rb +190 -0
  1209. data/lib/roebe/shell/help/documented_help_options.rb +254 -0
  1210. data/lib/roebe/shell/help/help.rb +105 -0
  1211. data/lib/roebe/shell/module_methods/anmeldung.rb +75 -0
  1212. data/lib/roebe/shell/module_methods/available_components.rb +78 -0
  1213. data/lib/roebe/shell/module_methods/benchmarks.rb +70 -0
  1214. data/lib/roebe/shell/module_methods/commandline_arguments.rb +35 -0
  1215. data/lib/roebe/shell/module_methods/encoding.rb +95 -0
  1216. data/lib/roebe/shell/module_methods/ftp.rb +65 -0
  1217. data/lib/roebe/shell/module_methods/generate_tab_completion.rb +96 -0
  1218. data/lib/roebe/shell/module_methods/home_directory.rb +108 -0
  1219. data/lib/roebe/shell/module_methods/main_file.rb +41 -0
  1220. data/lib/roebe/shell/module_methods/misc.rb +181 -0
  1221. data/lib/roebe/shell/module_methods/report_where_the_home_directory_can_be_found.rb +35 -0
  1222. data/lib/roebe/shell/module_methods/startup_time.rb +34 -0
  1223. data/lib/roebe/shell/project/project.rb +47 -0
  1224. data/lib/roebe/shell/session/session.rb +205 -0
  1225. data/lib/roebe/shell/shell/class_methods.rb +25 -0
  1226. data/lib/roebe/shell/shell/constants.rb +172 -0
  1227. data/lib/roebe/shell/shell/core/act_filetype_specific.rb +127 -0
  1228. data/lib/roebe/shell/shell/core/action.rb +42 -0
  1229. data/lib/roebe/shell/shell/core/add.rb +186 -0
  1230. data/lib/roebe/shell/shell/core/aliases.rb +161 -0
  1231. data/lib/roebe/shell/shell/core/all.rb +62 -0
  1232. data/lib/roebe/shell/shell/core/append.rb +113 -0
  1233. data/lib/roebe/shell/shell/core/archives.rb +76 -0
  1234. data/lib/roebe/shell/shell/core/arguments.rb +301 -0
  1235. data/lib/roebe/shell/shell/core/ascii.rb +127 -0
  1236. data/lib/roebe/shell/shell/core/assign.rb +141 -0
  1237. data/lib/roebe/shell/shell/core/audio.rb +482 -0
  1238. data/lib/roebe/shell/shell/core/autostart.rb +52 -0
  1239. data/lib/roebe/shell/shell/core/backup.rb +162 -0
  1240. data/lib/roebe/shell/shell/core/become.rb +41 -0
  1241. data/lib/roebe/shell/shell/core/birthdays.rb +42 -0
  1242. data/lib/roebe/shell/shell/core/browser.rb +291 -0
  1243. data/lib/roebe/shell/shell/core/buffer.rb +119 -0
  1244. data/lib/roebe/shell/shell/core/burning.rb +156 -0
  1245. data/lib/roebe/shell/shell/core/calculate.rb +77 -0
  1246. data/lib/roebe/shell/shell/core/call.rb +107 -0
  1247. data/lib/roebe/shell/shell/core/cat.rb +212 -0
  1248. data/lib/roebe/shell/shell/core/change_directory.rb +307 -0
  1249. data/lib/roebe/shell/shell/core/checks.rb +149 -0
  1250. data/lib/roebe/shell/shell/core/chmod.rb +54 -0
  1251. data/lib/roebe/shell/shell/core/clear_and_purge.rb +105 -0
  1252. data/lib/roebe/shell/shell/core/cliner.rb +36 -0
  1253. data/lib/roebe/shell/shell/core/clipboard.rb +45 -0
  1254. data/lib/roebe/shell/shell/core/collapse.rb +53 -0
  1255. data/lib/roebe/shell/shell/core/compile.rb +245 -0
  1256. data/lib/roebe/shell/shell/core/configuration.rb +532 -0
  1257. data/lib/roebe/shell/shell/core/conversions.rb +358 -0
  1258. data/lib/roebe/shell/shell/core/copy.rb +306 -0
  1259. data/lib/roebe/shell/shell/core/count.rb +76 -0
  1260. data/lib/roebe/shell/shell/core/cracks.rb +61 -0
  1261. data/lib/roebe/shell/shell/core/create.rb +410 -0
  1262. data/lib/roebe/shell/shell/core/cut.rb +207 -0
  1263. data/lib/roebe/shell/shell/core/debug.rb +125 -0
  1264. data/lib/roebe/shell/shell/core/defaults.rb +23 -0
  1265. data/lib/roebe/shell/shell/core/delay.rb +34 -0
  1266. data/lib/roebe/shell/shell/core/directory_actions.rb +241 -0
  1267. data/lib/roebe/shell/shell/core/disable.rb +468 -0
  1268. data/lib/roebe/shell/shell/core/documentation.rb +308 -0
  1269. data/lib/roebe/shell/shell/core/downcase.rb +45 -0
  1270. data/lib/roebe/shell/shell/core/download.rb +164 -0
  1271. data/lib/roebe/shell/shell/core/dump.rb +47 -0
  1272. data/lib/roebe/shell/shell/core/e.rb +70 -0
  1273. data/lib/roebe/shell/shell/core/editor.rb +373 -0
  1274. data/lib/roebe/shell/shell/core/email.rb +56 -0
  1275. data/lib/roebe/shell/shell/core/empty.rb +57 -0
  1276. data/lib/roebe/shell/shell/core/enable.rb +365 -0
  1277. data/lib/roebe/shell/shell/core/english.rb +47 -0
  1278. data/lib/roebe/shell/shell/core/ensure.rb +42 -0
  1279. data/lib/roebe/shell/shell/core/env.rb +141 -0
  1280. data/lib/roebe/shell/shell/core/escape_shell_characters.rb +25 -0
  1281. data/lib/roebe/shell/shell/core/esystem.rb +133 -0
  1282. data/lib/roebe/shell/shell/core/exit.rb +52 -0
  1283. data/lib/roebe/shell/shell/core/extract.rb +130 -0
  1284. data/lib/roebe/shell/shell/core/fetch.rb +68 -0
  1285. data/lib/roebe/shell/shell/core/file_actions.rb +271 -0
  1286. data/lib/roebe/shell/shell/core/find_and_search.rb +225 -0
  1287. data/lib/roebe/shell/shell/core/ftp.rb +224 -0
  1288. data/lib/roebe/shell/shell/core/gems.rb +101 -0
  1289. data/lib/roebe/shell/shell/core/generate.rb +460 -0
  1290. data/lib/roebe/shell/shell/core/get_file_listing.rb +230 -0
  1291. data/lib/roebe/shell/shell/core/get_var.rb +136 -0
  1292. data/lib/roebe/shell/shell/core/gist.rb +72 -0
  1293. data/lib/roebe/shell/shell/core/glob.rb +65 -0
  1294. data/lib/roebe/shell/shell/core/google.rb +36 -0
  1295. data/lib/roebe/shell/shell/core/hardware.rb +90 -0
  1296. data/lib/roebe/shell/shell/core/help.rb +451 -0
  1297. data/lib/roebe/shell/shell/core/history.rb +253 -0
  1298. data/lib/roebe/shell/shell/core/hostname.rb +21 -0
  1299. data/lib/roebe/shell/shell/core/images.rb +110 -0
  1300. data/lib/roebe/shell/shell/core/information.rb +143 -0
  1301. data/lib/roebe/shell/shell/core/install.rb +303 -0
  1302. data/lib/roebe/shell/shell/core/irb.rb +39 -0
  1303. data/lib/roebe/shell/shell/core/irc.rb +55 -0
  1304. data/lib/roebe/shell/shell/core/is.rb +72 -0
  1305. data/lib/roebe/shell/shell/core/iso.rb +225 -0
  1306. data/lib/roebe/shell/shell/core/jumpers.rb +41 -0
  1307. data/lib/roebe/shell/shell/core/log.rb +42 -0
  1308. data/lib/roebe/shell/shell/core/make.rb +83 -0
  1309. data/lib/roebe/shell/shell/core/merge.rb +133 -0
  1310. data/lib/roebe/shell/shell/core/misc.rb +1220 -0
  1311. data/lib/roebe/shell/shell/core/mode.rb +63 -0
  1312. data/lib/roebe/shell/shell/core/mount.rb +123 -0
  1313. data/lib/roebe/shell/shell/core/move.rb +64 -0
  1314. data/lib/roebe/shell/shell/core/open.rb +198 -0
  1315. data/lib/roebe/shell/shell/core/optimize.rb +63 -0
  1316. data/lib/roebe/shell/shell/core/passwords.rb +38 -0
  1317. data/lib/roebe/shell/shell/core/path.rb +156 -0
  1318. data/lib/roebe/shell/shell/core/pdf.rb +73 -0
  1319. data/lib/roebe/shell/shell/core/personal.rb +108 -0
  1320. data/lib/roebe/shell/shell/core/phone.rb +49 -0
  1321. data/lib/roebe/shell/shell/core/pid.rb +118 -0
  1322. data/lib/roebe/shell/shell/core/ping.rb +53 -0
  1323. data/lib/roebe/shell/shell/core/pkgconfig.rb +44 -0
  1324. data/lib/roebe/shell/shell/core/play.rb +244 -0
  1325. data/lib/roebe/shell/shell/core/popup.rb +55 -0
  1326. data/lib/roebe/shell/shell/core/printing.rb +27 -0
  1327. data/lib/roebe/shell/shell/core/protect.rb +176 -0
  1328. data/lib/roebe/shell/shell/core/queries.rb +204 -0
  1329. data/lib/roebe/shell/shell/core/question_answer.rb +101 -0
  1330. data/lib/roebe/shell/shell/core/random.rb +107 -0
  1331. data/lib/roebe/shell/shell/core/rbt.rb +69 -0
  1332. data/lib/roebe/shell/shell/core/read_file.rb +102 -0
  1333. data/lib/roebe/shell/shell/core/record.rb +94 -0
  1334. data/lib/roebe/shell/shell/core/register.rb +65 -0
  1335. data/lib/roebe/shell/shell/core/reload.rb +189 -0
  1336. data/lib/roebe/shell/shell/core/remove.rb +351 -0
  1337. data/lib/roebe/shell/shell/core/repackage.rb +34 -0
  1338. data/lib/roebe/shell/shell/core/repair.rb +99 -0
  1339. data/lib/roebe/shell/shell/core/repeat.rb +78 -0
  1340. data/lib/roebe/shell/shell/core/replace.rb +130 -0
  1341. data/lib/roebe/shell/shell/core/replay.rb +38 -0
  1342. data/lib/roebe/shell/shell/core/require.rb +102 -0
  1343. data/lib/roebe/shell/shell/core/ruby.rb +82 -0
  1344. data/lib/roebe/shell/shell/core/save.rb +127 -0
  1345. data/lib/roebe/shell/shell/core/scp.rb +75 -0
  1346. data/lib/roebe/shell/shell/core/screenshot.rb +98 -0
  1347. data/lib/roebe/shell/shell/core/serve.rb +221 -0
  1348. data/lib/roebe/shell/shell/core/set.rb +241 -0
  1349. data/lib/roebe/shell/shell/core/set_file_listing.rb +33 -0
  1350. data/lib/roebe/shell/shell/core/shellrc_file.rb +57 -0
  1351. data/lib/roebe/shell/shell/core/show_display_feedback_and_report.rb +2346 -0
  1352. data/lib/roebe/shell/shell/core/sleep.rb +63 -0
  1353. data/lib/roebe/shell/shell/core/sort.rb +47 -0
  1354. data/lib/roebe/shell/shell/core/split.rb +68 -0
  1355. data/lib/roebe/shell/shell/core/start.rb +111 -0
  1356. data/lib/roebe/shell/shell/core/stat.rb +111 -0
  1357. data/lib/roebe/shell/shell/core/strip.rb +47 -0
  1358. data/lib/roebe/shell/shell/core/switch.rb +69 -0
  1359. data/lib/roebe/shell/shell/core/symlink.rb +79 -0
  1360. data/lib/roebe/shell/shell/core/tab.rb +83 -0
  1361. data/lib/roebe/shell/shell/core/tasks.rb +93 -0
  1362. data/lib/roebe/shell/shell/core/tell_us_whether_this_program_exists.rb +45 -0
  1363. data/lib/roebe/shell/shell/core/test.rb +56 -0
  1364. data/lib/roebe/shell/shell/core/time.rb +72 -0
  1365. data/lib/roebe/shell/shell/core/toggle.rb +186 -0
  1366. data/lib/roebe/shell/shell/core/trainer.rb +72 -0
  1367. data/lib/roebe/shell/shell/core/translate.rb +53 -0
  1368. data/lib/roebe/shell/shell/core/treeview.rb +42 -0
  1369. data/lib/roebe/shell/shell/core/trigger.rb +54 -0
  1370. data/lib/roebe/shell/shell/core/unalias.rb +47 -0
  1371. data/lib/roebe/shell/shell/core/undo.rb +71 -0
  1372. data/lib/roebe/shell/shell/core/upcase.rb +58 -0
  1373. data/lib/roebe/shell/shell/core/update.rb +189 -0
  1374. data/lib/roebe/shell/shell/core/upload.rb +137 -0
  1375. data/lib/roebe/shell/shell/core/url.rb +168 -0
  1376. data/lib/roebe/shell/shell/core/use.rb +58 -0
  1377. data/lib/roebe/shell/shell/core/variables.rb +86 -0
  1378. data/lib/roebe/shell/shell/core/video.rb +288 -0
  1379. data/lib/roebe/shell/shell/core/watch.rb +45 -0
  1380. data/lib/roebe/shell/shell/core/webrick.rb +135 -0
  1381. data/lib/roebe/shell/shell/core/wecker.rb +53 -0
  1382. data/lib/roebe/shell/shell/core/whoami.rb +23 -0
  1383. data/lib/roebe/shell/shell/core/windows.rb +315 -0
  1384. data/lib/roebe/shell/shell/core/wlan.rb +22 -0
  1385. data/lib/roebe/shell/shell/core/yaml.rb +87 -0
  1386. data/lib/roebe/shell/shell/menu.rb +8030 -0
  1387. data/lib/roebe/shell/shell/misc.rb +293 -0
  1388. data/lib/roebe/shell/shell/reset.rb +297 -0
  1389. data/lib/roebe/shell/shell/shell.rb +2155 -0
  1390. data/lib/roebe/shell/shellrc_parser/shellrc_parser.rb +276 -0
  1391. data/lib/roebe/shell/standalone_classes/time_converter.rb +86 -0
  1392. data/lib/roebe/shell/standalone_classes/todo.rb +100 -0
  1393. data/lib/roebe/shell/yaml/configuration/autoconvert_numbers.yml +1 -0
  1394. data/lib/roebe/shell/yaml/configuration/be_verbose.yml +1 -0
  1395. data/lib/roebe/shell/yaml/configuration/cd_burn_program.yml +1 -0
  1396. data/lib/roebe/shell/yaml/configuration/check_for_isos.yml +1 -0
  1397. data/lib/roebe/shell/yaml/configuration/check_upcoming_exams.yml +1 -0
  1398. data/lib/roebe/shell/yaml/configuration/collapse.yml +1 -0
  1399. data/lib/roebe/shell/yaml/configuration/colours.yml +10 -0
  1400. data/lib/roebe/shell/yaml/configuration/debug.yml +1 -0
  1401. data/lib/roebe/shell/yaml/configuration/default_browser_location.yml +1 -0
  1402. data/lib/roebe/shell/yaml/configuration/default_delay.yml +1 -0
  1403. data/lib/roebe/shell/yaml/configuration/default_file_action.yml +1 -0
  1404. data/lib/roebe/shell/yaml/configuration/dictionaries.yml +2 -0
  1405. data/lib/roebe/shell/yaml/configuration/display_index.yml +1 -0
  1406. data/lib/roebe/shell/yaml/configuration/do_show_modification_time.yml +1 -0
  1407. data/lib/roebe/shell/yaml/configuration/dvd_burn_program.yml +1 -0
  1408. data/lib/roebe/shell/yaml/configuration/editor.yml +1 -0
  1409. data/lib/roebe/shell/yaml/configuration/enter_extracted_directory.yml +1 -0
  1410. data/lib/roebe/shell/yaml/configuration/events.yml +2 -0
  1411. data/lib/roebe/shell/yaml/configuration/guess_directory_name.yml +1 -0
  1412. data/lib/roebe/shell/yaml/configuration/jumper_directories.yml +9 -0
  1413. data/lib/roebe/shell/yaml/configuration/last_directory.yml +1 -0
  1414. data/lib/roebe/shell/yaml/configuration/logfile_for_history.yml +1 -0
  1415. data/lib/roebe/shell/yaml/configuration/may_we_generate_file_skeleton.yml +1 -0
  1416. data/lib/roebe/shell/yaml/configuration/may_we_use_ftp.yml +1 -0
  1417. data/lib/roebe/shell/yaml/configuration/mplayer_favourite_files.yml +1 -0
  1418. data/lib/roebe/shell/yaml/configuration/official_release.yml +1 -0
  1419. data/lib/roebe/shell/yaml/configuration/open_downloaded_pdf_files_at_once.yml +1 -0
  1420. data/lib/roebe/shell/yaml/configuration/operating_system.yml +1 -0
  1421. data/lib/roebe/shell/yaml/configuration/padding.yml +1 -0
  1422. data/lib/roebe/shell/yaml/configuration/pdf_viewer.yml +1 -0
  1423. data/lib/roebe/shell/yaml/configuration/preferred_encoding.yml +1 -0
  1424. data/lib/roebe/shell/yaml/configuration/protected_directories.yml +8 -0
  1425. data/lib/roebe/shell/yaml/configuration/remove_globbed_files.yml +1 -0
  1426. data/lib/roebe/shell/yaml/configuration/run_simulation.yml +1 -0
  1427. data/lib/roebe/shell/yaml/configuration/shall_we_log_the_user_input_history.yml +1 -0
  1428. data/lib/roebe/shell/yaml/configuration/shell_name.yml +1 -0
  1429. data/lib/roebe/shell/yaml/configuration/shell_prompt.yml +1 -0
  1430. data/lib/roebe/shell/yaml/configuration/shorten_directory_names.yml +1 -0
  1431. data/lib/roebe/shell/yaml/configuration/show_absolute_path.yml +1 -0
  1432. data/lib/roebe/shell/yaml/configuration/show_condensed_permissions.yml +1 -0
  1433. data/lib/roebe/shell/yaml/configuration/show_hidden_files.yml +1 -0
  1434. data/lib/roebe/shell/yaml/configuration/show_n_lines.yml +1 -0
  1435. data/lib/roebe/shell/yaml/configuration/simplified.yml +1 -0
  1436. data/lib/roebe/shell/yaml/configuration/stop_on_missing_symlink.yml +1 -0
  1437. data/lib/roebe/shell/yaml/configuration/title_renamer.yml +1 -0
  1438. data/lib/roebe/shell/yaml/configuration/translate_unknown_words.yml +1 -0
  1439. data/lib/roebe/shell/yaml/configuration/truncate_long_file_names.yml +1 -0
  1440. data/lib/roebe/shell/yaml/configuration/upload_screenshots.yml +1 -0
  1441. data/lib/roebe/shell/yaml/configuration/use_aliases.yml +1 -0
  1442. data/lib/roebe/shell/yaml/configuration/use_colours.yml +1 -0
  1443. data/lib/roebe/shell/yaml/configuration/use_dictionary.yml +1 -0
  1444. data/lib/roebe/shell/yaml/configuration/use_irb_drop.yml +1 -0
  1445. data/lib/roebe/shell/yaml/configuration/use_irc.yml +1 -0
  1446. data/lib/roebe/shell/yaml/configuration/use_konsole_colours.yml +1 -0
  1447. data/lib/roebe/shell/yaml/configuration/use_readline.yml +1 -0
  1448. data/lib/roebe/shell/yaml/configuration/video_collection.yml +1 -0
  1449. data/lib/roebe/shell/yaml/configuration/video_player.yml +1 -0
  1450. data/lib/roebe/shell/yaml/configuration/which_bin_shell_to_use.yml +1 -0
  1451. data/lib/roebe/shell/yaml/configuration/which_shell.yml +1 -0
  1452. data/lib/roebe/shell/yaml/default_apps.yml +7 -0
  1453. data/lib/roebe/shell/yaml/ignore_these_last_commands.yml +12 -0
  1454. data/lib/roebe/shell/yaml/lazy_load_these_components.yml +51 -0
  1455. data/lib/roebe/shell_scripts/README.md +13 -0
  1456. data/lib/roebe/shell_scripts/bashrc +39 -0
  1457. data/lib/roebe/shell_scripts/check_bootloader.sh +30 -0
  1458. data/lib/roebe/shell_scripts/cliner.sh +98 -0
  1459. data/lib/roebe/shell_scripts/colour_grey_matrix.sh +7 -0
  1460. data/lib/roebe/shell_scripts/coloured_calendar.sh +25 -0
  1461. data/lib/roebe/shell_scripts/compile_ruby.sh +58 -0
  1462. data/lib/roebe/shell_scripts/completion_for_rf.sh +1065 -0
  1463. data/lib/roebe/shell_scripts/count_down.sh +13 -0
  1464. data/lib/roebe/shell_scripts/create_new_file.sh +25 -0
  1465. data/lib/roebe/shell_scripts/custom_prompts.sh +39 -0
  1466. data/lib/roebe/shell_scripts/do_install.sh +24 -0
  1467. data/lib/roebe/shell_scripts/do_stripped_install.sh +22 -0
  1468. data/lib/roebe/shell_scripts/echo_loop_example.sh +4 -0
  1469. data/lib/roebe/shell_scripts/extname.sh +21 -0
  1470. data/lib/roebe/shell_scripts/extract.sh +42 -0
  1471. data/lib/roebe/shell_scripts/extract_archive.sh +59 -0
  1472. data/lib/roebe/shell_scripts/first_character.sh +31 -0
  1473. data/lib/roebe/shell_scripts/how_to_obtain_user_input.sh +17 -0
  1474. data/lib/roebe/shell_scripts/install_base_roebe.sh +41 -0
  1475. data/lib/roebe/shell_scripts/lfs/001_binutils_1.sh +19 -0
  1476. data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +36 -0
  1477. data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +24 -0
  1478. data/lib/roebe/shell_scripts/lfs/004_glibc_1.sh +42 -0
  1479. data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +25 -0
  1480. data/lib/roebe/shell_scripts/lfs/006_m4_2.sh +22 -0
  1481. data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +39 -0
  1482. data/lib/roebe/shell_scripts/lfs/008_bash_2.sh +21 -0
  1483. data/lib/roebe/shell_scripts/lfs/009_coreutils_2.sh +25 -0
  1484. data/lib/roebe/shell_scripts/lfs/010_diffutils_2.sh +20 -0
  1485. data/lib/roebe/shell_scripts/lfs/011_file_2.sh +25 -0
  1486. data/lib/roebe/shell_scripts/lfs/012_findutils_2.sh +20 -0
  1487. data/lib/roebe/shell_scripts/lfs/013_gawk_2.sh +21 -0
  1488. data/lib/roebe/shell_scripts/lfs/014_grep_2.sh +20 -0
  1489. data/lib/roebe/shell_scripts/lfs/015_gzip_2.sh +20 -0
  1490. data/lib/roebe/shell_scripts/lfs/016_make_2.sh +20 -0
  1491. data/lib/roebe/shell_scripts/lfs/017_patch_2.sh +17 -0
  1492. data/lib/roebe/shell_scripts/lfs/018_sed_2.sh +19 -0
  1493. data/lib/roebe/shell_scripts/lfs/019_tar_2.sh +16 -0
  1494. data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +15 -0
  1495. data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +30 -0
  1496. data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +50 -0
  1497. data/lib/roebe/shell_scripts/lfs/README.md +28 -0
  1498. data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +247 -0
  1499. data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +31 -0
  1500. data/lib/roebe/shell_scripts/lfs/libstdc++_2.sh +20 -0
  1501. data/lib/roebe/shell_scripts/lfs/ruby_2.sh +11 -0
  1502. data/lib/roebe/shell_scripts/list_colours.sh +25 -0
  1503. data/lib/roebe/shell_scripts/locales.sh +15 -0
  1504. data/lib/roebe/shell_scripts/loop_example.sh +5 -0
  1505. data/lib/roebe/shell_scripts/lower.sh +21 -0
  1506. data/lib/roebe/shell_scripts/misc.sh +327 -0
  1507. data/lib/roebe/shell_scripts/musl_cross_compiler.sh +178 -0
  1508. data/lib/roebe/shell_scripts/no_caps.sh +16 -0
  1509. data/lib/roebe/shell_scripts/number_guessing_game.sh +37 -0
  1510. data/lib/roebe/shell_scripts/parameters_example.sh +58 -0
  1511. data/lib/roebe/shell_scripts/query_parameters.sh +58 -0
  1512. data/lib/roebe/shell_scripts/remove_broken_symlinks_in_the_current_working_directory.sh +1 -0
  1513. data/lib/roebe/shell_scripts/reset_path.sh +15 -0
  1514. data/lib/roebe/shell_scripts/return_random_file.sh +20 -0
  1515. data/lib/roebe/shell_scripts/shell_file_containing_the_html_colours.sh +148 -0
  1516. data/lib/roebe/shell_scripts/show_semigraphic_characters.sh +14 -0
  1517. data/lib/roebe/shell_scripts/show_site_ruby.sh +15 -0
  1518. data/lib/roebe/shell_scripts/source_in_all_completions.sh +9 -0
  1519. data/lib/roebe/shell_scripts/true_ata.sh +34 -0
  1520. data/lib/roebe/shell_scripts/truecolour_line.sh +13 -0
  1521. data/lib/roebe/shell_scripts/zenity_count_to_100.sh +5 -0
  1522. data/lib/roebe/sinatra/README.md +6 -0
  1523. data/lib/roebe/sinatra/erb_example/erb_example.erb +10 -0
  1524. data/lib/roebe/sinatra/erb_example/erb_example.rb +13 -0
  1525. data/lib/roebe/sinatra/inline_template_example/inline_template_example.rb +27 -0
  1526. data/lib/roebe/sinatra/modify_http_response_headers_example/modify_http_response_headers_example.rb +13 -0
  1527. data/lib/roebe/sinatra/multi_urls/multi_urls.rb +29 -0
  1528. data/lib/roebe/sinatra/optional_route.rb +19 -0
  1529. data/lib/roebe/sinatra/query_the_name/query_the_name.rb +7 -0
  1530. data/lib/roebe/sinatra/rock_paper_and_scissors_example/rock_paper_and_scissors_example.rb +51 -0
  1531. data/lib/roebe/sinatra/route_definition_examples/route_definition_examples.rb +25 -0
  1532. data/lib/roebe/sinatra/send_file_example/send_file_example.rb +54 -0
  1533. data/lib/roebe/sinatra/session_counter/session_counter.rb +53 -0
  1534. data/lib/roebe/sinatra/show_the_environment_variables/show_the_environment_variables.rb +9 -0
  1535. data/lib/roebe/sinatra/simple_authentication/simple_authentication.rb +25 -0
  1536. data/lib/roebe/sinatra/simple_hello_world/simple_hello_world.rb +5 -0
  1537. data/lib/roebe/sinatra/sinatra_authentication_example/sinatra_authentication_example.rb +117 -0
  1538. data/lib/roebe/sinatra/sinatra_example_with_rack_component/sinatra_example_with_rack_component.rb +15 -0
  1539. data/lib/roebe/sinatra/subclassing_sinatra_example/subclassing_sinatra_example.rb +19 -0
  1540. data/lib/roebe/snippets/README.md +1 -0
  1541. data/lib/roebe/snippets/first_argument.rb +5 -0
  1542. data/lib/roebe/snippets/obtain_all_descendants.rb +25 -0
  1543. data/lib/roebe/sql_paradise/commands.rb +604 -0
  1544. data/lib/roebe/sql_paradise/create_database.rb +43 -0
  1545. data/lib/roebe/sql_paradise/create_table.rb +47 -0
  1546. data/lib/roebe/sql_paradise/insert_into.rb +77 -0
  1547. data/lib/roebe/sql_paradise/sql_command.rb +22 -0
  1548. data/lib/roebe/sql_paradise/sql_paradise.rb +181 -0
  1549. data/lib/roebe/time/README.md +6 -0
  1550. data/lib/roebe/time/seconds.rb +71 -0
  1551. data/lib/roebe/time/time.rb +117 -0
  1552. data/lib/roebe/toplevel_methods/arrow_keys.rb +37 -0
  1553. data/lib/roebe/toplevel_methods/ascii_paradise.rb +23 -0
  1554. data/lib/roebe/toplevel_methods/autoprune.rb +40 -0
  1555. data/lib/roebe/toplevel_methods/background.rb +90 -0
  1556. data/lib/roebe/toplevel_methods/base64.rb +37 -0
  1557. data/lib/roebe/toplevel_methods/beautify_system.rb +25 -0
  1558. data/lib/roebe/toplevel_methods/blinking_cursor.rb +88 -0
  1559. data/lib/roebe/toplevel_methods/boku_opening_times.rb +30 -0
  1560. data/lib/roebe/toplevel_methods/build_all_my_local_gems.rb +39 -0
  1561. data/lib/roebe/toplevel_methods/bundle_exam_results.rb +48 -0
  1562. data/lib/roebe/toplevel_methods/c_debug.rb +22 -0
  1563. data/lib/roebe/toplevel_methods/calculate_bmi.rb +41 -0
  1564. data/lib/roebe/toplevel_methods/calculate_hypotenuse.rb +26 -0
  1565. data/lib/roebe/toplevel_methods/chained.rb +19 -0
  1566. data/lib/roebe/toplevel_methods/chdir.rb +44 -0
  1567. data/lib/roebe/toplevel_methods/check_whether_an_internet_connection_is_available.rb +38 -0
  1568. data/lib/roebe/toplevel_methods/chroot.rb +170 -0
  1569. data/lib/roebe/toplevel_methods/cliner.rb +69 -0
  1570. data/lib/roebe/toplevel_methods/colourize_files_and_directories.rb +69 -0
  1571. data/lib/roebe/toplevel_methods/colourized_tokenitor.rb +56 -0
  1572. data/lib/roebe/toplevel_methods/convert_global_env.rb +34 -0
  1573. data/lib/roebe/toplevel_methods/copy_setup_rb_file.rb +27 -0
  1574. data/lib/roebe/toplevel_methods/copy_the_linux_kernel.rb +38 -0
  1575. data/lib/roebe/toplevel_methods/cp_to_here.rb +34 -0
  1576. data/lib/roebe/toplevel_methods/crazy_make_mode.rb +70 -0
  1577. data/lib/roebe/toplevel_methods/create_directory.rb +35 -0
  1578. data/lib/roebe/toplevel_methods/create_directory_layout.rb +58 -0
  1579. data/lib/roebe/toplevel_methods/create_this_c_file.rb +36 -0
  1580. data/lib/roebe/toplevel_methods/disable.rb +27 -0
  1581. data/lib/roebe/toplevel_methods/display_array.rb +97 -0
  1582. data/lib/roebe/toplevel_methods/display_mbr.rb +33 -0
  1583. data/lib/roebe/toplevel_methods/does_this_program_exist.rb +57 -0
  1584. data/lib/roebe/toplevel_methods/does_this_terminal_support_unicode.rb +27 -0
  1585. data/lib/roebe/toplevel_methods/downcase_all_entries_in_the_current_directory.rb +43 -0
  1586. data/lib/roebe/toplevel_methods/download_certdata.rb +29 -0
  1587. data/lib/roebe/toplevel_methods/download_emojis.rb +48 -0
  1588. data/lib/roebe/toplevel_methods/e.rb +33 -0
  1589. data/lib/roebe/toplevel_methods/editor.rb +47 -0
  1590. data/lib/roebe/toplevel_methods/enable.rb +27 -0
  1591. data/lib/roebe/toplevel_methods/env.rb +40 -0
  1592. data/lib/roebe/toplevel_methods/esystem.rb +22 -0
  1593. data/lib/roebe/toplevel_methods/extract.rb +53 -0
  1594. data/lib/roebe/toplevel_methods/fibonacci.rb +104 -0
  1595. data/lib/roebe/toplevel_methods/files.rb +350 -0
  1596. data/lib/roebe/toplevel_methods/generate_konsole_css_file.rb +82 -0
  1597. data/lib/roebe/toplevel_methods/grab_colour.rb +31 -0
  1598. data/lib/roebe/toplevel_methods/halloween.rb +104 -0
  1599. data/lib/roebe/toplevel_methods/hello_world.rb +28 -0
  1600. data/lib/roebe/toplevel_methods/heredocs.rb +28 -0
  1601. data/lib/roebe/toplevel_methods/hostname.rb +38 -0
  1602. data/lib/roebe/toplevel_methods/human_readable.rb +41 -0
  1603. data/lib/roebe/toplevel_methods/images.rb +28 -0
  1604. data/lib/roebe/toplevel_methods/important_pdf_files.rb +131 -0
  1605. data/lib/roebe/toplevel_methods/increase_volume.rb +19 -0
  1606. data/lib/roebe/toplevel_methods/install_and_update_rcfiles.rb +26 -0
  1607. data/lib/roebe/toplevel_methods/install_linux_kernel_api_headers.rb +50 -0
  1608. data/lib/roebe/toplevel_methods/install_nss.rb +52 -0
  1609. data/lib/roebe/toplevel_methods/install_roebe_addons.rb +68 -0
  1610. data/lib/roebe/toplevel_methods/install_rust.rb +26 -0
  1611. data/lib/roebe/toplevel_methods/install_the_cascadia_font.rb +59 -0
  1612. data/lib/roebe/toplevel_methods/install_the_hack_font.rb +69 -0
  1613. data/lib/roebe/toplevel_methods/install_the_jet_brains_mono_font.rb +55 -0
  1614. data/lib/roebe/toplevel_methods/install_this_font.rb +80 -0
  1615. data/lib/roebe/toplevel_methods/install_this_locale.rb +30 -0
  1616. data/lib/roebe/toplevel_methods/install_vivaldi.rb +33 -0
  1617. data/lib/roebe/toplevel_methods/instance_variable_get.rb +22 -0
  1618. data/lib/roebe/toplevel_methods/irb.rb +34 -0
  1619. data/lib/roebe/toplevel_methods/is_on_roebe.rb +64 -0
  1620. data/lib/roebe/toplevel_methods/jp2a.rb +49 -0
  1621. data/lib/roebe/toplevel_methods/keywords.rb +30 -0
  1622. data/lib/roebe/toplevel_methods/lighttpd.rb +74 -0
  1623. data/lib/roebe/toplevel_methods/load_custom_ruby_files.rb +41 -0
  1624. data/lib/roebe/toplevel_methods/load_yaml.rb +28 -0
  1625. data/lib/roebe/toplevel_methods/mama.rb +25 -0
  1626. data/lib/roebe/toplevel_methods/master_boot_record.rb +84 -0
  1627. data/lib/roebe/toplevel_methods/math.rb +29 -0
  1628. data/lib/roebe/toplevel_methods/misc.rb +546 -0
  1629. data/lib/roebe/toplevel_methods/module_methods.rb +425 -0
  1630. data/lib/roebe/toplevel_methods/mount_procs.rb +25 -0
  1631. data/lib/roebe/toplevel_methods/move_file.rb +38 -0
  1632. data/lib/roebe/toplevel_methods/move_to_torrent_directory.rb +48 -0
  1633. data/lib/roebe/toplevel_methods/multimedia.rb +117 -0
  1634. data/lib/roebe/toplevel_methods/n_characters_in_this_file.rb +45 -0
  1635. data/lib/roebe/toplevel_methods/nano_addons.rb +36 -0
  1636. data/lib/roebe/toplevel_methods/new_konsole_tab.rb +21 -0
  1637. data/lib/roebe/toplevel_methods/newstud/newstud1.rb +24 -0
  1638. data/lib/roebe/toplevel_methods/newstud/newstud10.rb +24 -0
  1639. data/lib/roebe/toplevel_methods/newstud/newstud11.rb +24 -0
  1640. data/lib/roebe/toplevel_methods/newstud/newstud12.rb +24 -0
  1641. data/lib/roebe/toplevel_methods/newstud/newstud13.rb +24 -0
  1642. data/lib/roebe/toplevel_methods/newstud/newstud14.rb +24 -0
  1643. data/lib/roebe/toplevel_methods/newstud/newstud15.rb +24 -0
  1644. data/lib/roebe/toplevel_methods/newstud/newstud16.rb +24 -0
  1645. data/lib/roebe/toplevel_methods/newstud/newstud17.rb +24 -0
  1646. data/lib/roebe/toplevel_methods/newstud/newstud18.rb +24 -0
  1647. data/lib/roebe/toplevel_methods/newstud/newstud19.rb +24 -0
  1648. data/lib/roebe/toplevel_methods/newstud/newstud2.rb +24 -0
  1649. data/lib/roebe/toplevel_methods/newstud/newstud20.rb +24 -0
  1650. data/lib/roebe/toplevel_methods/newstud/newstud21.rb +24 -0
  1651. data/lib/roebe/toplevel_methods/newstud/newstud22.rb +24 -0
  1652. data/lib/roebe/toplevel_methods/newstud/newstud23.rb +24 -0
  1653. data/lib/roebe/toplevel_methods/newstud/newstud24.rb +24 -0
  1654. data/lib/roebe/toplevel_methods/newstud/newstud25.rb +24 -0
  1655. data/lib/roebe/toplevel_methods/newstud/newstud3.rb +24 -0
  1656. data/lib/roebe/toplevel_methods/newstud/newstud4.rb +24 -0
  1657. data/lib/roebe/toplevel_methods/newstud/newstud5.rb +24 -0
  1658. data/lib/roebe/toplevel_methods/newstud/newstud6.rb +24 -0
  1659. data/lib/roebe/toplevel_methods/newstud/newstud7.rb +24 -0
  1660. data/lib/roebe/toplevel_methods/newstud/newstud8.rb +24 -0
  1661. data/lib/roebe/toplevel_methods/newstud/newstud9.rb +24 -0
  1662. data/lib/roebe/toplevel_methods/newstud.rb +23 -0
  1663. data/lib/roebe/toplevel_methods/no_caps.rb +29 -0
  1664. data/lib/roebe/toplevel_methods/ntrad.rb +36 -0
  1665. data/lib/roebe/toplevel_methods/open_in_browser.rb +42 -0
  1666. data/lib/roebe/toplevel_methods/open_in_editor.rb +29 -0
  1667. data/lib/roebe/toplevel_methods/open_in_editor_and_browser.rb +38 -0
  1668. data/lib/roebe/toplevel_methods/open_ports.rb +59 -0
  1669. data/lib/roebe/toplevel_methods/opnn.rb +31 -0
  1670. data/lib/roebe/toplevel_methods/permanently_set_project_base_directory_to.rb +40 -0
  1671. data/lib/roebe/toplevel_methods/platform.rb +46 -0
  1672. data/lib/roebe/toplevel_methods/pp_output.rb +31 -0
  1673. data/lib/roebe/toplevel_methods/prime_numbers.rb +22 -0
  1674. data/lib/roebe/toplevel_methods/programs_directory.rb +29 -0
  1675. data/lib/roebe/toplevel_methods/purgeboth.rb +51 -0
  1676. data/lib/roebe/toplevel_methods/puts_this.rb +29 -0
  1677. data/lib/roebe/toplevel_methods/rds.rb +33 -0
  1678. data/lib/roebe/toplevel_methods/regex.rb +87 -0
  1679. data/lib/roebe/toplevel_methods/register_sigint.rb +67 -0
  1680. data/lib/roebe/toplevel_methods/remove_user.rb +29 -0
  1681. data/lib/roebe/toplevel_methods/repetition_pattern.rb +38 -0
  1682. data/lib/roebe/toplevel_methods/replace_leading_file_name.rb +35 -0
  1683. data/lib/roebe/toplevel_methods/replace_localhost_with_data.rb +39 -0
  1684. data/lib/roebe/toplevel_methods/report_classes.rb +51 -0
  1685. data/lib/roebe/toplevel_methods/report_the_gtk_versions_available.rb +37 -0
  1686. data/lib/roebe/toplevel_methods/report_the_location_of_the_default_browser.rb +40 -0
  1687. data/lib/roebe/toplevel_methods/require_this_roebe_class.rb +23 -0
  1688. data/lib/roebe/toplevel_methods/return_all_remote_entries_from_this_url.rb +38 -0
  1689. data/lib/roebe/toplevel_methods/return_date.rb +23 -0
  1690. data/lib/roebe/toplevel_methods/return_even_numbered_lines_from_this_file.rb +37 -0
  1691. data/lib/roebe/toplevel_methods/return_pwd.rb +16 -0
  1692. data/lib/roebe/toplevel_methods/rinstall2.rb +115 -0
  1693. data/lib/roebe/toplevel_methods/rubyzip.rb +85 -0
  1694. data/lib/roebe/toplevel_methods/run_this_file_in_the_background.rb +26 -0
  1695. data/lib/roebe/toplevel_methods/sanitize_url.rb +74 -0
  1696. data/lib/roebe/toplevel_methods/set_ten_aliases.rb +25 -0
  1697. data/lib/roebe/toplevel_methods/setup.rb +37 -0
  1698. data/lib/roebe/toplevel_methods/show_beauty_string.rb +27 -0
  1699. data/lib/roebe/toplevel_methods/show_processes.rb +31 -0
  1700. data/lib/roebe/toplevel_methods/silent_redirection.rb +17 -0
  1701. data/lib/roebe/toplevel_methods/sitelibdir.rb +24 -0
  1702. data/lib/roebe/toplevel_methods/studium1.rb +30 -0
  1703. data/lib/roebe/toplevel_methods/time.rb +173 -0
  1704. data/lib/roebe/toplevel_methods/to_bool.rb +31 -0
  1705. data/lib/roebe/toplevel_methods/to_camelcase.rb +19 -0
  1706. data/lib/roebe/toplevel_methods/to_mp3.rb +40 -0
  1707. data/lib/roebe/toplevel_methods/to_underscore.rb +36 -0
  1708. data/lib/roebe/toplevel_methods/tokenitor.rb +29 -0
  1709. data/lib/roebe/toplevel_methods/trad.rb +37 -0
  1710. data/lib/roebe/toplevel_methods/try_to_enable_the_expanded_cd_aliases.rb +33 -0
  1711. data/lib/roebe/toplevel_methods/unicode/README.md +1 -0
  1712. data/lib/roebe/toplevel_methods/unicode/colourful_unicode_snowmen.rb +151 -0
  1713. data/lib/roebe/toplevel_methods/unicode/completed.rb +57 -0
  1714. data/lib/roebe/toplevel_methods/unicode/decompose_this_unicode_symbol.rb +26 -0
  1715. data/lib/roebe/toplevel_methods/unicode/display_unicode_snowman.rb +31 -0
  1716. data/lib/roebe/toplevel_methods/unicode/download_unicode_dataset.rb +31 -0
  1717. data/lib/roebe/toplevel_methods/unicode/map_input_to_unicode_symbol.rb +249 -0
  1718. data/lib/roebe/toplevel_methods/unicode/popular_unicode_symbols.rb +1090 -0
  1719. data/lib/roebe/toplevel_methods/unicode/return_all_unicode_symbols.rb +26 -0
  1720. data/lib/roebe/toplevel_methods/unicode/unicode_block_elements.rb +255 -0
  1721. data/lib/roebe/toplevel_methods/unicode/unicode_chess_symbols.rb +162 -0
  1722. data/lib/roebe/toplevel_methods/update_pciids.rb +71 -0
  1723. data/lib/roebe/toplevel_methods/update_the_main_pdf_viewer_file_with_this_program.rb +55 -0
  1724. data/lib/roebe/toplevel_methods/variables.rb +26 -0
  1725. data/lib/roebe/toplevel_methods/verbose_truth.rb +23 -0
  1726. data/lib/roebe/toplevel_methods/video.rb +40 -0
  1727. data/lib/roebe/toplevel_methods/warning.rb +173 -0
  1728. data/lib/roebe/toplevel_methods/webrick.rb +80 -0
  1729. data/lib/roebe/toplevel_methods/wget.rb +17 -0
  1730. data/lib/roebe/toplevel_methods/whois.rb +36 -0
  1731. data/lib/roebe/toplevel_methods/windows.rb +22 -0
  1732. data/lib/roebe/toplevel_methods/wlan/bring_up_this_wlan_device.rb +51 -0
  1733. data/lib/roebe/toplevel_methods/wlan/scan_for_wlan_spots.rb +39 -0
  1734. data/lib/roebe/toplevel_methods/word_frequencies.rb +65 -0
  1735. data/lib/roebe/toplevel_methods/write_what_into.rb +86 -0
  1736. data/lib/roebe/toplevel_methods/xorg_buffer.rb +30 -0
  1737. data/lib/roebe/toplevel_methods/zlib.rb +57 -0
  1738. data/lib/roebe/urxvt/config +7 -0
  1739. data/lib/roebe/validation/README.md +3 -0
  1740. data/lib/roebe/validation/validate_roeberia_environment_variables.rb +128 -0
  1741. data/lib/roebe/version/version.rb +54 -0
  1742. data/lib/roebe/windows/bat/README.md +1 -0
  1743. data/lib/roebe/windows/bat/compile_gtk_application_hello_world_example.bat +1 -0
  1744. data/lib/roebe/windows/bat/screenCapture.bat +282 -0
  1745. data/lib/roebe/windows/doskey.md +50452 -0
  1746. data/lib/roebe/windows/misc.rb +40 -0
  1747. data/lib/roebe/windows/popup_windows_message_box.rb +21 -0
  1748. data/lib/roebe/windows/powershell.rb +341 -0
  1749. data/lib/roebe/windows/usb_devices.rb +38 -0
  1750. data/lib/roebe/www/BIOS/BIOS.cgi +78 -0
  1751. data/lib/roebe/www/GIS/GIS.md +3 -0
  1752. data/lib/roebe/www/GhostBSD/GhostBSD.cgi +7 -0
  1753. data/lib/roebe/www/GhostBSD/GhostBSD.rb +39 -0
  1754. data/lib/roebe/www/GhostBSD/GhostBSD.sinatra +56 -0
  1755. data/lib/roebe/www/IntelliJ_IDEA/tutorial.cgi +82 -0
  1756. data/lib/roebe/www/LATEX/LATEX.md +29 -0
  1757. data/lib/roebe/www/LEDS/LEDS.cgi +7 -0
  1758. data/lib/roebe/www/LEDS/LEDS.rb +201 -0
  1759. data/lib/roebe/www/LEDS/LEDS.sinatra +58 -0
  1760. data/lib/roebe/www/OLEDS/OLEDS.md +44 -0
  1761. data/lib/roebe/www/RAM/RAM.cgi +7 -0
  1762. data/lib/roebe/www/RAM/RAM.rb +254 -0
  1763. data/lib/roebe/www/RAM/RAM.sinatra +56 -0
  1764. data/lib/roebe/www/REST/REST.md +12 -0
  1765. data/lib/roebe/www/RNA/RNA.cgi +194 -0
  1766. data/lib/roebe/www/SDL/SDL.cgi +7 -0
  1767. data/lib/roebe/www/SDL/SDL.rb +710 -0
  1768. data/lib/roebe/www/SDL/SDL.sinatra +56 -0
  1769. data/lib/roebe/www/X3D/X3D.cgi +7 -0
  1770. data/lib/roebe/www/X3D/X3D.rb +46 -0
  1771. data/lib/roebe/www/X3D/X3D.sinatra +56 -0
  1772. data/lib/roebe/www/abwasch/abwasch.cgi +7 -0
  1773. data/lib/roebe/www/abwasch/abwasch.rb +86 -0
  1774. data/lib/roebe/www/abwasch/abwasch.sinatra +52 -0
  1775. data/lib/roebe/www/aging/aging.cgi +7 -0
  1776. data/lib/roebe/www/aging/aging.rb +1277 -0
  1777. data/lib/roebe/www/aging/aging.sinatra +56 -0
  1778. data/lib/roebe/www/aids/aids.cgi +7 -0
  1779. data/lib/roebe/www/aids/aids.rb +240 -0
  1780. data/lib/roebe/www/aids/aids.sinatra +56 -0
  1781. data/lib/roebe/www/ajax/ajax.cgi +7 -0
  1782. data/lib/roebe/www/ajax/ajax.rb +88 -0
  1783. data/lib/roebe/www/ajax/ajax.sinatra +56 -0
  1784. data/lib/roebe/www/algorithms/algorithms.cgi +7 -0
  1785. data/lib/roebe/www/algorithms/algorithms.rb +68 -0
  1786. data/lib/roebe/www/algorithms/algorithms.sinatra +56 -0
  1787. data/lib/roebe/www/allegro/allegro.cgi +7 -0
  1788. data/lib/roebe/www/allegro/allegro.rb +396 -0
  1789. data/lib/roebe/www/allegro/allegro.sinatra +56 -0
  1790. data/lib/roebe/www/amino_acids/amino_acids.cgi +7 -0
  1791. data/lib/roebe/www/amino_acids/amino_acids.rb +34 -0
  1792. data/lib/roebe/www/amino_acids/amino_acids.sinatra +56 -0
  1793. data/lib/roebe/www/amusing_bits/fussball_zitate.cgi +7 -0
  1794. data/lib/roebe/www/amusing_bits/fussball_zitate.rb +182 -0
  1795. data/lib/roebe/www/amusing_bits/fussball_zitate.sinatra +56 -0
  1796. data/lib/roebe/www/amusing_bits/george_bush/george_bush.cgi +7 -0
  1797. data/lib/roebe/www/amusing_bits/george_bush/george_bush.rb +189 -0
  1798. data/lib/roebe/www/amusing_bits/george_bush/george_bush.sinatra +56 -0
  1799. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.cgi +7 -0
  1800. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.rb +138 -0
  1801. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.sinatra +56 -0
  1802. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.cgi +9 -0
  1803. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.rb +209 -0
  1804. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.sinatra +56 -0
  1805. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.cgi +7 -0
  1806. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.rb +74 -0
  1807. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.sinatra +56 -0
  1808. data/lib/roebe/www/anthropology/anthropology.cgi +7 -0
  1809. data/lib/roebe/www/anthropology/anthropology.rb +26 -0
  1810. data/lib/roebe/www/anthropology/anthropology.sinatra +56 -0
  1811. data/lib/roebe/www/antibiotics/antibiotics.cgi +68 -0
  1812. data/lib/roebe/www/antibodies/antibodies.cgi +7 -0
  1813. data/lib/roebe/www/antibodies/antibodies.rb +103 -0
  1814. data/lib/roebe/www/antibodies/antibodies.sinatra +56 -0
  1815. data/lib/roebe/www/ants/ants.cgi +7 -0
  1816. data/lib/roebe/www/ants/ants.rb +145 -0
  1817. data/lib/roebe/www/ants/ants.sinatra +56 -0
  1818. data/lib/roebe/www/ants/news.md +90 -0
  1819. data/lib/roebe/www/apache/apache.cgi +7 -0
  1820. data/lib/roebe/www/apache/apache.rb +1164 -0
  1821. data/lib/roebe/www/apache/apache.sinatra +56 -0
  1822. data/lib/roebe/www/apache/configuration/add_handler.conf +26 -0
  1823. data/lib/roebe/www/apache/configuration/add_type.conf +29 -0
  1824. data/lib/roebe/www/apache/configuration/autogenerated_rewrite_rules.conf +66 -0
  1825. data/lib/roebe/www/apache/configuration/document_root.conf +32 -0
  1826. data/lib/roebe/www/apache/configuration/email.conf +8 -0
  1827. data/lib/roebe/www/apache/configuration/error_log.conf +36 -0
  1828. data/lib/roebe/www/apache/configuration/load_modules.conf +48 -0
  1829. data/lib/roebe/www/apache/configuration/mime_module.conf +11 -0
  1830. data/lib/roebe/www/apache/configuration/php.conf +22 -0
  1831. data/lib/roebe/www/apache/configuration/proxy_html_module.conf +6 -0
  1832. data/lib/roebe/www/apache/configuration/rewrite_rules.conf +137 -0
  1833. data/lib/roebe/www/apache/configuration/ruby.conf +13 -0
  1834. data/lib/roebe/www/apache/configuration/server_name.conf +10 -0
  1835. data/lib/roebe/www/apache/configuration/server_root.conf +6 -0
  1836. data/lib/roebe/www/apache/configuration/unixd_module.conf +22 -0
  1837. data/lib/roebe/www/apple/apple.cgi +7 -0
  1838. data/lib/roebe/www/apple/apple.rb +238 -0
  1839. data/lib/roebe/www/apple/apple.sinatra +56 -0
  1840. data/lib/roebe/www/archaea/archaea.cgi +7 -0
  1841. data/lib/roebe/www/archaea/archaea.rb +453 -0
  1842. data/lib/roebe/www/archaea/archaea.sinatra +56 -0
  1843. data/lib/roebe/www/arduino/arduino.cgi +7 -0
  1844. data/lib/roebe/www/arduino/arduino.rb +264 -0
  1845. data/lib/roebe/www/arduino/arduino.sinatra +56 -0
  1846. data/lib/roebe/www/arduino/sketches/0001_blink.sketch +30 -0
  1847. data/lib/roebe/www/ariolante_und_das_k/303/244tzchen/ariolante_und_das_k/303/244tzchen.cgi +7 -0
  1848. data/lib/roebe/www/ariolante_und_das_k/303/244tzchen/ariolante_und_das_k/303/244tzchen.rb +229 -0
  1849. data/lib/roebe/www/ariolante_und_das_k/303/244tzchen/ariolante_und_das_k/303/244tzchen.sinatra +61 -0
  1850. data/lib/roebe/www/armaturen/armaturen.cgi +7 -0
  1851. data/lib/roebe/www/armaturen/armaturen.rb +93 -0
  1852. data/lib/roebe/www/armaturen/armaturen.sinatra +56 -0
  1853. data/lib/roebe/www/art/art.cgi +7 -0
  1854. data/lib/roebe/www/art/art.rb +276 -0
  1855. data/lib/roebe/www/art/art.sinatra +52 -0
  1856. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.cgi +7 -0
  1857. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.rb +515 -0
  1858. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.sinatra +56 -0
  1859. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.cgi +7 -0
  1860. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.rb +320 -0
  1861. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.sinatra +56 -0
  1862. data/lib/roebe/www/bacteria/bacteria.cgi +7 -0
  1863. data/lib/roebe/www/bacteria/bacteria.rb +41 -0
  1864. data/lib/roebe/www/bacteria/bacteria.sinatra +56 -0
  1865. data/lib/roebe/www/batterien/batterien.cgi +9 -0
  1866. data/lib/roebe/www/batterien/batterien.rb +162 -0
  1867. data/lib/roebe/www/batterien/batterien.sinatra +56 -0
  1868. data/lib/roebe/www/beamte/beamte.cgi +7 -0
  1869. data/lib/roebe/www/beamte/beamte.rb +19 -0
  1870. data/lib/roebe/www/beamte/beamte.sinatra +56 -0
  1871. data/lib/roebe/www/beauty/beauty.cgi +9 -0
  1872. data/lib/roebe/www/beauty/beauty.rb +130 -0
  1873. data/lib/roebe/www/beauty/beauty.sinatra +56 -0
  1874. data/lib/roebe/www/biobricks/biobricks.cgi +7 -0
  1875. data/lib/roebe/www/biobricks/biobricks.rb +19 -0
  1876. data/lib/roebe/www/biobricks/biobricks.sinatra +56 -0
  1877. data/lib/roebe/www/biochemistry/biochemistry.cgi +7 -0
  1878. data/lib/roebe/www/biochemistry/biochemistry.rb +367 -0
  1879. data/lib/roebe/www/biochemistry/biochemistry.sinatra +56 -0
  1880. data/lib/roebe/www/bioinformatics/bioinformatics.cgi +11 -0
  1881. data/lib/roebe/www/bioinformatics/bioinformatics.rb +406 -0
  1882. data/lib/roebe/www/bioinformatics/bioinformatics.sinatra +56 -0
  1883. data/lib/roebe/www/biology/biology.md +29 -0
  1884. data/lib/roebe/www/biomarkers/biomarkers.cgi +130 -0
  1885. data/lib/roebe/www/biomaterials/biomaterials.cgi +7 -0
  1886. data/lib/roebe/www/biomaterials/biomaterials.rb +337 -0
  1887. data/lib/roebe/www/biomaterials/biomaterials.sinatra +56 -0
  1888. data/lib/roebe/www/biotechnology/biotechnology.cgi +7 -0
  1889. data/lib/roebe/www/biotechnology/biotechnology.rb +201 -0
  1890. data/lib/roebe/www/biotechnology/biotechnology.sinatra +56 -0
  1891. data/lib/roebe/www/blender3d/blender3d.cgi +7 -0
  1892. data/lib/roebe/www/blender3d/blender3d.rb +265 -0
  1893. data/lib/roebe/www/blender3d/blender3d.sinatra +56 -0
  1894. data/lib/roebe/www/blog/blog.cgi +9 -0
  1895. data/lib/roebe/www/blog/blog.rb +258 -0
  1896. data/lib/roebe/www/blog/blog.sinatra +56 -0
  1897. data/lib/roebe/www/bluefish/README.md +5 -0
  1898. data/lib/roebe/www/bluefish/STD.bfproject +62 -0
  1899. data/lib/roebe/www/bluefish/STD.bfproject~ +62 -0
  1900. data/lib/roebe/www/bluefish/TODO.md +6 -0
  1901. data/lib/roebe/www/bsd/bsd.cgi +7 -0
  1902. data/lib/roebe/www/bsd/bsd.rb +90 -0
  1903. data/lib/roebe/www/bsd/bsd.sinatra +56 -0
  1904. data/lib/roebe/www/calculator/calculator.cgi +7 -0
  1905. data/lib/roebe/www/calculator/calculator.rb +15 -0
  1906. data/lib/roebe/www/calculator/calculator.sinatra +56 -0
  1907. data/lib/roebe/www/cameras/cameras.cgi +9 -0
  1908. data/lib/roebe/www/cameras/cameras.rb +339 -0
  1909. data/lib/roebe/www/cameras/cameras.sinatra +56 -0
  1910. data/lib/roebe/www/cancer/cancer.cgi +7 -0
  1911. data/lib/roebe/www/cancer/cancer.rb +221 -0
  1912. data/lib/roebe/www/cancer/cancer.sinatra +56 -0
  1913. data/lib/roebe/www/cats/cats.cgi +7 -0
  1914. data/lib/roebe/www/cats/cats.rb +309 -0
  1915. data/lib/roebe/www/cats/cats.sinatra +56 -0
  1916. data/lib/roebe/www/cell_cultures/cell_cultures.cgi +322 -0
  1917. data/lib/roebe/www/cellbiology/cellbiology.cgi +7 -0
  1918. data/lib/roebe/www/cellbiology/cellbiology.rb +672 -0
  1919. data/lib/roebe/www/cellbiology/cellbiology.sinatra +56 -0
  1920. data/lib/roebe/www/cellulose/cellulose.cgi +7 -0
  1921. data/lib/roebe/www/cellulose/cellulose.rb +28 -0
  1922. data/lib/roebe/www/cellulose/cellulose.sinatra +56 -0
  1923. data/lib/roebe/www/chromium/chromium.cgi +7 -0
  1924. data/lib/roebe/www/chromium/chromium.rb +182 -0
  1925. data/lib/roebe/www/chromium/chromium.sinatra +56 -0
  1926. data/lib/roebe/www/cmake/CMakeTemplate.txt +48 -0
  1927. data/lib/roebe/www/cmake/cmake.cgi +7 -0
  1928. data/lib/roebe/www/cmake/cmake.rb +146 -0
  1929. data/lib/roebe/www/cmake/cmake.sinatra +52 -0
  1930. data/lib/roebe/www/codepages/codepages.cgi +9 -0
  1931. data/lib/roebe/www/codepages/codepages.rb +17 -0
  1932. data/lib/roebe/www/codepages/codepages.sinatra +56 -0
  1933. data/lib/roebe/www/compact_disc/compact_disc.cgi +7 -0
  1934. data/lib/roebe/www/compact_disc/compact_disc.rb +124 -0
  1935. data/lib/roebe/www/compact_disc/compact_disc.sinatra +56 -0
  1936. data/lib/roebe/www/compiling/compiling.cgi +9 -0
  1937. data/lib/roebe/www/compiling/compiling.rb +2578 -0
  1938. data/lib/roebe/www/compiling/compiling.sinatra +52 -0
  1939. data/lib/roebe/www/conference_talks/conference_talks.md +11 -0
  1940. data/lib/roebe/www/conky/conky.cgi +7 -0
  1941. data/lib/roebe/www/conky/conky.rb +132 -0
  1942. data/lib/roebe/www/conky/conky.sinatra +56 -0
  1943. data/lib/roebe/www/conky/my_conkyrc_04.02.2020 +83 -0
  1944. data/lib/roebe/www/consumers/consumers.cgi +7 -0
  1945. data/lib/roebe/www/consumers/consumers.rb +23 -0
  1946. data/lib/roebe/www/consumers/consumers.sinatra +56 -0
  1947. data/lib/roebe/www/covid19/covid19.cgi +10 -0
  1948. data/lib/roebe/www/covid19/covid19.rb +2019 -0
  1949. data/lib/roebe/www/covid19/covid19.sinatra +56 -0
  1950. data/lib/roebe/www/creativity/creativity.cgi +9 -0
  1951. data/lib/roebe/www/creativity/creativity.rb +40 -0
  1952. data/lib/roebe/www/creativity/creativity.sinatra +56 -0
  1953. data/lib/roebe/www/crispr/crispr.cgi +7 -0
  1954. data/lib/roebe/www/crispr/crispr.rb +279 -0
  1955. data/lib/roebe/www/crispr/crispr.sinatra +56 -0
  1956. data/lib/roebe/www/cron/cron.cgi +7 -0
  1957. data/lib/roebe/www/cron/cron.rb +99 -0
  1958. data/lib/roebe/www/cron/cron.sinatra +56 -0
  1959. data/lib/roebe/www/cyanobacteria/cyanobacteria.cgi +7 -0
  1960. data/lib/roebe/www/cyanobacteria/cyanobacteria.rb +54 -0
  1961. data/lib/roebe/www/cyanobacteria/cyanobacteria.sinatra +56 -0
  1962. data/lib/roebe/www/cytogenetics/cytogenetics.cgi +7 -0
  1963. data/lib/roebe/www/cytogenetics/cytogenetics.rb +41 -0
  1964. data/lib/roebe/www/cytogenetics/cytogenetics.sinatra +56 -0
  1965. data/lib/roebe/www/databases/postgresql/postgresql.cgi +7 -0
  1966. data/lib/roebe/www/databases/postgresql/postgresql.rb +321 -0
  1967. data/lib/roebe/www/databases/postgresql/postgresql.sinatra +56 -0
  1968. data/lib/roebe/www/databases/postgresql/psqlrc +22 -0
  1969. data/lib/roebe/www/databases/sqlite/sqlite.cgi +7 -0
  1970. data/lib/roebe/www/databases/sqlite/sqlite.rb +625 -0
  1971. data/lib/roebe/www/databases/sqlite/sqlite.sinatra +56 -0
  1972. data/lib/roebe/www/designing/SLOGANS.md +3 -0
  1973. data/lib/roebe/www/designing_and_art/designing_and_art.cgi +9 -0
  1974. data/lib/roebe/www/designing_and_art/designing_and_art.rb +752 -0
  1975. data/lib/roebe/www/designing_and_art/designing_and_art.sinatra +56 -0
  1976. data/lib/roebe/www/designing_on_linux/designing_on_linux.cgi +7 -0
  1977. data/lib/roebe/www/designing_on_linux/designing_on_linux.rb +66 -0
  1978. data/lib/roebe/www/designing_on_linux/designing_on_linux.sinatra +56 -0
  1979. data/lib/roebe/www/developmental_biology/developmental_biology.cgi +7 -0
  1980. data/lib/roebe/www/developmental_biology/developmental_biology.rb +133 -0
  1981. data/lib/roebe/www/developmental_biology/developmental_biology.sinatra +56 -0
  1982. data/lib/roebe/www/die_erde/die_erde.cgi +7 -0
  1983. data/lib/roebe/www/die_erde/die_erde.rb +43 -0
  1984. data/lib/roebe/www/die_erde/die_erde.sinatra +56 -0
  1985. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.cgi +7 -0
  1986. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.rb +477 -0
  1987. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.sinatra +61 -0
  1988. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.cgi +7 -0
  1989. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.rb +302 -0
  1990. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.sinatra +61 -0
  1991. data/lib/roebe/www/direct_democracy/direct_democracy.cgi +7 -0
  1992. data/lib/roebe/www/direct_democracy/direct_democracy.rb +45 -0
  1993. data/lib/roebe/www/direct_democracy/direct_democracy.sinatra +56 -0
  1994. data/lib/roebe/www/distcc/distcc.cgi +7 -0
  1995. data/lib/roebe/www/distcc/distcc.rb +78 -0
  1996. data/lib/roebe/www/distcc/distcc.sinatra +56 -0
  1997. data/lib/roebe/www/dna_replication/DNA_replication.cgi +32 -0
  1998. data/lib/roebe/www/documentation/README.md +3 -0
  1999. data/lib/roebe/www/documentation/documentation.rb +98 -0
  2000. data/lib/roebe/www/dolphin/add_to_vlc_playlist.desktop +12 -0
  2001. data/lib/roebe/www/dosbox/autogenerated_dosbox.conf +776 -0
  2002. data/lib/roebe/www/dosbox/dosbox.cgi +7 -0
  2003. data/lib/roebe/www/dosbox/dosbox.rb +238 -0
  2004. data/lib/roebe/www/dosbox/dosbox.sinatra +52 -0
  2005. data/lib/roebe/www/drucker/drucker.cgi +7 -0
  2006. data/lib/roebe/www/drucker/drucker.rb +258 -0
  2007. data/lib/roebe/www/drucker/drucker.sinatra +56 -0
  2008. data/lib/roebe/www/economy/economy.cgi +7 -0
  2009. data/lib/roebe/www/economy/economy.rb +16 -0
  2010. data/lib/roebe/www/economy/economy.sinatra +56 -0
  2011. data/lib/roebe/www/economy/mieten_und_wohnen.cgi +7 -0
  2012. data/lib/roebe/www/economy/mieten_und_wohnen.rb +37 -0
  2013. data/lib/roebe/www/economy/mieten_und_wohnen.sinatra +56 -0
  2014. data/lib/roebe/www/emacs/emacs.cgi +7 -0
  2015. data/lib/roebe/www/emacs/emacs.rb +71 -0
  2016. data/lib/roebe/www/emacs/emacs.sinatra +56 -0
  2017. data/lib/roebe/www/embeddable_interface.rb +50 -0
  2018. data/lib/roebe/www/encodings/encodings.cgi +7 -0
  2019. data/lib/roebe/www/encodings/encodings.rb +80 -0
  2020. data/lib/roebe/www/encodings/encodings.sinatra +56 -0
  2021. data/lib/roebe/www/english/english.cgi +7 -0
  2022. data/lib/roebe/www/english/english.rb +63 -0
  2023. data/lib/roebe/www/english/english.sinatra +52 -0
  2024. data/lib/roebe/www/enzymes/content.md +1 -0
  2025. data/lib/roebe/www/epigenetics/epigenetics.cgi +53 -0
  2026. data/lib/roebe/www/erben/erben.cgi +7 -0
  2027. data/lib/roebe/www/erben/erben.rb +45 -0
  2028. data/lib/roebe/www/erben/erben.sinatra +56 -0
  2029. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.cgi +7 -0
  2030. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.rb +253 -0
  2031. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.sinatra +56 -0
  2032. data/lib/roebe/www/ethik/ethik.md +4 -0
  2033. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.cgi +9 -0
  2034. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.rb +295 -0
  2035. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.sinatra +56 -0
  2036. data/lib/roebe/www/evolution/evolution.cgi +7 -0
  2037. data/lib/roebe/www/evolution/evolution.rb +285 -0
  2038. data/lib/roebe/www/evolution/evolution.sinatra +52 -0
  2039. data/lib/roebe/www/excel/excel.cgi +7 -0
  2040. data/lib/roebe/www/excel/excel.rb +23 -0
  2041. data/lib/roebe/www/excel/excel.sinatra +56 -0
  2042. data/lib/roebe/www/festplatten/festplatten.cgi +7 -0
  2043. data/lib/roebe/www/festplatten/festplatten.rb +839 -0
  2044. data/lib/roebe/www/festplatten/festplatten.sinatra +56 -0
  2045. data/lib/roebe/www/fire/fire.cgi +9 -0
  2046. data/lib/roebe/www/fire/fire.rb +802 -0
  2047. data/lib/roebe/www/fire/fire.sinatra +56 -0
  2048. data/lib/roebe/www/firefox/firefox.cgi +11 -0
  2049. data/lib/roebe/www/firefox/firefox.rb +1317 -0
  2050. data/lib/roebe/www/firefox/firefox.sinatra +56 -0
  2051. data/lib/roebe/www/firefox/mozconfig +93 -0
  2052. data/lib/roebe/www/food/food.cgi +7 -0
  2053. data/lib/roebe/www/food/food.rb +337 -0
  2054. data/lib/roebe/www/food/food.sinatra +56 -0
  2055. data/lib/roebe/www/fox/fox.cgi +7 -0
  2056. data/lib/roebe/www/fox/fox.rb +890 -0
  2057. data/lib/roebe/www/fox/fox.sinatra +56 -0
  2058. data/lib/roebe/www/ftp/ftp.cgi +7 -0
  2059. data/lib/roebe/www/ftp/ftp.rb +134 -0
  2060. data/lib/roebe/www/ftp/ftp.sinatra +56 -0
  2061. data/lib/roebe/www/funk/funk.cgi +7 -0
  2062. data/lib/roebe/www/funk/funk.rb +385 -0
  2063. data/lib/roebe/www/funk/funk.sinatra +56 -0
  2064. data/lib/roebe/www/gedichte/gedichte.cgi +7 -0
  2065. data/lib/roebe/www/gedichte/gedichte.rb +13 -0
  2066. data/lib/roebe/www/gedichte/gedichte.sinatra +56 -0
  2067. data/lib/roebe/www/gene_expression/SLOGANS.md +28 -0
  2068. data/lib/roebe/www/gene_expression/gene_expression.cgi +7 -0
  2069. data/lib/roebe/www/gene_expression/gene_expression.rb +98 -0
  2070. data/lib/roebe/www/gene_therapy/06.08.2008_Human_gene_therapy_for_RPE65_isomerase_deficiency.md +29 -0
  2071. data/lib/roebe/www/gene_therapy/28.11.2008_Gentherapie_am_Auge_erfolgreich.md +41 -0
  2072. data/lib/roebe/www/gene_therapy/31.01.2000_Earlier_Gene_Test_Deaths_Not_Reported.md +62 -0
  2073. data/lib/roebe/www/gene_therapy/SLOGANS.md +23 -0
  2074. data/lib/roebe/www/genetic_diseases/genetic_diseases.cgi +60 -0
  2075. data/lib/roebe/www/genetics/genetics.cgi +7 -0
  2076. data/lib/roebe/www/genetics/genetics.rb +1262 -0
  2077. data/lib/roebe/www/genetics/genetics.sinatra +52 -0
  2078. data/lib/roebe/www/genomics/genomics.cgi +7 -0
  2079. data/lib/roebe/www/genomics/genomics.rb +159 -0
  2080. data/lib/roebe/www/genomics/genomics.sinatra +56 -0
  2081. data/lib/roebe/www/geometrie/geometrie.cgi +7 -0
  2082. data/lib/roebe/www/geometrie/geometrie.rb +372 -0
  2083. data/lib/roebe/www/geometrie/geometrie.sinatra +56 -0
  2084. data/lib/roebe/www/gesundheit/diabetes/diabetes.cgi +7 -0
  2085. data/lib/roebe/www/gesundheit/diabetes/diabetes.rb +71 -0
  2086. data/lib/roebe/www/gesundheit/diabetes/diabetes.sinatra +56 -0
  2087. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.cgi +7 -0
  2088. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.rb +47 -0
  2089. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.sinatra +56 -0
  2090. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.cgi +7 -0
  2091. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.rb +113 -0
  2092. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.sinatra +56 -0
  2093. data/lib/roebe/www/gimp/gimp.cgi +7 -0
  2094. data/lib/roebe/www/gimp/gimp.rb +1488 -0
  2095. data/lib/roebe/www/gimp/gimp.sinatra +56 -0
  2096. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.cgi +7 -0
  2097. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.rb +901 -0
  2098. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.sinatra +61 -0
  2099. data/lib/roebe/www/git/git.cgi +7 -0
  2100. data/lib/roebe/www/git/git.rb +264 -0
  2101. data/lib/roebe/www/git/git.sinatra +52 -0
  2102. data/lib/roebe/www/git/gitconfig +7 -0
  2103. data/lib/roebe/www/gnuplot/force.dat +16 -0
  2104. data/lib/roebe/www/gnuplot/gnuplot.cgi +7 -0
  2105. data/lib/roebe/www/gnuplot/gnuplot.rb +431 -0
  2106. data/lib/roebe/www/gnuplot/gnuplot.sinatra +56 -0
  2107. data/lib/roebe/www/gnuplot/number_of_eukaryotic_genes.dat +25 -0
  2108. data/lib/roebe/www/google/google.cgi +7 -0
  2109. data/lib/roebe/www/google/google.rb +34 -0
  2110. data/lib/roebe/www/google/google.sinatra +56 -0
  2111. data/lib/roebe/www/graphviz/graphviz.cgi +7 -0
  2112. data/lib/roebe/www/graphviz/graphviz.rb +196 -0
  2113. data/lib/roebe/www/graphviz/graphviz.sinatra +56 -0
  2114. data/lib/roebe/www/grub/README.md +1 -0
  2115. data/lib/roebe/www/grub/grub.cgi +7 -0
  2116. data/lib/roebe/www/grub/grub.rb +574 -0
  2117. data/lib/roebe/www/grub/grub.sinatra +56 -0
  2118. data/lib/roebe/www/grub/std_menu.lst +88 -0
  2119. data/lib/roebe/www/haiku/haiku.cgi +9 -0
  2120. data/lib/roebe/www/haiku/haiku.rb +73 -0
  2121. data/lib/roebe/www/haiku/haiku.sinatra +56 -0
  2122. data/lib/roebe/www/hardware/computersysteme/computersysteme.cgi +7 -0
  2123. data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +468 -0
  2124. data/lib/roebe/www/hardware/computersysteme/computersysteme.sinatra +56 -0
  2125. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.cgi +7 -0
  2126. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.rb +62 -0
  2127. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.sinatra +56 -0
  2128. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.cgi +7 -0
  2129. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.rb +386 -0
  2130. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.sinatra +56 -0
  2131. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.cgi +7 -0
  2132. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.rb +99 -0
  2133. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.sinatra +56 -0
  2134. data/lib/roebe/www/hardware_assembly/hardware_assembly.cgi +10 -0
  2135. data/lib/roebe/www/hardware_assembly/hardware_assembly.rb +265 -0
  2136. data/lib/roebe/www/hardware_assembly/hardware_assembly.sinatra +56 -0
  2137. data/lib/roebe/www/heart/heart.cgi +7 -0
  2138. data/lib/roebe/www/heart/heart.rb +53 -0
  2139. data/lib/roebe/www/heart/heart.sinatra +56 -0
  2140. data/lib/roebe/www/history/KNOWLEDGE_BITS.md +2 -0
  2141. data/lib/roebe/www/history/yaml/scientific_history.yml +1 -0
  2142. data/lib/roebe/www/hiveos/hiveos.cgi +9 -0
  2143. data/lib/roebe/www/hiveos/hiveos.rb +836 -0
  2144. data/lib/roebe/www/hiveos/hiveos.sinatra +56 -0
  2145. data/lib/roebe/www/hormone/hormone.cgi +44 -0
  2146. data/lib/roebe/www/htop/htop.md +1 -0
  2147. data/lib/roebe/www/humans_are_funny/humans_are_funny.cgi +7 -0
  2148. data/lib/roebe/www/humans_are_funny/humans_are_funny.rb +23 -0
  2149. data/lib/roebe/www/humans_are_funny/humans_are_funny.sinatra +52 -0
  2150. data/lib/roebe/www/h/303/244user/h/303/244user.cgi +7 -0
  2151. data/lib/roebe/www/h/303/244user/h/303/244user.rb +115 -0
  2152. data/lib/roebe/www/h/303/244user/h/303/244user.sinatra +56 -0
  2153. data/lib/roebe/www/icewm/icewm.cgi +7 -0
  2154. data/lib/roebe/www/icewm/icewm.rb +34 -0
  2155. data/lib/roebe/www/icewm/icewm.sinatra +56 -0
  2156. data/lib/roebe/www/icewm/keys +88 -0
  2157. data/lib/roebe/www/icewm/menu_file +171 -0
  2158. data/lib/roebe/www/icewm/preferences +1043 -0
  2159. data/lib/roebe/www/icewm/programs +322 -0
  2160. data/lib/roebe/www/icewm/theme +11 -0
  2161. data/lib/roebe/www/icewm/toolbar +7 -0
  2162. data/lib/roebe/www/icewm/winoptions +61 -0
  2163. data/lib/roebe/www/ifpi_austria/ifpi_austria.cgi +7 -0
  2164. data/lib/roebe/www/ifpi_austria/ifpi_austria.rb +351 -0
  2165. data/lib/roebe/www/ifpi_austria/ifpi_austria.sinatra +56 -0
  2166. data/lib/roebe/www/imagemagick/README.md +45 -0
  2167. data/lib/roebe/www/imagemagick/imagemagick.cgi +31 -0
  2168. data/lib/roebe/www/immunology/immunology.cgi +7 -0
  2169. data/lib/roebe/www/immunology/immunology.rb +872 -0
  2170. data/lib/roebe/www/immunology/immunology.sinatra +56 -0
  2171. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.cgi +7 -0
  2172. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.rb +41 -0
  2173. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.sinatra +52 -0
  2174. data/lib/roebe/www/informatik/SLOGANS.md +5 -0
  2175. data/lib/roebe/www/inkscape/inkscape.cgi +9 -0
  2176. data/lib/roebe/www/inkscape/inkscape.rb +84 -0
  2177. data/lib/roebe/www/inkscape/inkscape.sinatra +56 -0
  2178. data/lib/roebe/www/inspirational_people/inspirational_people.cgi +11 -0
  2179. data/lib/roebe/www/inspirational_people/inspirational_people.rb +645 -0
  2180. data/lib/roebe/www/inspirational_people/inspirational_people.sinatra +56 -0
  2181. data/lib/roebe/www/interesting_linux_distributions/interesting_linux_distributions.md +71 -0
  2182. data/lib/roebe/www/interviews/interviews.cgi +7 -0
  2183. data/lib/roebe/www/interviews/interviews.rb +14 -0
  2184. data/lib/roebe/www/interviews/interviews.sinatra +56 -0
  2185. data/lib/roebe/www/irc/irc.cgi +7 -0
  2186. data/lib/roebe/www/irc/irc.rb +41 -0
  2187. data/lib/roebe/www/irc/irc.sinatra +56 -0
  2188. data/lib/roebe/www/irc_quotes/irc_quotes.md +835 -0
  2189. data/lib/roebe/www/jobs/jobs.cgi +9 -0
  2190. data/lib/roebe/www/jobs/jobs.rb +83 -0
  2191. data/lib/roebe/www/jobs/jobs.sinatra +56 -0
  2192. data/lib/roebe/www/json/example1.json +18 -0
  2193. data/lib/roebe/www/json/json.cgi +7 -0
  2194. data/lib/roebe/www/json/json.rb +32 -0
  2195. data/lib/roebe/www/json/json.sinatra +56 -0
  2196. data/lib/roebe/www/kaizen/kaizen.cgi +7 -0
  2197. data/lib/roebe/www/kaizen/kaizen.rb +15 -0
  2198. data/lib/roebe/www/kaizen/kaizen.sinatra +56 -0
  2199. data/lib/roebe/www/kde/kde.cgi +1293 -0
  2200. data/lib/roebe/www/kde/kde.rb +162 -0
  2201. data/lib/roebe/www/kde/kde.sinatra +56 -0
  2202. data/lib/roebe/www/kde/konsole_multiple_tabs +10 -0
  2203. data/lib/roebe/www/kde/konsolerc +40 -0
  2204. data/lib/roebe/www/kde/konsoleui.rc +65 -0
  2205. data/lib/roebe/www/kde/yakuakerc +8 -0
  2206. data/lib/roebe/www/klimabonus/klimabonus.md +11 -0
  2207. data/lib/roebe/www/klimawandel/klimawandel.cgi +7 -0
  2208. data/lib/roebe/www/klimawandel/klimawandel.rb +100 -0
  2209. data/lib/roebe/www/klimawandel/klimawandel.sinatra +56 -0
  2210. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.cgi +7 -0
  2211. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.rb +26 -0
  2212. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.sinatra +52 -0
  2213. data/lib/roebe/www/krita/krita.cgi +7 -0
  2214. data/lib/roebe/www/krita/krita.rb +53 -0
  2215. data/lib/roebe/www/krita/krita.sinatra +56 -0
  2216. data/lib/roebe/www/kryptografie/kryptografie.cgi +48 -0
  2217. data/lib/roebe/www/k/303/244se/k/303/244se.cgi +9 -0
  2218. data/lib/roebe/www/k/303/244se/k/303/244se.rb +138 -0
  2219. data/lib/roebe/www/k/303/244se/k/303/244se.sinatra +56 -0
  2220. data/lib/roebe/www/languages/languages.cgi +7 -0
  2221. data/lib/roebe/www/languages/languages.rb +66 -0
  2222. data/lib/roebe/www/languages/languages.sinatra +52 -0
  2223. data/lib/roebe/www/laser/laser.cgi +7 -0
  2224. data/lib/roebe/www/laser/laser.rb +306 -0
  2225. data/lib/roebe/www/laser/laser.sinatra +56 -0
  2226. data/lib/roebe/www/latex/HelloWorld.tex +9 -0
  2227. data/lib/roebe/www/latex/latex.cgi +7 -0
  2228. data/lib/roebe/www/latex/latex.rb +77 -0
  2229. data/lib/roebe/www/latex/latex.sinatra +56 -0
  2230. data/lib/roebe/www/law/law.cgi +7 -0
  2231. data/lib/roebe/www/law/law.rb +932 -0
  2232. data/lib/roebe/www/law/law.sinatra +56 -0
  2233. data/lib/roebe/www/lego/lego.cgi +7 -0
  2234. data/lib/roebe/www/lego/lego.rb +53 -0
  2235. data/lib/roebe/www/lego/lego.sinatra +52 -0
  2236. data/lib/roebe/www/libreoffice/empty_libreoffice_document.docx +0 -0
  2237. data/lib/roebe/www/libreoffice/empty_libreoffice_document.odt +0 -0
  2238. data/lib/roebe/www/libreoffice/empty_libreoffice_presentation.odp +0 -0
  2239. data/lib/roebe/www/libreoffice/empty_libreoffice_spreadsheet.xls +1 -0
  2240. data/lib/roebe/www/libreoffice/libreoffice.cgi +9 -0
  2241. data/lib/roebe/www/libreoffice/libreoffice.rb +66 -0
  2242. data/lib/roebe/www/libreoffice/libreoffice.sinatra +56 -0
  2243. data/lib/roebe/www/libreoffice/macros/README.md +4 -0
  2244. data/lib/roebe/www/libreoffice/macros/hello_world.macro +24 -0
  2245. data/lib/roebe/www/libreoffice/macros/hello_world_in_python.py_macro +7 -0
  2246. data/lib/roebe/www/lighttpd/autogenerated_lighttpd.conf +426 -0
  2247. data/lib/roebe/www/lighttpd/configuration/cgi.conf +21 -0
  2248. data/lib/roebe/www/lighttpd/configuration/dir_listing.conf +15 -0
  2249. data/lib/roebe/www/lighttpd/configuration/document_root.conf +11 -0
  2250. data/lib/roebe/www/lighttpd/configuration/groupname.conf +9 -0
  2251. data/lib/roebe/www/lighttpd/configuration/index.conf +29 -0
  2252. data/lib/roebe/www/lighttpd/configuration/logfiles.conf +18 -0
  2253. data/lib/roebe/www/lighttpd/configuration/mimetypes.conf +86 -0
  2254. data/lib/roebe/www/lighttpd/configuration/modules.conf +75 -0
  2255. data/lib/roebe/www/lighttpd/configuration/php.conf +11 -0
  2256. data/lib/roebe/www/lighttpd/configuration/pid_file.conf +1 -0
  2257. data/lib/roebe/www/lighttpd/configuration/port.conf +13 -0
  2258. data/lib/roebe/www/lighttpd/configuration/redirects.conf +67 -0
  2259. data/lib/roebe/www/lighttpd/configuration/status.conf +29 -0
  2260. data/lib/roebe/www/lighttpd/configuration/upload.conf +5 -0
  2261. data/lib/roebe/www/lighttpd/configuration/username.conf +4 -0
  2262. data/lib/roebe/www/lighttpd/lighttpd.cgi +7 -0
  2263. data/lib/roebe/www/lighttpd/lighttpd.rb +132 -0
  2264. data/lib/roebe/www/lighttpd/lighttpd.sinatra +52 -0
  2265. data/lib/roebe/www/lilo/lilo.cgi +9 -0
  2266. data/lib/roebe/www/lilo/lilo.conf +71 -0
  2267. data/lib/roebe/www/lilo/lilo.rb +114 -0
  2268. data/lib/roebe/www/lilo/lilo.sinatra +56 -0
  2269. data/lib/roebe/www/linguistics/linguistics.cgi +25 -0
  2270. data/lib/roebe/www/links/links.cgi +9 -0
  2271. data/lib/roebe/www/links/links.rb +310 -0
  2272. data/lib/roebe/www/links/links.sinatra +56 -0
  2273. data/lib/roebe/www/linux/ICEWM/preferences +1476 -0
  2274. data/lib/roebe/www/linux/KaOS/KaOS.cgi +37 -0
  2275. data/lib/roebe/www/linux/MX-Linux/mxlinux.cgi +7 -0
  2276. data/lib/roebe/www/linux/MX-Linux/mxlinux.rb +28 -0
  2277. data/lib/roebe/www/linux/MX-Linux/mxlinux.sinatra +56 -0
  2278. data/lib/roebe/www/linux/antiX/antiX.cgi +7 -0
  2279. data/lib/roebe/www/linux/antiX/antiX.rb +42 -0
  2280. data/lib/roebe/www/linux/antiX/antiX.sinatra +56 -0
  2281. data/lib/roebe/www/linux/deepin/deepin.cgi +30 -0
  2282. data/lib/roebe/www/linux/doc/how_to_shrink_the_home_partition.md +13 -0
  2283. data/lib/roebe/www/linux/fedora/fedora.cgi +7 -0
  2284. data/lib/roebe/www/linux/fedora/fedora.rb +44 -0
  2285. data/lib/roebe/www/linux/fedora/fedora.sinatra +56 -0
  2286. data/lib/roebe/www/linux/gobolinux/gobolinux.cgi +7 -0
  2287. data/lib/roebe/www/linux/gobolinux/gobolinux.rb +1424 -0
  2288. data/lib/roebe/www/linux/gobolinux/gobolinux.sinatra +56 -0
  2289. data/lib/roebe/www/linux/linux.cgi +12 -0
  2290. data/lib/roebe/www/linux/linux.rb +6406 -0
  2291. data/lib/roebe/www/linux/linux.sinatra +56 -0
  2292. data/lib/roebe/www/linux/linuxmint/linuxmint.cgi +7 -0
  2293. data/lib/roebe/www/linux/linuxmint/linuxmint.rb +36 -0
  2294. data/lib/roebe/www/linux/linuxmint/linuxmint.sinatra +56 -0
  2295. data/lib/roebe/www/linux/mageia/mageia.cgi +7 -0
  2296. data/lib/roebe/www/linux/mageia/mageia.rb +31 -0
  2297. data/lib/roebe/www/linux/mageia/mageia.sinatra +56 -0
  2298. data/lib/roebe/www/linux/mxlinux +1 -0
  2299. data/lib/roebe/www/linux/neptune/neptune.cgi +54 -0
  2300. data/lib/roebe/www/linux/resources/Xdefaults +180 -0
  2301. data/lib/roebe/www/linux/slackware/slackware.cgi +7 -0
  2302. data/lib/roebe/www/linux/slackware/slackware.rb +150 -0
  2303. data/lib/roebe/www/linux/slackware/slackware.sinatra +56 -0
  2304. data/lib/roebe/www/linux/ubuntu/ubuntu.cgi +7 -0
  2305. data/lib/roebe/www/linux/ubuntu/ubuntu.rb +144 -0
  2306. data/lib/roebe/www/linux/ubuntu/ubuntu.sinatra +56 -0
  2307. data/lib/roebe/www/linux/void/void.cgi +7 -0
  2308. data/lib/roebe/www/linux/void/void.rb +55 -0
  2309. data/lib/roebe/www/linux/void/void.sinatra +56 -0
  2310. data/lib/roebe/www/linux_certifications/linux_certifications.cgi +7 -0
  2311. data/lib/roebe/www/linux_certifications/linux_certifications.rb +15 -0
  2312. data/lib/roebe/www/linux_certifications/linux_certifications.sinatra +56 -0
  2313. data/lib/roebe/www/linux_commands/linux_commands.cgi +7 -0
  2314. data/lib/roebe/www/linux_commands/linux_commands.rb +4702 -0
  2315. data/lib/roebe/www/linux_commands/linux_commands.sinatra +56 -0
  2316. data/lib/roebe/www/linux_distributions/README.md +3 -0
  2317. data/lib/roebe/www/linux_distributions/linux_distributions.cgi +9 -0
  2318. data/lib/roebe/www/linux_distributions/linux_distributions.rb +2215 -0
  2319. data/lib/roebe/www/linux_distributions/linux_distributions.sinatra +56 -0
  2320. data/lib/roebe/www/llvm/llvm.cgi +7 -0
  2321. data/lib/roebe/www/llvm/llvm.rb +38 -0
  2322. data/lib/roebe/www/llvm/llvm.sinatra +56 -0
  2323. data/lib/roebe/www/luft/luft.cgi +7 -0
  2324. data/lib/roebe/www/luft/luft.rb +15 -0
  2325. data/lib/roebe/www/luft/luft.sinatra +52 -0
  2326. data/lib/roebe/www/luft/luft_english.md +96 -0
  2327. data/lib/roebe/www/luft/luft_german.md +117 -0
  2328. data/lib/roebe/www/m4/m4.cgi +7 -0
  2329. data/lib/roebe/www/m4/m4.rb +24 -0
  2330. data/lib/roebe/www/m4/m4.sinatra +56 -0
  2331. data/lib/roebe/www/make/make.cgi +7 -0
  2332. data/lib/roebe/www/make/make.rb +216 -0
  2333. data/lib/roebe/www/make/make.sinatra +56 -0
  2334. data/lib/roebe/www/markdown/cheat_sheet.md +17 -0
  2335. data/lib/roebe/www/markdown/example.md +232 -0
  2336. data/lib/roebe/www/marketing/marketing.cgi +7 -0
  2337. data/lib/roebe/www/marketing/marketing.rb +22 -0
  2338. data/lib/roebe/www/marketing/marketing.sinatra +56 -0
  2339. data/lib/roebe/www/mars/mars.cgi +7 -0
  2340. data/lib/roebe/www/mars/mars.rb +51 -0
  2341. data/lib/roebe/www/mars/mars.sinatra +52 -0
  2342. data/lib/roebe/www/mate_desktop/mate_desktop.cgi +40 -0
  2343. data/lib/roebe/www/mathematics/logarithmus/logarithmus.cgi +40 -0
  2344. data/lib/roebe/www/mathematics/mathematics.cgi +7 -0
  2345. data/lib/roebe/www/mathematics/mathematics.rb +1193 -0
  2346. data/lib/roebe/www/mathematics/mathematics.sinatra +52 -0
  2347. data/lib/roebe/www/matlab/matlab.cgi +31 -0
  2348. data/lib/roebe/www/meson/meson.cgi +7 -0
  2349. data/lib/roebe/www/meson/meson.rb +57 -0
  2350. data/lib/roebe/www/meson/meson.sinatra +56 -0
  2351. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.cgi +9 -0
  2352. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.rb +280 -0
  2353. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.sinatra +56 -0
  2354. data/lib/roebe/www/methods_in_molecular_biology/methods_in_molecular_biology.cgi +7 -0
  2355. data/lib/roebe/www/methods_in_molecular_biology/methods_in_molecular_biology.rb +188 -0
  2356. data/lib/roebe/www/methods_in_molecular_biology/methods_in_molecular_biology.sinatra +56 -0
  2357. data/lib/roebe/www/microbiology/microbiology.cgi +7 -0
  2358. data/lib/roebe/www/microbiology/microbiology.rb +1009 -0
  2359. data/lib/roebe/www/microbiology/microbiology.sinatra +56 -0
  2360. data/lib/roebe/www/microphones/microphones.cgi +7 -0
  2361. data/lib/roebe/www/microphones/microphones.rb +53 -0
  2362. data/lib/roebe/www/microphones/microphones.sinatra +56 -0
  2363. data/lib/roebe/www/microscopy/microscopy.cgi +7 -0
  2364. data/lib/roebe/www/microscopy/microscopy.rb +202 -0
  2365. data/lib/roebe/www/microscopy/microscopy.sinatra +56 -0
  2366. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.cgi +7 -0
  2367. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.rb +85 -0
  2368. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.sinatra +56 -0
  2369. data/lib/roebe/www/microsoft/microsoft.cgi +11 -0
  2370. data/lib/roebe/www/microsoft/microsoft.rb +2272 -0
  2371. data/lib/roebe/www/microsoft/microsoft.sinatra +56 -0
  2372. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +7 -0
  2373. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +592 -0
  2374. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.sinatra +56 -0
  2375. data/lib/roebe/www/military/military.cgi +7 -0
  2376. data/lib/roebe/www/military/military.rb +23 -0
  2377. data/lib/roebe/www/military/military.sinatra +56 -0
  2378. data/lib/roebe/www/misc/blutgruppen.md +26 -0
  2379. data/lib/roebe/www/mitochondria/mitochondria.cgi +56 -0
  2380. data/lib/roebe/www/module_www.rb +27 -0
  2381. data/lib/roebe/www/molecular_therapies/molecular_therapies.cgi +7 -0
  2382. data/lib/roebe/www/molecular_therapies/molecular_therapies.rb +169 -0
  2383. data/lib/roebe/www/molecular_therapies/molecular_therapies.sinatra +56 -0
  2384. data/lib/roebe/www/mpv/hints.md +2 -0
  2385. data/lib/roebe/www/mrxvt/mrxvtrc +424 -0
  2386. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.cgi +7 -0
  2387. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.rb +118 -0
  2388. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.sinatra +56 -0
  2389. data/lib/roebe/www/mysql/mysql.cgi +7 -0
  2390. data/lib/roebe/www/mysql/mysql.rb +544 -0
  2391. data/lib/roebe/www/mysql/mysql.sinatra +52 -0
  2392. data/lib/roebe/www/nano/nano.cgi +81 -0
  2393. data/lib/roebe/www/nanotechnology/nanotechnology.cgi +7 -0
  2394. data/lib/roebe/www/nanotechnology/nanotechnology.rb +173 -0
  2395. data/lib/roebe/www/nanotechnology/nanotechnology.sinatra +56 -0
  2396. data/lib/roebe/www/nato/nato.cgi +7 -0
  2397. data/lib/roebe/www/nato/nato.rb +35 -0
  2398. data/lib/roebe/www/nato/nato.sinatra +52 -0
  2399. data/lib/roebe/www/netbsd/netbsd.cgi +7 -0
  2400. data/lib/roebe/www/netbsd/netbsd.rb +27 -0
  2401. data/lib/roebe/www/netbsd/netbsd.sinatra +52 -0
  2402. data/lib/roebe/www/networking_on_linux/networking_on_linux.cgi +7 -0
  2403. data/lib/roebe/www/networking_on_linux/networking_on_linux.rb +1629 -0
  2404. data/lib/roebe/www/networking_on_linux/networking_on_linux.sinatra +56 -0
  2405. data/lib/roebe/www/neurobiology/neurobiology.cgi +7 -0
  2406. data/lib/roebe/www/neurobiology/neurobiology.md +19 -0
  2407. data/lib/roebe/www/neurobiology/neurobiology.rb +323 -0
  2408. data/lib/roebe/www/neurobiology/neurobiology.sinatra +56 -0
  2409. data/lib/roebe/www/news/news.cgi +7 -0
  2410. data/lib/roebe/www/news/news.rb +20 -0
  2411. data/lib/roebe/www/news/news.sinatra +56 -0
  2412. data/lib/roebe/www/news/news_content.md +2798 -0
  2413. data/lib/roebe/www/nginx/nginx.cgi +7 -0
  2414. data/lib/roebe/www/nginx/nginx.rb +18 -0
  2415. data/lib/roebe/www/nginx/nginx.sinatra +56 -0
  2416. data/lib/roebe/www/nim/nim.cgi +7 -0
  2417. data/lib/roebe/www/nim/nim.rb +77 -0
  2418. data/lib/roebe/www/nim/nim.sinatra +56 -0
  2419. data/lib/roebe/www/nosql/nosql.cgi +7 -0
  2420. data/lib/roebe/www/nosql/nosql.rb +23 -0
  2421. data/lib/roebe/www/nosql/nosql.sinatra +52 -0
  2422. data/lib/roebe/www/ntfs/ntfs.cgi +7 -0
  2423. data/lib/roebe/www/ntfs/ntfs.rb +41 -0
  2424. data/lib/roebe/www/ntfs/ntfs.sinatra +56 -0
  2425. data/lib/roebe/www/n/303/244chtliche_jagd/n/303/244chtliche_jagd.cgi +7 -0
  2426. data/lib/roebe/www/n/303/244chtliche_jagd/n/303/244chtliche_jagd.rb +461 -0
  2427. data/lib/roebe/www/n/303/244chtliche_jagd/n/303/244chtliche_jagd.sinatra +61 -0
  2428. data/lib/roebe/www/ogre3d/ogre3d.cgi +7 -0
  2429. data/lib/roebe/www/ogre3d/ogre3d.rb +247 -0
  2430. data/lib/roebe/www/ogre3d/ogre3d.sinatra +56 -0
  2431. data/lib/roebe/www/openbsd/openbsd.cgi +7 -0
  2432. data/lib/roebe/www/openbsd/openbsd.rb +28 -0
  2433. data/lib/roebe/www/openbsd/openbsd.sinatra +56 -0
  2434. data/lib/roebe/www/opengl/opengl.cgi +9 -0
  2435. data/lib/roebe/www/opengl/opengl.rb +193 -0
  2436. data/lib/roebe/www/opengl/opengl.sinatra +56 -0
  2437. data/lib/roebe/www/openssl/openssl.cgi +7 -0
  2438. data/lib/roebe/www/openssl/openssl.rb +79 -0
  2439. data/lib/roebe/www/openssl/openssl.sinatra +56 -0
  2440. data/lib/roebe/www/opera/opera.cgi +7 -0
  2441. data/lib/roebe/www/opera/opera.rb +38 -0
  2442. data/lib/roebe/www/opera/opera.sinatra +56 -0
  2443. data/lib/roebe/www/operating_systems/reactos/reactos.cgi +9 -0
  2444. data/lib/roebe/www/operating_systems/reactos/reactos.rb +96 -0
  2445. data/lib/roebe/www/operating_systems/reactos/reactos.sinatra +56 -0
  2446. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.cgi +7 -0
  2447. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.rb +85 -0
  2448. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.sinatra +56 -0
  2449. data/lib/roebe/www/our_solar_system/our_solar_system.cgi +7 -0
  2450. data/lib/roebe/www/our_solar_system/our_solar_system.rb +428 -0
  2451. data/lib/roebe/www/our_solar_system/our_solar_system.sinatra +56 -0
  2452. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.cgi +7 -0
  2453. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.rb +385 -0
  2454. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.sinatra +56 -0
  2455. data/lib/roebe/www/palemoon/palemoon.cgi +7 -0
  2456. data/lib/roebe/www/palemoon/palemoon.rb +111 -0
  2457. data/lib/roebe/www/palemoon/palemoon.sinatra +56 -0
  2458. data/lib/roebe/www/paradise_island/paradise_island.cgi +9 -0
  2459. data/lib/roebe/www/paradise_island/paradise_island.rb +418 -0
  2460. data/lib/roebe/www/paradise_island/paradise_island.sinatra +56 -0
  2461. data/lib/roebe/www/patente/patente.cgi +7 -0
  2462. data/lib/roebe/www/patente/patente.rb +55 -0
  2463. data/lib/roebe/www/patente/patente.sinatra +56 -0
  2464. data/lib/roebe/www/pdf/pdf.cgi +7 -0
  2465. data/lib/roebe/www/pdf/pdf.rb +130 -0
  2466. data/lib/roebe/www/pdf/pdf.sinatra +56 -0
  2467. data/lib/roebe/www/pekwm/autoproperties +219 -0
  2468. data/lib/roebe/www/pekwm/config +72 -0
  2469. data/lib/roebe/www/pekwm/keys +301 -0
  2470. data/lib/roebe/www/pekwm/menu +97 -0
  2471. data/lib/roebe/www/pekwm/mouse +141 -0
  2472. data/lib/roebe/www/pekwm/start +18 -0
  2473. data/lib/roebe/www/pekwm/vars +2 -0
  2474. data/lib/roebe/www/phages/content.md +3 -0
  2475. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.cgi +7 -0
  2476. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.rb +66 -0
  2477. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.sinatra +56 -0
  2478. data/lib/roebe/www/photosynthesis/photosynthesis.cgi +7 -0
  2479. data/lib/roebe/www/photosynthesis/photosynthesis.rb +47 -0
  2480. data/lib/roebe/www/photosynthesis/photosynthesis.sinatra +56 -0
  2481. data/lib/roebe/www/physics/physics.cgi +7 -0
  2482. data/lib/roebe/www/physics/physics.rb +340 -0
  2483. data/lib/roebe/www/physics/physics.sinatra +56 -0
  2484. data/lib/roebe/www/physiology/physiology.cgi +7 -0
  2485. data/lib/roebe/www/physiology/physiology.rb +302 -0
  2486. data/lib/roebe/www/physiology/physiology.sinatra +56 -0
  2487. data/lib/roebe/www/pidgin/pidgin.cgi +7 -0
  2488. data/lib/roebe/www/pidgin/pidgin.rb +28 -0
  2489. data/lib/roebe/www/pidgin/pidgin.sinatra +56 -0
  2490. data/lib/roebe/www/plants/plants.cgi +7 -0
  2491. data/lib/roebe/www/plants/plants.rb +31 -0
  2492. data/lib/roebe/www/plants/plants.sinatra +56 -0
  2493. data/lib/roebe/www/politics/politics.cgi +7 -0
  2494. data/lib/roebe/www/politics/politics.rb +24 -0
  2495. data/lib/roebe/www/politics/politics.sinatra +56 -0
  2496. data/lib/roebe/www/politics/yaml/wahlbeteiligung_wien.yml +6 -0
  2497. data/lib/roebe/www/porg/main.m +26 -0
  2498. data/lib/roebe/www/porg/porg.cgi +7 -0
  2499. data/lib/roebe/www/porg/porg.rb +14 -0
  2500. data/lib/roebe/www/porg/porg.sinatra +56 -0
  2501. data/lib/roebe/www/porg/rpaco_base.h +19 -0
  2502. data/lib/roebe/www/porg/rpaco_base.m +20 -0
  2503. data/lib/roebe/www/povray/povray.cgi +7 -0
  2504. data/lib/roebe/www/povray/povray.rb +289 -0
  2505. data/lib/roebe/www/povray/povray.sinatra +56 -0
  2506. data/lib/roebe/www/povray/povray_files/sphere_and_lights.pov +14 -0
  2507. data/lib/roebe/www/povray/povray_files/sphere_and_lights_test.pov +28 -0
  2508. data/lib/roebe/www/powershell/powershell.cgi +7 -0
  2509. data/lib/roebe/www/powershell/powershell.rb +31 -0
  2510. data/lib/roebe/www/powershell/powershell.sinatra +56 -0
  2511. data/lib/roebe/www/preisvergleiche/preisvergleiche.cgi +7 -0
  2512. data/lib/roebe/www/preisvergleiche/preisvergleiche.rb +53 -0
  2513. data/lib/roebe/www/preisvergleiche/preisvergleiche.sinatra +56 -0
  2514. data/lib/roebe/www/presentations/fuzzy_words_versus_action_words.md +9 -0
  2515. data/lib/roebe/www/presentations/presentations.cgi +7 -0
  2516. data/lib/roebe/www/presentations/presentations.rb +102 -0
  2517. data/lib/roebe/www/presentations/presentations.sinatra +52 -0
  2518. data/lib/roebe/www/presentations/useful_words.md +16 -0
  2519. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.cgi +7 -0
  2520. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.rb +423 -0
  2521. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.sinatra +52 -0
  2522. data/lib/roebe/www/programming_advice/programming_advice.yml +17 -0
  2523. data/lib/roebe/www/programming_bible/programming_bible.cgi +7 -0
  2524. data/lib/roebe/www/programming_bible/programming_bible.rb +32 -0
  2525. data/lib/roebe/www/programming_bible/programming_bible.sinatra +56 -0
  2526. data/lib/roebe/www/programming_languages/R/R.cgi +9 -0
  2527. data/lib/roebe/www/programming_languages/R/R.rb +1368 -0
  2528. data/lib/roebe/www/programming_languages/R/R.sinatra +56 -0
  2529. data/lib/roebe/www/programming_languages/R/examples/boxplot_example.R +42 -0
  2530. data/lib/roebe/www/programming_languages/R/functions/functions.R +104 -0
  2531. data/lib/roebe/www/programming_languages/javascript/javascript.cgi +10 -0
  2532. data/lib/roebe/www/programming_languages/javascript/javascript.rb +313 -0
  2533. data/lib/roebe/www/programming_languages/javascript/javascript.sinatra +56 -0
  2534. data/lib/roebe/www/project_management/project_management.cgi +7 -0
  2535. data/lib/roebe/www/project_management/project_management.rb +317 -0
  2536. data/lib/roebe/www/project_management/project_management.sinatra +56 -0
  2537. data/lib/roebe/www/prokaryotic_evolution/prokaryotic_evolution.cgi +265 -0
  2538. data/lib/roebe/www/propaganda/propaganda.cgi +7 -0
  2539. data/lib/roebe/www/propaganda/propaganda.rb +29 -0
  2540. data/lib/roebe/www/propaganda/propaganda.sinatra +56 -0
  2541. data/lib/roebe/www/protein_engineering/protein_engineering.cgi +5 -0
  2542. data/lib/roebe/www/protein_engineering/protein_engineering.rb +241 -0
  2543. data/lib/roebe/www/protein_engineering/protein_engineering.sinatra +56 -0
  2544. data/lib/roebe/www/proteins/proteins.cgi +7 -0
  2545. data/lib/roebe/www/proteins/proteins.rb +32 -0
  2546. data/lib/roebe/www/proteins/proteins.sinatra +56 -0
  2547. data/lib/roebe/www/psychologie/psychologie.cgi +7 -0
  2548. data/lib/roebe/www/psychologie/psychologie.rb +195 -0
  2549. data/lib/roebe/www/psychologie/psychologie.sinatra +56 -0
  2550. data/lib/roebe/www/publishing_scientific_papers/useful_phrases_and_tips_for_publishing_scientific_papers.md +259 -0
  2551. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.cgi +7 -0
  2552. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.rb +392 -0
  2553. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.sinatra +56 -0
  2554. data/lib/roebe/www/quotes/quotes.cgi +7 -0
  2555. data/lib/roebe/www/quotes/quotes.rb +411 -0
  2556. data/lib/roebe/www/quotes/quotes.sinatra +52 -0
  2557. data/lib/roebe/www/radiation/content.md +3 -0
  2558. data/lib/roebe/www/radioactivity/radioactivity.cgi +36 -0
  2559. data/lib/roebe/www/ratpoison/ratpoisonrc +62 -0
  2560. data/lib/roebe/www/recursion/recursion.md +41 -0
  2561. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.cgi +7 -0
  2562. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.rb +95 -0
  2563. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.sinatra +56 -0
  2564. data/lib/roebe/www/rfid/rfid.cgi +7 -0
  2565. data/lib/roebe/www/rfid/rfid.rb +956 -0
  2566. data/lib/roebe/www/rfid/rfid.sinatra +56 -0
  2567. data/lib/roebe/www/rhetorics/rhetorics.md +11 -0
  2568. data/lib/roebe/www/robots/robots.cgi +9 -0
  2569. data/lib/roebe/www/robots/robots.rb +18 -0
  2570. data/lib/roebe/www/robots/robots.sinatra +56 -0
  2571. data/lib/roebe/www/routers/routers.cgi +7 -0
  2572. data/lib/roebe/www/routers/routers.rb +46 -0
  2573. data/lib/roebe/www/routers/routers.sinatra +56 -0
  2574. data/lib/roebe/www/ruby_viewer/ruby_viewer.cgi +7 -0
  2575. data/lib/roebe/www/ruby_viewer/ruby_viewer.rb +60 -0
  2576. data/lib/roebe/www/ruby_viewer/ruby_viewer.sinatra +56 -0
  2577. data/lib/roebe/www/scanner/scanner.cgi +9 -0
  2578. data/lib/roebe/www/scanner/scanner.rb +185 -0
  2579. data/lib/roebe/www/scanner/scanner.sinatra +56 -0
  2580. data/lib/roebe/www/science/URL_to_different_scientific_articles.md +4 -0
  2581. data/lib/roebe/www/science/science.cgi +7 -0
  2582. data/lib/roebe/www/science/science.rb +1812 -0
  2583. data/lib/roebe/www/science/science.sinatra +56 -0
  2584. data/lib/roebe/www/security/security.cgi +7 -0
  2585. data/lib/roebe/www/security/security.rb +264 -0
  2586. data/lib/roebe/www/security/security.sinatra +56 -0
  2587. data/lib/roebe/www/sed/sed_script_remove_colours.sed +1 -0
  2588. data/lib/roebe/www/shells/shells.cgi +7 -0
  2589. data/lib/roebe/www/shells/shells.rb +258 -0
  2590. data/lib/roebe/www/shells/shells.sinatra +56 -0
  2591. data/lib/roebe/www/shops/shops.cgi +7 -0
  2592. data/lib/roebe/www/shops/shops.rb +26 -0
  2593. data/lib/roebe/www/shops/shops.sinatra +56 -0
  2594. data/lib/roebe/www/signal_transduction/signal_transduction.cgi +74 -0
  2595. data/lib/roebe/www/simpsons/simpsons.cgi +7 -0
  2596. data/lib/roebe/www/simpsons/simpsons.rb +24 -0
  2597. data/lib/roebe/www/simpsons/simpsons.sinatra +56 -0
  2598. data/lib/roebe/www/socken/socken.cgi +7 -0
  2599. data/lib/roebe/www/socken/socken.rb +25 -0
  2600. data/lib/roebe/www/socken/socken.sinatra +56 -0
  2601. data/lib/roebe/www/solarzellen/solarzellen.cgi +7 -0
  2602. data/lib/roebe/www/solarzellen/solarzellen.rb +13 -0
  2603. data/lib/roebe/www/solarzellen/solarzellen.sinatra +56 -0
  2604. data/lib/roebe/www/space_exploration/space_exploration.cgi +7 -0
  2605. data/lib/roebe/www/space_exploration/space_exploration.rb +27 -0
  2606. data/lib/roebe/www/space_exploration/space_exploration.sinatra +56 -0
  2607. data/lib/roebe/www/statistik/statistik.cgi +7 -0
  2608. data/lib/roebe/www/statistik/statistik.rb +621 -0
  2609. data/lib/roebe/www/statistik/statistik.sinatra +56 -0
  2610. data/lib/roebe/www/std_linux.rb +83 -0
  2611. data/lib/roebe/www/strom/strom.cgi +7 -0
  2612. data/lib/roebe/www/strom/strom.rb +145 -0
  2613. data/lib/roebe/www/strom/strom.sinatra +56 -0
  2614. data/lib/roebe/www/structural_biology/structural_biology.cgi +52 -0
  2615. data/lib/roebe/www/sudoers/sudoers +43 -0
  2616. data/lib/roebe/www/svg/svg.cgi +7 -0
  2617. data/lib/roebe/www/svg/svg.rb +47 -0
  2618. data/lib/roebe/www/svg/svg.sinatra +56 -0
  2619. data/lib/roebe/www/synthetic_biology/synthetic_biology.cgi +7 -0
  2620. data/lib/roebe/www/synthetic_biology/synthetic_biology.rb +192 -0
  2621. data/lib/roebe/www/synthetic_biology/synthetic_biology.sinatra +56 -0
  2622. data/lib/roebe/www/systemd/systemd.cgi +9 -0
  2623. data/lib/roebe/www/systemd/systemd.rb +61 -0
  2624. data/lib/roebe/www/systemd/systemd.sinatra +56 -0
  2625. data/lib/roebe/www/techniques_in_molecular_biology/techniques_in_molecular_biology.cgi +7 -0
  2626. data/lib/roebe/www/techniques_in_molecular_biology/techniques_in_molecular_biology.rb +98 -0
  2627. data/lib/roebe/www/techniques_in_molecular_biology/techniques_in_molecular_biology.sinatra +56 -0
  2628. data/lib/roebe/www/terminals/lilyterm.md +8 -0
  2629. data/lib/roebe/www/terminals/terminals.cgi +7 -0
  2630. data/lib/roebe/www/terminals/terminals.rb +125 -0
  2631. data/lib/roebe/www/terminals/terminals.sinatra +56 -0
  2632. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.cgi +11 -0
  2633. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.rb +1660 -0
  2634. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.sinatra +56 -0
  2635. data/lib/roebe/www/theoretische_informatik/theoretische_informatik.cgi +35 -0
  2636. data/lib/roebe/www/thinking_methods/thinking_methods.cgi +7 -0
  2637. data/lib/roebe/www/thinking_methods/thinking_methods.rb +144 -0
  2638. data/lib/roebe/www/thinking_methods/thinking_methods.sinatra +56 -0
  2639. data/lib/roebe/www/thunderbird/thunderbird.cgi +7 -0
  2640. data/lib/roebe/www/thunderbird/thunderbird.rb +70 -0
  2641. data/lib/roebe/www/thunderbird/thunderbird.sinatra +56 -0
  2642. data/lib/roebe/www/time/time.cgi +7 -0
  2643. data/lib/roebe/www/time/time.rb +82 -0
  2644. data/lib/roebe/www/time/time.sinatra +56 -0
  2645. data/lib/roebe/www/tmux/tmux.cgi +7 -0
  2646. data/lib/roebe/www/tmux/tmux.rb +34 -0
  2647. data/lib/roebe/www/tmux/tmux.sinatra +56 -0
  2648. data/lib/roebe/www/toxikologie/toxikologie.cgi +7 -0
  2649. data/lib/roebe/www/toxikologie/toxikologie.rb +535 -0
  2650. data/lib/roebe/www/toxikologie/toxikologie.sinatra +56 -0
  2651. data/lib/roebe/www/trac/trac.cgi +7 -0
  2652. data/lib/roebe/www/trac/trac.rb +46 -0
  2653. data/lib/roebe/www/trac/trac.sinatra +56 -0
  2654. data/lib/roebe/www/training/training.cgi +7 -0
  2655. data/lib/roebe/www/training/training.rb +281 -0
  2656. data/lib/roebe/www/training/training.sinatra +52 -0
  2657. data/lib/roebe/www/transcription/transcription.cgi +7 -0
  2658. data/lib/roebe/www/transcription/transcription.rb +147 -0
  2659. data/lib/roebe/www/transcription/transcription.sinatra +56 -0
  2660. data/lib/roebe/www/udev/udev.cgi +7 -0
  2661. data/lib/roebe/www/udev/udev.rb +128 -0
  2662. data/lib/roebe/www/udev/udev.sinatra +56 -0
  2663. data/lib/roebe/www/unionfs/unionfs.cgi +8 -0
  2664. data/lib/roebe/www/unionfs/unionfs.rb +325 -0
  2665. data/lib/roebe/www/unionfs/unionfs.sinatra +56 -0
  2666. data/lib/roebe/www/usb/usb.cgi +7 -0
  2667. data/lib/roebe/www/usb/usb.rb +753 -0
  2668. data/lib/roebe/www/usb/usb.sinatra +52 -0
  2669. data/lib/roebe/www/vectors/vectors.cgi +7 -0
  2670. data/lib/roebe/www/vectors/vectors.rb +73 -0
  2671. data/lib/roebe/www/vectors/vectors.sinatra +56 -0
  2672. data/lib/roebe/www/verfahrenstechnik/verfahrenstechnik.cgi +62 -0
  2673. data/lib/roebe/www/view_via_pre_tag/README.md +2 -0
  2674. data/lib/roebe/www/view_via_pre_tag/view_via_pre_tag.cgi +26 -0
  2675. data/lib/roebe/www/vim/aliases/vim_aliases.yml +487 -0
  2676. data/lib/roebe/www/vim/autocmds/vim_autocmds +50 -0
  2677. data/lib/roebe/www/vim/colours/desert.vim +105 -0
  2678. data/lib/roebe/www/vim/colours/golden.vim +72 -0
  2679. data/lib/roebe/www/vim/colours/sienna.vim +47 -0
  2680. data/lib/roebe/www/vim/colours/softblue.vim +45 -0
  2681. data/lib/roebe/www/vim/colours/zenburn.vim +135 -0
  2682. data/lib/roebe/www/vim/functions/functions +185 -0
  2683. data/lib/roebe/www/vim/mappings/mappings.md +372 -0
  2684. data/lib/roebe/www/vim/matrix/matrix.vim +316 -0
  2685. data/lib/roebe/www/vim/tetris/tetris.vim +331 -0
  2686. data/lib/roebe/www/vim/vim.cgi +7 -0
  2687. data/lib/roebe/www/vim/vim.rb +856 -0
  2688. data/lib/roebe/www/vim/vim.sinatra +52 -0
  2689. data/lib/roebe/www/vim/vimrc/vimrc +332 -0
  2690. data/lib/roebe/www/virology/virology.cgi +7 -0
  2691. data/lib/roebe/www/virology/virology.rb +549 -0
  2692. data/lib/roebe/www/virology/virology.sinatra +56 -0
  2693. data/lib/roebe/www/virtual_reality/virtual_reality.cgi +7 -0
  2694. data/lib/roebe/www/virtual_reality/virtual_reality.rb +181 -0
  2695. data/lib/roebe/www/virtual_reality/virtual_reality.sinatra +52 -0
  2696. data/lib/roebe/www/visual_studio/visual_studio.cgi +7 -0
  2697. data/lib/roebe/www/visual_studio/visual_studio.rb +38 -0
  2698. data/lib/roebe/www/visual_studio/visual_studio.sinatra +56 -0
  2699. data/lib/roebe/www/vitamines/vitamines.cgi +11 -0
  2700. data/lib/roebe/www/vitamines/vitamines.rb +105 -0
  2701. data/lib/roebe/www/vitamines/vitamines.sinatra +56 -0
  2702. data/lib/roebe/www/vivaldi/vivaldi.cgi +27 -0
  2703. data/lib/roebe/www/vlc/vlc.cgi +33 -0
  2704. data/lib/roebe/www/vnc/vnc.cgi +7 -0
  2705. data/lib/roebe/www/vnc/vnc.rb +28 -0
  2706. data/lib/roebe/www/vnc/vnc.sinatra +56 -0
  2707. data/lib/roebe/www/voice_recorders/voice_recorders.cgi +7 -0
  2708. data/lib/roebe/www/voice_recorders/voice_recorders.rb +48 -0
  2709. data/lib/roebe/www/voice_recorders/voice_recorders.sinatra +52 -0
  2710. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.cgi +7 -0
  2711. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.rb +270 -0
  2712. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.sinatra +56 -0
  2713. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.cgi +7 -0
  2714. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +155 -0
  2715. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.sinatra +56 -0
  2716. data/lib/roebe/www/waschmaschinen/waschmaschinen.cgi +7 -0
  2717. data/lib/roebe/www/waschmaschinen/waschmaschinen.rb +145 -0
  2718. data/lib/roebe/www/waschmaschinen/waschmaschinen.sinatra +52 -0
  2719. data/lib/roebe/www/webserving/webserving.cgi +7 -0
  2720. data/lib/roebe/www/webserving/webserving.rb +905 -0
  2721. data/lib/roebe/www/webserving/webserving.sinatra +52 -0
  2722. data/lib/roebe/www/weechat/weechat.cgi +7 -0
  2723. data/lib/roebe/www/weechat/weechat.rb +166 -0
  2724. data/lib/roebe/www/weechat/weechat.sinatra +52 -0
  2725. data/lib/roebe/www/wein/wein.cgi +7 -0
  2726. data/lib/roebe/www/wein/wein.rb +16 -0
  2727. data/lib/roebe/www/wein/wein.sinatra +56 -0
  2728. data/lib/roebe/www/wget/wgetrc +124 -0
  2729. data/lib/roebe/www/why_linux/why_linux.cgi +7 -0
  2730. data/lib/roebe/www/why_linux/why_linux.rb +301 -0
  2731. data/lib/roebe/www/why_linux/why_linux.sinatra +56 -0
  2732. data/lib/roebe/www/wikis/wikis.cgi +7 -0
  2733. data/lib/roebe/www/wikis/wikis.rb +18 -0
  2734. data/lib/roebe/www/wikis/wikis.sinatra +56 -0
  2735. data/lib/roebe/www/wine/wine.cgi +7 -0
  2736. data/lib/roebe/www/wine/wine.rb +323 -0
  2737. data/lib/roebe/www/wine/wine.sinatra +52 -0
  2738. data/lib/roebe/www/wine/wine_config +69 -0
  2739. data/lib/roebe/www/wings3d/data/House_Villa.wings +0 -0
  2740. data/lib/roebe/www/wings3d/wings3d.cgi +7 -0
  2741. data/lib/roebe/www/wings3d/wings3d.rb +56 -0
  2742. data/lib/roebe/www/wings3d/wings3d.sinatra +56 -0
  2743. data/lib/roebe/www/witze/witze.cgi +9 -0
  2744. data/lib/roebe/www/witze/witze.rb +1046 -0
  2745. data/lib/roebe/www/witze/witze.sinatra +56 -0
  2746. data/lib/roebe/www/wlan/wlan.cgi +9 -0
  2747. data/lib/roebe/www/wlan/wlan.rb +766 -0
  2748. data/lib/roebe/www/wlan/wlan.sinatra +56 -0
  2749. data/lib/roebe/www/wlan/wpa_supplicant.conf +57 -0
  2750. data/lib/roebe/www/working_from_home/working_from_home.md +60 -0
  2751. data/lib/roebe/www/world_health_organization/world_health_organization.cgi +7 -0
  2752. data/lib/roebe/www/world_health_organization/world_health_organization.rb +69 -0
  2753. data/lib/roebe/www/world_health_organization/world_health_organization.sinatra +56 -0
  2754. data/lib/roebe/www/xampp/xampp.cgi +7 -0
  2755. data/lib/roebe/www/xampp/xampp.rb +126 -0
  2756. data/lib/roebe/www/xampp/xampp.sinatra +56 -0
  2757. data/lib/roebe/www/xchat/xchat.cgi +7 -0
  2758. data/lib/roebe/www/xchat/xchat.rb +146 -0
  2759. data/lib/roebe/www/xchat/xchat.sinatra +56 -0
  2760. data/lib/roebe/www/xmas/xmas.cgi +7 -0
  2761. data/lib/roebe/www/xmas/xmas.rb +521 -0
  2762. data/lib/roebe/www/xmas/xmas.sinatra +56 -0
  2763. data/lib/roebe/www/xorg/xorg.cgi +9 -0
  2764. data/lib/roebe/www/xorg/xorg.rb +2912 -0
  2765. data/lib/roebe/www/xorg/xorg.sinatra +56 -0
  2766. data/lib/roebe/www/yeast/yeast.cgi +7 -0
  2767. data/lib/roebe/www/yeast/yeast.rb +139 -0
  2768. data/lib/roebe/www/yeast/yeast.sinatra +56 -0
  2769. data/lib/roebe/www/zenity/zenity.cgi +7 -0
  2770. data/lib/roebe/www/zenity/zenity.rb +208 -0
  2771. data/lib/roebe/www/zenity/zenity.sinatra +56 -0
  2772. data/lib/roebe/www/zitieren/example.md +10 -0
  2773. data/lib/roebe/www/zitieren/wie_zitiert_man_in_der_Wissenschaft_richtig.md +261 -0
  2774. data/lib/roebe/www/zoologie/zoologie.cgi +7 -0
  2775. data/lib/roebe/www/zoologie/zoologie.gtk +150 -0
  2776. data/lib/roebe/www/zoologie/zoologie.rb +162 -0
  2777. data/lib/roebe/www/zoologie/zoologie.sinatra +56 -0
  2778. data/lib/roebe/www/zoom/zoom.cgi +7 -0
  2779. data/lib/roebe/www/zoom/zoom.rb +55 -0
  2780. data/lib/roebe/www/zoom/zoom.sinatra +56 -0
  2781. data/lib/roebe/www/zsh/zshrc +360 -0
  2782. data/lib/roebe/xml/catalog +29 -0
  2783. data/lib/roebe/yaml/advertisement_servers.yml +18 -0
  2784. data/lib/roebe/yaml/autogenerate_these_rewrite_rules/autogenerate_these_rewrite_rules.yml +131 -0
  2785. data/lib/roebe/yaml/autostart_these_programs.yml +22 -0
  2786. data/lib/roebe/yaml/bezirke_in_wien/bezirke_in_wien.yml +29 -0
  2787. data/lib/roebe/yaml/binary_to_hexadecimal/binary_to_hexadecimal.csv +17 -0
  2788. data/lib/roebe/yaml/bin/303/244re_einheiten/bin/303/244re_einheiten.yml +9 -0
  2789. data/lib/roebe/yaml/books/favourite_books.yml +7 -0
  2790. data/lib/roebe/yaml/boot_settings/boot_settings.yml +53 -0
  2791. data/lib/roebe/yaml/browser.yml +1 -0
  2792. data/lib/roebe/yaml/compile/compile.yml +262 -0
  2793. data/lib/roebe/yaml/current_ruby_versions.yml +12 -0
  2794. data/lib/roebe/yaml/directory_structure.yml +121 -0
  2795. data/lib/roebe/yaml/display_settings/display_settings.yml +184 -0
  2796. data/lib/roebe/yaml/e_kennzeichnungen/e_kennzeichnungen.yml +101 -0
  2797. data/lib/roebe/yaml/error_codes/error_codes.yml +342 -0
  2798. data/lib/roebe/yaml/escape_codes/escape_codes.yml +12 -0
  2799. data/lib/roebe/yaml/famous_bboys/famous_bboys.yml +14 -0
  2800. data/lib/roebe/yaml/file_information.yml +34 -0
  2801. data/lib/roebe/yaml/fonts/fonts.yml +33 -0
  2802. data/lib/roebe/yaml/forbidden_IPs.yml +2 -0
  2803. data/lib/roebe/yaml/fstab/fstab.yml +122 -0
  2804. data/lib/roebe/yaml/funstuff/am/303/274sante_deutsche_w/303/266rter.yml +2 -0
  2805. data/lib/roebe/yaml/gnome/gnome.yml +8 -0
  2806. data/lib/roebe/yaml/holidays/holidays.yml +24 -0
  2807. data/lib/roebe/yaml/http_status_codes/http_status_codes.yml +52 -0
  2808. data/lib/roebe/yaml/individual_environment_variables/cflags.yml +59 -0
  2809. data/lib/roebe/yaml/individual_environment_variables/lang.yml +75 -0
  2810. data/lib/roebe/yaml/individual_environment_variables/ldflags.yml +2 -0
  2811. data/lib/roebe/yaml/individual_environment_variables/term.yml +14 -0
  2812. data/lib/roebe/yaml/ip_suffix/ip_suffix.yml +22 -0
  2813. data/lib/roebe/yaml/irc/irc.yml +11 -0
  2814. data/lib/roebe/yaml/kde/kde.yml +54 -0
  2815. data/lib/roebe/yaml/kernel/kernel.yml +11 -0
  2816. data/lib/roebe/yaml/kernel_config/kernel_config.yml +79 -0
  2817. data/lib/roebe/yaml/linux_kernel_settings.yml +11 -0
  2818. data/lib/roebe/yaml/ls_colors.yml +17 -0
  2819. data/lib/roebe/yaml/main_avi.yml +1 -0
  2820. data/lib/roebe/yaml/main_editor.yml +1 -0
  2821. data/lib/roebe/yaml/main_jpg.yml +1 -0
  2822. data/lib/roebe/yaml/main_pdf.yml +1 -0
  2823. data/lib/roebe/yaml/main_png.yml +1 -0
  2824. data/lib/roebe/yaml/mark_this_directory.yml +1 -0
  2825. data/lib/roebe/yaml/mime/mime.yml +615 -0
  2826. data/lib/roebe/yaml/mime_types.yml +37 -0
  2827. data/lib/roebe/yaml/monitors/monitors.yml +127 -0
  2828. data/lib/roebe/yaml/n_people_in_these_countries.yml +31 -0
  2829. data/lib/roebe/yaml/name_for_the_wireless_interface.yml +1 -0
  2830. data/lib/roebe/yaml/pdf/pdf1.yml +1 -0
  2831. data/lib/roebe/yaml/pdf/pdf2.yml +1 -0
  2832. data/lib/roebe/yaml/pdf/pdf3.yml +1 -0
  2833. data/lib/roebe/yaml/pdf/pdf4.yml +1 -0
  2834. data/lib/roebe/yaml/pdf/pdf5.yml +1 -0
  2835. data/lib/roebe/yaml/pdf/pdf6.yml +1 -0
  2836. data/lib/roebe/yaml/pdf/pdf7.yml +1 -0
  2837. data/lib/roebe/yaml/pdf/pdf8.yml +1 -0
  2838. data/lib/roebe/yaml/pdf/pdf9.yml +1 -0
  2839. data/lib/roebe/yaml/peoples_age.yml +6 -0
  2840. data/lib/roebe/yaml/ports/ports.yml +50 -0
  2841. data/lib/roebe/yaml/posix_character_classes.yml +13 -0
  2842. data/lib/roebe/yaml/project_base_directory.yml +0 -0
  2843. data/lib/roebe/yaml/rufnummern_in_/303/266sterreich/rufnummern_in_/303/266sterreich.yml +5 -0
  2844. data/lib/roebe/yaml/size_of_countries.yml +197 -0
  2845. data/lib/roebe/yaml/statistics/statistics.yml +17 -0
  2846. data/lib/roebe/yaml/sternzeichen/sternzeichen.yml +16 -0
  2847. data/lib/roebe/yaml/system/system.yml +80 -0
  2848. data/lib/roebe/yaml/temperature_of_the_planets_in_our_solar_system/temperature_of_the_planets_in_our_solar_system.yml +22 -0
  2849. data/lib/roebe/yaml/test/README.md +4 -0
  2850. data/lib/roebe/yaml/test/umlaute.yml +2 -0
  2851. data/lib/roebe/yaml/the_beginning_of_linux/the_beginning_of_linux.yml +29 -0
  2852. data/lib/roebe/yaml/use_colours.yml +1 -0
  2853. data/lib/roebe/yaml/world_capitals/world_capitals.yml +204 -0
  2854. data/lib/roebe/yaml/world_geography_and_people/world_geography_and_people.yml +21 -0
  2855. data/lib/roebe.rb +7 -0
  2856. data/roebe.gemspec +107 -0
  2857. data/test/active_record/testing +0 -0
  2858. data/test/active_record/testing_active_record.rb +25 -0
  2859. data/test/hello_world/hello_world.rb +1 -0
  2860. data/test/misc/README.md +2 -0
  2861. data/test/misc/arity_example.rb +44 -0
  2862. data/test/misc/display_the_shell_colours.rb +48 -0
  2863. data/test/misc/fetch_a_specific_key_from_a_hash.rb +26 -0
  2864. data/test/misc/fork_example.rb +15 -0
  2865. data/test/misc/hello_world.rb +1 -0
  2866. data/test/misc/heredoc_example.rb +9 -0
  2867. data/test/misc/minimal_irc_bot/minimal_irc_bot.rb +33 -0
  2868. data/test/misc/name_of_this_script.rb +12 -0
  2869. data/test/misc/read_keypresses.rb +79 -0
  2870. data/test/misc/readline/README.md +1 -0
  2871. data/test/misc/readline/completion_for_a_static_list.rb +33 -0
  2872. data/test/misc/simple_sigint_example.rb +51 -0
  2873. data/test/misc/simple_user_input_via_stdin_or_Readline_example.rb +14 -0
  2874. data/test/misc/tcp_socket_example.rb +28 -0
  2875. data/test/misc/tracer.rb +39 -0
  2876. data/test/misc/with_border.rb +22 -0
  2877. data/test/testing_cat.rb +3 -0
  2878. data/test/testing_class_configuration/testing_class_configuration.rb +81 -0
  2879. data/test/testing_core_functionality_of_ruby/README.md +6 -0
  2880. data/test/testing_core_functionality_of_ruby/file_test.rb +1 -0
  2881. data/test/testing_core_functionality_of_ruby/verbose_file_copy.rb +5 -0
  2882. data/test/testing_google_url_cleaner.rb +25 -0
  2883. data/test/testing_http_status_codes.rb +13 -0
  2884. data/test/testing_identical.rb +17 -0
  2885. data/test/testing_move_file.rb +14 -0
  2886. data/test/testing_permission_ascii_format.rb +23 -0
  2887. data/test/testing_sql_paradise.rb +17 -0
  2888. data/test/testing_the_roebe_shell.rb +31 -0
  2889. data/test/testing_twentyfour_hours_notation.rb +37 -0
  2890. data/test/testing_zenity.rb +26 -0
  2891. metadata +3023 -0
data/README.md ADDED
@@ -0,0 +1,2982 @@
1
+ [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://www.gobolinux.org/)
2
+ [![forthebadge](https://forthebadge.com/images/badges/made-with-ruby.svg)](https://www.ruby-lang.org/en/)
3
+ [![Gem Version](https://badge.fury.io/rb/roebe.svg)](https://badge.fury.io/rb/roebe)
4
+
5
+ This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">28.01.2023</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">00:10:12</span> o'clock.
6
+
7
+ ## Introducing the Roebe project
8
+
9
+ <img src="https://i.imgur.com/DvoF3tH.png" style="margin-left: 1em">
10
+
11
+ (This image was partially autogenerated using cfdg rules.
12
+ See the project here: https://www.contextfreeart.org/gallery/ )
13
+
14
+ This project here, the <b>roebe</b> gem, is a fairly chaotic project
15
+ that bundles together code that I may **use on a daily basis**,
16
+ when working on a computer.
17
+
18
+ It is, thus, primarily **a toolset-project** in the sense that it
19
+ contains code that I can use for everyday tasks. I used to
20
+ have these .rb files spread out separately, in different directories,
21
+ until I realized that I may need these files on other computer
22
+ systems as well - for example, in an office/work situation, or in
23
+ a university campus, on site. One day I thus decided to bundle
24
+ these different .rb files together into a new project, with the
25
+ toplevel namespace being simply **Roebe**, primarily to give these
26
+ different classses a unified "namespace" (a <b>module</b> in ruby).
27
+
28
+ Do not expect that the project will have some additional meta-goal
29
+ other than that; it really is just a somewhat random collection of
30
+ different scripts, some of them being more useful than others.
31
+ Most of these ruby files are probably totally useless to other
32
+ people, too.
33
+
34
+ Some classes deal with opening local files via an editor, or
35
+ opening local URLs via the browser; or deleting empty files
36
+ or directories; symlinking content to other directories, and
37
+ so forth.
38
+
39
+ Additionally, the Roebe project may serve as **an entry point
40
+ to other gems**, thus tapping into the larger ruby gem
41
+ ecosystem as a whole. This is an important **side-goal**
42
+ for this object, as it is, to word this differently, my
43
+ main "jumping point" for ruby these days. If I need
44
+ specialized functionality, I tend to write some ruby
45
+ code, put it into the roebe project, and then move
46
+ from there.
47
+
48
+ ## Layout and Structure of the roebe project
49
+
50
+ The **roebe-project** is fairly large. Most code can be found within
51
+ the **classes/** subdirectory and the **toplevel_methods/**
52
+ subdirectory.
53
+
54
+ Following that, a few classes will be described **below this section** -
55
+ but keep in mind that this is not a "complete" documentation of
56
+ all the available classes. Only some of them will be described in
57
+ this file here (**README.md**).
58
+
59
+ **Before running any of the code, I recommend to you to have a
60
+ look at the source code of the corresponding .rb file - that way
61
+ you may be able to judge whether the functionality is desired
62
+ by you or whether it may need any modifications.**
63
+
64
+ Keep in mind that the functionality defaults to my own use case,
65
+ which **may easily differ from your use case**. Some of these
66
+ classes have not been updated in years, so again: have a look
67
+ at the source code before running **any** of these classes, in
68
+ particular for larger classes or classes that remove files or
69
+ directories (you can grep for **delete** and **remove** to
70
+ find these).
71
+
72
+ Presently the **roebe-project** has only a **very few external
73
+ dependencies** - but in theory, all external dependencies could be
74
+ removed altogether. I like to make use of some external code,
75
+ though, which is why most .rb files within this project require
76
+ external .rb files via a **begin/rescue LoadError** clause. If
77
+ you find a .rb file not doing so, consider this to be a bug -
78
+ you can report this and I will fix it then.
79
+
80
+ The most important external dependency is on the **colours**
81
+ gem, since I make use of colours a **LOT** on the commandline.
82
+
83
+ ## Licence of the project
84
+
85
+ The **main licence** of the **roebe project** used to be **GPLv2.0** (no
86
+ later option; exactly GPLv2.0) up until **April 2021**.
87
+
88
+ The **roebe project** also allowed the user to use BSD/MIT licence
89
+ at their own discretion, so it was essentially a "choose whichever
90
+ licence you prefer", at the least in regards to these two licences.
91
+
92
+ See this list on Wikipedia for the BSD/MIT licences:
93
+
94
+ https://en.wikipedia.org/wiki/BSD_licenses
95
+
96
+ In **April 2021** the licence for the roebe project was switched
97
+ to the **MIT licence**.
98
+
99
+ I do not have any issue with the GPL as such; it is a fine licence
100
+ in and by itself.
101
+
102
+ However had, the **roebe** project is really just a collection of
103
+ different scripts. It is not necessary to have it GPL-licenced -
104
+ people can just take it and re-use how they want to. It's no
105
+ problem. For core libraries I may choose the GPL, but for the
106
+ **roebe project** it really is not necessary.
107
+
108
+ The **primary point** of this project is to allow people to use
109
+ the code in any way, shape or form, as far as the project itself
110
+ is concerned. The whole project is really just me randomly putting
111
+ stuff together, lots of which I use on a daily basis, so the
112
+ licence should not get into the way in this regard.
113
+
114
+ Other projects that I use tend to default to GPLv2, and a very
115
+ few the LGPL variant, in particular when C/C++ code is used. But
116
+ for trivial code, IMO, a less restrictive licence is better
117
+ suited.
118
+
119
+ ## class Roebe::Upcaser
120
+
121
+ class **Roebe::Upcaser** will upcase all files in a given
122
+ directory (the **first argument** to this class).
123
+
124
+ The default input to this class comes from the **working directory**
125
+ (aka **Dir.pwd** in ruby parlance), so the simplest way to invoke
126
+ this class by navigating to the desired directory at hand, and then
127
+ invoke this class. Only do so when you are sure to want to
128
+ **upcase all files in the given directory**, though.
129
+
130
+ You can also invoke this from the commandline via:
131
+
132
+ roebe --upcase_all_files
133
+
134
+ This will default to the current working directory, so
135
+ make sure that you cd into the correct directory
136
+ <b>prior</b> to invoking this class.
137
+
138
+ Since as of September 2018, a .yml file will be stored at
139
+ **/Depot/Temp/Roebe/** denoting a hash of the old files to
140
+ the new files (a mapping). That way you can use ruby to
141
+ "restore" the original files again - just load that
142
+ Hash, .invert it and iterate over it. We will only store
143
+ if we are **on roebe**, though - meaning if a certain
144
+ environment variable is set to 1 (called **IS_ROEBE**).
145
+
146
+ There are also complementary classes that do similar
147
+ operations. For example, another class downcases all
148
+ extension names - so if you have **.MP3** files, that
149
+ other class can change the extension to **.mp3** instead.
150
+
151
+ ## class Roebe::ReplaceSpaceWithUnderscore
152
+
153
+ This class can replace a ' ' character with a '_' underscore
154
+ character, in a filename. The filename will be changed too.
155
+
156
+ So for example, if your local, existing file is called
157
+ "foo bar.md", then this class will turn it into a file
158
+ called "foo_bar.md".
159
+
160
+ Note that the class actually can replace any character
161
+ and also rename incorrectly formed german umlauts, so
162
+ the name of the class is a slight misnomer. For the time
163
+ being, though (**January 2018**), the name of the class will
164
+ stay how it is.
165
+
166
+ The reason why this class was originally written was because
167
+ some applications struggle with filenames that include a
168
+ space character. I noticed this when using bash. An alternative
169
+ is to use "" quotes to pad the filename, but I found that
170
+ simply removing all annoying characters is much, much simpler
171
+ in the long run - hence why this class was created, and then
172
+ aliased onto "ething" on my system. ("ething" is "everything"
173
+ and "everything" was an alias to call that class with a
174
+ certain parameter via the commandline.)
175
+
176
+ ## class Roebe::ConvertEncodingOfThisFile
177
+
178
+ <b>class Roebe::ConvertEncodingOfThisFile</b> can be used
179
+ to convert the magic comment of the Encoding in a .rb file.
180
+
181
+ By default it will convert ISO encoding into UTF encoding.
182
+
183
+ ## class Roebe::InteractiveFileCreator
184
+
185
+ This class can be used to create a file "interactively", that is,
186
+ by just asking a user about the parameters with which to
187
+ create the corresponding files.
188
+
189
+ This can also be invoked from the commandline, via:
190
+
191
+ roebe --interactive
192
+ roebe --interactive-file-creator
193
+
194
+ ## class Roebe::IsoToUsb
195
+
196
+ This class can be used to "burn" (more accurately, copy) an .iso
197
+ file to a USB device.
198
+
199
+ <b>Warning</b>:
200
+
201
+ The class currently makes a hardcoded assumption. At a later time,
202
+ I may add a **--help option** and more options, but for now, the
203
+ hardcoded approach is to be used, which means that in many
204
+ situations <b>it will not work for you</b>.
205
+
206
+ I do not recommend anyone to use this before actually looking
207
+ at the code either.
208
+
209
+ ## Batch-install my gems
210
+
211
+ To batch-install all my gems, this can be done from the commandline:
212
+
213
+ Roebe.install_my_gems
214
+
215
+ It will use <b>setup.rb</b> for now, but this may change in the future.
216
+
217
+ ## Tales from the crypt
218
+
219
+ I have a local file with my favourite tales-from-the-crypt episode.
220
+
221
+ I can then download the episodes via:
222
+
223
+ tales_from_the_crypt --download
224
+ tales_from_the_crypt --batch-download
225
+
226
+ where <b>tales_from_the_crypt</b> is an alias to the respective
227
+ class at hand (<b>roebe/classes/tales_from_the_crypt.rb</b>).
228
+
229
+ You can also use your own yaml file for this or your own Array.
230
+
231
+ The yaml file should be simple - I use this schema:
232
+
233
+ S06E14:
234
+ url: https://www.youtube.com/watch?v=O_PtahKvdx0
235
+ name: 99 & 44/100 Pure Horror
236
+
237
+ If you want to see where the video-files will be downloaded into,
238
+ invoke the class with the **--directory?** switch:
239
+
240
+ tales --directory?
241
+
242
+ For more options, use the commandline switch **--help**.
243
+
244
+ The primary use case, though, was to actually **generate a
245
+ playlist**. See the MultimediaParadise project for how I would
246
+ then go on to use this (https://rubygems.org/gems/multimedia_paradise).
247
+
248
+ ## SetAlias
249
+
250
+ **class SetAlias** allows you - and me - to set certain aliases in
251
+ bash, sort of.
252
+
253
+ This can also be used to set "exam-aliases", to the numbers 1, 2,
254
+ 3, 4 and so forth. The reason I used numbers here is because they
255
+ are so simple to use - I just hit <b>1</b> on the keyboard, then
256
+ hit enter, and that alias is run. Often I used this for **exam
257
+ questions**, e. g. to ask a specific question, wait a bit, then
258
+ reveal the answer to that question. But the use cases are more
259
+ general, e. g. whatever "1" is being aliased to at that moment
260
+ in time.
261
+
262
+ If you pass the argument <b>exam_topics.md</b> to class SetAlias
263
+ then it will try to read a file called that way, and if found,
264
+ assigns each line in that file towards the numbers 1, 2, 3 and
265
+ so forth. This allows me to quickly change the main aliases in
266
+ use per given (upcoming) exam - but it can also be used for
267
+ non-exam related aliases of course. I just needed this functionality
268
+ so that I can store exam-themes in such a file, across many
269
+ different exams.
270
+
271
+ ## class Roebe::AvailableClasses
272
+
273
+ This class can count how many classes are registered in any given
274
+ project. It does not work that reliably but it does its basic job
275
+ somewhat ok.
276
+
277
+ ## class Roebe::UmlautConverter
278
+
279
+ If you ever need to quickly replace all german umlauts in a file with
280
+ non-umlauts, such as ä becoming ae, then you could use this class.
281
+
282
+ Usage example:
283
+
284
+ Roebe::UmlautConverter.new('existing_path_to_the_target_file_goes_in_here')
285
+
286
+ ## Opening files
287
+
288
+ The subdirectory **roebe/open/** contains code that helps with
289
+ open-related activities - in other words, opening files.
290
+
291
+ For example, say that you wish to open some .pdf files. You may
292
+ invoke open, which then uses the application that opens .pdf
293
+ files. It will also keep track of all .pdf files that were
294
+ opened this way into a small .yml file, if **is_on_roebe?**
295
+ is set to true.
296
+
297
+ ## Generating a .gemspec file
298
+
299
+ **class Roebe::GenerateGemspec** can generate a .gemspec file, a
300
+ template that you can fill in.
301
+
302
+ I use it usually when I create a new gem. It resides with the
303
+ subdirectory **roebe/classes/generate_gemspec/**.
304
+
305
+ ## Random PS1 variable
306
+
307
+ **class Roebe::TerminalPS1** can generate a random PS1 prompt,
308
+ that is, the colour. This is tailored mostly to my own use case.
309
+
310
+ The prompt I use right now is:
311
+
312
+ export PS1=$CHOCOLATE'$(pwd)/'$CLOSING_TAG$WHIT
313
+
314
+ where $CHOCOLATE is the HTML colour **chocolate**. The '$(pwd)/'
315
+ part refers to the current working directory.
316
+
317
+ ## class Roebe::IPaste
318
+
319
+ **class Roebe::IPaste** can be used to paste the content of the
320
+ xorg-buffer onto the commandline, display it and execute it.
321
+
322
+ This has been necessary due to another class on the commandline
323
+ called **sco**. This class obtained configure options from a
324
+ .yml file and I needed to paste/invoke it on the commandline,
325
+ so I created that class eventually. Now I just type "ipaste"
326
+ on the commandline, hit enter and the content of the xorg
327
+ buffer is executed onto the terminal. Very convenient!
328
+
329
+ ## class Roebe::FragmentMaker
330
+
331
+ **class Roebe::FragmentMaker** can be used to create a "fragment"
332
+ that can be used in case/when menu structures.
333
+
334
+ Give it an input such as:
335
+
336
+ --foo-bar
337
+
338
+ and this class will generate a String that includes this:
339
+
340
+ when /^-?-?foo(-|_| )?bar/i
341
+
342
+ This can then be used to be "inserted" into a case/when menu,
343
+ hence the term **fragment** for this.
344
+
345
+ I needed this for building commandline-applications, since
346
+ I want to be flexible when it comes to user input.
347
+
348
+ ## Roebe.downcase_all_entries_in_the_current_directory
349
+
350
+ <b>Roebe.downcase_all_entries_in_the_current_directory</b> can be
351
+ used to downcase all entries (files, directories,
352
+ symlinks etc...) that are given to that method.
353
+
354
+ By default the content of Dir.pwd, aka the current working
355
+ directory, will be used for input.
356
+
357
+ Be sure to invoke this **only** when you really, really want that
358
+ functionality!
359
+
360
+ You can also invoke this from the commandline via a switch, like
361
+ so:
362
+
363
+ roebe --downcase-all-entries
364
+
365
+ ## Roebe.generate_locales
366
+
367
+ If you wish to generate some locales on Linux, you can invoke the
368
+ method **Roebe.generate_locales()**.
369
+
370
+ ## Roebe.generate_protocols
371
+
372
+ The method **Roebe.generate_protocols()** will generate a file
373
+ called **/etc/protocols**. This file is useful on *nix systems,
374
+ in order to determine some of the core IP addresses.
375
+
376
+ You should **backup the old file there**, before invoking the
377
+ above method, though.
378
+
379
+ ## Prepending and Appending Strings to files
380
+
381
+ I sometimes have to prepend or append a string to all files
382
+ in a certain directory - normally the working directory.
383
+
384
+ For example, I may prepend the string **DONE_** to .pdf files
385
+ that I have finished reading; or the string **_2018W** to
386
+ denote the current year (or another year) in said .pdf file.
387
+
388
+ Since I wanted to be able to do this on the commandline
389
+ I added two classes to the Roebe namespace in November 2018:
390
+
391
+ (1) AppendThis
392
+ (2) PrependThis
393
+
394
+ The main recommended API is the following one:
395
+
396
+ Roebe::PrependThis.to('DONE_', files: :in_the_current_directory)
397
+ Roebe::AppendThis.to('_2018WS', files: :in_the_current_directory)
398
+
399
+ (You can first do "include Roebe"; then you do not have to preface the
400
+ class via **Roebe::** anymore.)
401
+
402
+ The first argument is the String that is to be prepended or appended to the
403
+ files. The second argument is a Symbol, essentially - a shortcut to tell
404
+ these two classes that we will default to the current working directory.
405
+
406
+ You can also feed in your own array of files, via the setter-method
407
+ **set_modify_these_files()**.
408
+
409
+ Of course, batch-renaming can easily be done in plain ruby through
410
+ FileUtils.mv(), but I wanted a simple commandline variant as well
411
+ that is at the least a little bit documented, rather than use
412
+ "throwaway" code for this.
413
+
414
+ ## Updating the pciids file
415
+
416
+ On linux the pciids lists some hardware manufacturers that, for example,
417
+ build certain wlan devices. Sometimes the wlan device may not be
418
+ recognized by the linux kernel, so the program "update-pciids" can
419
+ be called to download a remote dataset with the various IDs listed.
420
+ That file is a shell script.
421
+
422
+ Roebe has support for a somewhat similar but reduced functionality
423
+ of the update-pciids functionality. Simply issue the following
424
+ command for this:
425
+
426
+ roebe --update-pciids
427
+
428
+ ## Radio stations
429
+
430
+ If you want to get the URL to some radio stations, do:
431
+
432
+ roebe --radio-stations
433
+
434
+ If you only want to know where that .yml file resides,
435
+ do:
436
+
437
+ roebe --radio?
438
+
439
+ Note that this functionality depends on the
440
+ **MultimediaParadise project**, so it will only work if
441
+ you have that project ( gem install multimedia_paradise )
442
+ installed.
443
+
444
+ I needed this so that I can feed some URLs to **rhythmbox**,
445
+ in order to easily listen to some radio stations.
446
+
447
+ ## Roebe::CreateDesktopFile
448
+
449
+ class **Roebe::CreateDesktopFile** can be used to create .desktop files.
450
+ These files can be used for auto-starting programs on desktop
451
+ systems such as the mate-desktop or **xfce**.
452
+
453
+ You can also use this toplevel method if you would like to:
454
+
455
+ Roebe.create_desktop_file_for()
456
+ Roebe.create_desktop_file()
457
+
458
+ ## Disable colour support
459
+
460
+ If you do not want or need to use the colours-related code,
461
+ then you can disable this at any time via:
462
+
463
+ Roebe.disable_colours
464
+
465
+ You can also require the **roebe-project** without colours
466
+ support, via:
467
+
468
+ require 'roebe/no_colours'
469
+
470
+ ## Comparing two files for differences via Roebe::CompareTheseTwoFiles
471
+
472
+ class **Roebe::CompareTheseTwoFiles** can be used to compare two
473
+ different files quickly. It is a fairly trivial class and will
474
+ only report the first difference found, then exit. (This behaviour
475
+ may change at a later time, but for now this is how it is -
476
+ January 2019).
477
+
478
+ Usage example:
479
+
480
+ Roebe::CompareTheseTwoFiles.new('foobar1.md', 'foobar2.md')
481
+ Roebe::CompareTheseTwoFiles.new(:default)
482
+
483
+ ## Unicode support in the roebe project
484
+
485
+ You can print unicode-symbols, if they have been registered in the roebe
486
+ project, via **bin/print_this_unicode_symbol**.
487
+
488
+ Example:
489
+
490
+ print_this_unicode_symbol snowman
491
+ print_this_unicode_symbol checkmark
492
+
493
+ This also works via HTML colours.
494
+
495
+ Example:
496
+
497
+ print_this_unicode_symbol snowman --slateblue
498
+ print_this_unicode_symbol black_knight --orange
499
+ print_this_unicode_symbol white_knight*33 --tomato
500
+
501
+ ## Unicode emojis
502
+
503
+ Some programs, such as ibus, require emojis. Since I was tired
504
+ of manual download, I added this method:
505
+
506
+ Roebe.download_emojis
507
+
508
+ You can invoke it from the commandline as well:
509
+
510
+ roebe --download-emoji
511
+
512
+ Note that this will download into the current working directory,
513
+ so you may have to navigate to the proper directory prior to
514
+ invoking this method; or move the .txt files to an appropriate
515
+ location, such as **/usr/share/unicode/emoji**.
516
+
517
+ ## MenuGenerator (class Roebe::Menu::Generator)
518
+
519
+ Some menus, such as a fluxbox start menu or a file for
520
+ tabble can be generated - but this presently works only
521
+ on my home setup. I may have to distribute these menu
522
+ files too, but this requires of me to clean them up; I
523
+ will probably do this at some distant time in the future,
524
+ though.
525
+
526
+ To try to use it anyway (won't work for the time being):
527
+
528
+ require 'roebe/requires/require_menu_generator.rb'
529
+
530
+ Roebe::Menu::Generator('fluxbox')
531
+
532
+ ## Downloading OpenSSL certificates (certdata.txt)
533
+
534
+ To simply download the OpenSSL certificates used by the LFS project,
535
+ aka **certdata.txt**, into the current working directory, issue
536
+ the following command from the commandline:
537
+
538
+ roebe --download-certificates
539
+ roebe --certification # <- or this simpler variant
540
+
541
+ I needed this because I did not want to have to manually look
542
+ up the URL to this file, and then **wget** download it.
543
+
544
+ ## Installing the rcfiles to a target directory
545
+
546
+ Usage example:
547
+
548
+ roebe --populate-this-directory-with-rcfiles=$CHROOT_TARGET/AUTOGENERATED
549
+
550
+ ## Entering chroot
551
+
552
+ Since as of November 2019, the roebe project supports some chroot commands.
553
+
554
+ Right now the use case is limited to LFS builds; in the future this may
555
+ be expanded.
556
+
557
+ To invoke this, try:
558
+
559
+ roebe --chroot
560
+ roebe --enter-chroot
561
+
562
+ But keep in mind that this assumes a LFS chroot right now, so it is quite
563
+ useless for most people.
564
+
565
+ ## The hack font and the cascadia font
566
+
567
+ If you wish to quickly install the font called **Hack** then this might
568
+ work for you:
569
+
570
+ roebe --install-the-hack-font
571
+ roebe --install-hack-font
572
+ roebe --install-hack
573
+
574
+ This depends on the namespace **Extracter**, which is made available through
575
+ the **extracter gem** ( **gem install extracter** ).
576
+
577
+ The use case for this was that I wanted to quickly install the hack font
578
+ on different computer systems.
579
+
580
+ In December 2019, support for the cascadia font has been added as well.
581
+
582
+ To install it, do:
583
+
584
+ roebe --install-the-cascadia-font
585
+ roebe --install-cascadia-font
586
+ roebe --install-cascadia
587
+ roebe --cascadia
588
+
589
+ ## Download the usb.ids file
590
+
591
+ Via:
592
+
593
+ roebe --usb.ids
594
+ roebe --install-usb-ids # or use this variant here
595
+
596
+ you can quickly download the file **usb.ids**. This is important for
597
+ usbutils. I was too lazy to look up the URL, so it was simply added
598
+ to the Roebe project instead.
599
+
600
+ ## Comparing two directories
601
+
602
+ I sometimes need to compare the content of two directories.
603
+
604
+ It is possible to compare these via normal \*nix tools, but I wanted
605
+ colour support output as well, so I quickly wrote a class that does
606
+ so, on **02.01.2020**. A bin/ executable interface exists as well,
607
+ called **bin/compare_these_two_directories**.
608
+
609
+ Invocation example:
610
+
611
+ compare_these_two_directories /directory_for_audio1/ /directory_for_audio2/
612
+ compare_these_two_directories /dir1/ /dir2/
613
+
614
+ Do note that the order matters, as only the different files
615
+ will be reported based on the **first input argument**. If
616
+ you need the reverse, you'd have to swap the two positions,
617
+ like so:
618
+
619
+ compare_these_two_directories /directory_for_audio2/ /directory_for_audio1/
620
+ compare_these_two_directories /dir2/ /dir1/
621
+
622
+ ## Showing the available users on linux
623
+
624
+ Do the following:
625
+
626
+ require 'roebe/classes/show_available_users.rb'
627
+
628
+ Roebe.show_available_users
629
+
630
+ # or
631
+
632
+ Roebe::ShowAvailableUsers.new
633
+
634
+ ## class SimpleExtractor
635
+
636
+ This class can be used to quickly extract an archive, such as
637
+ **foobar-1.0.tar.xz**.
638
+
639
+ Commandline invocation goes via the bin/ file like this:
640
+
641
+ simple_extractor foobar-1.0.tar.xz
642
+
643
+ It can also be used to extract a (local) .gem file.
644
+
645
+ Either use this:
646
+
647
+ gem unpack *.gem
648
+ gem unpack foobar-1.0.gem
649
+
650
+ Or, if **gem** itself does not work (such as if you lack support
651
+ for openssl, which exactly happened to me in a restricted
652
+ environment, aka on another computer system), try this:
653
+
654
+ require 'roebe/classes/extract_gem_file.rb'
655
+ Roebe::ExtractGemFile.new(i)
656
+
657
+ or just:
658
+
659
+ simple_extractor *.gem
660
+ simple_extractor foobar-1.0.gem
661
+
662
+ Note that this depends on **bin/simple_extractor**, which
663
+ is part of the roebe project, but if you would like to
664
+ just extract any .zip file via **bin/roebe** instead, you
665
+ can do so via this way:
666
+
667
+ roebe --extract Variablen.zip
668
+
669
+ ## class Roebe::Run
670
+
671
+ class <b>Roebe::Run</b> can be used to "run" a file, that is,
672
+ execute it after doing some "pre-processing".
673
+
674
+ The **main use case** is to compile a .c file or a .cpp file,
675
+ but also a .java file.
676
+
677
+ For example, say that you have a file called <b>foobar.c</b>.
678
+
679
+ You may wish to compile it via **gcc**, including flags, but you
680
+ are too lazy to specify them as-is.
681
+
682
+ So, you insert a special "macro" into that very **.c file**.
683
+
684
+ Example:
685
+
686
+ // run foobar.c SAVE_AS_IS
687
+
688
+ SAVE_AS_IS is a macro to use "-o foobar" automatically, thus specifying
689
+ the name of the created file. It will automatically be named whatever
690
+ the real name of the .c file at hand is; foobar.c is just an example
691
+ in this case of course.
692
+
693
+ You can then "run" this file via:
694
+
695
+ run foobar.c
696
+
697
+ (This requires that you have aliased "run" to the ruby file
698
+ <b>run.rb</b>, of course. This is the case on my home setup.)
699
+
700
+ The compilation will then be equivalent to the following variant
701
+ with gcc:
702
+
703
+ gcc foobar.c -o foobar
704
+
705
+ Additionally, the compiled program at ./foobar will also
706
+ be **executed** aka **run** - hence the name. I just wanted
707
+ to combine "compile and then run" via one command, rather
708
+ than use two separate commands. I am that lazy!
709
+
710
+ There may be more flags/macros that can be used, but for now, only
711
+ the above is documented. This functionality may be expanded at a
712
+ later time - see the menu-interface for all known macros.
713
+
714
+ For **.java** files, this class will first run "javac NameOfTheFile.java"
715
+ before running "java NameOfTheFile".
716
+
717
+ Since as of March 2020, the project will automatically add
718
+ -lm if the .c source code contains the math-library.
719
+
720
+ ## GoogleUrlCleaner
721
+
722
+ In **April 2020** a new class was added to the Roebe project,
723
+ called **Roebe::GoogleUrlCleaner**.
724
+
725
+ This class will "clean up" URLs from Google.
726
+
727
+ For example:
728
+
729
+ require 'roebe/classes/google_url_cleaner.rb'
730
+ Roebe.google_url_cleaner('https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjcnLmkleHoAhUL7KYKHYg0DwcQFjAAegQIAhAB&url=https%3A%2F%2Fwww.wko.at%2Fservice%2Ffactsheet-corona-kurzarbeit.pdf&usg=AOvVaw3549osY6ZGT_DwFViHgLtB') # =>'https://www.wko.at/service/factsheet-corona-kurzarbeit.pdf'
731
+
732
+ Roebe.google_url_cleaner('https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=2ahUKEwjZte3EleHoAhU-wcQBHa6eAY8QFjABegQIAhAB&url=https%3A%2F%2Fwww.virologie.meduniwien.ac.at%2Ffileadmin%2Fvirologie%2Ffiles%2FEpidemiologie%2F2012%2F1212s.pdf&usg=AOvVaw1DfKV-mPD0uDNlijYHfkvX'') # => 'https://www.virologie.meduniwien.ac.at/fileadmin/virologie/files/Epidemiologie/2012/1212s.pdf'
733
+
734
+ Roebe.google_url_cleaner('https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDIQFjAA&url=http%3A%2F%2Fwww.fda.gov%2Fohrms%2Fdockets%2Fac%2F05%2Fslides%2F2005-4144s1_05_Mendelson-HF-NHD%2520Pane.ppt&ei=NOFBUYKHBM-64APKnYGQAw&usg=AFQjCNGka328-0Jym7wOYtJ8pdgGJjLv6Q&sig2=Iq2vS_O3AfCioprk-j_q2w') # => 'http://www.fda.gov/ohrms/dockets/ac/05/slides/2005-4144s1_05_Mendelson-HF-NHD%20Pane.ppt'
735
+
736
+ This class will sanitize a Google URL and return the real URL.
737
+
738
+ I needed this functionality because I need to have the direct
739
+ URL sometimes, e. g. when using **wget**. And I do not want
740
+ to depend on google if I do not have to.
741
+
742
+ Do note that the class may not be complete; some cases may
743
+ not be properly escaped yet. If found, new entries will be
744
+ added to the file called **test/testing_google_url_cleaner.rb**.
745
+
746
+ ## Regexes in Ruby
747
+
748
+ This section is just a short summary of what I consider useful.
749
+
750
+ /[[:alnum:]]/ - Alphabetic and numeric character
751
+ /[[:alpha:]]/ - Alphabetic character
752
+ /[[:blank:]]/ - Space or tab
753
+ /[[:cntrl:]]/ - Control character
754
+ /[[:digit:]]/ - Digit
755
+ /[[:graph:]]/ - Non-blank character (excludes spaces, control
756
+ characters, and similar)
757
+ /[[:lower:]]/ - Lowercase alphabetical character
758
+ /[[:print:]]/ - Like [:graph:], but includes the space character
759
+ /[[:punct:]]/ - Punctuation character
760
+ /[[:space:]]/ - Whitespace character
761
+ /[[:upper:]]/ - Uppercase alphabetical
762
+ /[[:xdigit:]]/ - Digit allowed in a hexadecimal number
763
+
764
+ How can these be used?
765
+
766
+ Consider the following example, a String stored in the variable
767
+ called x:
768
+
769
+ x = "123"
770
+ x =~ /([[:digit:]]{1,2})/
771
+ puts $1 # => "12"
772
+
773
+ As you can see this would be similar to this:
774
+
775
+ x =~ /(\d{1,2})/
776
+
777
+ Obviously the second variant is much shorter. So why use the
778
+ longer variant? That is a good question.
779
+
780
+ ## class Roebe::GenerateNanoConfig and the editor nano
781
+
782
+ class <b>Roebe::GenerateNanoConfig</b> can be used to
783
+ generate a configuration file for the editor nano.
784
+
785
+ You can also display the content that is to be generated
786
+ on the commandline, via:
787
+
788
+ generate_nano_config --show-nano-config
789
+
790
+ This requires that generate_nano_config is aliased to
791
+ the .rb file that holds class <b>Roebe::GenerateNanoConfig</b>.
792
+
793
+ See also:
794
+
795
+ roebe --help
796
+
797
+ Since as of **July 26th 2019** (26.07.2019) the roebe gem also
798
+ comes with my custom nano-rc files included by default. Nano
799
+ is not related to ruby per se, but I use nano a lot to quickly
800
+ modify local files, so I found it more useful to bundle the
801
+ nano-rc files into the roebe project as well by default.
802
+
803
+ ## VimParadise
804
+
805
+ In the past there was a separate gem, called **vim_paradise**.
806
+
807
+ That gem was able to create a .vimrc file, from scratch.
808
+
809
+ The idea for **VimParadise** was quite simple: I wanted some
810
+ ruby-code to auto-generate my vimrc settings.
811
+
812
+ I kept on tweaking my vimrc over the years, and kept on
813
+ making things worse and worse in doing so.
814
+
815
+ One day I decided it is time to have ruby help me generate
816
+ a vimrc file, hence the VimParadise project was created.
817
+
818
+ In May 2020 the project was removed as a standalone gem,
819
+ and instead integrated into the **roebe** gem here.
820
+
821
+ A bin executable exists, called:
822
+
823
+ vim_paradise
824
+
825
+ For useful VIM resources, have a look at the following
826
+ webpages:
827
+
828
+ http://vim.wikia.com/wiki/Vim_Tips_Wiki
829
+ http://hans.fugal.net/vim/vimrc_hans
830
+ http://vimdoc.sourceforge.net/htmldoc/
831
+
832
+ ## Roebe.browser
833
+
834
+ This toplevel method is supposedly able to "handle" different
835
+ browsers. Internally it delegates towards **class
836
+ Roebe::Browser**.
837
+
838
+ In the past, I used to use firefox but lateron switched to
839
+ **palemoon** in **2018**, due to Mozilla's general arrogance
840
+ and refusal to listen to users - which makes it quite
841
+ pointless to keep on using firefox.
842
+
843
+ I used to open tabs by default in firefox only, but after
844
+ I switched to palemoon, I needed a general way to open
845
+ tabs via **any** browser - thus the toplevel method
846
+ <b>Roebe.browser</b> was added.
847
+
848
+ Which browser is the default is now handled by a .yml
849
+ file, since as of **June 2020**.
850
+
851
+ You can define which browser is used on your system
852
+ via:
853
+
854
+ browser.rb --browser=/usr/bin/firefox
855
+
856
+ (Where browser.rb is an alias to the actual
857
+ browser.rb file that can be found at
858
+ **roebe/browser/browser.rb**.)
859
+
860
+ The path to the .yml file on your system can be
861
+ determined via:
862
+
863
+ browser.rb file?
864
+
865
+ ## Code related to the KDE project
866
+
867
+ The **roebe project** has a few classes that are related to the KDE
868
+ project - in particular **KDE konsole**, since that is the main
869
+ terminal I am using most of the time.
870
+
871
+ The **KDE konsole** is able to display text through various means or
872
+ enhancements if you so will, be it **bold**, ***underline***,
873
+ _italic_ or colours (in RGB format).
874
+
875
+ For example, say that you wish to display some text in a bold manner,
876
+ in the middle of a sentence, then you could use escape sequences
877
+ such as in the following example:
878
+
879
+ echo -e "Normal text \e[1mBold text\e[0m Normal text again"
880
+
881
+ The **roebe project** comes with a commandline-script called
882
+ **bin/konsole_title**, which can be used to rename the title
883
+ of a KDE konsole tab. I have aliased this to **rti**, for
884
+ simplicity, on my computer systems.
885
+
886
+ Thus, when I wish to **rename a tab in the konsole**, I can
887
+ simply do the following:
888
+
889
+ rti Hello world!
890
+
891
+ I use this in particular to automatically rename a KDE konsole tab
892
+ through different scripts - which is very convenient.
893
+
894
+ **konsole** understands a lot of special commands. For example, if
895
+ you wish to delete the icon that is on the left hand side of a
896
+ typical konsole tab, you can use this code (e. g. in **bash**):
897
+
898
+ echo -ne "\033]32;\007"
899
+
900
+ Since that can be quite useful, this is also doable through the
901
+ **konsole_title** script, by issuing any of the following
902
+ instructions:
903
+
904
+ rti --clear-icons
905
+ rti --no-icon
906
+
907
+ You can also show icons that are stored in a "standard" search path.
908
+
909
+ These icons for use in the KDE konsole tab may typically be found
910
+ in the **16x16 directory**, such as the following one for **oxygen**:
911
+
912
+ /usr/share/icons/oxygen/16x16/status/dialog-warning.png
913
+
914
+ /usr/share/icons/oxygen/16x16/actions/
915
+ /usr/share/icons/oxygen/16x16/animations/
916
+ /usr/share/icons/oxygen/16x16/apps/
917
+ /usr/share/icons/oxygen/16x16/categories/
918
+ /usr/share/icons/oxygen/16x16/devices/
919
+ /usr/share/icons/oxygen/16x16/emblems/
920
+ /usr/share/icons/oxygen/16x16/emotes/
921
+ /usr/share/icons/oxygen/16x16/mimetypes/
922
+ /usr/share/icons/oxygen/16x16/places/
923
+ /usr/share/icons/oxygen/16x16/special/
924
+ /usr/share/icons/oxygen/16x16/status/
925
+
926
+ Have a look there to find out which names will available. Keep in
927
+ mind that these icons will reside in different subdirectories,
928
+ e. g. **status/** or **emotes/**. Support for these icons depend
929
+ on, for example, the oxygen theme, which could be found upstream
930
+ at **https://download.kde.org/stable/plasma/5.15.1/oxygen-5.15.1.tar.xz**
931
+ or a similar URL.
932
+
933
+ The following **examples** show how to use these dialog warnings
934
+ from **bash** or **zsh** directly, without depending on ruby:
935
+
936
+ echo -e "\033]32;dialog-warning\007"
937
+ echo -e "\033]32;emblem-favorite\007"
938
+ echo -e "\033]32;emblem-mounted\007"
939
+ echo -e "\033]32;emblem-important\007"
940
+ echo -e "\033]32;waiting\007"
941
+
942
+ Note that you can combine this with regular text, such as in the
943
+ following **Hello world!** example prefaced with the
944
+ **waiting-icon**:
945
+
946
+ echo -e "\033]32;waiting\007\e]30;Hello world!\007"
947
+
948
+ The **roebe gem** supports this too, through **konsole_title**;
949
+ at the least in some **shortcut manner** for some of these
950
+ entries:
951
+
952
+ rti --dialog-warning
953
+ rti --warning
954
+ rti --emblem-warning
955
+ rti --emblem-mounted
956
+ rti --emblem-important
957
+ rti --waiting
958
+ rti --face-angel
959
+ rti --face-embarassed
960
+ rti --face-kiss
961
+ rti --face-laugh
962
+ rti --face-plain
963
+ rti --face-raspberry
964
+ rti --face-sad
965
+ rti --face-smile-big
966
+ rti --face-smile
967
+ rti --face-surprise
968
+ rti --face-uncertain
969
+ rti --face-wink
970
+
971
+ There are a LOT more options supported by **konsole_title** - the
972
+ **README** here only lists a few of these options.
973
+
974
+ For a full listing, have a look at the file called **menu.rb**
975
+ of the respective class.
976
+
977
+ Take note that you can also use **custom icons** that you have on
978
+ your harddisc:
979
+
980
+ echo -e "\033]32;/home/x/DATA/IMG/foobar.png\007"
981
+
982
+ And keep in mind that these icons are only small, e. g. 16x16,
983
+ so it is not trivial to see what this icon is made up of.
984
+
985
+ You can also set an image to be used via the commandline:
986
+
987
+ rti --image=/path/to/the/image.png
988
+ rti --use-this-image=/path/to/the/image.png
989
+
990
+ You can also omit the -- part, aka just use the file path directly:
991
+
992
+ rti /path/to/the/image.png
993
+
994
+ You can also use a random icon (but this requires a prior registration
995
+ of that icon in a CONSTANT Array of that class):
996
+
997
+ rti --random-icon
998
+
999
+ You can also display the default icon, which is the KDE Konsole icon
1000
+ (terminal).
1001
+
1002
+ rti --terminal
1003
+
1004
+ It may typically be found within the oxygen theme, at a location
1005
+ such as:
1006
+
1007
+ /usr/share/icons/oxygen/16x16/apps/utilities-terminal.png
1008
+
1009
+ ## class Roebe::DownloadFromThisUrl
1010
+
1011
+ <b>class Roebe::DownloadFromThisUrl</b> can be used to download **content
1012
+ from remote websites**. Simply pass in the URL to the website from where
1013
+ you wish to download data from.
1014
+
1015
+ In pure ruby code this would look like this:
1016
+
1017
+ require 'roebe/classes/download_from_this_url.rb'
1018
+ Roebe::DownloadFromThisUrl.new(URL_GOES_IN_HERE)
1019
+ Roebe::DownloadFromThisUrl.new('https://archive.xfce.org/xfce/4.16pre1/src/')
1020
+
1021
+ I aliased this file towards download_from_this_url, so I can then
1022
+ do this on the commandline:
1023
+
1024
+ download_from_this_url https://archive.xfce.org/xfce/4.16pre1/src/
1025
+
1026
+ A **filter** may be used to denote which files are to be downloaded. As
1027
+ of July 2018, the filter I use is mostly to download only .pdf and .txt
1028
+ files. In September 2020, support for .tar.gz, .tar.bz2 and .tar.xz
1029
+ was added as well. For now this is a hardcoded array - in the future I
1030
+ may add options to specify omitting a filter from the commandline and
1031
+ so forth; but for the time being, it will remain as it is since I
1032
+ mostly wrote it only in a day to be able to batch-download some
1033
+ remote files that I needed to finish a given task.
1034
+
1035
+ In September 2020, the code was slightly adapted.
1036
+
1037
+ To disable the use of a filter, use **--no-filter**, like so:
1038
+
1039
+ download_from_this_url https://archive.xfce.org/xfce/4.16pre1/src/ --no-filter
1040
+
1041
+ Note that in the long run, the class may have to be rewritten, in
1042
+ order to support different behaviour. But again, I wrote it mostly
1043
+ quickly to finish a job, and then move on.
1044
+
1045
+ ## class Roebe::BurnISO
1046
+
1047
+ This class can be used to burn an .iso file onto a DVD, if
1048
+ **growisofs** is available.
1049
+
1050
+ Usage example:
1051
+
1052
+ require 'roebe/classes/burn_iso/burn_iso.rb'
1053
+
1054
+ Roebe::BurnISO.new('foobar.iso')
1055
+
1056
+ ## class Roebe::GrubConfigGenerator
1057
+
1058
+ Since as of **November 2020**, class Roebe::GrubConfigGenerator
1059
+ can be used to generate a new grub configuration file, typically
1060
+ called **grub.cfg**.
1061
+
1062
+ I needed this because I got tired of manually having to
1063
+ specify stuff for grub2 to work.
1064
+
1065
+ Usage example from ruby:
1066
+
1067
+ require 'roebe/classes/grub/grub_config_generator.rb'
1068
+
1069
+ Roebe::GrubConfigGenerator.new(ARGV)
1070
+
1071
+ ## class Roebe::Identical
1072
+
1073
+ If you want to compare two strings to one another, how
1074
+ **identical** they are to one another, then class
1075
+ **Roebe::Identical** may be of help here.
1076
+
1077
+ A usage example follows:
1078
+
1079
+ require 'roebe/classes/identical.rb'
1080
+
1081
+ Roebe::Identical.new("string1", "string2")
1082
+
1083
+ This would return a number such as 86, which is the
1084
+ **percentage of the identity** at hand. In this example,
1085
+ only one character was different (the "1" versus
1086
+ "2", respectively).
1087
+
1088
+ Alternatively, you can just use the <b>module-level method</b>
1089
+ <b>Roebe.identical()</b>:
1090
+
1091
+ Roebe.identical("string1", "string2")
1092
+
1093
+ Since as of November 2020, you can use this on the
1094
+ commandline as well. Example:
1095
+
1096
+ roebe --compare-strings=string1,string2
1097
+
1098
+ ## The .Xresources file
1099
+
1100
+ This is not about ruby, but simply because I need some useful
1101
+ shells when I work on linux, before I can write ruby scripts.
1102
+
1103
+ To enable tabs in rxvt-unicode use:
1104
+
1105
+ URxvt.perl-ext-common: tabbed
1106
+
1107
+ Don't forget to have compiled perl support via --enable-perl prior
1108
+ to that. I forgot that in **2021** and could not figure out why
1109
+ the guides on the www did not work. :)
1110
+
1111
+ To start a new tab:
1112
+
1113
+ Shift+Down
1114
+
1115
+ To close the active tab:
1116
+
1117
+ Ctrl+d
1118
+
1119
+ Specify the colours of tabs via:
1120
+
1121
+ URxvt.tabbed.tabbar-fg: 2
1122
+ URxvt.tabbed.tabbar-bg: 0
1123
+ URxvt.tabbed.tab-fg: 3
1124
+ URxvt.tabbed.tab-bg: 0
1125
+
1126
+ This would make the tab colour green.
1127
+
1128
+ urxvt-tabbedex can be used to rename tabs.
1129
+
1130
+ To be able to resize the fonts on the fly,
1131
+ add:
1132
+
1133
+ URxvt.perl-ext-common: resize-font
1134
+
1135
+ Pretty looking font:
1136
+
1137
+ URxvt.font: xft:bitstream vera sans mono:size=18:antialias=true
1138
+ URxvt.boldFont: xft:bitstream vera sans mono:bold:size=18:antialias=true
1139
+
1140
+ URxvt*color0: #000000 // black
1141
+ URxvt*color1: #B40000 // red
1142
+ URxvt*color2: #00AA00 // green
1143
+ URxvt*color3: #AAAA00 // yellow
1144
+ URxvt*color4: #5555AA // blue
1145
+ URxvt*color5: #AA00AA // magenta
1146
+ URxvt*color6: #00AAAA // cyan
1147
+ URxvt*color7: #AAAAAA // white
1148
+ URxvt*color8: #555555 // black (now and below: bright)
1149
+ URxvt*color9: #FF0000 // red
1150
+ URxvt*color10: #00FF00 // green
1151
+ URxvt*color11: #FFFF00 // yellow
1152
+ URxvt*color12: #6464FF // blue
1153
+ URxvt*color13: #FF00FF // magenta
1154
+ URxvt*color14: #00FFFF // cyan
1155
+ URxvt*color15: #FFFFFF // white
1156
+
1157
+ ## The www-stack and bundled documentation about linux (in german)
1158
+
1159
+ In **November 2020** I decided to slowly put all my local knowledge
1160
+ base in regards about linux into the roebe-project.
1161
+
1162
+ This may not be very useful for other people, as most of that
1163
+ documentation is written in german; but some linux commands may
1164
+ still be useful to know.
1165
+
1166
+ The primary reason why this is done is, though, because I sometimes
1167
+ needed this information on another computer system, in order to fix
1168
+ a given problem - in particular when ruby is **not YET** available
1169
+ on that computer. When ruby is available then I can use ruby to
1170
+ (auto)solve many problems.
1171
+
1172
+ There are secondary reasons as to why I decided to include the
1173
+ documentation there, though. One of that secondary reason is that
1174
+ some of that documentation is almost 20 years old by now, so this
1175
+ gives me an opportunity to improve and polish on the information
1176
+ content. In some ways this is a bit like a "wiki", just that I am
1177
+ the only one editing that "wiki" right now. :P
1178
+
1179
+ Let's see what happens with this approach in the future.
1180
+
1181
+ Note that, unfortunately, the images I use here for the www-stack
1182
+ are **NOT** included in this gem. There are two reasons for this:
1183
+
1184
+ a) the smaller one is that a few of these images may be copyrighted,
1185
+ so I avoid any possible problems by simply not bundling them.
1186
+
1187
+ b) the much bigger issue, though, is convenience, or lack of
1188
+ convenience. If all images would be bundled, the size of the
1189
+ gem would be above 50 MB, which is just way too much. If you
1190
+ need images, well, think about it appropriately - for example,
1191
+ a page about statistics may include some images that show
1192
+ statistical data being visually represented. Just google for
1193
+ this and you find adequate images for that; you could then
1194
+ just use these and nobody would notice a huge difference
1195
+ really. :D
1196
+
1197
+ ## Ruby awesome bits, oddities and ugly bits - including the safe navigation operator (and a bit of Crystal code)
1198
+
1199
+ This **subsection** may collect a few ruby snippets that may be **odd** -
1200
+ or **awesome**; and also some that may be **ugly**.
1201
+
1202
+ Consider the following code in the ruby **2.5.1** days:
1203
+
1204
+ #!/usr/bin/ruby -w
1205
+ # Encoding: UTF-8
1206
+ # frozen_string_literal: true
1207
+ # =========================================================================== #
1208
+ def foobar(
1209
+ i = ' hello world'
1210
+ )"15.10.2018"
1211
+ puts i
1212
+ end
1213
+
1214
+ foobar
1215
+
1216
+ Notice the weird "15.10.2018" part? That is actually ignored. But only in a line
1217
+ that has a ')' and ends a method, obviously. If you put that same string right
1218
+ next to the <b>end</b> keyword then a syntax error will be the outcome.
1219
+
1220
+ I found that strange because the ruby parser treats strings differently depending
1221
+ on the context at hand.
1222
+
1223
+ On second thought, I think this is actually valid behaviour, since it is just
1224
+ a string literal that is not used.
1225
+
1226
+ Another example that I have found interesting is **RSpec**.
1227
+
1228
+ Take code such as the following one:
1229
+
1230
+ expect(Dir.exist?('doc')).to be true
1231
+
1232
+ That surprised me. I am not entirely sure what the above entails to, but I
1233
+ think this is actually:
1234
+
1235
+ expect(Dir.exist?('doc')).to(be(true))
1236
+
1237
+ That means that ruby's flexibility sort of allows you to just **omit**
1238
+ the (), with the end result that an interesting **DSL** is created. It
1239
+ is not my own personal preference, but I think it is still interesting
1240
+ nonetheless. You can not do this in python because () are required
1241
+ rather than optional.
1242
+
1243
+ This subsection is just a bit documentation about the **safe navigation
1244
+ operator** in Ruby.
1245
+
1246
+ Code will typically look like this:
1247
+
1248
+ object&.method
1249
+
1250
+ I personally do not like the & there and actively avoid the
1251
+ safe navigation operator. A reason is that I find it to be
1252
+ very ugly.
1253
+
1254
+ Having said that, though, I have, in 2018, found an interesting
1255
+ example here:
1256
+
1257
+ https://github.com/ruby/ruby/commit/91fc0a91037c08d56a43e852318982c9035e1c99
1258
+
1259
+ The old code was:
1260
+
1261
+ f.close if f && !f.closed?
1262
+
1263
+ The new code is:
1264
+
1265
+ f&.close
1266
+
1267
+ This was interesting to me because the safe navigation code is
1268
+ much shorter than the old code. Not that I find the "if f"
1269
+ and "&&" and "!f.closed?" parts to be very elegant, either - but I
1270
+ think this may actually be a case where the safe navigation code,
1271
+ while really ugly, led to a better code layout. Still won't convince
1272
+ me to use it, but if we compare situations then we ought to compare
1273
+ all advantages and disadvantages rather than just a few select
1274
+ examples. We should keep both situations in mind.
1275
+
1276
+ Interestingly enough, Crystal appears to have copied the &.
1277
+ operator:
1278
+
1279
+ class Object
1280
+ def has_instance_var?(name) : Bool
1281
+ {{ @type.instance_vars.map &.name.stringify }}.includes? name
1282
+ end
1283
+ end
1284
+
1285
+ It looks very strange to my eyes, the **&.name.stringify** part. Can't
1286
+ say that I think this is awesome, either in ruby or crystal, really.
1287
+
1288
+ However had, on second thought, the above code in crystal may perhaps
1289
+ be similar to &: in ruby instead.
1290
+
1291
+ For example:
1292
+
1293
+ %w( 1 2 3 ).map(&:to_s) # => ["1", "2", "3"]
1294
+
1295
+ I have no idea why crystal uses a '.' after the & in this case,
1296
+ though. And what the hell is **.stringify**, anyway? Does this
1297
+ mean to want to turn something into a String? Why is it named
1298
+ "stringify"? Who came up with this?
1299
+
1300
+ In September 2018 I have found another example for &, a very
1301
+ ugly one:
1302
+
1303
+ https://github.com/ruby/ruby/blob/trunk/test/ruby/test_thread.rb#L191
1304
+
1305
+ The code is as follows:
1306
+
1307
+ t1&.kill&.join
1308
+
1309
+ It's quite disgusting combining the use of & twice really. It is
1310
+ not just twice as bad as a single &; it actually is about three
1311
+ times as bad.
1312
+
1313
+ In October 2019, ruby added the <b>...</b> as an experimental
1314
+ feature.
1315
+
1316
+ Code may look like this:
1317
+
1318
+ def foo(...)
1319
+ bar(...)
1320
+ end
1321
+
1322
+ Now I should say that I think the functionality itself is fine. But
1323
+ seriously? ... ? That's like someone having a mental lapse here.
1324
+
1325
+ I don't like the syntax at all - and, to be brutally honest, in the
1326
+ last 3-5 years, ruby has added too much horrible syntax. I can't see
1327
+ how adding new syntax for the sake of it OR adding it when the feature
1328
+ in itself will be of limited used, is a good thing.
1329
+
1330
+ In some ways this is irrelevant because I'll defend my code base
1331
+ against these insanities - but it's getting increasingly annoying
1332
+ to see how ruby is morphed about willy-nilly randomly. I have no
1333
+ idea what is going on there.
1334
+
1335
+ Unfortunately switching from ruby is not an option either, because
1336
+ the other languages suck even more. That is a strange dilemma
1337
+ here ... :P
1338
+
1339
+ The only good thing is that I can avoid crap syntax. I do not think
1340
+ I would use ruby if there would be a force to change how I have used
1341
+ it for +15 years into a crap syntax though. One has to be attentive
1342
+ of what crap syntax the future may bring here.
1343
+
1344
+ Note that this is really about the syntax, NOT the feature. The
1345
+ feature is ok, IMO; it is similar to "alias" or "alias_method",
1346
+ just with a bit more fine-tuned control.
1347
+
1348
+ Ruby allows you to make use of keyword arguments. The syntax can
1349
+ be a bit confusing, though.
1350
+
1351
+ For example:
1352
+
1353
+ def movie(title:, lang: lang = 'English')
1354
+
1355
+ This makes use of keyword arguments as well as specify default
1356
+ arguments. When I first saw this this was a bit confusing
1357
+ since lang is repeated, thus appearing twice.
1358
+
1359
+ Remember that this means that :title is mandatory.
1360
+
1361
+ If you invoke it like this:
1362
+
1363
+ movie lang: 'german'
1364
+
1365
+ Then a **missing keyword: :title (ArgumentError)** error will
1366
+ be shown.
1367
+
1368
+ ## class Roebe::UnicodeSnowman
1369
+
1370
+ This class will show a unicode-snowman on the commandline.
1371
+
1372
+ Keep in mind that you can colourize unicode-output on the commandline as
1373
+ well, via the RGB functionality of e. g. the <b>colours</b> gem. This
1374
+ allows you to colourize the snowman - or any Unicode token, anyway.
1375
+
1376
+ If you want to **display the snowman on the commandline**, you can do so
1377
+ via:
1378
+
1379
+ roebe --snowman
1380
+
1381
+ ## Regex cheat sheet
1382
+
1383
+ This subsection just mentions the regex rules in use, as a reminder.
1384
+
1385
+ ^ and $ match the beginning and end of a line.
1386
+ \A matches the beginning of a string, \z and \Z match the end of a string.
1387
+ \b and \B match word boundaries and nonword boundaries.
1388
+ | vertical bar matches either the regular expression that precedes it or the regular expression that follows it.
1389
+
1390
+ ## Useful knowledge bits about ruby:
1391
+
1392
+ - <b>class_eval</b> and <b>instance_eval</b> both set self for the duration of the
1393
+ block.
1394
+
1395
+ ## Deprecations within the roebe gem
1396
+
1397
+ Over the years a lot of code was re-written or deleted. The more important
1398
+ changes may be noticed in this subsection.
1399
+
1400
+ On 30.08.2021 the old class called **Roebe::FstabAppender** was removed,
1401
+ and subsequently replaced with class **Roebe::GenerateFstabFile**. The
1402
+ latter uses better code and makes use of a yaml file for my default
1403
+ fstab-content. This should also make it easier for other people to
1404
+ auto-generate a **fstab** file. Simply change the entries in the yaml
1405
+ file, then run the class, and a new **fstab** file will be generated.
1406
+
1407
+ The UUID entry currently is hardoded, though, so replace that as well.
1408
+ Eventually I may auto-generate the UUID entry as well, but for now
1409
+ I only wanted to remove the old code from **Roebe::FstabAppender**
1410
+ really.
1411
+
1412
+ ## class Roebe::SymlinkFilesFromThatDirectoryToTheCurrentDirectory.new
1413
+
1414
+ First, before explaining what this class do, let's see how to use
1415
+ it:
1416
+
1417
+ require 'roebe/classes/symlink_files_from_that_directory_to_the_current_directory/symlink_files_from_that_directory_to_the_current_directory.rb'
1418
+ Roebe::SymlinkFilesFromThatDirectoryToTheCurrentDirectory.new(ARGV)
1419
+ Roebe::SymlinkFilesFromThatDirectoryToTheCurrentDirectory.new('/home/Programs/Pcre2/Current/lib/pkgconfig/')
1420
+
1421
+ The last example is how I use it most of the time. Or, to be more specific,
1422
+ I use the bin/ representative of it, with an alias called **sfiles** to
1423
+ that class.
1424
+
1425
+ So, what does this class do? It will symlink all files from the specified
1426
+ target directory into the current working directory. I needed this behaviour
1427
+ because the project called RBT (ruby build tools) has a few bugs right
1428
+ now (in October 2021). I do not know when I manage to fix these bugs, so
1429
+ I needed a quick work around - hence this class was created.
1430
+
1431
+ The class was already written many years ago, but the code was annoying
1432
+ to read and deal with and I had no idea what was going on, so I rewrote
1433
+ it in October 2021 finally.
1434
+
1435
+ ## Building a modified LFS/BLFS
1436
+
1437
+ Over the past 10 years or so, I have become increasingly displeased with
1438
+ the corporatification of Linux. Systemd is a good example, but it is not
1439
+ the only one. It's not solely confined to corporate-hackers taking over,
1440
+ but a concomittant rise in complexity. Things that used to be super-easy
1441
+ are now a LOT more complex. I will give an example.
1442
+
1443
+ Back in the oldschool days, you compiled the fat mono-repo for xfree
1444
+ (whatever the name for the old xorg-server was), then you compiled
1445
+ qt3 and kde3. That was fairly trivial. Nowadays, though, you need
1446
+ a LOT more additional stuff: xorg became modular so like 100-200
1447
+ packages are necessary. You need mesa, which in turn needs python3
1448
+ and LLVM - all of which increasingly become larger and larger. Then
1449
+ you need qt5, which is HUGE. And then you have to compile the
1450
+ KDE5 stack which has about 200-400 packages (depending on what
1451
+ applications you need, but even the minimal variant is soooooo
1452
+ much bigger than KDE3). And these are just a few examples - the
1453
+ same happened to the whole "Linux stack".
1454
+
1455
+ I would not be so upset if these things were to work properly,
1456
+ but you keep on having more and more problems, or you suddenly
1457
+ somehow end up with a dependency on systemd. So this is all viral:
1458
+ it leaks in garbage and complexity into your system.
1459
+
1460
+ As I am getting tired of this, and I don't want to adjust to
1461
+ systemd and the other crapware, I decided to transition into
1462
+ a modified LFS/BLFS variant. This subsection here shall keep
1463
+ track of useful information pertaining to this, and possibly
1464
+ code (in ruby) that may be of help here. Of course the RBT
1465
+ project may handle most of these things, but the roebe-gem
1466
+ contains a few useful classes in this regard, so I wanted to
1467
+ document any findings here, rather than keep this for RBT
1468
+ only.
1469
+
1470
+ So, what should be kept in mind for a modern computer system?
1471
+
1472
+ Normally there should be a first partition, say, 256 MB
1473
+ for an EFI system such as this variant:
1474
+
1475
+ /dev/sda1 2048 526335 524288 256M EFI System
1476
+
1477
+ (To be continued at a later time ...)
1478
+
1479
+ ## custom_methods.rb
1480
+
1481
+ The file **custom_methods.rb** was actually the reason why the
1482
+ roebe gem was eventually created. I stored tons of ruby code
1483
+ in that file, many years ago.
1484
+
1485
+ Things slowly changed as time passed by, yet custom_methods.rb
1486
+ still serves as "the main hub" - aka the main entry point to
1487
+ all my other ruby code and gems. Thus, a lot of ad-hoc methods
1488
+ are stored in that file.
1489
+
1490
+ This subsection here may include a few details about this
1491
+ file, but not everything will be documented here; only the
1492
+ more relevant entries may be documented.
1493
+
1494
+ The method .json_to_hash() can be used to load a local file,
1495
+ which is assumed to be a json file, and return a Hash in
1496
+ ruby.
1497
+
1498
+ API usage goes as follows:
1499
+
1500
+ hash = json_to_hash('/home/Temp/magic_the_gathering/card_collection.json')
1501
+ pp hash; ''
1502
+
1503
+ ## Imgur
1504
+
1505
+ This subsection just shows a bit of information in the event
1506
+ we wish to upload images to imgur.
1507
+
1508
+ The client-id is <b>Client-ID 70ff50b8dfc3a53</b>.
1509
+
1510
+ To upload an image to Imgur you could adapt this method:
1511
+
1512
+ ENDPOINTS = {
1513
+ image: '/3/image/',
1514
+ gallery: '/3/gallery/'
1515
+ }
1516
+ API_PUBLIC_KEY = 'Client-ID 70ff50b8dfc3a53'
1517
+ API_URI = URI.parse('https://api.imgur.com')
1518
+ request = Net::HTTP::Post.new(API_URI.request_uri + ENDPOINTS[:image])
1519
+ request.set_form_data(params)
1520
+ request.add_field('Authorization', API_PUBLIC_KEY)
1521
+
1522
+ See also the class called **UploadToImgur** that is distributed
1523
+ via the roebe gem since as of **October 2021**. It contains
1524
+ a slightly better implementation to the above "raw points".
1525
+
1526
+ Since as of <b>October 2022</b> class UploadToImgur can also
1527
+ download a remote image, which is first downloaded, and then
1528
+ uploaded to imgur automatically.
1529
+
1530
+ ## class Roebe::LeftHyphenInThisFile
1531
+
1532
+ class **Roebe::LeftHyphenInThisFile** can be used to put **-** hyphens
1533
+ on the left hand side of a file. It will generate a new file by default
1534
+ rather than overwrite the existing file.
1535
+
1536
+ You may ask "But why add a class for something that is as simple as
1537
+ using **.map {}**? Yes, that is a valid question, but I needed this
1538
+ to turn a .txt file into a .yml file, for an Array. And YAML wants
1539
+ arrays via leading **-**. Since I was constantly creating new
1540
+ yaml files that way, and had to add leading **-** manually, I got
1541
+ tired of it, and simply added that class in **November 2021**.
1542
+
1543
+ ## class Roebe::RemoveLine
1544
+
1545
+ This class can be used to remove one line from a file.
1546
+
1547
+ Usage example:
1548
+
1549
+ remove_line 5 foobar.md # this removes line number 5 from the file called foobar.md
1550
+
1551
+ Presently it can only remove one line, so it is not very flexible.
1552
+ At some point in the future it may be expanded in its general
1553
+ usefulness. For now, it's just kept as simple as possible really.
1554
+
1555
+ ## class Roebe::Modright
1556
+
1557
+ This class can be used to automatically change the permissions of
1558
+ files and directories to a preset default. The default values are
1559
+ stored within that class - look at the two constants in this
1560
+ regard on top of the .rb file.
1561
+
1562
+ Why was this class created? Sometimes some directories or files
1563
+ may have permissions that the user may not have wanted, so the
1564
+ main idea for this class is that it can restore the "default"
1565
+ permission for files and directories.
1566
+
1567
+ ## Roebe::GUI::Gtk::WlanInformationCenter
1568
+
1569
+ This ruby-gtk3 specific class shall help users on linux
1570
+ to set up their wlan-devices. It originated from the
1571
+ older class Roebe::GUI::Gtk::WlanInterface which was
1572
+ too cumbersome to use in general. With this new class,
1573
+ however, even new linux users should be more comfortable
1574
+ in setting up their wlan-devices. A tabbed interface
1575
+ will be used.
1576
+
1577
+ ## Roebe::AddNewlineAfter
1578
+
1579
+ This class will simply add a newline after the specified token.
1580
+
1581
+ If you want to change the default token then use the method
1582
+ **.use_this_token =**.
1583
+
1584
+ Why was this class created? I sometimes have to look at .html
1585
+ files that are compacted. Since it was annoying to split it
1586
+ up, I wanted a script that does this for me.
1587
+
1588
+ ## class Roebe::GoodNight
1589
+
1590
+ **class Roebe::GoodNight** simply combines class Roebe::At
1591
+ as well as playing some video files or audio files; by default
1592
+ using simpsons movies from my local play list. You may have
1593
+ to adjust this to your use case if you want to re-use this
1594
+ class.
1595
+
1596
+ ## module Documentation
1597
+
1598
+ Since as of <b>17.04.2019</b> I am slowly integrating all my
1599
+ <b>local documentation</b> in ruby into the **Roebe** project.
1600
+
1601
+ This will take months or years at the least, though. Remember
1602
+ that I gathered ruby-specific knowledge tidbits in the last
1603
+ 20 years; it's spread all over the place on my local
1604
+ filesystem.
1605
+
1606
+ Unfortunately that documentation in particular is primarily only
1607
+ available in the german language, so not many other people may
1608
+ benefit from it. I am working to translate some of this into
1609
+ english, but this takes time.
1610
+
1611
+ **sinatra** is presently required to view the documentation.
1612
+
1613
+ If you wish to start that sinatra interface, you can do the
1614
+ following from the commandline:
1615
+
1616
+ roebe --serve-documentation
1617
+
1618
+ To require the documentation manually, you can issue:
1619
+
1620
+ require 'roebe/documentation/app.rb'
1621
+
1622
+ Note that the gtk-specific part currently (2022) does
1623
+ not work: I plan to move this into the **gtk_paradise**
1624
+ gem.
1625
+
1626
+ Since as of **March 2022** ruby-on-rails specific information is
1627
+ stored in the directory **doc/ruby_on_rails_tutorial/**. This is
1628
+ currently a .cgi file and requires the gem called **cyberweb**.
1629
+ In the future this may become more flexible, but for now it is
1630
+ stored therein.
1631
+
1632
+ Note that since as of <b>July 2022</b> module Documentation
1633
+ is mildly deprecated. It will be more likely that future
1634
+ documentation will simply reside under doc/ instead.
1635
+
1636
+ ## class Roebe::DateSort
1637
+
1638
+ This class, residing at <b>roebe/classes/date_sort.rb</b>, will
1639
+ sort files based on their filenames. As part of the filenames
1640
+ the date should be "embedded" into, e. g. something like "22.02.2022".
1641
+
1642
+ I aliased this class towards **date_sort** and use it in
1643
+ pipes, such as:
1644
+
1645
+ ls | date_sort
1646
+
1647
+ ## The Roebe::Shell component
1648
+
1649
+ **Roebe::Shell** can be used as some kind of substitute for IRB or
1650
+ shells such as <b>bash</b>, <b>zsh</b> or <b>fish</b>. The primary
1651
+ use case for <b>Roebe::Shell</b> is **interactively**, that is to
1652
+ have the user type in commands, and the shell will attempt to
1653
+ **make sense** of these instructions.
1654
+
1655
+ **Roebe::Shell** was based on the older **DiamondShell** project, which
1656
+ was abandoned in **2020**. Some parts of the code from the DiamondShell
1657
+ project continues to exist in **class Roebe::Shell**, albeit a lot
1658
+ of it was heavily modified or even removed.
1659
+
1660
+ You can start the shell via the above **Roebe::Shell.new** call,
1661
+ or this simpler toplevel variant:
1662
+
1663
+ Roebe.shell
1664
+
1665
+ What is a **shell**, actually?
1666
+
1667
+ A shell is essentially a program used to execute other programs - for
1668
+ instance, you can start your editor from the commandline by making
1669
+ use of a shell. A shell is usually interactive: it **requires user
1670
+ input**, be it from a human being, a computer/robot or from some
1671
+ script.
1672
+
1673
+ There are many different shells - UNIX/Linux systems may have csh,
1674
+ bash, zsh, fish. Windows may have the old <b>cmd.exe</b> or the newer
1675
+ <b>powershell</b>. And more recently, say since 2016, you may also use
1676
+ bash on Windows in an easy manner - apparently Microsoft is learning
1677
+ something new these days (e. g. WSL1 or WSL2).
1678
+
1679
+ The **Roebe::Shell** component of the **roebe** project tries to learn
1680
+ from all of the above shells and how these are used, and combine what
1681
+ seems useful into the <b>Roebe::Shell</b> namespace. I always loved
1682
+ the RPROMPT feature of zsh, for instance - unfortunately, this is
1683
+ on my TODO list, so it is not added yet.
1684
+
1685
+ Since as of **September 2020**, Roebe::Shell makes use of class
1686
+ Roebe::UserInput for obtaining (and working with) user input.
1687
+ I grew tired of having to write the logic into class Roebe::Shell
1688
+ when I instead wanted to focus on dealing with the user input
1689
+ itself, so that I can abstract the details away.
1690
+
1691
+ If you need to obtain the configuration settings for a Roebe::Shell,
1692
+ in Hash format, then issue the following command from a running
1693
+ instance of the Roebe::Shell:
1694
+
1695
+ config_as_hash
1696
+
1697
+ The following examples will showcase what the Roebe::Shell can do,
1698
+ but keep in mind that these are just examples; there may be many
1699
+ more entries to use which are not documented here for lack of space.
1700
+
1701
+ If you need to generate a random string, use:
1702
+
1703
+ randomstring 5
1704
+
1705
+ The number 5 ensures that the length will be 5 characters. This
1706
+ feature may be useful to test something.
1707
+
1708
+ If the shell-configuration enables colour-support then you can
1709
+ use RGB colours, if you use it via KDE konsole. Example for
1710
+ this:
1711
+
1712
+ darkkhaki hello world!
1713
+ royalblue this is a test in royalblue
1714
+
1715
+ Presently the whole string is specified in that colour, but in
1716
+ the future we may add support for arbitry colouring of the
1717
+ text.
1718
+
1719
+ To quickly show all directories in the current working directory,
1720
+ try:
1721
+
1722
+ show_directories
1723
+
1724
+ To show the current $PATH in use for the running Roebe::Shell
1725
+ instance, try any of the following:
1726
+
1727
+ show_path_in_use
1728
+ showpathinuse
1729
+
1730
+ Note that in <b>April 2022</b> the Roebe::Shell project was
1731
+ again rewritten from scratch. The primary reason as to why
1732
+ this was done was to enable <b>lazy loading</b> from the
1733
+ get go for add-ons; a secondary reason for the rewrite was
1734
+ proper support for windows. I needed a better alternative
1735
+ to (vanilla) <b>cmd.exe</b>, but without the overhead
1736
+ that comes with <b>powershell</b>.
1737
+
1738
+ If you want to see which components (add-ons) have been
1739
+ lazy-loaded so far, then issue either one of the following
1740
+ commands inside of a running instance of the Roebe::Shell:
1741
+
1742
+ status?
1743
+ components?
1744
+
1745
+ Keep in mind that in particular larger gems may take
1746
+ a few seconds before they are fully loaded. At the
1747
+ time of writing this in <b>May 2022</b> I myself
1748
+ use 36 different gems and add-ons for the
1749
+ <b>Roebe::shell</b>:
1750
+
1751
+ ### Goals for the Roebe::Shell project
1752
+
1753
+ The Roebe::Shell project, as part of the Roebe project, shall be
1754
+ a replacement for **irb** but also for **bash** in the long run
1755
+ (this is a long-term, distant goal, one day).
1756
+
1757
+ Perhaps in the distant future it may also offer features such as
1758
+ those available in zsh, fish or pry. We may also make use of **mruby**
1759
+ instead and compile in the required tidbits - should make it much
1760
+ faster than before. At the least in theory.
1761
+
1762
+ And a GUI component in ruby-gnome, similar to cuiterm; this can be
1763
+ seen in the gtk_paradise project, but it is not quite complete
1764
+ yet.
1765
+
1766
+ Keep in mind - it is much easier to speak about goals rather than go
1767
+ and really achieve these goals. When it comes to code, the number one
1768
+ factor simply is **time** that will be invested into a given project.
1769
+ And time is a limited/finite resource.
1770
+
1771
+ ### Usage of the Roebe::Shell, in Ruby Code
1772
+
1773
+ require 'roebe/shell'
1774
+
1775
+ Roebe::Shell.run # To startup the Roebe-Shell
1776
+
1777
+ # Alternatively, you can also use Roebe::Shell[] as starter.
1778
+
1779
+ ### Features of the Roebe::Shell
1780
+
1781
+ There are many features that the <b>Roebe::Shell</b> aims to achieve and
1782
+ implement.
1783
+
1784
+ One goal is to function as a replacement to **bash** and
1785
+ also **irb** eventually. It is still a long way to go.
1786
+
1787
+ ### Usage inside of a running Roebe::Shell instance:
1788
+
1789
+ If you manage to start the Roebe::Shell, which should be
1790
+ possible by issuing "**dia**" (residing in **bin/roebe** of
1791
+ this gem, but I aliased it to **dia** because that was
1792
+ its original name from several years ago) you can then
1793
+ issue the help command to show the common functionality
1794
+ available:
1795
+
1796
+ help
1797
+
1798
+ To see the current version of the Roebe::Shell, do:
1799
+
1800
+ version
1801
+
1802
+ To **generate all keys**, do:
1803
+
1804
+ generate keys
1805
+
1806
+ To **remove comments** from all **.ogg files** in a given directory,
1807
+ we can do:
1808
+
1809
+ remove_comments *ogg
1810
+
1811
+ To stat some files do:
1812
+
1813
+ stat test.txt # The simplest variant: you simply pass the name of the file at hand.
1814
+ stat 1 2 3 # This will stat the files at position 1, 2 or 3.
1815
+ stat 11,12 # This variant is also possible, if you would like to use it.
1816
+
1817
+ If you want to create several new files via one line then you
1818
+ can use the following:
1819
+
1820
+ touch {temp1,temp2,temp3,temp4}
1821
+
1822
+ This would create the four files called temp1, temp2, temp3 and
1823
+ temp4. The behaviour is similar to UNIX/Linux shells such as
1824
+ <b>bash</b> or <b>zsh</b>.
1825
+
1826
+ You can cd into a directory by issuing i.e.:
1827
+
1828
+ cd /tmp
1829
+ cd 1 # Positional arguments are possible as well. This would cd into the first directory.
1830
+
1831
+ You can also **cd** into an archive - this means that we will
1832
+ first extract the archive, then cd into that directory.
1833
+
1834
+ Specific example for that:
1835
+
1836
+ cd htop-1.0.2.tar.xz
1837
+
1838
+ To **upload** a file, or several files, do:
1839
+
1840
+ upload foo.txt
1841
+ upload *
1842
+ upload 1,2,3
1843
+ upload 1-3
1844
+
1845
+ To **convert** formats into one another, you can use the
1846
+ **convert()** functionality, such as:
1847
+
1848
+ convert foo.png foo.pdf
1849
+ convert bar.mp3 bar.ogg
1850
+
1851
+ To show the **padding in use**, do either:
1852
+
1853
+ padding?
1854
+ show padding
1855
+
1856
+ You can see the input **history** by doing this:
1857
+
1858
+ history?
1859
+
1860
+ If you don't like this, you can **disable** it via:
1861
+
1862
+ disable history
1863
+
1864
+ In general, if you wish to **disable** something, you do:
1865
+
1866
+ disable ENTRY_HERE
1867
+
1868
+ To start transmission in the background:
1869
+
1870
+ transmission URL_HERE
1871
+
1872
+ To **sort all files** in the current directory by size, do:
1873
+
1874
+ sort_by size
1875
+
1876
+ To see the available **configuration**, issue this command:
1877
+
1878
+ configuration?
1879
+
1880
+ You can also **fetch documentation** of Ruby Stdlib or Corelib.
1881
+
1882
+ Do this:
1883
+
1884
+ docu? foobar.rb
1885
+ docu? Array#sort
1886
+ docu? Array.push
1887
+
1888
+ If you wish to display a celsius to fahrenheit table, do:
1889
+
1890
+ celsius
1891
+
1892
+ All of these should work. The first way will fetch docu from
1893
+ a .rb file, but right now it will only parse the header - the
1894
+ leading comment, that is, in a .rb file. The other variants
1895
+ make use of Ri to fetch docu.
1896
+
1897
+ You can also **view the source** of a **method** or the **documentation**
1898
+ to a **method**.
1899
+
1900
+ Do this:
1901
+
1902
+ show-docu-of? yel
1903
+ show-method-of? yel
1904
+ $ String.size
1905
+
1906
+ Video and audio files can be played if you use mplayer or
1907
+ mpv. On my home system, for instance, I can input the
1908
+ following:
1909
+
1910
+ play_video :1
1911
+
1912
+ The :1 means to use the first video from the location to where I
1913
+ keep all video files. If the video exists there then it will
1914
+ be played. I use this shortcut to avoid having to type the
1915
+ full path or navigate to the directory where my local video
1916
+ files are stored. I even shorten this to:
1917
+
1918
+ pvideo :1
1919
+
1920
+ Quite convenient to work with the Roebe::Shell that way! \o/
1921
+
1922
+ To create a directory, use something like the following:
1923
+
1924
+ mkdir /Depot/j
1925
+ mkdir /Depot/jj /Depot/jjj # You can provide more than one argument here.
1926
+ create_directory /Depot/Temp
1927
+ cdir /tmp/test # And you can use different aliases too; "cdir" stands short for "create_directory".
1928
+
1929
+ To run animated ASCII components, if you have the ascii_paradise
1930
+ gem installed, you can issue:
1931
+
1932
+ ascii1
1933
+ ascii2
1934
+ ascii55
1935
+ # or if you prefer, a tiny bit longer
1936
+ ascii 1
1937
+ ascii 2
1938
+ ascii 55
1939
+
1940
+ Note that this does not work very well on windows cmd.exe as of
1941
+ <b>May 2022</b>. I may have to look at the reason for that at
1942
+ a later moment in time.
1943
+
1944
+ If you want to see which components were "lazy loaded" so far
1945
+ then simply use:
1946
+
1947
+ status
1948
+
1949
+ To change the title of a cmd.exe window, do this:
1950
+
1951
+ windows_title cats # The title is now "cats".
1952
+ windows_title foo bar # The title is now "foo bar".
1953
+
1954
+ To find out the current user's home directory you can simply
1955
+ input:
1956
+
1957
+ Dir.home # on windows this will yield a result such as C:\Users\debug
1958
+
1959
+ By default Roebe::Shell tries to use the **Readline** module. This
1960
+ is not always desired. If you want to toggle between regular
1961
+ $stdin and readline-mode, then do either of the following:
1962
+
1963
+ toggle-user-input
1964
+ toggle user-input
1965
+ toggle userinput
1966
+
1967
+ Working on windows can be a bit inconvenient, but many UNIX/Linux
1968
+ tools are available on windows as well. For instance, the
1969
+ editor <b>nano</b> works on windows. You can invoke it from
1970
+ the Roebe::Shell via:
1971
+
1972
+ nano /Depot/j/foobar.txt # Pass the path to the file to nano.
1973
+
1974
+ Of course this will only work if you have installed the
1975
+ nano-executable on windows too. Use google to find out
1976
+ where to best obtain the nano-executable - I found it
1977
+ from a StackOverflow link in <b>May 2022</b> - and it works! \o/
1978
+
1979
+ To do a silent startup (less verbose) you can do this:
1980
+
1981
+ dia --silent-start # or an alias such as --silent-startup and various more.
1982
+
1983
+ Normally on startup the method startup() is invoked, but
1984
+ this is not always wanted, such as when you want the
1985
+ start-up of the Roebe::Shell to be faster, or to load
1986
+ less stuff. In this case, to disable that for the
1987
+ current run, start a new instance via:
1988
+
1989
+ dia --no-startup
1990
+
1991
+ Various other commandline options are available. For instance, you
1992
+ can toggle whether you are on a roebe-system from the commandline
1993
+ via:
1994
+
1995
+ dia --is-on-roebe
1996
+ dia --is-not-on-roebe
1997
+
1998
+ The first enables this; the second disables this. I needed this
1999
+ on windows in particular.
2000
+
2001
+ ### Assignments within the Roebe::Shell
2002
+
2003
+ The <b>Roebe::Shell</b> allows the user to assign to a main file.
2004
+
2005
+ In order to do so, the user can assign to the main file like this:
2006
+
2007
+ asssign foo.txt
2008
+
2009
+ Now, in several command actions, like copying, you can omit typing
2010
+ the name when this is done.
2011
+
2012
+ Example for this:
2013
+
2014
+ copy to here
2015
+
2016
+ The above command would copy the main file to the current
2017
+ location, aka Dir.pwd (current working directory).
2018
+
2019
+ The Roebe::Shell will do this automatically for at the very
2020
+ least these actions:
2021
+
2022
+ copy a file
2023
+ create a new file
2024
+ when we play an audio file
2025
+ when we open a file in an editor
2026
+ whenever we stat a file
2027
+ whenever we match to a local URL
2028
+ whenever we open a file in the browser
2029
+ whenever we append to a file
2030
+ whenever we use jp2a
2031
+ whenever we play a video file
2032
+ whenever we trigger an action
2033
+ whenever we create an iso
2034
+ whenever we read a file
2035
+
2036
+ ### Editing via the Roebe::Shell and editor support
2037
+
2038
+ The <b>Roebe::Shell</b> needs to allow the user to deal with
2039
+ existing local files as well as creating new files. This
2040
+ is, for the purpose of this subsection called <b>editing</b>.
2041
+
2042
+ To find out which editor is the current main editor in the
2043
+ roebe-shell, do this:
2044
+
2045
+ editor?
2046
+
2047
+ You can switch to another editor by using <b>seted</b> such as
2048
+ via:
2049
+
2050
+ seted bluefish
2051
+
2052
+ This setting is persistent, and will be stored in the file
2053
+ <b class="orange">editor.yml</b>.
2054
+
2055
+ Also note that since as of <b>September 2011</b>, if you try to
2056
+ open a directory, the Roebe::Shell will now open the content
2057
+ of the directory. (Before September 2011, the Roebe::Shell
2058
+ used to display an <i>error message</i> instead.)
2059
+
2060
+ You can also open a local file based on the class name, if the
2061
+ file can be found.
2062
+
2063
+ For instance:
2064
+
2065
+ bl BirthdayNotifications:
2066
+ bl BirthdayNotifications
2067
+
2068
+ The above will try to find a file called birthday_notifications.rb.
2069
+
2070
+ If it can be found then we will open it in the editor.
2071
+
2072
+ Note that as of <b>31.07.2015</b> you can also open a file based on the
2073
+ name of a method defined, if this method is part of the
2074
+ Roebe::Shell Project.
2075
+
2076
+ Example:
2077
+
2078
+ bl show_completable_commands
2079
+
2080
+ This would open the file show.rb because the above method is
2081
+ defined in that file.
2082
+
2083
+ Some editors, such as vim, allow you to jump to a specific line
2084
+ position, such as by doing <b>vim foo.txt +55</b>. We attempt to
2085
+ somewhat simulate this behaviour, in the event that you supply
2086
+ a "<b>:</b>" character, and numbers after that.
2087
+
2088
+ For instance:
2089
+
2090
+ edit foobar.rb:55
2091
+
2092
+ We would assume this to mean "edit the file foobar.rb", and
2093
+ "jump to position 55". Currently this works only via vim though.
2094
+
2095
+ You can also use the traditional vim syntax directly:
2096
+
2097
+ vim $DIA/configuration/configuration.rb +371
2098
+
2099
+ Do note that we will also expand aliases. So if you try to open
2100
+ an alias in your editor, we will expand towards the real file
2101
+ that is used.
2102
+
2103
+ ### Available components of the Roebe::Shell
2104
+
2105
+ Sometimes you may want to find out whether all add-ons are
2106
+ available (and work) on a given computer system, from within
2107
+ a running roebe-shell.
2108
+
2109
+ You can use the following commands to find out whether
2110
+ something is missing or not:
2111
+
2112
+ missing?
2113
+ available_components?
2114
+
2115
+ ### The environment used by the Roebe::Shell and how to modify it
2116
+
2117
+ To retrieve the value of an environment variable, do something
2118
+ like this:
2119
+
2120
+ e $AUDIO
2121
+ echo $AUDIO
2122
+
2123
+ Note that if you input just $AUDIO then we will cd into that
2124
+ variable if it is a directory. Either way the Roebe::Shell will
2125
+ first report the value of this environment variable, before
2126
+ doing a cd-operation. The cd-operation (change directory)
2127
+ will only be done if such a directory exists.
2128
+
2129
+ The key lies in using $ to denote the variable in question, and
2130
+ <b>e</b> is used to echo the content.
2131
+
2132
+ If the variable was not found or defined, we will display a
2133
+ little helpful note to the user.
2134
+
2135
+ Example:
2136
+
2137
+ e $A_VARIABLE_THAT_REALLY_DOES_NOT_EXIST
2138
+
2139
+ Also note that if you do something like:
2140
+
2141
+ e $L*
2142
+
2143
+ Then we will try to feedback all environment variables starting
2144
+ with L.
2145
+
2146
+ To feedback all known environment variables, do this:
2147
+
2148
+ environment?
2149
+
2150
+ You can also sync towards the environment variables.
2151
+
2152
+ What this means is the following:
2153
+
2154
+ Consider that you have defined an environment variable
2155
+ called $EDITOR.
2156
+
2157
+ You can sync towards this by issuing:
2158
+
2159
+ sync_to_environment
2160
+ sync_to_env
2161
+
2162
+ This will update the configuration settings, such as by modifying
2163
+ the file called <b>editor.yml</b> which keeps stored which
2164
+ editor we will be using.
2165
+
2166
+ ### Logging & History for the Roebe::Shell component
2167
+
2168
+ By default, most commands are logged to provide a **history**.
2169
+
2170
+ These will be stored in the yaml file **last_commands.yml**.
2171
+
2172
+ If you don't want history support, you can do:
2173
+
2174
+ disable history
2175
+ save config # If you wish to make this persistent.
2176
+
2177
+ To **re-enable history**, do:
2178
+
2179
+ enable history
2180
+
2181
+ There are a lots of enable and disable functionalities available.
2182
+
2183
+ Try:
2184
+
2185
+ enable HELP
2186
+ disable HELP
2187
+
2188
+ You can also use **--help** rather than **HELP**, or just use the
2189
+ **?** character such as in:
2190
+
2191
+ enable ?
2192
+
2193
+ **?** is assumed to mean "help" here.
2194
+
2195
+ **?** also plays an important role when obtaining extended documentation
2196
+ about the commands available in the help menu. For instance, say you
2197
+ want to understand what **touch** does.
2198
+
2199
+ In this case, you can do this here:
2200
+
2201
+ ?title
2202
+ ?scp
2203
+ ?touch
2204
+
2205
+ The **leading ?** means that the <b>Roebe::Shell</b> will assume that the
2206
+ user has a question about this built-in method. (touch is like the
2207
+ UNIX touch command; we will use it to create a file. You can also
2208
+ use the alias create_file instead if you want to - there is more
2209
+ than one way to do things in ruby. Pick the one you prefer.)
2210
+
2211
+ If a command requires more documentation, send an issue request
2212
+ to add it. (Mostly it follows UNIX/Linux conventions, so touch
2213
+ is used to create a new file, and so forth.)
2214
+
2215
+ This will redirect the content of foo.txt into a file called
2216
+ "this_file".
2217
+
2218
+ You can benchmark (and thus time) how long it takes to
2219
+ load up the components stored via "lazy loading, by issuing
2220
+ the following:
2221
+
2222
+ dia --benchmark
2223
+
2224
+ This currently isn't working 100% correctly, due to various
2225
+ reasons; one being that the current way how the Roebe::Shell
2226
+ loads add-ons via <b>Thread.new {}</b> isn't perfect.
2227
+ However had, minor issues aside, <b>dia --benchmark</b> still
2228
+ yields some important information. I could use it in
2229
+ <b>May 2022</b> to notice some slow-loading add-ons, some
2230
+ of which were mine, which I could then go on and improve
2231
+ upon.
2232
+
2233
+ ### The Roebe::Shell environment
2234
+
2235
+ Initially on startup a copy will be made from <b>Roebe.env?</b>.
2236
+
2237
+ This can lateron be modified by the user and it is valid for
2238
+ the current run.
2239
+
2240
+ ### Configuration - how to configure the Roebe::Shell
2241
+
2242
+ The configuration is kept in the directory **configuration/**
2243
+ within the project, and consists of **individual .yml files**.
2244
+
2245
+ The convention for these yaml files is simple - the name of the yaml
2246
+ file in question will become a **value** on the **configuration object**,
2247
+ which you can then modify.
2248
+
2249
+ For instance, **debug.yml** can be **true** or **false**, and will also
2250
+ be available in the ivariable **@config.debug**.
2251
+
2252
+ ### Tab completion in the Roebe::Shell - typing a command, then pressing the TAB key
2253
+
2254
+ You can tab-complete if you run the Roebe::Shell with Readline support.
2255
+ (If readline is not installed, then we will obtain user input via
2256
+ the traditional $stdin.gets.chomp way)
2257
+
2258
+ Simply start to type something such as "ext" then hit the tab key,
2259
+ and it may give you some choices as to which part to tab complete
2260
+ to.
2261
+
2262
+ Another example would be:
2263
+
2264
+ @configuration.<TAB>
2265
+
2266
+ Also, the main case when menu of the <b>Roebe::Shell</b> is also
2267
+ available for tab-completion.
2268
+
2269
+ <b>Autocompletion</b> means that if you press the TAB key, you will
2270
+ be able to choose from a selection.
2271
+
2272
+ Before explaining this further, give it a try. Start a new
2273
+ instance of <b>Roebe::Shell</b>, and then do this:
2274
+
2275
+ extract|TAB|
2276
+
2277
+ The <b>|TAB|</b> notation here means "<b>press the tab key
2278
+ here</b>". So first you write extract, and then you press
2279
+ the tab key.
2280
+
2281
+ You will get a selection between <b>extract_audio</b> and
2282
+ <b>extract_video</b> and possibly <b>extract_it</b> as well.
2283
+
2284
+ Press v and then TAB again. You will have selected video.
2285
+
2286
+ The file that handles autocompletion is readline.rb, which
2287
+ you can find in the base/ subdirectory.
2288
+
2289
+ Note note that we allow you to autocomplete to the list
2290
+ of available instance variables.
2291
+
2292
+ For instance:
2293
+
2294
+ @al<TAB>
2295
+
2296
+ Would list which instance variables with a name starting
2297
+ with @al exist.
2298
+
2299
+ Additionally, all entries found in $PATH will also be completed.
2300
+
2301
+ As of <b>August 2014</b>, we will also add support for some
2302
+ completions of the Ruby stdlib.
2303
+
2304
+ Since as of <b>September 2015</b>, the roebe-shell will also
2305
+ tab-complete on leading <b>@configuration.</b> entries. This
2306
+ way you can cycle through the available configuration options
2307
+ more quickly.
2308
+
2309
+ Next follows an image screenshot for these options:
2310
+
2311
+ <img src="https://i.imgur.com/QxwHGR7.png" style="margin: 1em">
2312
+
2313
+ ### Encoding used by the Roebe::Shell
2314
+
2315
+ You can specify another encoding to be used for the Roebe::Shell,
2316
+ either in a yaml file, or through ruby code like this method call:
2317
+
2318
+ Roebe::Shell.set_encoding
2319
+ Roebe::Shell.set_encoding :binary # to set to the binary encoding ASCII 8-bit.
2320
+
2321
+ Of course you can also pass in the full name of the Encoding that
2322
+ you want to use, as a String.
2323
+
2324
+ For instance:
2325
+
2326
+ Roebe::Shell.set_encoding 'UTF-8'
2327
+
2328
+ ### Roebe::Shell Commandline
2329
+
2330
+ You can display the commandline options via:
2331
+
2332
+ dia --help
2333
+
2334
+ For instance, if you do not want to read in the default yaml config
2335
+ then you can start the <b>Roebe::Shell</b> via:
2336
+
2337
+ dia --norc
2338
+
2339
+ ### Registering errors and registering information via the Roebe::Shell
2340
+
2341
+ This short subsection just mentions a few methods that may (or should)
2342
+ be called when errors occur.
2343
+
2344
+ If a gem is missing then this should be properly registered via:
2345
+
2346
+ Roebe::Shell.register_this_missing_gem
2347
+
2348
+ That way we could automatically install these missing gems, or
2349
+ at the least inform the user about this properly.
2350
+
2351
+ ### The PID file of the Roebe::Shell component
2352
+
2353
+ We will store the PID in a file, typically called **pid.yml**. On an
2354
+ exit-event, that is when we will exit from a <b>Roebe::Shell</b> instance,
2355
+ we will delete that PID again from that file. That way we can have
2356
+ multiple Roebe::Shell instances running and we can keep track of
2357
+ which ones are running.
2358
+
2359
+ ### Lazy loading by the Roebe::Shell
2360
+
2361
+ Upon startup of the **Roebe::Shell** many components will be
2362
+ loaded in the background, via Thread.new {}.
2363
+
2364
+ The main idea behind this is that the user should be able to
2365
+ type instructions the very moment the shell has started.
2366
+ Waiting is no fun, so this should not reduce usability of
2367
+ the shell. This is also called <b>lazy loading</b>.
2368
+
2369
+ Unfortunately this currently does not work perfectly well.
2370
+ Sometimes race conditions may happen and warnings are
2371
+ shown. For the time being (**May 2022**) this will persist.
2372
+ In the future it is planned to remove this constraint and
2373
+ make loading of add-ons trivial, simple and effective.
2374
+
2375
+ ### Browsers and the Roebe::Shell
2376
+
2377
+ If you designate a browser then you can easily open pages in that
2378
+ browser. There is even code that can try to auto-detect which
2379
+ browser may be the main browser on a system. This currently only
2380
+ works when a file called browser.yml exists, which points to the
2381
+ browser at hand. If it does, and if "is_roebe?" returns true,
2382
+ and if no file could be found at that particular location, then
2383
+ the auto-detection code will try to find another location where
2384
+ the browser may be installed. But this is not failsafe, it may
2385
+ not work.
2386
+
2387
+ ### Future work related to Roebe::Shell
2388
+
2389
+ As you may have noticed, the project is mostly on stand-by mode,
2390
+ largely due to time constraints. While I am still adding and
2391
+ improving things every now and then, I would not call the project
2392
+ very active really.
2393
+
2394
+ I have had lots of ideas to do but either lack of time or lack
2395
+ of knowledge present a block to these ideas.
2396
+
2397
+ At any rate, just for anyone who may be curious, what kind of
2398
+ ideas and changes may be necessary, in order to make this
2399
+ project more complete and more useful as well?
2400
+
2401
+ An incomplete list would include:
2402
+
2403
+ - We need a full replacement for IRB.
2404
+
2405
+ - We need the ability to synchronize between different
2406
+ <b>Roebe::Shell</b>, including local ones and remote ones.
2407
+
2408
+ - RPROMPT from zsh (optional, not mandatory)
2409
+
2410
+ - Friendly help for newcomers (all those help options must be
2411
+ controllable though, so that advanced users can disable these
2412
+ at their own discretion - see the fish shell that really
2413
+ tries hard to be a newbie-friendly shell).
2414
+
2415
+ ### show-method in the Roebe::Shell
2416
+
2417
+ Since as of September 2015, the character <b>$</b> can be used
2418
+ to show the source code to a method.
2419
+
2420
+ Aliases can be used such as:
2421
+
2422
+ show-method
2423
+ show-source
2424
+
2425
+ This allows one to view the source code of a method.
2426
+
2427
+ Usage example:
2428
+
2429
+ show-method trigger_actions
2430
+
2431
+ ### The home directory of the Roebe::Shell
2432
+
2433
+ It is useful to be able to use a designated home directory
2434
+ as far as the Roebe::Shell is concerned.
2435
+
2436
+ You can also designate a new (different) home directory for
2437
+ the Roebe::Shell.
2438
+
2439
+ In other words, this will be the new directory where we will
2440
+ save files to, and so on.'
2441
+
2442
+ The syntax to designate a new home directory, as can be
2443
+ seen if you use --help from the commandline, is as
2444
+ follows:
2445
+
2446
+ roebeshell --home-dir=/opt
2447
+
2448
+ ### Requiring files and projects in the Roebe::Shell
2449
+
2450
+ You can require files and projects in the Roebe::Shell via:
2451
+
2452
+ require 'sinatra'
2453
+ require 'thor'
2454
+
2455
+ If all works fine then no output will be generated by the
2456
+ running Roebe::Shell.
2457
+
2458
+ If the project has not been installed then this will not
2459
+ work, and the user is notified about it, such as via:
2460
+
2461
+ require 'THIS_GEM_DOES_NOT_EXIST'
2462
+
2463
+ Leading to:
2464
+
2465
+ <img src="https://i.imgur.com/DrdWVYc.png" style="margin: 1em">
2466
+
2467
+ This functionality allows the user to use the Roebe::Shell
2468
+ a bit like <b>IRB</b> - not exactly identical, but somewhat
2469
+ similar.
2470
+
2471
+ From within a running instance of the roebe-shell, you can use
2472
+ any of the following commands:
2473
+
2474
+ add_require NAME_OF_GEM
2475
+ add_require roebe
2476
+ addrequire foo
2477
+ addreq foo
2478
+
2479
+ This would add the gem require to the file called:
2480
+
2481
+ FILE_ADDITIONAL_REQUIRE_FILES
2482
+
2483
+ This can be found in the file <b>roebe/shell/shell/shell.rb</b>.
2484
+
2485
+ ### Handling the PATH variable from within a running instance of the Roebe::Shell
2486
+
2487
+ The Roebe::Shell will try to use the
2488
+ <span class="color: yellow; background-color: black; padding: 4px">
2489
+ $PATH environment</span> variable, if it was set.
2490
+
2491
+ All binaries known there will be used for both the completion, and
2492
+ as known-executables. This is similar to how other shells handle
2493
+ the $PATH variable.
2494
+
2495
+ ### Random stuff via the Roebe::Shell
2496
+
2497
+ The file at core/random.rb allows you to do some
2498
+ random things.
2499
+
2500
+ For instance, to play a random video you can issue:
2501
+
2502
+ random video
2503
+
2504
+ ### Redirect output via the Roebe::Shell
2505
+
2506
+ You can redirect the content of a file into another file, similar
2507
+ to bash and zsh.
2508
+
2509
+ Consider the following syntax examples:
2510
+
2511
+ cat foo.txt >> this_file
2512
+ cat foo.rb >> bla.txt
2513
+
2514
+ Since as of November 2015, output can be redirected
2515
+ into a file, in <b>append-mode</b>.
2516
+
2517
+ The above examples will properly append the content of the respective
2518
+ files (foo.txt or foo.rb) into the files given as example above.
2519
+
2520
+ ### The Environment used by the Roebe::Shell
2521
+
2522
+ In ruby, the constant variable **ENV** keeps information about the
2523
+ environment - at the least variables, such as **PATH**. (More
2524
+ about PATH in another subsection of this document here.)
2525
+
2526
+ The Roebe::Shell also keeps a reference copy towards ENV, through @env
2527
+ defined on the top-level namespace. This can be accessed through
2528
+ <b>Roebe::Shell.env?</b>.
2529
+
2530
+ To display the ENV variable you can do the following from within
2531
+ a running instance of the <b>Roebe::Shell</b>:
2532
+
2533
+ ENV
2534
+ display_environment
2535
+
2536
+ ### PATH used by the Roebe::Shell
2537
+
2538
+ The ENV['PATH'] variable determines which path is used for ruby,
2539
+ in particular for system() and similar calls.
2540
+
2541
+ There are various ways how to manipulate the PATH variable from
2542
+ within <b>Roebe::Shell</b>.
2543
+
2544
+ Say that you want to add the PATH variable /System/Index/bin/;
2545
+ then you can issue the following command:
2546
+
2547
+ pathgen.add /System/Index/bin/
2548
+
2549
+ ### Beautiful URL and how it relates to Roebe::Shell
2550
+
2551
+ There is another ruby project called **beautiful_url**. This project,
2552
+ essentially, maps an input argument (a String), into a longer
2553
+ String - normally a remote URL.
2554
+
2555
+ This can also be called from the <b>Roebe::Shell</b>. For example:
2556
+
2557
+ beautiful_url Einführung in die Kohlenhydratchemie
2558
+
2559
+ would display the remote URL of the lecture called **Einführung
2560
+ in die Kohlenhydratchemie**, aka this as a result:
2561
+
2562
+ https://ufind.univie.ac.at/de/course.html?lv=270143&semester=2018S
2563
+
2564
+ This can then be opened in the browser from within the
2565
+ <b>Roebe::Shell</b> too:
2566
+
2567
+ open_in_browser
2568
+ openinbrowser
2569
+
2570
+ ### Date format used by the Roebe::Shell
2571
+
2572
+ If you input a date format such as dd.mm.yyyy then the <b>Roebe::Shell</b>
2573
+ will display which weekday this refers to.
2574
+
2575
+ ### Compiling via the sql-based compiler class
2576
+
2577
+ Since as of <b>August 2022</b> it is possible to make use of
2578
+ the SQL-based compiler class that is part of the rbt gem.
2579
+
2580
+ Invocation example from within the roebe-shell:
2581
+
2582
+ sqler kinit
2583
+ sqler kio
2584
+ sqler make # and so forth
2585
+
2586
+ This was added for convenience reasons mostly, so that
2587
+ we have simple support for this on windows as well,
2588
+ when working with vanilla <b>cmd.exe</b>.
2589
+
2590
+ ### class Roebe::UserInput and the Roebe::Shell
2591
+
2592
+ class <b>Roebe::UserInput</b> was removed in <b>May 2022</b>. It was
2593
+ only used in the Roebe::Shell. When the latter was rewritten in
2594
+ <b>May 2022</b>, the need for a separate class Roebe::UserInput
2595
+ was no longer given. I originally assumed that other projects
2596
+ may benefit from this class, but I realised that not a single
2597
+ other project ever made use of that code - so, better to get
2598
+ rid of "dead" code instead.
2599
+
2600
+ ### The gtk-shell interface
2601
+
2602
+ There is a GUI for the shell, in <b>ruby-gtk3</b>. It is not
2603
+ the prettiest thing in the world, but I wanted to be able to
2604
+ use a GUI for the shell.
2605
+
2606
+ The following picture (taken on <b>IceWM</b>) shows how this
2607
+ may look (in <b>August 2022</b>):
2608
+
2609
+ <img src="https://i.imgur.com/Vb0pySJ.png" style="margin: 1em; border: 2px solid black">
2610
+
2611
+ This may not be extremely pretty, but for now getting the
2612
+ functionality to work without any bugs is the most important
2613
+ objective. At a later this may be improved upon, visually
2614
+ as well.
2615
+
2616
+ Note that the main functionality for this is implemented via a module.
2617
+ That way it also works for <b>libui</b> as-is - and perhaps for a
2618
+ www-interface (via the web, such as sinatra) too, one day.
2619
+
2620
+ I have also tested the <b>libui-shell</b> in <b>August 2022</b> on
2621
+ windows and it works. It is presently not extremely sophisticated,
2622
+ but I think I can enhance it slowly over the coming months. For
2623
+ instance, to evaluate the content of the user input entry
2624
+ continually whenever it has been changed. In the middle of
2625
+ <b>August 2022</b> a small modification was made: if you input
2626
+ the '#' (comment) character then this will be treated as an
2627
+ instruction to have hit the enter-key. This is a hackish
2628
+ workaround for the fact that we currently can not get
2629
+ key-events in libui, but I think it works ok-ish and is
2630
+ more convenient to use than click on a separate button via
2631
+ the mouse pointer.
2632
+
2633
+ ## class Roebe::Configuration::Configuration
2634
+
2635
+ This class used to be a separate project (a standalone gem), but
2636
+ was integrated into the Roebe namespace as of <b>August 2020</b>.
2637
+
2638
+ The main class here, called **Configuration**, is able to act as
2639
+ a hash-like configuration class, similar to open struct. It must
2640
+ be able to properly interpret $ variables as shell-variables on
2641
+ top of it, via the project called **ConvertGlobalEnv**.
2642
+
2643
+ Currently, every key-value pair that exists as part of
2644
+ our Configuration object must be **a standalone yaml file**.
2645
+
2646
+ If such a file can not be found, but a value exists in
2647
+ our hash, the default behaviour is to create this file
2648
+ automatically. This is another difference to **OpenStruct**:
2649
+ I really wanted to use a configuration scheme based
2650
+ <b>solely</b> on yaml files, so this was one reason
2651
+ why the Configuration namespace was written/added.
2652
+
2653
+ We must keep in mind that internal variables and methods
2654
+ defined on the base class Configuration could conflict
2655
+ with user-defined methods, so we have to be very
2656
+ careful when setting values in <b>class Configuration</b>.
2657
+
2658
+ Do note that class Configuration depends in principle
2659
+ on at the least one additional gem:
2660
+
2661
+ convert_global_env # install like so: gem install convert_global_env
2662
+
2663
+ However had, in May 2022 this dependency is no longer
2664
+ mandatory. You could also use the gem called
2665
+ <b>rcfiles</b> instead; it should be a bit faster
2666
+ and it works better on windows, as windows has
2667
+ problems with ENV (or at the least I had problems
2668
+ with cmd.exe in this regard - thus rcfiles also
2669
+ offers a hardcoded solution to this problem. Having
2670
+ hardcoded values is not as elegant, but better to
2671
+ be ugly than to not work at all).
2672
+
2673
+ ## Support for GraalVM
2674
+
2675
+ <b>GraalVM</b> is pretty awesome. In 2022 I am experimenting a LOT
2676
+ with it; if you have not tried using <b>GraalVM</b> yet - or may
2677
+ not have had a use case for Java - I recommend to give GraalVM
2678
+ a try.
2679
+
2680
+ I am re-writing some ruby classes found in the roebe gem into Java -
2681
+ not all of them, mind you, but some just for testing purposes.
2682
+
2683
+ These can then be compiled as <b>static native binary</b>, at the
2684
+ least <b>on linux</b>.
2685
+
2686
+ The commandline flags for this feature go like that:
2687
+
2688
+ roebe --graalvm1
2689
+ roebe --graalvm7 # for instance, refers to the file "Schlafe.java"
2690
+ roebe --graalvm16
2691
+
2692
+ This will take a specific .java file in the main directory
2693
+ and then use GraalVM's native-image to compile them. This
2694
+ will only work if you have graalvm installed, as well as
2695
+ native-image (and ideally upx as well).
2696
+
2697
+ You can also turn all these .java files into executables
2698
+ (on linux) via:
2699
+
2700
+ roebe --allgraal
2701
+
2702
+ This will take quite some time, though. On my home system it takes
2703
+ about 30 minutes; the more .java files are added the longer this
2704
+ will take, so this is really only used by me on a new computer
2705
+ installation.
2706
+
2707
+ ## GUIs: Graphical User Interfaces
2708
+
2709
+ The <b>roebe</b> gem comes with a few GUI bindings. These are mostly just
2710
+ small things, for demo-purposes. For reasons of simplicity I consider
2711
+ www-specific code to be a GUI as well, such as any interface through
2712
+ the sinatra gem.
2713
+
2714
+ Traditionally I have been using ruby-gtk, but since as of 2021 I am also
2715
+ using **libui**. Expect more libui-centric widgets to be added over the
2716
+ coming years.
2717
+
2718
+ To keep track which widgets were ported already the following small table
2719
+ may be useful but it may become outdated eventually:
2720
+
2721
+ (1) show_ten_aliases.rb # Just show the next ten exam topics; evidently only useful on my home system really
2722
+ (2) wlan_interface.rb # This is about 80% complete; the combo-box is missing so far and the middle-buttons.
2723
+ (3) interactive_caesar_cipher.rb # This is mostly complete; could need some minor improvements but for now it's fine.
2724
+ (4) show_aliases # This is mostly complete, about 98%. Perhaps a few minor tweaks but for now it's fine.
2725
+
2726
+ Since as of **September 2021 I** am experimenting with the project called
2727
+ **simple_widgets**. The idea behind this project is to make it
2728
+ possible to use different GUI toolkits. As to whether this will be used
2729
+ for the whole code base remains to be seen.
2730
+
2731
+ For now the first widget has been ported onto SimpleWidgets. Invoke this
2732
+ from the commandline via:
2733
+
2734
+ roebe --caesar-gtk # for the gtk variant
2735
+ roebe --caesar-libui # for the libui variant
2736
+
2737
+ You need ruby-gtk3 and ruby-libui for this, so install these first.
2738
+
2739
+ We there use the same code base, but can support both ruby-gtk as
2740
+ well as ruby-libui at the same time. \o/
2741
+
2742
+ Since as of <b>August 2022</b> the ruby-gtk2 bindings have been
2743
+ mildly deprecated. They may remain as part of the roebe gem,
2744
+ but it is unlikely that any new ruby-gtk2 code is added. ruby-gtk3
2745
+ is better than ruby-gtk2 at this point in time.
2746
+
2747
+ ## class Roebe::DirectoryContent (deprecated since as of 2021)
2748
+
2749
+ This class can display the content of a directory. I needed this
2750
+ class because I had to obtain information about the local
2751
+ filesystem, and then display this on the commandline, via the
2752
+ WWW and via a GUI. So I required a unified interface.
2753
+
2754
+ An older project existed, called show_directory, which was
2755
+ separate and underdocumented. So in September 2020, DirectoryContent
2756
+ was created. The goal is to be extremely well-documented.
2757
+
2758
+ Requiring this class is simple:
2759
+
2760
+ require 'roebe/classes/directory_content/directory_content.rb'
2761
+
2762
+ Using it is simple as well:
2763
+
2764
+ Roebe::DirectoryContent.new # Without any arguments it will default to the cwd.
2765
+ Roebe::DirectoryContent.new(ARGV)
2766
+ Roebe::DirectoryContent.new('/tmp/')
2767
+
2768
+ Internally the instance variable @work_on_this_directory will keep
2769
+ track of the directory that is the target for this class.
2770
+
2771
+ All findings from a given directory will be stored in a Hash, aptly
2772
+ named **@hash**.
2773
+
2774
+ Since as of <b>June 2021</b> this is again different. Use the gem called
2775
+ **directory_paradise** instead. The above documentation has to be
2776
+ changed, but the internal code has not yet - stay tuned, and keep in
2777
+ mind to transition into **directory_paradise** instead. The code
2778
+ in directory_paradise should be easier to maintain, too.
2779
+
2780
+ ## class Roebe::ExtractDocumentation
2781
+
2782
+ class Roebe::ExtractDocumentation can be used to quickly show
2783
+ the comments for a given method in ruby.
2784
+
2785
+ Usage example:
2786
+
2787
+ require 'roebe/classes/extract_documentation.rb'
2788
+ _ = Roebe::ExtractDocumentation.new(['file_here.rb', 'method_name_there']); _.report_result
2789
+ _ = Roebe::ExtractDocumentation.new(['foobar.rb', 'run']); _.report_result
2790
+
2791
+ Or via aliases on the commandline:
2792
+
2793
+ edoc $RUBY_ROEBE/classes/wikipedia.rb run
2794
+
2795
+ Last argument is the name of the method you want to find out
2796
+ its documentation.
2797
+
2798
+ ## class Roebe::ReportHowManyClassesExistForThisDirectory
2799
+
2800
+ This class can report how many ruby classes are in a
2801
+ given directory.
2802
+
2803
+ Example output:
2804
+
2805
+ A total of 391 classes were discovered in the directory /home/x/programming/ruby/src/rbt/
2806
+
2807
+ This does not work too terribly well, but if you just
2808
+ want to get a quick overview then this should work
2809
+ somewhat fine.
2810
+
2811
+ ## class Roebe::ModifyShebangHeader
2812
+
2813
+ This class can be used to modify the shebang entry of
2814
+ one (or several) .rb files.
2815
+
2816
+ On windows the shebang I use is c:/ruby/bin/ruby. When I
2817
+ set a .rb file to use this shebang line then apache-served
2818
+ .cgi scripts work, so it shows that this does indeed
2819
+ work.
2820
+
2821
+ To enable the assumption of a windows-shebang like this
2822
+ pass the options --is-on-windows to this class.
2823
+
2824
+ <b>Be careful when using this class - it will not
2825
+ keep any backups, so make sure that you backed up
2826
+ your data prior to running this class.</b>
2827
+
2828
+ ## class Roebe::StartProgram
2829
+
2830
+ You can use class <b>Roebe::StartProgram</b> to start any program:
2831
+
2832
+ require 'roebe/classes/start_program.rb'
2833
+ Roebe::StartProgram.new
2834
+ Roebe::StartProgram.new :firefox
2835
+
2836
+ This class was created because some programs, such as chrome,
2837
+ require additional commandline arguments. As I was tired to
2838
+ have this spread out into different aliases, I thought it
2839
+ may be better to bundle this into one class.
2840
+
2841
+ ## Support for jruby and Java
2842
+
2843
+ I have only fairly recently (<b>December 2021</b>) started to use jruby
2844
+ more seriously, mostly due to windows support and the swing GUI
2845
+ toolkit for java. On Linux I can use gtk just fine; and we have
2846
+ browsers, for cross-GUIs - but I wanted to be able to offer
2847
+ <b>native windows-support</b>. So jruby seemed like an interesting
2848
+ aspect in this regard.
2849
+
2850
+ Right now there is not much to show.
2851
+
2852
+ The only change I did was to add commandline support for
2853
+ one GUI so far:
2854
+
2855
+ roebe --jcipher
2856
+ roebe --jruby1
2857
+
2858
+ It is not complete either; the ruby-gtk3 variant works better.
2859
+ But I consider this more as a proof-of-concept. Who knows,
2860
+ in the future this part may be extended, to have more jruby
2861
+ support.
2862
+
2863
+ Since as of <b>July 2022</b> I am also planning to port <b>some</b> of
2864
+ the roebe classes into Java. Probably not every class will be ported
2865
+ to Java, but I wanted to make at the least some of these classes
2866
+ available in Java as well.
2867
+
2868
+ The following table mentions some of the porting efforts so far:
2869
+
2870
+ class name in Ruby | class name in Java | % ported (estimate)
2871
+ ---------------------------|---------------------------------|--------------------
2872
+ Roebe::TakeScreenshot | TakeScreenshot.java | 80%
2873
+ Roebe::ShowPrimeNumbers | ShowPrimeNumbers.java | 10%
2874
+ Roebe::Translate | Translate.java | 80%
2875
+ Roebe::ToSquashfs | ToSquashfs.java | 70%
2876
+ Roebe::Schlafe | Schlafe.java | 100%
2877
+
2878
+ ## class Roebe::DoInstall
2879
+
2880
+ <b>class Roebe::DoInstall</b> is used to primarily combine:
2881
+
2882
+ ./configure --prefix=/usr
2883
+ make
2884
+ make install
2885
+
2886
+ Into one class.
2887
+
2888
+ On my home system I aliased this to "doit", so I just cd to a
2889
+ directory and then invoke "doit".
2890
+
2891
+ Example:
2892
+
2893
+ cd /home/x/Temp/rbt/php-8.2.0
2894
+ doit
2895
+
2896
+ This will compile php for me, for instance, without me having
2897
+ to type the above three separate commands.
2898
+
2899
+ This works not only for GNU configure but also for cmake,
2900
+ meson/ninja and python <b>setup.py</b> files.
2901
+
2902
+ Additionally since as of December 2022 a few configure options
2903
+ are available, such as <b>--use-configure</b>. What is this
2904
+ configure option doing?
2905
+
2906
+ Take the above example again, where php is compiled.
2907
+
2908
+ If I do:
2909
+
2910
+ doit --use-configure
2911
+
2912
+ rather than:
2913
+
2914
+ doit
2915
+
2916
+ then the default configure options for PHP, stored in the
2917
+ rbt gem, will be used.
2918
+
2919
+ The output would then be this:
2920
+
2921
+ ./configure --prefix=/usr --enable-bcmath --enable-calendar --enable-cli --enable-dba=shared --enable-force-redirect --disable-libzip
2922
+
2923
+ So I don't even have to remember any configure options
2924
+ per se. I just pass that flag onto the class via
2925
+ the commandline.
2926
+
2927
+ Various shorter aliases exist for <b>--use-configure</b>
2928
+ such as <b>--coptions</b>.
2929
+
2930
+ ## Counting words
2931
+
2932
+ You can use <b>bin/word_count</b> to count the number of
2933
+ words in a string/sentence/document on the commandline.
2934
+
2935
+ ## Roebe::JavaRunner
2936
+
2937
+ This small ad-hoc class can be used to quickly pass some
2938
+ java-code (as argument), put it into a .java file and
2939
+ then run/compile that file automatically.
2940
+
2941
+ I needed this class so that I can quickly test some java
2942
+ code, perhaps even autogenerate more java code in general.
2943
+ Via <b>Roebe::JavaRunner</b> I can quickly compile any
2944
+ java-code, as-is.
2945
+
2946
+
2947
+ ## Contact information and mandatory 2FA coming up in 2022
2948
+
2949
+ If your creative mind has ideas and specific suggestions to make this gem
2950
+ more useful in general, feel free to drop me an email at any time, via:
2951
+
2952
+ shevy@inbox.lt
2953
+
2954
+ Before that email I used an email account at Google gmail, but in **2021** I
2955
+ decided to slowly abandon gmail, for various reasons. In order to limit the
2956
+ explanation here, allow me to just briefly state that I do not feel as if I
2957
+ want to promote any Google service anymore when the user becomes the
2958
+ product (such as via data collection by upstream services). I feel this is
2959
+ a hugely flawed business model.
2960
+
2961
+ Do keep in mind that responding to emails may take some time, depending on
2962
+ the amount of work I may have at that moment.
2963
+
2964
+ In <b>2022</b> rubygems.org, or rather the corporate overlords who control the
2965
+ rubygems.org infrastructure these days, decided to make 2FA mandatory for every
2966
+ gem owner eventually: see
2967
+ https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html
2968
+
2969
+ Mandatory 2FA will eventually be extended to all rubygems.org developers and
2970
+ maintainers. As I can not use 2FA, for reasons I will skip explaining here,
2971
+ this means that my projects will eventually be taken over by shopify (or,
2972
+ correspondingly, whoever effectively controls the rubygems.org ecosystem).
2973
+ At that point, I no longer have any control what is done to my projects
2974
+ since shopify (respectively those controlling the gems ecosystem) took away
2975
+ control here. Not sure at which point ruby became corporate-controlled -
2976
+ that was not the case several years ago.
2977
+
2978
+ Ruby also only allows 2FA users to participate on the issue tracker these
2979
+ days:
2980
+
2981
+ https://bugs.ruby-lang.org/issues/18800
2982
+