xFormers compatiblity error while installing vLLM for cu118 through pip by reffering the installation docs

By following the official docs to setup the vLLM for cu118 through pip, leads to following error with respect to xFormers not compatible with cu118 when serving
INFO 12-23 02:43:27 llm_engine.py:73] Initializing an LLM engine with config: model='facebook/opt-125m', tokenizer='facebook/opt-125m', tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.float16, max_seq_len=2048, download_dir=None, load_format=auto, tensor_parallel_size=1, quantization=None, seed=0)
WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:
    PyTorch 2.1.2+cu121 with CUDA 1201 (you have 2.1.2+cu118)
    Python  3.9.18 (you have 3.9.18)
  Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)
  Memory-efficient attention, SwiGLU, sparse and more won't be available.
  Set XFORMERS_MORE_DETAILS=1 for more details
MegaBlocks not found. Please install it by `pip install megablocks`.
STK not found: please see https://github.com/stanford-futuredata/stk
Traceback (most recent call last):
  File "/opt/conda/envs/vllm_39/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/conda/envs/vllm_39/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/entrypoints/api_server.py", line 80, in <module>
    engine = AsyncLLMEngine.from_engine_args(engine_args)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/async_llm_engine.py", line 495, in from_engine_args
    engine = cls(parallel_config.worker_use_ray,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/async_llm_engine.py", line 269, in __init__
    self.engine = self._init_engine(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/async_llm_engine.py", line 314, in _init_engine
    return engine_class(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 112, in __init__
    self._init_cache()
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 208, in _init_cache
    num_blocks = self._run_workers(
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 750, in _run_workers
    self._run_workers_in_batch(workers, method, *args, **kwargs))
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 724, in _run_workers_in_batch
    output = executor(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/worker/worker.py", line 88, in profile_num_available_blocks
    self.model_runner.profile_run()
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/worker/model_runner.py", line 321, in profile_run
    self.execute_model(seqs, kv_caches)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/worker/model_runner.py", line 279, in execute_model
    hidden_states = self.model(
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/models/opt.py", line 313, in forward
    hidden_states = self.model(input_ids, positions, kv_caches,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/models/opt.py", line 287, in forward
    return self.decoder(input_ids, positions, kv_caches, input_metadata,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/models/opt.py", line 259, in forward
    hidden_states = layer(hidden_states, kv_caches[i], input_metadata,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/models/opt.py", line 164, in forward
    hidden_states = self.self_attn(hidden_states=hidden_states,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/models/opt.py", line 106, in forward
    attn_output = self.attn(q, k, v, key_cache, value_cache,
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/vllm/model_executor/layers/attention.py", line 154, in forward
    out = xops.memory_efficient_attention_forward(
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/xformers/ops/fmha/__init__.py", line 244, in memory_efficient_attention_forward
    return _memory_efficient_attention_forward(
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/xformers/ops/fmha/__init__.py", line 337, in _memory_efficient_attention_forward
    op = _dispatch_fw(inp, False)
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/xformers/ops/fmha/dispatch.py", line 120, in _dispatch_fw
    return _run_priority_list(
  File "/opt/conda/envs/vllm_39/lib/python3.9/site-packages/xformers/ops/fmha/dispatch.py", line 63, in _run_priority_list
    raise NotImplementedError(msg)
NotImplementedError: No operator found for `memory_efficient_attention_forward` with inputs:
     query       : shape=(1, 2048, 12, 64) (torch.float16)
     key         : shape=(1, 2048, 12, 64) (torch.float16)
     value       : shape=(1, 2048, 12, 64) (torch.float16)
     attn_bias   : <class 'xformers.ops.fmha.attn_bias.BlockDiagonalCausalMask'>
     p           : 0.0
`decoderF` is not supported because:
    xFormers wasn't build with CUDA support
    attn_bias type is <class 'xformers.ops.fmha.attn_bias.BlockDiagonalCausalMask'>
    operator wasn't built - see `python -m xformers.info` for more info
<EMAIL_ADDRESS>is not supported because:
    xFormers wasn't build with CUDA support
    operator wasn't built - see `python -m xformers.info` for more info
`tritonflashattF` is not supported because:
    xFormers wasn't build with CUDA support
    attn_bias type is <class 'xformers.ops.fmha.attn_bias.BlockDiagonalCausalMask'>
    operator wasn't built - see `python -m xformers.info` for more info
    triton is not available
    Only work on pre-MLIR triton for now
`cutlassF` is not supported because:
    xFormers wasn't build with CUDA support
    operator wasn't built - see `python -m xformers.info` for more info
`smallkF` is not supported because:
    max(query.shape[-1] != value.shape[-1]) > 32
    xFormers wasn't build with CUDA support
    dtype=torch.float16 (supported: {torch.float32})
    attn_bias type is <class 'xformers.ops.fmha.attn_bias.BlockDiagonalCausalMask'>
    has custom scale
    operator wasn't built - see `python -m xformers.info` for more info
    unsupported embed per head: 64

Focusing more on the main error says:
WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:
    PyTorch 2.1.2+cu121 with CUDA 1201 (you have 2.1.2+cu118)

Was able to fix by additionally running:
pip uninstall xformers -y

pip install --upgrade xformers --index-url https://download.pytorch.org/whl/cu118

Raising a PR for updating the same in the documentation.

Raised PR here : #2246


Fix the playground config to use a 16 byte data suffix

Summary
Fix the playground config to use a 16 byte data suffix
How did you test your changes?

Go to the config page in the playground and verify that everything is using 16 byte hashes vs 4 byte hashes

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Suggesting a fix to the platformclient so a region can be specified t…

This pull request is to review a simple fix to the platformclient.py and source.py classes that allow for a region parameter to be passed into the constructor. There is a default constructor value for region so that existing adoption of the SDK will continue to function. This is not a breaking change.

The build failed due to something I think related to this bug: https://github.com/pypa/setuptools/issues/4483. It's not something I can address on my end.

Hi @rweeber-coveo , if you can look at why the CI is failing and fix that in another PR, that'd be much appreciated.
I won't be able to merge those changes until then.


discontinue, prepare for publish

Fixes https://github.com/dart-lang/vm_service_client/issues/48

See also https://github.com/dart-lang/pub-dev/issues/2615

Moving to archive also? And let's us know when to flip the bit in pub.dev for discontinued

Moving to archive also? And let's us know when to flip the bit in pub.dev for discontinued

I'll move to archive now. https://github.com/dart-lang/pub-dev/issues/2615 is the request to discontinue.


RIAK client timeout error

Hi.
I'm in trouble. I asked a question, but still no reply: http://stackoverflow.com/questions/37437021/riak-php-client-timeout-error
Can you help me? Thank you.

Hello -
We are going to need more details to be able to help:

Can you please provide all of your code as well as configuration for PHP and nginx?
How many Riak nodes are you using? Can you run riak-debug on one node and provide the generated archive?

Ideally, we should be able to set up an environment like yours and reproduce the issue. Having the exact code and configuration you are using will speed that process up.

Also, if you can configure logging for PHP-FPM and reproduce the issue, those logs will be very useful in determining if the issue is within our library or how the library is being used. Thanks.

Hello Guys.
I'm using only 1 node at host. Now it's just for a PHP test. ( look at in attachment RiakObjectStorage.class.php file )
My OS is Ubuntu 14.04LTS 64bit
NGINX ( with passanger ) is installed by this few commands:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
sudo apt-get install -y nginx-extras passenger

Every configs and settings are in the attachment, but php-fpm config is default for example. And no one error exists in php-fpm log, just a few

[_25-May-2016 19:57:45] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful

lines.
I really belive that something wrong at my side, becouse when this error appears, i can't run no one other php code at my host, all of them throws connection time out.
And I have 2 RIAK production cluster ( each with 3 nodes ) at other environment, but there i use JAVA client with JAVA EE7 and i never met such error. So this is really strange for me.
Sorry for my bad english, thank you for your help.
riak.tar.gz

Lets reduce the amount of hands in the process, what happens when you run it via CLI instead of through Nginx?

Hi.
PHP Fatal error:  Class 'ProtobufMessage' not found in /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak-pb/src/Riak/Api/Pb/Message/RpbGetReq.php on line 13

Have you added the protobuf.so extension to the php.ini for your CLI command? You can check by doing php -m | grep proto

Ohh sorry, in cli not. But now I did it. New log:
PHP Warning:  stream_socket_client(): unable to connect to tcp://flowtion.sytes.net:8087 (Connection timed out) in /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak-pb/src/Riak/Api/Pb.php on line 644
PHP Fatal error:  Uncaught exception 'Basho\Riak\Api\Exception' with message '110 - Connection timed out' in /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak-pb/src/Riak/Api/Pb.php:646
Stack trace:
#0 /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak-pb/src/Riak/Api/Pb.php(62): Basho\Riak\Api\Pb->openConnection()
#1 /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak/src/Riak/Node.php(206): Basho\Riak\Api\Pb->prepare(Object(Basho\Riak\Command\Object\Fetch), Object(Basho\Riak\Node))
#2 /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak/src/Riak.php(163): Basho\Riak\Node->execute(Object(Basho\Riak\Command\Object\Fetch), Object(Basho\Riak\Api\Pb))
#3 /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak/src/Riak/Command.php(68): Basho\Riak->execute(Object(Basho\Riak\Command\Object\Fetch))
#4 /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak/src/Riak/Command/Object.php(77): Basho\Riak\Command->execute()
#5 /home/netmango/www/flowtion/BIBacken in /home/netmango/www/flowtion/BIBackend/BashoRiak/vendor/basho/riak-pb/src/Riak/Api/Pb.php on line 646

OOOOOOOHHHH, maybe this is a problem:
I tried:
nmap -p 8087 flowtion.sytes.net

Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-26 14:54 CEST
Nmap scan report for flowtion.sytes.net (<IP_ADDRESS>)
Host is up (0.18s latency).
PORT     STATE    SERVICE
8087/tcp filtered simplifymedia

What??? I don't filter anything.... let's try:
nmap -p 8087 <IP_ADDRESS>

Starting Nmap 6.40 ( http://nmap.org ) at 2016-05-26 14:55 CEST
Nmap scan report for 2E8B6553.catv.pool.telekom.hu (<IP_ADDRESS>)
Host is up (0.037s latency).
PORT     STATE SERVICE
8087/tcp open  simplifymedia

A bit better :+1:
But who filters the domain? Maybe noip? It's a noip host :(
And changed hostname to IP and it runs 10/10.

I test is for a while and i tell you still has error...

Can you run Riak locally to test your code?

NO, no error... everything is ok. I tried 1000 times.
So guys... really sorry for disturbing you. Don't be angry for me. My problem solved. And really thank you for your guide. :+1:

Great, glad you got it figured out! No worries about disturbing us. :)

Thank you so much :)

Guys, really sorry but the error appeared again with IP address, just i had to wait some time... :(
But I can say, when php5-fpm fails, php cli is always good, it always works!!! This is the main difference. But I can't  extort any debug or error log from php5-fpm.

I am assuming that if the PHP cli works, then the issue is most likely not with riak-phppb-client, but your environment. Can you try using a different FCGI implementation or web server?

Yes, it's clear, there is a problem with php-fpm. BUT!
We always use NGINX since years for many reasons, and it comes with php-fpm. I really don't know other FCGI. And this configuration widely used, not only by me.
But i'll test it on other servers with NGINX php-fpm combo, and we'll see. If my environment is not the only one which fails ( i never had such problem before ) , it should be a really environment specific bug.

@NetMango You should look at the following docs to help determine where your config issue is. I would first start with getting PHP-FPM to output the errors experienced by the workers.
http://php.net/manual/en/install.fpm.configuration.php
http://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log

Hi.
I've read all docs, made all settings but i was unable to get more informations from log. Only log was the known timeout log. And i had to realize if i run my code on different server the result is the same: cli always worked well, but php-fpm failed frequently. You know i had to give it up, because my time was running out, i had to finish my project to certain time.
So i picked my well established wildfly server and my JAVA code, what is running on more environments about 6 mouths. Started a test environment and it's working always perfectly as i expected.
I was unable to get to the bottom of this issue, probably i will have time in the future.
Please keep in mind this issue.
Thak you for your patience.

Ok, for now, I am going to close this issue. Feel free to reopen should you have issues going forward.


quirks of webgui integration

@uxkjaer
I refactored this code a bit but still have some issues:

the embedded version relies on extension  auchenberg.vscode-browser-preview, but there's no detection of it being available. Should add something like what we do for hbenl.vscode-test-explorer in getTestAdapter
sends the passwords in the URL, which

is not great for security, as they're exposed in the browser window
will not work in some cases, when logging in with SSO (right now we only do that in steampunk, so no big deal here)
Would love to get this working with logon tickets instead like you do when starting an UI5 application from SAPGUI

I think we need to fix at least the 1st before releasing this.
Happy to do it myself, but if you want to have a go be my guest

I think the idea is to call /sap/public/myssocntl with the right headers, which might require using a local server to redirect. See class CL_HTTP_EXT_MYSSOCNTL


Is Kabocha simply too out of date to work with Chopsticks?

Thank you for merging the Kabocha config file.  Sadly, I'm getting an error when I try to use it and I'm not sure how / if I can fix it.  Kabocha is currently at roughly the polkadot v0.9.28 level.  Is it likely that I can get Chopsticks to work with this or am I wasting my (and everyone else's) time, please?  I was hoping to use Chopsticks to help test a runtime update to get it close to the current standard.
When I try it I get this error.  I would very much welcome suggestions about next steps please.  I'm hoping that I just missed a step...
$ npx @acala-network/chopsticks@latest --config=configs/kabocha.yml
panicked at 'called `Result::unwrap()` on an `Err` value: RuntimeVersion(RuntimeVersionDecode)', src/task.rs:133:6

Stack:

Error
    at imports.wbg.__wbg_new_abda76e883ba8a5f (/Users/paul/.npm/_npx/81ad9c881cb83600/node_modules/@acala-network/chopsticks-executor/dist/cjs/chopsticks_executor.js:729:19)
    at wasm://wasm/009743be:wasm-function[728]:0x12aaea
    at wasm://wasm/009743be:wasm-function[886]:0x13420c
    at wasm://wasm/009743be:wasm-function[802]:0x12eaca
    at wasm://wasm/009743be:wasm-function[105]:0xa92ae
    at wasm://wasm/009743be:wasm-function[355]:0x10e846
    at wasm://wasm/009743be:wasm-function[937]:0x134a9e
    at __wbg_adapter_46 (/Users/paul/.npm/_npx/81ad9c881cb83600/node_modules/@acala-network/chopsticks-executor/dist/cjs/chopsticks_executor.js:407:10)
    at real (/Users/paul/.npm/_npx/81ad9c881cb83600/node_modules/@acala-network/chopsticks-executor/dist/cjs/chopsticks_executor.js:391:22)
    at node:internal/process/task_queues:140:7

node:internal/event_target:1054
  process.nextTick(() => { throw err; });
                           ^
Error [RuntimeError]: unreachable
    at wasm://wasm/009743be:wasm-function[728]:0x12ac13
    at wasm://wasm/009743be:wasm-function[886]:0x13420c
    at wasm://wasm/009743be:wasm-function[802]:0x12eaca
    at wasm://wasm/009743be:wasm-function[105]:0xa92ae
    at wasm://wasm/009743be:wasm-function[355]:0x10e846
    at wasm://wasm/009743be:wasm-function[937]:0x134a9e
    at __wbg_adapter_46 (/Users/paul/.npm/_npx/81ad9c881cb83600/node_modules/@acala-network/chopsticks-executor/dist/cjs/chopsticks_executor.js:407:10)
    at real (/Users/paul/.npm/_npx/81ad9c881cb83600/node_modules/@acala-network/chopsticks-executor/dist/cjs/chopsticks_executor.js:391:22)
    at node:internal/process/task_queues:140:7
    at AsyncResource.runInAsyncScope (node:async_hooks:206:9)
Emitted 'error' event on Worker instance at:
    at [kOnErrorMessage] (node:internal/worker:326:10)
    at [kOnMessage] (node:internal/worker:337:37)
    at MessagePort.<anonymous> (node:internal/worker:232:57)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:778:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28)

Node.js v20.5.0

Yes probably too old. Chopsticks uses smoldot to execute runtime and seems it can't decode runtime version from your runtime

Thanks Ermal.  Presumably I can run chopsticks / smoldot from my git clone rather than using the deployed packages, and potentially do some debugging.  If it's not too much of a noob question (and not too complex of an answer) is there an easy way for me to run that please?  Sorry - my NodeJS experience is very limited, but if I can get it working in a debugger I might be able to hack it sufficiently for my current needs.

well. runtime version should be inside wasm. chopsticks uses smoldot to extract that information. I can create a brunch that get runtime version from api which can start chopsticks but you can't build any block with current wasm. you can try override-wasm and see if your new wasm works

@JelliedOwl
https://github.com/AcalaNetwork/chopsticks/tree/runtime_from_api
this is the branch with modification. give it a try
install submodules
yarn install
yarn build-wasm
yarn start -c configs/kabocha.yml --wasm-override=

Thank you very much, @ermalkaleci.  I'll have a play and see if I can do something useful with that.


Defining the recipes page as default

Description
This PR is changing the default route to the recipes page, and it will be valid only after successful login.
Close #79
What's new

Removed the index template entirely
Changes the route of recipes to /
Updated the test_recipes_view to check the login requirement for an unauthorized user, then check redirection to the main page after a successful login
Moved a fixture to the conftest file

If you take a look at the DFD, we should have a landing page, leading out to a login page, leading out to a user homepage, and then finally the option to redirect to browse recipes. Since we have to stick to the DFD, and we don't have to present the entire website for the next demo - only one feature - Do we need this change at the moment?

If you take a look at the DFD, we should have a landing page, leading out to a login page, leading out to a user homepage, and then finally the option to redirect to browse recipes. Since we have to stick to the DFD, and we don't have to present the entire website for the next demo - only one feature - Do we need this change at the moment?

You can always change the DFD with a PR if you think there is a need

We decided to adjust the DFD to this PR, so we can move forward with this one.


FHIR -> CDA: missing author.assignedAuthor

CDA requires the author.assignedAuthor, see spec.
Required elements for assignedAuthor are:

hl7:id (The specification of GS1 GLN is REQUIRED. If it is not (yet) known, this MUST be declared using nullFlavor.)
Elements to choose from:

hl7:assignedPerson
hl7:assignedAuthoringDevice

In the FHIR source these elements aren't required.
Note:
If there is a reference to a PractitionerRole from Composition.author the mapping doesn't work.
Examples:

PADV-CANCEL.json

https://ehealthsuisse.ihe-europe.net/EVSClient/detailedResult.seam?type=CDA&oid=<IP_ADDRESS>.4.1.125<IP_ADDRESS>.1352548

PADV-CHANGE.json

https://ehealthsuisse.ihe-europe.net/EVSClient/detailedResult.seam?type=CDA&oid=<IP_ADDRESS>.4.1.125<IP_ADDRESS>.1352549

won't fix, see https://github.com/ehealthsuisse/ch-emed/issues/80


PEP517 Build-system dependencies should be pinned for deterministic builds from source code

The migration to PEP517 is a good move. However, there are some edge cases whereby a pip installs from source code might fail.
Currently the build backend is configured like this:
[build-system]
requires = [
    "Cython >= 0.29.29, < 3.0.0",  # 0.29.29 includes fixes for Python 3.11
    "setuptools >= 61.0.0",  # Support for setuptools config in pyproject.toml
]
build-backend = "setuptools.build_meta"

This means, for example, than any new releases to setuptools could cause a pip install failure from source code when it's trying to build a wheel.
This is not only possible after a major version updates of setuptools. There are cases whereby other minor/micro changes could break the build, for example, depending on the exact Python installation.
For discussion: should the build system's dependencies be fully pinned at each release of krb5 to ensure for a given source distribution a binary distribution can always be rebuild, exactly as was tested at the point of the release?

Note that we are talking about the isolated build environment, this is of course fully separate from the krb5 lib's own dependencies.

Are you actually seeing a breaking change here. I can definitely see putting a major version ceiling dept for things I know that could be problematic but I want to avoid managing dependencies going forward. This is especially true for things like Cython where a new release could fix bugs for future Python versions or just general issues with gcc that pop up. These 2 scenarios are actually real for Python 3.11 and gcc 3.x.y which only just happened. If you need reproducible builds then I recommend you pin the build deps to what you need or even better build a wheel specific to your platform and install that.

Yes this is a real-life case, slightly obscure and in principle nothing to do with krb5 as such expected that in one of our Python environments we no longer could build krb5 from source whereas previously we could.
The trigger was the setuptools release 65.2.0, see https://github.com/pypa/setuptools/pull/3553  "Fix, again, finding headers during cross compiling".
Presumably our environment previously and accidentally worked with < 65.2.0 and we could build krb5 when doing a pip install. Then setuptools update came in and the build pipeline failed.
I guess the thing I am trying to discuss here is how we expect isolated builds to work. Prior to isolated builds we would be relying on setuptools' setup_requires spec, if at all set, and otherwise we would carefully setup a suitable build and compilation environment that we hoped would work with all packages that required compiling.
"Isolated builds" is just a beefed up version of setup_requires and we would expect these to "just work". Isolated builds fully declare their own dependencies required to faithfully compile a package from a source dist. Ideally there would be some "lock file" support for simpler management of pinned build dependencies.
I know pip install has various options to disable isolated builds etc, but that basically gets us back to square one whereby we are guessing what the build environment should look like.
Note also that in many situations krb5 will be a dependency of an app's dependencies and the app developer may not even be aware of a sdist to wheel compilation being in the mix...
Also, in the same way that wheels are build for specific versions of Python, I would also expect supported Python versions to be explicitly declared (and tested) with regards to the build system.

BTW I struggled to Google for other cases whereby non-deterministic build-backends were reported as an issue. I guess isolated builds are relatively new and broken dependencies rare.

For reference, the Python environment I am talking about is the Cloudfoundry Python buildpack, now fixed here (I think): https://github.com/cloudfoundry/python-buildpack/blob/master/CHANGELOG#L5

Let me know what you’re thinking on this @jborean93

Sorry I've been on holidays so never got back round to this. I think I can be convinced to do a better pin on setuptools but not pinning Cython was done on purpose as Cython introduces newer features to fix things like problems I've just had with Python 3.11 and GCC 12 that would have required a new release. Even then pinning setuptools doesn't fully fix this problem as I could have pinned a release to a version that didn't work on your environment meaning you would either still have to had disabled build isolation or fixed the problem with setuptools. Granted that would have had to happen when you actually bumped the krb5 package version if you pinned it yourself but pinning krb5 isn't even guaranteed.
If you have an internal environment then you would be far better off building the wheel yourself once and distributing that. This brings a few benefits:

It gives you a deterministic build as the wheel is already compiled
It speeds up the install as you no longer have to compile the code
Removes deps needed to build during the install phase

I cannot do this on PyPI unfortunately because I cannot statically link the krb5 libs without causing problems with other modules being loaded in the same process trying to link against the system krb5 libs. But that doesn't stop you from distributing it from your own wharehouse if your nodes are the same.

No problem at all.

Granted that would have had to happen when you actually bumped the krb5 package version

Exactly this. That's what I am hoping to achieve that for a given fixed version of krb5 we get the exact isolated build environment each time. If we bump krb5 version, that's our duty to test through...
Understand about pre-building our own wheels. However, in practice that may be not trivial. I don't know too much about the details on building wheels for non-pure Python packages. But given the diversity in our platforms I am not sure whether a single (Linux) wheel would work everywhere.
The main thing I am trying to discover here is, if isolated builds are meant to solve such build time dependencies, how can this be made robust. It really should do the same as building wheels offline, right?

One more thought is that this is happening on a Cloudfoundry platform. Surely that's a sufficiently large platform to warrant some thought on how this is supposed to work. The whole idea which Cloudfoundry buildpacks is that app environments are build on the fly at the point of deployment.

Understand about pre-building our own wheels. However, in practice that may be not trivial. I don't know too much about the details on building wheels for non-pure Python packages. But given the diversity in our platforms I am not sure whether a single (Linux) wheel would work everywhere.

That's fair, I can't publish wheels for Linux on PyPI due to the policies there. I would have to statically link the krb5 lib which causes havoc if also need to load the system library or try and load another module that also loads krb5. I was unsure on your environment and if it was homogeneous enough that you could have your own custom wheel.

One more thought is that this is happening on a Cloudfoundry platform. Surely that's a sufficiently large platform to warrant some thought on how this is supposed to work. The whole idea which Cloudfoundry buildpacks is that app environments are build on the fly at the point of deployment.

I'm not aware of Cloudfoundry or have used it before but if they had an environment problem where setuptools would fail then the problem arguably doesn't lie with the libraries being used but the environment. What would have happened if I pinned setuptools to 65.2.0 for pykrb5. You would have had a build problem. I will concede the point that you would have only seen it if you bumped the pinned version rather than when setuptools has a new release.
The more I think about it the more I come to the conclusion that I should probably pin these versions to ensure that an sdist stays exactly the same over it's lifecycle. One thing I do need to check is if you can disable the build isolation and whether pip still checks if those build requirements are installed at those versions or just ignores the check and tries it normally.
For the time being you can use the env var PIP_CONSTRAINTS to specify the path to a constraints file that is used in the build isolation to pin setuptools or cython to a specific version.

Understand about pre-building our own wheels. However, in practice that may be not trivial. I don't know too much about the details on building wheels for non-pure Python packages. But given the diversity in our platforms I am not sure whether a single (Linux) wheel would work everywhere.

That's fair, I can't publish wheels for Linux on PyPI due to the policies there. I would have to statically link the krb5 lib which causes havoc if also need to load the system library or try and load another module that also loads krb5. I was unsure on your environment and if it was homogeneous enough that you could have your own custom wheel.

One more thought is that this is happening on a Cloudfoundry platform. Surely that's a sufficiently large platform to warrant some thought on how this is supposed to work. The whole idea which Cloudfoundry buildpacks is that app environments are build on the fly at the point of deployment.

I'm not aware of Cloudfoundry or have used it before but if they had an environment problem where setuptools would fail then the problem arguably doesn't lie with the libraries being used but the environment. What would have happened if I pinned setuptools to 65.2.0 for pykrb5. You would have had a build problem. I will concede the point that you would have only seen it if you bumped the pinned version rather than when setuptools has a new release.
Strictly speaking I agree with you that I should probably pin these versions to ensure that an sdist stays the same over its lifecycle but the realist in me is concerned that in the future I might get to a situation where I cannot pin to just one version and might need 2 different ones for Python 3.7 and Python 3.12. I am also concerned about the maintenance burden that might be increased if I need to manually maintain these dependencies and update over time or even deal with requests saying they can't rely on this specific version for a release and need it to be something else. Because of this I'm going to have to say that I will continue the current course I am in today. This gives me flexibility as a maintainer, flexibility as a user of the sdist for their build environments, and better compatibility with future versions or bugfixes that become available without requiring a new release of this library.
As a slight mitigation you can add a constraints file to your environment to either skip or pin versions of setuptools or any other library. Currently pip does not support -c/--constraints to be passed through to the isolated build environment setup but using the env var PIP_CONSTRAINTS does work instead. This isn't perfect but it does offer more control in your scenario to make more deterministic builds for your purposes.
I know this may not be the answer you are looking for and I do appreciate the time you've put into this issue. If this type of problem continues to appear in the future I am more than happy to look into it again as I was really on the fence about this.

The constraints tip is actually quite useful. Many thanks @jborean93


[BUG]

Describe the bug
A clear and concise description of what the bug is.
Tasks

[x] An officially supported task in the examples folder (such as GLUE/Title-generation, ...)
[x] My own task or dataset

To Reproduce
Error code

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
OS (please complete the following information):

OS: [e.g. ubuntu18.04]
Version [e.g. v1.0.0]

Additional context
Add any other context about the problem here.

Could you provide more details about the BUG, including the screenshots, and which file were you running when the bug appeared?

We can not continue this issue if no detailed information is provided. So, we have to close this issue.


Floor Job shop scheduling Problem use two resource for single task with priority and setup time constrains

Hii ...
I am having problem  while scheduling jobs like...
having one task T1 which can be perform on resource R1|R2 but resource R1 take less time than R2 due to setup time for R2 is more ..
So is there any way, i can add setup time and priority for resources R1|R2 for task T1..
Like
T1 = R1|R2
R1 have high priority than R2
I can added constrain of setup time for task T1 for Resource R1 and R2 ..

Hi, the processing times are currently the same for a task on every resource as defined by parameter length. It would be nice to be able to vary task parameters depending on the resource, this is a big todo, but not implemented so far.

Having resource-dependent constraints is also requested here: https://github.com/timnon/pyschedule/issues/21


[Hotfix][Zeta] Fix parse job mode bug and improve doc

Purpose of this pull request

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

Waiting CI completed and merged


how to give concurrent users run for 1 hr in gatling without using throttling

i have used the below code for scenario but want to use it without using throttling
setUp(scn.inject(constantUsersPerSec(10) during (1 minutes))).throttle(
reachRps(5) in (10 seconds),
holdFor(5 minute),
).protocols(httpProtocol)
but want to use without throttling.
simple use:

ramp up 10 users,
run in duration phase of 1 hr
ramp down

please help

This is a bug tracker. Please use to the community mailing list for questions.


Add Code of Conduct

We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.
Please follow these instructions on how to add a Code of Conduct.
Sample: https://github.com/Girlscript-WOB/Guidelines/blob/main/Project Admins/Code of conduct.md

Can you assign this to me as a part of GSWOB24?

@GautamAnjali569 Please assign this task to me as a part of WoB24 if possible. Thank you 🙂

I am willing to work on this project please assign me this issues .. looking forward to your response


Development Environments

Discussed in https://github.com/ubiquity/ubiquity-dollar/discussions/652

Originally posted by rndquu May 24, 2023
Let's use different environments for https://uad.ubq.fi/
I mean:

setup https://uad.ubq.fi/ to track ubiquity/ubiquity-dollar#main branch for contracts and ubiquity/ubq.fi#main branch for UI
setup https://dev.uad.ubq.fi/ to track ubiquity/ubiquity-dollar#development branch for contracts and ubiquity/ubq.fi#development branch for UI
setup https://stage.uad.ubq.fi/ to track ubiquity/ubiquity-dollar#release-X.X.X branch for contracts and ubiquity/ubq.fi#X.X.X branch for UI. Here the release-X.X.X branch is the branch that is QAed right now and is about to merged to the main branch and deployed to production

This way we could setup different deployment scripts for ubiquity contracts depending on the environment
What do you think @ubiquity/development ?

Are you able to walk me through how to do these on Cloudflare? I believe that 1. and 2. are simple CNAME DNS entries, but I believe that 3. will require some type of custom Cloudflare Worker?
I suggest you use any domain name you own, and try setting up your idea there. Then I can copy your settings and reflect them on https://ubq.fi

/help

/help

@rndquu please update the time estimate if you think my estimate is incorrect. I just made a guess.


Csv blank cells

Hi! @weartist , If I have the following csv for example:
title1,title2,title3,title4,title5
1a,2a,,4a,5a
,2b,3b,4b
1c,2c,3c,,5c,6c

For example, the 3a is missing, the 4a should be orange but instead it is blue, the same thing happens with the 2b and 5c.
I'm very sorry, the plugin currently uses the matching rules of tree-sitter to execute, tree-sitter can't match empty characters, so this situation seems to be unsolvable, if zed provides a new plug-in interface in the future, I will try to fix the problem as soon as possible

Hi! @weartist , If I have the following csv for example:
title1,title2,title3,title4,title5
1a,2a,,4a,5a
,2b,3b,4b
1c,2c,3c,,5c,6c

For example, the 3a is missing, the 4a should be orange but instead it is blue, the same thing happens with the 2b and 5c.
I'm very sorry, the plugin currently uses the matching rules of tree-sitter to execute, tree-sitter can't match empty characters, so this situation seems to be unsolvable, if zed provides a new plug-in interface in the future, I will try to fix the problem as soon as possible

I'm very sorry, the plugin currently uses the matching rules of tree-sitter to execute, tree-sitter can't match empty characters, so this situation seems to be unsolvable, if zed provides a new plug-in interface in the future, I will try to fix the problem as soon as possible


Decouple integration test runs from Travis

Closes https://github.com/github/orchestrator/issues/625
By using dbdeployer, we can allow the MySQL backend version of the integration
test suite to be run anywhere.
You can view the improved version of the developer docs here: https://github.com/bbuchalter/orchestrator/blob/integration_tests_anywhere/docs/developers.md#running-tests
The dbdeployer/setup.sh script is flexible enough to also support creating a sandbox for local development as well. That will happen in a future PR, which should allow https://github.com/github/orchestrator/issues/611 to be closed.

@bbuchalter I'm guessing you closed this due to inactivity on my side. I'm sorry for the long stall, to be honest this got buried under multiple other things. I'd still like to work on this.


The calculations in aufile_get_length were backwards.

Also, aufile_prm should be const.

A test case with a small wav file within test/data directory would be nice.

Looks like microsoft has a broken repo currently:
E: Repository 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' changed its 'Origin' value from 'microsoft-ubuntu-jammy-prod jammy' to 'Pulp 3'
E: Repository 'https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease' changed its 'Label' value from 'microsoft-ubuntu-jammy-prod jammy' to ''
Error: Process completed with exit code 100.


Build Failed

When I add implementation 'com.applovin.mediation:google-adapter:+' to build.gradle the build gives error:
Execution failed for task ':CordovaLib:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

When deleting it, the build is still successful
Does anyone know how to fix it?

Could you try updating your build.gradle according to the requirements set forth here and seeing if it works?
https://developers.google.com/admob/android/quick-start


Preliminary fix for #1224

Hi @alk , this is a partial  fix for https://github.com/gperftools/gperftools/issues/1224
Please tell me if I can proceed with the implementation or you have questions/reservations.
Thanks

Hi. This is in principle good enough. Just lets make sure new name is properly "namespaced". Either use actual C++ namespace or do something like tcmalloc_set_custom_whatever.
At higher level, I wonder if perhaps better path to solve your specific problem is taking this working backtracing implementation from abseil and applying it to gperftools. Then perhaps we won't need this customization feature.

Hi. This is in principle good enough. Just lets make sure new name is properly "namespaced". Either use actual C++ namespace or do something like tcmalloc_set_custom_whatever.
At higher level, I wonder if perhaps better path to solve your specific problem is taking this working backtracing implementation from abseil and applying it to gperftools. Then perhaps we won't need this customization feature.

I've just submitted better backtracing for 64-bit arms, so maybe this won't be needed? Please test and let me know.

@alk  sure will check and get back to you. How should I configure it exactly - with libunwind or without it ?

When libunwind is available, the code explicitly checks if libunwind is returning bogus stacktraces and then defaults to frame pointers.
So it is up to you, but I'd try to have libunwind in case it gets unbroken. Since frame pointers unwinding has notable issue unwinding from functions without frame pointers (typically various asm codes like memcpy). In general if you only need backtraces for stuff like growthz-s, malloc sampling or heap checker (which is borked on arms anyways), then frame pointers should be good enough I think. cpu profiling I'd try to prefer libunwind.
Also note that I found that at least on debian there is another version of libunwind. Android's fork. That seems to work fine on arms (!). It is just a matter of installing it and passing right flags to configure to use it.

Could it be that it somehow messed with libunwind linker dependencies?
I get
/usr/bin/ld: third_party/libs/gperf/lib/libprofiler.a(stacktrace.o): in function `GetStackFramesWithContext_libunwind(void**, int*, int, int, void const*)':
stacktrace.cc:(.text+0x1ac): undefined reference to `_ULaarch64_init_local'
/usr/bin/ld: stacktrace.cc:(.text+0x1b8): undefined reference to `_ULaarch64_step'
/usr/bin/ld: stacktrace.cc:(.text+0x1d4): undefined reference to `_ULaarch64_get_reg'
/usr/bin/ld: stacktrace.cc:(.text+0x22c): undefined reference to `_ULaarch64_step'
/usr/bin/ld: stacktrace.cc:(.text+0x248): undefined reference to `_ULaarch64_get_reg'
/usr/bin/ld: stacktrace.cc:(.text+0x27c): undefined reference to `_ULaarch64_get_reg'

I configure with --enable-libunwind --disable-heap-checker --disable-debugalloc --disable-heap-profiler --enable-static=yes

This means libunwind is somehow not being linked correctly. if you give me config.log I may be able to help.

@alk  thanks, attaching both config.log and libprofiler.pc
libprofiler.txt
config.txt

Is it possible that your libunwind is static library?
That seems like only possible explanation I have. I.e. configure checks for backtrace symbol is available when -lunwind is passed. But if -lunwind finds .a and backtrace is also available in libc (as it is with glibc), it will pass the configure check and assume that -lunwind works.
You can fix this manually by passing -lunwind_aarch64 or whatever it is as LIBS environment variable in configure command.

Confirming that generic_fp works on aarch64. libunwind will continue crashing due to https://github.com/libunwind/libunwind/issues/68 until the fix will propagate to Ubuntu.
Thanks Aliaksey!


qdrant-client metadata headers not working in 1.5.0

The following snippet of code doesn't work anymore:
client = qdrant_client.QdrantClient(
    url=f"{QDRANT_APP_URL}",
    port=443,
    timeout=120,
    metadata={"Authorization": f"Bearer {token}"},
)

and results in the following exception:
Traceback (most recent call last):
  File "D:\Programming\qdrant-haystack\examples\test2.py", line 19, in <module>
    client = qdrant_client.QdrantClient(
  File "D:\Programming\qdrant-haystack\.venv\lib\site-packages\qdrant_client\qdrant_client.py", line 77, in __init__
    super().__init__(**kwargs)
  File "D:\Programming\qdrant-haystack\.venv\lib\site-packages\qdrant_client\qdrant_fastembed.py", line 38, in __init__
    super().__init__(**kwargs)
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

Removing the kwargs from the super().__init__() in QdrantFastembedMixin seems to fix the issue:
class QdrantFastembedMixin(QdrantBase):
    DEFAULT_EMBEDDING_MODEL = "BAAI/bge-small-en"

    embedding_models: Dict[str, "DefaultEmbedding"] = {}

    def __init__(self, **kwargs: Any):
        self.embedding_model_name = self.DEFAULT_EMBEDDING_MODEL
        super().__init__() # remove the **kwargs

Related: https://github.com/qdrant/qdrant-haystack/issues/30

@MathiasSpanhove, please try v1.5.4


Multiple results tabs opening when executing script under Apache Spark connector

Description
When executing a script on an Apache Spark connection, a results window gets opened for each statement whether results are returned or not. Consider the following query:
CREATE TABLE MyTable(PersonName VARCHAR(50));
INSERT INTO MyTable(PersonName) SELECT 'John Doe';
SELECT * FROM MyTable;
DROP TABLE MyTable;

On other connections (tested on MS SQL Server), one result window is opened, which is expected since there is one SELECT statement. On Apache Spark, however, four tabs are opened, one for each statement.
MS SQL Server:

Apache Spark:

DBeaver Version
<IP_ADDRESS>211061524
Operating System
Windows 11 22H2
Database and driver
Spark 3.3.1
Apache Spark driver 1.2.1.spark2
Steps to reproduce

Create an Apache Spark connection
Create a script consisting of several SQL DML statements that do not produce results
Run all the statements as a single script by pressing Alt-X or the Execute script button
Multiple result windows are opened

Additional context
No response

Hello @chipmunkofdoom2,
Can you please show the contents of the created result tabs in the case of the Apache Spark database?

@ShadelessFox They are all empty, except for the SELECT * results:
Results for CREATE TABLE:

Results for INSERT INTO:

Results for SELECT *:

Results for DROP TABLE:

Statistics:

Output:

Thank you. Looks like an issue on the driver's side.
Unfortunately, as of now, we don't have the environment for testing.

@ShadelessFox Are there any settings I can change or play around with on the driver? Or in DBeaver?
If you need a Spark dev environment, it's fairly straightforward to stand up a single node Spark cluster in standalone mode. Just tested these commands in an LXC container on Ubuntu 22.04:
# Optional: if you don't have Java installed or this is new VM/container, install JDK and set Java home
sudo apt-get update; sudo apt-get install openjdk-11-jdk -y
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc

# Download latest Spark release and unpack
wget https://dlcdn.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
tar -xf spark-3.3.1-bin-hadoop3.tgz
mv spark-3.3.1-bin-hadoop3 spark

# Start master node. Explicitly set listen address to <IP_ADDRESS>
spark/sbin/start-master.sh --host <IP_ADDRESS>

# Start worker node pointing at the master node we just created
spark/sbin/start-worker.sh spark://<IP_ADDRESS>:7077

#Start thriftserver pointing at our master node. This is how DBeaver will connect
spark/sbin/start-thriftserver.sh --master spark://<IP_ADDRESS>:7077

Next, add a Spark connection in DBeaver. For the host, use the IP/name of the machine hosting Spark. Leave port as 10000. I put default as the database, but I don't think this matters. Leave username/password blank:

You should then be up and running.
I can also help with testing. I don't have Java experience, but if there are any guides for compiling/running tests, I can follow them.

Wow, thank you! I belive this would be enough.

hello  spark the driver you used


Add jakk.dev

Please can you add my site?
https://jakk.dev/ is 3.2KB according to yellowlab.tools: https://yellowlab.tools/result/gkut7vntwl/rule/totalWeight
Thanks!

Hey, I did some editing and now the page is a bit bigger. Here is the new version:
https://jakk.dev/ is 3.4KB according to yellowlab.tools: https://yellowlab.tools/result/gllcsrnllp/rule/totalWeight
Thanks

Welcome to the 250kb Club! Your page will be https://250kb.club/jakk-dev/


[1356] Remove hard-coded secret_key_base

Resolves #1356

Verified that this works on our Heroku demo.

looks good!


-bash: phonegap: command not found

PhoneGap CLI, node & npm versions
Expected Behaviour
Actual Behaviour
Steps to Reproduce
Sample Code that illustrates the problem
Error messages

Please fill out the details in this issue report.

Cannot reproduce without more details.


Lack support for c-style comment for the proto file, which official compiler C++/Java/Python do support

With protocol file Hello.proto
/*
** Hello **
*/
message Hello {
    optional string world = 1;
}

> php protoc-php.php Hello.proto
Proto file missformed

While official protocol compiler for C++/Java/Python works fine with this protocol file. Would this feature be implemented soon?

I have already mentioned it it your other issue report but for clarity: yes, I'm working on using the official protoc compiler.

Fixed in #74.


Terminal

This new pull request has a bunch of new features packed in.
cp now has a --pause and --file (pipe) option. the code base was refactored to clean up the code base.
terminal has been completely refactored for readability and is also able to handle passing arbitrary arguments to cp.
atom-python-run has been refactored to better utilize javascripts closure functionality to encapsulate some of the inner workings.
there are new settings and conditions for those settings. everything else should function as expected.
fixes and new features

cp can pause and pipe  stdout and stderr to a file named by the user
cp can handle passing options to the given repl
cp logging fixed
terminal sets up default arguments to pass to cp more flexibly
terminal detects running operating system
terminal handles arbitrary arguments passed from atom-python-run and fails gracefully
terminal logging fixed
atom-python-run is able to toggle pausing and piping
atom-python-run is able to utilize a user defined path to pipe to
atom-python-run handles handles arbitrary arguments passed from user and fails gracefully
atom-python-run logging added
atom-python-run and terminal can handle relative file paths again (sorry for breaking this feature)

known issues

cp still uses an absolute path for logging and defaults to the current working directory if the path can not be resolved (this needs a remedy)

don't forget to apm publish minor to push the update through. i saw the merge, but the update was not pushed through. that way if any issues are opened, we know what code base we're looking at.

It is weird that I cannot connect to apm registry using my China-Mobile fiber. However, I succeeded using my campus network. Besides, you can add some instructions to readme/changelog to inform users of these new features.

when i have some time. i have to get through a few text books, and get back in to math mode, so i'll be pretty busy over the next few months. maybe longer. when i have some down time or im taking a break i'll go over it. the wiki still isn't finished either.


Bluebird remove return, reflect, fromCallback

It seems to be failing on Node 12 consistently.

Hm, strange errors, I will research this

So error got passed through try-catch, really strange
Error: This socket has been ended by the other party
    at Socket.writeAfterFIN [as write] (net.js:441:14)
    at Connection.write (/home/travis/build/knex/knex/node_modules/mysql2/lib/connection.js:217:17)
    at Connection.writePacket (/home/travis/build/knex/knex/node_modules/mysql2/lib/connection.js:262:12)
    at Quit.start (/home/travis/build/knex/knex/node_modules/mysql2/lib/commands/quit.js:24:16)
    at Quit.execute (/home/travis/build/knex/knex/node_modules/mysql2/lib/commands/command.js:39:22)
    at Connection.handlePacket (/home/travis/build/knex/knex/node_modules/mysql2/lib/connection.js:408:32)
    at Connection.addCommand (/home/travis/build/knex/knex/node_modules/mysql2/lib/connection.js:430:12)
    at Connection.end (/home/travis/build/knex/knex/node_modules/mysql2/lib/connection.js:796:26)
    at internal/util.js:278:30
    at new Promise (<anonymous>)
    at bound end (internal/util.js:277:12)
    at Client_MySQL2.destroyRawConnection (/home/travis/build/knex/knex/lib/dialects/mysql/index.js:85:20)

I misunderstood, error not get passed through try-catch
Error because of trying to send select inside already closed connection

connection.end called after last command fail, which cleared all events, so 'error' event emitted to nowhere and emitted as unhandled error

https://github.com/nodejs/node/issues/24111

Before node12

connection.end called
also error emit in 1) synchroniously
catch
finally

Was

connection.end called (process.nextTick error triggered)
Bluebird.catch
error emitted
Bluebird.finally

Now

connection.end (process.nextTick error triggered)
catch (e) {}
finally {}
error emitted

Bluebird solution worked because of additional microtask from .catch?

@maximelkin Can we add additional listener to catch the error when it is thrown asynchronously?

@kibertoad can this trigger leaks? When to unsubscribe this listener?

e2502602359c22a5098e95267217a4fbb8655eba removeAllListeners was added

7069ce509ed1ed6b1c3a0e9dde8d27a29bfcb30d <- here removeAllListeners added

@kibertoad that do you think?

Dropping that removeAllListeners call seems wrong.

@elhigu why?

Dropping that removeAllListeners call seems wrong.

@elhigu why?

Because its addition didn't look like an accident and there was not proper investigation done, if it can be removed or not.

As temporal solution we can add delay before removeAllListeners, so it would work like before

@maximelkin I believe https://lodash.com/docs/4.17.14#defer does exactly this?

@kibertoad yes

But i still think what we should review removeAllListeners usage, maybe in separate issue

@elhigu @kibertoad done

can you please help in this i am not able to get data


DBSCAN subsampling

Adding a new subsampling method.

Codecov Report

Merging #53 (6544aff) into main (a956d94) will increase coverage by 1.43%.
The diff coverage is 53.42%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #53      +/-   ##
==========================================
+ Coverage   44.26%   45.69%   +1.43%
==========================================
  Files          22       24       +2
  Lines         671      744      +73
==========================================
+ Hits          297      340      +43
- Misses        374      404      +30

Files Changed
Coverage Δ

src/SubsetSelection/kabsch.jl
0.00% <0.00%> (ø)

src/SubsetSelection/dbscan.jl
84.44% <84.44%> (ø)

src/Data/datatypes.jl
37.93% <100.00%> (+1.08%)
:arrow_up:

... and 1 file with indirect coverage changes

Hi! some comments below:

The data.xyz file was deleted. This caused two of the tests to stop working. I think it is best to restore the file for now.
Is it necessary to have the *pod files in github? I do not see them used in the subsampling scripts.
About the subsampling example, I think we can push this example as is for now. However, there are functions in "subsampling_utils.jl" that will probably need to be moved to the "src" folder.

I will merge this PR so we can continue with other PRs. We can follow up later.


GEODE-7466: Closed the existing CacheClientNotifier instance

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

I looked into doing this. There aren't actually a lot of unit tests that create a CacheClientNotifier, so I don't think it would be too hard to add After tasks to reset them. I would still keep this change, though, in case a new test create a CacheClientNotifier but didn't reset it.


Do not do code coverage when running tests on travis-ci

We want to do code coverage on travis-ci. That code coverage data is then sent to scrutinizer-ci (or coveralls).


Florence 2 support :)

Motivation
Hey! I am currently struggling to get Florence 2 running in a VRAM efficient batched way. Having easy and scalable API access would be very awesome if it's not too much work!
Thank you very much ^^
Related resources
No response
Additional context
No response

ref
https://github.com/InternLM/lmdeploy/blob/main/docs/en/advance/pytorch_new_model.md
https://huggingface.co/collections/microsoft/florence-6669f44df0d87d9c3bfb76de

Is there any plan to implement florence2 into this project? @lvhan028


Added Support for Real IP for Cloudflared Proxy Tunnel

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[ ] I have read and understand the pull request rules.

Description
Fixes #(issue)
Type of change
Please delete any options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
User interface (UI)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Translation update
Other
This change requires a documentation update

Checklist

[ ] My code follows the style guidelines of this project
[ ] I ran ESLint and other linters for modified files
[ ] I have performed a self-review of my own code and tested it
[ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[ ] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots (if any)
Please do not use any external image service. Instead, just paste in or drag and drop the image here, and it will be uploaded automatically.

I took a look at cloudflare's documentation, and we have handled the x-forwarded-for correctly such that it should give the same result as cf-connecting-ip.
Furthermore, even if we add the check for trustProxy, users who are NOT using cloudflare will be open to a security exploit where someone manually sets the cf-connecting-ip header and have it take precedence over the correct x-forwarded-for.
I think this PR should be closed.

Agree, should only allow x-forwarded-for.


Clarified file-not-found error for reference paths without extensions

Fixes #5642.
I'm not sold on this phrasing, but spent the requisite 5 minutes trying to brainstorm something better. 🤷♂

@JoshuaKGoldberg this is ready to go in after a merge. I'll do it next time I go through the Needs Merge column in the PR Backlog board, but if you have a chance before then, you are welcome to do so.


 Stop node-2 and try again etcdctl --peers="http://<IP_ADDRESS>:4001" member add "node-2" "http://<IP_ADDRESS>:7002" ...
context deadline exceeded

Last records in node-1 log:
2015/02/03 18:22:28 etcdhttp: error adding node b8db0723595be8ef: etcdserver: request timed out
2015/02/03 18:22:28 etcdhttp: unexpected error: etcdserver: request timed out

@marvell
From the limited log you provided:

You added the node2 twice. that is why you got etcdserver: peerURL exists.

If you kill a member in a two members cluster, the cluster will not able to make any progress. Your cluster is blow majority. You have to bring up node2 or force restart node1 to fix it if node2 is lost forever.

@marvell I am closing this due to inactivity. Feel free to reopen it if you still have a problem.

I'm getting this most probably because ExecStart directive takes too long (it is pulling huge docker image) ... But I'm not 100% sure

still have the issue on v2.2.1
docker run -it -p 4001:4001 -p 2379:2379 -p 2380:2380 dspfac/etcd /bin/etcd -name $ETCD_NODE_NAME -data-dir=/data -initial-advertise-peer-urls http://$HOST_IP:2380 -listen-peer-urls http://$LOCAL_IP:2380   -listen-client-urls http://$LOCAL_IP:4001,http://$LOCAL_IP:2379 -advertise-client-urls http://$LOCAL_IP:4001,http://$LOCAL_IP:2379 -discovery $DISCOVERY_URL -initial-cluster-state new
2015-11-11 11:07:52.123326 I | etcdmain: etcd Version: 2.2.1
2015-11-11 11:07:52.123760 I | etcdmain: Git SHA: 75f8282
2015-11-11 11:07:52.124349 I | etcdmain: Go Version: go1.5.1
2015-11-11 11:07:52.124590 I | etcdmain: Go OS/Arch: linux/amd64
2015-11-11 11:07:52.124847 I | etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
2015-11-11 11:07:52.125178 I | etcdmain: listening for peers on http://<IP_ADDRESS>:2380
2015-11-11 11:07:52.125447 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:2379
2015-11-11 11:07:52.125723 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2015-11-11 11:07:57.126426 I | etcdmain: stopping listening for client requests on http://<IP_ADDRESS>:4001
2015-11-11 11:07:57.126856 I | etcdmain: stopping listening for client requests on http://<IP_ADDRESS>:2379
2015-11-11 11:07:57.127206 I | etcdmain: stopping listening for peers on http://<IP_ADDRESS>:2380
2015-11-11 11:07:57.127459 C | etcdmain: context deadline exceeded

Any idea what is causing this? I'm just trying to start a DigitalOcean cluster with a cloud init file that someone else uses on a tutorial that works out the box. Yet for me I get this context deadline exceeded.
-- Unit etcd2.service has begun starting up.
Jan 17 09:26:24 alicia etcd2[824]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Jan 17 09:26:24 alicia etcd2[824]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/cc933062775ac1ca88d5fb1b97d1908b
Jan 17 09:26:24 alicia etcd2[824]: recognized and used environment variable ETCD_NAME=4e55a605ab364489874fe75313f78973
Jan 17 09:26:24 alicia etcd2[824]: etcd Version: 2.2.0
Jan 17 09:26:24 alicia etcd2[824]: Git SHA: e4561dd
Jan 17 09:26:24 alicia etcd2[824]: Go Version: go1.4.2
Jan 17 09:26:24 alicia etcd2[824]: Go OS/Arch: linux/amd64
Jan 17 09:26:24 alicia etcd2[824]: setting maximum number of CPUs to 1, total number of available CPUs is 1
Jan 17 09:26:24 alicia etcd2[824]: listening for peers on http://localhost:2380
Jan 17 09:26:24 alicia etcd2[824]: listening for peers on http://localhost:7001
Jan 17 09:26:24 alicia etcd2[824]: listening for client requests on http://localhost:2379
Jan 17 09:26:24 alicia etcd2[824]: listening for client requests on http://localhost:4001
Jan 17 09:26:24 alicia kernel: EXT4-fs (vda9): resized filesystem to 4635643
Jan 17 09:26:25 alicia extend-filesystems[698]: Filesystem at /dev/vda9 is mounted on /; on-line resizing required
Jan 17 09:26:25 alicia extend-filesystems[698]: old_desc_blocks = 1, new_desc_blocks = 2
Jan 17 09:26:25 alicia extend-filesystems[698]: The filesystem on /dev/vda9 is now 4635643 (4k) blocks long.
Jan 17 09:26:25 alicia systemd[1]: Started Extend Filesystems.
-- Subject: Unit extend-filesystems.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit extend-filesystems.service has finished starting up.
--
-- The start-up result is done.
Jan 17 09:26:25 alicia systemd[1]: Reached target Multi-User System.
-- Subject: Unit multi-user.target has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit multi-user.target has finished starting up.
--
-- The start-up result is done.
Jan 17 09:26:29 alicia etcd2[824]: stopping listening for client requests on http://localhost:4001
Jan 17 09:26:29 alicia etcd2[824]: stopping listening for client requests on http://localhost:2379
Jan 17 09:26:29 alicia etcd2[824]: stopping listening for peers on http://localhost:7001
Jan 17 09:26:29 alicia etcd2[824]: stopping listening for peers on http://localhost:2380
Jan 17 09:26:29 alicia etcd2[824]: context deadline exceeded
Jan 17 09:26:29 alicia systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Jan 17 09:26:29 alicia systemd[1]: Failed to start etcd2.
-- Subject: Unit etcd2.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit etcd2.service has failed.
--

@bweston92 Please try with the latest released version of etcd - 2.2.3. Thanks.

@xiang90 how can I upgrade etcd in coreos stable? No where on internet can I find this resource :/

@bweston92
You can put etcd into a container and run it. https://github.com/coreos/etcd/blob/master/Documentation/docker_guide.md.
Or you can download the binary and run it as a systemd service.
Or you can wait for CoreOS upgrades. That is not an etcd issue though.

@xiang90 thanks, just wondered if there was a way :D will update the binary for the current systemd service :D will report back if still have any issues. Thanks again


Time to enable progressive profiling for email field

https://github.com/mautic/mautic/pull/3732

@kuzmany please resolve the conflicts.

Resolved


modify grafana chart as prometheus like format

Prometheus-like chart format
Dashboard example
Initial add datasource example

@viglesiasce Modified. Please review. Thanks.

Thanks @zanhsieh!!

@k8s-bot ok to test

Test failure is due to the fact that files were removed then readded rather than placed with a git mv.


web3 error on raspberry pi

Hi,
I've installed web3.py on the raspberry pi 2 (from source after the installation of the requirements) but when i run a snipet code i get this error
ImportError: cannot import name Web3
*NB: If i run the code in the web.py it works

solution :
import sys
sys.path.append('/path to web3/')
don't name your snipet code web3.py

@bellaj alternatively you can put a from __future__ import absolute_import in python 2.7 and it will fix this annoying import behavior from python 2.  Alternatively you can switch to python3 as well (which you should do anyways 😈 )


get byte[] from compressed int[]

Hi,
I'm new to java and this library in general.
I want to save the compressed int[] to redis.
The only way to do this is to first convert the int[] to a byte[].
Is there any way to get a byte[] array from the compressed int[] short of using ByteBuffer.
Thanks,
Rr.

If you want to convert int[] to byte[], this code should do the job :
http://stackoverflow.com/a/19252022/73007
If your arrays are small, this might do the job.
If your arrays are large (they do not fit in cache), a better alternative might be to use a ByteIntegerCODEC :
http://lemire.me/docs/javafastpfor/me/lemire/integercompression/ByteIntegerCODEC.html
With this approach, you can compress an array of integers int[] directly to a byte array byte[].
There are currently only two : VariableByte and IntegratedVariableByte. They are both VByte schemes. There are reasonably fast.

I am closing this. Reopen if you disagree.

thank you so much. it works best with the codec.
I will be creating a ruby wrapper around your library.
I will drop you a message when its ready.
Regards,
Rr.

Great stuff.


Add a fullscreen button in TamTam micro activity

The idea is to add a fullscreen button in the toolbar to increase the size for activities contents on small devices.
The complete process is describe in #399

Fixed in https://github.com/llaske/sugarizer/commit/09fd92494385a8444c14f95fbb55329050f089ce


Allow the user to specify output directory in kbuild.toml

If no command line option is specified for the output directory, kbuild puts kompiled targets under kdist in the project root.
Introduce a field like
[build]
kdist-dir = "foo/bar"

in kbuild.toml to allow the user to override the default. The value is a relative path within the project.
Add a command kbuild clean that removes from kdist-dir directories that correspond to targets. (Note: deleting kdist-dir altogether is probably not safe, as the user might accidentally specify directories that contain files other than kompiled targets.)

(Note: deleting kdist-dir altogether is probably not safe, as the user might accidentally specify directories that contain files other than kompiled targets.)

I don't understand this part. Why is it not safe?
The kdist-dir should contain only generated files.

I wouldn't worry about that.


Multiline charachteristic response

I am using device.writeCharacteristicWithResponseForService and getting the characteristic.value response and decoding it, but I only get the first line of what I should be getting.
when I test using a third party application( Serial Bluetooth Terminal ) application I get the expected 2 line response. I cant figure out why.  Should the response include all lines of the response or would the library only return 1 line?
Thanks

It depends on your peripheral and how it does send the data. I don't know. I guess you should consult the documentation of your peripheral or Serial Bluetooth Terminal protocol.


bug: Position of ion-fab on iOS in RTL

Bug Report
Ionic version:

[x] 4.9
Current behavior:

I have a simple app that displays an ion-fab with the horizontal property set to "start" and the overall app set to RTL (dir="rtl" in app.component.html).  On Android devices and in Chrome the ion-fab appears on the right hand side of the screen which I believe is the correct behavior.  On iOS devices, it appears on the left.
Expected behavior:

I believe that when an app is in a RTL direction mode, then an ion-fab positioned at a horizontal "start" should be on the right side of the screen.
Steps to reproduce:

Run the program on iOS and Android.  I get two completely different results.
app.component.html:

home.page.html:

Related code:

app.component.html:

home.page.html:

Other information:

Ionic info:

Ionic:
Ionic CLI                     : 5.2.3 (/usr/local/lib/node_modules/ionic)
Ionic Framework               : @ionic/angular 4.9.0
@angular-devkit/build-angular : 0.801.3
@angular-devkit/schematics    : 8.1.3
@angular/cli                  : 8.1.3
@ionic/angular-toolkit        : 2.0.0
Capacitor:
Capacitor CLI   : 1.2.0
@capacitor/core : 1.2.0
Utility:
cordova-res : not installed
native-run  : not installed
System:
NodeJS : v10.16.2 (/usr/local/Cellar/node/12.3.1/bin/node)
npm    : 6.9.0
OS     : macOS Mojave


[5.4] Add apiResource function to Router

The route resource function is very useful but an API doesn't need the create and edit routes. This pull request would allow that functionality with a new apiResource function that would work the same way as the original resource function just without the two unnecessary routes.
Route::apiResource('photos', 'PhotoController');

Why not add that as macro in your project.


I just need help on how to get from start to finish product

https://johnserf-seed.github.io/f2/quick-start.html
this url，but you need to translate;


#341 fixed save security group plugin

fixes #341

Current coverage is 42.81%

Merging #342 into master will increase coverage by +0.02% as of 72e9f69

@@            master    #342   diff @@
======================================
  Files          121     121
  Stmts         2526    2525     -1
  Branches       210     210
  Methods          0       0
======================================
  Hit           1081    1081
  Partial         41      41
+ Missed        1404    1403     -1

Review entire Coverage Diff as of 72e9f69

Powered by Codecov. Updated on successful CI builds.


⚠ Bofrost.at has degraded performance

In 75a5f53, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2440 ms

Resolved: Bofrost.at performance has improved in 6145e6e.


Include soft-links in data object __repr__

When using jupyter, the representation of the object shown in the output cell is its __repr__.  By default, that only shows object members, which excludes soft links.  This leads to the non-obvious behavior that repr(process_run) doesn't include ingredients and repr(material_run) doesn't include measurements.
We should override __repr__ in objects that include soft-links to show linked objects.
h/t @sesevgen

The work around is to print the soft-linked return value, e.g. print(process_run.ingredients)

Resolved with #26


ES Modules?

Is there any plan on converting from CommonJS format to ES Modules format?
There are benefits to using ES Modules for distribution code (e.g. tree-shaking of unused exports, scope hoisting, industry standard), and there are tools which can help in that.

Hi there, the downside for the time being is that stable Node.js versions (haven't kept track so well but I don't think 8 or 10 have support for it?) don't support it. So anybody wanting to grab a function would then first have to use e.g. Rollup in order for it to function, which is not so common on servers yet as it is for webbrowsers. I do think that Rollup supported tree-shaking for commonjs requires or no?

Thanks! I realize that when folks install from npm we could ship a built/bundled version. In fact we already do so we can use es6 and not worry about older Node platforms. So I guess we could rewrite imports to requires at that stage also.
It's just that, currently, you'd be able to even copy paste a function in node, and that goes out the window until module supports hits a good majority of node.js installs (unless we ask everybody to install ES module loader with their apps, and hack the global require). I think on that trade-off, it's not worth it just yet to move to es6 modules. If we revisit in a year or so, and node supports import out of the box, I'd be very happy to change all requires in a heartbeat. When I'm balancing the pros and cons i don't think it's the right time for a project that also caters to the serverside (i'm very much in favor of imports for browser/bundle-only projects today already). Or what do you think?

I'd love to have an ESM version. Of course our code fits the example that it's bundled with Webpack and runs in the browsers. So I understand the want/need to keep it compatible for native Node applications that can't take advantage of the ESM syntax. We're using all ESM syntax where possible, which is for the majority of our code.
I think having an ESM path in Locutus sounds good. With Webpack for example it can easily alias  locutus/php/strings to locutus/esm/php/strings for imports.
Another option would be to create an ESM branch in Git and then publish the branch with Node's beta tag https://docs.npmjs.com/getting-started/using-tags Then the ESM branch wouldn't be installed unless the user specified @beta during the install.
The only downside I can think of this is that two files have to be managed instead of one, because you can't even merge the master branch into the ESM branch. If that's not a concern, though, then I don't see why this isn't a viable option. Then when Node natively supports it, you can merge the ESM branch into the master branch.

Maintaining two branches is a concern I’m afraid :) as is offering multiple ways to require/import, that’s just a source of confusion, tickets, and extra explaining we have to do in the docs and these instances.
(If you feel differently about maintaining two branches, it’s possible to fork ofc!)
As a maintainer these are considerable downsides to me, where the upsides aren’t so apparent, again, won’t roll up also treeshake requires? And won’t you be able to include single functions, meaning treeshaking is less of a requirement?
We’ll change to imports, that I can predict/assure you. I don’t think now is the right time though (sorry!) I’d like to do it when less hacks/workarounds are required to make it work for all platforms. When a good majority of node installs supports esmodules out of the box, let’s revisit?
Sent from mobile, pardon the brevity.

On 19 Sep 2018, at 16:39, KnightYoshi<EMAIL_ADDRESS>wrote:
I'd love to have an ESM version. Of course our code fits the example that it's bundled with Webpack and runs in the browsers. So I understand the want/need to keep it compatible for native Node applications that can't take advantage of the ESM syntax. We're using all ESM syntax where possible, which is for the majority of our code.
I think having an ESM path in Locutus sounds good. With Webpack for example it can easily alias locutus/php/strings to locutus/esm/php/strings for imports.
Another option would be to create an ESM branch in Git and then publish the branch with Node's beta tag https://docs.npmjs.com/getting-started/using-tags Then the ESM branch wouldn't be installed unless the user specified @beta during the install.
The only downside I can think of this is that two files have to be managed instead of one, because you can't even merge the master branch into the ESM branch. If that's not a concern, though, then I don't see why this isn't a viable option. Then when Node natively supports it, you can merge the ESM branch into the master branch.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes, I understand the part with the complexity that would come up with the project, but I think it could be flexible with the proper distribution method.

The source code is in the src/ directory and is never published to npm
The Rollup prepares two versions: CommonJS that goes into the root project (as it is right now) and the ES Modules version that goes into esm/ directory
Documentation and module consumation remains the same for all those who have used CommonJS approach, but we document that ES Modules are available under the esm/ "namespace".

Another option would be to create an ESM branch in Git and then publish the branch with Node's beta tag

I think this could create larger maintenance issues.

won’t roll up also treeshake requires?

Rollup has tree shaking and scope hoisting for ES Modules only, not for CommonJS.

And won’t you be able to include single functions, meaning treeshaking is less of a requirement?

True, but still ES Modules have their benefits over CommonJS, especially in browser landscape.
In the end, it’s your decisions and I’m glad you’re open to the option for using ES Modules by default!

Thanks, I didn't know that about RollUp! I thought only Webpack had the constraint on ESmodules. And RollUp would treeshake whatever you threw at it. That doesn't change though that folks are requiring single functions and that treeshaking isn't so beneficial then.

True, but still ES Modules have their benefits over CommonJS, especially in browser landscape.

Can you eloborate on that, glancing over the article it mostly seems to address bundlesizes and performance when bundled via different bundlers? I don't see how requiring vs importing a single function would impact this.

Documentation and module consumation remains the same for all those who have used CommonJS approach, but we document that ES Modules are available under the esm/ "namespace".

Once we go all in with Locutus, we'll have to deprecate and move everybody's code back from using  esm/, or keep pushing out clones under that namespace. Since I don't see overly compelling upsides for this particular project, this bit is rather unattractive to me. I'm also considering to have a module per function, like @locutus/php-strings-sprintf via Lerna.js. While perfectly possible, pushing out the extra namespace per module seems like it would increase chances-of-headaches and build-times.

I don't see how requiring vs importing a single function would impact this.

Importing 10 CommonJS single functions results in 10 function calls for that modules exports. Importing 10 ES Modules single functions, with proper scope hoisting support (Rollup, Webpack and Parcel support that) results in flattened 1 function call. It’s probably negligible in the case of 10 modules, but it can show performance degradations in large codebases (the article goes in depth for this situation).

Once we go all in with Locutus, we'll have to deprecate and move everybody's code back from using esm/, or keep pushing out clones under that namespace.

True, this could be major problem for usage, but on the other hand it also means major version bump which at least expects of developers to revisit their codebase and make proper changes.

I'm also considering to have a module per function, like @locutus/php-strings-sprintf via Lerna.js.

Oh, this could be great! I suppose majority of Locutus users are actually using some, and not all functions in their codebase.

While perfectly possible, pushing out the extra namespace per module seems like it would increase chances-of-headaches and build-times.

Do you mean @locutus or esm/ namespace? For former, this makes sense since it’s ecosystem standard and I don’t see problems with that. For latter, esm/ in case of "one function per package" can (and should) be avoided with main and module property of package.json so you can have both distribution files in the package root directory.

For latter, esm/ in case of "one function per package" can (and should) be avoided with main and module property of package.json so you can have both distribution files in the package root directory.

That sounds very reasonable and would solve a big part of my concerns. Would you like to take a swing at that? So every function is a module with a main and module entry point?

Do you have some baseline we can work with?
Is the plan to have project structure similar to the one Babel uses, so PHP’s number_format is actually inside packages/php-strings-number_format (or packages/locutus-php-strings-number_format) and scoped to @locutus/php-strings-number_format?

I think @locutus/<language>-<module> sounds good. I don't see any benefit from having it be more verbose with the path in the name.

Don’t you think for some languages that are more class/object oriented you might get collisions between Math and String, or function names are going to sound less meaningful without the parent they belong to? Since php is so function oriented, nearly all array functions start with array_ so it’s pretty obvious, also; that’s how you call them from within the language, not array.array_search() or what have you. In ruby though it’s Math.acos and not plain acos. So I think this nesting makes sense(?)
Sent from mobile, pardon the brevity.

On 22 Sep 2018, at 17:03, KnightYoshi<EMAIL_ADDRESS>wrote:
I think @locutus/- sounds good. I don't see any benefit from having it be more verbose with the path in the name.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

When you put it that way, then I guess it makes sense.

As for internal directory structure, do you think we can keep the nesting category?

I suppose we’re going the way of Lerna, so first step would be to see if Lerna has some option to automatically create distribution directories for packages. Keeping files in the current directory state clashes with the functionality of package.json, so if we don’t have proper relocation process in place, directory structure should be packages/php/strings/number_format/index.js and inside that directory package.json for that module at least, test infrastructure at most (see Babel structure).

I wonder if in the case of php we should make an exception and rip out the middle part so that it becomes php-sprintf for example

I wouldn’t go that way. This could introduce a lot of edge cases and confusing moments. @locutus/php-array-array_reverse should be okay :)

Ok, I'm cool with packages/php/strings/number_format/index.js and consistently using the class in module names @locutus/php-array-array_reverse. Tests are generated and extracted from header comments, I think we should probably not output the generated mocha tests inside the packages/php/strings/number_format/ to avoid people from hacking on those generated files. Likely this also makes/keeps the tests faster.
Another approach could maybe also be to regard Lerna packages as build residue. e.g. we'd keep everything as is, but as part of the build step, which already does AST parsing and crazy things, it would populate a .lerna/packagage directory with index.js files and package.jsons were needed , just so we can publish individual modules to npm, but we don't let that decision change how we currently work on/automate our functions.

Wondering if @kukawski has any strong opinions or insights on this matter?

Regarding our test setup that relies on comments in the source files - sometimes I found it quite limiting, because I would like to test a function thoroughly, which would end up with infinitely long comment. Maybe we should consider writing test files manually?

For starters, maybe use what currently exists and then switch to manual writing, push MVP and then iterate?

Currently, IIRC, user can require whole category of functions, because we generate index.js. Do we want to keep it?

I think this could be possible, maybe event with Lerna as main tool.

How do we deal with shared code? Where do we keep it?
How do we deal with module dependecies? Some functions rely on other functions in the locutus package.

If we go the way of Lerna, we should probably check what other projects do in regards to that (e.g. Babel).

Then, how do we deal with existing users, if suddenly the way how to use the module changes?
Can we change the locutus module to be a namespace in npm?

npm has deprecation process for existing packages. If we publish current implementation (everyting in index.js) under @locutus/locutus, I suppose majority of users will have easier transition period (I think npm offers solution where locutus could be aliased to @locutus/locutus). For everything else (single function) users should use namespaced modules. This should probably be major version bump. What do you think?

With regards to Babel 7+ they use a namespace structure
{
"devDependencies": {
	"@babel/core": "7.1.0",
	"@babel/plugin-proposal-class-properties": "7.1.0",
	"@babel/plugin-proposal-export-namespace-from": "7.0.0",
	"@babel/plugin-proposal-object-rest-spread": "7.0.0",
	"@babel/plugin-syntax-dynamic-import": "^7.0.0",
	"@babel/plugin-transform-modules-commonjs": "7.1.0",
	"@babel/preset-env": "^7.1.0",
}

Instead of every function being it's own package, would it be better to have them grouped by the language that they emulate?

One more case of popular utility library switching to ESM and sharing their process: https://blog.date-fns.org/post/ecmascript-modules-in-date-fns-v2-i1v007ou81rm

Have there been any thoughts about this since October?
One thing that could be done is to write it in ES6 first, and then use Babel to transpile it to CommonJS for distribution on npm. That way up front there's only one code base to work in, and then production distribution would have ESM syntax and CommonJS.

We can already write in ES6 as we do indeed also already transpile to ES5 so that could be a viable option yes. I don't have the time for it, but if anybody feels strongly enough to implement this PRs are welcome

So does this mean I can't use import?

If you set up Babel in your project, you can.
On Fri, Sep 13, 2019 at 19:26 Noel da Costa<EMAIL_ADDRESS>wrote:

So does this mean I can't use import?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kvz/locutus/issues/377?email_source=notifications&email_token=ABOZWMBIUUM65KJX5AEYZWDQJQOTZA5CNFSM4FVW6GQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6WNLWQ#issuecomment-531420634,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABOZWMDR2LBOFECAYXRBAEDQJQOTZANCNFSM4FVW6GQQ
.

--
Charles Reffett

If you set up Babel in your project you can.

I'm pretty sure we will at one point but so far I see mostly downsides. CommonJS projects can import this now. ESM projects too. With no elaborate build steps on our part. With decent bundlers, consumers will have tree shaking. So I'm closing this for now unless I'm wrong about any of this.


pipelineX Fix data pooling judgement for bucket join

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


@conda-forge-admin,please add bot automerge

Additional comment:
No response

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/pyquickhelper-feedstock#14.


Replace math/rand with crypto/rand in cuckoo

Discussion here: https://app.clickup.com/t/1trucm8

Some notes:

rand.IntX() family of functions are thread-safe, if you jump to the implementation, you'll note that it's wrapped in a lockedSource which uses a mutex.
You almost never want to use the global object. You can create you own private rand.NewSource & rand.New(src). This is extremely useful when you want to unit test, you can use a static seed where-as in production you derive the seed from crypto/rand.

TLDR, rewrite Cuckoo such that it stashes his own rand.Rand.


Add MIT licence

Adding the MIT licence to the project (most used in the javascript world)
Why do people care so much about the legal side of open source? (2 mins read) : https://opensource.guide/legal/#why-do-people-care-so-much-about-the-legal-side-of-open-source
Extract :

If you don’t apply an open source license, everybody who contributes to your project also becomes an exclusive copyright holder of their work. That means nobody can use, copy, distribute, or modify their contributions – and that “nobody” includes you.

Short description of the licence (2 min read) : https://choosealicense.com/licenses/mit/
@aenario @guillaumemoby @Adeloche @arribbar @tonnenpinguin @ZacharieALES we need every contributor's approval to add (or change) a licence

I guess we have 5 approvals, just need @arribbar and @ZacharieALES to approve it explicitly as well

Looks good to me 👍

Works for me


add CI for all supported ruby versions

it's a time-bomb before a bad release goes out 😞
... also consider bumping min ruby to 2.5
can steal https://github.com/grosser/parallel/blob/master/.github/workflows/actions.yml

CircleCI is, I think, testing all supported versions -- and now correctly tests non-maintainer PRs, too.


enabling and disabling series in group freeze app

Related to issue 158
When the chart has multiple axis groups and all axes in one group are disabled program freezes.
Sample code:
public static void main(String[] args) throws Exception {
        double[] xData = new double[]{0.0, 1.0, 2.0};
        double[] yData = new double[]{2.0, 1.0, 0.0};
        XYChart chart = new XYChart(500, 200);
        XYSeries xySeries = chart.addSeries("Sample Chart", xData, yData);
        XYSeries xySeries2 = chart.addSeries("Sample Chart2", xData, yData);
        xySeries.setYAxisGroup(0);
        xySeries2.setYAxisGroup(1);
        xySeries.setEnabled(false);
        new SwingWrapper(chart).displayChart();
}

Thanks for the report. I'll look into it soon.


[Feature] Ensure the number of healthy workers while keep the abnormal worker for troubleshooting

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Sometimes, one or more pods may have problem, they are in k8s running status but not working correctly. And we may not want to delete them directly. Instead, we want to keep the abnormal pods alive for later troubleshooting. In the meantime, we need the number of healthy workers enough to provide services. Therefore, can we mark worker pods so they are not counted into replicas?
e.g.
We have 3 workers:
ray-worker-healthy-0
ray-worker-healthy-1
ray-worker-abnormal

After labeling ray-worker-abnormal, operator will create another one while keep ray-worker-abnormal alive
ray-worker-healthy-0
ray-worker-healthy-1
ray-worker-healthy-2
ray-worker-abnormal

Use case
Debug and troubleshooting
Related issues
No response
Are you willing to submit a PR?

[*] Yes I am willing to submit a PR!

Hi @harryge00,
Thank you for reporting this! I have a question: what will happen if Pods keep failing repeatedly (e.g., if the container does not have enough memory)? This will consume a lot of cluster resources and result in resource contention with other RayClusters.
In addition, KubeRay currently deletes unhealthy Pods when it receives an unhealthy Pod event. This behavior may be deprecated recently due to several reasons.


Fixed ovverriding of custom configurations by docker-entrypoint

Added a function in docker-entrypoint.sh to pass the default configs to the neo4j.conf file only when they are not set manually by the user.
Added 2 Tests to test if the configs are passed correctly into neo4j.conf.
Removed some commented lines from the neo4j.conffile used for the tests.

I don't know why the dumpConfig test started failing suddenly but I can guess why it did.
Could you change the line where it's setting the wait strategy to null here: https://github.com/neo4j/docker-neo4j/blob/47fb7b63fa813390e1f44b66bc390fb6b6e51882/src/test/java/com/neo4j/docker/TestMounting.java#L99
to the same wait strategy you used here:
https://github.com/neo4j/docker-neo4j/blob/47fb7b63fa813390e1f44b66bc390fb6b6e51882/src/test/java/com/neo4j/docker/TestConfSettings.java#L152
I think that should fix it.