container can accept requests when became unhealthy in swarm mode

Description

Steps to reproduce the issue:
1.create a service in swarm mode
2.post request to this service continue
3.update service
4.one of container in this service health became (unhealthy), after a while,it will shutdown and another container will be create
Describe the results you received:
when the container became unhealthy , it can also accept request
Describe the results you expected:
when the container became unhealthy, it should be can not accept request
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 13
 Running: 6
 Paused: 0
 Stopped: 7
Images: 5
Server Version: 1.12.3
Storage Driver: devicemapper
 Pool Name: docker-8:3-6815748-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 2.374 GB
 Data Space Total: 107.4 GB
 Data Space Available: 105 GB
 Metadata Space Used: 5.026 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.142 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /data/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /data/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null bridge host overlay
Swarm: active
 NodeID: dxx0lvd058ykf2a3rix9xqs3x
 Is Manager: true
 ClusterID: 5394pay22kohc4suti8481ngk
 Managers: 2
 Nodes: 2
 Orchestration:
  Task History Retention Limit: 10
 Raft:
  Snapshot Interval: 5000
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.8.10-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 56
Total Memory: 125.7 GiB
Name: s2-core-044
ID: WSCQ:2DTP:M4PC:VVND:ISVW:OTD4:QM2S:OSNR:XCID:3HLR:DZMA:DK7L
Docker Root Dir: /data/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 86
 Goroutines: 245
 System Time: 2016-11-23T17:03:58.539044083+08:00
 EventsListeners: 6
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
 docker.v2.aispeech.com
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
physical
Centos7, 4.8.10-1.el7.elrepo.x86_64

I am experiencing the same.
Docker 1.12.3
CentOS 3.10.0-327.22.2.el7.x86_64
I have healthchecks set up in Dockerfiles and verified that they are working correctly.
When I do a rolling update of a service in the swarm cluster however, routing mesh routes requests to a replica which is not healthy yet and still in starting state.
My expectation is that it should route requests only to healthy services (Running state)
This is a blocker for rolling zero-downtime upgrades.

This is claimed to be fixed in 1.12.3 https://github.com/docker/docker/issues/26067
But to me this is not the case.

This looks like a duplicate of https://github.com/docker/docker/issues/24092, which is implemented in https://github.com/docker/docker/pull/27279 for docker 1.13. However, that PR does not explicitly mention removing containers from the load balancer if health checks fail.
@ziqingzhu @rieske would you be able to test the 1.13 release candidate to see if that addresses your issue? Download / install instructions can be found on the releases page; https://github.com/docker/docker/releases. Keep in mind that these are release candidates, and may still contain bugs, so should not be installed for "production", or on machines that contain critical data :smile:

Also /cc @dongluochen PTAL

Seems to be working nicely on Docker version 1.13.0-rc2, build 1f9b3ef

Thanks for testing @rieske!
@ziqingzhu I'll go ahead and close this issue because it should be addressed in 1.13, but let me know if you can still reproduce with that version, and I'll reopen.

Great! It is working as expected~


Ice gathering timeout, 10 seconds delay

We have a problem: if a user has several network interfaces or if user's NAT is very strange: in such cases the ICE Gathering can take 10 seconds on outgoing calls. This is not good. I added a very simple hack: to stop gathering after 2 seconds after first candidate appeared.
We can have a look at this hack here a1fae10b5b52460f4cb5fd14315bfe24cd22cd57
I am not good in sipml5 architecture, but I think that such timeout should be tunable via sipStack creation (like in sipjs).

I agree, it should be tunable.

Good point thank you

Does this change not break anything under any circumstances?

@vferko , I am not sure. But we are using this hack for almost two month, and everything is still fine.

@roginvs, thank you, this is enough for me. I assume this file (roginvs/sipml5/release/SIPml-api.js) implements the proposed changes..

@vferko, yes, everything is right, this link holds sipml5 with this change + patch for Chrome workaround.

when i use that solution in my app, some times attended transfer getting one way audio.

very thank you


ilab generate can not utilize nvidia cuda and very slow.

Describe the bug
I have folllowed the instructions of CUDA installation. And I have CUDA install on my container also.
But when I tried to run ilab generate, it complains.
(venv) root:~# ilab generate
llama_cpp_python is built without hardware acceleration. ilab generate will be very slow.
Generating synthetic data using 'merlinite-7b-lab-Q4_K_M' model, taxonomy:'taxonomy' against http://<IP_ADDRESS>:64583/v1 server
INFO 2024-05-23 23:44:53,930 server.py:206 Starting server process, press CTRL+C to shutdown server...
INFO 2024-05-23 23:44:53,930 server.py:207 After application startup complete see http://<IP_ADDRESS>:64583/docs for API.
INFO 2024-05-23 23:44:57,083 rouge_scorer.py:83 Using default tokenizer.
  0%|                                                                                | 0/100 [00:00<?, ?it/s]Cannot find prompt.txt. Using default prompt depending on model-family.
Synthesizing new instructions. If you aren't satisfied with the generated instructions, interrupt training (Ctrl-C) and try adjusting your YAML files. Adding more examples may help.
INFO 2024-05-23 23:44:57,084 generate_data.py:468 Selected taxonomy path knowledge->technical_manual->instruct_lab

CPU utilization is very high.
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 28271 root      20   0 7015696   4.8g   4.1g S  1186   0.9  11:17.94 python3

To Reproduce
Steps to reproduce the behavior:
 ilab generate
Expected behavior
GPU acceleration is used for inference.
Screenshots
Device Info (please complete the following information):

Hardware Specs: [NVIDIA GeForce RTX 2080 Ti 24Gm, 90G memory, 12 core, x86_64]
OS Version: [Ubuntu 22.04.3 LTS]
Python Version: [Python 3.10.8]
InstructLab Version: [ilab, version 0.15.0]

Additional context
root@~# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

(venv) root:~# nvidia-smi
Thu May 23 23:41:45 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.67                 Driver Version: 550.67         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     On  |   00000000:98:00.0 Off |                  N/A |
| 44%   25C    P8             21W /  250W |       1MiB /  22528MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

(venv) root:~# echo $PATH
/root/venv/bin:/root/miniconda3/bin:/usr/local/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
(venv) root:~# echo $LD_LIBRARY_PATH

The work around is builing llama.cpp.python manually
export CMAKE_ARGS=-DLLAMA_CUBLAS=on
export FORCE_CMAKE=1
pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir

I guess you did not follow the instructions(https://github.com/instructlab/instructlab?tab=readme-ov-file#install-with-nvidia-cuda) to install  llama_cpp_python
(venv) $ pip cache remove llama_cpp_python
(venv) $ pip install instructlab -C cmake.args="-DLLAMA_CUBLAS=on"

Still getting this message after pip install instructlab -C cmake.args="-DLLAMA_CUBLAS=on"
pip install instructlab -C cmake.args="-DLLAMA_CUBLAS=on"
pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir -C cmake.args=-DLLAMA_CUBLAS=on

fixes it

Can you retry with the latest ilab @hugulas?

Still happening to me on version 0.17.1

I've attempted the installation again with older python (3.11). Instead I'm getting:
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "/mnt/srv/repos/jpodivin/instructlab/venv/lib64/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/mnt/srv/repos/jpodivin/instructlab/venv/lib64/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/mnt/srv/repos/jpodivin/instructlab/venv/lib64/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-aefeht_4/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-aefeht_4/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-aefeht_4/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 502, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-aefeht_4/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 318, in run_setup
          exec(code, locals())
        File "<string>", line 21, in <module>
      ModuleNotFoundError: No module named 'torch'
      [end of output]

@jpodivin can you check if this is still reproducible in the new ilab release?


Add eslint

I'm going to wait until this PR is done and merged before I do any changes to #6 , that way I can rebase and use eslint for any of the changes

I just saw that you're standardizing to yarn.lock, that's great!

@fcastilloec I don't think a repo should contain both of package-lock.json and yarn.lock at once. It should contain either of them. Otherwise, it may cause trouble for dependency management during development.

@fcastilloec I have completed the changes you remarked. Would you like to take a look again?

@fcastilloec thanks for the review!


Add twig-assets dependency

Moving https://github.com/odan/twig-assets/issues/9 to this repo's issues. Quoting:

Hi Daniel, would you mind including some examples to get twig-assets work with slim4, or maybe show that in your hatching https://github.com/odan/slim4-skeleton ? Thanks lots in advance, cheers, P.

Hi @killua-eu Yes, this would be the next step for the slim4-skeleton project. I'm working on it. Would be nice if you create an issue here: https://github.com/odan/slim4-skeleton/issues Thanks.

I just added twig-assets dependency. The configuration is like before:
https://github.com/odan/slim4-skeleton/blob/master/config/container.php#L94
The onliny difference is the new Slim 4 RouteParser.
https://github.com/odan/slim4-skeleton/blob/master/config/container.php#L114
// Add relative base url
$routeParser = $container->get(RouteParserInterface::class);
$twig->addGlobal('base_url', $routeParser->urlFor('root'));

Thanks lots.


Multiple devices on same storage daemon?

Hi,
Maybe it will be better if there is a define such as bacula::devices { } to give a chance to create more than one device resource on a single storage daemon. It seems that it is not supported by now.

That does sound useful.  Perhaps we could separate the main configuration of the storage daemon with that of the storage device.  So we might have a class that is bacula::storage::device instead of configuring the device on bacula::storage.

@xaque208 Are you working on this?

I am not.  Patches accepted.  If I'm picking up any work on this module in the near term, its external database support, or Puppet4 support.


Show raw mark-down code after render

At this link https://docs.microsoft.com/en-us/dotnet/api/?view=netcore-3.0

Thanks for your feedback @donhuvy. This is a limitation of the API browser but I've opened a PR to remove those Markdown elements from the summary, which would fix this issue on the API browser as well.


Improve validation of StorageSpace and ExternalIdentifier

If you try to create a:

Storage space with a slash (e.g. alfa/bravo)
An empty storage space StorageSpace("")
An empty external identifier ExternalIdentifier("")

You hit these new runtime assertions. In practice, you should never hit these unless you're doing something very silly – but for https://github.com/wellcometrust/platform/issues/4088 in particular, we're going to have to assume spaces can't contain slashes, and it's better to encode that in the type system than assuming it won't happen.
This allows us to unambiguously distinguish the storage space/external identifier in a bag ID.
e.g. if you look at bag ID alfa/bravo/charlie, the space is alfa and the external ID is bravo/Charlie.

Rationale: if we start allowing slashes in external identifiers, the assumption that storage space never contains a slash becomes pretty critical.
We'll enforce it at the ingests API stage – but hey, why not enforce it in the type system too. What are types for if not this? :)

(We could in theory support storage spaces with slashes too, by URL encoding it before putting it at the start of an S3 key – but there's much less motivation to do so.)


[5.6] Uncouple Collections from Illuminate\Support namespace

Laravel Collections lives inside Illuminate\Support namespace, with also contains a lot of stuff that isn't related to Collections.
Recently, I want to use Collections in a no Laravel app. I discovery a package called tightenco/collect, but I thought: why not extract Collections to its own namespace inside Illuminate?
One example is Lumen: if I want to use Collections, why not simple import illuminate/collection?
I've kept the Illuminate\Support\Collection for compatibility and tests for other peoples APIs, like orchestral/testbench-core.
Discussed at laravel/internals#858.

I love the sentiment in this PR, but it's important to point out that the new illuminate/collection package depends on illuminate/support, which means no big changes. I also use Collection outside of Laravel by requiring illuminate/support. Your description gives a feeling that collection and support would be independent of each other, but that's only true for support.

I don't think Collections needs to be entirely independent of support. It just makes sense to give it it's own namespace given how core Collections is to Laravel.
As suggested, it also makes it easier to start using a illuminate/collections package which would always be up to date instead of relying on Tighten Co's package (as fantastic as that is 👍 )

Since collections would still depend on support I'm not sure there is a ton of value here. The reason tighten's package exists is because people don't want all of support installed. So, this doesn't seem to actually solve that issue.


⚠ ClamAV has degraded performance

In a77bbce, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 566 ms

Resolved: ClamAV performance has improved in c8e7949.


use Node 14 LTS

https://trello.com/c/0BmkYFSD/907-3-node-10-is-eol-april-2021-upgrade-node-to-v14

Hmm, on second thoughts I don't think this will work as-is due to the publish action in:
https://github.com/alphagov/digitalmarketplace-frameworks/blob/b0554c63b3b9266c43d188fb3aa6f69138007897/.github/workflows/publish_package.yml#L17
I will re-think this before merging.

Hmm, on second thoughts I don't think this will work as-is due to the publish action in:
https://github.com/alphagov/digitalmarketplace-frameworks/blob/b0554c63b3b9266c43d188fb3aa6f69138007897/.github/workflows/publish_package.yml#L17

@bjgill I have pushed a workaround to this issue now, I have made an alpha release so I can test the Publish action with this change.


Added Axinom Live test video

For details about content see https://github.com/Axinom/dash-test-vectors#live-clear
The HLS variant is currently experiencing excessive caching on the CDN, so it is likely to fail to play. I am working on sorting that out.

Thanks!

Cherry-picked to v2.3.7


Implementation of math-based flanking using attacker and ally centers

This implementation uses custom classes, since I recycled old code, they are stuffed as private classes into the flanking class. It could be refactored to use more native/Unity code.
I have tested impact on FPS, and it is minimal with your caching scheme. It seems to work with the reach weapons option.
EDIT: Ref: #3476

Thanks, it might take a while until I can review and merge this one as will be away from game computer until next weekend.


[CELEBORN-121] Refactor batchHandleCommitPartition

What changes were proposed in this pull request?
This is the second refactor step according to CELEBORN-116, follow up CELEBORN-117
It's about refactor batchHandleCommitPartition, as we can use specific commit handler for the R/M shuffle type.
Why are the changes needed?
Use specific commit handler  to do batchHandleCommitPartition for the R/M shuffle type,  will make the whole logic clearer and the code cleaner.
Does this PR introduce any user-facing change?
No
How was this patch tested?
trigger test

ping @waitinfuture @AngersZhuuuu

@waitinfuture please don't forget to update JIRA "fixed version" after merging PR.

yeah, actually days ago I fixed up several JIRAs whose "fixed version" were forgotten


Adding Europarl Bilingual dataset

Implementation of Europarl bilingual dataset from described here.
This dataset allows to use every language pair detailed in the original dataset. The loading script manages also the small errors contained in the original dataset (in very rare cases (1 over 10M) there are some keys that references to inexistent sentences).
I chose to follow the the style of a similar dataset available in this repository: multi_para_crawl.

is there a way to check errors without subscribing to CircleCI? Because they want access to private repositories when logging.

I think you need to be logged in to check the errors unfortunately. Feel free to create an account with bitbucket maybe if you don't want it to access your private github repos

I've resolved some requirements, but I cannot create dummy data. The dataset works as follows: for each language pair <lang1>-<lang2> 3 files are downloaded:

dataset for <lang1>
dataset for <lang2>
alignments between <lang1> and <lang2>

Suppose we work with the bg-cs language pair. Then, the dataset will download three gzip files which should be decompressed. I do not understand the relation between the folders created by the script to create dummy data and the original data provided by the download manager.

Hi ! Indeed the data files structure of this dataset looks very specific.
The command datasets-cli dummy_data ./datasets/europarl_bilingual shows some instructions for each split but let me add more details.
First things to know is that the dummy data files need to be uncompressed data, so for example for the file bg.zip you should actually have one folder with all the xml files in it instead. In the same way, bg-cs.xml.gz must be replaced by an actual uncompressed xml file.
Let's take the bg-cs config as an example. To make the dummy data you need to:

go to ./datasets/europarl_bilingual/dummy/bg-cs/8.0.0 and create a folder named dummy_data. Then go inside this folder
create a text file named bg-cs.xml.gz containing xml content (so without .gz compression). The xml content must have the same structure as the original bg-cs.zml but only include 1 linkGrp entry. You can pick one entry from the original bg-cs.xml file. Let's say this entry is about this file: ep-06-01-16-003.xml
create a folder named bg.zip and inside this folder add one file Europarl/raw/bg/ep-06-01-16-003.xml. You can pick the xml file from the original bg.zip archive.
create a folder named cs.zip and inside this folder add one file Europarl/raw/cs/ep-06-01-16-003.xml. You can pick the xml file from the original cs.zip archive.
zip the dummy_data into dummy_data.zip

At this point you have dummy data files to generate 1 example which is what we want to be able to test the dataset script europarl_bilingual.py with pytest.
In particular this will make this test pass:
pytest tests/test_dataset_common.py::LocalDatasetTest::test_load_dataset_europarl_bilingual

Ideally it would be awesome to have dummy data for all the different configs so if we manage to make a script that generates all of it automatically that would be perfect. However since the structure is not trivial, another option would be to only have the dummy data for only 1 or 2 configs, like what we do for bible_para for example. In bible_para only a few configurations are tested. As you can see there is only 6 configs in the BUILDER_CONFIGS attribute. All the other configs can still be used, here is what is said inside the dataset card of bible_para:
To load a language pair which isn't part of the config, all you need to do is specify the language code as pairs.
You can find the valid pairs in Homepage section of Dataset Description: http://opus.nlpl.eu/bible-uedin.php
E.g.

`dataset = load_dataset("bible_para", lang1="fi", lang2="hi")`

In this case the configuration "fi-hi" is simply created on the fly, instead of being picked from the BUILDER_CONFIGS list.
I hope this helps, let me know if you have questions or if I can help

I already created the scripts to create reduced versions of the data. What I didn't understand was how to put files in the dummy_data folder because, as you noticed, some file decompress to a nested tree structure. I will not try again with your suggestions!

Is there something else I should do? If not can this be integrated?

Thanks a lot !!
Since the set of all the dummy data files is quite big I only kept a few of them. If we had kept them all the size of the datasets repo would have increased to much :/
So I did the same as for bible_para: only keep a few configurations in BUILDER_CONFIGS and have all the other pairs loadable with the lang1 and lang2 parameters like this:
dataset = load_dataset("europarl_bilingual", lang1="fi", lang2="fr")


add logseq-reference-style

Submit a new Plugin to Marketplace
Plugin Github repo URL: https://github.com/benjaffe/logseq-reference-styles
Github releases checklist

[X] a valid CI workflow action for Github releases. (Optional for theme plugin only)
[X] a legal package.json file.
[X] a clear README file.
[X] a license in the LICENSE file.

Hi @benjaffe another cool plugin!  I found release zip pkg not provided. You could refer to your existing package :) https://github.com/benjaffe/logseq-music-notation

Ah geez, sorry, too many things to remember to check. I'll do that this
morning.
On Tue, Mar 1, 2022 at 2:47 AM Charlie @.***> wrote:

Hi @benjaffe https://github.com/benjaffe another cool plugin! I found
release zip pkg not provided. You could refer to your existing package :)
https://github.com/benjaffe/logseq-music-notation
—
Reply to this email directly, view it on GitHub
https://github.com/logseq/marketplace/pull/107#issuecomment-1055292576,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEL6FA2FPOFK2LU3KREHJTU5XYS7ANCNFSM5PSX4VPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ben Jaffe (he/they)
-- always be kind --

