Change locale-path from "locales" to "locales/xwalk"

Both Crosswalk and Chrome they place the en-US.pak into folder
"locales" in build of Linux and windows. Potientially there is
conflicts, so it's better to set Crosswalk's locale-path as
"locales/xwalk".
Add a "xwalk_resource_delegate" class which indicates the right
locale pack file to load for Crosswalk.

Copy the comments from the closed PR.
@rakuco If we set grit_out_dir to locales/xwalk, the grit/xwalk_strings.h will be generated into locales/xwalktoo. Then we have to find some way to move grit/xwalk_strings.h back to gen/xwalk/grit/ OR we have to change the include_dirs of some targets who includes xwalk_strings.h
So my solution is to change the "outputs" into '<(PRODUCT_DIR)/locales/xwalk' to make generate_crosswalk_win_zip aware the new locale path. Do you think it's ok? PR updated. please have a look. Big thanks for your help!

I tested in my windows virtual machine,  ninja -C out/Release_x64 generate_crosswalk_win_zip can trigger build successfully, I found the pak files are generated in locales/xwalk/ as expected now.

This approach does not work for the same reason I outlined in #3842: you're hardcoding the list of paks in your copies block while xwalk_win_zip.gypi is depending on the directory. There is no way for gyp to determine that one target should depend on the other since the latter's inputs are different from the former's outputs.
I'm not sure if you've done this already, but it really helps if you add a dependency on the generate_crosswalk_win_zip target to the Linux case in xwalk.gyp and comment out the Windows-specific files in xwalk_win_zip.gypi so you can reproduce this on your regular Linux desktop. Doing this and running ninja -C out/Release generate_crosswalk_win_zip -v -j1 on an empty build directory clearly demonstrates what I'm saying. Looking at both out/Release/obj/xwalk/generate_crosswalk_win_zip.ninja and out/Release/obj/xwalk/xwalk_strings.ninja also helps since you know exactly what is depending on what.

If we set grit_out_dir as locales/xwalk, the grit/xwalk_strings.h will be generated into <(PRODUCT_DIR)/locales/xwalk too.

This is not what I said. I said grit_out_dir should be <(SHARED_INTERMEDIATE_DIR)/locales/xwalk instead of <(SHARED_INTERMEDIATE_DIR)/xwalk/locales, not <(PRODUCT_DIR)/locales/xwalk. grit/xwalk_strings.h would then be generated in out/Release/gen/locales/grit/xwalk_strings.h.

Then we have to find some way to move grit/xwalk_strings.h back to gen/xwalk/grit/

It's quite easy to do so, just take a look at the fields in xwalk_strings.grd. I just don't think it's necessary, for the same reason that doing what's suggested below is also unnecessary:

OR we have to change the include_dirs of some targets who includes xwalk_strings.h

The include_dirs entries likely come from build/grit_target.gypi in a target that's not even xwalk_runtime.
If you'd like to keep everything under gen/xwalk, you could change output_dir to <(SHARED_INTERMEDIATE_DIR)/xwalk/locales/xwalk. In either case, you just need to add a direct_dependent_settings block to xwalk_strings and add the right directory to include_dirs to make everything work.

I'm not sure if you've done this already, but it really helps if you add a dependency on the generate_crosswalk_win_zip target to the Linux case in xwalk.gyp and comment out the Windows-specific files in xwalk_win_zip.gypi so you can reproduce this on your regular Linux desktop. Doing this and running ninja -C out/Release generate_crosswalk_win_zip -v -j1 on an empty build directory clearly demonstrates what I'm saying.

