roebe 0.5.191 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +89 -41
- data/bin/create_my_directories +2 -2
- data/bin/{ruby_dhcpcd → dhcpcd_wrapper} +1 -1
- data/bin/start_lighty +1 -1
- data/doc/README.gen +78 -15
- data/doc/core/array.md +24 -23
- data/doc/core/gem_and_gemspec.md +12 -11
- data/doc/core/hash.md +6 -0
- data/doc/core/misc.md +23 -20
- data/doc/core/regex.md +1 -1
- data/doc/core/stderr.md +16 -0
- data/doc/deprecations/deprecations.md +2 -1
- data/doc/statistics/statistics.md +1 -0
- data/lib/roebe/actions/actions.rb +80 -0
- data/lib/roebe/base/colours.rb +52 -19
- data/lib/roebe/base/misc.rb +30 -1
- data/lib/roebe/base/opnn.rb +7 -0
- data/lib/roebe/browser/output_url_then_open_in_browser.rb +18 -15
- data/lib/roebe/classes/alltagsgeschichte.rb +1 -1
- data/lib/roebe/classes/at.rb +2 -2
- data/lib/roebe/classes/auto_rename_file_based_on_its_creation_date.rb +24 -12
- data/lib/roebe/classes/books/books.rb +234 -142
- data/lib/roebe/classes/books/finished_books/finished_books.rb +10 -3
- data/lib/roebe/classes/books/menu.rb +25 -16
- data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +0 -1
- data/lib/roebe/classes/check_yaml.rb +15 -11
- data/lib/roebe/classes/compile_kernel.rb +3 -1
- data/lib/roebe/classes/contacts/contacts.rb +104 -0
- data/lib/roebe/classes/contacts/gui/universal_widgets/contacts.rb +168 -0
- data/lib/roebe/classes/contacts/shared_code.rb +344 -0
- data/lib/roebe/classes/copy_kernel_config.rb +5 -3
- data/lib/roebe/classes/create_desktop_file.rb +1 -1
- data/lib/roebe/classes/create_file_skeleton/constants.rb +1 -1
- data/lib/roebe/classes/create_file_skeleton/generate_ruby_string.rb +20 -20
- data/lib/roebe/classes/create_file_skeleton/reset.rb +19 -16
- data/lib/roebe/classes/create_my_directories.rb +12 -10
- data/lib/roebe/classes/dhcpcd/{dhcpcd.rb → dhcpcd_wrapper.rb} +137 -95
- data/lib/roebe/classes/dhcpcd/kill_dhcpcd.rb +2 -2
- data/lib/roebe/classes/do_install.rb +7 -6
- data/lib/roebe/classes/done.rb +1 -1
- data/lib/roebe/classes/downcase_extension.rb +4 -4
- data/lib/roebe/classes/email.rb +44 -40
- data/lib/roebe/classes/enable.rb +1 -1
- data/lib/roebe/classes/generate_alsa_conf.rb +4 -4
- data/lib/roebe/classes/generate_overview_of_the_locally_available_books.rb +5 -3
- data/lib/roebe/classes/github.rb +1 -1
- data/lib/roebe/classes/kde/install_this_konsole_theme.rb +1 -1
- data/lib/roebe/classes/{handle_lighttpd.rb → lighttpd/lighttpd_wrapper.rb} +55 -47
- data/lib/roebe/classes/make_gem.rb +49 -35
- data/lib/roebe/classes/mbl.rb +6 -4
- data/lib/roebe/classes/readme_generator/readme_generator.rb +597 -1
- data/lib/roebe/classes/remove_trailing_newline.rb +82 -0
- data/lib/roebe/classes/report_how_many_files_are_in_this_directory.rb +83 -0
- data/lib/roebe/classes/rxinitrc/constants.rb +7 -5
- data/lib/roebe/classes/rxinitrc/rxinitrc.rb +8 -4
- data/lib/roebe/classes/set_background.rb +14 -0
- data/lib/roebe/classes/show_ten_aliases.rb +15 -3
- data/lib/roebe/classes/simple_boot_script.rb +1 -1
- data/lib/roebe/classes/size_of.rb +9 -7
- data/lib/roebe/classes/tales_from_the_crypt.rb +1 -1
- data/lib/roebe/classes/update.rb +4 -11
- data/lib/roebe/classes/upload_to_imgur.rb +64 -35
- data/lib/roebe/commandline/misc.rb +28 -28
- data/lib/roebe/constants/array_install_these_gem_projects.rb +1 -1
- data/lib/roebe/constants/constants.rb +8 -1
- data/lib/roebe/constants/emojis.rb +0 -19
- data/lib/roebe/constants/file_and_directory_constants.rb +2 -2
- data/lib/roebe/constants/misc.rb +10 -2
- data/lib/roebe/constants/roebe.rb +2 -0
- data/lib/roebe/custom_methods/module.rb +45 -16
- data/lib/roebe/fonts/fonts.rb +39 -0
- data/lib/roebe/gui/universal_widgets/books/books.rb +232 -0
- data/lib/roebe/hello_world/hello_world.rb +0 -0
- data/lib/roebe/irb/clean_irbrc +1 -0
- data/lib/roebe/math/log10.rb +3 -3
- data/lib/roebe/math/the_collatz_problem.rb +104 -0
- data/lib/roebe/{toplevel_methods/lighttpd.rb → requires/require_lighttpd.rb} +2 -2
- data/lib/roebe/shell/shell/shell.rb +6 -6
- data/lib/roebe/shell_scripts/README.md +0 -0
- data/lib/roebe/shell_scripts/bashrc +0 -0
- data/lib/roebe/shell_scripts/konsole_tabs.sh +6 -0
- data/lib/roebe/shell_scripts/lfs/001_binutils_1.sh +10 -2
- data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +33 -3
- data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +1 -0
- data/lib/roebe/shell_scripts/lfs/004_glibc_1.sh +5 -2
- data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +8 -1
- data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +5 -2
- data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +5 -4
- data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +15 -1
- data/lib/roebe/shell_scripts/lfs/025_ruby_2.sh +13 -0
- data/lib/roebe/shell_scripts/lfs/README.md +0 -0
- data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +56 -16
- data/lib/roebe/toplevel_methods/module_methods.rb +5 -3
- data/lib/roebe/toplevel_methods/to_mp3.rb +1 -1
- data/lib/roebe/version/version.rb +2 -2
- data/lib/roebe/wasm/README.md +7 -0
- data/lib/roebe/wasm/enable_simple_puts_output.rb +9 -0
- data/lib/roebe/wasm/wasm_examples.html +43 -0
- data/lib/roebe/www/LEDS/LEDS.rb +35 -25
- data/lib/roebe/www/RNA/RNA.cgi +42 -1
- data/lib/roebe/www/algorithms/algorithms.rb +40 -0
- data/lib/roebe/www/analytical_chemistry/content.md +6 -0
- data/lib/roebe/www/animals/animals.cgi +25 -0
- data/lib/roebe/www/bioanalytik/bioanalytik.cgi +90 -0
- data/lib/roebe/www/biotechnology/biotechnology.rb +39 -3
- data/lib/roebe/www/cellbiology/cellbiology.rb +19 -2
- data/lib/roebe/www/chemistry/S/303/244uren_Basen_und_der_pH_Wert/S/303/244uren_Basen_und_der_pH_Wert.cgi +242 -0
- data/lib/roebe/www/chemistry/chemistry.rb +10 -258
- data/lib/roebe/www/chemistry/css_rules.css +67 -0
- data/lib/roebe/www/chemistry/die_quantenzahlen/die_quantenzahlen.cgi +123 -0
- data/lib/roebe/www/chemistry/funktionelle_gruppen_in_der_chemie/funktionelle_gruppen_in_der_chemie.cgi +52 -0
- data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.rb +37 -42
- data/lib/roebe/www/chromium +1 -0
- data/lib/roebe/www/cognitive_biology/cognitive_biology.cgi +18 -3
- data/lib/roebe/www/erste_hilfe/erste_hilfe.cgi +215 -62
- data/lib/roebe/www/fonts/fonts.cgi +245 -0
- data/lib/roebe/www/genomics/genomics.rb +4 -0
- data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +117 -102
- data/lib/roebe/www/hardware/netzteile/netzteile.cgi +94 -0
- data/lib/roebe/www/immunology/immunology.rb +131 -7
- data/lib/roebe/www/insekten/insekten.md +27 -0
- data/lib/roebe/www/lighttpd/autogenerated_lighttpd.conf +7 -3
- data/lib/roebe/www/lighttpd/configuration/index.conf +7 -4
- data/lib/roebe/www/lighttpd/lighttpd.rb +6 -6
- data/lib/roebe/www/linux/antiX/antiX.rb +7 -4
- data/lib/roebe/www/linux/linux.rb +9 -11
- data/lib/roebe/www/linux/linuxmint/linuxmint.rb +33 -0
- data/lib/roebe/www/linux/slackware/slackware.rb +136 -27
- data/lib/roebe/www/linux/void/void.rb +34 -8
- data/lib/roebe/www/linux_commands/linux_commands.rb +6 -6
- data/lib/roebe/www/lyrics/lyrics.rb +1 -1
- data/lib/roebe/www/metabolic_pathways/metabolic_pathways.rb +5 -1
- data/lib/roebe/www/microbiology/microbiology.rb +17 -2
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +1086 -2
- data/lib/roebe/www/mitochondria/mitochondria.cgi +16 -2
- data/lib/roebe/www/module_www.rb +2 -3
- data/lib/roebe/www/neurobiology/neurobiology.rb +20 -3
- data/lib/roebe/www/pdf/pdf.rb +13 -0
- data/lib/roebe/www/physics/physics.rb +20 -4
- data/lib/roebe/www/physiology/physiology.rb +5 -1
- data/lib/roebe/www/play_this_video_file/play_this_video_file.cgi +1 -1
- data/lib/roebe/www/programming_advice/programming_advice.cgi +36 -0
- data/lib/roebe/www/programming_advice/programming_advice.md +358 -0
- data/lib/roebe/www/psychologie/psychologie.rb +7 -1
- data/lib/roebe/www/science/science.rb +6 -0
- data/lib/roebe/www/sex_and_reproduction/sex_and_reproduction.cgi +18 -2
- data/lib/roebe/www/statistik/statistik.rb +6 -1
- data/lib/roebe/www/structural_biology/structural_biology.cgi +18 -0
- data/lib/roebe/www/the_cell_cycle/the_cell_cycle.cgi +27 -0
- data/lib/roebe/www/video/video.rb +1 -1
- data/lib/roebe/www/virology/virology.rb +12 -1
- data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +70 -28
- data/lib/roebe/www/waschmaschinen/waschmaschinen.rb +5 -4
- data/lib/roebe/www/xfce/xfce.cgi +5 -4
- data/lib/roebe/www/xorg/xorg.rb +3 -202
- data/lib/roebe/www/yeast/yeast.rb +4 -2
- data/lib/roebe/www/yubiko/yubiko.cgi +49 -0
- data/lib/roebe/yaml/{autostart_these_programs.yml → autostart_these_programs/autostart_these_programs.yml} +7 -6
- data/lib/roebe/yaml/books/favourite_books.yml +11 -9
- data/lib/roebe/yaml/directory_structure.yml +2 -0
- data/lib/roebe/yaml/use_this_editor/use_this_editor.yml +1 -0
- metadata +39 -20
- data/lib/roebe/classes/readme_generator/constants.rb +0 -21
- data/lib/roebe/classes/readme_generator/initialize.rb +0 -38
- data/lib/roebe/classes/readme_generator/misc.rb +0 -548
- data/lib/roebe/classes/readme_generator/reset.rb +0 -28
- data/lib/roebe/classes/readme_generator/run.rb +0 -20
- data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +0 -31
- data/lib/roebe/www/cognitive_biology/cognitive_biology.html +0 -40634
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +0 -1055
- data/lib/roebe/www/programming_advice/programming_advice.yml +0 -31
- data/lib/roebe/yaml/main_editor.yml +0 -1
@@ -21,7 +21,7 @@ body_css_class 'mar0px s2px padt2px VERDANAs'
|
|
21
21
|
body_css_style 'background-color: #d3d2d1;'
|
22
22
|
default_font_size
|
23
23
|
|
24
|
-
|
24
|
+
smaller_width('mar0px pad0px s0_6em') {
|
25
25
|
h1 dot(106, 'marr8px')+
|
26
26
|
'Mitochondria',
|
27
27
|
'mart1px marb0_5em'
|
@@ -49,7 +49,21 @@ doc('mar0px pad0px s0_6em') {
|
|
49
49
|
dimg 'science/biology/organelles/TEM_Bild_eines_Mitochondriums.png',
|
50
50
|
'mar0_5em mars3em bblack3'
|
51
51
|
br
|
52
|
-
}
|
52
|
+
}
|
53
|
+
# === Slogans
|
54
|
+
fancy3 'Slogans'
|
55
|
+
p_default_le {
|
56
|
+
e 'Mutationen ereignen sich in der DNA von Mitochondrien mindestens
|
57
|
+
10-mal häufiger als in der DNA des Zellkerns.'
|
58
|
+
br
|
59
|
+
e 'Mitochondriale DNA wird über weibliche Linien vererbt.'
|
60
|
+
br
|
61
|
+
e 'Hauptaufgabe der Mitochondrien ist die <b>oxidative
|
62
|
+
Phosphorylierung</b>.'
|
63
|
+
br
|
64
|
+
e 'Mitochondrien werden auch die <b>Kraftwerke der Zelle</b>
|
65
|
+
genannt.'
|
66
|
+
}
|
53
67
|
p_default('mars1em BOLD') {
|
54
68
|
science_hyperlinks { :use_unicode_right_arrows }
|
55
69
|
}
|
data/lib/roebe/www/module_www.rb
CHANGED
@@ -111,9 +111,8 @@ module WWW # === Roebe::WWW
|
|
111
111
|
# ======================================================================= #
|
112
112
|
send(use_this_fancy_variant, 'Der Calvin Zyklus')
|
113
113
|
p_default_le {
|
114
|
-
e 'The Calvin cycle transforms inorganic carbon in the form of
|
115
|
-
|
116
|
-
carbohydrates.'
|
114
|
+
e 'The Calvin cycle transforms inorganic carbon in the form of carbon
|
115
|
+
dioxide (CO₂) into organic carbon in the form of carbohydrates.'
|
117
116
|
br
|
118
117
|
e 'Der Calvin-Zyklus synthetisiert <b>Hexosen</b>.'
|
119
118
|
br
|
@@ -5,7 +5,7 @@ body_css_class 'mar0px s1px padt1px VERDANAs'
|
|
5
5
|
body_css_style 'background-color: #d3d2d1;'
|
6
6
|
default_font_size_and_hyperlinks
|
7
7
|
|
8
|
-
|
8
|
+
smaller_width('mar0px pad0px s0_8em') {
|
9
9
|
h1 'Neurobiology',
|
10
10
|
'mart1px marb0_1em'
|
11
11
|
# =========================================================================== #
|
@@ -362,7 +362,24 @@ preferred_width('mar0px pad0px s0_8em') {
|
|
362
362
|
earrow 'Homeostasis often relies on cooperation
|
363
363
|
between the motor and autonomic nervous systems.'
|
364
364
|
br
|
365
|
-
earrow 'The PNS transmits information to and
|
366
|
-
|
365
|
+
earrow 'The PNS transmits information to and from
|
366
|
+
the CNS.'
|
367
|
+
br
|
368
|
+
earrow 'In a constant environment humans exhibit
|
369
|
+
a sleep/wake cycle of 24.2 hours.'
|
370
|
+
br
|
371
|
+
earrow 'The ruptured follicle left behind after
|
372
|
+
ovulation develops into the <b>corpus luteum</b>.'
|
373
|
+
br
|
374
|
+
earrow 'The ability to sense and react originated
|
375
|
+
billions of years ago <b>in prokaryotes</b>.'
|
376
|
+
br
|
377
|
+
earrow 'Hippocampal damage and memory loss are
|
378
|
+
common in the early stages of Alzheimer’s
|
379
|
+
disease.'
|
380
|
+
br
|
381
|
+
earrow 'The sympathetic and parasympathetic divisions of
|
382
|
+
the autonomic nervous system have largely antagonistic
|
383
|
+
(opposite) functions in regulating organ function.'
|
367
384
|
}
|
368
385
|
}}
|
data/lib/roebe/www/pdf/pdf.rb
CHANGED
@@ -16,6 +16,19 @@ smaller_width('mar0px pad6px s0_8em') {
|
|
16
16
|
h1 sg('PC/PDF_FAVICON.png','marr8px')+
|
17
17
|
'Wissenswertes über PDF',
|
18
18
|
'mart1px'
|
19
|
+
# ========================================================================= #
|
20
|
+
# === Wie fügen wir eine Unterschrift in eine .pdf Datei ein?
|
21
|
+
# ========================================================================= #
|
22
|
+
p_default_le {
|
23
|
+
frage 'Wie fügen wir eine Unterschrift in eine .pdf Datei ein?'
|
24
|
+
br
|
25
|
+
e 'Dies geht mittels <b>Xournalpp</b>.'
|
26
|
+
br
|
27
|
+
e 'Siehe die folgende Anleitung:'
|
28
|
+
br
|
29
|
+
read_and_display '../xournalpp/content.md',
|
30
|
+
css_style: 'font-size: 1.2em'
|
31
|
+
}
|
19
32
|
p_default_le {
|
20
33
|
frage 'Wie können wir eine .ppt Datei in eine .pdf Datei konvertieren?'
|
21
34
|
br
|
@@ -42,10 +42,12 @@ def counter(i)
|
|
42
42
|
e @counter.to_s+' '+i.to_s
|
43
43
|
end
|
44
44
|
|
45
|
-
|
45
|
+
smaller_width('pad0px s0_7em mar0px') {
|
46
46
|
h1 sg(:dot109, 'marr8px pad8px')+
|
47
47
|
'Alles über Physik',
|
48
|
-
'wid70 pad12px s0px mar2px mart1px'
|
48
|
+
'wid70 pad12px s0px mar2px mart1px',
|
49
|
+
'',
|
50
|
+
'border-radius: 12px;'
|
49
51
|
p_default_le {
|
50
52
|
e 'Mithilfe von Gleichungen in der Physik kann der Mensch seine
|
51
53
|
Umgebung beschreiben.'
|
@@ -56,8 +58,8 @@ doc_default_width('pad0px s0_5em mar0px') {
|
|
56
58
|
h4 'Energie um ein Auto zum Beschleunigen zu bringen',
|
57
59
|
'marb1px'
|
58
60
|
p('entry') {
|
59
|
-
e 'Welche Energiemenge ist notwendig, um ein Auto mit
|
60
|
-
|
61
|
+
e 'Welche Energiemenge ist notwendig, um ein Auto mit einer Masse von
|
62
|
+
1,5 Tonnen aus dem Stillstand auf
|
61
63
|
50 km/h zu beschleunigen? Welche Energie ist notwendig
|
62
64
|
um das gleiche Auto von 50 auf 100 zu beschleunigen?'
|
63
65
|
br
|
@@ -283,6 +285,20 @@ doc_default_width('pad0px s0_5em mar0px') {
|
|
283
285
|
}
|
284
286
|
fancy_spacer
|
285
287
|
# ========================================================================= #
|
288
|
+
# === SI Einheiten (SI tag)
|
289
|
+
# ========================================================================= #
|
290
|
+
fancy2 'SI Einheiten'
|
291
|
+
table3('mars1em fancy_table_spacing','','',
|
292
|
+
'<b>Symbol</b>','<b>Name</b>','<b>Quantity</b>',
|
293
|
+
'(1) s','second','time',
|
294
|
+
'(2) m','metre','length',
|
295
|
+
'(3) kg','kilogram','mass',
|
296
|
+
'(4) A','ampere','electric current',
|
297
|
+
'(5) K','kelvin','thermodynamic temperature',
|
298
|
+
'(6) mol','mole','amount of substance',
|
299
|
+
'(7) cd','candela','luminous intensity'
|
300
|
+
)
|
301
|
+
# ========================================================================= #
|
286
302
|
# === Nicht-SI Einheiten
|
287
303
|
# ========================================================================= #
|
288
304
|
fancy2 'Nicht-SI Einheiten'
|
@@ -11,7 +11,7 @@ body_css_class 'mar0px s2px padt2px VERDANAs'
|
|
11
11
|
body_css_style 'background-color: #d3d2d1;'
|
12
12
|
default_font_size_and_hyperlinks
|
13
13
|
|
14
|
-
|
14
|
+
smaller_width('mar0px pad0px s0_5em') {
|
15
15
|
h1 dot(106, 'marr8px')+
|
16
16
|
'Physiology',
|
17
17
|
'mart1px marb0_5em'
|
@@ -368,6 +368,10 @@ doc_smaller_width('mar0px pad0px s0_5em') {
|
|
368
368
|
br
|
369
369
|
e 'The human organs all work selflessly toward the good of
|
370
370
|
the whole body.'
|
371
|
+
br
|
372
|
+
e 'The osmolarity of human blood is about 300 milliosmoles
|
373
|
+
per liter (mOsm/L), whereas that of seawater is about
|
374
|
+
1000 mOsm/L.'
|
371
375
|
}
|
372
376
|
}
|
373
377
|
}}
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# http://localhost/programming/ruby/src/roebe/lib/roebe/www/play_this_video_file/play_this_video_file.cgi
|
14
14
|
# =========================================================================== #
|
15
15
|
require 'cyberweb/autoinclude'
|
16
|
-
require 'multimedia_paradise/constants/
|
16
|
+
require 'multimedia_paradise/constants/constants.rb'
|
17
17
|
require 'multimedia_paradise/toplevel_methods/return_all_video_files.rb'
|
18
18
|
|
19
19
|
english('Play this video file') {
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# http://localhost/programming/ruby/src/roebe/lib/roebe/www/programming_advice/programming_advice.cgi
|
6
|
+
# =========================================================================== #
|
7
|
+
require 'cyberweb/autoinclude'
|
8
|
+
english('Programming') {
|
9
|
+
created_on '12.02.2024' # Monday.
|
10
|
+
autoextend
|
11
|
+
ruby_favicon
|
12
|
+
default_template ''
|
13
|
+
body_css_class 'mar0px s2px padt2px VERDANAs'
|
14
|
+
body_css_style 'background-color: #d3d2d1;'
|
15
|
+
default_hyperlinks
|
16
|
+
font_size '1.2em'
|
17
|
+
|
18
|
+
smaller_width('mar0px pad0px s0_8em') {
|
19
|
+
h1 title?,
|
20
|
+
'mart1px marb0_5em'
|
21
|
+
p_default_le {
|
22
|
+
e "One problem in larger software stacks is that critical
|
23
|
+
decisions aren’t easily reversible. Once you decide to use
|
24
|
+
this vendor’s database, or that architectural pattern, or
|
25
|
+
a certain deployment model, you are committed to a course
|
26
|
+
of action that cannot be undone, except at great
|
27
|
+
expense."
|
28
|
+
}
|
29
|
+
# ========================================================================= #
|
30
|
+
# === Slogans
|
31
|
+
# ========================================================================= #
|
32
|
+
h2 'Slogans'
|
33
|
+
p_default_le {
|
34
|
+
display_this_file_without_comments 'programming_advice.md', css_style: 'font-size: 1.2em'
|
35
|
+
}
|
36
|
+
}}
|
@@ -0,0 +1,358 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# === programming_advice.yml
|
3
|
+
#
|
4
|
+
# This is useful programming advice in general, no matter which paradigm
|
5
|
+
# is in use.
|
6
|
+
# =========================================================================== #
|
7
|
+
|
8
|
+
- Express what you mean, simply and directly.
|
9
|
+
|
10
|
+
- Store in one location and preferably only one.
|
11
|
+
|
12
|
+
- Each module should do one thing well.
|
13
|
+
|
14
|
+
- Let the data structure the program.
|
15
|
+
|
16
|
+
- Make it right before you make it faster.
|
17
|
+
|
18
|
+
- Keep it right when you make it faster.
|
19
|
+
|
20
|
+
- Die Basis der objektorientierten Programmierung eines Softwaresystems
|
21
|
+
ist das Modellieren einer Aufgabe durch kooperierende Objekte.
|
22
|
+
|
23
|
+
- The essence of the recursive approach lies in applying the same
|
24
|
+
decomposition at each stage of a given solution.
|
25
|
+
|
26
|
+
- The main advantage of recursion as a solution technique is that
|
27
|
+
it provides a powerful mechanism for managing complexity.
|
28
|
+
|
29
|
+
- Choosing the correct means of abstraction makes programming easier.
|
30
|
+
|
31
|
+
- Encapsulation is the protection against unauthorized access to
|
32
|
+
the internal state of an object via a uniquely defined interface.
|
33
|
+
|
34
|
+
- Objects communicate with one another through messages.
|
35
|
+
|
36
|
+
- Abstraction: a model is always a reduced representation of
|
37
|
+
the system that it represents.
|
38
|
+
|
39
|
+
- The ever-increasing complexity of modern software systems can
|
40
|
+
only be managed with suitable means of abstraction.
|
41
|
+
|
42
|
+
- Models can be used to describe software systems.
|
43
|
+
|
44
|
+
- Floating point numbers are represented as an approximation within
|
45
|
+
a computer system.
|
46
|
+
|
47
|
+
- A well-designed object in OOP-centric programming languages
|
48
|
+
does the minimum required to get its job done.
|
49
|
+
|
50
|
+
- It is always worth trying to write programs that write programs.
|
51
|
+
Anything you have to do repeatedly may be ripe for automation.
|
52
|
+
|
53
|
+
- The problem with obscure code is that debugging and modification
|
54
|
+
become much more difficult.
|
55
|
+
|
56
|
+
- Write clearly - don't be too clever.
|
57
|
+
|
58
|
+
- Although any single weakness causes no great harm, the cumulative
|
59
|
+
effect of several confusing statements is code that is simply
|
60
|
+
unintelligible.
|
61
|
+
|
62
|
+
- Library functions are one way to reduce the apparent complexity
|
63
|
+
of a program.
|
64
|
+
|
65
|
+
- Write clearly - do not sacrifice clarity for "efficiency".
|
66
|
+
|
67
|
+
- One of the first services to be automated in early computer
|
68
|
+
languages was the conversion of decimal to binary.
|
69
|
+
|
70
|
+
- Let the machine do the dirty work.
|
71
|
+
|
72
|
+
- Replace repetitive expressions by calls to a common function.
|
73
|
+
|
74
|
+
- Parenthesize to avoid ambiguity.
|
75
|
+
|
76
|
+
- Choose variable names that won't lead to confusion or ambiguity.
|
77
|
+
|
78
|
+
- One of the most productive ways to make a program easier to
|
79
|
+
understand is to reduce the degree of interdependence between
|
80
|
+
statements.
|
81
|
+
|
82
|
+
- Avoid unnecessary if/else branches.
|
83
|
+
|
84
|
+
- Use the good features of a language and avoid the bad ones.
|
85
|
+
|
86
|
+
- The "telephone test" in programming is to decide whether some piece
|
87
|
+
of code is clear or not. If someone could understand your code
|
88
|
+
when read aloud over the telephone, it's clear enough. If not,
|
89
|
+
then it needs rewriting. Use the "telephone test" for readability.
|
90
|
+
|
91
|
+
- Write clearly.
|
92
|
+
|
93
|
+
- Use IF-ELSE to emphasize that only one of two actions is to
|
94
|
+
be performed.
|
95
|
+
|
96
|
+
- As much as possible, a program should be written so the control flow
|
97
|
+
structures lead the reader quickly and directly to an understanding
|
98
|
+
of what the program does.
|
99
|
+
|
100
|
+
- Make your programs read from top to bottom.
|
101
|
+
|
102
|
+
- No amount of commenting can rescue bad code.
|
103
|
+
|
104
|
+
- One flaw in a program is often a clue that more
|
105
|
+
are present.
|
106
|
+
|
107
|
+
- Choosing a better data structure is often an art that can not be
|
108
|
+
taught. Thus, one should always ask the following question: „How
|
109
|
+
can the data be organized so that the computation becomes as
|
110
|
+
easy as possible?“
|
111
|
+
|
112
|
+
- Choose a data representation that makes the program simple(r).
|
113
|
+
|
114
|
+
- Plan your data structures.
|
115
|
+
|
116
|
+
- Make the coupling between modules visible.
|
117
|
+
|
118
|
+
- Each module should do one thing well.
|
119
|
+
|
120
|
+
- Input/output is almost always messy and subject to
|
121
|
+
change.
|
122
|
+
|
123
|
+
- Let the data structure the program.
|
124
|
+
|
125
|
+
- A big program should be a collection of manageable pieces,
|
126
|
+
each of which must obey the rules of good style.
|
127
|
+
|
128
|
+
- Write and test a big program in small pieces.
|
129
|
+
|
130
|
+
- Use recursive procedures for recursively-defined data
|
131
|
+
structures.
|
132
|
+
|
133
|
+
- The discipline of breaking a large job into appropriate small
|
134
|
+
pieces is also called "composite design."
|
135
|
+
|
136
|
+
- Never trust any data. Test input for validity and
|
137
|
+
plausibility.
|
138
|
+
|
139
|
+
- Simple tests save later grief.
|
140
|
+
|
141
|
+
- Make sure input cannot violate the constraints of a
|
142
|
+
program.
|
143
|
+
|
144
|
+
- Use uniform input formats.
|
145
|
+
|
146
|
+
- Make input easy to proofread.
|
147
|
+
|
148
|
+
- Make sure all variables are initialized before use.
|
149
|
+
|
150
|
+
- Use debugging compilers.
|
151
|
+
|
152
|
+
- Watch out for off-by-one errors. A common cause of
|
153
|
+
off-by-one errors is an incorrect test.
|
154
|
+
|
155
|
+
- Program defensively.
|
156
|
+
|
157
|
+
- 10.0 times 0.1 is hardly ever 1.0.
|
158
|
+
|
159
|
+
- Floating point numbers are like sandpiles: every time you
|
160
|
+
move one, you lose a little sand and you pick up a little
|
161
|
+
dirt.
|
162
|
+
|
163
|
+
- Pay attention when comparing floating point numbers just
|
164
|
+
for equality.
|
165
|
+
|
166
|
+
- Disorganized code often leads to errors.
|
167
|
+
|
168
|
+
- Make it right before you make it fast(er).
|
169
|
+
|
170
|
+
- Keep it right when you make it fast(er).
|
171
|
+
|
172
|
+
- Make it clear before you make it fast(er).
|
173
|
+
|
174
|
+
- Simplicity and clarity are often of more value than the
|
175
|
+
microseconds possibly saved by clever coding.
|
176
|
+
|
177
|
+
- Don't sacrifice clarity for small gains in efficiency.
|
178
|
+
|
179
|
+
- Let your compiler do the simple optimizations.
|
180
|
+
|
181
|
+
- Make sure special cases are truly special.
|
182
|
+
|
183
|
+
- Keep it simple to make it fast(er).
|
184
|
+
|
185
|
+
- Fundamental improvements in performance are most often
|
186
|
+
made by algorithm changes, not by tuning.
|
187
|
+
|
188
|
+
- A useful and cheap way to measure how a program spends its
|
189
|
+
time is to count how many times each statement is executed.
|
190
|
+
The resulting set of counts is called the program's "profile",
|
191
|
+
a term first used by D. Knuth in 1971.
|
192
|
+
|
193
|
+
- The cost of computing hardware has steadily decreased;
|
194
|
+
software cost has steadily increased.
|
195
|
+
|
196
|
+
- Efficiency should concentrate on reducing the expensive
|
197
|
+
parts of computing.
|
198
|
+
|
199
|
+
- If a program is wrong, it doesn't matter how fast it is.
|
200
|
+
|
201
|
+
- The only reliable documentation of a computer program is
|
202
|
+
the code itself.
|
203
|
+
|
204
|
+
- A comment is of (almost) no value if it is wrong.
|
205
|
+
|
206
|
+
- Make sure comments and code agree.
|
207
|
+
|
208
|
+
- Make every comment count.
|
209
|
+
|
210
|
+
- The indentation of a program should convey the structure of the
|
211
|
+
program to the reader at a glance.
|
212
|
+
|
213
|
+
- Document your data layouts.
|
214
|
+
|
215
|
+
- Programmers have a strong tendency to underrate the importance
|
216
|
+
of good style.
|
217
|
+
|
218
|
+
- Clean code is easier to maintain.
|
219
|
+
|
220
|
+
- Most professional programmers spend much of their time changing
|
221
|
+
their own and other people's code.
|
222
|
+
|
223
|
+
- A program in a high-level language is independent of any particular
|
224
|
+
architecture.
|
225
|
+
|
226
|
+
- Fortran, COBOL and BASIC achieved part of their success by focusing
|
227
|
+
on specific application areas.
|
228
|
+
|
229
|
+
- Many programming languages were explicitly designed as a reaction to
|
230
|
+
the perceived weaknesses of earlier programming languages.
|
231
|
+
|
232
|
+
- Programming requires attention to detail.
|
233
|
+
|
234
|
+
- Bugs in software can leave systems vulnerable to attack.
|
235
|
+
|
236
|
+
- Expertise often disappears as people retire.
|
237
|
+
|
238
|
+
- An API is not a trade secret because it has to be shown to
|
239
|
+
people, in order for them to effectively use that API.
|
240
|
+
|
241
|
+
- Programming languages are how we tell our computers
|
242
|
+
what to do.
|
243
|
+
|
244
|
+
- Few media of creation are so flexible as programming is.
|
245
|
+
|
246
|
+
- Metaprogramming is writing code that writes code.
|
247
|
+
|
248
|
+
- Beim imperativen Programmier-Paradigma ist der Lösungsweg
|
249
|
+
durch eine Folge von Anweisungen (== Befehlen) vorgegeben.
|
250
|
+
|
251
|
+
- The basic principles of good software are —simplicity,
|
252
|
+
clarity and generality.
|
253
|
+
|
254
|
+
- The task of the programmer is to do the best he or she can
|
255
|
+
do with the tools at hand.
|
256
|
+
|
257
|
+
- A well-written program is easier to understand and to modify
|
258
|
+
than a poorly-written one.
|
259
|
+
|
260
|
+
- Code should be clear and simple.
|
261
|
+
|
262
|
+
- Clarity is often achieved through brevity.
|
263
|
+
|
264
|
+
- Even a sensible name (for a function or a variable or a macro)
|
265
|
+
may disguise a broken implementation.
|
266
|
+
|
267
|
+
- Write the clearest code that does the job.
|
268
|
+
|
269
|
+
- Efficiency is all about how much computation resources are
|
270
|
+
used by an algorithm.
|
271
|
+
|
272
|
+
- In computer science it is generally assumed that any source
|
273
|
+
code over 200 lines contains at least one error.
|
274
|
+
|
275
|
+
- Error checking is tedious but important.
|
276
|
+
|
277
|
+
- If possible store configuration and information in yaml or
|
278
|
+
.md files.
|
279
|
+
|
280
|
+
- Write the clearest code that does the job.
|
281
|
+
|
282
|
+
- Parenthesize to resolve ambiguity.
|
283
|
+
|
284
|
+
- Clarity is not the same as brevity.
|
285
|
+
|
286
|
+
- Exercise caution in any expression with side effects.
|
287
|
+
|
288
|
+
- Consistency leads to better programs.
|
289
|
+
|
290
|
+
- Indentation should be idiomatic.
|
291
|
+
|
292
|
+
- Comments should not only agree with code, they should
|
293
|
+
support it.
|
294
|
+
|
295
|
+
- Good code needs fewer comments than bad code.
|
296
|
+
|
297
|
+
- Good style should be a matter of habit.
|
298
|
+
|
299
|
+
- A well-written class should not have to be rewritten in
|
300
|
+
order to integrate a new feature.
|
301
|
+
|
302
|
+
- Arrays are the simplest way to group data.
|
303
|
+
|
304
|
+
- Whenever possible, use the simplest technique which will
|
305
|
+
get the job done.
|
306
|
+
|
307
|
+
- Programmers collect, organize, maintain, and harness
|
308
|
+
knowledge.
|
309
|
+
|
310
|
+
- Maintenance is not a discrete activity, but a routine
|
311
|
+
part of the entire development process.
|
312
|
+
|
313
|
+
- Code also represents knowledge.
|
314
|
+
|
315
|
+
- External identifiers are those we have no control over.
|
316
|
+
|
317
|
+
- The Decorator Pattern adds functionality to things
|
318
|
+
without changing them.
|
319
|
+
|
320
|
+
- Singletons can lead to unnecessary linkage.
|
321
|
+
|
322
|
+
- Duplicate code is a symptom of structural problems.
|
323
|
+
|
324
|
+
- Reversibility is somewhat similar to flexibility.
|
325
|
+
|
326
|
+
- Important requirements are those that define the system.
|
327
|
+
|
328
|
+
- A small body of code has low inertia - it is easy
|
329
|
+
and quick to change.
|
330
|
+
|
331
|
+
- Prototypes are designed to answer just a few questions.
|
332
|
+
|
333
|
+
- Computer languages influence how one thinks about a
|
334
|
+
problem.
|
335
|
+
|
336
|
+
- In heterogeneous environments the advantages of plain text
|
337
|
+
can outweigh all of its drawbacks.
|
338
|
+
|
339
|
+
- Text is the basic raw material of programming.
|
340
|
+
|
341
|
+
- No one writes perfect software.
|
342
|
+
|
343
|
+
- Programming languages are important enabling technologies.
|
344
|
+
|
345
|
+
- It is the caller’s responsibility to pass good data into
|
346
|
+
a function or method.
|
347
|
+
|
348
|
+
- Whoever allocates a resource should be responsible for
|
349
|
+
deallocating it.
|
350
|
+
|
351
|
+
- Code should be flexible.
|
352
|
+
|
353
|
+
- A good way to stay flexible is to write less code.
|
354
|
+
|
355
|
+
- Individual components should be coupled to as few other
|
356
|
+
components as possible.
|
357
|
+
|
358
|
+
- Decoupled code is easier to change.
|
@@ -5,7 +5,7 @@ body_css_class 'mar0px s2px padt2px VERDANAs'
|
|
5
5
|
background_color :steelblue
|
6
6
|
default_font_size_and_hyperlinks
|
7
7
|
|
8
|
-
|
8
|
+
smaller_width('mar0px pad5px s1em') {
|
9
9
|
fancy1 'Psychologie',
|
10
10
|
'mart1px'
|
11
11
|
p_default_le {
|
@@ -227,6 +227,12 @@ doc_smaller_width('mar0px pad5px s1em') {
|
|
227
227
|
and weakness, so we should take preemptive steps
|
228
228
|
against ill behaviour when we are strong.'
|
229
229
|
}
|
230
|
+
# === Slogans
|
231
|
+
fancy3 'Slogans'
|
232
|
+
div {
|
233
|
+
e '- A fixed action pattern is a sequence of unlearned
|
234
|
+
acts directly linked to a simple stimulus.'
|
235
|
+
}
|
230
236
|
div {
|
231
237
|
back_to_sitemap
|
232
238
|
}
|
@@ -1758,6 +1758,12 @@ doc_smaller_width('mar0px pad0px s0_5em') {
|
|
1758
1758
|
'catalogue of animal genome size data'
|
1759
1759
|
}
|
1760
1760
|
}
|
1761
|
+
# === Slogans
|
1762
|
+
fancy3 'Slogans'
|
1763
|
+
p_default_le {
|
1764
|
+
e 'Scientific literatures often stimulate novel ideas
|
1765
|
+
and polish existing ones.'
|
1766
|
+
}
|
1761
1767
|
# ========================================================================= #
|
1762
1768
|
# === LOCAL LINKS. Local tag. lokal tag
|
1763
1769
|
# ========================================================================= #
|
@@ -96,7 +96,23 @@ preferred_width('mar0px pad0px s0_8em') {
|
|
96
96
|
can terminate a pregnancy nonsurgically within the
|
97
97
|
first 7 weeks.'
|
98
98
|
br
|
99
|
-
earrow 'Uniparentale Fortpflanzung bedeutet im
|
100
|
-
|
99
|
+
earrow 'Uniparentale Fortpflanzung bedeutet im Regelfall
|
100
|
+
auch natürliches Klonen.'
|
101
|
+
br
|
102
|
+
earrow 'The <b>gonads/b> are <b>the major source of sex
|
103
|
+
hormones in humans</b>.'
|
104
|
+
br
|
105
|
+
earrow 'Asexuelle Fortpflanzung hat Vorteile, wenn es
|
106
|
+
darum geht, rasch einen neuen Lebensraum zu besiedeln.'
|
107
|
+
br
|
108
|
+
earrow 'In humans it takes about three weeks
|
109
|
+
for sperm to travel the epididymis duct.'
|
110
|
+
br
|
111
|
+
earrow 'The structure of a sperm cell <b>fits its
|
112
|
+
function</b>.'
|
113
|
+
br
|
114
|
+
earrow 'Quite possibly the most famous example for
|
115
|
+
developmentally arrested cells in humans are
|
116
|
+
the <b>primary oocytes</b>.'
|
101
117
|
}
|
102
118
|
}}
|
@@ -17,7 +17,7 @@ body_css_class 's1px padt1px marpad1px VERDANAs'
|
|
17
17
|
body_css_style 'background-color: #d3d2d1;'
|
18
18
|
default_font_size_and_hyperlinks
|
19
19
|
|
20
|
-
|
20
|
+
smaller_width('pad0_5em') {
|
21
21
|
h1 sg(:dot110,'marr8px')+
|
22
22
|
'Statistik',
|
23
23
|
'mart1px'
|
@@ -930,6 +930,11 @@ doc_preferred_width('pad0_5em') {
|
|
930
930
|
earrow 'A rigged poll basically means that the results
|
931
931
|
are deliberately twisted, in order to create a
|
932
932
|
false impression.'
|
933
|
+
earrow 'Die Statistik erscheint Vielen wie eine
|
934
|
+
unübersichtliche Ansammlung willkürlicher
|
935
|
+
Methoden.'
|
936
|
+
earrow 'Wahrscheinlichkeitsrechnung und Statistik bilden
|
937
|
+
gemeinsam das Fachgebiet der Stochastik.'
|
933
938
|
}
|
934
939
|
p_default_le {
|
935
940
|
roebe_sitemap
|
@@ -60,8 +60,26 @@ smaller_width('mar0px pad0px s0_8em') {
|
|
60
60
|
br
|
61
61
|
e 'Hydrophobic side chains (of amino acids) go into the core of
|
62
62
|
the molecule – but the main chain remains highly polar.'
|
63
|
+
br
|
64
|
+
e '<b>Computational approaches</b> are <b>particularly well-suited
|
65
|
+
for evaluating configurational entropy</b>.'
|
66
|
+
br
|
67
|
+
e 'Proteins have to exercise a plethora of different functions in
|
68
|
+
the cell.'
|
69
|
+
br
|
70
|
+
e 'The stability of a protein is a balancing act between
|
71
|
+
large, opposing contributions.'
|
72
|
+
br
|
73
|
+
e 'It has been recognized for some time that many plants,
|
74
|
+
animals, and microorganisms that have adapted to environmental
|
75
|
+
extremes also accumulate significant intracellular
|
76
|
+
concentrations of small organic molecules called osmolytes.'
|
77
|
+
br
|
78
|
+
e 'Proteine vollstrecken das genetische Programm einer Zelle.'
|
63
79
|
}
|
80
|
+
# ========================================================================= #
|
64
81
|
# === Science Links
|
82
|
+
# ========================================================================= #
|
65
83
|
p_default('mars2em') {
|
66
84
|
add_science_links
|
67
85
|
}
|