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