% ninja -C out/Release generate_crosswalk_win_zip -v -j1
ninja: Entering directory `out/Release'
[1/4] cd ../../xwalk; python ../tools/grit/grit.py -i runtime/resources/xwalk_strings.grd build -f resources/resource_ids -o ../out/Release/gen/xwalk/locales "--write-only-new=1" -D _chromium -E "CHROMIUM_BUILD=chromium" -D desktop_linux -D toolkit_views -D use_aura -D use_nss_certs -D enable_extensions -D enable_plugins -D enable_printing -D enable_print_preview -D enable_themes -D use_concatenated_impulse_responses -D enable_media_router -D enable_webrtc -D enable_task_manager -D enable_notifications -D enable_topchrome_md -D enable_service_discovery
[2/4] ln -f ../../xwalk/VERSION VERSION 2>/dev/null || (rm -rf VERSION && cp -af ../../xwalk/VERSION VERSION)
[3/4] cd ../../xwalk; python ../xwalk/build/win/generate_crosswalk_zip.py --build-dir ../out/Release --dest ../out/Release/crosswalk_win.zip --dirs ../out/Release/locales/xwalk --files ../out/Release/VERSION
[4/4] touch obj/xwalk/generate_crosswalk_win_zip.actions_rules_copies.stamp

% unzip -l out/Release/crosswalk_win.zip
Archive:  out/Release/crosswalk_win.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
       36  08-16-2016 10:26   VERSION
---------                     -------
       36                     1 file

I didn't "simulate" in linux, I tested it in windows environment,  ninja -C out/Release_x64 generate_crosswalk_win_zip can trigger the build, the build is so slow in my virtual machine that I cancel it in half way,  but I did find the paks has already been generated in out/Release_x64/gen/xwalk/locales/,  and the paks are copied into out/Release_x64/locales/xwalk/ as expected too.
My explanation is:
Like you said, the reason "xwalk_win_zip.gypi" knows itself depends on "xwalk_strings" because it finds the outputs of action "generate_xwalk_strings" is exactly same as one item of its inputs: "directories_to_package", the value of "directories_to_package" is <(product_dir)/locales/xwalk.
So every-time xwalk_win_zip.gypi runs, if it cannot find folder <(product_dir)/locales/xwalk, it will trigger the action "generate_xwalk_strings" (to ask it to generate the wanted folder).  The action "generate_xwalk_strings" belongs to target "xwalk_strings", so the whole target-----both the "generate_xwalk_strings" action  and the copy behavior(no matter the pak file list is hard code or not) ----- will be triggered.
That's why I change the **outputs** of action generate_xwalk_strings to make it same as the "directories_to_package" in xwalk_win_zip.gypi.  Whether the pak files hard-coded is not the key, it will always be run after action generate_xwalk_strings

In short,  I changed the outputs of generate_xwalk_strings, so xwalk_win_zip.gypi can aware it now.

Duuuuude... :)
Everything I've said remains true: there is no dependency between generate_crosswalk_win_zip and xwalk_strings, things are working in your tests because the list of files in files_to_package contains xwalk.exe, which automatically adds a dependency on the xwalk, that depends on xwalk_runtime, that depends on xwalk_strings. This is different from depending directly on xwalk_strings, which is what happened before and what should continue happening, logically speaking.

: D     Really thanks~~
OK, let me resolve this based on your suggestion.

@rakuco   Embarrassing,  I'm so slow...  I still not get the point. I didn't understand the GYP well,  so,  really very sorry  :(
In your previous comments:
What's happening here is that gyp is smart enough to know that when you reference a directory such as <(PRODUCT_DIR)/locales as an input for an action and another action (xwalk_strings) is known to produce that same directory as an output then the former should depend on the latter
And:
There is no way for gyp to determine that one target should depend on the other since the latter's inputs are different from the former's outputs.
My solution is:  Because the outputs and inputs are folder name, not the file list, so make the outputs of xwalk_string same as inputs of xwalk_win_zip.gypi. So gyp "smartly enough" knows they have dependency between them.   And the "file list hardcoding" doesn't matter because what the python script wants in xwalk_win_zip.gypi is a folder name, not the file list.
What's wrong in my understanding? Oh my god, really thanks for your patient...
And, I checked the generated ninja file as below(my windows virtual machine).
arch = environment.x64
cc = $cl_x64
cxx = $cl_x64
cc_host = $cl_x64
cxx_host = $cl_x64
asm = $ml_x64
rule $
    generate_crosswalk_win_zip_target_generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b
  command = C:\tools\depot_tools\python276_bin\python.exe gyp-win-tool $
      action-wrapper $arch $
      generate_crosswalk_win_zip_target_generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b.$unique_name.rsp $
      ..\..\xwalk
  description = ACTION generate_crosswalk_win_zip: $
      generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b
  restat = 1
  rspfile = $
      generate_crosswalk_win_zip_target_generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b.$unique_name.rsp
  rspfile_content = python "../xwalk/build/win/generate_crosswalk_zip.py" $
      "--build-dir" "..\out\Release_x64" "--dest" $
      "..\out\Release_x64/crosswalk_win.zip" "--dirs" $
      "..\out\Release_x64/locales/xwalk" "--files" $
      "..\out\Release_x64/VERSION" "..\out\Release_x64/d3dcompiler_47.dll" $
      "..\out\Release_x64/icudtl.dat" "..\out\Release_x64/libEGL.dll" $
      "..\out\Release_x64/libGLESv2.dll" $
      "..\out\Release_x64/natives_blob.bin" "..\out\Release_x64/osmesa.dll" $
      "..\out\Release_x64/snapshot_blob.bin" "..\out\Release_x64/xwalk.exe" $
      "..\out\Release_x64/xwalk.pak" $
      "..\out\Release_x64/xwalk_100_percent.pak" $
      "..\out\Release_x64/xwalk_200_percent.pak" $
      "..\out\Release_x64/xwalk_300_percent.pak" $
      "..\out\Release_x64/xwalk_dotnet_bridge.dll"

build crosswalk_win.zip: $
    generate_crosswalk_win_zip_target_generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b $
    ..\..\xwalk\build\win\generate_crosswalk_zip.py locales\xwalk VERSION $
    d3dcompiler_47.dll icudtl.dat libEGL.dll libGLESv2.dll natives_blob.bin $
    osmesa.dll snapshot_blob.bin xwalk.exe xwalk.pak xwalk_100_percent.pak $
    xwalk_200_percent.pak xwalk_300_percent.pak xwalk_dotnet_bridge.dll

build VERSION: copy ..\..\xwalk\VERSION
build obj\xwalk\generate_crosswalk_win_zip.actions_rules_copies.stamp: $
    stamp crosswalk_win.zip VERSION

------------------------------and  another ninja for xwalk_strings ----------------------------
arch = environment.x64
cc = $cl_x64
cxx = $cl_x64
cc_host = $cl_x64
cxx_host = $cl_x64
asm = $ml_x64
rule $
    xwalk_strings_target_generate_xwalk_strings_9dd890d0165518f1db1b118a7aa5659a
  command = C:\tools\depot_tools\python276_bin\python.exe gyp-win-tool $
      action-wrapper $arch $
      xwalk_strings_target_generate_xwalk_strings_9dd890d0165518f1db1b118a7aa5659a.$unique_name.rsp $
      ..\..\xwalk
  description = ACTION Generating resources from $
      runtime/resources/xwalk_strings.grd
  restat = 1
  rspfile = $
      xwalk_strings_target_generate_xwalk_strings_9dd890d0165518f1db1b118a7aa5659a.$unique_name.rsp
  rspfile_content = python "../tools/grit/grit.py" "-i" $
      "runtime/resources/xwalk_strings.grd" "build" "-f" $
      "resources/resource_ids" "-o" "..\out\Release_x64/gen/xwalk/locales" $
      "--write-only-new=1" "-D" "_chromium" "-E" "CHROMIUM_BUILD=chromium" $
      "-D" "toolkit_views" "-D" "use_aura" "-D" "enable_extensions" "-D" $
      "enable_plugins" "-D" "enable_printing" "-D" "enable_print_preview" $
      "-D" "enable_themes" "-D" "enable_app_list" "-D" $
      "enable_settings_app" "-D" "use_concatenated_impulse_responses" "-D" $
      "enable_media_router" "-D" "enable_webrtc" "-D" "enable_task_manager" $
      "-D" "enable_notifications" "-D" "enable_topchrome_md" "-D" $
      "enable_service_discovery"

build locales\xwalk gen\xwalk\grit\xwalk_strings.h $
    gen\xwalk\locales\en-US.pak gen\xwalk\locales\zh-CN.pak: $
    xwalk_strings_target_generate_xwalk_strings_9dd890d0165518f1db1b118a7aa5659a $
    ..\..\xwalk\resources\resource_ids $
    ..\..\xwalk\runtime\resources\xwalk_strings.grd $
    ..\..\xwalk\runtime\resources\locale\xwalk_strings_zh-CN.xtb $
    ..\..\tools\grit\PRESUBMIT.py ..\..\tools\grit\grit.py $
    ..\..\tools\grit\grit\__init__.py ..\..\tools\grit\grit\clique.py $
    ..\..\tools\grit\grit\constants.py ..\..\tools\grit\grit\exception.py $
    ..\..\tools\grit\grit\extern\BogoFP.py $
    ..\..\tools\grit\grit\extern\FP.py $
    ..\..\tools\grit\grit\extern\__init__.py $
    ..\..\tools\grit\grit\extern\tclib.py $
    ..\..\tools\grit\grit\format\__init__.py $
    ..\..\tools\grit\grit\format\android_xml.py $
    ..\..\tools\grit\grit\format\c_format.py $
    ..\..\tools\grit\grit\format\chrome_messages_json.py $
    ..\..\tools\grit\grit\format\data_pack.py $
    ..\..\tools\grit\grit\format\html_inline.py $
    ..\..\tools\grit\grit\format\js_map_format.py $
    ..\..\tools\grit\grit\format\policy_templates\PRESUBMIT.py $
    ..\..\tools\grit\grit\format\policy_templates\__init__.py $
    ..\..\tools\grit\grit\format\policy_templates\policy_template_generator.py $
    ..\..\tools\grit\grit\format\policy_templates\template_formatter.py $
    ..\..\tools\grit\grit\format\policy_templates\writer_configuration.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\__init__.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\adm_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\adml_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\admx_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\android_policy_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\doc_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\ios_plist_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\json_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\mock_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\plist_helper.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\plist_strings_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\plist_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\reg_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\template_writer.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\writer_unittest_common.py $
    ..\..\tools\grit\grit\format\policy_templates\writers\xml_formatted_writer.py $
    ..\..\tools\grit\grit\format\rc.py $
    ..\..\tools\grit\grit\format\rc_header.py $
    ..\..\tools\grit\grit\format\repack.py $
    ..\..\tools\grit\grit\format\resource_map.py $
    ..\..\tools\grit\grit\gather\__init__.py $
    ..\..\tools\grit\grit\gather\admin_template.py $
    ..\..\tools\grit\grit\gather\chrome_html.py $
    ..\..\tools\grit\grit\gather\chrome_scaled_image.py $
    ..\..\tools\grit\grit\gather\igoogle_strings.py $
    ..\..\tools\grit\grit\gather\interface.py $
    ..\..\tools\grit\grit\gather\json_loader.py $
    ..\..\tools\grit\grit\gather\muppet_strings.py $
    ..\..\tools\grit\grit\gather\policy_json.py $
    ..\..\tools\grit\grit\gather\rc.py $
    ..\..\tools\grit\grit\gather\regexp.py $
    ..\..\tools\grit\grit\gather\skeleton_gatherer.py $
    ..\..\tools\grit\grit\gather\tr_html.py $
    ..\..\tools\grit\grit\gather\txt.py ..\..\tools\grit\grit\grd_reader.py $
    ..\..\tools\grit\grit\grit_runner.py ..\..\tools\grit\grit\lazy_re.py $
    ..\..\tools\grit\grit\node\__init__.py $
    ..\..\tools\grit\grit\node\base.py $
    ..\..\tools\grit\grit\node\custom\__init__.py $
    ..\..\tools\grit\grit\node\custom\filename.py $
    ..\..\tools\grit\grit\node\empty.py $
    ..\..\tools\grit\grit\node\include.py ..\..\tools\grit\grit\node\io.py $
    ..\..\tools\grit\grit\node\mapping.py $
    ..\..\tools\grit\grit\node\message.py $
    ..\..\tools\grit\grit\node\misc.py $
    ..\..\tools\grit\grit\node\structure.py $
    ..\..\tools\grit\grit\node\variant.py ..\..\tools\grit\grit\pseudo.py $
    ..\..\tools\grit\grit\pseudo_rtl.py ..\..\tools\grit\grit\scons.py $
    ..\..\tools\grit\grit\shortcuts.py $
    ..\..\tools\grit\grit\shortcuts_unittests.py $
    ..\..\tools\grit\grit\tclib.py ..\..\tools\grit\grit\test_suite_all.py $
    ..\..\tools\grit\grit\tool\__init__.py $
    ..\..\tools\grit\grit\tool\android2grd.py $
    ..\..\tools\grit\grit\tool\build.py $
    ..\..\tools\grit\grit\tool\buildinfo.py $
    ..\..\tools\grit\grit\tool\count.py $
    ..\..\tools\grit\grit\tool\diff_structures.py $
    ..\..\tools\grit\grit\tool\interface.py $
    ..\..\tools\grit\grit\tool\menu_from_parts.py $
    ..\..\tools\grit\grit\tool\newgrd.py $
    ..\..\tools\grit\grit\tool\postprocess_interface.py $
    ..\..\tools\grit\grit\tool\preprocess_interface.py $
    ..\..\tools\grit\grit\tool\rc2grd.py $
    ..\..\tools\grit\grit\tool\resize.py ..\..\tools\grit\grit\tool\test.py $
    ..\..\tools\grit\grit\tool\toolbar_postprocess.py $
    ..\..\tools\grit\grit\tool\toolbar_preprocess.py $
    ..\..\tools\grit\grit\tool\transl2tc.py $
    ..\..\tools\grit\grit\tool\unit.py ..\..\tools\grit\grit\tool\xmb.py $
    ..\..\tools\grit\grit\util.py ..\..\tools\grit\grit\xtb_reader.py $
    ..\..\tools\grit\grit_info.py ..\..\tools\grit\stamp_grit_sources.py

build locales\xwalk\en-US.pak: copy gen\xwalk\locales\en-US.pak
build locales\xwalk\zh-CN.pak: copy gen\xwalk\locales\zh-CN.pak
build obj\xwalk\xwalk_strings.actions_rules_copies.stamp: stamp $
    locales\xwalk gen\xwalk\grit\xwalk_strings.h $
    gen\xwalk\locales\en-US.pak gen\xwalk\locales\zh-CN.pak $
    locales\xwalk\en-US.pak locales\xwalk\zh-CN.pak

There's no need to apologize, I know for a fact that we've been making a lot of progress since I started reviewing the GN pull requests and all these conversations are not in vain :) Believe me, working with arrogant/stubborn people is a lot worse than working with people willing to learn and adapt.
Ninja's syntax can look weird at first, but it's not too different from the syntax used in a regular Makefile.
Let's start with this part of generate_crosswalk_win_zip.ninja:
build crosswalk_win.zip: $
    generate_crosswalk_win_zip_target_generate_crosswalk_win_zip_d63ab52974274c73255378eabc671d5b $
    ..\..\xwalk\build\win\generate_crosswalk_zip.py locales\xwalk VERSION $
    d3dcompiler_47.dll icudtl.dat libEGL.dll libGLESv2.dll natives_blob.bin $
    osmesa.dll snapshot_blob.bin xwalk.exe xwalk.pak xwalk_100_percent.pak $
    xwalk_200_percent.pak xwalk_300_percent.pak xwalk_dotnet_bridge.dll

This means that creating crosswalk_win.zip depends on all the other inputs listed after the ":" (VERSION, d3dcompiler_47.dll etc), including locales\xwalk. Let's ignore most of the inputs there (such as xwalk.exe, the DLLs etc) so that their dependencies don't influence what we're looking at here. Note there's no dependency on the locale pak files, but only on the directory itself.
The instructions for locales\xwalk are in xwalk_strings.ninja:
build locales\xwalk gen\xwalk\grit\xwalk_strings.h $
    gen\xwalk\locales\en-US.pak gen\xwalk\locales\zh-CN.pak: $
    xwalk_strings_target_generate_xwalk_strings_9dd890d0165518f1db1b118a7aa5659a $
    ...

build locales\xwalk\en-US.pak: copy gen\xwalk\locales\en-US.pak
build locales\xwalk\zh-CN.pak: copy gen\xwalk\locales\zh-CN.pak

As you can see above, locales\xwalk is listed as an output together with gen\xwalk\grit\xwalk_strings.h, gen\xwalk\locales\en-US.pak and gen\xwalk\locales\zh-CN.pak, but the rules corresponding to those outputs are just invoking grit and generating the files in gen\xwalk. They do not include copying the pak files to <(PRODUCT_DIR)/locales (which is what those separate rules for each pak file are doing).
So since the crosswalk_win.zip side only depends on the rules that invoke grit and create the files in gen\xwalk, there is no dependency between generate_crosswalk_win_zip and the copying part of the xwalk_strings target. Another way to put it is that yes, generate_crosswalk_win_zip kind of depends on xwalk_strings, but not on the part where the pak files are put in the right place.
What I'm suggesting is something like this (on top of this patch):
diff --git a/xwalk.gyp b/xwalk.gyp
index 9f527f2..ffffcf8 100644
--- a/xwalk.gyp
+++ b/xwalk.gyp
@@ -619,7 +619,12 @@
       'target_name': 'xwalk_strings',
       'type': 'none',
       'variables': {
-        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/xwalk/locales',
+        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/xwalk/locales/xwalk',
+      },
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '<(SHARED_INTERMEDIATE_DIR)/xwalk/locales',
+        ],
       },
       'actions': [
         {
@@ -634,10 +639,9 @@
       ],
       'copies': [
         {
-          'destination': '<(PRODUCT_DIR)/locales/xwalk',
+          'destination': '<(PRODUCT_DIR)/locales/',
           'files': [
-            '<(grit_out_dir)/en-US.pak',
-            '<(grit_out_dir)/zh-CN.pak',
+            '<(grit_out_dir)/',
           ],
         },
       ],

generate_crosswalk_win_zip.ninja remains the same, but the corresponding section in xwalk_strings.ninja looks like this instead:
build locales/xwalk: copy gen/xwalk/locales/xwalk
build obj/xwalk/xwalk_strings.actions_rules_copies.stamp: stamp $
    gen/xwalk/locales/xwalk gen/xwalk/locales/xwalk/../grit/xwalk_strings.h $
    gen/xwalk/locales/xwalk/en-US.pak gen/xwalk/locales/xwalk/zh-CN.pak $
    locales/xwalk

See how now there's a separate entry for locales\xwalk that performs the copy we want? It's the same locales\xwalk referenced from generate_crosswalk_win_zip.ninja, which means the former will always run before the latter, exactly like we want.

@rakuco   Big thanks for your great explanation!!  totally understand now.
PR updated.  Thanks again!!!

lgtm :D

I am seeing errors on the Windows package builder. I think it may be related to this but can't say for sure. xwalk.exe in my current project is located at path\to\prj\windows\ instead of path\to\prj\windows\locales.
Any thoughts?
These are the results from running crosswalk-pkg --platforms=windows .
Log file:
C:\Users\nrakochy\AppData\Local\Temp\3Lvi01\com.testapp.throwaway\com.testapp.throwaway-<IP_ADDRESS>.wxs(78):
error LGHT0103 : The system cannot find the file
'C:\Users\nrakochy\AppData\Local\Temp\3Lvi01\com.testapp.throwaway\prj\windows\locales\xwalk'.

Stacktrace:
[1m  Packaging C:\Users\nrakochy\code\crosswalk\com.testapp.throwaway\app[0m
[1m  Skipping host setup check[0m
[1m  Initializing build dir C:\Users\nrakochy\AppData\Local\Temp\3Lvi01[0m
  + Copying app template from C:\Users\nrakochy\AppData\Local\scoop\apps\nvm\1.1.1\v7.2.1\node_modules\crosswalk-app-tools\app-template
  + Loading 'windows' platform backend undefined
  + Defaulting to download channel stable undefined
  + Looking for latest version in crosswalk/stable undefined
[0G  + Fetching 'stable' versions index [##########]
  + Found version '22.52.561.4' in channel 'stable' undefined
  + Using cached crosswalk64-22.52.561.4.zip
  + Project template created at C:\Users\nrakochy\AppData\Local\Temp\3Lvi01\com.testapp.throwaway\prj\windows
[1m  Importing web application[0m
  + Source C:\Users\nrakochy\code\crosswalk\com.testapp.throwaway\app
  + Destination C:\Users\nrakochy\AppData\Local\Temp\3Lvi01\com.testapp.throwaway\app
[1m  Building packages armeabi-v7a,x86[0m
  + Loading 'windows' platform backend undefined
  + Running 'candle -v C:\Users\nrakochy\AppData\Local\Temp\3Lvi01\com.testapp.throwaway\com.testapp.throwaway-<IP_ADDRESS>.wxs' undefined
  + Running 'light -v "com.testapp.throwaway-<IP_ADDRESS>".wixobj' undefined
[2K[0G  + Building package [error...]
  + Logfiles at C:\Users\nrakochy\AppData\Local\Temp\crosswalk-app-tools-com.testapp.throwaway undefined

I am seeing errors on the Windows package builder. I think it may be related to this but can't say for sure. xwalk.exe in my current project is located at path\to\prj\windows\ instead of path\to\prj\windows\locales.

That's what's expected. Do path\to\prj\windows\locales and path\to\prj\windows\locales\xwalk exist? I'm looking at the zip file and they should.

My apologies for adding to an unrelated thread. If you could point me to the instructions for opening an issue, I would be happy to move the conversation there.
As it stands, xwalk.exe is in ~/prj/windows rather than ~/prj/windows/locales. Hopefully the screenshot can shed some light-

The tree layout looks correct, but indeed it's helpful to discuss it separately. Can you file a bug in https://crosswalk-project.org/jira and CC me there?


Accessing individual wheel torque and rpm

Hi,
I would like to be able to access each wheels torque and RPM on the vehicle, but cant work out the best way to do so.
When I enable telemetry on the manual_control.py script, I can see that there are many graphs of tyre forces displayed in the server window, and it is these I would like to ideally access through the client.
I am running Unreal Engine 4.26.2 and Python 3.6.
Any help would be greatly appreciated.

Hey @everestmax, all the current exposed information about the wheels is in the carla.WheelPhysicsControl, which you can access doing actor.get_physics_control().wheels. However, I don't think data like the wheels RPM is exposed.

Hey @everestmax, all the current exposed information about the wheels is in the carla.WheelPhysicsControl, which you can access doing actor.get_physics_control().wheels. However, I don't think data like the wheels RPM is exposed.

Hi, is it exposed now? Can we directly access the related info of wheels? Thanks！

Hey @everestmax, all the current exposed information about the wheels is in the carla.WheelPhysicsControl, which you can access doing actor.get_physics_control().wheels. However, I don't think data like the wheels RPM is exposed.

Hi, is it exposed now? Can we directly access the related info of wheels? Thanks！

Yes, was recently merged into the dev branch.
Expose Telemetry Data #5153

I just added a PR to fix the access to the "wheels" attribute of VehicleTelemetryData : #8078


How to integrate your TestTools into my own project?

So sorry for that I am a newcomer to Unity. Can you tell me how to install the package and how can I apply the image source script in my project.

First of all, what's the reason for you trying to use this package?
This is not an easy-to-use/ready-for-use package. It's designed solely for personal use, so it wouldn't useful for others... especially for newcomers.

Thank you for reply, I just want to follow your work named TinyYOLOv2Barracuda.
Through this, I can develop a selfie application which requires Yolov2 model.
I just copied your folder named "jp.keijiro.klak.testtools" in the Packages to my own Packages,
Fortunately, it did not report any errors.

Okay. Then I close this issue.


In inline diff view of files with >= 1000 lines, the last digits of the left line numbers are sometimes truncated

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.84.2
OS Version: Windows 11 23H2

Steps to Reproduce:

Diff two files with >=1000 lines each. The files can be of identical content such as these: one.md, other.md

Note that left line numbers are missing their least significant digit

All this may be timing related. Closing and reoping the tab usually fixes the issue. On the other hand, I also saw this a couple of times while trying to reproduce the issue, usually when scrolling to the end of the diff immediately after reoping it:

I've seen this too a couple of times, but could not reproduce reliably.
It's definitely still a problem in the most recent Insiders build as I just saw it happening today.


Pipelines bring back the AsReadable on the writer

Kinda linked to #1838
If you again are writing several layers deep, then at the end you need to say sign the data (hash, or CRC etc) there is no way to get it back. You have to pass around a hash object and write to that for every write....
This makes me sad... can we have it back?

@Drawaes could you move this one to CoreFX repo please?

@Drawaes could you move this one to CoreFX repo please?

Not sure this is relevant anymore.

It might be relevant for others, but in my case I coded around it... so happy for it to stay closed and not moved.


Using a precomputed distance matrix

Would it be possible to include functionality to pass in a precomputed distance matrix?

I'm developing a fork of this repository. And I have already implemented possibility to use a precomputed distance matrix as long as several other distance metrics.
https://github.com/asanakoy/Multicore-TSNE

This would be a really great feature to have.
sklearn currently implements it, but their implementation is very slow.


[BUG] Custom formatting imposible

From vscode-dotnettools created by Ganakim: microsoft/vscode-dotnettools#662
Describe the Issue
I am working with Unity and VSCode on an M1 MacBook Pro. I have been digging deep into this issue, and wanted to provide a comprehensive report on what I have found.
My preliminary goal was to get my C# Unity scripts to auto format, and keep the curly braces on the same line as the conditionals. To do this, I ended up installing the C# extension, and voila everything was perfect. Until I wanted functionality from the Unity extension. Installing that requires the C# DevKit extension, which, for some reason disables the omnisharp side of the C# extension, which in turn, disabled my autoformatting rules. Mind, the auto formatting did still function, just not according to the rules defined in my omnisharp.json
Digging into it, it's due to the switch to Roslyn. Unfortunately, if I want to keep the Unity extension, my C# DevKit extension needs to be installed as well. As is, I can only get both formatting and intellisense if I have just installed the unity extension, but have not reloaded my VSCode. Which is entirely too awkward.
Steps To Reproduce
No response
Expected Behavior
I should be able to use the unity extension, but also get my formatting.
Environment Information
Version: 1.83.1 (Universal)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:46:55.789Z (2 wks ago)
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.6.0
All extensions are on the latest version

@Ganakim
We don't use omnisharp.json with the new Roslyn based server.  However we do support .editorconfig based formatting configurations, see the docs here - https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options.
.editorconfig should cover pretty much all the formatting options that omnisharp.json supports, and will work in VS and VSCode.
I'm going to close this as by-design - we intentionally only support .editorconfig as that is the modern, cross editor way of configuring C# code style rules and analyzers.
If you hit issues with using .editorconfig (e.g. missing rules from omnisharp.json), please re-open the issue (and feel free to tag me directly).

I've read that link several times, but it's not applicable to visual studio code, only visual studio. I have installed the EditorConfig extension: EditorConfig.EditorConfig, but it doesn't support the "csharp_new_line_before_open_brace" rule

Maybe I have things set up wrong in my preferences then. Are there relevant settings you could point me to?

@Ganakim If you are still using O#, there is a VS Code setting which maps to the omnisharp.json Formatting option EnableEditorConfigSupport (see FormattingOptions.cs)


assets.deploy line replace or compliment existing?

In the readme, it says:

make sure you have a assets.deploy alias for deployments, which will also use the --minify option:
"assets.deploy": ["tailwind default --minify", ..., "phx.digest"]

However, it's not entirely clear what it means in the context of an existing Phoenix project that already has an assets.deploy alias.
Does that mean we replace the existing one:
- "assets.deploy": ["esbuild default --minify", "phx.digest"]
+ "assets.deploy": ["tailwind default --minify", "phx.digest"]

Or that we update it to:
- "assets.deploy": ["esbuild default --minify", "phx.digest"]
+ "assets.deploy": ["tailwind default --minify", "esbuild default --minify", "phx.digest"]

You keep esbuild there if you want to keep using it for your javascript. So for me I have:
"assets.deploy": ["tailwind default --minify", "esbuild default --minify", "phx.digest"]

That doesn't seem to be correct? tailwind.config.js has:
module.exports = {
  content: [
    './js/**/*.js',

This works fine for me, and app.js still shows up
"assets.deploy": ["tailwind default --minify", "phx.digest"]


generate summarized html report

Hi,
I am trying to run a simulation using 50,000 request with 100 users concurrent.
It means that there are total of 50,000 * 100 = 5,000,000 requests.
The html report generated is extremely heavy, weighting over 20GB.
is there a way to make more summarized html report, without generating html file for each request?
Thanks,
Matan

Could you please use our Google Group for questions?
Also please take care of providing all the required information.


General Issue: Data Checks

Background Information
Currently some derive_param_*() functions issue a warning if CR->PR occurs in the source data.

Are the checks at the right place? At the moment the checks are called within the derive_param_*() functions. Maybe it is better to call them separately after the creation of the OVR parameters. Then they would fire only once and it would be easier to customize them.

Do we need more checks, e.g., CR -> SD or PR -> SD?

The response values to check are hard-coded in the check. Should we make it more flexible?

Definition of Done
Decision on how data checks should be implemented in admiralonco.

Agreed to close issue.  Data checks will be part of SDTM checks in pharmaverse.


test(lib): add tests for libs functions

#8 done

Coverage increased (+7.8%) to 62.963% when pulling 69fd258ec7fbc0c3c7f77eb05f8c9bbff27f9826 on test/lib into e9a4e0ddd401357757132b9a5bb21b7ef6694700 on master.


Make use of the new logger module

Logging works now a little bit different than before, so we have to
adjust the final message which needs to be printed.

Looks good!


Alonzo Scripts cahnged to simple Sum type.

The Script in the Alonzo era has been changed to a simple Sum type with two
constructors. This is possible because both variants store there original bytes,
so the SafeToHash instance does not need a Memobytes to memoize the originalBytes.
Also fixed up validating scripts, by using the Plutus side validateScript. this allowed
the repository to not need the serialize or the flat packages, which were removed
from the cabal file.

This PR has been superceeded by https://github.com/input-output-hk/cardano-ledger-specs/pull/2226 and will be closed.


How to remove Grave pins from map?

Enable interactive map on "Record discoveries" table part and remove it manually. Or just disable showing death pins in config.
Or use https://thunderstore.io/c/valheim/p/Azumatt/DeathPinRemoval/ to clear pin on tombstone interaction.


Re-create our own implementation of ru.aristar.jnuget.rss.PackageFeed using Spring's AbstractAtomFeedView

Task Description
As a follow up of #611 and in relation to #1131 , we need to replace our code that depends on the ru.aristar.jnuget.rss.PackageFeed and implement our own class that uses a org.springframework.web.servlet.view.feed.AbstractAtomFeedView based controller instead.
Task Relationships
This task:

Is a sub-task of #1215
Is a follow-up of: #611
Is required for: #1130
Relates to: #1131

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@fuss86

Hi @carlspring. I'll take a look at it if you don't mind.
Thanks :)

Thanks for offering to help and good luck! :)

I like how this issue sounds, I'll take a look at it

@AlekNiebla , okay -- go for it! @sbespalov will be your point of contact for this, as he's one of our experts.

@carlspring I would love to take this one.

I am officially heading out on this issue later today. Just putting this here so that its known as tickets can't be assigned to noobs (me) just yet. :)

Thanks, go for it, @bono! :)

Initial analysis of the main usages of PackageFeed:

NuGetRepositoryFeatures

used by cron to sync the remote NuGet repo w/ the SB one
consumes an Atom feed from remote NuGet repo and writes it to SB NuGet repo

NuGetArtifactController

search endpoints will search the SB NuGet repo and transform the "hits" into an Atom feed which writes to output stream as XML

Next step
Understand how to replace the above w/ https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/view/feed/AbstractAtomFeedView.html

@sbespalov @carlspring
So Spring leverages ROME for its RSS and AtomFeed implementations.
Really what AbstractAtomFeedView (via AtomFeedHttpMessageConverter) provides is automatic un/marshalling of the feed using the ROME Feed object model instead of the custom Strongbox PackageFeed and PackageEntry.
So that makes sense to get off of the hand-rolled solution. However, here is the pain point... ROME only supports basic Feed/Entry schema as well as the DC Dublin and Syndication extensions. However, Strongbox is leveraging the Microsoft dataservices/metadata extension for the properties element in the feed.
Rome provides the ability to add new "modules" to support extensions. Some extensions are available but unfortunately I can't find one for the MS Dataservices/metadata extension.
Here are the many steps that have to be done to add a new "module".
My Thoughts
Is this really worth doing? Is it worth doing right now (priority)? The current implementation of PackageFeed/PackageEntry/EntryProperties seems to be working fine. If the above model is replaced w/ the ROME model the controller still has the custom code that loads the Strongbox feed and packages from the NuGet repo. The only difference is that the adaptation of that is now into the ROME object model - not the Strongbox one. Also, it will be a high cost to add the properties module.
Options

Do nothing
Find another ROME module that has some concept or properties and use that instead of the MS metadata one.
Create a ROME MS metadata module in ROME modules project (contribute back) and then use to implement this.
 Thanks

Hi @bono007,
@sbespalov will be able to answer your questions most likely tomorrow :)

@bono007 thanks for detailed research. As a result it seems there will be no benefits from getting custom ROME module so I suggest to leave this and close the issue.
cc @carlspring

Thank you very much for spending some time to investigate and evaluate this task. It sounds like there is no point to carry on with it for now. I will, therefore, close it.

Sounds good. I will focus on 1169.


Docs unclear about default pool

That the docs (well where I looked) did not state that the default calico network is <IP_ADDRESS>/16 which just so happens to be the network I am using on the front end (I am currently trying to make this <IP_ADDRESS>/16)
from https://github.com/projectcalico/calico-containers/issues/1324
CC @javaboyuk

Let's clear this up when we fix #63 [No IPAM Documentation]


MSID: 90422 Version: 1 DOI: 2<IP_ADDRESS>3410

"msas": "Neuroscience"
"msid": "90422"
"preprintDoi": "10.1101/2<IP_ADDRESS>3410"
"Reviewed Preprint posted": "2023-09-12"
"Sent for peer review": "2023-07-13"
"Posted to bioRxiv": "2023-07-13" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>3410v3/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=90422)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/90422/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>3410)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/90422/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/90422)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/90422

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/90422

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/90422/v1/90422-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/90422)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

on the eLife preprint Lieselot LG Carrette is missing an affiliation and has incorrectly been assigned another authors corresponding email address, this is an error carried on from biorxiv

Nice spot @rkcook312!
I've reached out to bioRxiv to see if they can get this corrected.

@fred-atherden - Looks good to me.


Update Existing Emissions Check Engine

At the ECMPS 2.0 ticket refinement meeting held on 2/13/24, Chris instructed us to close Uber Epics.


[5.3] Validator optimization

Long operation is the current code and short operation is my optimization.
Mine is searching in a hash table which is O(n)
the current code uses array_unique which uses O(n·log n)
My optimization is exponentially faster the bigger the load gets.
https://postimg.org/image/j77vv9q8n/

My optimization is exponentially faster the bigger the load gets.

Not exponentially faster. Faster by at best a factor of O(log(n)). We're open to PRs please. :)


Can you provide the training log of the dataset "yelp2018"

I have tried reproducing the model on the dataset "yelp2018". The best result of recall@20 is 0.06988 and ndcg@20 is 0.0852, which is inconsistent with the result of 0.0712 and 0.0867 in your paper. Can you provide the training log of the dataset "yelp2018"?

Could I ask that what your average BPR loss and transR loss are in epoch 0?     sum of BPR loss in all batchs/number of batchs.The magnitude of my loss is inconsistent with that of the author.


Support BlockStructure endpoint for VB

See https://github.com/OmniSharp/omnisharp-roslyn/issues/2090
Let me know if you want me to proceed with more work supporting VB.
If incomplete work shouldn't go to master, you may consider creating a feature branch that I get my PRs into instead of master, and merge it to master after the whole work is completed.
VB would be a really good addition.

See #2090
Let me know if you want me to proceed with more work supporting VB.
If incomplete work shouldn't go to master, you may consider creating a feature branch that I get my PRs into instead of master, and merge it to master after the whole work is completed.
VB would be a really good addition.
I'd like to see this happen, anyway I could be of use?


HandshakeTimeoutError: Handshake timed out

I have followed the same steps mentioned here in the documentation for Datadog apps, But I am facing an issue in the starter-kit as following

Run the starter-kit
Click on Click here to open your widget
When I try to click the HERE button I get the following error message

Uncaught (in promise) HandshakeTimeoutError: Handshake timed out

Node version: v14.17.0

@rachelnicole It would be great if you could support here

@AbdallahHemdan can you provide the entire error with the stack trace / screenshot of the console

@AbdallahHemdan Hey there!
You'll see this error message while viewing the widget locally because the Datadog Apps SDK cannot connect to the Datadog application.
These Datadog Apps are designed to run in an iframe inside of the Datadog UI (described in more detail in this architecture document).
Did you see this error after following the instructions to create a new Developer Platform App and adding your app to a Dashboard?

@rachelnicole Thanks, I think @ericrallen commit to update the docs make sense now 🙏🏻


How to use/implement the simple validator?

Description
In ticket #390 we raised the question what the simple validator is currently doing. We need to clarify this and maybe update the implementation/documenation.
Environment

operating system:
Python version:
PyWPS version:
source/distribution
[ ] git clone
[ ] Debian
[ ] PyPI
[ ] zip/tar.gz
[ ] other (please specify):
web server
[ ] Apache/mod_wsgi
[ ] CGI
[ ] other (please specify):

Steps to Reproduce
Additional Information
Please check discussion in #390.

If you are referring to
https://github.com/geopython/pywps/blob/master/pywps/validator/complexvalidator.py#L50
and
https://github.com/geopython/pywps/blob/master/pywps/validator/complexvalidator.py#L153
and similar
The idea was: There can be more then one suffixes for given mimetype (e.g. geotiff, tiff; geojson, json, gml, xml;, ...)  so we try to compare the file suffix with expected once.
But it's rather primitive and not sure, how reliable. If there is more rebust way, how to check "at least the mimetype", I would welcome it


[SFSRAP-33] Added shared assembly info

And deleted obsolete rules test project (the tests were moved to the plugin test project some time ago)

LGTM


Support for Q-Series TV?

Hello @soef and @Apollon77, thank you for providing this great adapter! Actually, the desire to control my TV via Homematic was the reason for getting into ioBroker and I'm happy that I did!
The adapter basically works fine, yet not all commands are working properly with my Q-Series TV (QE55Q7FGM) - it seems Samsung has changed the IP command set. Can't select HDMI2/3, for example.
What can I do to contribute - in order to find the right commands to control all functions? I've been trying to find those new codes by googling, but without success.

thank you for this great adapter
I have the same problem as davidmuc. I cant select hdmi 2/3. hdmi 1 works great.
My TV is a QE65Q8FAM

This issue was moved to iobroker-community-adapters/ioBroker.samsung-community#5


Fix gcs walker relative key for import

Fix #5104
Fix #5102
Fix #5113

Thanks @itaiad200 - tested from the UI and lakectl

The above is based on our S3 walker implementation.
Want to add test to cover this change.


html/template: URL types always escape in attributes

What version of Go are you using (go version)?

$ go version
go version go1.18 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/weberc2/Library/Caches/go-build"
GOENV="/Users/weberc2/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/weberc2/.gvm/pkgsets/go1.18/global/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/weberc2/.gvm/pkgsets/go1.18/global"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/weberc2/.gvm/gos/go1.18"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/weberc2/.gvm/gos/go1.18/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/weberc2/projects/mono/go.mod"
GOWORK="/Users/weberc2/projects/go.work"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3727685623=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
printTemplate(`<x action="{{.}}">`, html.HTML("<expected-not-escaped>"))
// <x action="%3cexpected-not-escaped%3e">

printTemplate(`<x action="{{.}}">`, html.HTMLAttr("<expected-not-escaped>"))
// <x action="%3cexpected-not-escaped%3e">

printTemplate(`<x action="{{.}}">`, html.URL("<expected-not-escaped>"))
// <x action="%3cexpected-not-escaped%3e">

// executes the provided template with the provided data and prints the result
func printTemplate(template string, data interface{}) {
	var b bytes.Buffer
	t := html.Must(html.New("").Parse(template))
	if err := t.Execute(&b, data); err != nil {
		panic(err)
	}
	fmt.Println(b.String())
}

Playground
What did you expect to see?
I expect that data of type HTML, URL, or HTMLAttr is not escaped inside of an attribute.
What did you see instead?
Attributes are always escaped irrespective of data type.

As documented, those are incorrect uses of HTML (requires an entire html fragment) and HTMLAttr (requires the entire key=value pair): https://go.dev/play/p/XmBsJ_itlER
Not sure about URL.
cc @empijei

@seankhliao Thanks for the response. The docs specify "an HTML document fragment", but "fragment" isn't clearly defined (so perhaps the documentation could be updated to be more clear?). For example, from the documentation alone (I'm not sure if "fragment" is taken from the HTML spec or if Go expects users to be familiar with the spec), any of the following could be reasonably understood as fragments:

"bar"
foo="bar"


Embed a property within a property/ Access JSON elements dynamically

Could I embed a property within a property. For example, consider that my bot is calling a bitcoin to currency change API which returns a JSON of the type in the picture:

Let us assume that I saved this response in dialog.api_response. Now Json is in dialog.api_response.content.
Now if the user is to input: “USD”, (which I will save in user.convert_to) I would do dialog.api_response.content.USD.last
But what if the user asks for AUD, or INR, or BRL? I would have to have an if statement for each one of the conversions!  Is there something like ${dialog.api_response.content.${user.convert_to}.last} ? Otherwise I would just find myself hardcoding every singly currency.

Try dialog.api_response.content[user.convert_to].last
or getProperty(dialog.api_response.content, user.convert_to).last

if this does not work, feel free to open.


integrate scans.py

We want scans to be happening in the background basically constantly, as well as sniffing (which I put in the packets directory

I don't know if scanning by default is the best practice - it'd be pretty loud to begin aggressively scanning as soon as you're connected. I think it'd be better to set that as an option. Passive sniffing is fine though

Cool. I'm gonna close #19 because they're pretty similar now

Half done. An initialization scan is done on port 22 to check for ssh, but no other ports - the next step is creating a capability to scan.


Implemented Settings

Added LTRSettings
Added tests for settings
Added LTRSettings.isLTRPluginEnabled check to all Query.createWeight and all BaseRestHandler.prepareRequest implementations

https://github.com/opensearch-project/opensearch-learning-to-rank-base/issues/75

@ylwu-amzn
@jngz-es


Update protobuf version to fix Issue #221

For more details, see comments on #221

@JessicaLHartog : just wanna state explicitly something I'm sure you are tracking:  you'll need to rebase this change after merging #232, and then force-push in order to have this PR only have the 2 commits to the pom.xml & .travis.yml.

@erikdw Yep, I knew I'd have to rebase, I just wanted Travis not to yell at me and make it so that this doesn't have merge conflicts while both this PR and #232 were open for review.


Updated connectivity matrix

#sign-off

@erjosito : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Oops, I didnt realize I was using the azure-docs and not the azure-docs-pr...


licenses: check for code that is copied from external projects

needs to be acknowledged in our license and/or notice

@pjfanning Is this still valid?

found https://github.com/apache/incubator-pekko-grpc/blob/11e6f15b1e9edf425c8edb16c50b70e892f8b54b/runtime/src/main/scala/org/apache/pekko/grpc/internal/NettyClientUtils.scala#L192 -- but this looks like just a link to show how the netty method works - that there is no copied code

also https://github.com/apache/incubator-pekko-grpc/blob/11e6f15b1e9edf425c8edb16c50b70e892f8b54b/interop-tests/README.md?plain=1#L14C157-L14C230
This one needs investigation. grpc code is Apache licensed but if we find any code that is copied then we'll need to check source headers as well as update the repo LICENSE and NOTICE.

found
https://github.com/apache/incubator-pekko-grpc/blob/11e6f15b1e9edf425c8edb16c50b70e892f8b54b/runtime/src/main/scala/org/apache/pekko/grpc/internal/NettyClientUtils.scala#L192
-- but this looks like just a link to show how the netty method works - that there is no copied code

I double checked and this is just a link to show how the Netty class works.


typo: Double word "to"

Remove a second list sentence that overlapped

@nschonni : Thanks for your contribution! The author, @mattbriggs, has been notified to review your proposed change.


Added description to the adder1 function

Sorry for the mess. I just added several comments for preparing for the workshop and noticed that the comment style was wrong, so I added a commit later.
I confirmed that the 9a1ce9c version runs properly on google collaboratory.

Can you squash your commits? (git rebase -i and then s)

Thanks done squashing @proppy


Release notes for 2.3.6 missing

App upgraded to 2.3.6 automatically, no release notes available.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: fd856307-25bf-4b18-ef90-75df56fd9493
Version Independent ID: 59686ac8-db3d-0edf-ba0e-4aef1e2fdd0b
Content: Microsoft Entra Connect: Version release history - Microsoft Entra ID
Content Source: docs/identity/hybrid/connect/reference-connect-version-history.md
Service: entra-id
Sub-service: hybrid-connect
GitHub Login: @billmath
Microsoft Alias: billmath

Our monitoring system reports missing services. It seems that this update REMOVES the services "Azure AD Connect Health Sync Insights" and "Azure AD Connect Health Sync Monitoring" and replaces them through this new? service "AzureADCibbectHealthAgent".
Now I don't know if they are REALLY SUPPOSED TO BE removed or something went rouge during the update, since there is no changelog. This is really not a good way to push updates...

@martinjp84
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@martinjp84 Thank you for the feedback.  We are aware of this and they should be live shortly.  Thanks!
#please-close

You've created the release notes but they are incomplete. As @Fero-0 mentioned, two services are deleted and are replaced by a new Entra health monitoring service.


Create a mining scenario(s)

This is a basic scenario for generating activity. It should have a node(s) that mine blocks in a way that stimulates maininet (once every 10 mins on avg). Optionally, this scenario could allow the user to specify certain parameters such as the avg time between blocks, etc, but it might be better to just make these as separate scenarios.

closed by https://github.com/bitcoin-dev-project/warnet/pull/40


Species with subgenus "homonyms" getting misplaced during sync?

It seems that "homonym" subgenera are being misplaced in the taxonomic classification with all of Culex (Culex) placed incorrectly in Trigonometopus (Culex), and most likely it is happening during sync in assembly. In some cases it is caused by bad data in which the "homonym" subgenus was incorrectly applied but the expected behavior during sync is to copy the data as it was in the source and not attach it to an unexpected subgenus homonym.
The reasons I think it is happening during sync are:

The data are correct in the source dataset, but were not correct in assembly
@yroskov and I determined that it is not caused by union sectors by switching all sectors in Diptera to attach mode, which did not solve the problem.
When @yroskov applied a decision to remove the incorrect subgenus Culex from Trigonometopus ("Culex") canus, and synced it fixed the issue

The logs say that the subgenus Culex is ignored by TreeCopyHandler, but not much other info is present on Culex in the logs.

Puzzling. I cannot reproduce this problem in integration tests. Still figuring out whats going on...

I reproduced the issue in a debug assembly with a smaller dataset of just Culex, which I hope will help.

THanks @gdower that's useful! I can reproduce it now in tests and should be able to locate the problem!

@gdower btw, while trimming the data down to a tiny dataset that we can keep in tests I spotted that some name ids are not unique:
Culicidae-Culicinae-Culicini-Culex-Culex-abnormalis-7ccf8431f		Culex (Culex) abnormalis	Lane, 1936	species	Culex	Culex	abnormalis					189	1936	zoological	http://purl.obolibrary.org/obo/NOMEN_0000285
Culicidae-Culicinae-Culicini-Culex-Culex-abnormalis-7ccf8431f		Culex (Culex) abnormalis	Lane, 1936	species	Culex	Culex	abnormalis					189	1936	zoological	http://purl.obolibrary.org/obo/NOMEN_0000224


Thread was being aborted. Error processing heartbeat(s)

I've been seeing this message a lot with this package. I can't reproduce it reliably, but it mostly happens when I first load up my project in a new Editor session. The below error and warning always occur together.
My environment:

Unity version: 2022.2.15f1 and 2021.3.16f1
Wakatime.Unity version (commit SHA): 691a6ca453713189f8330347cb6e029002672aa7
Wakatime settings

Log level: Warning
Git options: disabled

Warning:
[Wakatime.Run] Exception when running processC:\Users\shund\Downloads\wakatime-cli-windows-amd64.exe
Thread was being aborted.
UnityEngine.Debug:LogWarning (object)
Wakatime.Logger:Log (Wakatime.LogLevels,string,string) (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Logging/Logging.cs:32)
Wakatime.ProcessRunner:Run () (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Utils/ProcessRunner.cs:111)
Wakatime.ProcessRunner:RunInBackground (string) (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Utils/ProcessRunner.cs:39)
Wakatime.WakatimeCliHandler:ProcessHeartbeats () (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Handlers/WakatimeCliHandler.cs:110)
Wakatime.WakatimeCliHandler:<.ctor>b__13_0 (object,System.Timers.ElapsedEventArgs) (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Handlers/WakatimeCliHandler.cs:36)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

Error:
[Wakatime.Thread was being aborted.] Error processing heartbeat(s).
UnityEngine.Debug:LogError (object)
Wakatime.Logger:Log (Wakatime.LogLevels,string,string) (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Logging/Logging.cs:29)
Wakatime.WakatimeCliHandler:ProcessHeartbeats () (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Handlers/WakatimeCliHandler.cs:124)
Wakatime.WakatimeCliHandler:<.ctor>b__13_0 (object,System.Timers.ElapsedEventArgs) (at ./Library/PackageCache/com.vanbassum.wakatime@691a6ca453/Editor/Handlers/WakatimeCliHandler.cs:36)
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()

Hello,
As far as I can deduct from the logging, the wakatime cli is aborting prematurely. I am not sure why this happens.
Is there more information in the log? I would expect there is also a log "Could not send heartbeat." and after that the output from the CLI.
In case that's not available, Could you test this with the log level on debug? If you do that, the wakatime cli will be visible. This will give more information about what's happening.

Sure, I'll set log level to debug. It may take a couple sessions to repro but I'll post any additional logs when I have them.

Have you encountered this problem again? I haven't been using unity as much lately but my planning is to use Unity more in the next couple of months. Maybe ill encounter the same issue, I haven't seen this myself yet.

I will close this issue, since it has been stale for a long time now.
If the issue still persists, please re-open the issue.


Bt/crud comment

Please stop submitting these PRs. 🙏
See here: https://github.com/inertiajs/pingcrm/pull/122#issuecomment-824741545
//cc @JasmeenGrover @lalitj


Add rotation methods

CLA is valid!

Coverage decreased (-0.54%) to 44.81% when pulling 0c29f9bf76bb2ab29250a37a0222529593569903 on add_rotate into 18320ba24dbc85dc53804e0595c34a0eaab75e3b on master.


width & height custom config scale

Would be great to have config also for width and height similar like tailwindcss has.
Also, it would be great if width and height could support percentage values. e.q. w-1/2

Would be great to have config also for width and height similar like tailwindcss has.
Also, it would be great if width and height could support percentage values. e.q. w-1/2

for width & height percentage, it's already available w/{percentage-amount}
example:
w/50 the output is 50% width based on window screen
but for percentage width string like { width: '50%' } that not based on window screen, we will update in next release


docs: update python version

Description of change
This ph just change one line. The line that explain about intallation instructions.
I Just add the 3.10 python version. This version is already tested in GitHub Actions.

Please update macOS on line 42 as well.  Thx.

Landed in #2571


The Bundle API should allow to read data from K8s configMaps and secrets

My K8s operator knows how to create a redis instance and put a redis URL to a secret. I can supply a hostname, but the password is generated. How can I get a password from the secret? Same for CM.
For K8s apps I would use valueFrom.secretKeyRef:
      env:
        - name: redisURL
          valueFrom:
            secretKeyRef:
              key: password
              name: redis-secret

For example I have a bundle:
bundle: {
	apiVersion: "v1alpha1"
	name:       "podinfo"
	instances: {
		redis: {
			module: {
				url:     "oci://ghcr.io/compose-operator-examples/modules/redisclaim"
				version: "0.1.1"
				values:
					managedConnectionSecretRef: {
						name: "redis-secret"
					}
			}
			namespace: "podinfo"
		}
		podinfo: {
		    module: url:     "oci://ghcr.io/stefanprodan/modules/podinfo"
		    module: version: "6.3.5"
		    namespace: "podinfo"
		    values: caching: {
		        enabled:  true
		        redisURL: "tcp://redis-redis:6379"
		    }
		}
	}
}

@stefanprodan thank you for your answer! :+1:
Let me joke a bit: if I'm to allow a developer to supply a REDIS_PASS from his/her local enviroment I guess it would be "12345" or "qwerty",  :) so it it safer to make a platform to generate it.
About your runtime API draft:

it is better to support mounting volumes from ConfigMap ans Secret to.
I think that .valueFrom.namespace "kube-system" is too permissive. A workload should read only it local namespace secret, cm

it is better to support mounting volumes from ConfigMap ans Secret to.

I guess I got this issue wrong then, if your controller is generating the Kubernetes Secret, then mount it in the app Deployment, no Timoni runtime needed.

@stefanprodan You got it right in the first time, it is me who is adding wishes one on top of another
Let's forget I've said about volumes.
I'm interested in reading an enviroment value from K8s secret or cm into the module's runtime.


CPU and GPU results are different for the batchnormalization...

The model issue #444 generate different results for CPU and GPU implementations. With some investigation, I found this difference is due to the operator batchnormalization.
Create this issue to track that.

Fixed


User page should display complete short description

Short description field supports a maximum of 160 characters. However these 160 characters are never fully displayed, since user card is cut with "..." even on user page.
Example:

@morebrownies that's a good point, if we never actually display all of the short description, should we change the design to fix that, or change the character limit to match the design?

A related bug: "..." has a fixed position on usercard, when resizing window:


Endpoints on server side

For Device Model

[x] Get a specific device given deviceId or name
[x] Get multiple devices given a limit (number of devices to retrieve), 1 or more attributes or a filter ( order by an attribute, increasing and negative)
[x] Get multiple devices that have a given attribute with the ability to add a limit and  order by filter

For Log Models

[x] Get multiple entries for a single device. Given the number of devices desired and deviceID, get the most recent entries for that device.
[x] Get multiple entries within a timestamp. Given two timestamp, retrieve all entries. Add an option to specify a single device.

This closes #88 #33

code smell found in log/device api files
 res.status(200).json(device) return

missing`"npm run test:staged --prefix server" in package.jsons
do not merge PR

