Missing support for RTL languages

There does not seem to be any support for right-to-left languages. To reproduce I've just added dir="rtl" to demo plunkrs, in Chrome everything is right-to-left except the content of ui-select itself:

http://plnkr.co/edit/OkaWK2qcKWQ1sC53umCQ?p=preview
http://plnkr.co/edit/ZjgiSpevvLdkWdxiqv4X?p=preview

Hello, I don't have any idea this could help but I need it right now and share it to the other.
.select2-container .select2-choice .select2-arrow {
    right: unset;
    left: 0;
    border-right: 1px solid #aaa;
    border-radius: 4px 0px 0px 4px;
}

.select2-container .select2-choice > .select2-chosen {
    margin-right: 10px;
}


Add Regression Testing

As per the issue title.
It would be great to have regression tests for some core tasks set up, checking that 1. some key tasks' scores don't regress or change and 2. that the printouts for results stay the same (results tables).
ideally, we'd have:

on-CPU tests (with limit=10) that can always run
full on-GPU tests that can be run when desired for larger changes.

If any contributors are interested in taking this on, it'd be a huge help! Otherwise, I hope to get to this.

@haileyschoelkopf

Which tasks would you consider as core?
Which models do you believe are most effective/efficient for doing this?

Hello @haileyschoelkopf, I would be interested in helping with this.

Thanks all for the interest!
@clefourrier @KonradSzafer are tackling some regression testing now actually--if anything can be passed off maybe they can share.
models that would be useful to test would be

gpt2
a small model which uses a Llama tokenizer / sentencepiece

and core tasks would be

mmlu
arc_easy, arc_challenge
lambada_openai
wikitext
other Open LLM Leaderboard tasks
more could be added based on computational cost of running these tests.

Something that would be helpful which isn't currently being done is checking equivalence of the printed results tables, to ensure that the formatting there or printing of task groupings does not get modified by a new PR. This could be done by extending the current tests/test_evaluator.py tests.
Something which could be taken on and is not yet being worked on would be to implement a greater number of tests for the evaluate() and simple_evaluate() functions, or to mock the CLI and test cli_evaluate() with various options to ensure that these components are functioning as intended. I could describe a number of tests that would be useful if this is of interest! the CLI testing would be a big one.

@haileyschoelkopf could you expand on the new tests that you consider as useful?


Is pre-training using same (mixed precision) as fine-tuning?

The fine-tuning script uses BF16+mixed precision. Does the pre-training also use BF16+mixed precision?

@haozhouamzn its doable but nuanced given your settings for your task. Just note that what is suggested here is mostly around Fine-tuning for now.

@HamidShojanazeri thanks, that make sense.
So for the original Llama2 models, do you know what precision is used for pre-training?

is use_kahan_summation better when use bf16 adam?


Fixed dashboard logs container scroll issue

This PR Fixes #32

Heyy @Techno-Disaster  can you look into this pr.


[BUG] DR volume is not getting upgraded automatically by default

Describe the bug
The feature auto upgrade is not working for DR volume when it is not activated.
To Reproduce
Steps to reproduce the behavior:

Deploy Longhorn v1.1.0 on a K8s cluster.
Create a DR volume, (Don't activate it)
Upgrade longhorn to master and provide Concurrent Automatic Engine Upgrade Per Node Limit
The DR volume is not upgraded automatically.

Expected behavior
The DR volume should also get upgraded automatically.
Log
longhorn-support-bundle_85893cbe-571f-4f10-911a-22ba3c7d8187_2021-02-23T11-43-12Z.zip
Environment:

Longhorn version: Longhorn-master 02/23/2021
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: K8s v1.20.7 - RKE

Number of management node in the cluster: 1
Number of worker node in the cluster: 3

Node config

OS type and version: Ubuntu 18.04
CPU per node: 2 vcpus
Memory per node: 4
Disk type(e.g. SSD/NVMe): SSD
Network bandwidth between the nodes: 5 Gigabyte

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): DO
Number of Longhorn volumes in the cluster: 4

As discussed with @khushboo-rancher , It is expected that Longhorn doesn't automatically upgrade the DR volume's engine image since doing so would require a full restoration on the DR. This behavior is documented in the manual test https://github.com/longhorn/longhorn-tests/blob/master/docs/content/manual/pre-release/upgrade/auto-upgrade-engine.md
closing this issue.


NXCDB not storing data, missing creds and other options

Describe the bug
With a fresh Kali VM and installation of netexec via either apt install netexec or building manually I cannot get working nxcdb
When I run the netexec I get valid results which should be stored in the database. For example successful login credentials or petitpotam vulnerable detections.
To Reproduce
Once I run the database and send help there is no option for creds, hosts, etc
It shows the following (confidential information redacted)

Expected behavior
The results should appear in the nxcdb. I tried to observe where in the source this should occur, but the help menu seems to be abstracted away somewhere I couldn't see where the failure occurs.
NetExec info

OS:  Kali
Version of nxc: 1.2.0
Installed from: apt or github

You have to change the protocol first with proto smb. Then creds will work

That worked, it would be helpful if help indicated that in any way during usage.

btw @skmagiik
you forgot to censor one of the paths for your exam. and the hashes behind your transparent terminal
not sure if that matters for pnpt, but :shrug:


fix: Prometheus metrics expose correct info

I have modified the wrong comment on Prometheus metric and I've added e2e test for those new metrics too
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

/run-e2e

/run-e2e sequential

/run-e2e sequential


inception_finetuned_models.zip

I can't download the file "inception_finetuned_models.zip" for the calculation of IS. Can you give me this file ?

我无法下载文件“inception_finetuned_models.zip”来计算 IS。你能给我这个文件吗？

请问你找到这个文件了吗，如果找到了能不能发我一份，非常感谢。

I can't download the file "inception_finetuned_models.zip" for the calculation of IS. Can you give me this file ?

Did you find this file? Can you send me a copy if you find it, thank you very much.

Hello, Have you found the file? could you please share it with me. Thank you

Hello, Have you found the file? could you please share it with me. Thank you

hello，I can't download the file "inception_finetuned_models.zip" for the calculation of IS.


Update CI to use 7.4 stable

Coverage increased (+0.03%) to 77.164% when pulling e083131dc5261473106a2f97350da40938486605 on php74stable into 7ef643a56558ae36bf212d52cd0531528e04cc7b on master.

Coverage increased (+0.03%) to 77.164% when pulling e083131dc5261473106a2f97350da40938486605 on php74stable into 7ef643a56558ae36bf212d52cd0531528e04cc7b on master.


ci: Run E2E tests against all versions of K8s we claim support for

Description
To help us detect potential issues in advance, this expands the E2E configuration matrix to test several versions of K8s:

the versions of K8s that map to the OCP versions (https://access.redhat.com/solutions/4870701) that we explicitly claim support for - see https://access.redhat.com/support/policy/updates/developerhub
some released versions of K8s that are not supported yet. in this case, they are marked as experimental to not fail the Workflow

Which issue(s) does this PR fix or relate to
—
PR acceptance criteria

[x] Tests
[ ] Documentation
[ ] If the bundle manifests have been updated, make sure to review the rhdh-operator.csv.yaml file accordingly

How to test changes / Special notes to the reviewer
Example of run here: https://github.com/rm3l/janus-idp-operator/actions/runs/9809691738
The failures are not related to the changes here, but to an issue with the default janus-idp/backstage-showcase image's latest tag being outdated, and recently-merged https://github.com/janus-idp/operator/pull/390 only works in 1.2+. See https://redhat-internal.slack.com/archives/C04CUSD4JSG/p1720191475569659

There are a couple of issues to me:

It is not clear what issue we are solving here and so the "status" of this testing is not clear as well. It refers to OCP versions which clearly based on certain K8s version, but the tests are running against K8s (sure) so it can not be taken as OCP compatibility tests anyway.

I would ideally run those tests directly on OCP if it was as easy as a GitHub Action, but I couldn't find a simple way to spin up a minimal OCP cluster in a GitHub runner. So this uses the OCP versions we claim support for as baselines to determine the versions of K8s we could/should test against.

It definitely brings some useful compatibility information for K8s X.Y version, while Z version can be basically "any" (no breaking changes expected). Taking into account that K8s releases every 3-4 months, to me it sounds like overkill to make it nightly.

The variable here is the operator code (which can change frequently), which I think we should have real E2E tests for, but against the versions of K8s that we should support (this list won't change frequently either).
There is also one useful part here in this Workflow IMO: ahead-of-time testing against versions of K8s that we do not support yet will help us catch potential issues in advance.

In my opinion having them nightly just overloads the actions output (and calculation resources :) ) with mostly the same information.

The actions output are separated per job, so per configuration in the matrix. So it won't change that much from the existing nightly workflow. It is just we have new jobs from the matrix to look at.
In terms of resources, all matrix configuration jobs run in parallel, so there is no impact on the overall time of the whole Workflow. The current nightly workflow on main takes ~19m to run, and the Workflow from this PR took almost the same amount of time.

So, I would say it as a useful test but we probably need to have more clear definition of it. For example: as an upstream pre-release tests which makes sure we support supportable K8s versions and happened as a part of pre-release procedure and not nightly.

The goal of the nightly Workflow is to prevent a last-minute rush before a release when you notice something does not work end-to-end, by running a comprehensive suite of tests against the released image regularly. This way, based on your last nightly job status, you can even release any good commit at any time.

You can setup tests on OpenShift CI to run against OpenShift clusters, there are lots of examples of how to do this in the github.com/openshift org, specifically look at the https://github.com/openshift/release repository

Like I said, the compatibility tests (k8s or/and OCP if possible) are useful.
At the same time in absolute majority of the cases they do not bring any useful information daily, so very quickly will be percieved as a "white noice", as a related example you can see current state of nightly tests, they failed in many cases by known reason but we do not care about it b/c they are not that important b/c pretty much everything is covered in other (PR) flows. On the other hand, from outside, it looks like as broken environment. That's why I really doubt in usefulness of daily tests in our context(!) at all.

PR tests currently do not run against a real cluster to make sure that everything work end-to-end. So to me, I am not confident enough that a merged PR with the current tests passing guarantees that the deployed application is actually reachable (which is what matters to the end-user, right?).
Take https://github.com/janus-idp/operator/pull/390 for example. All PR tests passed, but the nightly job that ran against it allowed us to detect the day after an issue with the latest tag of the Showcase application (because the pod deployed ended up crashing on a real cluster).
I would rather not accumulate a lot of changes and run a manual E2E test a few days before a release..

So, I see such tests rather as a part of the (conscious) [pre/after] release process/recommendations than periodical job.

Is there such a process in place? A recommendation is only useful if there is a way to enforce it, and a nightly job is an almost free and automated way to enforce that.  ;)

