[Bug] [Resource Center] Fix hdfs can only use local mode, not cluster mode

Purpose of the pull request
close #11821

Codecov Report

Merging #11823 (311158c) into dev (28469fc) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                dev   #11823      +/-   ##
============================================
+ Coverage     39.59%   39.61%   +0.01%
+ Complexity     4714     4711       -3
============================================
  Files          1016     1016
  Lines         38139    38120      -19
  Branches       4258     4251       -7
============================================
- Hits          15102    15101       -1
+ Misses        21420    21402      -18
  Partials       1617     1617

Impacted Files
Coverage Δ

.../org/apache/dolphinscheduler/common/Constants.java
78.26% <ø> (ø)

...che/dolphinscheduler/common/utils/HadoopUtils.java
16.66% <0.00%> (+0.07%)
:arrow_up:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.08% <0.00%> (-0.70%)
:arrow_down:

...rver/master/runner/task/BlockingTaskProcessor.java
75.86% <0.00%> (-0.55%)
:arrow_down:

...eduler/api/service/impl/DataSourceServiceImpl.java
27.90% <0.00%> (ø)

...cheduler/server/master/utils/DependentExecute.java
0.00% <0.00%> (ø)

.../dolphinscheduler/plugin/task/datax/DataxTask.java
0.00% <0.00%> (ø)

...phinscheduler/plugin/task/chunjun/ChunJunTask.java
0.00% <0.00%> (ø)

...cheduler/plugin/task/api/ShellCommandExecutor.java
0.00% <0.00%> (ø)

...nscheduler/service/process/ProcessServiceImpl.java
31.69% <0.00%> (+0.01%)
:arrow_up:

... and 7 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Audio not succesfully intergraded whit video

this is cause there are 16 video segments
16 subtitle segments
and
17 audio segments

I don't think I've ever seen that. It's probably allowed, if the audio segments are shorten than the video segments and the total audio duration is the same as the total video duration, but I expect the muxers would work in that situation.
You can try with another muxer helper (see the --muxer-preference commandline argument).
If you can share the MPD URL or MPD contents I can take a look.

whell i can share it but i cant asure you you can directly watch the livestream (geo-restricted)
base url = https://npo.nl/start/live?channel=NPO3
mpd url = https://npo-nl-ams-p19-am5.cdn.streamgate.nl/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MjA1MzMzMTAsInVyaSI6IlwvbGl2ZVwvbnBvXC91XzNfNFwvbnBvXC9kcm1cL2Rhc2hfY2VuY1wvbnBvLTNcLzBcLzBcLzBcL25wby0zLmlzbWwiLCJjbGllbnRfaXAiOiI0NS4xNDIuMjM0LjEyNCIsInZpZXdlciI6InZpZXdlciIsInJpZCI6ImNkYTUxNWUifQ.1Oy-uzpSA9y7N1vtCxt5JyqW_PoQUatjPJ7o8jJsV-c/live/npo/u_3_4/npo/drm/dash_cenc/npo-3/0/0/0/npo-3.isml/stream.mpd
key = 8d3c85fa30730fdc39efc09de476415f:8fdccd948bb2cc6d99d5305ccffebcb7
its geo restricted to the Netherlands

error: a value is required for '--muxer-preference CONTAINER:ORDERING' but none was supplied
sorry that im dumb what what needs to be in CONTAINER and ORDENING

Make sure you have mkvmerge (from the MKVToolnix suite) installed and try
--muxer-preference mkv:mkvmerge -o mydownload.mkv
(this will download to a file called mydownload.mkv in Matroska format).
I can't currently test that manifest.

17:39:59  INFO   Muxer preference for mkv is ["mkvmerge"]
17:39:59  INFO   Trying muxer mkvmerge
17:39:59  WARN   Muxing with mkvmerge subprocess failed: I/O error spawning mkvmerge subprocess (Error { kind: NotFound, message: "program not found" })
17:39:59  WARN All muxers failed
17:39:59  WARN   unmuxed audio stream: C:\Users\timta\AppData\Local\Temp\dashmpd-audioG7xLhZp.mkv
17:39:59  WARN   unmuxed video stream: C:\Users\timta\AppData\Local\Temp\dashmpd-videojlSlAa7.mkv
17:39:59 ERROR Download failed: muxing error "all muxers failed"
then when i opened those files manualy i notised the little delay in audio video

You don't seem to have installed mkvmerge, or at least it's not in your PATH. But that's probably not the real problem if you see a delay when loading the two streams manually, I'll try to access this MPD.

thanks the delay is the problem like you first see a big BOOM! schreen and then 1 sec later you hear BOOM! like that

This is a "live" / "dynamic" manifest, and dash-mpd-rs doesn't currently have very good support for downloading content from these. In fact it hardly downloads any segments when I tried the channel you showed. I might try to improve that support one day, but probably not soon. You might have more luck with VLC.

whell for me it allready whould help if a feature exists that whould (mayby expirimental) allow you to manualy set a delay of segments from audio, video or subtitles

i got it convertering directly with ffmpeg was sollution


feat: add automation helper for initial sync

Add automation helper to trigger an initial sync, mostly adapted from the same logic for free space reclaim

could you just add a note when the sync will be needed? is it multiple OM nodes? is it in update mode?

Added a link to https://www.mongodb.com/docs/manual/core/replica-set-sync/#replica-set-initial-sync


ng-controller (not working) vs ngController (working)

I'm submitting a ...

[ x] bug report
[ ] feature request
[ ] other (Please do not submit support requests here (see above))

Current behavior:

in the html file:
 works
if i use instead:
 the following error:
Error: [$controller:ctrlreg] The controller with the name 'AppsController2' is not registered.
http://errors.angularjs.org/1.6.2/$controller/ctrlreg?p0=AppsController2
using mean.io stack;
also when using ngController; buttons onClick or any other function does not  work. only for this case;\
controller.js
(function() {
    'use strict';

    function AppsController2($scope, $http, Global, Profile,  $stateParams) {
        $scope.global = Global;
        $scope.package = {
            name: 'profile'
        };
 }

    angular
        .module('mean.profile')
        .controller('AppsController2', AppsController2);

    AppsController2.$inject = ['$scope','$http', 'Global', 'Profile', '$stateParams'];

})();

** other example **
The exact same thing for a different controller
controller2.js
(function() {
    'use strict';
    /* jshint -W098 */
    function PaymentController($scope,$http, Global, Profile,  $stateParams) {
        $scope.global = Global;
        $scope.package = {
            name: 'profile'
        };
        }

    angular
        .module('mean.profile',[require('angular-credit-cards')])
        .controller('PaymentController', PaymentController);

    PaymentController.$inject = ['$scope', '$http','Global', 'Profile', '$stateParams'];

})();

and example2.html

 works perfectly
Expected / new behavior:

Minimal reproduction of the problem with instructions:

Angular version: 1.6.2

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Anything else:

I guess you're missing some parts of your code, However Github issues are reserved for bugs and feature requests. This looks more like a general support question.
For general support questions, feel free to ask for help in any of the channels mentioned here.

@frederikprijck, is right. Othr channels are more appropriate for these types of questions.

That said, ngController is ignored by AngularJS, so it doesn't complain about a missing controller, nor does it instantiate it. If ng-controller="AppsController2" complains, you either haven't loaded the appropriate JS files, or haven't added the appropriate modules as dependencies to your app's module.

my bad. there is a space included after the equal. that was my error. not a bug.


Make "beginEnvironment" automatic

We try to avoid "setup" functions as it is very easy for a user to put them in. Instead, call "beginEnvironment" automatically on the first call that requires it.

@pelikhan The reason for the initialization block in these libraries is to teach our target audience that some of these sensors require a few bytes to be sent to them before they can start working. In my opinion, it's valuable to know that these lines of code should be placed in the "on start" loop

You could keep a variable to track the “setup” has been called once. What happens when you forget this?

I could just set up a boolean and do that, yes. If we omit this block, the sensor will respond with 0xFF or not at all if I remember correctly. There are two sensors on board that require initialization and we would prefer to keep this step in there, as initialization is common in many devices

So if the kid forget that blocs, it will look like your sensor is broken.

That's the idea!

All sensors on the micro:bit perform lazy initialization on first use; this is a common pattern used all across the system (radio, acc, magnetometer, ...). Why would your sensor be different?


How to get the value for oauth_verifier in Step 3 (Getting an Access Token)?

Unable to get the value for oaut_verifier .As a result of this not able to run the below function which needs the oauth_verifier as a parameter.
Twitter.prototype.getAccessToken = function(requestToken, requestTokenSecret, oauth_verifier, callback) {
this.oa.getOAuthAccessToken(requestToken, requestTokenSecret, oauth_verifier, function(error, oauthAccessToken, oauthAccessTokenSecret, results) {
if (error) {
callback(error);
} else {
console.log("HIIIIII");
callback(null, oauthAccessToken, oauthAccessTokenSecret, results);
}
});
};
Now in the begining of step 3 it is written that he url from step 2 will redirect and provide us with the value for oauth_verifier ,but when we are trying to get the rediret url it is returning us html content and we are not getting a oauth_verifier in that.

The URL "https://twitter.com/oauth/authenticate?oauth_token=[requestToken]" needs to be opened by the user (in a browser). When the user logs in, the user will be redirected to the callback URL (specified in step 1). You need to have some kind of web server accepting requests made to this URL and then use the content of the GET variables oauth_token and oauth_verifier to get your access token (see README step 3).
I don't understand what you mean by saying that the callback URL is giving you html content. This URL should be owned by you and you are the one putting the content there.
The oauth_verifier ist part of the redirect URL (e.g. yourdomain.tld/callback?oauth_verifier=[value of oauth_verifier]&oauth_token=[...]).
If you still have questions concerning the authentication process, please read https://dev.twitter.com/web/sign-in/implementing - especially step 2 - and other related pages on the Twitter Developers page.
You can also try and use PIN-based authorization if you are building an application that is not web-based. See https://dev.twitter.com/oauth/pin-based for more information.

I think he is referring to a totally server-side flow which I am also attempting to implement to issue search queries; but not modify or access anyones 'personalized' twitter data. Perhaps twitters v 1.1 api attempts to prevent this so using a browser emulator like casper may be a work-around. Because its not clear how long access keys last.