missing "npm run test:staged --prefix server" and "npm run test:staged --prefix client" in package.jsons do not merge PR

Will add the missing script

@DerekRuiz The change_stream.test.js that you have written seems to fail occasionally, can you take a look please


Changes deprecated compile to implementation

Since gradle 3.0 the compile option is deprecated. They request us to use implementation instead.
More info: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

I guess the change makes sense, thank you. I'm merging the PR, but bear in mind we have no plans to make any new releases of this plugin.

That's ok, I'm just anticipating what might be an issue in future. Thanks


DOC: update outdated README

This PR is to update the outdated information/links in the README.md file.

Thank you, @klauer and @danielballan!


Check xml node type without namespace

In XML the prefix of the namespace can be chosen freely.
Example:
<ns3:CrossIndustryDocument xmlns="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15" xmlns:ns2="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12" xmlns:ns3="urn:ferd:CrossIndustryDocument:invoice:1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="">

The validator should not test for a rsm prefix.

Now the intesting thing is that I have to reject this despite you are right. Two things: 1) ZUV is no longer maintained, it has been completely merged into Mustangproject so please report issues there.
2) This issue is a duplicate of https://github.com/ZUGFeRD/mustangproject/issues/140 and since we are using a lot of schematron from official sources:  it would not make sense to allow dynamic namespace prefixes if those in the sources are still fixed. The reason why they (and e.g. the CEF in https://github.com/ConnectingEurope/eInvoicing-EN16931/blob/master/cii/schematron/preprocessed/EN16931-CII-validation-preprocessed.sch) are wrong is probably because of this recommendation http://www.unece.org/fileadmin/DAM/cefact/xml/XML-Naming-And-Design-Rules-V2_1.pdf - which unfortunately says "will be" (maybe only a recommendation) instead of a "must be"(specification).


