<commit_before>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If test run is successful do this?
$rake doc:app
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add Custom exercise whose instructions file
details how to make a custom exercise
and/or points you to the blog page Mike helped write.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Refactor admin_scripts/lib_domain.rb so it uses ExternalSetter
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Split create page's two columns into three columns.
language? tests? exercise?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
s/timed_out/timeout/
s/timed_out/timeout/
Light.rb colour() method can adapt old entries.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
history-diff dialog scrolling rightmost top-bar traffic-light
into view could be better. Show a few traffic-lights to its
right as well.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
all-animals traffic-light-count code should be in a helper
not directly in the erb file.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
team-bulb-counts hover-tips are lost when dashboard refreshes.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Can hover-tip use $.html() to set tip when it contains html
formatting. If so this would remove the need for some ajax.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add suffix to traffic-light-count hover-tip for current colour
eg
1 red           1 red
1 amber     ->  1 amber
2 greens        2 greens (current)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
traffic-light-count on [test] page has wrong pointer.
Needs to be plain arrow.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Current title= tooltips could be refactored to hover-tip
with a delay before the tip appears.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Make download *not* save to cyber-dojo/tmp folder.
Instead have only as non-unit test that actually
downloads the file and unzips it and verifies
certain properties of the folders/files unzipped.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If I record keystrokes I could create a slow-tv like
view of a practice. Copy paste could possibly be captured
and marked too. File rename too.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Increase number of avatars to 100. Olve is investigating.
I can still keep the re-enter dialog, as a 10 x 10 grid
but the animal images will need to be a lot smaller.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
languages/test_languages_manifests.rb
What happens if "filename_extension" is not present.
What if support_filenames mentions file that does not exist.
What if visible_filenames mentions makefile but only makefile.txt exists.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
While building support for C-CppUTest
the cyber-dojo.sh file had non linux line-endings that caused problems.
hexdump showed working C++-CppUTest/cyber-dojo.sh ended 0a
whereas C-CppUTest/cyber-dojo.sh ended 0d 0a
Reinstate the line filtering in test_controller.rb ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
When you run the test/languages/check_one_language.rb C-CppUTest
on a server with Docker installed then
/var/www/cyber-dojo/tmp/cache
seems to lose its rights and the rails server no longer works.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I often find I fork from someone's traffic-light and then
immediately enter it to demonstrate something. Could I
provide two buttons on the history dialog
- one to fork a dojo
- one to fork a dojo and start an animal?
Or maybe when you click the fork button it opens a new dialog
with two buttons offering the two choices above.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cyber-dojo stats: add *consecutive* traffic-light histogram.
eg 1/2/3/4/5/6/... consecutive green lights, same for red, and amber
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cyber-dojo stats:  count time between traffic-lights per language
to *get* to each colour (where there actually is a diff)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
run admin_script tests as part of run_all
put iteration limit in to make them faster?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If I decided to make dojo ids more than 10 chars long
I could end up with 2nd level katas dirs some of which were
8 chars long and some of which were 9+ chars long.
Would the current design cope with that?
I think katas.complete(id) would be ok
but katas.create_kata() calls katas.valid?(id)
which has id.length == 10
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
rename tests/integration/ folder to tests/externals/ ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tried putting this into config/initializers/externals.rb
  CyberDojo::Application.config.runner = Object.new
And this into lib/ExternalGetter.rb
  def runner
    CyberDojo::Application.config.runner
  end

Confirmed works on a Passenger startup
Confirmed works on local server too

For this to work I think my test code would need to simulate
CyberDojo::Application.config
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
use DirFake for all of app_controller tests.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
app_controller tests can all use DiskFake
 TODO test_dojo
 TODO test_differ
 TODO test_reverter
 NA   test_download
 ??   test_exception_controller
 DONE test_forker
 DONE test_dashboard
 DONE test_setup
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Move app_controller tests after
app_helpers
app_lib
app_models
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would be nice to get extra metric in coverage.txt which was
the number of hits per line. Would also be nice to be able
to plot that as a histogram.
Another nice metric would be number of lines missed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Can you mark methods as private in a mixin? Eg lib/Externals.rb
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
test/app_model/test_avatar.rb has commented out tests.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dojo.rb
  o) convert path to absolute path if its not?
  o) ensure path exists on disk?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Suppose I clone the server and switch over to it.
Since the clone is not instant, I cannot avoid the
possibility of a browser not switching cleanly to the
new server after it made updates on the old server, which
were not copied to the clone. This suggests a model where
existing katas/ continue to use the server they start
on but new katas/ are forwarded to a new server. Yes.
This sounds right. And feels right. Ok. How to proceed?
Can I divert creation of new katas to a
second server? Then, as long as katas have a timeout, I will<commit_msg>notes update<commit_after>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If test run is successful do this?
$rake doc:app
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add Custom exercise whose instructions file
details how to make a custom exercise
and/or points you to the blog page Mike helped write.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Refactor admin_scripts/lib_domain.rb so it uses ExternalSetter
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Split create page's two columns into three columns.
language? tests? exercise?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dojo.rb
  o) convert path to absolute path if its not?
  o) ensure path exists on disk?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