Alright, all set. Thanks Charlie!


Name clash

Hi,
We're actively developing an apns2 library on top of the upcoming native async hyper/h2 stack. It works already and is running well on production, but we cannot release it to crates until hyper's h2 is merged to master.
Should we rename our's to tokio-apns2 or similar, or do you want to merge your efforts to our project?
https://github.com/pimeys/apns2
Best,
Julius

@pimeys this crate is really just something I whipped up quickly because there wasn't anything around.
I'd be happy to merge the crates or give up the apns2 crate name.

We're now called a2, and soon in crates.io when hyper 0.12 is out.

I think apns2 would be the better name though.
a2 is a little bit generic and not very good for Google. ;)
Let me know in any case.

Same can be said about the library h2 we're based on. We should join forces though, to soon get a stable, fast and type-safe apns solution out.


[fix][cms] js event handlings

Coverage decreased (-11.2%) to 67.105% when pulling 5c01e28fd0bb6ba321dd4b8a71b64d493f4bbc84 on sunny4381:fix/js-event-handlings into 1131f3f9626c98c541ac823c869e9a64500d4341 on shirasagi:master.


[FLINK-6112] Support Calcite 1.12's new numerical functions

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[x] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[x] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[x] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

Because the function asin conflicts with the keyword as, I add keyword ASIN in ExpressionParser.scala.

Thanks for the PR @mtunique. I quickly looked through the changes, it looks very good. I will review it in the next days, I think we can include it in the 1.3 release.

Merging...


Network Trace - Highlighter image not showing in builder mode

When clicking a result the highlighter image does not show in the builder mode.

@MikeMillerGIS We will investigate and fix this in the next release

verified


Fix spelling and change case in comments and docs

ISSUE TYPE

Docs Pull Request

SUMMARY

Corrected spelling mistakes in documentation comments, changed cases for references to BotKube for consistency across docs, and added code markdown to kubectl reference for consistency

Hello @michizhou ,
Thanks again for the PR!
Thank you for contributing to BotKube. Could you please fill out this form, so we can send the well deserved awesome swags :slightly_smiling_face:
Team BotKube


Action Order Cop

Please excuse any obvious mistakes, this is my first cop.
Fix #540

Thanks for making the changes I requested. Looks good at this point, but still requires tests in order to be merged.

Thanks for all your help guys.
I implemented autocorrection, but I feel like I have to try it on our codebase before I feel I can trust it.

The only way  I can think of that would be unsafe is if someone had accidentally defined the same method twice in a controller, so that only the later one was in use. Then re-ordering might change the behaviour.

The only way I can think of that would be unsafe is if someone had accidentally defined the same method twice in a controller, so that only the later one was in use. Then re-ordering might change the behaviour.

Heh yeah, so it comes down to the significance of -A vs. -a I guess -a should never ever have any opportunity to go wrong, so we have to stick to -A because of this strange edgecase?

Heh yeah, so it comes down to the significance of -A vs. -a I guess -a should never ever have any opportunity to go wrong, so we have to stick to -A because of this strange edgecase?

One approach that could make it safe would be to have the cop fail if multiple identical action names are detected.

(normally Lint/DuplicateMethods would catch this, but that cop might be disabled).

Yeah. I could complicate things by trying to check for duplicates here, and disable auto correction in that case? Though it seems quite pedantic, and could lead to less clear code.

I'd suggest aiming for a first release without safe-correction, and then safe-correction can be addressed in a follow-up.

aiming for a first release without safe-correction, and then safe-correction can be addressed in a follow-up.

Thank you for considering the corner case. However, whether it is an unsafe auto-correction is not determined by progress of implementation. This is determined by cop design.
https://docs.rubocop.org/rubocop/1.21/usage/auto_correct.html#safe-auto-correct
I think this cop can be safely designed due to changes to layout. So, if auto-correction is implemented, safe auto-correction (-a) should be the cop's implemented. If method names with the same name exist, the order must be guaranteed. e.g.
Before auto-correction
def edit
end

def index # first
end

def show
end

def index # second
end

After auto-correction
def index # first
end

def index # second
end

def show
end

def edit
end

Both should be remain for duplicate defined methods. So, I think it can make a design that compatible behavior. Can you add the above test case and for the implementation?

Both should be remain for duplicate defined methods. So, I think it can make a design that compatible behavior. Can you add the above test case and for the implementation?

It's done! And thanks, we avoided an infinite loop by testing this corner case (> changed to >=).

@pirj I feel like this one is good to go now?

I'd love to see a spec that shows how it behaves:

when non-resourceful methods are present in the controller

Do you mean spec/rubocop/cop/rails/action_order_spec.rb:70

when private/protected methods are present

I'll look into it. There's the edgecase that a resourceful method is placed in private, I think I'll have to deal with that somehow.

I personally don't mind turning this cop on by default (set it to pending now, and we'll flip it to enabled on a major release) - that's the reason the pending status was introduced, see https://docs.rubocop.org/rubocop/1.21/versioning.html#pending-cops
However, if you'd like to do so - please run the cop against real-world-rails to find out if there are any false positives or errors.
It's a good practice anyway to run newly introduced cops on a number of projects. We do this in rubocop-rspec at least.

I'll look into it

we'll have to only run this cop on public methods

Makes sense.

no simple way of detecting if a method is public or not

There seems to be this and this, but frankly I never used any of them.
# 1.rb
class UserController < ApplicationController
  def commit; end
  def show; end
  private
  def index; end
end

# 2.rb
class UserController < ApplicationController
  def commit; end
  def show; end
  private def index; end
end

$ ruby-parse 1.rb
(class
  (const nil :UserController)
  (const nil :ApplicationController)
  (begin
    (def :commit
      (args) nil)
    (def :show
      (args) nil)
    (send nil :private)
    (def :index
      (args) nil)))
$ ruby-parse 2.rb
(class
  (const nil :UserController)
  (const nil :ApplicationController)
  (begin
    (def :commit
      (args) nil)
    (def :show
      (args) nil)
    (send nil :private
      (def :index
        (args) nil))))

For 2.rb it's possible to check if def isn't an argument to private, and for 1.rb skip everything below private (and protected). Hope those mixins would simplify the task.

when non-resourceful methods are present in the controller

Do you mean spec/rubocop/cop/rails/action_order_spec.rb:70

Please accept my apologies, missed that example completely 🙈
👍

This PR is ready AFAIK.

This looks good to me. Can you use the new changelog entry format instead of CHANGELOG.md and squash your commits into one?
JFYI, the next release is scheduled for bug fix version 2.12.3. This PR is a new feature and will take some time to merge. Please wait for a while.

@mollerhoj ping :-)

@mollerhoj ping

@koic @pirj thanks for the pings. This should be good now?

Thanks!


fix forecast M with predators

What issue(s) does this PR address? Describe and add issue numbers, if applicable.
Link issue(s) here:
fix to main to repair M in forecast when predators are used.  Note that a separate development branch changes the pred_M2 approach and is not affected by this problem
What tests have been done? Upload any model input files created for testing in a zip file, if possible.
detailed test using vendance
What tests/review still need to be done? Who can do it, and by when is it needed (ideally)?
none
Check which is true. This PR requires:

[ x] no further changes to r4ss
[ x] no further changes to the manual
[x ] no further changes to SSI (the SS3 GUI)
[ ] no further changes to the stock synthesis change log (new features, bug reports)

Describe any changes in r4ss/SS3 manual/SSI/change log that are needed (if not checked):
this must get noted in the change log
Additional information (optional):

The change will not be needed after we merge in #307, but a one line fix to the main branch while waiting for a hundreds of lines development branch seemed like a good idea.

I do not think we need to release this as a formal fix as it affects only the predation applications.  But it is good to have in case it is needed.


[python] Fix sample code template in README

@spacether
Fix sample code template in README.
I joined the hacktoberfest campaign,
I would appreciate it if you can label this PR with hacktoberfest-accepted.

PR checklist

[x] Read the contribution guidelines.
[x] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
[x] Run the following to build the project and update samples:./mvnw clean package
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh

Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/python*.
For Windows users, please run the script in Git BASH.

@EltonChou if you want other issues to work on I just added a number of them
Another good one is: https://github.com/OpenAPITools/openapi-json-schema-generator/issues/34

@EltonChou if you want other issues to work on I just added a number of them Another good one is: #34

Thanks, I will take a look.


Doc

@lroellin Just moved the install instructions to the top because I think most just want to install the damn thing ;)


Default query params that are used for most requests

Flexibility. Most of ApiStruct’s competitors work only with REST actions. ApiStruct is more flexible than that: it enables you not only to use RESTful actions but also to describe requests to any URL with any set of parameters and HTTP headers.

I was reading about ApiStruct here and came across this description of it. And I had a question.
I am working on building a gem for an API in which v3 of the API is RESTful (but not fully built out yet, and still in beta), but v2 of the API is not RESTful at all. For the time being we're going with v2 until v3 is complete, but v2 requires an API key to be passed as a query param for ~each~ most requests. Is there a way to setup default params in the config that get merged in, rather than having to specify it in each Client file?
Also, the action must be specified as a query param. How best would I defined that? (i.e. /admin/api.php?api_action=list_add&api_key=heres-my-key&other=query&params=go-here).
Thanks!

We don't provide settings for the case out of the box.
As a simple solution, you can put a bunch of get params to kind of value object:
class BaseParams
  def self.call
    '?api_action=list_add&api_key=heres-my-key&other=query&params=go-here'
  end
end

And merge it with ApiStruct::Client endpoint:
class Root < ApiStruct::Client
  admin_api('api.php' + BaseParams.call)