Trouble Disabling AES-NI via Environment Variable in C Code.

I'm trying to disable AES-NI in OpenSSL by setting the OPENSSL_ia32cap environment variable within my C code as shown below:
#define NO_AESNI
int main() {
    #ifdef NO_AESNI
    const char *varName = "OPENSSL_ia32cap";
    #ifdef NO_SSSE3
    const char *varValue = "~0x200020200000000";
    #else
    const char *varValue = "~0x200000200000000";
    #endif
    if (setenv(varName, varValue, 1) != 0) {
        perror("Error setting environment variable");
        return 1;
    }

    char *retrievedValue = getenv(varName);
    if (retrievedValue != NULL) {
        printf("Environment variable %s has value: %s\n", varName, retrievedValue);
    } else {
        printf("Environment variable %s not found\n", varName);
    }
    #endif
    // Rest of my code
}

Here is an example of running the code without AES-NI:
[OpenSSL] running AES-128-ECB benchmark...
[OpenSSL] 3.482924 seconds for 10000000 iterations, 4096 bytes message
[OpenSSL] running AES-128-CTR benchmark...
[OpenSSL] 3.877055 seconds for 10000000 iterations, 4096 bytes message

And this is the output after setting the Environment Variable:
Environment variable OPENSSL_ia32cap has value: ~0x200000200000000
[OpenSSL] running AES-128-ECB benchmark...
[OpenSSL] 3.485387 seconds for 10000000 iterations, 4096 bytes message
[OpenSSL] running AES-128-CTR benchmark...
[OpenSSL] 3.893353 seconds for 10000000 iterations, 4096 bytes message