create Ruby helper method to ensure path is in correct format.
Put it into External.rb helper module.
Use when setting external paths.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
s/timed_out/timeout/
s/timed_out/timeout/
Light.rb colour() method can adapt old entries.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
history-diff dialog scrolling rightmost top-bar traffic-light
into view could be better. Show a few traffic-lights to its
right as well.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
history-diff title-bar does not align correctly in Firefox.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
all-animals traffic-light-count code should be in a helper
not directly in the erb file.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
team-bulb-counts hover-tips are lost when dashboard refreshes.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Can hover-tip use $.html() to set tip when it contains html
formatting. If so this would remove the need for some ajax.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
add suffix to traffic-light-count hover-tip for current colour
eg
1 red           1 red
1 amber     ->  1 amber
2 greens        2 greens (current)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
traffic-light-count on [test] page has wrong pointer.
Needs to be plain arrow.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Current title= tooltips could be refactored to hover-tip
with a delay before the tip appears.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Make download *not* save to cyber-dojo/tmp folder.
Instead have only as non-unit test that actually
downloads the file and unzips it and verifies
certain properties of the folders/files unzipped.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If I record keystrokes I could create a slow-tv like
view of a practice. Copy paste could possibly be captured
and marked too. File rename too.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Increase number of avatars to 100. Olve is investigating.
I can still keep the re-enter dialog, as a 10 x 10 grid
but the animal images will need to be a lot smaller.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
languages/test_languages_manifests.rb
What happens if "filename_extension" is not present.
What if support_filenames mentions file that does not exist.
What if visible_filenames mentions makefile but only makefile.txt exists.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
While building support for C-CppUTest
the cyber-dojo.sh file had non linux line-endings that caused problems.
hexdump showed working C++-CppUTest/cyber-dojo.sh ended 0a
whereas C-CppUTest/cyber-dojo.sh ended 0d 0a
Reinstate the line filtering in test_controller.rb ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
When you run the test/languages/check_one_language.rb C-CppUTest
on a server with Docker installed then
/var/www/cyber-dojo/tmp/cache
seems to lose its rights and the rails server no longer works.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
I often find I fork from someone's traffic-light and then
immediately enter it to demonstrate something. Could I
provide two buttons on the history dialog
- one to fork a dojo
- one to fork a dojo and start an animal?
Or maybe when you click the fork button it opens a new dialog
with two buttons offering the two choices above.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cyber-dojo stats: add *consecutive* traffic-light histogram.
eg 1/2/3/4/5/6/... consecutive green lights, same for red, and amber
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cyber-dojo stats:  count time between traffic-lights per language
to *get* to each colour (where there actually is a diff)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
run admin_script tests as part of run_all
put iteration limit in to make them faster?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If I decided to make dojo ids more than 10 chars long
I could end up with 2nd level katas dirs some of which were
8 chars long and some of which were 9+ chars long.
Would the current design cope with that?
I think katas.complete(id) would be ok
but katas.create_kata() calls katas.valid?(id)
which has id.length == 10
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
rename tests/integration/ folder to tests/externals/ ?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tried putting this into config/initializers/externals.rb
  CyberDojo::Application.config.runner = Object.new
And this into lib/ExternalGetter.rb
  def runner
    CyberDojo::Application.config.runner
  end

Confirmed works on a Passenger startup
Confirmed works on local server too

For this to work I think my test code would need to simulate
CyberDojo::Application.config
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
app_controller tests can all use DiskFake DirFake
 TODO test_dojo
 TODO test_differ
 TODO test_reverter
 NA   test_download
 ??   test_exception_controller
 DONE test_forker
 DONE test_dashboard
 DONE test_setup
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would be nice to get extra metric in coverage.txt which was
the number of hits per line (this is in the generated html summary). 
Would also be nice to be able to plot that as a histogram.
Another nice metric would be number of lines missed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Can you mark methods as private in a mixin? Eg lib/Externals.rb
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
test/app_model/test_avatar.rb has commented out tests.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Suppose I clone the server and switch over to it.
Since the clone is not instant, I cannot avoid the
possibility of a browser not switching cleanly to the
new server after it made updates on the old server, which
were not copied to the clone. This suggests a model where
existing katas/ continue to use the server they start
on but new katas/ are forwarded to a new server. Yes.
This sounds right. And feels right. Ok. How to proceed?
Can I divert creation of new katas to a
second server? Then, as long as katas have a timeout, I will
{'fraction_non_alphanumeric': 0.1800590132436698, 'fraction_numerical': 0.003979962945172579, 'mean_word_length': 1.3034613560929351, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 278, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5595046', 'n_tokens_mistral': 5168, 'n_tokens_neox': 5058, 'n_words': 1554}