I do not really understand your "last-minute rush" concern, it's time to focus on development and time to focus on release ("code freeze" state in our case). Could you please be more specific about the cases you have in mind?

If we want to release at any time, nightly tests will help for example.

I see this compatibility testing as good to have for sure but:
The state of current nightly tests in general is not satisfable. They are not stable for a quite long time and so looks broken. #399 That's why extending it with any new functionality is clearly no go from my side.

I already stated that they are not passing (only since the past few days) because of https://github.com/janus-idp/operator/pull/390 which was recently merged. The issue (thankfully caught quickly by the nightly checks) is being tracked in this JIRA: https://issues.redhat.com/browse/RHIDP-3157
Before that, they have been quite stable so far. From time to time, some infra issues due to the runner itself, but nothing critical per se.
Anyway, let's bring this discussion in one of our WG calls, to have more opinions on how to approach this.
/hold

I see this compatibility testing as good to have for sure but:
The state of current nightly tests in general is not satisfable. They are not stable for a quite long time and so looks broken. #399 That's why extending it with any new functionality is clearly no go from my side.

I already stated that they are not passing (only since the past few days) because of #390 which was recently merged. The issue (thankfully caught quickly by the nightly checks) is being tracked in this JIRA: https://issues.redhat.com/browse/RHIDP-3157 Before that, they have been quite stable so far. From time to time, some infra issues due to the runner itself, but nothing critical per se.

Looks like we are talking different issues.
Take a look here:
https://github.com/janus-idp/operator/actions?page=2&query=event%3Aschedule
And you can see that majority of Nightly builds are failed.
Do you mean something else saying it is not a problem?

Anyway, let's bring this discussion in one of our WG calls, to have more opinions on how to approach this.
/hold


When uploading a dataset, the upload spinner transition between processing and uploading

When uploading a dataset, the upload spinner transition between processing and uploading. Is there a state where a dataset goes back to uploading from processing?
Originally posted by @Bento007 in https://github.com/chanzuckerberg/single-cell-data-portal/issues/2197#issuecomment-1087818062
Step to Reproduce:

start a collection
upload a dataset
The spinner will go from uploading-> validating -> uploading -> processing -> uploading -> Done

Closing. Duplicate of https://github.com/chanzuckerberg/single-cell-data-portal/issues/1753


gate linear unit code seems wrong

    temp = self.conv1(X) + torch.sigmoid(self.conv2(X))

should be
temp = self.conv1(X) * torch.sigmoid(self.conv2(X))

Yes， GLU should be : self.conv1(X) * torch.sigmoid(self.conv2(X)), thanks for your answer, I will modify it

@dragonrenaissance  Hi, you are right, the GLU should be self.conv1(X) * torch.sigmoid(self.conv2(X)). I will  modify it

not modify yet


LS -Wide (feature request)

Any chance on adding a colored LS-Wide similar to this one?
Thanks,
Darren

Would love this to, as that's where colour are most useful, when your list is compact and you just see the names.

I maintain Get-ChildItemColor which contains Get-ChildItemColorFormatWide, which should do what you want, except it does not support pipeline. You can just alias Get-ChildItemColorFormatWide to ls, and use it separately from Get-ChildItem.

@joonro Been using it for a while. Thanks!


Assign correct project in v1 activity feed

What does this PR do and why?
Closes https://github.com/jbx-protocol/juice-interface/issues/2835
I've added modAllocator in the keys query, additionally, I've created a function that checks if allocator is the same as constant V1_V3_ALLOCATOR_ADDRESS
Screenshots or screen recordings

Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

@tomquirk are you still reviewing this one?

Thanks @NakedFool this is looking great! I made another commit, just to add Trans, and also to address https://github.com/jbx-protocol/juice-interface/issues/2791 (was driving me nuts).
Lets merge 🚀
P.s. when a PR is ready for a follow-up review, make sure to re-request a review in GitHub. Otherwise the review doesn't know when the PR is ready for review again and doesn't get notified.


openstack: added cinder snapshots and glance tests #1943

[ ] An issue should be filed for the change unless this is a trivial change (fixing a typo or similar). One issue should ideally be fixed by not more than one commit and the other way round, each commit should fix just one issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful and properly spelled subject line and body. Copying the title of the associated issue is typically enough. Please include the issue number in the commit message prefixed by #.
[ ] The pull request description should explain what the pull request does, how, and why. If the info is available in the associated issue or some other external document, a link is enough.
[ ] Phrases like Fix # or Fixes # will auto-close the named issue upon merging the pull request. Using them is typically a good idea.
[ ] Please run mvn process-resources -Pformat (and amend the changes if necessary) before sending the pull request.
[ ] Contributor guide is your good friend: https://camel.apache.org/camel-quarkus/latest/contributor-guide.html

ok, the optaplanner failing test is not related. Many thanks :+1:


Totalconnect won't arm/disarm on Hass.io

Home Assistant release with the issue:
0.89.2
Last working Home Assistant release (if known):
unknown
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io
Component/platform:
https://www.home-assistant.io/components/alarm_control_panel.totalconnect/
Description of problem:
The alarm_control_panel is able to retrieve status updates from the panel, but is unable to arm or disarm the system. I receive a "Failed to call service alarm_control_panel/alarm_arm_home. No security panel found" error. I am able to login the totalconnect2 website and can see the current alarm status in Home Assistant,
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
alarm_control_panel:
  - platform: totalconnect
    username: "secret"
    password: "secret"

Traceback (if applicable):
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/websocket_api/commands.py", line 148, in handle_call_service
    connection.context(msg))
  File "/usr/local/lib/python3.7/site-packages/homeassistant/core.py", line 1133, in async_call
    self._execute_service(handler, service_call))
  File "/usr/local/lib/python3.7/site-packages/homeassistant/core.py", line 1155, in _execute_service
    await handler.func(service_call)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py", line 188, in handle_service
    self._platforms.values(), func, call, service_name
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 278, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py", line 292, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/alarm_control_panel/totalconnect.py", line 98, in alarm_arm_home
    self._client.arm_stay()
  File "/usr/local/lib/python3.7/site-packages/total_connect_client/TotalConnectClient.py", line 113, in arm_stay
    self.arm(ARM_TYPE_STAY, location_name)
  File "/usr/local/lib/python3.7/site-packages/total_connect_client/TotalConnectClient.py", line 134, in arm
    deviceId = self.get_security_panel_device_id(location)
  File "/usr/local/lib/python3.7/site-packages/total_connect_client/TotalConnectClient.py", line 162, in get_security_panel_device_id
    raise Exception('No security panel found')
Exception: No security panel found

Additional information:
My alarm panel is type Vista

I've been having simulacra issues with regular HA. for quite some time. It seemed to correspond with the loss of the keypad.
FYI, your alarm panel is not the GSMV4G, that is your cellular communicator. Your panel is likely a Vista or a Lynx. You either have a larger box (vista) or a combined keypad unit (Lynx)

I'll take a look at this tomorrow

I'll take a look at this tomorrow

Thank you. And yes, I made a mistake. My panel is a Vista.

Could it have anything to do with needing to install the libxml2-dev and libxmlsec1-dev packages? These are mentioned in the HA documentation but I don't believe there is anyway to install them for hass.io

That might be the issue although I can't confirm as I haven't had the time to check it out.  As far as how to install them on Hassio...You may want to ask on the discord chat.  I'm sure there is a way to get that installed.

I just noticed on the TotalConnectClient.py github page that the script looks for the following valid devices
VALID_DEVICES = ['Security Panel',
'Security System',
'L5100-WiFi',
'Lynx Touch-WiFi',
'ILP5',
'LTE-XV',
'GSMX4G',
'GSMVLP5-4G',
'7874i',
]
When I log into totalconnect2, I see my device listed as "GSMV4G" which is not on the list above. Could this cause the panel not found error I am seeing?

Yup that would be it.  I'll add it to the dependency and see if i can release a new version.

Thanks!

@tkole done: https://github.com/home-assistant/home-assistant/pull/22166  should be in the next release.


Add codemirror's demo directory

This accounts for about ~150 html files throwing off the statistics of one of my projects

I guess it doesn't hurt but is the demo directory really supposed to be copied over with the lib and other directories?

Not sure, its there. I'm looking to remove it but thought I would make a PR for others.

Oki :+1:

:+1:

This change will be live on GitHub in the next release.


Cookbooks: use more mdoc power, fix issues

Add more elaboration-time checks not just compile time checks.
Fix a bunch of elaboration time issues in the cookbooks uncovered as such.
Refactor some things that were hard-coded rather than generated
Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[ ] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[ ] Did you state the API impact?
[ ] Did you specify the code generation impact?
[ ] Did you request a desired merge strategy?
[ ] Did you add text to be included in the Release Notes for this change?

Type of Improvement

bug fix

documentation

API Impact

No impact
Backend Code Generation Impact

No impact
Desired Merge Strategy