As you can see, it doesn't seem to work, and AES-NI is not disabled. I've noticed that when I set the environment variable in the terminal and run openssl-speed, it does work. Can anyone provide insights into why this is not working when set within the code and suggest a solution to disable AES-NI programmatically within the code?

I'd guess that the environment variable is being read before you set it.
The code only reads it once.


fix(types): various fixes to type definitions

Changes:

exported NuxtVueI18n namespace to allow to annotate configuration
object in nuxt.config.ts.
fixed various types in Options, made all optional to make them
actually usable, added missing ones.
moved getLocaleCookie, setLocaleCookie and SetLocale to proper
interface.
removed return null from getLocaleCookie to simplify types.
Updated NuxtI18nSeo interface to use VueMeta types.
Also removed app.$t API as it never worked - it needs to be called
on the VueI18n instance instead.

I've divided all changes into separate commits for book keeping and to make it easier to review. If you go commit-by-commit it should be quite clear what the changes are.

LGTM @rchl. I can't really speak for the TS part, hopefully @kevinmarrec can have give this a look.

@kevinmarrec gave me an informal review on discord. :)


Can't find peers - no synching happening

Tried it on 2 windows machines and 1 Ubuntu. Same issue. It doesn't synch, cant find any peers.
I have other QT wallets running, without any issues. Thnx for resloving this or giving me a hand.
sven