end


Also fix felt bits in starknet syscall wrappers

Related to https://github.com/lambdaclass/cairo_native/pull/844 but it missed some starknet syscalls
Refactored a bit the code to avoid some repetition.
This may fix some bugs we have, we need to test.

Codecov Report
Attention: Patch coverage is 0% with 40 lines in your changes missing coverage. Please review.

Project coverage is 82.68%. Comparing base (8175154) to head (65252f7).

Files with missing lines
Patch %
Lines

src/starknet.rs
0.00%
40 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #853      +/-   ##
==========================================
+ Coverage   82.43%   82.68%   +0.24%
==========================================
  Files         120      120
  Lines       34856    34752     -104
==========================================
  Hits        28733    28733
+ Misses       6123     6019     -104

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


parts of other PR for refactoring owning raw pointer

Since pull request https://github.com/lemire/simdjson/pull/417 had an unexpected performance regression I can not explain, the salvageable parts from that branch is put here instead.

fix warning in performance script
fix potentially non-compliant code in write_tape_s64
reduce output from cpuinfo in performance script

We merged https://github.com/lemire/simdjson/pull/417
I don't think that there was a performance regression, otherwise I would not have merged it. It is expected that code changes may lead the compiler to do different trade-offs... benefitting some use cases and harming others. We can't avoid that.
In some instances, we may even want to merge despite a small performance regression. What we don't want to do is proceed with a performance regression unknowingly.
Currently, our performance warnings are super sensitive. I am sorry if it scared or depressed you, that's not the intention!!!
I am going to close this without merging, if you think that there is something new that I am dropping by not merging, please speak up.


Geewhiz metrics

This is just for fluff but could possible be useful somehow.
Add an area similar to Part Categories ## and Stock Locations ## to give you total # of parts in inventory. Maybe add some other metrics in there like least/most expensive part, most used part, most purchased part, ect.
My primary interest was in total parts in inventory so I could say I stock ## parts.

Perfect. If I think of any additional metrics that could be useful I will let you know.


SMB Cruise Data transfers filling local OpenVDM server volume

Revelle and Ride reporting that the cruise data transfers are filling up the local storage volume on the OpenVDM VMs and subsequently compromising the VM.

complete


VTX-1160

Using fix from https://github.com/datafuselabs/databend/pull/11343/files

Only thought is that we may want a smaller limit or more graceful handling of exceeding that limit

I fixed the comment. It's 16MiB not 16GiB (!) but yeah we could potentially chunk record batches up more to stay within the default limit. Although I'm not sure that actually makes sense for our use case. The limit is a security mechanism to prevent malicious payloads from exhausting resources but in out case these are all internal services so I think that is less of a concern


Update manage-resource-accounts.md

@Tonysmit please review this PR and let me know if you think it's ready to merge.

@Jambirk - you are missing the step to assign the calling plan license in both changes. Otherwise, looks fine. Thanks!


RP2040 SPI RAM performance is very poor for most workloads

There are several reasons for this:

[ ] The page cache is 1-way and keeps no statistics. We could keep statistics about what pages get swapped in/out the most and use n-way caching that could make use of this.
[ ] The page cache size and mapping could be chosen in a much smarter way. Need to think about how region flushes etc. interacts with this.
[ ] We could transmit cached pages to RAM in the background using DMA. NOTE: It seems like the CSn behavior is pretty crappy with SPI and I haven't managed to get it to behave properly. Moving to QSPI PIO would allow solving this issue at the same time if we're careful to design it to be DMA-friendly.
[ ] We use SPI, not QSPI. This would require PIO, need to investigate available resources for this.
[ ] It is not entirely certain why but page rx doesn't work beyond 25MHz even though we use the supposedly 125MHz compatible command. Using a PCB might make this more bearable.
[ ] The page size is 1KiB. This reduces the amount of hard faults we encounter but it also means we transfer much more data than good caching would need. However reducing the transfer size causes issues (probably on page tx, as page rx seems fine). It's possible that raising CE soon enough would prevent this from happening. As it is not currently tied to SPI, it is possible that it is just raised too late.

Is there any chance that yocto-8 project author will create external library to handle spi flash but only in C instead of C++? It will be first open source library available for everyone. Could be very helpful to a lot of people and it can open a door to more advanced projects like using QSPI ram via PIO for LCD double buffering or to compress/decompress large amount of data using minilzo or unzipLIB. We can use it as RAM for ucLinux too.  I'm actually working on QSPI driver using 2 state machines but actually i get only dual spi and have some problems with that but i think i can make it work but it takes some time. Regards ;)

Is there any chance that yocto-8 project author will create external library to handle spi flash but only in C instead of C++? It will be first open source library available for everyone. Could be very helpful to a lot of people and it can open a door to more advanced projects like using QSPI ram via PIO for LCD double buffering or to compress/decompress large amount of data using minilzo or unzipLIB. We can use it as RAM for ucLinux too. I'm actually working on QSPI driver using 2 state machines but actually i get only dual spi and have some problems with that but i think i can make it work but it takes some time. Regards ;)

@aroesz98 :
The entire code for this lives at https://github.com/yocto-8/yocto-8/tree/main/src/arch/pico/extmem
Specifically, the code for the actual SPI RAM interfacing is in spiram.cpp/.hpp.
... But this SPI RAM driver is very primitive (you can get away with ~100 LoC), and that code is essentially useless if you wanted to implement QSPI RAM using PIO, other than to serve as a reference alongside the datasheet for these PSRAM chips.
I'm not even sure how good it is as a reference because I had unsolved corruption issues trying to drive the chip at a higher frequency FYI. I believe it was rather likely a hardware issue in my setup, though.
For now, I don't have much time or interest in implementing this unfortunately :(
With the license being MIT anyone can pull it out and port it to C if they'd like. If you only need the cursed RAM fault handling mechanism, you don't really even need to interface with this code at all. As long as it's compiled in your binary, it'll override the fault handler.

I also should have mentioned that I have a WIP "paging" implementation that abuses the MPU over at the mpu-abuse branch. For certain usecases, it has the potential of being significantly faster.
That, of course, is only relevant if what you want is transparently using external RAM as if it was regular memory: If you need to do predictable bulk copies, such as with your double buffering example, then doing the reads explicitly from code is going to be much faster and much less hacky.
Performance is still depressingly bad if you're doing anything remotely looking like random accesses :)

The landscape of things have changed since. If I do any more progress on y8 it probably won't be on the RP2040 but on the RP2350 which solves a number of issues, including the fact that it allows external native QSPI PSRAM with caching shared with the XIP flash.
Also, other people have attempted different PSRAM mapping approaches for the RP2040 but the perf characteristics, while better in some usecases, are likely still very questionable in the case of hosting a Lua heap.


Enable external/imported needs

As a user of this awesome plugin,
I want to benefit from the hovering mechanism for external/imported needs,
So that I can more easily link external requirements.
Currently only possible to configure a single needs.json.
Would it perhaps make sense to be also able to configure further needs.json to that end?

Yes, it totally makes sense.
Our use case is a little different, as we want to support multiple doc projects in one mono-repo.
So in the end we also need to register multiple needs.json files.
But getting a needs.json from external is also a great use case.
We are already starting to work on this, but as this feature needs a lot of architecture changes, it will take some time.

I know you are not necessarily working on that right now, but still one more thought:
It would make sense actually for external/imported needs just to pick up the json_path from needs_external_needs in the conf.py...

Thanks for the additional thoughts.
The multi-project support got already implemented, but it does not take external needs into account.
So this issue is still open.


Add more Elemwise / Blockwise operations

We have many simple operations like add, mul, assign, astype, filter, etc.. that were simple and easy to add.  This part of the codebase seems pretty stable right now.
There are probably many more operations like these we could bring over without much uncertainty.  I propose that we do this, but by having someone else do it, anyone who isn't @rjzamora and @mrocklin .  This would be a good first issue.
Some example operations:

[x]  round
[x] more operators
[x] to_timestamp
[x] map
[ ] ~applymap~
[x] rename
[x]  fillna
[x] dropna
[x] sample
[x] replace
[x] abs
[x] align
[x] clip
[x] between
[x] combine_first
[x] explode
[x] to_frame
[x] isin

Kudos to @phofl (and the others who helped) for getting through this so quickly. Nice work!


Implement Store for ConfigMap

Fixes #52
Related to #1

Coverage increased (+3.8%) to 61.492% when pulling 31c01d5500ef7ad39ab03dfd408aa9484a548362 on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.

Coverage increased (+3.8%) to 61.492% when pulling 289f6052a98c676839149e2a83cd498c266f1b17 on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.

Coverage increased (+5.2%) to 62.903% when pulling f174c6145a90e90526f38741b2169296a967ad1c on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.

Coverage increased (+3.9%) to 61.639% when pulling f174c6145a90e90526f38741b2169296a967ad1c on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.

Coverage increased (+3.9%) to 61.639% when pulling 5b84159e88821034ec14c269c0b07efdc6cd3d5d on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.

Coverage increased (+3.9%) to 61.639% when pulling 5b84159e88821034ec14c269c0b07efdc6cd3d5d on configmap-store into 3e2d06fdf87bfb972242a3ee09ed31b1f32d90f5 on master.


How do I use these snippets?

I tried [TAB] [Ctrl]-[Space]. They don't seem to work.

The snippets are functioning normally.
Start typing a snippet and press [Tab].
My Atom version: 1.2.1
I use the syntax plugin: https://atom.io/packages/atom-jade

I have the same packages and pushing TAB does not do anything. Weird.