Oh, ok. Then you should probably take a look at https://dev.twitter.com/oauth/application-only. Currently this is not supported by node-twitter-api. When using the application-only authentication, all requests to Twitter just include the Authorization header and don't need to be signed (as opposed to the "user requests"). So you are probably better off implementing it yourself (see the above link for documentation) as node-twitter-api would have to be totally rewritten to support this.
I will close this issue because the problem does not directly relate to node-twitter-api. However, if you do still have questions, feel free to re-open it. :)


set should not use array when object key string start with number

var radash = require("radash")

console.log(JSON.stringify(radash.set({}, 'key.0key2', 'value')))

will output {"key":[]}
but what except is {"key": {"0key2": "value"}}

Hi @everyx, this issue has a fix available in radashi@beta today (see #15). An official release is pending. We'd love to have you participate in the discussion and/or development of the radashi-org/radashi fork. 😄


feat: add airdrop feature with claim module

Description
Closes: #XXXX

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] followed the guidelines for building modules
[ ] included the necessary unit and integration tests
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@30bc6d6). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage        ?   54.47%
=======================================
  Files           ?       24
  Lines           ?     2144
  Branches        ?        0
=======================================
  Hits            ?     1168
  Misses          ?      909
  Partials        ?       67


Upgrade to Flutter 2 ?

Hello 👋
First of all, thanks for sharing your project with the community !
I am using your package in my project, and we recently upgraded to Flutter2.
So I am facing warning with sound null safety with my BoomMenu.
Do you plan to port your package to Flutter 2 ?

For now, you can use my fork if you want https://github.com/kuchienkz/flutter_boom_menu
dependencies:
...
  flutter_boom_menu:
    git:
      url: https://github.com/kuchienkz/flutter_boom_menu
...

Can anyone recommend a similar package on pub.dev which is actively maintained?


Meet error  when using python setup.py install

I did not encounter this issue when using the original administrator account on the Linux virtual machine. However, when I switched to a newly created account and tried to build the environment using Miniconda, I encountered an error while using "python setup.py install": "Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)."
To resolve this issue, I modified line 41 in setup.py from:
cmake_args = ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=' + extdir, '-DPYTHON_INCLUDE_PATH=' + include_path]
to:
cmake_args = ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=' + extdir, '-DPYTHON_INCLUDE_DIR=' + get_python_inc(), '-DPYTHON_LIBRARY=' + sysconfig.get_config_var('LIBDIR')].

Of course, you should add import distutils.sysconfig as sysconfig and from distutils.sysconfig import get_python_inc

It is still not working even after the suggested change and giving the same error as before, please can you check the code again and suggest some other changes for the error

@ma-xu I am just running the colab file :https://colab.research.google.com/drive/1s108WmqSVH9MILOjSAu29QyAEjExOWAP?usp=sharing
provided in the GitHub and then I am getting that error, I am not running on my local machine
Please can you check the colab file

I am encountering a similar issue. The code given in the Google Colab file just gives an error when I Run All.
 -- Configuring incomplete, errors occurred!