Can't find peers and no synching too.
Dev don't action!!!


Feature Selection Techniques in Machine Learning

Topic Suggestion
Feature Selection Techniques in Machine Learning
Writing sample(s):
N/A
Proposal Submission
Proposed title of article
Feature Selection Techniques in Machine Learning
Proposed article introduction
Feature selection is the process of selecting a subset of relevant features from the dataset for use in building machine learning models. It aims to reduce the number of features to reduce the computational cost of modeling and to improve the performance of the model.
In this article, we will look at the merits of feature selection and discuss the techniques used in feature selection.
Key takeaways
By the end of this article, the reader should be able to:

Understand feature selection
Know reasons for feature selection
Know and understand different feature selection techniques e.g Filter Methods, wrapper methods, etc.
Apply different feature selection techniques for better model performance

Article quality
My article will be more in-depth and provide handy tools to the reader by not only providing the theory but also the programming implementation of the techniques
References
N/A.

Thank you for your response and we thank you for submitting your topic. After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations as previously mentioned on your topic form by our content moderator.
We typically refrain from publishing content that is covered widely on the net or other blogs. As we're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
https://www.google.com/search?q=Feature+Selection+Techniques+in+Machine+Learning&sourceid=chrome&ie=UTF-8


Beneficiary vs assetOwner field name for transitions