Squash: The PR will be squashed and merged (choose this if you have no preference.

Release Notes

Fix up cookbooks by relying on mdoc to do more elaboration-time-checking and fixing discovered issues
Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (Bug fix: 3.4.x, [small] API extension: 3.5.x, API modification or big change: 3.6.0)?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you do one of the following when ready to merge:

[ ] Squash: You/ the contributor Enable auto-merge (squash), clean up the commit message, and label with Please Merge.
[ ] Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

There are some real failures in the docs:
error: cookbook.md:644:25: not enough arguments for constructor ModuleWithOptionalIOs: (flag: Boolean)App29.this.ModuleWithOptionalIOs.
[261](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:262)
Unspecified value parameter flag.
[262](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:263)
ChiselStage.emitVerilog(new ModuleWithOptionalIOs)
[263](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:264)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[264](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:265)
error: cookbook.md:664:29: not found: type ModuleWithOptionalIOs
[265](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:266)
ChiselStage.emitVerilog(new ModuleWithOptionalIOs)
[266](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:267)
                            ^^^^^^^^^^^^^^^^^^^^^
[267](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:268)
error: cookbook.md:823:1: not found: value ChiselStage
[268](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:269)
ChiselStage.emitVerilog(new Salt)
[269](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:270)
^^^^^^^^^^^
[270](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:271)
error: cookbook.md:847:1: not found: value ChiselStage
[271](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:272)
ChiselStage.emitVerilog(new BadRegConnect)
[272](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:273)
^^^^^^^^^^^
[273](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:274)
error: cookbook.md:872:1: not found: value ChiselStage
[274](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:275)
ChiselStage.emitVerilog(new CoercedRegConnect {
[275](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:276)
^^^^^^^^^^^
[276](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:277)
info: Compiled in 23s (5 errors)
[277](https://github.com/chipsalliance/chisel3/actions/runs/3153251825/jobs/5130379796#step:6:278)

kk will fix


WIP API for Yolact, python package

WIP
Aim of this PR is to have Yolact used (useful) as a python package, interfacing with other py code with API (ideally as close to pytorch.nn as possible)

[x] init() improvements
[ ] eval()
[ ] train()

might be too complicated

[ ] get rid of global variables

Fixes #299
For #300

@breznak is this done cna we use yolact as an api , is it the same for yolact++ also ?? great work

can we use yolact as an api , is it the same for yolact++ also ?

yes, this is intended for both yolact, yolact++

@dbolya when you have time, could we please proceed with this PR and #456 ? With those, the code is already quite useful for API-use, while still not yet a proper python package.


Allow declaring custom or multiple notification classes in health.php

BUG: When trying to create a custom notification for laravel-health I found out that RunHealthChecksCommand getFailedNotificationClass() returns a hardcoded Spatie\Health\Notifications\CheckFailedNotification::class which makes it impossible to override with your own notification.

Make getFailedNotificationClass() return the first key (class name) from config('health.notifications.notifications')

This change should not have any effect in existing installations but would allow users to use their own notification by declaring it inside health.php:
'notifications' => [
    App\Notifications\CustomCheckFailedNotification::class => ['mail','teams','signal','irc'],
],

@freekmurze I went through the documentation and code and couldn't find another way to do this, other than creating a custom command, but that seemed like an overkill and maybe this could help others who need custom notifications.

Multiple notification classes seem overkill to me. Could you refactor this so there can be only one notification class?

Done!

Thanks!


CB-10269: Replace cordova exec only when present in wkwebview

+1 can this be merged soon please? :+1:

It has already been merged in https://github.com/apache/cordova-plugin-wkwebview-engine/commit/faa9d877045d8baf8afdfd0d8689389ec240e2e4

Ah my mistake, I assumed the error I was getting was related to this.

Is it possible for a new release to be tagged?

I also thought it wasn't merged, how can we know that? I'm unfamiliar on how this is handled.

check the jira issue
https://issues.apache.org/jira/browse/CB-10269
Commit faa9d877045d8baf8afdfd0d8689389ec240e2e4 in cordova-plugin-wkwebview-engine's branch refs/heads/master from James Andersen
[ https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-wkwebview-engine.git;h=faa9d87 ]
Or check the main page https://github.com/apache/cordova-plugin-wkwebview-engine, you can see.
jamesandersen committed with shazron CB-10269: Replace cordova exec only when present in wkwebview
It should have closed this, but sometimes fails.

I believe it is merged just fine, but there hasn't been a new release of the plugin on npm, so anybody trying to use the latest version won't get this fix at the moment.

IMHO without a release to npm this whole WKWebView support of Cordova is pretty not usable at all ATM...

It's not on NPM yet, plugin releases take time.
Anybody using cordova can install from github, they don't have to wait for the NPM release.

True, but a new release is usually only an npm publish away, unless I'm mistaken? :)

This is part of an Apache Software Froundation project, so any release needs to follow the ASF guidelines including a 48-hour voting period with 3 votes of approval on the mailing list.

@jamesandersen can you close this? it came out in the 1.0.2 release of the plugin


Sass / PostCSS error since version 1.3.8 (including 2.0.2)

Short description of the problem:
Everything works fine with version 1.3.7, but when I update to version 1.3.8 (or anything newer, including 2.0.2) and run ionic cordova run android  I get an error
Your current PostCSS version is 5.2.17, but autoprefixer uses 6.0.8. Perhaps this is the source of the error below.
[WARN] Error occurred during command execution from a CLI plugin (@ionic/cli-plugin-cordova). Your plugins may be out of
       date.
TypeError: Path must be a string. Received undefined

Full Stacktrace :
I got the full stack trace by running npm run build
[12:20:17]  ionic-app-scripts 1.3.8
[12:20:17]  build dev started ...
[12:20:17]  clean started ...
[12:20:17]  clean finished in 1 ms
[12:20:17]  copy started ...
[12:20:17]  transpile started ...
[12:20:20]  transpile finished in 3.05 s
[12:20:20]  preprocess started ...
[12:20:20]  deeplinks started ...
[12:20:20]  deeplinks finished in 58 ms
[12:20:20]  preprocess finished in 60 ms
[12:20:20]  webpack started ...
[12:20:20]  copy finished in 3.25 s
[12:20:29]  webpack finished in 9.15 s
[12:20:29]  sass started ...
Your current PostCSS version is 5.2.17, but autoprefixer uses 6.0.8. Perhaps this is the source of the error below.
[12:20:30]  ionic-app-script task: "build"
[12:20:30]  TypeError: Path must be a string. Received undefined
TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.resolve (path.js:186:7)
    at eachParent (C:\virtualvisite\node_modules\browserslist\index.js:65:18)
    at getStat (C:\virtualvisite\node_modules\browserslist\index.js:79:12)
    at browserslist (C:\virtualvisite\node_modules\browserslist\index.js:188:15)
    at Browsers.parse (C:\virtualvisite\node_modules\autoprefixer\lib\browsers.js:61:16)
    at new Browsers (C:\virtualvisite\node_modules\autoprefixer\lib\browsers.js:52:30)
    at loadPrefixes (C:\virtualvisite\node_modules\autoprefixer\lib\autoprefixer.js:67:24)
    at plugin (C:\virtualvisite\node_modules\autoprefixer\lib\autoprefixer.js:78:24)
    at LazyResult.run (C:\virtualvisite\node_modules\postcss\lib\lazy-result.js:274:20)

npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
npm ERR! node v6.11.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! ionic-hello-world@ build: `ionic-app-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ionic-hello-world@ build script 'ionic-app-scripts build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ionic-hello-world package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ionic-hello-world
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ionic-hello-world
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\virtualvisite\npm-debug.log

My Package.json
    "name": "ionic-hello-world",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve",
        "ionic:upload": "ionic upload",
        "ionic:run": "ionic cordova run android"
    },
    "dependencies": {
        "@angular/common": "4.1.3",
        "@angular/compiler": "4.1.3",
        "@angular/compiler-cli": "4.1.3",
        "@angular/core": "4.1.3",
        "@angular/forms": "4.1.3",
        "@angular/http": "4.1.3",
        "@angular/platform-browser": "4.1.3",
        "@angular/platform-browser-dynamic": "4.1.3",
        "@ionic-native/badge": "^4.1.0",
        "@ionic-native/camera": "^4.1.0",
        "@ionic-native/core": "^4.1.0",
        "@ionic-native/dialogs": "^4.1.0",
        "@ionic-native/file": "^4.1.0",
        "@ionic-native/file-path": "^4.1.0",
        "@ionic-native/file-transfer": "^4.1.0",
        "@ionic-native/hotspot": "^4.1.0",
        "@ionic-native/local-notifications": "^4.1.0",
        "@ionic-native/network": "^4.1.0",
        "@ionic-native/social-sharing": "^4.1.0",
        "@ionic-native/splash-screen": "4.1.0",
        "@ionic-native/sqlite": "^4.1.0",
        "@ionic-native/status-bar": "^4.1.0",
        "@ionic-native/toast": "^4.1.0",
        "@ionic/storage": "2.0.1",
        "ionic-angular": "3.5.3",
        "ionicons": "3.0.0",
        "rxjs": "5.4.0",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.12",
        "cordova-plugin-badge": "~0.8.1",
        "cordova-plugin-camera": "~2.4.1",
        "cordova-plugin-console": "~1.0.7",
        "cordova-plugin-device": "~1.1.6",
        "cordova-plugin-dialogs": "~1.3.3",
        "cordova-plugin-file": "~4.3.3",
        "cordova-plugin-file-transfer": "~1.6.3",
        "cordova-plugin-hotspot": "~1.2.8",
        "cordova-plugin-splashscreen": "~4.0.3",
        "cordova-plugin-statusbar": "~2.2.3",
        "cordova-plugin-whitelist": "~1.3.2",
        "cordova-plugin-x-socialsharing": "~5.1.8",
        "cordova-plugin-x-toast": "~2.6.0",
        "cordova-sqlite-storage": "~2.0.4",
        "de.appplant.cordova.plugin.local-notification": "~0.8.5",
        "ionic-plugin-keyboard": "~2.2.1"
    },
    "devDependencies": {
        "@ionic/app-scripts": "1.3.8",
        "@ionic/cli-plugin-cordova": "1.4.1",
        "@ionic/cli-plugin-ionic-angular": "1.3.2",
        "typescript": "~2.3.4"
    },
    "cordovaPlugins": [
        "cordova-plugin-whitelist",
        "cordova-plugin-console",
        "cordova-plugin-statusbar",
        "cordova-plugin-device",
        "cordova-plugin-splashscreen",
        "ionic-plugin-keyboard"
    ],
    "cordovaPlatforms": [],
    "description": "virtualvisite: An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-badge": {},
            "cordova-plugin-camera": {},
            "cordova-plugin-console": {},
            "cordova-plugin-device": {},
            "cordova-plugin-dialogs": {},
            "cordova-plugin-file": {},
            "cordova-plugin-file-transfer": {},
            "cordova-plugin-hotspot": {},
            "cordova-plugin-splashscreen": {},
            "cordova-plugin-statusbar": {},
            "cordova-plugin-whitelist": {},
            "cordova-plugin-x-socialsharing": {},
            "cordova-plugin-x-toast": {},
            "cordova-sqlite-storage": {},
            "de.appplant.cordova.plugin.local-notification": {},
            "ionic-plugin-keyboard": {}
        }
    }
}

same issue

the solution will be here => https://github.com/ai/browserslist/issues/158

Changing autoprefixer version back to "6.7.2" in the package.json (+ do npm install) of @ionic/app-scripts work for me while the issue is being fixed.

thanks @fabienpinel .. works fine after i change the autoprefixer to 6.7.2

pull request waiting to be merged https://github.com/ai/browserslist/pull/161

Can you please tell me/us where this  autoprefixer is ?  Do you mean is sass.js ? Because I don't understand exactly what line to fix there. Thanks

I don't have one in my package.json

Hey @dovk it's not in your project's package.json, rather, from the project directory you should cd to node_modules\@ionic\app-scripts folder and edit the package.json there. Change the autoprefixer version to 6.7.2 and then run npm install from that folder itself.

Thanks, I'll give it a try
Sent from my iPhone
On 22 Jul 2017, at 17:54, Kishore <notifications<EMAIL_ADDRESS>wrote:
I don't have one in my package.json
Hey @dovkhttps://github.com/dovk it's not in your project's package.json, rather, from the project directory you should cd to node_modules@ionic\app-scripts folder and edit the package.json there. Change the autoprefixer version to 6.7.2 and then run npm install from that folder itself.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ionic-team/ionic-app-scripts/issues/1142#issuecomment-317188669, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AZgphnNJt_1GwFhI2V-P7cu0-YxfiLecks5sQg0GgaJpZM4OgItw.

I am unable to replicate this issue.
Can you please run ionic info and paste the output here.

@KishuPro 's workaround fixed the issue for now.  Thanks

A new release of browserlist is out. Please delete your node-modules and run npm install again


Statistics screen: Google data studio - Change title

Title: G$ Claims Distribution Per Country

@LiavGut
@sirpy how about footer ? update it's text too ? or just remove as we having "GoogleDataStudio" watermark over the map-chart ?

fixed in this PR: https://github.com/GoodDollar/GoodDashboard/pull/32

@serdiukov-o-nordwhale Remove the footer.

@serdiukov-o-nordwhale @sirpy

The title is changed to the "G$ Claims Distribution Per Country"
The footer is deleted

Checked on DEV V0.25.4-9
LG V30+ // Android 8.0 // Google Chrome 84.0.4147.111
Desktop: Windows 10 // Google Chrome  84.0.4147.105


Identify missing @deprecated JSDoc tags

I've switched our JSDoc parser to typedoc to fully understand our JSDoc types
This has identified properties and methods (added dynamically) accidentally missed in:

https://github.com/alphagov/govuk-frontend/issues/3473

Accordion
accordion.$showAllButton
accordion.$showAllIcon
accordion.$showAllText

Details
details.$content
details.$module
details.$summary

Tabs
tabs.boundTabClick()
tabs.boundTabKeydown()
tabs.boundOnHashChange()
tabs.changingHash

TypeDoc HTML output
The JSDoc output (via TypeDoc) can be seen on the PR preview deployment

This looks really useful, thanks @colinrotherham 👍🏻
The PR only really seems to be describing the last commit – I don't think this needs to be split up, but it'd be good to have a bit more context on the other changes in the PR description or the commit messages?
Also wanted to flag that eslint-plugin-jsdoc v41.1.2 was released earlier today with a fix, in case it's worth updating.

@36degrees Sorry, yep it's just to identify what's missing—I've made it a draft
For context, the first commits do address an eslint-plugin-jsdoc breaking change though, as the update now prefers "shorthand" types. Sadly these aren't supported by our currently-unmaintained JSDoc plugin jsdoc-tsimport-plugin
Before
Types without parameter names
/** @returns {Object<string, string[]>} */
/** @returns {function(string): boolean} */
/** @returns {function(): Promise<void>} */

After
Shorthand types with support for parameter names
/** @returns {{ [blockName: string]: string }} */
/** @returns {(entryPath: string) => boolean} */
/** @returns {() => Promise<void>} */

These do improve the autocomplete tooltips in editors which is nice

Also wanted to flag that eslint-plugin-jsdoc v41.1.2 was released earlier today with a fix, in case it's worth updating.

I've added the<EMAIL_ADDRESS>bugfix which has reported a few more missing @returns comments
@36degrees @romaricpascal Don't need to merge this PR, but these checks are handy to have

@romaricpascal @36degrees I've cherry picked https://github.com/alphagov/govuk-frontend/commit/5ce73b839adda681d8dbee245960016757cadf3c from:

https://github.com/alphagov/govuk-frontend/pull/3518

Have a quick flick through the JSDoc documentation output, see if you spot anything else:
https://govuk-frontend-pr-3512.herokuapp.com/docs/javascript/


[Doc] Fix broken urls in gaudi-installation

Certain links on the gaudi-installation page which were pointing to docs.habana.ai are broken due to recent re-structuring of docs.habana.ai. This PR fixes those.

Please update README_GAUDI.md accordingly

There's no README_GAUDI.md in this upstream branch.


More robust conv2d

The current convolution implementation isn't as robust as the built in tensorflow one. If we're going to be able to import any tensorflow graph we'll need to match the robustness of that implementation.
Two main issues I've come across:

tensorflow takes 2 or 4 strides for a 2d convolution. I think right now we only support 1 stride
tensorflow can support both NCHW and NHWC format whereas we only support NCHW

There are probably other edge cases and at some point we should probably test all the different edge cases.

Various features have been added in the past years. These issues should have been fixed due to the most recent support for ResNet50 inference. We can open a new issue to discuss if necessary.


At least mention that Conditional Access is not supported

As it turns out, even though implementing MFA is recommended, Business Central is not available for use when defining your Cloud Apps in a conditional access policy. So even though you can enable MFA global (which no one using Conditional Access is doing), you cannot leverage your Conditional Access policies to properly protect Business Central (MFA, compliant device etc)

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

ID: 24c36d03-7f72-72d0-bbe1-d60f881a9e66
Version Independent ID: c5775944-717d-d054-c016-a82a2efed79c
Content: Multi-Factor Authentication - Business Central
Content Source: dev-itpro/security/multifactor-authentication.md
Service: dynamics365-business-central
GitHub Login: @jswymer
Microsoft Alias: jswymer

Thanks for the feedback! Unfortunately, when setting up a Conditional Access policy, you can't select Business Central as a Cloud App.  We've updated the article to indicate what is currently supported as far as Conditional Access goes. The update will be published soon.


piwebapi does not work in version 6.0.0

piwebapi does not work in version 6.0.0, please see the error messages below.
Can connect to client, not allowed to read tags. This used to work before. aspenone works just fine.

This was probably due to the updates not being rolled out to the piwebapi yet. Is it working now?

Yes, thanks, it works now.


get-based API is unsound

Because get can be used to obtain a reference to the value, it can trivially cause a use-after-free:
fn main() {
    let x = Box::leak(Box::new(per_thread_object::ThreadLocal::new()));

    let r = std::thread::spawn(move || x.get_or(|| Box::new(5)))
        .join()
        .unwrap();

    dbg!(**r);
}

This is why the standard library's thread_local! only provides a with-based API.

Thank you!
I just wanted to imitate the thread-local crate API. I really should use with- style API.

Thank you!
I just wanted to imitate the thread-local crate API. I really should use with- style API.

close by https://github.com/quininer/per-thread-object/commit/bc35e22b446636afe346b2c73a2bf7a63c266343

close by https://github.com/quininer/per-thread-object/commit/bc35e22b446636afe346b2c73a2bf7a63c266343


fix: add DjangoIntegration to Sentry settings

NS-20.

Notification service branch is deployed to platta: https://kuva-notification-service-pr57.api.dev.hel.ninja :rocket::rocket::rocket:


Question - Difference between agents vs pipelines (re-visited).. use-case and real-world examples unclear

Hi @SBrandeis, @julien-c, @scruel, @Rocketknight1
This is a follow-up to the line of query of 'what's the purpose or use-case for agents/tools' here: https://github.com/huggingface/transformers/issues/26195
This is triggered by the recent press and a lot of (irrational) hype around "Rabbit" which I'm predicting is either smoke and mirrors, or at the very most, a standard LLM with agent/tool macros or LLM stacked with zapier macros (lolz).
Before heading down my own "rabbit" hole to combine macros with an LLM, I wanted to re-visit Agents to check if Agents/Tools will have a role in my stack.
Specifically your 'hello world' examples are awesome for quick start, but don't help to conceptually to understand what Agents/Tools are capable of and how these differ from pipelines.
I've read over:
https://github.com/huggingface/huggingface.js/blob/main/packages/agents/README.md
https://github.com/huggingface/transformers/tree/main/src/transformers/tools
https://huggingface.co/docs/transformers/main_classes/agent
https://huggingface.co/docs/huggingface.js/agents/modules
https://huggingface.co/docs/transformers/custom_tools#adding-new-tools
For "Agents"
It looks as though agents are primarily doing the same thing as a pipeline. You have to create a prompt and select the model.
eg.

const code = await agent.generateCode("Draw a picture of a cat, wearing a top hat.")

For "Custom Tools section of Agents"
This example looks closer to what I would term an 'agent', in that it's taking a goal, generating a macro or algorithm in code which can be executed as a callback.
eg.

agent = HfAgent("https://api-inference.huggingface.co/models/bigcode/starcoder", additional_tools=[tool])
agent.run(
"Can you read out loud the name of the model that has the most downloads in the 'text-to-video' task on the Hugging > Face Hub?"
)

Questions

Is the HF Agent and Tools limited to "prompts" only, to instruct LLMs to create outputs and provide these back to main script (as callbacks), OR do the Agents/Tools taken the LLM output from the prompts and then run separate processes over these then providing only the very end output back to the main script?
Is there a list of Agent/Tool pre-built processes eg. like the list of tasks for pipeline, that I can peruse?
Is it feasible to create automation based on the example (real-world use-case: automated apis) below?
Would I need an agent or tool for the scenarios below? it seems it could be more easily accomplished with a main script.

Sample Real-World Use-Case: Automated APIs - Assumes advanced GPT-like LLM

Prompt LLM at a high level "please write an API script in python for Gmail, that will send an email to John Smith using my gmail account at<EMAIL_ADDRESS>LLM to write API code in python/js/php, for GMAIL as an output, autofilling the API kwargs with to:john smith, using account<EMAIL_ADDRESS>Backend to execute LLM code.

Sample Real-World Use-Case: Automated APIs - Assumes low-powered LLMs in sequence

Prompt LLM at a high level "send an email to John Smith using my gmail account at<EMAIL_ADDRESS>blenderbot LLM to extract elements, being the application name Gmail and remaining sentence.
Backend to take LLM output for application and lookup to stored Gmail API SDK information, and retrieve stored SDK requirements
Backend to feed Gmail SDK requirements into starcoder LLM with original prompt and asked to fill the API kwargs with the data in the original prompt
starcoder LLM output generated script is executed

Apologies, but still struggling on a good use case for agents/tools that significantly reduces lines of code or does something I couldn't already do in a main function.


Deployed ETH 500 600 720 options to mainnet.

:tada: This PR is included in version 0.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update la-vminsights-readonly.bicep to fix typo in action

Typo in action: "memebers" should be "members"

need a review for a typo to close this one

actually this is a schema test issue, trailing comma in JSON


Allow to use stern as a kubectl plugin

Note: this issue was imported from https://github.com/wercker/stern/issues/102, but it was originally created by kivagant-ba...
Please, make stern available as a plugin for kubectl to use it as kubectl stern ....
In additional, make it searchable by kubectl krew search.

Note: this comment was imported, but it was originally made by jan25...
This'd be nice!
Firstly we'll need to edit the latest release tag to attach the executables wrapped in .zip or .tar.gz compressed files. Would someone be able to help with that? @walterbot
After that we can continue to open a PR to krew-index with preliminary changes i have here https://github.com/kubernetes-sigs/krew-index/compare/master...jan25:add-stern?expand=1#diff-694169189386283d3ec578d120d24581

Note: this comment was imported, but it was originally made by Luffy110...
Hi i think this is a great thing to do ! because the stern has a greater user experience than kail. why nobody push this ?
I found a way , we can do it by self. we can download the binary file then rename it to kubectl-stern, and move it to home/.krew/bin/. then you can use kubectl stern .

That would be nice.

i prefer stern over kail because of the much better user exp. this would be a welcome addition

I added stern to the krew index, so now you can install stern via Krew!
kubectl krew install stern

https://github.com/kubernetes-sigs/krew-index/pull/1805


(maint) Use new pg test users on jenkins

(take 2)

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-master/282/
Test FAILed.

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-enterprise.delivery.puppetlabs.net/job/enterprise_puppetdb_init-multijob_githubpr-master/284/
Test FAILed.

Acceptance failure is unrelated, working on a fix here: https://github.com/puppetlabs/puppetdb/pull/1759


No nwp_zarr_path: /mnt/disks/nwp/UKV_intermediate_version_7.zarr

Describe the bug
I am trying to run PVNet based on the README, but I am encountering an error. Furthermore, there is no adequate description of how to run the code.
The files involved are as follows:
Inside: configs/datamodule/ocf_datapipes.yaml
tests/data/sample_batches/datamodule.yaml
Additionally, there is an incorrect path specified: /home/jamesfulton/repos/.
Has anyone successfully executed the code according to the instructions provided in the README?

Hi @AndranikUgujyan
Unfortunately, that data isnt public and we cant make it public. One way to it would be to use GFS or a different NWP data supply.
You probably find some GSP data that you might need. This can be collected from PVlive

Hi @peterdudfield ,
Thank you for your message. I am impressed with the topic you are developing, and I am keen to implement PVNet or a similar AI approach for Armenia. Could you please advise me on where I can start and how I can succeed in this endeavor?
From my understanding, the input for PVNet includes:

GSP ID
GSP History
Solar Coords
4D satellite data
4D NWP data

The output is a 1D prediction. However, I find it challenging to delve deeper into the specifics of each data and the vector being predicted. Additionally, I am unsure of where I can obtain the necessary data for Armenia.
I kindly request your guidance on how to initiate this research and achieve success.
Thank you in advance for your support.

and 2. GSP stands for Grid supply point, as it perhaps very UK specific. If you had national PV output from Armenia then that could be used instead. If you have the region output of Armenia for Solar generation, then you could use that for each GSP. Perhaps start with just the National?
What Solar coordiantes are you look for? , or where in the code is this?
Yea, you could use this dataset that we have release
You could download free GFS data using Herbie first of all?

Does this help?

Thank you, @peterdudfield , for your assistance. Now everything makes sense.
I am currently trying to run PVnet on Colab. I have used the nowcasting_dataset and downloaded the PV_GSP data. Additionally, I have configured the "should_pretrain = True" parameter to prevent the dataloader from loading the requested NWP and satellite data.
However, I am facing difficulties in completing the training process on Colab.
Could you please advise if it is possible to run pretraining data on Colab? Furthermore, are there any additional documents available that provide explanations on how to train PVNet and make predictions?
P.S. Even after running the predictions, I am having trouble understanding the meaning of the output. Could you please explain what the output signifies?

I dont know if it can be run on Colab, but I would assume so.
@dfulu would be able to advice on how to run the training and how to interpret the predictions. This might be useful in general and maybe @dfulu you could add this to the readme.md?

Hi @dfulu , could you please advise me on how to run the training and how to interpret the predictions?
I am currently trying to run PVNet on Colab. I have used the "nowcasting_dataset" and downloaded the PV_GSP data. Additionally, I have configured the "should_pretrain = True" parameter to prevent the dataloader from loading the requested NWP and satellite data.
Furthermore, I have tried to understand the PV_GSP data. Could you please explain the above data that is coming from PV_GSP? What is the target column that we are trying to predict? I can't find it from the codebase.
/capacity_mwp
/datetime_gmt
/generation_mw
/gsp_id
/installedcapacity_mwp
/updated_gmt
Could you please advise if it is possible to run pretraining data on Colab? Furthermore, are there any additional documents available that provide explanations on how to train PVNet and make predictions?
P.S. Even after running the predictions, I am having trouble understanding the meaning of the output. Could you please explain what the output signifies?

Hi @AndranikUgujyan, the PV_GSP data is basically what we try to predict. This loaded and processed using the ocf_datapipes library.
The PV_GSP dataset contains the PV power output at each timestep for each of the GSPs. A GSP is essentially just a geographical region of the UK, and there are 317 of them. The power output is the sum of PV power generated within each region averaged over each 30-minute period.
In the dataset:

gsp_id: An ID number to identify each GSP region
datetime_gmt: The timestamp corresponding to the end of each 30-minute period of power production. It is stated in the GMT timezone - usually called UTC nowadays.
generation_mw*: The average PV power generated in each 30-minute period for each GSP
installedcapacity_mwp*: The total installed capacity of PV power - essentially take the sum of all power-producing capacity installed PV panels within each GSP
capacity_mwp*: The effective capacity of the PV panels in each GSP. Panels break, or go offline, or just get old and inefficient and therefore produce less power than their installed capacity. This is an estimate of the capacity of each GSP taking into account these effects.

* estimated by PVLive

updated_gmt: I'm not 100% sure, but I think this is the time at which PVLive made its estimate of the above above quantities. As PVLive get more data from some of the big solar farms - measurements of what their panels actually produced, they update these quantities to better reflect this new data. I think updated_gmt is the timestamp of the last update. updated_gmt will always be a time after datetime_gmt.

We try to predict generation_mw in the future. The power that these panels will produce later. Currently we are actually training the model to predict generation_mw/capacity_mwp because the capacities of the each GSP are quite different. In production we multiply the predictions by capacity_mwp to produce a future forecast of generation_mw. The model predicts the PV output for multiple steps ahead. By default it will be predicting for 16 20-minute steps, so up to 8 hours ahead. This can be changed in the config files however.
Currently there is no documentation outside the library itself and whats included in the READMEs. We are a small organisation, and we haven't had the capacity to write it up yet.
I can't think of any reason as to why it shouldn't run on colab, although I haven't done it, so I don't really know.
Finally, I think there should be a better way to train the model using just PV_GSP inputs than setting should_pretrain = True. The commands in experiment.sh are the ones I have used to train models. These and the information in the configs configure the model and the dataset. To remove the sat and NWP inputs you could set model.include_sat and model.include_nwp to false. This tells the model not to expect satellite or NWP data inputs. You also need to configure the data pipeline not to load the satellite or NWP data. IIRC this can be done by setting datamodule.configuration.nwp.nwp_zarr_path and datamodule.configuration.satellite.satellite_zarr_path to empty strings, then it won't try to load NWP or satellite data.
There are some other things in the configs that you might have to change for your own environment. The way it is configured now, it logs model results to wandb. In the configs, that I'd encourage you to explore, you can set the logger to use tensorboard instead.

Hi @dfulu , thank you for you response, I really appropriate it.
I am encountering an issue while attempting to train the PVNet model using only GSP data and excluding NWP and satellite images. I followed the steps below to modify the configuration and model settings:

Updated the PVNet/configs/datamodule/ocf_datapipes.yaml file on line 2, changing the configuration path to the local path: /PVNet/configs/datamodule/configuration/gcp_configuration.yaml.
Inside the /content/PVNet/configs/datamodule/configuration/gcp_configuration.yaml file, I changed the value of gsp_zarr_path on line number 10 to the local path.
Next, I went to /PVNet/pvnet/models/multimodal/multimodal.py and set include_sat and model.include_nwp to False.

However, when I attempted to run the command using the experiment.sh script as follows:
cd scripts
python save_batches.py
+batch_output_dir="/mnt/disks/batches2/batches_v3.1"
+num_train_batches=50_000 +num_val_batches=2_000
I encountered the following error:
KeyError: ".zmetadata\nThis exception is thrown by iter of OpenNWPIterDataPipe(zarr_path='/mnt/disks/nwp/UKV_intermediate_version_7.zarr')"
But I proceeded to remove the path from gcp_configuration.yaml.
Afterward, I ran the training process using the command:
python run.py
datamodule=premade_batches
datamodule.batch_dir="/content/gdrive/MyDrive/batches2/batches_v0"
+trainer.val_check_interval=10_000
trainer.log_every_n_steps=200
callbacks.early_stopping.patience=20
datamodule.batch_size=32
trainer.accumulate_grad_batches=4
model_name="pvnet+ResFC2+_slow_regx25_amsgrad_v4"
However, this time, the training process didn't complete successfully inside Colab with GPU setup.
Questions:

I would like to understand the reason for the training process not completing successfully when excluding NWP and satellite image data and training only on GSP data.
Could you please provide a more detailed explanation of the entire running process?
As the PVNet model is quite complex, I am looking for a simplified way to train it exclusively on GSP data. Later, I plan to include NWP and satellite image data to train the full model.
I would appreciate any assistance in resolving this issue and gaining a better understanding of the training process. Thank you!

Hi @AndranikUgujyan
You're pretty much along the right lines
So the current process for training is first to presave batches using the save_batches.py script as you have tried. This uses the ocf_datapipes library to create batches of data and then it saves them out a dictionaries of pytorch tensors. Each batch is saved to a separate file inside <batch_output_dir>/train or <batch_output_dir>/val.
Then we run the training process using the run.py script.

Unfortunately, you likely won't have access to the NWP data our local path "/mnt/disks/nwp/UKV_intermediate_version_7.zarr". This data comes from the UK MetOffice and we are not allowed to share it. Maybe later on, you could try to add in NWP data from the ICON NWP model. We can share this and it is being archived here on hugging face. However, there would likely be some work involved to process this dataset into a format useable by the model.
It is the same satellite data in huggingface that we used to train the model. However, it would probably be easier to pull this data from where it is hosted as a google public dataset here.

In terms of your issues, you didn't mention whether you managed to create any batches using the save_batches.py script. Presuming you did, I think you might want something like this to train:
python run.py \
  datamodule=premade_batches \
  datamodule.batch_dir="<your batch dir>" \
  +trainer.val_check_interval=10_000 \
  trainer.log_every_n_steps=200 \
  callbacks.early_stopping.patience=20 \
  datamodule.batch_size=32 \
  datamodule.num_workers=<number of workers based on your number of CPUs> \
  logger.wandb.project="<your wandb project>" \
  logger.wandb.save_dir="<your wandb logging save dir>" \
  callbacks.model_checkpoint.dirpath="<your checkpoint directory>/${model_name}" \
  model_name="<your model name>"

You can see that you'll need to set up directories to store the model checkpoints and training logs. We have set this up to use wandb for logging, so you may want to sign up for a wandb account. For individual use they have a free plan.
This might still cause you some errors. Since we are using it for our own research we haven't tested it outside our own environments.

Fixed


Fcs

One last commit that didn't make it before the fc merge

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (04db181) 83.37% compared to head (c2e830c) 83.37%.
 Consider uploading reports for the commit 761ecf2 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #166      +/-   ##
==========================================
- Coverage   83.37%   83.37%   -0.01%
==========================================
  Files         270      270
  Lines       19848    19852       +4
==========================================
+ Hits        16549    16552       +3
- Misses       3299     3300       +1

Flag
Coverage Δ

tests
83.37% <75.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

...ions/processing/fourier_coefficients/decimation.py
83.91% <75.00%> (-0.16%)
:arrow_down:

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


Possible API change

This code work at least until 2020-04-09 23:00 UTC
from skpy import Skype
sk = Skype('user', 'pass', tokenFile=".tokens-app")
ids = sk.chats.urlToIds('https://join.skype.com/xxx')
ch = sk.chats.chat(ids["id"])
ch.sendMsg (u'test')

but now throws exception:
 File "/home/.../.local/lib/python2.7/site-packages/skpy/chat.py", line 53, in createRaw
    auth=SkypeConnection.Auth.RegToken, json=msg)

  File "/home/.../.local/lib/python2.7/site-packages/skpy/conn.py", line 219, in __call__
    raise SkypeApiException("{0} response from {1} {2}".format(resp.status_code, method, url), resp)

SkypeApiException: ('400 response from POST<EMAIL_ADDRESS><Response [400]>)

Catch the exception and check the attached API response (.args[1].text), that might provide a clue as to what went wrong.

{"errorCode":201,"message":"Either \"startTime\", \"startComposeTime\"query string parameter must be provided"}

Are you actually a member of the group chat that you're resolving the join URL of?  Does it work if you send to an existing group chat by ID?
Can't currently repro here with either of single or group chats (join URLs providing the latter):
$ SKPY_DEBUG_HTTP=1 python

>>> from skpy import Skype
>>> sk = Skype(...)
...
>>> gc =<EMAIL_ADDRESS>...
>>> msg = gc.sendMsg("Hello")
...
<= [10/04 11:21:12] POST<EMAIL_ADDRESS>{'json': {'Has-Mentions': 'false',
          'clientmessageid': '158...',
          'content': 'Hello',
          'contenttype': 'text',
          'imdisplayname': ...,
          'messagetype': 'Text'}}
=> [10/04 11:21:12] 201
{'Location'<EMAIL_ADDRESS> ...}
{'OriginalArrivalTime': 158...}
>>> msg
SkypeTextMsg(id='158...', type='Text', time=datetime.datetime(2020, 4, 10, 11, 0), clientId='158...', userId=<EMAIL_ADDRESS>content='Hello')

Is Skype for Web including query parameters as the error message suggests?  It's not for me, though it does now include composetime in the request body which SkPy does not.

Web skype sends this request (as shown by Chrome Developer tools):
{"clientmessageid":"4131558000006839807","composetime":"2020-04-10T11:14:57.994Z","content":"test","messagetype":"RichText","contenttype":"text","imdisplayname":"xxx"}

I'm interested in the query parameters (if it has any), as that's what the error message mentions.

This turned out to be associated with # 123. I rolled back the changes and created a user whose name contains only ascii characters. And the exception is gone.


Colors stopped working in ConEmu/Cmder on Windows 7

ConEmu (aka Cmder) defines ConEmuANSI and ANSICON enviroment variables if ANSI codes are supported. You have to check them, as the Composer does.

Set DISABLE_COLORS=0

OK, but I think it's too difficult for most users.


Where is the Residual?

Shouldn't the conv2d function be something like below?
def Conv2d(...):
   weights=tf.Variable(...)
   biases=tf.Variable(...)
   network=tf.layers.conv2d(input_x, ....)
   network = network + biases
   network = network + input_x
   return network

I don't see the residual network in your code, please advise. Thanks!

In residual_layer
you cas see input_x = Relu(x + pad_input_x


fix(docs): correct command documentation in combobox

Fix: Documentation for Combobox Command
In this update, I corrected the documentation for the Combobox command to ensure clarity and accuracy. The following changes were made:
https://github.com/pacocoursey/cmdk/releases/tag/v1.0.0
Rendering the Command.List part (CommandList if using shadcn) is now mandatory.
These changes fix the following bug:
https://github.com/shadcn-ui/ui/issues/2980

LGTM ✨, Nice work @fran-veiras
Any news about merging this fix? @shadcn

@fran-veiras I think this was fixed in another PR. Closing this for now. But please reopen if not. Thank you.


jsdoc: incorrect sorting of typedefs

 /**
   * @typedef {Object} SPContext
-  * @prop {PnpWeb} web
-  * @prop {PnpList} spList
-  * @prop {number} spListId
-  * @prop {Models} models
-  * @typedef {PnpItem & {File?: *, Folder?: *}} SPDetail
+  * @typedef {PnpItem & {File?: any; Folder?: any}} SPDetail
+  * @property {PnpWeb} web
+  * @property {PnpList} spList
+  * @property {number} spListId
+  * @property {Models} models
 */

It shouldn't have moved the second typedef before the props...

@wmertens I'm so sorry! There's something wrong with my notifications; I'm watching all activity on the repository, but I never got an email about this.
I'll be checking the issue and the PR between today and tomorrow.

No problem, and thanks for your awesome plugin, it makes typing in plain js so much better, because you can see mistakes due to the code not formatting.

Hey! Thank you for the kind words :D!
Now you are probably going to hate me :P : unfortunately, it's intended to work like that.
The sorting functionality doesn't understand how some tags play together, it simply takes a list of tags and a reference list and makes sure the tags respect the priority of the reference list:
/**
 * Creates the function used by `Array.sort` to actually sort the tags based on a
 * reference list.
 *
 * @param {string[]} ref  The reference list with the order for the tags.
 * @returns {Function}
 */
const createSorter = (ref) => {
  const useGetIndexOrFallback = get(getIndexOrFallback);
  const fallback = useGetIndexOrFallback(ref, ref.length, 'other');
  const getTagWeight = useGetIndexOrFallback(ref, fallback);
  return (a, b) => getTagWeight(a.tag) - getTagWeight(b.tag);
};

That logic would get a little bit more complex if I were to add checks like "but there's another typedef on this block? Does it have properties? Which properties correspond to which typedef", when the alternative is as simple as creating two blocks (2 or 3 extra lines):
 /**
  * @typedef {Object} SPContext
  * @prop {PnpWeb} web
  * @prop {PnpList} spList
  * @prop {number} spListId
  * @prop {Models} models
+ */
+/**
  * @typedef {PnpItem & {File?: *, Folder?: *}} SPDetail
  */

Now, if you think there's a way to do it, generic enough that can be configured, I would gladly accept a PR, review it and help you if you need it, but having such a simple workaround, I can't give it priority, sorry 🙏!
Btw, I'll check the notifications' configuration right now, so I won't miss other issues/PRs.
Regards

Ok makes sense, I'll close this for now


orbit has a child camera pointing +z upon run, but When I press run, the camera automatically faces +x

Issue title
Description
I'm trying to setup a orbit camera upon run to face the +z direction. The orbit rotation is [0, 0, 0]. The camera's rotation is [0, 0, 0].
but When I press run, the camera automatically faces +x. Could you help?
Version

0.96

Platform

Web Version [X]
Windows [X]
Linux [X]

Hi.
Im aware of this problem, but i totally forgot to fix it.
Thanks a lot for reminding.
Happy holidays.
Cumps


blog: use line-clamp for better description clipping

Hello @hyu,
Please review the following commits I made in branch nicks/fontsize:
443b5a9be5df2d270b6248965d4c7eebadbd8466 (2021-11-16 18:23:23 -0500)
blog: use line-clamp for better description clipping
Code review reminders, by giving a LGTM you attest that:

Commits are adequately tested
Code is easy to understand and conforms to style guides
Incomplete code is marked with TODOs
Code is suitably instrumented with logging and metrics

before:

after:

(even though it's webkit-prefixed, seems like all the browsers respect it: https://caniuse.com/css-line-clamp)


Configurable dependencies

What does this PR do?
Introduces a new configuration parameter (additionalNgDependencies) which allows users of the styleguide to inject dependencies while bootstrapping the style guide rather than during lazy load of components. Usage details have been added to the README.
This became necessary when trying to integrate the sc5-styleguide with a component library that used ngMaterial because ngMaterial doesn't play nicely with ocLazyLoad. See this GitHub issue for more details.
Testing done
We've been using this fork on our project for about a month and haven't noticed any issues.
Thanks

The coverage decrease here is really small so I'm hoping it's acceptable. Otherwise, I'm not sure of the best way to test my changes to app.js. Definitely open to suggestions.


backend: Add request parameter to json_success.

Refactors json_success to accept a request parameter, which is a prerequisite for making the ignored_parameters_unsupported functionality available on all API endpoints. See this CZO chat for more context.
The first 4 commits are preparatory steps:

Passing down the request to a few functions in views that did not previously do so.
Removing an occurrence of json_success in a function called from a queue processor.
Removing a custom linter rule that is no longer useful.

The 5th commit:

Adjusts the signature of json_success to be json_success(request, ...), but doesn't use the new parameter.
Adds said parameter to all occurrences of `json_success' in the repository.

This is looking good @laurynmm!  I posted a batch of comments on how we might better address the corner cases covered in the prep commits.  We should also be sure to adjust the references in documentation:
$ git grep json_success docs/
docs/testing/testing-with-django.md:- assert_json_success
docs/tutorials/life-of-a-request.md:`json_success(data=<some python object which can be converted to a JSON string>)`.
tabbott@coset:~/zulip$ git grep json_success templates/
templates/zerver/api/incoming-webhooks-walkthrough.md:from zerver.lib.response import json_success
templates/zerver/api/incoming-webhooks-walkthrough.md:    return json_success()
templates/zerver/api/incoming-webhooks-walkthrough.md:`json_success()`.
templates/zerver/api/incoming-webhooks-walkthrough.md:`send_webhook_payload`, which checks the result with `assert_json_success`.

@timabbott Thanks for the detailed review; it helped me learn a quite a bit about how to go about these kinds of tasks.
I've gone back through and updated the preparatory commits re: your comments and added a separate commit for the documentation updates. Let me know if anything looks off or still needs work.

This is great, merged with the small changes noted above, thanks @laurynmm!
Congratulations on completing your first big refactor :).  I think there are a few next steps to pursue in parallel:

Try moving/copying this block to run in every json_success and JsonableError call, and write a test suite for this feature (Perhaps in test_decorators.py, using an artificial view defined just in that file?  Not sure what's cleanest), and see what breaks / needs updating.  One step we'll want to do here is basically add a temporary assertion that this never has anything in it HTTP requests in the test suite, and to see what tests fail with that assertion (this should be the case anywhere that we are parsing parameters not using REQ, I think).  That will likely spawn a series of discussions/refactors/etc. to resolve such situations into a state we're happy with.
Bump the #api design thread about this with the question of whether we want ignored_parameters_unsupported to be present unconditionally, or only when there are some.  I'm most tempted by preserving the current model, where we don't mention parameters that are unused, since that way if you're manually inspecting HTTP responses from Zulip, you only see this property if you have a potential bug.  But it's worth discussion since there's arguments both way.

    # TODO: Extract `ignored_parameters_unsupported` to be a common feature of the REQ framework.
    from zerver.lib.request import RequestNotes

    request_notes = RequestNotes.get_notes(request)
    for req_var in request.POST:
        if req_var not in request_notes.processed_parameters:
            request_notes.ignored_parameters.add(req_var)

    result: Dict[str, Any] = {}
    if len(request_notes.ignored_parameters) > 0:
        result["ignored_parameters_unsupported"] = list(request_notes.ignored_parameters)

    return json_success(request, data=result)


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.10.44 to before v5.10.88",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e806df71eed223ab8ca099c61a41f3e9a576733f",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=74dc97dfb276542f12746d706abef63364d816bb"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "e806df71eed223ab8ca099c61a41f3e9a576733f",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "74dc97dfb276542f12746d706abef63364d816bb",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "rds: memory leak in __rds_conn_create()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.88 by commit 74dc97dfb276542f12746d706abef63364d816bb, it was introduced in version v5.10.44 by commit e806df71eed223ab8ca099c61a41f3e9a576733f. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002702


Cannot forecast on question

Current behavior
https://www.metaculus.com/questions/29242/

Visit this question
submit a forecast
In the UI: observe

an apparently successful forecast
in the top nav, 'closes in 2 days'

In the network inspector: observe

{"error":"Question 29145 is already closed to forecasting !","message":"$undefined"}

Reload the page and observe the forecast was not successful

Expected/desired behavior

If a forecast is not successful, the UI should give some feedback to reflect that
If this question is in fact closed, the forecasting controls should be disabled and the timer should say "resolves in X days" instead (or something like that)
If the question is supposed to be open, a forecast should be allowed :-)

"Closes in 2 days" is likely reading from the Post object rather than the Question object.
I think we should eliminate all timing fields from the Post object and just infer these things from the question / questions at serialization time. it won't be that much to check.


kube-proxy: --hostname-override in AWS Cloud Provider

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Add Cluster - Amazon EC2 Provider + Amazon Cloud Provider
Add proper tags for resources in AWS (subnets/nodes etc)
Install custom ingress + NLB - https://kubernetes.github.io/ingress-nginx/deploy/#aws

Result:
NLB health-check fails
Other details that may be helpful:
This in Service:
externalTrafficPolicy: Local
type: LoadBalancer
When adding nodes to cluster we need to specify hostname prefixes. Then kube-proxy is setting that name in --hostname-override parameter on start on each node. That name is not recognized by kubernetes cluster, because hostnames/ip addresses are grabbed from AWS (check kubectl get nodes).
This is related to this issue: https://github.com/kubernetes/kubernetes/issues/80579
One of the solutions could be set this parameter to "" (empty) when creating ec2 nodes.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2.8
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Infrastructure Provider EC2 + Cloud provider: Amazon
Machine type (cloud/VM/metal) and specifications (CPU/memory): cloud t3.medium
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:16Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.39 (downgraded from 1.40)
 Go version:        go1.12.5
 Git commit:        74b1e89
 Built:             Thu Jul 25 21:21:05 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.8
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       0dd43dd
  Built:            Wed Jul 17 17:07:25 2019
  OS/Arch:          linux/amd64
  Experimental:     false

gzrancher/rancher#11551
gz#12799

Adding to cluster conf:
  kubelet:
    extra_args:
      hostname-override: ""
  kubeproxy:
    extra_args:
      hostname-override: ""

also doesn't work.

I was able to deal with this by creating cluster from custom nodes with cloud provider AWS enabled.
When setting up docker to register to cluster I've added those parameters:
--internal-address $(curl http://<IP_ADDRESS>/latest/meta-data/local-ipv4) --node-name $(curl http://<IP_ADDRESS>/latest/meta-data/hostname)
adding --node-name in my case is required because ec2.internal is added to hostname
(if you have public-address you need also add --public-address)
Now NLB and nodeIP services works as supposed with externalTrafficPolicy: Local in Service.
I hope that this will be added to Amazon EC2 Clusters creation.

This is a super important feature for us because ELB using least outstanding requests routing algorithm which cause data loss and NLB has limitations of 250 nodes per AZ. Once this feature/bug is resolved we can setup the NLB with externalTrafficPolicy: Local which will override the limitation of 250 nodes.

It seems to me that we just need a way to set the node's hostname to what's provided in EC2 metadata (ip-1-2-3-4.us-east-2.compute.internal for example). I tried using the userdata field to accomplish this, but it seems to always get overwritten by what's set in the node template.
I was able to determine this by creating a single node cluster then set extra_args.hostname-override to that hostname for kube-proxy. Once that is set this essentially works. This obviously doesn't scale past single node clusters though.

It seems to me that we just need a way to set the node's hostname to what's provided in EC2 metadata (ip-1-2-3-4.us-east-2.compute.internal for example). I tried using the userdata field to accomplish this, but it seems to always get overwritten by what's set in the node template.
I was able to determine this by creating a single node cluster then set extra_args.hostname-override to that hostname for kube-proxy. Once that is set this essentially works. This obviously doesn't scale past single node clusters though.
gz#12799

Are there any updates on this?

As a side effect, we see this over and over again in kubelet.
W0104 03:10:20.631256 1539583 setters.go:198] replacing cloudprovider-reported hostname of ip-1-2-3-4.hello.world.io with overridden hostname of aws-worker3

This documentation seems incorrect. It says this but this is not true in practice.

There is an exception for the AWS cloud provider, where the hostname_override field will be explicitly ignored.

https://rancher.com/docs/rke/latest/en/config-options/nodes/#overriding-the-hostname

I believe this is where the kube-proxy container's --hostname-override flag is configured. Where it really should be the output of
curl http://<IP_ADDRESS>/latest/meta-data/hostname

Reference: https://github.com/rancher/rke/blob/2159597d0f5e7e765d0bbb46e70ab2adb8980372/cluster/plan.go#L628
func (c *Cluster) BuildKubeProxyProcess(host *hosts.Host, serviceOptions v3.KubernetesServicesOptions) v3.Process {
	kubeproxy := &c.Services.Kubeproxy
	Command := c.getRKEToolsEntryPoint(host.OS(), "kube-proxy")
	CommandArgs := map[string]string{
		"cluster-cidr":      c.ClusterCIDR,
		"hostname-override": host.HostnameOverride,
		"kubeconfig":        pki.GetConfigPath(pki.KubeProxyCertName),
	}

From here
https://github.com/rancher/rke/blob/2159597d0f5e7e765d0bbb46e70ab2adb8980372/cmd/config.go#L68-L86
func getConfig(reader *bufio.Reader, text, def string) (string, error) {
	for {
		if def == "" {
			fmt.Printf("[+] %s [%s]: ", text, "none")
		} else {
			fmt.Printf("[+] %s [%s]: ", text, def)
		}
		input, err := reader.ReadString('\n')
		if err != nil {
			return "", err
		}
		input = strings.TrimSpace(input)

		if input != "" {
			return input, nil
		}
		return def, nil
	}
}

I'm unsure how this is generated.
func getHostConfig(reader *bufio.Reader, index int, clusterSSHKeyPath string) (*v3.RKEConfigNode, error) {
	host := v3.RKEConfigNode{}
...
...
...
	hostnameOverride, err := getConfig(reader, fmt.Sprintf("Override Hostname of host (%s)", address), "")
	if err != nil {
		return nil, err
	}
	host.HostnameOverride = hostnameOverride

https://github.com/rancher/rke-tools/pull/143

Fix now available to test with the latest k8s versions (which have rke-tools v0.1.79):

v1.23.4-rancher1-1
v1.22.6-rancher1-2,
v1.21.9-rancher1-2,
v1.19.16-rancher1-4

Can be tested on v2.6-head (which vendors RKE v1.3.4-rc8 so has the RKE fix as well).

Validated this on rancher v2.6-head(99974f0)
Validation steps followed:

Created k8s 1.23.4-rancher1-1, 1.22.7-rancher1-1, 1.21.10-rancher1-1, 1.19.16-rancher1-4 single node ec2 node driver cluster with in-tree cloud provided enabled.
SSH'ed into the cluster nodes.
The --hostname-override arg is present in the kube-proxy process but not showing up on running docker inspect kube-proxy

Result :

Note: I've removed the IPs from the below outputs

ps -ef | grep -i kube-proxy
root        9611    9588  0 06:08 ?        00:00:05 kube-proxy --bind-address=<> --cluster-cidr=<>/16 --kubeconfig=/etc/kubernetes/ssl/kubecfg-kube-proxy.yaml --v=2 --healthz-bind-address=<IP_ADDRESS> --hostname-override=ip-<>.us-east-2.compute.internal

Not showing up in the container args :

docker inspect kube-proxy

[
    {
        "Id": "4836bd72ee4d78e2c137e03fc78a989d21c5a60541ae4b4c6fe8763285ddb200",
        "Created": "2022-03-15T06:08:45.959944677Z",
        "Path": "/opt/rke-tools/entrypoint.sh",
        "Args": [
            "kube-proxy",
            "--bind-address=<>",
            "--cluster-cidr=<>/16",
            "--kubeconfig=/etc/kubernetes/ssl/kubecfg-kube-proxy.yaml",
            "--v=2",
            "--healthz-bind-address=<IP_ADDRESS>"
        ],
...

Also created custom ingress + NLB as mentioned here on all downstream clusters. LoadBalancer service created for ingress-nginx-controller and on accessing the http://<EXTERNAL-IP>/healthz getting HTTP/1.1 200 OK response

Verified the logs of kube-proxy on all k8s clusters 1.23.4-rancher1-1, 1.22.7-rancher1-1, 1.21.10-rancher1-1, 1.19.16-rancher1-4 and the --hostname-override is getting set correctly to the node name assigned by the cloud provided, hence closing the issue.


ES 6.x support for language detection?

I'm looking for language detection options for ES 6 and I'm seeing nothing for it.  I see things for 5.x including langdetect but nothing for 6.x.  Can I use the langdetect 5.x plugin?  Is there something else elastic recommends?  The community is oddly silent on the issue though I've also asked this question there.

++


Perfusion model

Just noticed @tanguyduval's working on this again, thought I'd open an issue so that everyone is aware. @tanguyduval feel free to provide any details/questions/discussion here.
branch: Perfusion

@ileppe were you also working on this, or planning on it? I've got a faint memory that someone mentioned it recently, but I can't put my finger on who or when.

@mathieuboudreau I have DCE data so I wrote this module.
Currently, I'm assuming that the bolus input function is a dirac, but I have some code to (i) detect arteries and (2) deconvoluate the bolus the Arterial input Function measured in the arteries.
After that, there is significant work to implement the models of the bolus that are used to extract information such as cerebral blood flow, transi-time, ktrans, etc...
I think @notZaki mentionned about DCE. If you do have some code/models that you want to implement in this module, feel free to take the lead on this branch (I am not activelly developping it).

@mathieuboudreau I also have some older code for many different fitting models, but I had sent whatever I had to Ives so it's very likely @notZaki has expanded way beyond those by now!

@tanguyduval Is the branch also supposed to handle dynamic susceptibility contrast (DSC) data? The code seems to be using R2star which is typically used for DSC.
@mathieuboudreau There is a fair bit of pre-processing for DCE modelling---possible motion correction, T1 mapping, signal to concentration conversion, selection of arterial input function or reference region---some of which might require user interactivity. Should these steps also be included? This might be related to previous discussion on ASL #207
@ileppe Thanks for sharing that code by the way. It was really helpful at getting me started.

@mathieuboudreau There is a fair bit of pre-processing for DCE modelling---possible motion correction, T1 mapping, signal to concentration conversion, selection of arterial input function or reference region---some of which might require user interactivity. Should these steps also be included? This might be related to previous discussion on ASL #207

Heh, this topic (if to include pre-processing or not, and if to write our own functions for them or call external tools like SPM) has been going on and off for the better part of a year. I don't think I have an answer for you at the moment; we have qMRLab meetings (located at the Poly campus, or via videocall for people not in town like me) every three weeks or so, so if you want you're certainly invited to join at an upcoming meeting to expand on what would be needed and what you've been doing so far in terms of pre-processing.
What I've been recommending has been to always try implement the easiest workflow, and work yourself up from there. i.e. first create a qMRLab model that assumes you've already had all your pre-processing done already (and/or anything absolutely essential/unique to your method), and wait to implement the pre-processing steps later one at time. This way, it gives the option for the user to choose the external pre-processing tools that they are comfortable with already, but leaves the door open for the development of the pre-processing tools when developers get the time later on. For example, we first developed the B1 mapping models, and now @ileppe has been working on implementing an image filtering step which is a common B1 mapping preprocessing step.
tl;dr do the largest/easier chunk first, if possible. But I don't have experience with DCE/ASL, so you're input on what's an essential pre-processing step to include right away dor DCE and which ones we could assume can be done externally (e.g. registration, brain masking, etc) would be very valuable.

Just to notice that we are going to contribute on perfusion models during the MRathon. I'll focus on adding a simple concentation calculation and extended Tofts pharmacokinetics model that will be validated using the QIBA_v4 DCE digital reference object commonly used in the field. More concentration equations and pharamacokinetics models should be added on longer term.

Example DSC data can be added from Dynamic Susceptibility Contrast MRI toolbox (https://github.com/marcocastellaro/dsc-mri-toolbox), see demo-data.
the filename in Perfusion model directory (DCE.m) should be DSC.m

I'm trying to make voxelwise DCE fitting to work.
I am using the preprocessing method function PrecomputeData to compute the AIF over the 4D dataset from a mask before voxelwise fittin. However this function does not seem to be called by the "Voxel fit" option, hence I cannot compute AIF.
Is there a way to force a 4D preprocessing step (AIF from mask) prior to 1D fitting?

@b3nbm can you make sure that you have defined the method as Precompute/PrecomputeData but not as PreCompute ?

the method is defined as PrecomputeData

@b3nbm
I tried your branch and it looks like PrecomputeData does get called.
I just used junk data for a quick test, using the below code:
clear
Model = dce;
[nx, ny, nz, nt] = deal(2,1,1,661);
data.DCEData = randn(nx, ny, nz, nt) + 5;
data.T1Map = randn(nx, ny, nz) + 5;
data.MaskAIF = zeros(size(data.T1Map));
data.MaskAIF(1,1,1) = 1;
fitObj = FitData(data, Model);
plot(fitObj.Model.aif)

and I can see an AIF.
It's not a pretty AIF, but that's not the code's fault.


Apply multi currency to RPCs

The original Bitcoin core only serves single currency. Gcoin supports multi currency natively, which means the RPCs that are related to amount should serve color at the same time.

pass


Fix OTP .appup.src processing on empty lists

Fix rebar crash while building YAWS project
Expand test cases to handle .appup.src with
empty upgrade from and downgrade to lists, lift
larger .appup.src file from OTP's
lib/dialyzer/test/r9c_SUITE_data/src/asn1/asn1.appup.src

@vinoski does this seem to fix the Yaws issues for you? I'll merge it if so, branch looks good.

Hi @ferd, I'll try it out soon and let you know.

@ferd: yep, it works.


Feature Discoverability Suggestion: In export dialog add tooltip/description of what "Embed Scene" means

Loving the product!
I have a UX improvement suggestion, to make a killer feature of excalidraw more easily discoverable.
The ability to embed the scene into the png and then edit it again in the future, I think awesome, and one of those features that until you know it exists, you didn't know you needed.
I have exported plenty of figs, always keeping a separate .excalidraw file, just in case (obviously they get lost).
I saws the "embed scene" checkbox, but did not really understand it's purpose.
I think users will be fare more likely to use it if it had a more descriptive name or just a tooltip ℹ box or something.

I agree, and I believe it was discussed once. I don't recall what were the suggestions for different names. Do you have some?

just a tooltip ℹ box or something.

How would that differ from the ? tooltip, apart from the icon change?

This is exactly what I meant! I wouldn't change a thing. But it is the first time I see this tooltip.
I attach the view I get. I use Safari on https://excalidraw.com.


assets[entrypoint].js.map is not a function

I just created new app and on my very first run of yarn start I am getting this error
✔ Client
  Compiled successfully in 1.13s

✔ Server
  Compiled successfully in 179.78ms

✅  Server-side HMR Enabled!
> Started on port 3000

TypeError: assets[entrypoint].js.map is not a function

  15 |
  16 | const jsScriptTagsFromAssets = (assets, entrypoint, ...extra) => {
> 17 |   return assets[entrypoint] ? assets[entrypoint].js ?
  18 |   assets[entrypoint].js.map(asset=>
  19 |     `<script src="${asset}" ${extra.join(" ")}></script>`
  20 |   ).join('') : '' : '';

any idea?

Ok, this part of documentation helped to solve the issue:
To make sure Razzle is installed properly make sure Razzle devDependencies are installed, run:
yarn add --dev \
  razzle \
  razzle-dev-utils \
  babel-preset-razzle

... and Razzle peerDependencies are installed, run:
yarn add --dev \
<EMAIL_ADDRESS>\
<EMAIL_ADDRESS>\
<EMAIL_ADDRESS>