See also "/content/LIVE/DiffVG/build/temp.linux-x86_64-cpython-310/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
  File "/content/LIVE/DiffVG/setup.py", line 91, in <module>
    setup(name = 'diffvg',
  File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 107, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/install.py", line 80, in run
    self.do_egg_install()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/install.py", line 129, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/bdist_egg.py", line 164, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/bdist_egg.py", line 150, in call_command
    self.run_command(cmdname)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/install_lib.py", line 111, in build
    self.run_command('build_ext')
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 1244, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
    cmd_obj.run()
  File "/content/LIVE/DiffVG/setup.py", line 31, in run
    super().run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 84, in run
    _build_ext.run(self)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
    self.build_extensions()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
    self._build_extensions_serial()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
    self.build_extension(ext)
  File "/content/LIVE/DiffVG/setup.py", line 64, in build_extension
    subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '/content/LIVE/DiffVG', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/content/LIVE/DiffVG/build/lib.linux-x86_64-cpython-310', '-DPYTHON_INCLUDE_PATH=/usr/include/python3.10', '-DCMAKE_BUILD_TYPE=Release', '-DDIFFVG_CUDA=1']' returned non-zero exit status 1.
/content/LIVE

This further causes an error where they say that DiffVG Module is not found. The entire code is the same as what is given in the google colab link on this Github Repo. Can anyone please help me with how I can solve this issue?


Issue/347/llvmpath

Context:
conda-forge builders cannot use brew to get the root of the llvm installation which prevents creating up-to-date PL-Lightning Conda-Forge packages.
Description of the Change:
Allow getting the llvm installation root from the environment variable LLVM_ROOT_DIR.
Benefits:
Maintain PL-Lightning Conda-Forge packages.
Possible Drawbacks:
None.
Related GitHub Issues:
https://github.com/PennyLaneAI/pennylane-lightning/issues/347

@mlxd I had in mind that the compiler would necessarily by somepath/bin/clang++, but I wonder whether it will be the case in the conda-forge CI. If not, maybe we should just pick a variable like CMAKE_CXX_COMPILER with the full path. What do you think?

@mlxd I had in mind that the compiler would necessarily by somepath/bin/clang++, but I wonder whether it will be the case in the conda-forge CI. If not, maybe we should just pick a variable like CMAKE_CXX_COMPILER with the full path. What do you think?

I think it is fine to assume the path will be something/bin/clang++. If this is not the case, we can make a follow-up PR with input from conda-forge build. I'd rather avoid setting the CMAKE_CXX_COMPILER and CMAKE_LINKER directly from CLI unless we need to, but happy to move this if it makes sense to.

I think it is fine to assume the path will be something/bin/clang++. If this is not the case, we can make a follow-up PR with input from conda-forge build. I'd rather avoid setting the CMAKE_CXX_COMPILER and CMAKE_LINKER directly from CLI unless we need to, but happy to move this if it makes sense to.

I agree, but I was wondering since the conda-forge build outputs paths such as
export PREFIX=/Users/runner/miniforge3/conda-bld/pennylane-lightning_1675714784916/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold
export BUILD_PREFIX=/Users/runner/miniforge3/conda-bld/pennylane-lightning_1675714784916/_build_env
+CC=x86_64-apple-darwin13.4.0-clang
+CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang
+CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pennylane-lightning-0.28.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CLANG=x86_64-apple-darwin13.4.0-clang
+LD=x86_64-apple-darwin13.4.0-ld
+LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib
+LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib
INFO: activate_clangxx_osx-64.sh made the following environmental changes:
+CLANGXX=x86_64-apple-darwin13.4.0-clang++
+CXX=x86_64-apple-darwin13.4.0-clang++
+CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pennylane-lightning-0.28.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++

and in the Anaconda doc compilers include platform-dependent prefixes/suffixes. After spawning a container, I'm not quite able to reproduce all the build steps and I'm wondering whether the proper symlinks are created down the line.

I think it is fine to assume the path will be something/bin/clang++. If this is not the case, we can make a follow-up PR with input from conda-forge build. I'd rather avoid setting the CMAKE_CXX_COMPILER and CMAKE_LINKER directly from CLI unless we need to, but happy to move this if it makes sense to.

I agree, but I was wondering since the conda-forge build outputs paths such as
export PREFIX=/Users/runner/miniforge3/conda-bld/pennylane-lightning_1675714784916/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold
export BUILD_PREFIX=/Users/runner/miniforge3/conda-bld/pennylane-lightning_1675714784916/_build_env
+CC=x86_64-apple-darwin13.4.0-clang
+CC_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang
+CFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pennylane-lightning-0.28.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CLANG=x86_64-apple-darwin13.4.0-clang
+LD=x86_64-apple-darwin13.4.0-ld
+LDFLAGS=-Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib
+LDFLAGS_LD=-pie -headerpad_max_install_names -dead_strip_dylibs -rpath $PREFIX/lib -L$PREFIX/lib
INFO: activate_clangxx_osx-64.sh made the following environmental changes:
+CLANGXX=x86_64-apple-darwin13.4.0-clang++
+CXX=x86_64-apple-darwin13.4.0-clang++
+CXXFLAGS=-march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/pennylane-lightning-0.28.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix
+CXX_FOR_BUILD=$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++

and in the Anaconda doc compilers include platform-dependent prefixes/suffixes. After spawning a container, I'm not quite able to reproduce all the build steps and I'm wondering whether the proper symlinks are created down the line.

Ah, I understand now. In that case, since we cannot control the compiler triples/paths, it probably is the path of least resistance to just pass in the direct path to CMAKE_CXX_COMPILER. Feel free to ignore my previous comment and go for it. Though, I wonder if we should opt for this to be a fully general solution in the setup.py for all target platforms, rather than just for MacOS. What do you think?

In that case, since we cannot control the compiler triples/paths, it probably is the path of least resistance to just pass in the direct path to CMAKE_CXX_COMPILER. Feel free to ignore my previous comment and go for it. Though, I wonder if we should opt for this to be a fully general solution in the setup.py for all target platforms, rather than just for MacOS. What do you think?

Since we are modifying setup.py mainly so that the OSX conda-forge build passes, I would wait until this is fixed and then clean up the solution that ended up working.

In that case, since we cannot control the compiler triples/paths, it probably is the path of least resistance to just pass in the direct path to CMAKE_CXX_COMPILER. Feel free to ignore my previous comment and go for it. Though, I wonder if we should opt for this to be a fully general solution in the setup.py for all target platforms, rather than just for MacOS. What do you think?

Since we are modifying setup.py mainly so that the OSX conda-forge build passes, I would wait until this is fixed and then clean up the solution that ended up working.

Sounds good. I'll revoke approval and review again once the new path changes are added.

I have not had specific feedback from Bastian on the changes here, but the changes allow building PL and PLL on conda-forge, which was the main goal (see https://github.com/conda-forge/pennylane-lightning-feedstock/pull/16). So I think the PR could move forward and be merged when ready.

We need #416 merged before reviewing this one.

Hey @vincentmr, don't forget to update the branch reference in conda-forge after merging this PR.

Hey @vincentmr, don't forget to update the branch reference in conda-forge after merging this PR.

Good point. I'll make a few more tests, then merge. Thanks for your reviews.


README instructions not working with current HEAD

Hi, I am trying to update to the latest version of rules_scala, but am running into:
external/io_bazel_rules_scala/scala/scala.bzl:501:5: no such package '@com_google_protobuf//': The repository could not be resolved and referenced by '//external:io_bazel_rules_scala/dependency/com_google_protobuf/protobuf_java'

I was able to trace the issue to the following commit: 3393c52c8fa0f7e2c7d57f19f27087ebc41bdef2. All other commits before that one work with current instructions in the README.md. Can someone please provide guidance on how to get the latest version working? Thanks in advanced!

To get you unblocked, you can add the dependency yourself to your WORKSPACE file:
https://github.com/bazelbuild/rules_scala/blob/499df53b38f66ace84d8c426f3b5d8a338a4798f/WORKSPACE#L94-L99

@johnynek Is this change intentional? If so, I'd be happy to add it to the README. It seems that this was caused by this change: https://github.com/bazelbuild/rules_scala/pull/709/files#diff-9957b181001dad28e385437a86e99126L481 Should the protobuf dep be pulled in by scala_repositories?

Thanks for the prompt response @beala-stripe, but unfortunately I am now running into a compilation error, it seems:
ERROR: /private/var/tmp/_bazel_danielgarzon/e7640762bd2c7e4bec47cd7778dbc4d4/external/com_google_protobuf/BUILD:69:1: C++ compilation of rule '@com_google_protobuf//:protobuf_lite' failed (Exit 1) cc_wrapper.sh failed: error executing command external/local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG ... (remaining 37 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/com_google_protobuf/src/google/protobuf/io/zero_copy_stream.cc:35:
external/com_google_protobuf/src/google/protobuf/io/zero_copy_stream.h:110:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
1 error generated.

The bazel C++ toolchain isn't very hermetic and sometimes issues like this that can be caused by a bad cache entry. Can you try bazel clean --expunge and try again?

After doing so, I get a similar error:
ERROR: /private/var/tmp/_bazel_danielgarzon/e7640762bd2c7e4bec47cd7778dbc4d4/external/com_google_protobuf/BUILD:259:1: C++ compilation of rule '@com_google_protobuf//:protoc_lib' failed (Exit 1) cc_wrapper.sh failed: error executing command external/local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG ... (remaining 37 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/com_google_protobuf/src/google/protobuf/compiler/subprocess.cc:33:
In file included from external/com_google_protobuf/src/google/protobuf/compiler/subprocess.h:43:
external/com_google_protobuf/src/google/protobuf/stubs/common.h:38:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
1 error generated.

I was able to get a bit further, but I don't understand why using rules_scala needs to build protobuf from scratch. Is this intentional?

I merged the PR but didn’t write it. The change was to use the google proto repo protoc tool instead of the one in a jar.
I don’t know why bazel is building that if you don’t use proto though. That seems strange.
As to whether it should be in scala_repositories, I think we should try to make it only needed by people using protobuf ideally. But maybe a short term fix is to put the dependency in the function.

oh, I guess the issues is this:
https://github.com/bazelbuild/rules_scala/blob/master/scala/scala.bzl#L503
we should guard that bind with something like:
https://github.com/bazelbuild/rules_scala/blob/master/scala/scala.bzl#L493
I think the problem is we always have that bind now, even if you don't use proto... so, maybe that is the fix?

It looks like quite a few things depend on protobufs (ie, not just the scalapb/protobufs toolchain):
$ bazel query 'allpaths(//..., external//io_bazel_rules_scala/dependency/com_google_protobuf/protobuf_java) intersect //...'
//third_party/unused_dependency_checker/src/test:unused_dependency_checker_test
//third_party/unused_dependency_checker/src/main:unused_dependency_checker
//third_party/dependency_analyzer/src/test:dependency_analyzer_test
//third_party/utils/src/test:test_util
//third_party/dependency_analyzer/src/main:dependency_analyzer
//src/scala/scripts:scalapb_generator
//src/scala/scripts:scalapb_generator_lib
//src/scala/scripts:scala_proto_request_extractor
//src/scala/scripts:generator
//src/scala/scripts:generator_lib
//src/scala/io/bazel/rules_scala/tut_support:tut_compiler
//src/scala/io/bazel/rules_scala/tut_support:tut_compiler_lib
//src/scala/io/bazel/rules_scala/scrooge_support:compiler
//src/scala/io/bazel/rules_scala/scrooge_support:focused_zip_importer
//src/scala/io/bazel/rules_scala/jmh_support:benchmark_generator
//src/scala/io/bazel/rules_scala/jmh_support:benchmark_generator_lib
//src/java/io/bazel/rulesscala/worker:worker
//src/java/io/bazel/rulesscala/specs2:specs2_test_discovery
//src/java/io/bazel/rulesscala/test_discovery:test_discovery
//src/java/io/bazel/rulesscala/scalac:scalac
//src/java/io/bazel/rulesscala/coverage/instrumenter:instrumenter
//src/java/com/google/devtools/build/lib:worker
//scala_proto:enable_all_options_toolchain_impl
//scala_proto:default_toolchain_impl
//scala/support:test_reporter

To me that suggests it should probably be brought in by scala_repositories, similar to how @com_google_protobuf//:protobuf_java used to be brought in by scala_repositories. WDYT?

yep. Seems like we need to fix it then.

Hi @beala-stripe and @johnynek thanks for taking a look. One concern I have is that it is now building Protobuf from scratch. Seems like a lot of overhead to me. Any way we can pull the binary instead?

it should be cached (although when your C++ toolchain changes, you will need to recompile).
I'd love to see any PRs which can make it faster without sacrificing reproducibility/caching which improve performance.

Heya,
until this issue is resolved, you can pull the jar dependency, and basically recreate the jar file with the correct structure by creating the missing protobuf_java target. This is faster, and avoids building Protobuf from scratch.
Is this workaround elegant? Mehhh 😆
PROTOBUF_JAVA_VERSION = "3.6.1"

http_archive(
    name = "com_google_protobuf",
    url = "http://central.maven.org/maven2/com/google/protobuf/protobuf-java/%s/protobuf-java-%s.jar" % (PROTOBUF_JAVA_VERSION, PROTOBUF_JAVA_VERSION),
    sha256 = "fb66d913ff0578553b2e28a3338cbbbe2657e6cfe0e98d939f23aea219daf508",
    build_file_content = """
package(default_visibility = ["//visibility:public"])

filegroup(
    name = "meta",
    srcs = glob([
        "META-INF/**/*",
    ])
)

filegroup(
    name = "classes",
    srcs = glob([
        "com/**/*",
        "google/**/*",
    ])
)

genrule(
    name = "protobuf_java",
    srcs = [":meta", ":classes"],
    outs = ["myjar.jar"],
    toolchains = ["@bazel_tools//tools/jdk:current_java_runtime"],
    cmd = "mkdir -p META-INF && mkdir -p com/google/protobuf && mv $(locations :meta) META-INF && mv $(locations :classes) com/google/protobuf && $(JAVABASE)/bin/jar cfM $@ META-INF com",
)
    """,
)

Note that the above hack from @pboutes does work but on HEAD as of today you will also need to make sure zlib is available as rules_scala won't be able to get it after the hack has mangled @ com_google_protobuf.
We did:
http_archive(
    name = "zlib",
    build_file = "@bazel_tools//third_party/zlib:BUILD",
    sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
    strip_prefix = "zlib-1.2.11",
    urls = ["https://zlib.net/zlib-1.2.11.tar.gz"],
)

Which solves at least that problem.

@thundergolfer Thanks for the sharing, it helps solve my issue.
/home/runner/.cache/bazel/_bazel_runner/11ea874bde9302d81a91edf58f0892dc/external/com_google_protobuf/BUILD.bazel:16:8: in cmd attribute of genrule rule @com_google_protobuf//:protobuf_java: label '@com_google_protobuf//:meta' in $(locations) expression expands to no files

@thundergolfer Thanks for the sharing, it helps solve my issue.
/home/runner/.cache/bazel/_bazel_runner/11ea874bde9302d81a91edf58f0892dc/external/com_google_protobuf/BUILD.bazel:16:8: in cmd attribute of genrule rule @com_google_protobuf//:protobuf_java: label '@com_google_protobuf//:meta' in $(locations) expression expands to no files

I assume the problem was fixed, please reopen if it's not a case


Added sample StatsD configuration

Documentation will be soon available at https://cloud.google.com/monitoring/agent/plugins/statsd

Done.


Wemo Dimmer Support

Add support for the Wemo Dimmer Switch
Description:
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#4111
Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

I'd love to see this work, what else needs to be done to get this pull request completed?

My comments above still need to be addressed, except the refactor to use hass.data.

Sorry, haven't had time to make the rest of the corrections. I should have some time this weekend though

@MartinHjelmare I know that this PR is not where you would prefer, but I think I have gone as far as I can now. As far as changing the hass.() stuff, it's something I would be interested in learning / figuring out, but as I said in my earlier comment, I am probably not at that level yet.
Please let me know if there are any other changes that I would need to make to get this PR merged. Thanks again!

@angel12 I've pushed a commit with the outstanding changes from my comments. Please test to make sure everything works.


Is it possible to save the "mapping"?

Hello!
First of all, thanks for the tool, it's awesome!
My question, is it possible to save the "mapping"? I don't want to set the keys everytime I restart the tool/pc.
Thank u!

Unfortunately, there is currently no way to do this. Out of curiosity, do
you have this working on the Anniversary Update? A lot of people were
having trouble, but I may add a few more features - such as saving - if it
is working for some.
On Dec 2, 2016 9:15 AM, "romaen"<EMAIL_ADDRESS>wrote:

Hello!
First of all, thanks for the tool, it's awesome!
My question, is it possible to save the "mapping"? I don't want to set the
keys everytime I restart the tool/pc.
Thank u!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/saqneo/Elite/issues/4, or mute the thread
https://github.com/notifications/unsubscribe-auth/APRTZIdqIchcHw6oz-3x1Qarz6x395ryks5rEFIcgaJpZM4LCyFc
.

No, I dont have the Anniversary Update installed, but still - I had troubles to "install" the app. I had the same error like alot of people:
"EliteUi_<IP_ADDRESS>_x64.appx and Add-AppDevPackage.ps1 not in expected build location C:\users\XXX\desktop\elite-master\elite\EliteUi\Out\EliteUi\AppPackages\EliteUi_<IP_ADDRESS>_x64_Test.............."
I fixed that with deinstalling all old SDKs and only installing the one, which VisualStudio recommended after starting "Elite.sln" (with VisualStudio). Maybe that help other ppl too.


[D2] 5.2 Design Pattern 2

To be completed on:

Identified template pattern for AbstractForm.
The pattern is applicable as AbstractForm has a shared structure in the form of the setFormDetails method with its subclasses: Request and PerformanceEvaluation.
The two subclass overrides setFormDetails with setRequestFormDetails and setPerformanceEvaluationDetails, specializing only on their internal structure and promoting separation of concerns from AbstractForm.
Below is the image to illustrate the classes involved for the pattern

Reviewed and acknowledged by team members:

[ ] Guan Lin
[ ] Jing Yi
[ ] Jia Xin
[ ] Ai Xin


How to modify sql before execute it and after build it?

Your Question
I want to modify sql which created by gorm before executed. How can I do?
I tried to create a "before" callback method, but it will be executed before create sql. I can't get sql from "originalSQL := db.Statement.SQL.String()". If you have any idea, please help.

The document you expected this should be explained

Expected answer

use Dialector interface
refer to https://github.com/go-gorm/sharding


@:remove extern private must be valid

Pls add @:remove extern private into bnf.
Example gist: (https://gist.github.com/puffnfresh/5314836#file-valueclass-hx-L6-L7) (not my)

Seems like private is not expected.

@Simn maybe just add a bit info on use private keywords on classes, I found example here http://old.haxe.org/ref/oop

It seems like here, we are not expecting other structures than class
externClassDeclaration ::= macroClassList? externOrPrivate* 'class' componentName genericParam? inheritList? '{' externClassDeclarationBody '}'
{pin=4 mixin="com.intellij.plugins.haxe.lang.psi.impl.AbstractHaxePsiClass" implements="com.intellij.plugins.haxe.lang.psi.HaxeClass"}

Not sure what you want to know. You can have any number of metadata and then optionally private or  (not xor) extern in any order. That's true for both class and interface.

I added interface to extern classes, and I thought that maybe I was missing something else. I think now plugin works in a same way as you mentioned. Thanks for info.

We've got a merged fix.  Closing.  @fzzr- Please test and re-open if the bug recurs.


a more erganomic connection pool

something that automaticly connects, reconnects, and checks out connections with optional pessimistic connection checking. With options for connection recycling, size, overflow, lifo/fifo. Similar to https://docs.sqlalchemy.org/en/latest/core/pooling.html#sqlalchemy.pool.QueuePool

I have to say that would be useful, but I'm not sure it txpostgres is the right project to implement a more featureful connection pool.
The existing implementation exists mostly to be able to easily port from Twisted upstream adbapi.ConnectionPool. I found some generic Python object pool implementations that could maybe be used to build a txpostgres connection pool...
I'll look at the SQLAlchemy pool features, maybe it's not too hard to port it for txpostgres, but I'm afraid it would expand the scope of this project too much.


Feat/Add bundle for stable coins

Summary

Closes #94
Create a stablecoin bundle that includes USDC, USDT, and DAI, assuming full liquidity between these three stablecoins.

Results in frontend:

@nickgore thank you for all the feedback, I'll be updating the PR asap

Hello @nickgore  I updated the PR following your suggestions, I just made some refactors to the proposal of the create_stablecoin_bundle function, I found that for some pairs the column collateral_token_price was missing, I skipped those data frames, by another hand right now I'm missing some changes in lines from 238 to 251 where Ekubo liquidity is calculated, what should I do there, calculate each liquidity for each stable coin?

Hello @nickgore I updated the PR following your suggestions, I just made some refactors to the proposal of the create_stablecoin_bundle function, I found that for some pairs the column collateral_token_price was missing, I skipped those data frames, by another hand right now I'm missing some changes in lines from 238 to 251 where Ekubo liquidity is calculated, what should I do there, calculate each liquidity for each stable coin?

Regarding collateral_token_price see comments above.
Function add_ekubo_liquidity directly modifies  main_chart_data dataframe, therefore for bundle you dont need to modify function itself but call it several times, once for each stablecoin in bundle.

@nickgore I added a validation because when selecting STRK and all stablecoins bundle all the data frames came empty ending in a None protocol_main_chart_data.
This is how the chart looks for All protocols+ETH+All stable coins bundle:

This is How the warning looks:

@nickgore I added a validation because when selecting STRK and all stablecoins bundle all the data frames came empty ending in a None protocol_main_chart_data.
This is how the chart looks for All protocols+ETH+All stable coins bundle:
This is How the warning looks:

STRK-bundle issue addressed in comments.

Thank you!! @nickgore you are awesome


retrieve datasets behind http/https proxy

Previous solution to retrieve remote files is based on FancyURLopener which ignores $http_proxy and $https_proxy. The proposed solution reproduces previous behaviour (error handling and progress bar) and has been tested under Python 2.7 and 3.5

Is there really not something already part of Python that we could use to download a file? Do we have to reimplement everything?

You are totally right, this is too much code for what seems to be really standard stuff.
Actually, in Python 2, URLopener/FancyURLopener come from 'urllib' which is known to have some issues with proxies solved by urllib2. In Python 3, these guys are part of the legacy interface and they reproduce the broken behavior.
"urlretrieve" does exactly this job (downloading a file from an url, handling proxies and report_hook), but it is also part of legacy interface. It works in Python 3, but fails in Python 2 (it is based on FancyURLopener).
So far, I see no standard and simple solution based on urllib that works both in Python 2 and 3.
That said, if you are OK relying on legacy interface for Python 3, I proposed to isolate Python 2 support, so that it can be removed easily in the future (see last proposed commit).

This is reasonable, we can merge. Please squash your commits into a single commit.

done


Use update instead of CreateInBatches in CompleteMultipartUpload

This PR uses an update instead of create now when completing a multipart upload.
That's possible now since we recently added the object_index to the slices and we no longer rely on the ID for the insertion order.

should we mention https://github.com/SiaFoundation/renterd/issues/769 here?


Rdipardo refactor/unmanaged exports

Incorporates @rdipardo's PR #3, but includes a commit to fix the old behavior of always creating the plugin directory in the Notepad++ folder, and then copying the dll to the plugin folder.
This will only work if you have a ProgramFiles or ProgramFiles (x86) Notepad++ installation. Maybe there's a better way to do this, like a batch or PowerShell script that is triggered in the csproj?
When testing this PR, I recommend deleting the plugin folder in your Notepad++ installation before building, to verify that the plugin folder is created.

Thanks for your help, @rdipardo !


marked in the browser via cdn.jsdelivr.net

i found that this work in the browser. in case someone needs it
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/marked-base-url"></script>
<script>
marked.use(markedBaseUrl.baseUrl(`.....`));
const html = marked.parse('# markdown\n\nhello', {
    breaks: true,
});
</script>

If you could create a PR to add this to the readme, that would be much appreciated. 😁👍


Ignorable tables

Add option to ignore tables. In so doing, also rework example_orm.py.

Add option in the config to ignore some table entirely
Start checking in the functional tests that the produced ORM is as expected. This allows testing the above feature.
For this purpose, completely rework example_orm.py so that it is now the valid output of make-tables on src.dump.
Make make-tables run black on the outputted code.

Closes #139

The tests pass for me locally. @Iain-S was this the same issue you already fixed in some other PR?

I ran into an issue where I some tables kept getting included in orm.py even though I set ignore: true. This was because one of the not-ignored tables had a foreign key reference to it. That makes sense, you then have to have that table in your orm.py, but we may still want to ignore that table for the purposes of creating generators, data, etc. I added a commit that implements this functionality.


Feat/accordion

add tree component to render a list of menu and sub menus
add docs for tree component
add test for tree component
add accordion component
add docs rfor accordion component
add test for accordion component

can you add to the tree functionality that only 1 can be opened

@sstraatemans Do we really want this? I'm not a fan of websites that obfuscate navigation and having to click every time to open/close something. You lose overview and it requires clicks to get the overview back, which is not something you want for navigation.
Some examples of successful apps that allow multiple open items in the side nav bar:

Figma
VS Code
Slack
Github
Asana

And those are just the tabs/apps I have open 😅

@sstraatemans I will implement the linked feature for the tree, but it will add performance complexity, since now each tree is only responsible for itself, but adding a linked feature, it'll be responsible for its children instead
regarding open and close callbacks it's fine, will add them

@MRVDH well according to design we want this. we can discuss with @isaozler
Same goes for the remark from @rezaerami
If this is not wanted by @isaozler I'm fine with removing this.
Maybe we should have a small call later today to discuss the issues, before building more

We have to distinguish two different appliances on the left sidebar.
The first one; is the sidebar as a toolbar, and the second is navigation.
The use case @MRVDH is implementing is mostly (the tools dApp) going to be used as a toolbar. So the user has to have multiple branches open, to be able to use the application efficiently.
The use case of @sstraatemans (docs website) is different because we use the left sidebar as a navigation element where we have a hierarchal flow in most cases. We want to guide the user through the sections; in this case, therefore, we don't want the user to get distracted by other content (noise).
So eventually, both appliances are valid UX-wise. The documentation sidebar should be able to show only one branch at a time; as for the k:dApps, we should avoid this complexity.


Some monitors have an independent "backlight" option in its settings

Before opening the issue, have you...?

[X] Searched for existing issues

Is your feature request related to a problem? Please describe
Some monitors have an extra "backlight" option in its settings alongside the usual brightness and contrast, which is used to adjust the LCD backlight panel's brightness, while the labelled "brightness" changes the whiteness/blackness of the displayed image instead (when adjusted, the entire screen appears as if it is covered in a white/black fog). This is often found in monitors sold by Chinese manufacturers.
Describe the solution you'd like
Perhaps include a new functionality to accommodate this extra option?
Describe alternatives you've considered
None, really
Anything else?
No response

If this can be controlled via DDC, then in advanced settings you can override the control code for DDC brightness to something else the display understands. Let me know if you have any info about it. It probably won't make into MonitorControl as we try keep things simple but I am always happy to add less mainstream and obscure features to https://github.com/waydabber/BetterDisplay.


The Indexer does not support LTE search by balance on accounts

type Account {
  publicKey: String
  username: String
  balance: Int
  nonce: Int
  delegate: String
  timeLocked: Boolean
}

type AccountQueryInput {
  public_key: String
}

enum AccountSortByInput {
  BALANCE_DESC
}

Fixed by this issue: https://github.com/Granola-Team/mina-indexer/issues/894


Incompatible with Firefox?

Hello,
All this time I've been using Chrome browser and it has been working out great.
However, today, I tried using Firefox and I got the following error:
Error: x is not defined
calculateSteps@http://<IP_ADDRESS>:8080/ngModules/angular-zoom-directive.js:124:29
.link/<@http://<IP_ADDRESS>:8080/ngModules/angular-zoom-directive.js:98:38
f/k<@http://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js:138:46
e@http://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js:40:72
lf/m.defer/c<@http://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js:44:72
Any ideas on how to fix this?

Hey @redapplewithleaves, I'll take a look tonight if I have some time. Thanks for reporting!

Looks like there was an issue with firefox. v1.0.5 should fix it.

Awesome! It is fixed :D
Thanks!


Remove chain_indices table

This PR removes the chain_indices table. I'm not entirely sure that's what we want but since we were discussing getting rid of the CASCADE deletes I don't see a good reason to keep the table. Creating it and linking it is more of a nuisance than anything else imo, if you don't get the upside of the cascaded deletes.
I hit an interesting test failure in the process, an underflow is triggered in TestEphemeralBalance which is interesting because on master there are no orphaned indices, but now there are orphaned siacoin_elements... so I'm a little bit puzzled still on why that is.
I think there might also be a bug in RevertOrphans because we loop over the orphaned indices and it seems we only deal with the balances of the last orphan. (consensus.go:751) Since I'm not sure whether we want to get rid of the chain_indices entirely I'm going to keep it in DRAFT until tomorrow when Nate is back from being OOO.

The failure in TestEphemeralBalance is valid because we're associating the unspent siacoin element in a reverted block with the block ID we're reverting. We need to remove the chain index association from elements completely, but then we run into problems removing orphans.

@n8maninger this PR now removes the chain_indices table and I believe that the behaviour before and after merging is the same. I think I found a bug though in how we handle reverts and orphans, will open another PR to address that issue, still have one broken test.


Can't use serde_json with rusoto_ec2::Instance

I've just been surprised that I can't compile with an &rusoto_ec2::Instance being passed to serde_json::to_string. I don't see any documentation/examples of how this should work, but it looks like it  should be work. I've got this: https://github.com/pcn/serde-rusoto/blob/417f29c7b11b5a17d6a2448a84d8491bd885a817/src/main.rs#L37-L40 which I think should work, but which fails with this pretty clear message:
error[E0277]: the trait bound `rusoto_ec2::Instance: _::_serde::Deserialize<'_>` is not satisfied
  --> src/main.rs:19:5
   |
19 |     instance_data: Vec<Instance>,
   |     ^^^^^^^^^^^^^ the trait `_::_serde::Deserialize<'_>` is not implemented for `rusoto_ec2::Instance`
   |
   = note: required because of the requirements on the impl of `_::_serde::Deserialize<'_>` for `std::vec::Vec<rusoto_ec2::Instance>`
   = note: required by `_::_serde::de::SeqAccess::next_element`

error[E0277]: the trait bound `rusoto_ec2::Instance: _::_serde::Deserialize<'_>` is not satisfied
  --> src/main.rs:19:5
   |
19 |     instance_data: Vec<Instance>,
   |     ^^^^^^^^^^^^^ the trait `_::_serde::Deserialize<'_>` is not implemented for `rusoto_ec2::Instance`
   |
   = note: required because of the requirements on the impl of `_::_serde::Deserialize<'_>` for `std::vec::Vec<rusoto_ec2::Instance>`
   = note: required by `_::_serde::de::MapAccess::next_value`

even though the serialize flag is set in https://github.com/pcn/serde-rusoto/blob/417f29c7b11b5a17d6a2448a84d8491bd885a817/Cargo.toml#L17. Any help is appreciated.

You might to also enable the deserialize_structs feature: https://github.com/rusoto/rusoto/blob/master/rusoto/services/ec2/Cargo.toml#L51.
I'm also unsure if the EC2 service accepts JSON payloads—I'm fairly sure that it doesn't. However, poking around your linked repository, I think you might be aware of that.

Thanks for the suggestion, I should have mentioned that I tried deserialize_structs as well, however it didn't work out.
My goal here is just to save info about instances, so as you guessed, I'm not worried about feeding json back to the API.
I looked at the generated code in https://raw.githubusercontent.com/rusoto/rusoto/master/rusoto/services/ec2/src/generated.rs and it looks pretty clear:
///
Describes an instance.

#[derive(Clone, Debug, Default, PartialEq)]
#[cfg_attr(feature = "serialize_structs", derive(Serialize))]
pub struct Instance {

as far as I can see, that cfg_attr should build with the macros and do what I need. I'm the beta tolchain, currently on 2.47.0-beta.4, if that makes a difference.

OK, so I'm blind. It's being generated without deserialize as a possible condition. Time to find out more about that generation, I guess?

So, looking a bit further into it, I've bottomed out here:
https://github.com/pcn/rusoto/blob/22130ca1524984fad225dd9102144bce3e3c00e5/service_crategen/src/commands/generate/codegen/mod.rs#L641-L651
I don't understand what's going on here.
For testing I don't get why deriving serialize and deserialize is conditioned on "Desrialize" being in derived, and "Serialize" not being in derived, but that's probably not causing my problem.
I'm not clear about why this test turns into almost no structs being both serializable and deserializable, and how a struct that is annotated as being able to be one, can be contained by a structure that is classified as another, which is I think what's happening as I try to serialize an Instance  type.


Support for custom JSX components and props

First of all, very good job in this library. I really like the way you structured your code, it is easy to read.
Well, I'm working in a framework called Grommet (grommet.io) and I'm planning to use your library to parse a body of a blog post (markdown) to JSX. I've quickly tested your engine and generally it works as expected.
Although I was hoping to have a little bit of control over the JSX components that are being created.
For example, my framework provides an Anchor component that I would like to use instead of the default a. Also I would like to send custom props to whatever JSX component inside the AST. In the context of the anchor, I would like to send an onClick prop so that I can avoid page refresh for my single page app.
As an example this is what I hoping to get:
Markdown

This is a general text with a [link](http://grommet.io) on it

JSX
<Paragraph size="large">
  This is a general text with a <Anchor href="http://grommet.io" onClick={...}>link</Anchor> on it
</Paragraph>

So, I thought about augmenting your options to receive these properties, for example:
import Paragraph from 'grommet/component/Paragraph';
import Anchor from 'grommet/component/Anchor';

converter(post.content, {
  nodeType: {
    paragraph: {
      component: Paragraph,
      props: {
        size="large"
      }
    },
    link: {
      component: Anchor,
      props: {
        onClick: function (event) {
          event.preventDefault();
          history.push('/somewhere');
        }
      }
    }
  }
})

Although initially it seems something needed only for my project, I believe it could be an extension of your library that others can leverage. So, if you agree with this, I can send a Pull Request with these changes. If not I can fork your project and do that on my end.
Looking forward to hearing back from you...

Interesting use case! Let me think on this briefly and I'll figure out a way to support what you're asking for - I think the modularity makes a lot of sense.

I will send a pull request for you to look at it, just in case it helps in your thinking process.

Supported added in 2.0.0. Thanks for contributing!


[logstash] add headless service for statefulset

This commit add a mandatory headless service for Logstash statefulset.
Headless service is required for Statefulsets.
While Helm 2 allowed to deploy Statefulsets without a serviceName, Helm 3 enforce this requirement and fails if serviceName is missing.
Note: Statefulsets don't accept serviceName field update during release upgrades. This change is therefore considered as a breaking change and will require using helm upgrade --force for upgrades.
Fixes #497
Replace #512
Related #401

jenkins test this please

backported to 6.8, 7.8and 7.x branches


Fix Safari docs crash

Closes https://github.com/adobe/react-spectrum/issues/5068
I was able to debug with my local build
We were getting into a state where the offsetWidth was within 1px of the scrollWidth, resulting in trying to make the font ever smaller since there was no guard against it getting too small/negative
The reason we were within 1px is that Safari seems to floor clientWidth when other browsers do round, so I've added a + 1 to account for that. I tried using the bounding client rect and rounding myself, but for some reason, it sometime suffer from being a pixel off as well. So it may be a deeper rounding issue than I can account for.
the + 1 discrepancy doesn't appear to harm anything and it was taking wayyyy too much of my time to try to fix it.
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

Nice one 🙌  Can confirm it fixed the issue for me


fix memory leak

if lyco is NOT used, it will still try to allocate memory due to self.lyco_weights_backup = weights_backup, but those are then never released as there is no lyco applied.
fix is simple early-exit if no lyco model is loaded.
memray before patch shows (must run on cpu so memray can capture memory allocations):

390.238MB (0.71 %) lyco_apply_weights  extensions/a1111-sd-webui-lycoris/lycoris.py:671

This method has a problem
if you have:
using lycos
-> disable all lycos
this return will let the extension cannot restore the backup weights

how do you suggest to fix it? as it is, memory leak is pretty big, 390MB on each generate?

@vladmandic How about this

Wait a min I do something wrong

thanks for quick action. btw, this code is pretty much exactly the same as in lora which is built-in in a1111, so it leaks in both places. once you have your fix in place, i'll modify lora code in my repo to follow the same logic.

@vladmandic I think the code now can resolve it

i was about to say the same - this drops the speed by ~40%, even with empty prompt.

+1


🎨 Improved text

#887
Replaced some words to find their better substitute.
Add some text and replaced some words for better
Change tense at some places to improve readability
Omitted some words to make a sentence more meaningful

:)


Errors logged in firefox show up as "SubType" instead of the appropriate sub type

This probably needs to be fixed in https://github.com/ianwremmel/extend-error

Fixed by removal of extend-error


redirect after binding configs or services

Summary
Fixes # https://github.com/epinio/ui/issues/162

Occurred changes and/or fixed issues

The done method from the create-edit-view was populating the router params without an parameter, resource.
A new validator was added to correctly redirect.

@scures is this one ready to re-review?


W2D3_Tutorial2: load IMDB dataset error

see also: https://deeplearning.neuromatch.io/tutorials/W2D3_ModernRecurrentNeuralNetworks/student/W2D3_Tutorial2.html#section-1-1-load-and-view-of-the-dataset
IndexError: list index out of range

!pip install torchtext==0.4.0 --quiet is a quite old version. Many functions are moved to torchtext.legacy.

Thank you @woodwm . I have updated the code respectively.


Gajraj One (from Google Fonts) is missing

Describe the bug
I'm submitting this as a bug instead of a Font Request because my understanding is that all Google Fonts are meant to be supported automatically.
Gajraj One is an Open Font License font from Google Fonts which doesn't seem to be included. In the fonts list it appears in the search results, but clicking it goes to a 404. There's also no package on npm for @fontsource/gajraj-one.
Steps to Reproduce

Navigate to https://www.npmjs.com/package/@fontsource/gajraj-one
Observe that no such package exists

Expected behavior
No response
Version
No response
OS
No response
Browser
No response
Additional context
No response

I'll be able to fix it in a couple days but it seems our check-fonts code is experiencing a Got race condition bug. Need to play around with that a little.

No worries, I don't need the font urgently. I'd love to hear when it's fixed.
Thanks for your work on this project, it's very useful.

Sorry to nag, I know it's not easy to maintain FOSS projects. Do you have any update on when this might be fixed?

It is technically fixed for v5, but I don't have the time to fix the current build pipeline in this repo.
If you need the font files, feel free to pick them out from the new v5 repo. Although currently undocumented, using the new @fontsource-utils/cli and running fontsource gajraj-one should even locally build you a package!

Released at: https://fontsource.org/fonts/gajraj-one


Automatic Mesos Cluster Testing

As a developer, I can deploy a mesos cluster and verify that the components are running and available on a scheduled basis
Acceptance Criteria:
A button is available on the page to observe if the build is passing
Components Zookeeper is up
Mesos is up
Marathon is up
Consul is up
A 'hello world' application can be triggered on Marathon
Additional Info:
Jenkins or another similar tool can be utilized for this purpose

We do this on our CI - we deploy the cluster (mi-deploy), then run curl against the consul API in a loop, until it tells us all the nodes are healthy. (Meaning that distributive has run all the health checks and they succeeded)

Checkout minimesos.org

Duplicate of #163, #547


Add sample info alert to visually highlight start with samples flow

Fixes

https://issues.redhat.com/browse/HAC-2782
Description

Type of change

[x] Feature

Screen shots / Gifs for design review

https://user-images.githubusercontent.com/9964343/211484549-5c9bbe0c-00ab-4002-873d-3a9290daddae.mov

Unit tests
  SourceSection
    ✓ should render the samples info alert (7 ms)
    ✓ should not render the samples info alert (6 ms)

How to test or reproduce?

Use Create application flow or Add component flow

Browser conformance:

[x] Chrome
[x] Firefox
[x] Safari
[ ] Edge

cc: @beaumorley


Subduing comment tag tones?

Hi there. I really love this. Is there a way to subdue comment tags? They are presently showing with the same luminescence as keywords.  The comment rule subdues plain text in comments, but being able to subdue comment tags more than keywords would give much better separation between heavy documentation and implementation code. I've read through, but the means has escaped me. Is this a feature that has already been implemented or am I missing something? I probably am as my CSS skills are close to none. Danke!

Hi. What do you mean by "comment tags"? Mind posting a screenshot, code sample and what language it is?
Comments already should look very subtle and less strong than keywords.

Hi there! Thanks for getting back to me. @tags in comments...

This is a screenshot of Vector-Syntax in action. Its a fork, so I assume this is also how duo-tone presents comment tags. I would have assumed comment tags to have been a lighter shade?

I see. Yes, that doesn't look right. I'll try if I can reproduce it. Thanks for notifying.

Great stuff. Not a problem. Many thanks to you. Looking forward to your findings.

Hi @simurai, just wondering if you've been able to reproduce it?

there seemed to be a bug

Hmm.. yeah, looks like something didn't get reloaded. Also if you make changes you have to click the "Sync UI" checkbox so that other packages update too.

click the "Sync UI" checkbox so that other packages update too

Thanks for the info. I'll keep an eye out for that!
I would like to investigate what would be needed to help out with javascript language support in tone-syntax. I don't yet know if I have the css/less skills. Are there any links you can think of that demonstrate how Less rules integrate with Atom's styles?
My attempt to emulate Vector with tone-syntax didn't stylise the class keyword:

I noticed that you are looking for a maintainer, unsure if I'm up to the task, but out of interest, I took a peek with chrome inspector

But didn't see any way to introduce this keyword into tone-syntax styles/languages/javascript.less...
A quick heads up would be great if its convenient, and its no problem to move this question over to tone-syntax.
Thanks!


[Encoders] Possible SIMD optimizations for whitespace detection of code points

See EncodingHelper.cs :: IsWhiteSpace

This is another API that would benefit from https://github.com/dotnet/coreclr/issues/6906#issuecomment-307164495

https://github.com/dotnet/corefxlab/blob/89ea88c64f2dabe362c0a3df21d07313542c1d80/src/System.Text.Primitives/System/Text/Encoders/EncodingHelper.cs#L55
cc @GrabYourPitchforks - is this a good issue for the hackathon?

I'm unsure as to the exact scenario under consideration here. Are you trying to find the first whitespace / non-whitespace character in a string (e.g., implementing Trim), or are you trying to speed up detecting whether a single character is whitespace (e.g., while enumerating)? The implementations will look slightly different in each case.
For example, consider the existing method Char.IsWhiteSpace(char). This method is very inefficient due to the nature of how applications use it in practice. The overwhelming majority of characters we expect applications to throw at this method are ASCII non-whitespace. However, there are five (!!) branches this method has to go through when faced with one of these characters as an input. A more optimized way of doing this would be to have an early-out to account for the majority of ASCII non-whitespace input:
if ((uint)(c - 0x21) <= (uint)(0x7E - 0x21)) {
    return NOT_WHITESPACE; // somewhere between '!' and '~', inclusive, no whitespace chars exist
} else {
    /* check for C0, space, and non-ASCII whitespace */
}

Are you trying to find the first whitespace / non-whitespace character in a string (e.g., implementing Trim), or are you trying to speed up detecting whether a single character is whitespace (e.g., while enumerating)?

Looking at how we use this method, it seems like we use it for both scenarios:
Trim - https://github.com/dotnet/corefxlab/blob/b8e0ab345bca5c41f3640d88dd43562e0149b042/src/System.Text.Utf8String/System/Text/Utf8String.cs#L194
Is single character whitespace (but this looks very similar to Trim as well) - https://github.com/dotnet/corefxlab/blob/0687665071bb637f5bac78fc7c9f0f825b778dbd/src/System.Text.JsonLab/System/Text/Json/JsonParser.cs#L429

TBH I don't expect to see real measurable perf gains from any vectorization at all. What would you even vectorize in this code path? And in the common case would the overhead of setting up the vectorization logic be worth it, or is the common case to escape from the enumeration so early that a naive loop is best?

or is the common case to escape from the enumeration so early that a naive loop is best

True. Given we didn't vectorize the span trimstart/trimend APIs for this reason, I believe the common case is that we find a non-white space early enough for vectorization to not be worth it.

Upon further thought, maybe this is something meant for coreclr. There may be some merit to vectorizing methods like String.Split, but I don't think it would require changes to the methods under consideration in this particular issue.

Should we reverse EncodingHelper.cs :: IsWhiteSpace to be IsNotWhiteSpace which essentially does the following:
// somewhere between '!' and '~', inclusive, no whitespace chars exist
return ((uint)(c - 0x21) <= (uint)(0x7E - 0x21));


golink owner is getting mangled

I was trying to edit a link I made from my phone and it told me I wasn't the owner and [my address] was.  This was surprising.  I came back and looked from my computer and saw the same thing.
So I looked at another link that I'd made more recently and I saw that the owner was tagged-devices.
A possible workaround might be #18, but I'm very strongly advocating for this at work, so it might be good to have a better understanding of what's going on here.

Backing up a sec, the common misconception about tags (that likely applies here?) is that they're not meant to apply to humans. Once you tag a device in Tailscale, it loses all its human identity.
So perhaps what golink should do is prohibit the creation of golinks by tagged devices at all and say "Sorry tagged-device, golinks are for humans."
/cc @willnorris

Oh yeah, that sounds like a pretty clear oversight.  Go links should only be owned by humans.  I'll test tomorrow.

And if any link was already created by a tagged-device, let any human take it over?

That's actually interesting.. maybe we let tagged nodes create links (could be useful for some automated scenarios?), but always let humans override?

Also, hi @dustin! 👋

Awesome.  This explains another bit of confusion I had trying to get ssh working earlier.


Replace GetNumberOfWeights(), GetSupportSize(), and m_SupportSize with compile-time equivalents (STYLE/PERF)

Replaced run-time evaluation of number of weights and support size with compile-time evaluation of those values. Might improve the run-time performance of bspline transformations and interpolations. Just marked as style improvement, because the changes are not benchmarked (yet).

Hey Niels, thanks. Maybe they are now the same, but in theory/future it could be different, so I think the existing implementation was more robust and generic. Best, Stefan
From: Niels Dekker @.>
Sent: Wednesday, April 17, 2024 3:02 PM
To: SuperElastix/elastix @.>
Cc: Stefan Klein @.>; Mention @.>
Subject: Re: [SuperElastix/elastix] Replace GetNumberOfWeights(), GetSupportSize(), and m_SupportSize with compile-time equivalents (STYLE/PERF) (PR #1099)
Waarschuwing: Deze e-mail is afkomstig van buiten de organisatie. Klik niet op links en open geen bijlagen, tenzij u de afzender herkent en weet dat de inhoud veilig is.
Caution: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
@N-Dekker commented on this pull request.

In Common/Transforms/itkCyclicBSplineDeformableTransform.hxxhttps://github.com/SuperElastix/elastix/pull/1099#discussion_r1568807908:

const int supportLastDimSize = this->m_SupportSize.GetElement(lastDim);

const int supportLastDimSize = VSplineOrder + 1;

@mstaringhttps://github.com/mstaring @stefankleinhttps://github.com/stefanklein The original code specifically picked the last dimension from the support size, but as far as I can see, all of its dimensions are the same: SplineOrder + 1.

Reply to this email directly, view it on GitHubhttps://github.com/SuperElastix/elastix/pull/1099#pullrequestreview-2005985360, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAF2LNI6VQ2AND5Q34VHTA3Y5ZXDJAVCNFSM6AAAAABGLIXG6KVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAMBVHE4DKMZWGA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Side note, there appear two different definitions of NumberOfWeights:

NumberOfWeights = (SplineOrder + 1) * SpaceDimension
NumberOfWeights = pow(SplineOrder + 1, SpaceDimension)

I believe that only the last one is the correct one: pow(SplineOrder + 1, SpaceDimension). And the first one is wrong. OK?
The one I find suspicious, NumberOfWeights = (SplineOrder + 1) * SpaceDimension was introduced 8 years ago, commit 5a80b720269e7c6b660283d75bb9a087f6dcb678 by GetConstNumberOfWeightsHackRecursiveBSpline:
https://github.com/SuperElastix/elastix/blob/5a80b720269e7c6b660283d75bb9a087f6dcb678/src/Common/itkRecursiveBSplineInterpolationWeightFunction.h#L47-L54
It looks like the recursive step of the "hack" was missing. 🤷

Aren’t those in different files/functions? And both are used somewhere, right?
I don’t remember exactly, but I think in the recursive bspline transform this is actually correct, because it exploits the separability of the kernel.
Best, Stefan
From: Niels Dekker @.>
Sent: Wednesday, April 17, 2024 5:08 PM
To: SuperElastix/elastix @.>
Cc: Stefan Klein @.>; Mention @.>
Subject: Re: [SuperElastix/elastix] Replace GetNumberOfWeights(), GetSupportSize(), and m_SupportSize with compile-time equivalents (STYLE/PERF) (PR #1099)
Waarschuwing: Deze e-mail is afkomstig van buiten de organisatie. Klik niet op links en open geen bijlagen, tenzij u de afzender herkent en weet dat de inhoud veilig is.
Caution: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Side note, there appear two different definitions of NumberOfWeights:

NumberOfWeights = (SplineOrder + 1) * SpaceDimension
NumberOfWeights = pow(SplineOrder + 1, SpaceDimension)

I believe that only the last one is the correct one: pow(SplineOrder + 1, SpaceDimension). And the first one is wrong. OK?
The one I find suspicious, NumberOfWeights = (SplineOrder + 1) * SpaceDimension was introduced 8 years ago, commit 5a80b72https://github.com/SuperElastix/elastix/commit/5a80b720269e7c6b660283d75bb9a087f6dcb678 by GetConstNumberOfWeightsHackRecursiveBSpline:
https://github.com/SuperElastix/elastix/blob/5a80b720269e7c6b660283d75bb9a087f6dcb678/src/Common/itkRecursiveBSplineInterpolationWeightFunction.h#L47-L54
It looks like the recursive step of the "hack" was missing. 🤷
—
Reply to this email directly, view it on GitHubhttps://github.com/SuperElastix/elastix/pull/1099#issuecomment-2061492736, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAF2LNMMLAWRSHQEKN4ZTKDY52F47AVCNFSM6AAAAABGLIXG6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGQ4TENZTGY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

No concrete plans.
I agree that it is not likely that it will change dynamically.
I'm a bit in a doubt. The previous code was quite logical as well , right?
Is the main aim to make it a static variable, instead of dynamic, or to make the code more clear?
Stefan
From: Niels Dekker @.>
Sent: Wednesday, April 17, 2024 3:45 PM
To: SuperElastix/elastix @.>
Cc: Stefan Klein @.>; Mention @.>
Subject: Re: [SuperElastix/elastix] Replace GetNumberOfWeights(), GetSupportSize(), and m_SupportSize with compile-time equivalents (STYLE/PERF) (PR #1099)
Waarschuwing: Deze e-mail is afkomstig van buiten de organisatie. Klik niet op links en open geen bijlagen, tenzij u de afzender herkent en weet dat de inhoud veilig is.
Caution: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Maybe they are now the same, but in theory/future it could be different, so I think the existing implementation was more robust and generic.
@stefankleinhttps://github.com/stefanklein @mstaringhttps://github.com/mstaring Thanks for your feedback, Stefan! Are there any plans to allow dynamically changing the "support size" of a bspline, in the near future? Otherwise I would prefer to just make the code simpler and faster for now, as in this PR. If it should eventually become more flexible in the far future, the code can still be modified, in the far future. If necessary. Is that OK to you?
Would it help if I would add a comment, saying something like:
// The original code did supportLastDimSize = this->m_SupportSize.GetElement(lastDim),
// but for now, each SupportSize element just has the same value: SplineOrder + 1
const int supportLastDimSize = VSplineOrder + 1;
Note that all tests have passed successfully.

Reply to this email directly, view it on GitHubhttps://github.com/SuperElastix/elastix/pull/1099#issuecomment-2061298615, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAF2LNMOBU7ZHWO4AE2ARIDY5Z4FPAVCNFSM6AAAAABGLIXG6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGI4TQNRRGU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Aren’t those in different files/functions? And both are used somewhere, right? I don’t remember exactly, but I think in the recursive bspline transform this is actually correct, because it exploits the separability of the kernel.

Thanks Stefan, but if NumberOfWeights = (SplineOrder + 1) * SpaceDimension would have been correct, then why would Wyke Huizinga (@whuizinga) have made a "hack" to estimate its value? Referring again to https://github.com/SuperElastix/elastix/blob/5a80b720269e7c6b660283d75bb9a087f6dcb678/src/Common/itkRecursiveBSplineInterpolationWeightFunction.h#L47-L54 which did:
/** Recursive template to retrieve the number of B-spline weights at compile time. */
template< unsigned int SplineOrder, unsigned int Dimension >
class GetConstNumberOfWeightsHackRecursiveBSpline
{
public:

  itkStaticConstMacro( Value, unsigned int, ( SplineOrder + 1 ) * Dimension  );
};

and then Wyke (I assume) did:
  /** Get number of hacks. */
  typedef GetConstNumberOfWeightsHackRecursiveBSpline<
    itkGetStaticConstMacro( SplineOrder ),
    itkGetStaticConstMacro( SpaceDimension ) > GetConstNumberOfWeightsHackRecursiveBSplineType;
  itkStaticConstMacro( NumberOfWeights, unsigned int, GetConstNumberOfWeightsHackRecursiveBSplineType::Value );

It looks to me like the intention was to cleverly calculate pow(SplineOrder + 1, SpaceDimension) at compile-time, but it produces just ( SplineOrder + 1 ) * Dimension. Otherwise, why was there a hack anyway? Why not directly do:
 itkStaticConstMacro( NumberOfWeights, unsigned int, ( SplineOrder + 1 ) * Dimension  );

Anyway, maybe only Wyke knows 🤷 . In order to avoid any confusion, I would prefer to just remove RecursiveBSplineInterpolationWeightFunction::NumberOfWeights, as it is unused anyway:

pull request #1100

Hi,
I am not sure anymore. It is a long time ago. But isn't space dimension a
template argument that increases in the recursion? Then it would make sense
to put it in the recursion. Otherwise I dont really see it either....
Cheers,
Wyke
Op wo 17 apr 2024 18:16 schreef Niels Dekker @.***>:

Aren’t those in different files/functions? And both are used somewhere,
right? I don’t remember exactly, but I think in the recursive bspline
transform this is actually correct, because it exploits the separability of
the kernel.
Thanks Stefan, but if NumberOfWeights = (SplineOrder + 1) * SpaceDimension
would have been correct, then why would Wyke Huizinga @.***
https://github.com/whuizinga) have made a "hack" to estimate its value?
Referring again to
https://github.com/SuperElastix/elastix/blob/5a80b720269e7c6b660283d75bb9a087f6dcb678/src/Common/itkRecursiveBSplineInterpolationWeightFunction.h#L47-L54
which did:
/** Recursive template to retrieve the number of B-spline weights at compile time. */template< unsigned int SplineOrder, unsigned int Dimension >class GetConstNumberOfWeightsHackRecursiveBSpline
{public:
itkStaticConstMacro( Value, unsigned int, ( SplineOrder + 1 ) * Dimension  );
};
and then Wyke (I assume) did:
/** Get number of hacks. */
typedef GetConstNumberOfWeightsHackRecursiveBSpline<
itkGetStaticConstMacro( SplineOrder ),
itkGetStaticConstMacro( SpaceDimension ) > GetConstNumberOfWeightsHackRecursiveBSplineType;
itkStaticConstMacro( NumberOfWeights, unsigned int, GetConstNumberOfWeightsHackRecursiveBSplineType::Value );
It looks to me like the intention was to cleverly calculate pow(SplineOrder

1, SpaceDimension) at compile-time, but it produces just ( SplineOrder
1 ) * Dimension. Otherwise, why was there a hack anyway? Why not
directly do:

itkStaticConstMacro( NumberOfWeights, unsigned int, ( SplineOrder + 1 ) * Dimension  );
Anyway, maybe only Wyke knows 🤷 . In order to avoid any confusion, I
would prefer to just remove
RecursiveBSplineInterpolationWeightFunction::NumberOfWeights, as it is
unused anyway:

pull request #1100
https://github.com/SuperElastix/elastix/pull/1100

—
Reply to this email directly, view it on GitHub
https://github.com/SuperElastix/elastix/pull/1099#issuecomment-2061692234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG2LMK5MXXKETJROKFWHNIDY52N5ZAVCNFSM6AAAAABGLIXG6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGY4TEMRTGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Ok yes, the other function you mention makes more sense.
But if it is not being used, then indeed, it can be removed. Maybe it was
there to validate some computations..
Best,
Wyke
Op wo 17 apr 2024 22:37 schreef Niels Dekker @.***>:

Hi, I am not sure anymore. It is a long time ago. But isn't space
dimension a template argument that increases in the recursion? Then it
would make sense to put it in the recursion. Otherwise I dont really see it
either.... Cheers, Wyke
Thank you very much for your reply, Wyke! Really cool to see that you
still comment on this old code, after such a long time!
It's interesting to note that "the other NumberOfWeights definition", from
BSplineInterpolationWeightFunctionBase, did use a slightly different
"hack", at
https://github.com/SuperElastix/elastix/blob/ef8a591818513661465043dd73a15e35ed449ec8/src/Common/Transforms/itkBSplineInterpolationWeightFunctionBase.h#L30-L46
/** Recursive template to retrieve the number of Bspline weights at compile time. */
template <unsigned int SplineOrder, unsigned int Dimension>
class GetConstNumberOfWeightsHack
{
public:
typedef GetConstNumberOfWeightsHack<SplineOrder, Dimension-1> OneDimensionLess;
itkStaticConstMacro( Value, unsigned long, (SplineOrder+1) * OneDimensionLess::Value );
};
/** Partial template specialization to terminate the recursive loop. */
template
class GetConstNumberOfWeightsHack<SplineOrder, 0>
{
public:
itkStaticConstMacro( Value, unsigned long, 1 );
}
So that's why BSplineInterpolationWeightFunctionBase::NumberOfWeights
became equal to pow(SplineOrder + 1, SpaceDimension), whereas
RecursiveBSplineInterpolationWeightFunction::NumberOfWeights just became
equal to (SplineOrder + 1) * SpaceDimension! Anyway, it looks like the
latter one wasn't really used, so I'm now proposing to just remove the
latter one: #1100 https://github.com/SuperElastix/elastix/pull/1100
—
Reply to this email directly, view it on GitHub
https://github.com/SuperElastix/elastix/pull/1099#issuecomment-2062222060,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG2LMK5VWGOVKIGXNOO6W3TY53MRDAVCNFSM6AAAAABGLIXG6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRSGIZDEMBWGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

For the record, this pull request would pave the way to further improvements, like ITK pull request https://github.com/InsightSoftwareConsortium/ITK/pull/2721 commit https://github.com/InsightSoftwareConsortium/ITK/commit/974540982b2926ee6dc4f3933c07962ff74ac9a6


ListProjectContributionEvents fails with 404 error

EventsService.ListProjectContributionEvents is failing  with a 404 error.
The function is calling
https://gitlab.com/api/v4/000000/events
instead of
https://gitlab.com/api/v4/projects/0000000/events
I can fix it by adding projects/ in the Sprintf here: https://github.com/xanzy/go-gitlab/blob/af28ecc530599f542dee9a748c4a8e3a22ae4659/events.go#L133
Did I miss something or is this really a bug ?

I just opened a PR with my fix: #450


new README for CxSystem2

Should include at least:

[x] badges:  license, bug issues, enhancement issues, PR
[x] a new (unique) icon

Sections:

[x] Table of Content
[x] Motivation
[x] Installation
[x] Command Line
[x] GUI: django local server
[x] full documentation
[x] Team
[x] Support
[x] License

Several readme updates after ed0f0a15a297eaf6ccb4302fe5a67ace044a2cb8


Add doNotStartTrace Option

The is option will only trace gRPC calls if the Context already
contains a Span. This allows the caller to choose if any given
request is traced or not.

@bhs ok, PTAL

I signed it!

Ok, nits resolved.

@bhs thanks!


uefi: capsule updates support

Add changes to support manual UEFI Capsule Updates in Jetpack 5.1.  This includes:

Modifying efi variables to match stock L4T
Modifying bup specs to match stock L4T

Tested with the sequence below and a manually generated capsule update.  The next step will be to automatically generate this capsule update as a part of the build.
Create the capsule update directory on the target:
mkdir -p /opt/nvidia/esp/EFI/UpdateCapsule/

Then on the host machine, from ~/nvidia_sdk/JetPack_5.1_Linux_JETSON_AGX_XAVIER_TARGETS/Linux_for_Tegra, run
./generate_capsule/l4t_generate_soc_capsule.sh -i ~/<path to your build dir>/tmp/deploy/images/jetson-agx-xavier-devkit/tegra-minimal-initramfs-jetson-agx-xavier-devkit.bl_
only.bup-payload -o ./TEGRA_BL.Cap t194

Then copy to the target using
scp TEGRA_BL.Cap root@jetson-agx-xavier-devkit.local:/opt/nvidia/esp/EFI/UpdateCapsule/

Set the OSIndications variable to request a capsule update on the next boot
cd /opt/nvidia/esp/EFI/NVDA/Variables
printf "\x07\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00" > /tmp/var_tmp.bin
dd if=/tmp/var_tmp.bin of=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c bs=12

reboot the target
Then check nvbootctrl dump-slots-info to confirm capsule update status is 1 and current bootloader slot has changed to slot B
root@jetson-agx-xavier-devkit:~# nvbootctrl dump-slots-info
Current version: 35.2.1
Capsule update status: 1
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0,             status: normal
slot: 1,             status: normal
root@jetson-agx-xavier-devkit:~#

@madisongh let me know if there's anything else you'd like me to test with this branch.  I haven't tried NVMe boot, not sure if you think that might be important to try.

@ichergui yes that would be great, I don't have anything Orin.


Add domain ogr.iu.edu.tr for Istanbul University

This pull request adds the domain ogr.iu.edu.tr in the correct filepath: lib/domains/tr/edu/iu/ogr.txt.

@ogrburcuaktas There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Preserve line breaks and white space in algorithm steps

Temporal makes extensive use of line breaks in defining large Records, but they end up collapsed in rendered documentation (for example, ParseTemporalInstantString source vs. result). As noted in https://github.com/tc39/proposal-temporal/pull/2290#pullrequestreview-1012509000 , that hinders readability.
This PR updates the CSS to preserve line breaks and whitespace while preserving wrapping of long lines.

Hmm. I agree we need better formatting for large records, but I'm not totally convinced by the approach of preserving whitespace - I think I'd like to handle them explicitly. Right now I definitely assume whitespace will get collapsed when working with ecmarkdown text.

I think that assumption is fine, but rather than forcing authors to set up the spacing, could ecmarkup not just explicitly format any record with more than, say, 3 fields, to be multiline?

Yeah, that's what I meant by "handle them explicitly" (though it would be a little more complicated than that - you only want to expand a record at the end of a line, and you probably want to let the user control whether expansion happens by omitting or including a linebreak after the initial {).

Hmm. I agree we need better formatting for large records, but I'm not totally convinced by the approach of preserving whitespace - I think I'd like to handle them explicitly. Right now I definitely assume whitespace will get collapsed when working with ecmarkdown text.

Do you have any concrete examples? All I can find in ECMA-262 are two cases of embedded tables[^1], which can also be addressed with CSS like emu-alg figure { white-space: normal; margin-top: 0; } but should probably be refactored anyway.
I did consider something like Record auto-formatting, but ultimately came to the conclusion that the rendering of steps should generally match their source representation—the author of the latter is best-positioned to determine the appropriateness of forced line breaks etc. in the former.
[^1]: Assignment Operators Evaluation and ApplyStringOrNumericBinaryOperator.

```sh
$ awk '
  /<\/emu-alg>/       { alg = 0; next; }
  !alg                { alg = match($0, "<emu-alg"); prev = ""; next; }
  /^[[:space:]]*[1*]/ { prev = $0; next; }
                      { if (prev) printf "---\n%d: %s\n", NR - 1, prev; printf "%d: %s\n", NR, $0; prev = ""; }
' spec.html
---
20239:         1.  Let _operation_ be the abstract operation associated with _opText_ and Type(_lnum_) in the following table:
20338:           <figure>
20339:             <!-- emu-format ignore -->
20340:             <table class="lightweight-table">
20341:               <tr><th> _opText_       </th><th> Type(_lnum_) </th><th> _operation_                </th></tr>
20342:               <tr><td> `**`           </td><td> Number       </td><td> Number::exponentiate       </td></tr>
20343:               <tr><td> `*`            </td><td> Number       </td><td> Number::multiply           </td></tr>
20344:               <tr><td> `*`            </td><td> BigInt       </td><td> BigInt::multiply           </td></tr>
20345:               <tr><td> `/`            </td><td> Number       </td><td> Number::divide             </td></tr>
20346:               <tr><td> `%`            </td><td> Number       </td><td> Number::remainder          </td></tr>
20347:               <tr><td> `+`            </td><td> Number       </td><td> Number::add                </td></tr>
20348:               <tr><td> `+`            </td><td> BigInt       </td><td> BigInt::add                </td></tr>
20349:               <tr><td> `-`            </td><td> Number       </td><td> Number::subtract           </td></tr>
20350:               <tr><td> `-`            </td><td> BigInt       </td><td> BigInt::subtract           </td></tr>
20351:               <tr><td> `<<`     </td><td> Number       </td><td> Number::leftShift          </td></tr>
20352:               <tr><td> `<<`     </td><td> BigInt       </td><td> BigInt::leftShift          </td></tr>
20353:               <tr><td> `>>`     </td><td> Number       </td><td> Number::signedRightShift   </td></tr>
20354:               <tr><td> `>>`     </td><td> BigInt       </td><td> BigInt::signedRightShift   </td></tr>
20355:               <tr><td> `>>>` </td><td> Number       </td><td> Number::unsignedRightShift </td></tr>
20356:               <tr><td> `&`        </td><td> Number       </td><td> Number::bitwiseAND         </td></tr>
20357:               <tr><td> `&`        </td><td> BigInt       </td><td> BigInt::bitwiseAND         </td></tr>
20358:               <tr><td> `^`            </td><td> Number       </td><td> Number::bitwiseXOR         </td></tr>
20359:               <tr><td> `^`            </td><td> BigInt       </td><td> BigInt::bitwiseXOR         </td></tr>
20360:               <tr><td> `|`            </td><td> Number       </td><td> Number::bitwiseOR          </td></tr>
20361:               <tr><td> `|`            </td><td> BigInt       </td><td> BigInt::bitwiseOR          </td></tr>
20362:             </table>
20363:           </figure>
```

</details>

I don't know that I deliberately rely on whitespace collapsing; rather it's just that it's (kind of) HTML, and I assume whitespace always collapses when writing HTML.
Even if we did make it whitespace-sensitive, for formatting records in particular I'd still want emu-format to insist on a particular style for multi-line records (though it would not determine whether to multi-line). So we're not going to respect the source representation very much either way.

I don't know that I deliberately rely on whitespace collapsing; rather it's just that it's (kind of) HTML, and I assume whitespace always collapses when writing HTML.

I don't disagree with you, but <emu-alg> acts a lot like <pre> in this respect (e.g., ecmarkdown is already sensitive to whitespace for list item indentation).

Even if we did make it whitespace-sensitive, for formatting records in particular I'd still want emu-format to insist on a particular style for multi-line records (though it would not determine whether to multi-line). So we're not going to respect the source representation very much either way.

Sure, but that's just linting—there'd be a relevant difference between single-line vs. multi-line Records and a programatically-enforcable opinion about which style is appropriate.

Fair point about lists. I'm still not sure about fully general whitespace-sensitivity, though.
I guess my actual opinion is, I think explicitly supporting multi-line records is sufficient for the use case we actually have, and is a much more narrowly scoped change, so I'm more inclined in that direction. If there's some reason to want the more general thing I'd be happier going that way.
Still, maybe we can merge this as-is (once I review and upstream the prerequisite ecmarkdown PR) and maybe switch it out for the more narrow thing when I get around to actually implementing that.

Works for me. As far as I know, large records and the aforementioned embedded tables are the only examples of line-oriented formatting inside <emu-alg>, and the latter are already an escape hatch.

P.S. This could actually be merged ahead of https://github.com/tc39/ecmarkdown/pull/94 ; the only negative consequence would be a little bit of extra rendered whitespace. But I agree that there's no need to rush.


Fix default content charset on Android

Fix #583
I'm not sure if there are other issues on Android. This should at least fix the NoSuchFieldError.

Unable to verify the patch (see #583) so I'm closing.