Error: field name beneficiary is unknown to the contract interface

This should be fixed when https://github.com/RGB-WG/rgb-std/pull/162 is merged


Re-expose a smart DOWNLOAD memory type on Metal

The main problem with the old DOWNLOAD type, which got removed in #3514, was that invalidating it resulted in a pipeline stall, since we need to submit that to a queue as a command. Perhaps, instead we can do the following:

re-enable the type in the same way it existed
invalidate() would do nothing
the transition from anything to HOST_READ access would be implemented as synchronize_resource

I'm not 100% sure that this is a valid implementation, but it sounds like it could be one, and it wouldn't include any stalls.

I played around it, and it appears to be more painful than it seems. Our CPU-visible memory has an associated buffer to it, but Metal's synchronize_resource doesn't take a range in arguments. That means, we could have a giant download memory allocation, and it will be synchronized for each little change in each of its buffers.
I also tried to refactor it to have dedicated allocation for these non-coherent buffers, but then mapping memory becomes complicated, just like in DX11. At this point, I'm not convinced it's worth it.


components dir “~assets” require image cant work normal

display
actually

Versions

nuxt:
node:
nuxt:   v2.15.3
node:  v14.18.1

Reproduction

Additional Details

Steps to reproduce
What is Expected?
What is actually happening?

in pages dir is work normal，but in componets dir will not.
i dont know why,
can you give me a method to solve this problem


Module build fail sometimes [Unstable Next]

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Unsupported operation: 'Uri.base' is not supported

this errors happens sometimes, seens to be related with the browser still opens trying to connect to socket.
Complete error information [tailwind included]
Compiled with problems:

ERROR in ./src/tailwind.css (./src/tailwind.css.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!./node_modules/sass-loader/dist/cjs.js!./src/tailwind.css)

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Unsupported operation: 'Uri.base' is not supported