I do not know what might be happening :[

After install, this module does not work, but after restart atom, it works.

You installed using command line?

No, thru atom menu.


feat: Upstream Spice AI changes to datafusion-federation

This PR contains all of the changes that the spiceai project made to datafusion-federation to fix bugs and add features to make federation work better for our use-cases.
The main two features that were added:

The name of the table registered in DataFusion doesn't need to match the name of the table in the remote database. This was an important requirement for our product, and we did a lot of work to get this working correctly.
The Arrow schema returned by the provider may not exactly match what DataFusion expects it to be, so we add a schema casting layer to make sure. Where possible this leverages the native Arrow cast kernels, but there are a few special cases that are handled.

The rewriting does seem like good generic functionality so I'm fine to accept it in.


Electron 15: TypeError: performance.getEntriesByType is not a function or its return value is not iterable

Steps to Reproduce:

git co electron-16.x.y
yarn && yarn watch
scripts/code.sh

[main 2021-11-17T12:35:07.230Z] TypeError: performance.getEntriesByType is not a function or its return value is not iterable
    at getMarks (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/base/common/performance.js:65:39)
    at WindowsMainService.openInBrowserWindow (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/windows/electron-main/windowsMainService.js:956:55)
    at WindowsMainService.doOpenFolderOrWorkspace (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/windows/electron-main/windowsMainService.js:424:25)
    at /Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/windows/electron-main/windowsMainService.js:349:40
    at Array.forEach (<anonymous>)
    at WindowsMainService.doOpen (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/windows/electron-main/windowsMainService.js:342:34)
    at WindowsMainService.open (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/windows/electron-main/windowsMainService.js:152:72)
    at CodeApplication.openFirstWindow (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/code/electron-main/app.js:588:39)
    at /Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/code/electron-main/app.js:256:85
    at InstantiationService.invokeFunction (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/platform/instantiation/common/instantiationService.js:44:24)
    at CodeApplication.startup (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/code/electron-main/app.js:256:53)
    at async CodeMain.startup (/Users/bpasero/Development/Microsoft/vscode-electron-15.x/out/vs/code/electron-main/main.js:43:17)

The underlying issue seems to be that starting with node.js 16 there is a global performance defined and our checks in performance.js confuse that with the DOM performance type.
//cc @deepak1556

Deepak suggested to maybe probe on performance.nodeTiming to detect node.js

Fix pushed in the above branch https://github.com/microsoft/vscode/pull/137241/commits/34520c0920489650a7ba0d306b5cd55fad4bdf87

So bizare... With electron fiddle this seems OK

@jrieken the error is thrown from the main process where only the node performance object is present.

ah, I see. Thanks for clarifying

@deepak1556 I have cherry-picked your commit onto main. Thanks!


Odd ghosting in coreg, dark sdc images, bad roi & carpet plots

What happened?
Our lab is running our multiband, multiecho fmri data through the fmriprep pipeline and we're running into some bizarre errors in the output. The errors look similar between participants, but don't seem to have an obvious cause. Furthermore, they appear to affect only some subjects but not others, and only some runs within the same scan session for that subject, even if the exact same MRI paradigm was run elsewhere in the session.
What command did you use?
/opt/conda/bin/fmriprep /fs/ess/PCON0381/MNA/data/Nifti /fs/ess/PCON0381/MNA/data/Preprocessed participant --participant_label sub-3030 --ignore slicetiming sbref --fs-license-file /fs/ess/PCON0381/Scripts/license.txt

What version of fMRIPrep are you running?
21.0.2
How are you running fMRIPrep?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
No response
Additional information / screenshots

21.0.2 is no longer supported. Does this occur in 23.0.1?

The differences between corrected and distorted in the reports are most likely a result of #3056. Do you see issues in the resulting files?
Apologies for the delay.

Please retry with the 23.2.0a1 pre-release and reopen if this is still an issue.


Can lapce be installed in a customised directory?

It currently cannot be installed in custom path, use portable release to put it where you want.


Unable to comment using ctrl+/ shotcut for vscode version 1.0.0

Hi, I unable to use the ctrl+/ shortcut command my FORTRAN (.f90) codes. it return error and as below
Unexpected exception while executing command.
Im currently using vscode version 1.0.0, Red Hat Enterprise Linux Workstation release 7.2 (Maipo). Can you reproduce the error at your side? thanks you.
Amirul

It says in the read me that .f90 files are interpreted as MATLAB which they are not so I am not sure if maybe that is causing the plugin to not work

Any alternative of suggestion?.. it works before though in the old version.. Anyway beside this issue everything works perfectly..

Hi,
I'm sorry but what is the CTRL+/ shortcut supposed to do? I've tried on my machine with a f90 code open and it doesn't crash when I press CTRL+/, but it doesn't do anything either.
This extension doesn't bring any shortcut in VS Code, it only adds the syntaxe for code colorisation and a few snippets.
@mpiannucci thanks for the heads up, the readme was wrong. I wrote the Matlab extension for VS Code too and I had copy-pasted the readme from it and forgot to change this phrase. It's fixed now, but it definitely doesn't have anything to do with the error @mpiannucci sees.

Oh, interesting, I've searched further, and I see that it's linked to the comment/uncomment action. It seems to be the uncomment that triggers the exception. I'm going to check where it's coming from, but it might be a VS Code bug.
I'm checking that and getting back asap.

Finally found what the issue was, it was a mistake in the way I was declaring the single line comment in the configuration. I've published a new version of the extension and it should be working now.
Have fun :)

Nice.. Thanks @Gimly ..


What is the correct way to counting edge label

hi, I want to check the total edge count for different kinds of relations.
I used the example https://github.com/opencypher/morpheus/blob/master/morpheus-examples/src/main/scala/org/opencypher/morpheus/examples/DataFrameInputExample.scala with a little modification.
The example indicates that there are two 'KNOWS' relations. But I found I have to set the edge direction in cypher query to get the correct result. See the following example. My question is why the "MATCH ()-[e]-() RETURN type(e) AS label, count(e) as count" cannot give the correct result?
// 5) Execute Cypher query and print results
  val result = graph.cypher("MATCH ()-[e]-() RETURN type(e) AS label, count(e) as count")
  result.records.show

It gives a wrong result: 4
But if I changed to
// 5) Execute Cypher query and print results
  val result = graph.cypher("MATCH ()-[e]->() RETURN type(e) AS label, count(e) as count")
  result.records.show

It gives the correct result: 2

From my understanding, even if using "MATCH ()-[e]-()", the result should also be 2 considering the relation definition ("source" -> "target") has already specified the direction.
After some investigation, I found the "direction“ handling is in https://github.com/opencypher/morpheus/blob/master/okapi-relational/src/main/scala/org/opencypher/okapi/relational/impl/planning/RelationalPlanner.scala#L145.
For undirected edge, the following both outgoing and incoming get the same result since the source and the target are the same node table.
          case Undirected =>
            val tempOutgoing = first.join(second, Seq(source -> startNode), InnerJoin)
            val outgoing = tempOutgoing.join(third, Seq(endNode -> target), InnerJoin)

            val filterExpression = Not(Equals(startNode, endNode))
            val relsWithoutLoops = second.filter(filterExpression)

            val tempIncoming = first.join(relsWithoutLoops, Seq(source -> endNode), InnerJoin)
            val incoming = tempIncoming.join(third, Seq(startNode -> target), InnerJoin)

            relational.TabularUnionAll(outgoing, incoming)

4 is the correct result. See for example this part from the Neo4j Cypher Manual for details on Cypher's MATCH clause.
An undirected pattern will match the same relationship in both directions, if the endpoint node predicates fit. In these examples, there are no endpoint node predicates, so every relationship fits both ways. In these cases, the undirected count will be twice the directed count.
If you change your query to the following you will get a different result:
val result = graph.cypher("MATCH (s)-[e]-(t) RETURN s, t, count(e) as count")
result.records.show

Here, I've made the tuple of source and target nodes the grouping key, count each of these tuples. In the DataFrameInputExample there are relationships between nodes 0 and 1 as well as between 1 and 2. So we will match all these patterns:
0,1
1,0
1,2
2,1

I hope this helps your understanding of how Cypher's (un)directed MATCH patterns work.

As an additional resource, I can recommend studying the openCypher TCK. This scenario can be interesting for undirected matches: https://github.com/opencypher/openCypher/blob/593b9d41c534efeb187a976f4e2895afded3b42f/tck/features/clauses/match/Match3.feature#L65-L80

No I believe your first intuition to be correct. Source does indicate the source, the origin, the starting node for the relationship. Target indicates the target, destination, ending node for the relationship. Using a directed MATCH you should not be able to get node 2 as a source node, for example.
The graph defined in the example is indeed a directed graph. The undirectedness is purely a semantics of the Cypher MATCH pattern. The arrow head symbol (> or <) in the pattern ascii art is a predicate on the endpoint nodes that must be respected. Omitting this predicate makes the query less restrictive, meaning that you can "flip" the relationship and it will constitute another match. It does not reflect anything on the underlying data graph, in which all relationships always have a defined source and target node.

Ok. I have run "MATCH (s)-[e]-(t) RETURN s, t, count(e) as count", the result is as following:
╔══════════════════════════════════════════╤══════════════════════════════════════════╤═══════╗
║ s                                        │ t                                        │ count ║
╠══════════════════════════════════════════╪══════════════════════════════════════════╪═══════╣
║ (:`Person` {`age`: 84, `name`: 'Eve'})   │ (:`Person` {`age`: 23, `name`: 'Bob'})   │ 1     ║
║ (:`Person` {`age`: 42, `name`: 'Alice'}) │ (:`Person` {`age`: 23, `name`: 'Bob'})   │ 1     ║
║ (:`Person` {`age`: 23, `name`: 'Bob'})   │ (:`Person` {`age`: 42, `name`: 'Alice'}) │ 1     ║
║ (:`Person` {`age`: 23, `name`: 'Bob'})   │ (:`Person` {`age`: 84, `name`: 'Eve'})   │ 1     ║
╚══════════════════════════════════════════╧══════════════════════════════════════════╧═══════╝
(4 rows)

If I add the direction: "MATCH (s)-[e]->(t) RETURN s, t, count(e) as count", the result is:

Looks entirely correct!


Add top level lazy load on LanguageGeneratorManager

Fixes #6116
Description
Make  LanguageGenerators Lazy in LanguageGeneratorManager to reduce the cost of loading.

Another suggestion is that if we use the top level lazy, the "loadOnConstruction" parameter in "TemplateEngineLanguageGenerator.cs" could be dropped.

//TODO: We should add converter for type "MultiLanguageGenerator"

Hello, thanks for working on this.
Question about the approach: We know that LG loading takes a long time, which happens on the first request. The proposal here seems to be to load the LG resources in a lazy fashion. If that is the case, let's assume that we have a bot with highly connected assets. In that scenario, would loading take the same amount of time after this change?
And in a more general sense, do you have performance benchmarks for before / after this change?

See the new pr: https://github.com/microsoft/botbuilder-dotnet/pull/6123


[#143] images and text cell

Solving https://github.com/eBay/NMessenger/issues/143

A better implementation to avoid ugly inheritance
class VHMessageContentNode: ContentNode {

    public var textNode: ASTextNode?
    public var timestampNode: ASTextNode?
    public var attachmentsNode: CollectionViewContentNode?

    override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec {

        let children: [ASLayoutElement?] = [self.timestampNode,
                                            self.textNode,
                                            self.attachmentsNode]

        let stackSpec = ASStackLayoutSpec(direction: .vertical,
                                          spacing: 5,
                                          justifyContent: .start,
                                          alignItems: .start,
                                          children: children.flatMap { $0 })

        let insets = UIEdgeInsets(top: 10, left: 15, bottom: 10, right: 15)

        let insetSpec = ASInsetLayoutSpec(insets: insets,
                                          child: stackSpec)
        return insetSpec
    }
}


Add margin to modals

There is no margin now for modals and it looks not perfect on mobile devices.
We need to add a small margin and keep modal centered vertically and horizontally.

I opened this pull request: https://github.com/vault-developer/event-loop-explorer/pull/21


Unable to log in using local dev

Ruben can you confirm that logging in locally is working for you when also proxying to the staging database?
Here's what's happening for me:

I confirmed I am running the proxy:

Rails server is running in web docker image:

localhost resolves to OHM website and works normally:

unless I try to log in, in which case I get:

The app fails until I reboot the Rails webserver by doing ctrl-C and bundle exec rails server -p 80 inside the container
I went through the steps at https://github.com/OpenHistoricalMap/ohm-deploy/blob/staging/images/DEVELOPMENT.md twice to be sure I wasn't missing anything, but still not working.
This is making it hard to test #395 inside OHM Rails app locally

@danrademacher I can not login as well, some weird error  about Can't verify CSRF token authenticity., we need to check a bit more.
Warning! ActionDispatch::Session::MemCacheStore failed to save session. Content dropped.
I, [2022-10-18T19:05:27.704962 #487]  INFO -- : [e61ad535-bf28-424f-abd9-c36a42e57838] Started POST "/login" for <IP_ADDRESS> at 2022-10-18 19:05:27 +0000
I, [2022-10-18T19:05:27.712393 #487]  INFO -- : [e61ad535-bf28-424f-abd9-c36a42e57838] Processing by SessionsController#create as HTML
I, [2022-10-18T19:05:27.719100 #487]  INFO -- : [e61ad535-bf28-424f-abd9-c36a42e57838]   Parameters: {"utf8"=>"✓", "authenticity_token"=>"SlR7RcQYQAQUGQnOA75TLl--9dHLNbUZyIKK9JwyAVyCGUx1VJmhBZ7LYrcQ9WOsauSMdvjVSD6iJ9I6xfODhQ", "referer"=>"/#map=5/51.468/-0.110&layers=O", "username"=>"Rub21", "password"=>"[FILTERED]", "remember_me"=>"0", "commit"=>"Login"}
W, [2022-10-18T19:05:27.732533 #487]  WARN -- : [e61ad535-bf28-424f-abd9-c36a42e57838] Can't verify CSRF token authenticity.
I, [2022-10-18T19:05:31.383859 #487]  INFO -- : [e61ad535-bf28-424f-abd9-c36a42e57838] Redirected to http://<IP_ADDRESS>/#map=5/51.468/-0.110&layers=O
I, [2022-10-18T19:05:31.391012 #487]  INFO -- : [e61ad535-bf28-424f-abd9-c36a42e57838] Completed 302 Found in 3660ms (ActiveRecord: 2266.1ms | Allocations: 20292)

cc. @batpad

@danrademacher we did spend some time looking, unfortunately no cheese :(
Do we know if this ever worked? Afaik, when we were testing login issues locally previously, it was with a local database. As I understand, this continues to work - the login only fails when attempting to use the staging database via port forwarding. Would just be useful if we had an idea if this is a recent regression / ever worked, etc.
We did see some errors to do with memcache in the logs, and so spent some time trying to mess with the memcache settings, including trying to forward the staging memcached locally and use that.
Since it works with a local database, this is definitely something to do with using the staging database, and that causing something to fail the verification of the CSRF / authenticity token sent with form submissions. We had a strong hunch that also using the staging memcache would fix this, but unfortunately the same error seems to persist.
Am a bit unsure what to try next - might need to do some reading on Rails and how it signs and verified CSRF tokens.
cc @Rub21

Yes, this did work in the past — I’m not sure when it stopped, but certainly it worked when we were modifying iD in the past for date filters. I logged in with local testing to staging many times for that — I’ve never set up a local database at all

I see. So this probably stopped working in the summer when we updated OSM upstream, when OAUTH2 came online for us, right?
If so, then this wouldn't be unique to us. I wonder if folks in OSM dev community have methods for dealing with this.

I’ve never gotten OAuth to work in JOSM either for the OHM server. 🤔

Here the PR that contains the documentation to setup a Dev environment: https://github.com/OpenHistoricalMap/ohm-deploy/pull/189, Confirmed by  @danrademacher

Resolved with new localdev using only ohm-website


cirq.decompose_once fails when called on cirq.CZ

Calling cirq.decomponse_once on cirq.CZ raises an error:
In [4]: cirq.decompose(cirq.CZ(cirq.q(0), cirq.q(1)))
Out[4]: [cirq.CZ(cirq.LineQubit(0), cirq.LineQubit(1))]

In [5]: cirq.decompose_once(cirq.CZ(cirq.q(0), cirq.q(1)))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[5], line 1
----> 1 cirq.decompose_once(cirq.CZ(cirq.q(0), cirq.q(1)))

File ~/.virtualenvs/pyle/lib/python3.11/site-packages/cirq/protocols/decompose_protocol.py:388, in decompose_once(val, default, flatten, context, *args, **kwargs)
    383 if method is None:
    384     raise TypeError(
    385         f"object of type '{type(val)}' has no _decompose_with_context_ or "
    386         f"_decompose_ method."
    387     )
--> 388 raise TypeError(
    389     f"object of type {type(val)} does have a _decompose_ method, "
    390     "but it returned NotImplemented or None."
    391 )

TypeError: object of type <class 'cirq.ops.gate_operation.GateOperation'> does have a _decompose_ method, but it returned NotImplemented or None.

what is the intended behaviour here? I think cirq.CZ is treated as a native gate so operations decompose into it but it doesn't have its own decomposition

I don't know what the expected behavior is; I guess maybe the idea here is that if an op can't be decomposed this is supposed to raise? The docs for decompose_once are not very clear on this, and obviously the behavior of decompose is different. Maybe decompose_once is intended to be something like "decompose exactly once" versus "decompose at most once".

cirq cync:  The root cause which spawned this issue could be a problem with multiprocessing, since there is global state keeping track of this table.
Conclusion is that this is intended behavior, since decompose_once should return exception denoting that you are at the base case.
At the very least, we should document the behavior of decompose_once when you specify a "base gate".
Also, if we could improve decompose functionality for the multiprocessing would be a nice-to-have.

TODO @pavoljuhas - verify if this still happens after #6674.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1630 ms

Resolved: Bofrost.at performance has improved in 86df146.


Generate agile interfaces/classes as Sendable

See https://learn.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/agile-objects

In the vast majority of cases, an instance of a Windows Runtime class can be accessed from any thread (just like most standard C++ objects can). Such a Windows Runtime class is agile. Only a small number of Windows Runtime classes that ship with Windows are non-agile, but when you consume them you need to take into consideration their threading model and marshaling behavior (marshaling is passing data across an apartment boundary).

WinRT annotates agility is per class, not per interface (an agile class means that all implemented interfaces are Sendable).

Delegates are normally agile, but annotating them with @Sendable makes Swift assume that they could be called on an arbitrary thread and require concurrency-safe, which is a big burden for the typical case.


Unexpected input dimension when encoding new data frame

Expected Behavior
Expecting only transformed columns.
My data frame had 380 cols, with ONLY 3 categorical to encode.
When I wanted to encode this 3 cols in another data frame I got  this error :
ValueError: Unexpected input dimension 300, expected 380
The question is why ?
Actual Behavior
Expecting all columns that were in the original data frame .
ValueError: Unexpected input dimension 300, expected 380
Steps to Reproduce the Problem
final_df_cat_encoder.transform(final_df )
Specifications

Version: category_encoders.version -> 2.4.0

Hi @borisRa
please check the discussion in #355 which is basically the same issue.


Attachment path incorrect

Not sure if this is an issue or just an error on my behalf but hoping for some assistance either way.
Am trying to add an attachment to an email but the action seems to be unable to parse the path correctly.
File is stored in project root, which will therefore be located on the default action worker location at /home/work/test-project/build.exe
Have tried the following values but all seem to error:

attachment: build.exe or attachment: ./build.exe - Results in action looking for attachment in /home/runner/work/_actions/maful/github-actions-mailgun/v1.0.1/build.exe
attachment: /home/work/test-project/build.exe - Results in action looking for attachment in /home/runner/work/_actions/maful/github-actions-mailgun/v1.0.1/home/work/test-project/build.exe

Are you able to provide any guidance as to what the correct path should be?

Thanks for your report @btaskew
I have been releasing a new version of this action and it contains fixing a bug for the attachment path and completing the documentation. Feel free to use the latest version.
You can check the example here https://github.com/maful/testing-mailgun


Remove version: Google.Chrome.Canary version 133.0.6848.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://dl.google.com/release2/chrome/acin7wpqzgt2jhyrgmmqin3wzkda_133.0.6848.0/133.0.6848.0_chrome_installer.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 923)


Introduce husky and lint-staged

This pull request introduces husky and lint-staged for automatic minimum quality checks and automatic code fixes on commit.

That's too much for me, the commits are already checked on GitHub.

My repository has Husky, but this plugin does not support it after the recent update. Previously, it was working fine, but now I must use Git or iTerm to push changes.
That's terrible!

@lotusk08 This PR has nothing to do with supporting husky for the user side. Please create a new issue with more detailed information about your problem. Nothing should have changed in a recent update to not support husky.


chore: uncomment routes in moderation.vue

🔧 What changed
This change will uncomment the routes that were unintentionally commented out in #506.

Looks good. Does exactly as described


unable to set which database use as default database name is appended automaticaly,

Hello,
I've got one mysql user that can access various databases on the same server
I'm trying toe generate model but it. doesn't works. because your script append the default database name.
php artisan generate:modelfromtable --table=dbx.users--folder=app\Models

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'websockets.dbx.users' doesn't exist

¿Can you fix it ?
Regards

Have you tried the connection option?

thank you to reply.  I've got only one connection
I've same user  but different schema (database) on the same server :  db1.table,  db2.table, dbx.table...

I believe that I found the problem.
In your code you do  DB::raw("describe ``{$tableName}``")
The problem is in  quotes chars around table name. Quick fix is removed them  but  good fix, will be parse table name and add quotes. For example  instead of   crm.contacts   it should be  crm .contacts
Moreover  Schema::getColumnListing neither works  that is much more  problematic...

Here a quick  and  dirty fix but as "describe" , it will works only with MySQL
public function getSchema($tableName)
{
    $this->doComment('Retrieving table definition for: '.$tableName);

     if (strpos($tableName,'.')>1) {
        list($schema, $tableName) = explode('.',$tableName);
     } else {
        $schema = DB::connection()->getDatabaseName();
     }

     $raw = DB::raw("select column_name as `column_name` from information_schema.columns where table_schema = '{$schema}' and table_name = '{$tableName}'");

    if (strlen($this->options['connection']) <= 0) {
        $result = DB::select($raw);
    } else {
        return DB::connection($this->options['connection'])->select($raw);
    }
    return collect($result)->pluck('column_name');
}


Create workspace file from the terminal/command line.

Note: I'll just create an alias function or something to do this myself but, thought I'd share the idea as a feature request, just in case others thought it useful too.
Context: I normally run the code . command in a directory, then I go File > Save Workspace As > name and save the workspace. I do this for every new project. It's faster than opening up VS Code and traversing menu and searching for the project directory using the file manager etc.
That's fine but, since I'm already in the terminal, I'd like to be able to create a workspace in the current directory and have it automatically open the workspace after the command has finished, something like:
code workspace someName
Which will then create someName.code-workspace in the current directory and it will then open said workspace in VS Code. Like usual, someName.code-workspace will contain the following:
{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {}
}

Perhaps one could set the path like so:
code workspace /home/username/MyProject/someName
Which would then create the workspace file in the MyProject directory, of course. This for cases where you're not actually in the project directory when running the command.
Other ideas and possible formats:
code create workspace someName (a bit more verbose, versus code workspace someName)
or
code create workspace, (no file name) the user is then prompted to give the code-workspace a file name.
Like I said, it's just an idea to address a very minor inconvenience, admittedly and one that I'll most likely implement myself, using another means but, thought I'd share, just the same.

Here's the basic alias function I ended up:
function workspace () {
  dir=${PWD##*/}

cat >> $dir.code-workspace << EOF
  {
    "folders": [
      {
      "path": "."
      }
    ],
    "settings": {}
  }
EOF

  code $dir.code-workspace

}

I just added it to my .zshrc (.profile, bash_profile etc.) and run workspace from the project directory and this creates the workspace file based on the directory name I'm currently in.


[SPARK-17338][SQL][follow-up] add global temp view

What changes were proposed in this pull request?
address post hoc review comments for https://github.com/apache/spark/pull/14897
How was this patch tested?
N/A

cc @rxin @yhuai

Test build #66701 has started for PR 15424 at commit b93841b.

Test build #66701 has finished for PR 15424 at commit b93841b.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66701/
Test FAILed.

Test build #66704 has started for PR 15424 at commit 9928616.

Test build #66704 has finished for PR 15424 at commit 9928616.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66704/
Test FAILed.

Test build #66707 has started for PR 15424 at commit 15efca6.

LGTM other than the two minor comments.
We also need a Python API for this, don't we?

Test build #66720 has started for PR 15424 at commit 0ff26d0.

LGTM pending Jenkins.

Test build #66707 has finished for PR 15424 at commit 15efca6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66707/
Test PASSed.

Test build #66720 has finished for PR 15424 at commit 0ff26d0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66720/
Test PASSed.

Merged build finished. Test PASSed.

merging to master!


Update index.md

Thank you for contributing! Please confirm this pull request meets the following requirements:

[ ] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

I have no idea what's going on here, but I think it's stealing my photography files. I want to opt out
Get Outlook for Androidhttps://aka.ms/ghei36

From: keldog187<EMAIL_ADDRESS>Sent: Monday, February 25, 2019 11:05:57 PM
To: github/explore
Cc: Subscribed
Subject: [github/explore] Update index.md (#597)
Thank you for contributing! Please confirm this pull request meets the following requirements:

I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.mdhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fblob%2Fmaster%2FCONTRIBUTING.md&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591882812&sdata=8oyVxV3cv6z9zTZ80DexkjNUM51eEFRB4y88Wfp2ndw%3D&reserved=0
I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

Suggesting edits to an existing topic or collection
Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

Image (and my file is *.png, square, dimensions 288x288)
Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.
Curating a new topic or collection

I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
My folder contains a *.png image (if applicable) and index.md
All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docshttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Ftree%2Fmaster%2Fdocs&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591892829&sdata=3%2BvBlMcPUjAW%2FsUSDQWxfBYeITQHRb0V9ekcJ6geOEY%3D&reserved=0

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

You can view, comment on, or merge this pull request online at:
https://github.com/github/explore/pull/597https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fpull%2F597&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591902828&sdata=Phww9LOVlTE%2BykHZwd5iKaWSL6o33Fwytn6j8DfaC50%3D&reserved=0
Commit Summary

Update index.md

File Changes

M topics/python/index.mdhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fpull%2F597%2Ffiles%23diff-0&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591912840&sdata=Zs3Rtpg8eIkUz3%2BJnp8XltW3sDeSpiEunhpVqbfVt9M%3D&reserved=0 (2)

Patch Links:

https://github.com/github/explore/pull/597.patchhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fpull%2F597.patch&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591922845&sdata=6hhE%2FfekoLkm7ceptaMU4sMjN4BEv40cS3lA1ldoZO4%3D&reserved=0
https://github.com/github/explore/pull/597.diffhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fpull%2F597.diff&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591932857&sdata=GYbeS3Xe3IaEi2P7iiYAx2BagVc4lrNtrqMhtEmHrCQ%3D&reserved=0

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fexplore%2Fpull%2F597&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591942868&sdata=CHx3ZlbaQ7ggLL%2FfCSfUXrijR0d6oSmK3aClEVIPCnA%3D&reserved=0, or mute the threadhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAiJ7hPPD8CehxQ9JCYoKaWxzW26Q17vMks5vRM7FgaJpZM4bRbQ0&data=02|01||851589d129824a8be35108d69bb07a2a|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636867579591942868&sdata=qY4cV9C%2FpSvDFqaifXJIfBPlZJ8VH2dvOsWx%2FHRUoe8%3D&reserved=0.


Preview of scanned image

Added preview of scanned image, also modified example with custom activity to see it

Thanks, looks good. Will have a detailed look when I have a chance (in
about 2 weeks).
On 15 Apr 2015 4:56 PM, "BugMaker"<EMAIL_ADDRESS>wrote:

Added preview of scanned image, also modified example with custom activity
to see it
You can view, comment on, or merge this pull request online at:
https://github.com/journeyapps/zxing-android-embedded/pull/37
Commit Summary

Added preview of scanned image

File Changes

M sample/src/main/java/example/zxing/CustomCaptureActivity.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-0
(9)
M sample/src/main/res/layout/new_custom_layout.xml
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-1
(71)
M
zxing-android-embedded/src/com/journeyapps/barcodescanner/BarcodeCallback.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-2
(5)
A
zxing-android-embedded/src/com/journeyapps/barcodescanner/BarcodeResult.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-3
(149)
M
zxing-android-embedded/src/com/journeyapps/barcodescanner/BarcodeView.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-4
(4)
M
zxing-android-embedded/src/com/journeyapps/barcodescanner/CaptureActivity.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-5
(8)
M
zxing-android-embedded/src/com/journeyapps/barcodescanner/DecoderThread.java
https://github.com/journeyapps/zxing-android-embedded/pull/37/files#diff-6
(10)

Patch Links:

https://github.com/journeyapps/zxing-android-embedded/pull/37.patch
https://github.com/journeyapps/zxing-android-embedded/pull/37.diff

—
Reply to this email directly or view it on GitHub
https://github.com/journeyapps/zxing-android-embedded/pull/37.

Any ideas how to get rgb bitmap instead of grayscale?
Following code isn't working for me:
YuvImage yuvI = new YuvImage(yuvData, ImageFormat.NV21, width, height, null);
	    ByteArrayOutputStream out = new ByteArrayOutputStream();
	    yuvI.compressToJpeg(new Rect(0, 0, width, height), 50, out);
	    byte[] bytes = out.toByteArray();

To do that the source YUV data (byte array) will have to be used, since the
LuminanceSource only contains the greyscale data. The rotation will have to
be performed separately on that, but that should be easy with a Bitmap.
On 16 Apr 2015 8:40 PM, "Chesteer89"<EMAIL_ADDRESS>wrote:

Any ideas how to get rgb bitmap instead of grayscale?
Following code isn't working for me:
YuvImage yuvI = new YuvImage(yuvData, ImageFormat.NV21, width, height, null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
yuvI.compressToJpeg(new Rect(0, 0, width, height), 50, out);
byte[] bytes = out.toByteArray();
—
Reply to this email directly or view it on GitHub
https://github.com/journeyapps/zxing-android-embedded/pull/37#issuecomment-93714306
.

Oh, right. Done, thanks once again.

I've adapted the code a little to create a colour Bitmap from the source byte array (instead of the PlanarYUVLuminanceSource). The Bitmap is now also created on demand, so there should be no (or little) overhead if it's not used.
Thanks for the work!


Reboot if WiFi was run before

I was thinking something like this, but it turns out there's a bigger problem, and reboots into WiFi mode aren't working on PicoW at all (including the usual case of switching from other modes).
Traceback (most recent call last):
  File "code.py", line 371, in <module>
  File "code.py", line 189, in run_wifi
  File "/lib/wificom/wifi_picow.py", line 35, in connect
ConnectionError: Unknown failure 205

Worked for @mechawrench , and working for me now. Intermittent fault? But this is still an improvement so we decided to merge it.


Harden RSA public key unpacking

RFC 2537 (RSA/MD5) and RFC 3110 (RSA/SHA1) disallow leading zero octets.
RFC 5702 (RSA/SHA256 and RSA/SHA512) isn't specific but defers to these
earlier RFCs in other places.
There is an upper limit of 4096 bits for both the modulus and exponent.
The modulus must be at least 512 bits. No minimum is specified for the
exponent but a quick search suggests single byte exponents are viable.
Exponents larger than 32 bits are already disallowed. This commit adds
checks for the other requirements, general bounds checks, and defers
initialisation of the big num till the other checks have passed.

Codecov Report

Merging #693 into master will decrease coverage by 0.01%.
The diff coverage is 44.44%.

@@            Coverage Diff            @@
##           master    #693      +/-   ##
=========================================
- Coverage   58.22%   58.2%   -0.02%
=========================================
  Files          37      37
  Lines       10115   10121       +6
=========================================
+ Hits         5889    5891       +2
- Misses       3167    3169       +2
- Partials     1059    1061       +2

Impacted Files
Coverage Δ

dnssec.go
58.27% <44.44%> (-0.36%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5a2b9fa...3c5959c. Read the comment docs.


Let's get rid of lon/lat pairing

As discussed here, let's get rid of  lon,lat pairing -- the practice of stuffing both lon,lat into a single variable.    There doesn't seem to be any advantage to doing this, and it always worries me having to know the order.  Is it (lon,lat), or (lat,lon)?  The implicit order of lon,lat in bounding box requests has caused endless headaches for OGC.   Let's avoid that here.

@ayan-usgs is OK with that in pysgrid.
@ChrisBarker-NOAA what do you have to say about pyugrid?
@kwilcox how much code would that change break in your life today?

ouch!
Maybe it's just my personal taste, but I really think they belong together -- there is a performance advantage -- you almost always need the two together, and this keeps them close to each-other in memory. It's often also helpful for computing transformations, etc. Someone posted the example:

lon_data = grid_cell_centers[..., 0][sg_lon.center_slicing]
lat_data = grid_cell_centers[..., 1][sg_lat.center_slicing]

which does kind of suck -- though I think it's the plotting API that's broken here :-)
But the reality is that that's how the common plotting APIs do it, and CF breaks them apart as well, so for consistency's sake, it may make sense to do it here as well.
I'll take a look at the code and see how much of a pain it would be to re-factor that, though I can say I do like that the nodes, are, well, u_grid.nodes, rather than, what?
u_grid.nodes_lon
u_grid.nodes_lat

??
Given that numpy slices are references, I suppose we could have both :-)

Thinking a bit more, maybe we can have both nice names access and a tight, single array. I thought about structured dtypes and.or recarrays, but then you get thed named attributes:
nodes.lat
nodes.lon

But then when you ask for one: nodes[n] you get a tuple, not a proper array, and you can't really do the full array-broadcasting math on it. so another option is a little ndarray subclass that adds attributes. then you can have plain old: nodes as a Nx2 array, and also get node.lat and nodes.lon.
I whipped up a little test of this here:
https://github.com/pyugrid/pyugrid/blob/master/test_bed/lat_lon_class.py
This is probably too much magic, and too non-standard, but I kind of like it :-)
-CHB

Another nail in the coffin:
https://github.com/sgrid/pysgrid/issues/69#issuecomment-152496050

I don't think this is too much magic -- in fact I think this is the way
python is supposed to work. @property decorators are kind of great.
The main issue, that we have not yet resolved I think, is whether we are
thinking about the grid belonging to a variable (e.g., salt.lat) or
existing independently. I often like to work with a grid independent of
variables, and I think it is sort of silly to load in a variable just to
get at the grid. That said, having the grid attached to a variable makes a
ton of sense when working with those variables.
I would vote to have cake AND eat cake. That we should be able to get at
grids both ways.. Chris' fancy fix is perfect for independent grids, and I
like the interface. Also, in general we don't want to deal with stuff like
salt.nodes[:, 1], so that sort of logic should carry over to the variables.
On Fri, Oct 30, 2015 at 6:11 AM, Rich Signell<EMAIL_ADDRESS>wrote:

Another nail in the coffin:
sgrid/pysgrid#69 (comment)
https://github.com/sgrid/pysgrid/issues/69#issuecomment-152496050
—
Reply to this email directly or view it on GitHub
https://github.com/ioos/APIRUS/issues/16#issuecomment-152497867.

--
Prof. Rob Hetland
Texas A&M Univ.  –  Dept. of Oceanography
http://pong.tamu.edu/~rob

@hetland: the trick is that if we want to be able to work with both lat-lon pairs as a single object AND as separate arrays, we can only do that one-way:
My test used a Nx2 array to store the lon-lat pairs, and then gave you access to the individual 1-d arrays.
But if we kept the arrays as individual arrays, there is no way to make them act like a 2-d array without copying.
Unless maybe Biggus or Dask has a way to do that -- @ocefpaf: do you know if that's an option?

As for the other eating cake option:

The main issue, that we have not yet resolved I think, is whether we are
thinking about the grid belonging to a variable (e.g., salt.lat) or
existing independently. I often like to work with a grid independent of
variables, and I think it is sort of silly to load in a variable just to
get at the grid.

absolutely -- and I don't think there is a conflict here -- the grid object should certainly be a independent thing one can work with directly.

That said, having the grid attached to a variable makes a ton of sense when working with those variables.

exactly -- so we probably do want an API where a user can load up a variable, and get a grid attached to it, without needing to work with the grid API at all -- but the variable object will be working with it.

Also, in general we don't want to deal with stuff like
salt.nodes[:, 1], so that sort of logic should carry over to the variables.

I'm thinking that we don't want to deal with salt.nodes (or slat.lat and salt.lon) at all. rather the variabel interface lets you work in lon-lat space directly -- without directly referencing anything about the underlying grid.
i.e you'd never want to know what the coordintes of the 10th node are when working with salt -- you'd want to know what the salinity is at some lon-lat location -- and you may want to specify the interpolation method, etc.
you may also want to plot up the data on teh native grid, but again, not by grabbing the lot-lat of the nodes, and then plotting....


add(examples) basic basemap example

Simplified version of the trips example for a getting started guide.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 26.037%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
231

Relevant Lines:
773

💛  - Coveralls


Release 0.2.0

Pull Request (PR) description
Release v0.2.0.
First release under voxpupuli.
This Pull Request (PR) fixes the following issues
deeo_merge failing to replace true with false.

@ekohl Apologies - I spotted an issue and had to submit a fix for it.

To add a note to this. Usually you want to add fixes like the test fix in a separate PR, so the release PR is basically "clean" of any other changes :) With labels on those other PRs you can then change what the release gem generates for the changelog. Makes it very easy to control what you want the changelog to show.

@zilchms Thank you, that's helpful. I'll get that done.


[nginx-slim] Update nginx to 1.11.1 - CVE-2016-4450

Security: a segmentation fault might occur in a worker process while writing a specially crafted request body to a temporary file (CVE-2016-4450)

LGTM thanks

Wait, don't you need to bump the nginx image version, and that of the nginx controller?