ERROR in ./src/tailwind.css

Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Unsupported operation: 'Uri.base' is not supported
    at tryRunOrWebpackError (/home/jay/dev/aeskills/node_modules/webpack/lib/HookWebpackError.js:88:9)
    at __webpack_require_module__ (/home/jay/dev/aeskills/node_modules/webpack/lib/Compilation.js:5051:12)
    at __webpack_require__ (/home/jay/dev/aeskills/node_modules/webpack/lib/Compilation.js:5008:18)
    at /home/jay/dev/aeskills/node_modules/webpack/lib/Compilation.js:5079:20
    at symbolIterator (/home/jay/dev/aeskills/node_modules/neo-async/async.js:3485:9)
    at done (/home/jay/dev/aeskills/node_modules/neo-async/async.js:3527:9)
    at Hook.eval [as callAsync] (eval at create (/home/jay/dev/aeskills/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
    at /home/jay/dev/aeskills/node_modules/webpack/lib/Compilation.js:4986:43
    at symbolIterator (/home/jay/dev/aeskills/node_modules/neo-async/async.js:3482:9)
    at timesSync (/home/jay/dev/aeskills/node_modules/neo-async/async.js:2297:7)

fixed in 0.16.0


Use dcrlibwallet types directly instead of converting to/from json

An example is the Transaction type created in dcrios for parsing the json string equivalent of a dcrlibwallet.Transaction object.
For this to be fully achieved, will need to modify dcrlibwallet functions to return pointers to dcrlibwallet objects, rather than JSON strings.

Just got reminded that some of the dcrlibwallet types exported by Gomobile do not contain all the properties defined in go. Gomobile only includes properties that of primitive types; all custom type properties (structs) are stripped.
For example, the DcrlibwalletTransaction available in the iOS source code (equivalent to the Transaction type in dcrlibwallet) cannot be used as it does not contain the Debits and Credits properties.


Error while running "make deploy" on OSX - El Capitan

 kubernetes-anywhere (master) $ make deploy
/Applications/Xcode.app/Contents/Developer/usr/bin/make config
CONFIG_="." kconfig-conf Kconfig
/bin/bash: kconfig-conf: command not found
make[1]: *** [config] Error 127
make: *** [.config] Error 2
I am doing this very first time. Am I missing Anything? I am following these instructions - https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase1/azure/README.md

Proper tap was missing....Here is how you get rid of this message
brew tap PX4/homebrew-px4
brew install kconfig-frontends

It's easier to just run make docker-dev first so you can run the deployment from an environment that has everything installed already.

yes. that worked for me. It took me little while to learn that running make deploy inside docker (make docker-dev) is simpler.


Color next/last week of previous/next month

I would like to change the color of the next and previous weeks that show when looking at a month. How would I do that? Thanks! Awesome calendar!

Sorry, I didn't implement this feature yet.

I just release a new version.
Check the Example project.


Using GPTeam with gpt4all openai-compatible API endpoint

Hi!
I got GPTeam to connect to the GPT4all local chat server mode by hacking the openai.api_base url to point at the localhost API endpoint provided by GPT4all, as per https://docs.gpt4all.io/gpt4all_chat.html#gpt4all-chat-server-mode
I also had to hack all of the constructors of ChatModel() in src/agent/base.py to specify a large request_timeout value (otherwise the local model kept hitting request timeouts).
This seems to be almost working. In the GPT4all server window, I can see the requests coming in, but the agents are not generating responses or making progress. (I tried both the MPT-7b-Chat and MPT-7b-Instruct models).
I think getting this working would be a very fun use case of this tool, as it does not require OpenAI in the loop. I would be quite satisfied even if this means it takes quite a while to wait for the scenario to run.
Is this some limitation of the API exposed by GPT4all? I can provide a branch with my hacks, if that helps make progress. The GPT4all project is quite active; if we can point out why their API is incomplete, they will probably patch it for us.

gpt4all.patch
This is the patch I used to point GPTeam at GPT4all. Note that you also have to enable the openai endpoint specifically in GPT4all, in the Settings->Application->Enable Web Server.

I see the requests in the server window of gpt4all, but it never generates a response. I suspect we might be exceeding the context window of the models it has.
I tried using llama-cpp-python, but it died because gpt4all sends "None" as a max_length field in the JSON request. I need to file a bug for that, over there now, heh.
There is also the problem with the smaller models not responding in JSON, apparently:  https://github.com/101dotxyz/GPTeam/issues/75#issuecomment-1583759864
So this might be a long road. I think the prompt might need to be trimmed, and possibly also not ask the model to respond in JSON, but in some kind of well-formed dialog format?
That, or we need to wait for bigger version of MPT (since it has large context windows, but is currently only available as a 7B model that probably also can't do JSON well enough).


Cannot find module ../middleware in ./.nuxt/nuxt-i18n/middleware.js

Environment
npx envinfo --system --npmPackages '{nuxt,@nuxt/*}' --binaries --browsers
Reproduction
I am sorry but as this is a project for my company I cannot share whole code, though I will describe it.
Describe the bug
So my package.json dependencies looks like this:
  "dependencies": {
    "@nuxtjs/axios": "^5.13.6",
    "@nuxtjs/gtm": "^2.4.0",
    "@nuxtjs/i18n": "^7.3.1",
    "bootstrap": "^4.6.0",
    "core-js": "^3.8.3",
    "nuxt": "^2.16.2"
  },

So whenever I run npm run dev(build) there is added new folder to .nuxt folder which is nuxt-i18n. In that folder I have a file named middleware.js which looks like this:
// @ts-ignore
import nuxtMiddleware from '../middleware'

/** @type {import('@nuxt/types').Middleware} */
const i18nMiddleware = async (context) => {
  const { app, isHMR } = context

  if (isHMR) {
    return
  }

  const [status, redirectPath, preserveQuery] = await app.i18n.__onNavigate(context.route)
  if (status && redirectPath) {
    const query = preserveQuery ? context.route.query : undefined
    context.redirect(status, redirectPath, query)
  }
}

nuxtMiddleware.nuxti18n = i18nMiddleware

. So and the error on build is: ❯ log friendly-errors › This relative module was not found:
❯ log friendly-errors › * ../middleware in ./.nuxt/nuxt-i18n/middleware.js .
Therefore as there is realy not that module in .nuxt I am facing an error that unless I delete first and the last row of the code my app won't build at all. I tried with different versions of node ( 14.15, 10.21, 16.9, 18.1...) Any help would be appreciated :)
Additional context
No response
Logs
No response

This looks like an issue with @nuxtjs/i18n rather than Nuxt. Maybe you could raise an issue there instead?


154 get deposit to work

Coverage remained the same at 87.234% when pulling 0d956c700f250b33c09b03b04980c3903a394b09 on fenekku:154_get_deposit_to_work into 2cf33bf5600ffdfe880718f10370fac66b5ae155 on inveniosoftware:master.


Readme is Missing ... Everything Except a Contribution Note

https://github.com/microsoft/roosterjs-react doesn't have even the most basic description of the library or a single usage example, let alone documentation or a link to a documentation site.  This makes it rather difficult for anyone to actually learn/use the library.

This repo is archived now. For react wrapper of roosterjs, please refer to roosterjs-react package in roosterjs repo. Thanks.


added bitscuit to OWNERS

What this PR does / why we need it:
Adding new team member to repo
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

NONE

@horis233
I believe this PR needs the approval of you.
I will add myself to the OWNERS after this PR is merged in order to avoid conflict.

@horis233
I believe this PR needs the approval of you.
I will add myself to the OWNERS after this PR is merged in order to avoid conflict.

@bitscuit please add @Daniel-Fan and remove jinchun-dev

@bitscuit please add @Daniel-Fan and remove jinchun-dev


non-git source and bundle config local override?

C02LX2KVFD58:~/work repos/repo $ bundle config
  Settings are listed in order of priority. The top value will be used.

  disable_local_branch_check
  Set for the current user (/Users/amooreniemi/.bundle/config): "true"

  local.core_resource
  Set for the current user (/Users/amooreniemi/.bundle/config): "/Users/amooreniemi/work repos/core-resource-rb"

C02LX2KVFD58:~/work repos/repo $ bundle show core_resource
  /Users/amooreniemi/.rvm/gems/jruby-1.7.4/gems/core_resource-1.0.7

The relevant gem "core_resource" is sourced from artifactory. Only my gems sourced from gitolite seem to respect the local override. So like gem 'auth', git: 'gitolite@git.work.com:auth-gem', is respected.
This is a huge bummer for me when developing at work, because it means I have to go back to using path directive overrides. It's annoying to have to worry about accidentally checking in a Gemfile that could break all my colleagues' boxes.

This is correct: the local override is only for git sources by design.
The reason for this is that Bundler needs to be able to lock to a specific version of the gem. When using git repos, it locks to a commit hash. It can use a local git repository to lock to a commit hash in the same way as a remote repo. If you're using a gem from a gem server, there's no way to fetch a specific git revision or match up a gem version to a git commit.
Without locking to a specific version, Bundler can't ensure the same code is running in production as on your development machine.

@TimMoore thanks for the quick reply!
Does Bundler have any plans to support, in addition to commit hash, matching on semantic version? If not, we may move back off Artifactory to Gitolite, because the overhead of doing manual overrides is too much for our process currently.
Can you tell me where in the Bundler code base what you're describing is happening? I'd be curious if I could do a pull request to support matching on version (or maybe Zipcar can do a local fork for our purposes). AFAIK, gem server APIs usually do expose version as a matter of course. (I'm having trouble finding the artifactory docs on this, but from what I can see, it would.)
Also, perhaps I am misunderstanding, but it looks like at least the RubyGems API exposes the sha: http://guides.rubygems.org/rubygems-org-api/#gem-version-methods Would that not work to match on?

@mooreniemi the reason that local overrides only work with git repos is so that deploys to production will use exactly the same code that you used in development as part of your local override.
Without a git repository, that's impossible. As a result, local overrides are only supported with git repositories.

@indirect I understand, why is it impossible without a git repository? If a gem has a sha, why is that insufficient to check against?

Er... what gem are you talking about? Local development, by definition, means that there is not a released, packaged gem that Bundler could use.

@indirect So we locally have git repos for us to work on our internally hosted gems.  No work is shared outside of it.
When I finish a ticket, I often have made changes to a gem, and made changes to an app using that gem (so the "host" app has the relevant Gemfile). So for the ticket to be tested and released, the QE needs to locally reproduce the feature functionality. To do this, they will jump on my branches (one branch per repo, so the gem has a branch and the host app a corresponding branch). However, my host app should have its Gemfile appropriate for production (so the QE can merge subsequent to test), which means I should not have any directives overriding the gem I also worked on.
Thus, if I've made changes to a gem as part of the same ticket, the QE needs to open the Gemfile, and manually override the gem to point to their local copy of the gem (which will also be on the branch of my current work). Then when they are done, they will manually remove that override from the Gemfile, and push the host app and gem changes to their respective master branches. At that point, no override is needed, because now my gem changes are in master, and we have Jenkins doing semantic versioning bumps on git commits.
My gem will be hosted on artifactory (internal only gem server, mainly used for java actually afaik, so it may just not be worth it in Ruby).
When we were hosting our gems on gitolite, our internally hosted Gems were not managed via semantic versioning but via the git commit hash, so our QEs never needed to do this manual overriding in the Gemfile because bundle config would match on the gem name and use the local copy. (They'd just need to make sure they were locally pulled on my branch for my gem.)
Does that make a little more sense?

Yeah, you're doing it wrong. :) If you want to release gems, you have to release gems. Release a new version of the gem that you've edited, and update the lock file in the host app to point to your new release. Then the QE person gets your changes by checking out the branch and running bundle install.

@indirect What purpose does the local override serve then, if not to facilitate this kind of testing?

It allows you to develop locally when dependencies are experiencing a high rate of change without breaking the guarantee that you will deploy the same code that you used in development. That guarantee is the entire reason that Bundler exists.

I must be misunderstanding something fundamental, so I appreciate your patience in replying.
To Bundler's stated purpose, one needs a commit hash to have an absolute reference to compare the local code to the deployed code. Bundler relies on revision: 5b333aa45844838d8159872abdb4aafe22cdbf64 in the Gemfile.lock for that, I am guessing, when a gem has the git: directive? Or for gems without it, it relies on semantic versioning which equals a release, I am further guessing?
If a gem server exposed that revision hash (and I'm guessing the sha RubyGems exposes is such), why couldn't that be used to the same purpose without the git directive?
I am not deeply experienced with dep management tools, but my intuition was basically, "a semantic version is a nicety for a human so they don't have to read a SHA". But the way it is implemented currently in Bundler, or the way I'm understanding your replies, you are saying a semantic version is for releases only, and a SHA can not be supported once a gem is released.

If I'm correct, I believe that the local override doesn't affect the lockfile, so it exists purely as a development convenience -- as a means of opting out of dependency management for convenience while rapidly iterating.

@mooreniemi yeah, I think there are some missing pieces here. Git SHAs are derived from the files contained in the source code repository. Gems are released artifacts, containing some (but not all) of the files that were present in the git repository. The SHAs exposed by RubyGems.org are calculated from the .gem file, and have nothing whatsoever to do with any git SHAs.
There is no way to correlate git SHAs with released gems, and that is why the "git locals" feature requires git.

@mooreniemi it sounds like using gems sourced from git is a better fit for your workflow. Why did you move away from it?
@segiddins the local override does affect the lock file. It will lock you to the latest commit in the local git repository, with the assumption that you'll be pushing the change in the gem to a remote repo and committing the change to Gemfile.lock in the app that depends on it.
If you have local changes that are not committed in the local gem repo, that is a bit of a loophole that you need to be careful with.

@TimMoore we moved from gitolite to artifactory for hosting our gems. Don't blame me on this, I am not our devops department. :) I may, armed with this thread, push us to go back. But the reasoning for the move was so that our gems can have semantic versioning. That's a nice convenience for other teams that may want to pin to an older version of the gem. I think it may be better for us to just use a git tag instead though.
@indirect Yep, so relying on git makes sense given that implementation, and prevents working outside of exposing git hashes. But if Rubygems can calculate a SHA from a .gem file, why can't Bundler? IIRC, this is kinda what nix does. In which case, git is a convenience, not a necessity. Or is the Rubygems guarantee less strong than yours? My other thought is perhaps Artifactory (we have a vendor contact dude so who knows) could expose a git commit hash, in which case, I think the block would be on Bundler's side as I guess that gems without git directives don't get checked against the bundle config local.
Finally, to be fair, the only reason this comes up right now is because this gem is at the stage in its lifecycle where it's strongly coupled to its originating host app still. (The gem effectively blocks its host app when breaking changes happen.) My feeling at this point in my career is this is a typical, short-lived, and somewhat inevitable part of modularizing code, but hopefully I'll find a better way eventually. :)

I think you've hit the nail on the head: coupled gems should be git repos so they can change in concert with the host app, decoupled gems should be released with versions and used with versions. It doesn't make sense for us to support a complicated and honestly sketchy-sounding link between gems and git shas just for a situation that's supposed to be temporary. :)
On Fri, Mar 27, 2015 at 6:55 AM, Alex Moore-Niemi
<EMAIL_ADDRESS>wrote:

@TimMoore we moved from gitolite to artifactory for hosting our gems. Don't blame me on this, I am not our devops department. :) I may, armed with this thread, push us to go back. But the reasoning for the move was so that our gems can have semantic versioning. That's a nice convenience for other teams that may want to pin to an older version of the gem. I think it may be better for us to just use a git tag instead though.
@indirect Yep, so relying on git makes sense given that implementation, and prevents working outside of exposing git hashes. But if Rubygems can calculate a SHA from a .gem file, why can't Bundler? IIRC, this is kinda what nix does. In which case, git is a convenience, not a necessity. Or is the Rubygems guarantee less strong than yours? My other thought is perhaps Artifactory (we have a vendor contact dude so who knows) could expose a git commit hash, in which case, I think the block would be on Bundler's side as I guess that gems without git directives don't get checked against the bundle config local.
Finally, to be fair, the only reason this comes up right now is because this gem is at the stage in its lifecycle where it's strongly coupled to its originating host app still. (The gem effectively blocks its host app when breaking changes happen.) My feeling at this point in my career is this is a typical, short-lived, and somewhat inevitable part of modularizing code, but hopefully I'll find a better way eventually. :)
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/3507#issuecomment-86946149