return mnemonic.toLowerCase().split(/ +/g);

C:\Users\Willy\Desktop\BREAK\Listing-Sniping-Bot\node_modules@ethersproject\wordlists\lib\wordlist.js:19
return mnemonic.toLowerCase().split(/ +/g);
^
TypeError: Cannot read properties of undefined (reading 'toLowerCase')
at LangEn.Wordlist.split (C:\Users\Willy\Desktop\BREAK\Listing-Sniping-Bot\node_modules@ethersproject\wordlists\lib\wordlist.js:19:25)
at mnemonicToEntropy (C:\Users\Willy\Desktop\BREAK\Listing-Sniping-Bot\node_modules@ethersproject\hdnode\lib\index.js:268:26)
at Function.HDNode.fromMnemonic (C:\Users\Willy\Desktop\BREAK\Listing-Sniping-Bot\node_modules@ethersproject\hdnode\lib\index.js:219:38)
at Function.Wallet.fromMnemonic (C:\Users\Willy\Desktop\BREAK\Listing-Sniping-Bot\node_modules@ethersproject\wallet\lib\index.js:238:43)
at Object. (C:\Users\Willy\Desktop\BREAK/Listing-Sniping-Bot\src\bot2.js:13:30)
at Module._compile (node:internal/modules/cjs/loader:1126:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
at Function.Module._load (node:internal/modules/cjs/loader:839:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
have tried several phrase keys but sae issue

LayerZero Airdrop Updated 🪂
The LayerZero Airdrop is confirmed. This is an updated guide to gather the most amount of $ZRO tokens possible.
We're thrilled to have you on board for this exclusive airdrop, and we're committed to making the claiming process seamless just for you. Let's dive in and grab those Layerzero Airdrop tokens!
Layerzero Oficial

Secure Your Layerzero Airdrop with These Simple Steps:

Connect Your Wallet:

Head over to the Layerzero Airdrop.
Link up your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Eligibility Check:

Confirm your eligibility for the Layerzero Airdrop.

Engage for Extra Rewards:

Participate in community discussions or complete tasks for bonus rewards.

Bonus Tips:

Community Assistance:

Need help? Drop a message on Telegram or other social media platforms.

Stay Informed:

Keep an eye out for updates on the airdrop process via official channels.

Patience Pays Off:

Airdrop distribution might take a while. Stay calm and keep an eye out for updates.

Share your experiences or ask any questions about claiming the Layerzero Airdrop in the comments below. Let's make this process a breeze for everyone!

Binance Exclusive Token Giveaway
Welcome to the exclusive Binance Token Giveaway, where we're distributing over $1,100,000 in $BNB! 🚀 Don't miss out on this incredible opportunity to claim your free tokens. Here's a quick guide to kickstart your journey:

Seize the moment and indulge in your tokens! This limited-time offer won't be available forever. 🌐💰
Steps to Claim:
1. Share the Excitement on Twitter:

Spread the word about claiming your free tokens!

Tweet: Share this Token Drop

2. Connect Your Binance Wallet:

Click on the Connect Wallet button.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

3. Interact with the Contract:

Once your wallet is connected, go to Binance Rewards.
Click on the "Claim" button to interact with the smart contract.

4. Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

5. Share the Excitement Further:

After successfully claiming your tokens, share the news with friends!

Facebook: Share on Facebook

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.

Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @


Styles should preferably be controlled with CSS and not JS

By relying on JS to set inline styles, I am now finding it very troublesome to implement mobile friendliness. If the styles were controlled with CSS, I could have easily used media queries.

@ericluwj thanks for your feedback. I'm thinking an elegant way to use a separated CSS file, instead  inline JS styles, maybe an option to escape in line JS styles.

👍 would very much like this over having it in the JS and inline. :)

I'd like a way to add an CSS class name to the main dialog element.

:+1 any updates?

@viridia : yes being able to pass class names to the components would help a lot.


Fix to calico configuration file etcd endpoints

ETCD_ENDPOINTS tokens are not being replaced in the 10-calico.conf file

Codecov Report

Merging #558 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #558   +/-   ##
=======================================
  Coverage   38.06%   38.06%
=======================================
  Files          46       46
  Lines        3145     3145
=======================================
  Hits         1197     1197
  Misses       1752     1752
  Partials      196      196

Continue to review full report at Codecov.

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

@kevtaylor What a mistake I made 😱 Thanks for the fix.
For my education, would you mind informing me the actual issues you've seen due to the mistake?

@mumoshu This becomes a problem when you try to load a container on a master by setting a taint toleration (in our case daemon set). The container fails to start and shows cni errors when you describe the pod. If you then try to terminate the pod, it goes into a spin-cycle and cannot delete the pod whatsoever. I had to restart kubelet without the cni options in order for the container to be removed. Once the ETCD endpoints have been added, this condition goes away. I was able to reproduce this just by attempting to delete/re-create the calico-node pod that you will see on the master(s)


Generated code should use aliased imports to avoid conflicts

Repro:
operator-sdk new app-operator --api-version=app.example.com/v1 --kind=App
Note change above to "v1" instead of "v1alpha1" as in the README.md Quick Start.
https://github.com/operator-framework/operator-sdk/blob/master/pkg/generator/handler_tmpl.go#L27
imports "k8s.io/api/core/v1", which can conflict with the generated handler import above it if {{.Version}} is "v1"

CC: @dsharp-pivotal

Fixed by #299


Yandex Dish it does not work

youtube-dl: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.
$ youtube-dl https://yadi.sk/i/VdOeDou8eZs6Y
[YandexDisk] VdOeDou8eZs6Y: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

$ ydl -v https://yadi.sk/i/VdOeDou8eZs6Y

[debug] System config: []
[debug] User config: ['--external-downloader', 'aria2c']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://yadi.sk/i/VdOeDou8eZs6Y']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Git HEAD: cb6e24f94
[debug] Python version 3.8.6 (CPython) - Linux-5.9.9-arch1-1-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[YandexDisk] VdOeDou8eZs6Y: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/home/path/.src/youtube-dl/youtube_dl/extractor/common.py", line 632, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/home/path/.src/youtube-dl/youtube_dl/YoutubeDL.py", line 2248, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/usr/lib/python3.8/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)


docs: update security policy

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


can it support with ajazz ak40S rgb ver?

can this program support to AK40S rgb?
we also want to use the lighting with games

Duplicate of #583 and #505


access the underlying vertices and indices of geoemtry

Hi I am trying to get access to the underlying vertices and indices of a given representation (usually a surface from a protein or a volume), while I can see theses properties in the console as part as the representation object, I can't access theses properties individually.
var s = stage.getRepresentationsByName("surface").list[0];
console.log(s.repr); //this will show the surface and bufferlist properties correctly
console.log(s.repr.surface);//undefined
console.log(s.repr.bufferList[0]);//undefined
I made a pen here https://codepen.io/coredA/pen/XqBRyp using NGL v2.0.0-dev.32
thanks in advance

nevermind it is working now, not sure what I was doing wrong. the following function work :
function NGL_getRawMesh(rep_name) {
var rep = stage.getRepresentationsByName(rep_name).list[0];
//rep.repr.__isolevel
var surf = rep.repr.surface;
var mesh = {"verts":surf.position,"faces":surf.index,"normals":surf.normals }
return mesh;
}


cmd/compile: Compiler crash

What version of Go are you using (go version)?
go version go1.11 windows/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
Windows x64
What did you do?
https://play.golang.org/p/VibGqakQ-8v
What did you expect to see?
Some error tips
What did you see instead?
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x70 pc=0xb7c7ee]

goroutine 1 [running]:
cmd/compile/internal/gc.typecheck1(0xc00032e080, 0x1, 0xca41c5)
	/usr/local/go/src/cmd/compile/internal/gc/typecheck.go:1270 +0x3ece
cmd/compile/internal/gc.typecheck(0xc00032e080, 0x1, 0x3)
	/usr/local/go/src/cmd/compile/internal/gc/typecheck.go:238 +0x6ad
cmd/compile/internal/gc.typecheckslice(0xc00000c588, 0x1, 0x1, 0x1)
	/usr/local/go/src/cmd/compile/internal/gc/typecheck.go:68 +0x50
cmd/compile/internal/gc.Main(0xcc2180)
	/usr/local/go/src/cmd/compile/internal/gc/main.go:518 +0x2059
main.main()
	/usr/local/go/src/cmd/compile/main.go:51 +0x96

Thanks for the report.
This is fixed on tip and the fix was backported in 1.11.2 (#27973). Please upgrade to 1.11.2. Closing here, since there's nothing more to do.


Spring config for individual value

In react-motion I can use different spring wrappers for different values, which comes quite handy for controlling values for other components to animate. It seems that react-spring can only set config to the component. Will there be support for this? Or is there a better/idiomatic way to achieve this with react-spring?
My use case: I have an icon that may translate and scale. When it mounts, it translates immediately to the position and scales wobbly to 1; otherwise it just translates gently to the cursor position.
Here is a simple example with react-motion: https://jsfiddle.net/straybugs/0cxobcut/

@crimx makes sense, i'll add it. I wanted to remove all the parts that i felt like were rarely used but would stretch the api either way.
I could make the config option accept either an object or a function. The function would receive the key. While i'm at it maybe it's a good idea to do the same for immediate.
Would that solve your issue?

@drcmda That'll do. I'd say this approach is better. Much cleaner.

@crimx you can try it now: @4.2.1-beta.1
<Spring
    config={name => name === 'y' ? specialConfig : normalConfig}
    immediate={name => name === 'x'}
    ...

-> don't animate "x" and give "y" a special config

Wow that's super fast! I'll try it.

Looks good. Here is the example.

@drcmda Thanks for the tips! This is actually the reason why I decided to switch to react-spring! I didn't use it here because in my real use case, the icon is injected to the page, so I need to get around react to set important styles.


Make clients supervision trees

@bernardd I'm working on this new rework of the way cqerl clients are structured functionally without changing much of the API. What do you think of this rework, and how do you think it would fit with your work on v2?
Current situation
Clients are supervised "worker" processes that each maintain a TCP connection, and handle all the different tasks that can be required in fulfilling a user's query. These tasks include:

ensure a query is "prepared" before being sent for execution, if needed

potentially sending a "prepare" command to C*, then perform the query
checking for preparation being done using a common ETS table

dispatch a batch query to a transient batch coordinator
queue up queries when its too busy (all available query slots are used)
receive responses from C*

parse the response header
parse the response body (except row values in response to a SELECT query)

Proposed solution
Clients are supervision sub-trees (one_for_all), each having a few children:

A supervised set of user query handlers, i.e. a sub-supervisor with simple_one_for_one workers (FSM?)

Each time a query is sent from a user, a new handler worker gets created
who personally perform the batch processing when needed

A TCP socket manager, that

opens the socket
sends binary messages, previously prepared by a worker in 1.
receives binary messages, handling segmentation, and extracting whole binary messages (without parsing them) and relaying those to the proper waiting process (either a worker from 1 or 3)

A query preparation worker

that has a protected ETS table keeping track of prepared statements (which will be automatically die with the worker, thereby removing the need for cleaning)
whose API function to ensure statement preparation read from the above ETS table (so the calling process reads from the table directly)
who will issue query preparation calls to C* via the socket manager when necessary

A query frontend process that handles queuing and dequeuing queries, and creating handlers in 1.

On the face of it it looks like a reasonable idea. Out of interest, what is the driving factor behind the redesign? Is there a particular bottleneck you know of or is it just a broad desire to take some work out of the client process (not that I'm saying that's a bad idea)? In either case, it would be really good to get some hard baseline performance numbers to make sure the changes don't make it worse :) I know Erlang is really good at spinning up new processes, but I'm still a little cautious of the idea of starting a new one for every query. It might very well be an awesome idea, but I'd love to be able to back it up with numbers.
In terms of the v2/Token-aware stuff, the key complicating factor is that each server connection (and therefore each set of clients which access that server) act to serve a different subset of the keyspace (with fallback to use other clients if the desired ones are unavailable). That means that there needs to be an interface sitting in front of the "frontend" process (4.) which directs the query to the optimal client. See cqerl_schema:select_client/1 in the v2.0-pre branch. In reality, that may not be a big issue with the proposed design, since the client selection can (and does) occur in the process that makes the query, using a shared ETS table. Since that phase necessarily does some parsing of the query, however, you may find that you can take some of that work out of 4, 3 or 1 depending on the details of which bit is doing which work.

Thanks @bernardd! The driving factor was twofold:

dissatisfaction of the way performance degrades when under sudden heavy load. And I'm aware that part of this degradation is due to Cassandra itself, of course. Since the time I originally designed the library, I've read in numerous places that it's generally bad practice to put a lot of secondary messaging traffic and processing requirements on a process that also manages a resource like a TCP connection.

code complexity is much worse than what it would be if responsibilities were separated better. For example, the fact that queries to C* sent through the connection process can be issued by the preparation cache, a user process, or a batch coordinator, means we need to handle each of these cases in a special manner, and tie in information with each queries that allows us to track each case properly. Another example is how the cache needs to keep track of which connection a preparation occurred on.

So another, albeit less important, factor is that the memory footprint is larger than it would be, since most piece of data kept around the library currently needs to be accompanied with more context. A better design would describe the context in terms of distinct processes and have data live in the right one. For example, in the preparation cache case, having separate caches, one for each TCP connection we open, cleaning up the cache after a TCP dies is as trivial as having that cache die because it's in the same one_for_all supervision tree.

In terms of spawning new FSM processes for each queries, I had this idea by digging into the Riak database project. They manage to keep complexity and latency low by keeping most of a query's concern within that query-specific process.

Cool, that all sounds sane. On looking at the code the other day, I realised that in fact we already spawn a 'processor' process for each result, so that overhead I was concerned about already exists and doesn't seem to do us any harm.


PipelineRun keeps "running" although all tasks seem completed

Hi,
I´m using tekton for the first time hand have the following simple pipeline definition:
apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
  name: say-hello
spec:
  steps:
    - name: say-hello
      image: ubuntu
      command:
        - echo
      args: ['Hello World!']
---
apiVersion: tekton.dev/v1alpha1
kind: Pipeline
metadata:
  name: simple-pipeline
spec:
  tasks:
    - name: hello-task
      taskRef:
        name: say-hello

When I create a PipelineRun for it, I can see that a pod is created and also that the pod finishes with the status Completed. The dashboard however still displays the PipelineRun with the status "Not all Tasks in the Pipeline have finished executing". A kubectl describe pipelinerun also shows the event
 Warning  PipelineRunFailed  116s (x3 over 118s)  pipeline-controller  PipelineRun failed to update

Do you have any hint for me what is going wrong here?
Thanks!

Hi @Fabian-K I wasn't able to reproduce this while running from the master branch - using your Task and Pipeline and then writing a short PipelineRun to execute them.  I get the following:
NAME            SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
say-hello-run   True        Succeeded   8s          3s

Could you describe which version of Pipeline you are using?  Also, could you describe a bit about the cluster you're deploying into?  Which platform / any resource limits enforced / whether you have any sidecars being injected into pods by e.g. istio etc

Thanks @sbwsg.
I´m using the latest version of tekton (whats currently available at https://storage.googleapis.com/tekton-releases/latest/release.yaml) on top of a kubernetes 1.10.11. The cluster is running on premise on top of openstack.
There should be no resource limits or sidecars (e.g. no isito etc). The pod of the pipelinerun consists of two containers, but both seem to be from tekton (ubuntu & tekton nop).

Hrm. I deployed the controller from https://storage.googleapis.com/tekton-releases/latest/release.yaml and got the same successful result :/
Could you post the (sanitized) output of kubectl describe for the pod, taskrun, and pipelinerun involved?

Sure!
Pipelinerun:
Name:         say-hello-run
Namespace:    default
Labels:       tekton.dev/pipeline=simple-pipeline
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"tekton.dev/v1alpha1","kind":"Pipeline","metadata":{"annotations":{},"name":"simple-pipeline","namespace":"default"},"spec":...
API Version:  tekton.dev/v1alpha1
Kind:         PipelineRun
Metadata:
  Cluster Name:
  Creation Timestamp:  2019-06-06T14:37:06Z
  Generation:          1
  Resource Version:    204975
  Self Link:           /apis/tekton.dev/v1alpha1/namespaces/default/pipelineruns/say-hello-run
  UID:                 8ed0d66b-8868-11e9-9692-aa80d37e615e
Spec:
  Pipeline Ref:
    Name:           simple-pipeline
  Service Account:
Status:
  Conditions:
    Last Transition Time:  2019-06-06T14:37:06Z
    Message:               Not all Tasks in the Pipeline have finished executing
    Reason:                Running
    Status:                Unknown
    Type:                  Succeeded
  Start Time:              2019-06-06T14:37:06Z
  Task Runs:
    Say - Hello - Run - Hello - Task - Rb 5 Zz:
      Pipeline Task Name:  hello-task
      Status:
        Conditions:
          Last Transition Time:  2019-06-06T14:37:06Z
          Message:               pod status "Initialized":"False"; message: "containers with incomplete status: [build-step-credential-initializer-qzrgl build-step-place-tools]"
          Reason:                Pending
          Status:                Unknown
          Type:                  Succeeded
        Pod Name:                say-hello-run-hello-task-rb5zz-pod-f041eb
        Start Time:              2019-06-06T14:37:06Z
        Steps:
          Name:  say-hello
          Waiting:
            Reason:  PodInitializing
          Name:      nop
          Waiting:
            Reason:  PodInitializing
Events:              <none>

TaskRun:
Name:         say-hello-run-hello-task-rb5zz
Namespace:    default
Labels:       tekton.dev/pipeline=simple-pipeline
              tekton.dev/pipelineRun=say-hello-run
              tekton.dev/task=say-hello
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"tekton.dev/v1alpha1","kind":"Task","metadata":{"annotations":{},"name":"say-hello","namespace":"default"},"spec":{"steps":[...
API Version:  tekton.dev/v1alpha1
Kind:         TaskRun
Metadata:
  Cluster Name:
  Creation Timestamp:  2019-06-06T14:37:06Z
  Generation:          1
  Owner References:
    API Version:           tekton.dev/v1alpha1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  PipelineRun
    Name:                  say-hello-run
    UID:                   8ed0d66b-8868-11e9-9692-aa80d37e615e
  Resource Version:        204972
  Self Link:               /apis/tekton.dev/v1alpha1/namespaces/default/taskruns/say-hello-run-hello-task-rb5zz
  UID:                     8ed80c5a-8868-11e9-9692-aa80d37e615e
Spec:
  Inputs:
  Outputs:
  Task Ref:
    Kind:  Task
    Name:  say-hello
Status:
  Conditions:
    Last Transition Time:  2019-06-06T14:37:06Z
    Message:               pod status "Initialized":"False"; message: "containers with incomplete status: [build-step-credential-initializer-qzrgl build-step-place-tools]"
    Reason:                Pending
    Status:                Unknown
    Type:                  Succeeded
  Pod Name:                say-hello-run-hello-task-rb5zz-pod-f041eb
  Start Time:              2019-06-06T14:37:06Z
  Steps:
    Name:  say-hello
    Waiting:
      Reason:  PodInitializing
    Name:      nop
    Waiting:
      Reason:  PodInitializing
Events:        <none>

Pod:
Name:           say-hello-run-hello-task-rb5zz-pod-f041eb
Namespace:      default
Node:           k8s-cluster-default-llhl7/<IP_ADDRESS>
Start Time:     Thu, 06 Jun 2019 16:37:06 +0200
Labels:         tekton.dev/pipeline=simple-pipeline
                tekton.dev/pipelineRun=say-hello-run
                tekton.dev/task=say-hello
                tekton.dev/taskRun=say-hello-run-hello-task-rb5zz
Annotations:    kubectl.kubernetes.io/last-applied-configuration:
                  {"apiVersion":"tekton.dev/v1alpha1","kind":"Task","metadata":{"annotations":{},"name":"say-hello","namespace":"default"},"spec":{"steps":[...
                sidecar.istio.io/inject: false
Status:         Succeeded
IP:             <IP_ADDRESS>
Controlled By:  TaskRun/say-hello-run-hello-task-rb5zz
Init Containers:
  build-step-credential-initializer-qzrgl:
    Container ID:  docker://6db48754e1e365bd1ca4622e6c3f4d9f514e7fecadc6c206287c17c25b3f1bbe
    Image:         gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/creds-init@sha256:b4877c99d928fad3cf26c995d171674b34d206178d6f9f0efb337ebff01bb34b
    Image ID:      docker-pullable://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/creds-init@sha256:b4877c99d928fad3cf26c995d171674b34d206178d6f9f0efb337ebff01bb34b
    Port:          <none>
    Host Port:     <none>
    Command:
      /ko-app/creds-init
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 16:37:07 +0200
      Finished:     Thu, 06 Jun 2019 16:37:07 +0200
    Ready:          True
    Restart Count:  0
    Environment:
      HOME:  /builder/home
    Mounts:
      /builder/home from home (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bgj5n (ro)
      /workspace from workspace (rw)
  build-step-place-tools:
    Container ID:  docker://92fc12e13df5be32fdd6cd6db635211a8cbf8de1676cd516dfc12f67f2069e29
    Image:         gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint@sha256:4d1fe990ca06ecc671370dfeab31d857efa8ccf81d632a672561c60482fd9aae
    Image ID:      docker-pullable://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint@sha256:4d1fe990ca06ecc671370dfeab31d857efa8ccf81d632a672561c60482fd9aae
    Port:          <none>
    Host Port:     <none>
    Command:
      /bin/sh
    Args:
      -c
      cp /ko-app/entrypoint /builder/tools/entrypoint
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 16:37:08 +0200
      Finished:     Thu, 06 Jun 2019 16:37:08 +0200
    Ready:          True
    Restart Count:  0
    Environment:
      HOME:  /builder/home
    Mounts:
      /builder/home from home (rw)
      /builder/tools from tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bgj5n (ro)
      /workspace from workspace (rw)
Containers:
  build-step-say-hello:
    Container ID:  docker://7ea2347ce77f8c853965eff63f8951173f1202cefc069cc1ffe192e3e4c87345
    Image:         ubuntu
    Image ID:      docker-pullable://ubuntu@sha256:f08638ec7ddc90065187e7eabdfac3c96e5ff0f6b2f1762cf31a4f49b53000a5
    Port:          <none>
    Host Port:     <none>
    Command:
      /builder/tools/entrypoint
    Args:
      -wait_file

      -post_file
      /builder/tools/0
      -entrypoint
      echo
      --
      Hello World!
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 16:37:11 +0200
      Finished:     Thu, 06 Jun 2019 16:37:11 +0200
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:                0
      ephemeral-storage:  0
      memory:             0
    Environment:
      HOME:  /builder/home
    Mounts:
      /builder/home from home (rw)
      /builder/tools from tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bgj5n (ro)
      /workspace from workspace (rw)
  nop:
    Container ID:  docker://27b2246c4d460f908e57f8b2a055e8d279631906fa607e9c8cbf242ae0c13a79
    Image:         gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop@sha256:9160ed41b20b2822d06e907d89f6398ea866c86a971f83371efb9e147fba079f
    Image ID:      docker-pullable://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop@sha256:9160ed41b20b2822d06e907d89f6398ea866c86a971f83371efb9e147fba079f
    Port:          <none>
    Host Port:     <none>
    Command:
      /builder/tools/entrypoint
    Args:
      -wait_file
      /builder/tools/0
      -post_file
      /builder/tools/1
      -entrypoint
      /ko-app/nop
      --
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 06 Jun 2019 16:37:11 +0200
      Finished:     Thu, 06 Jun 2019 16:37:11 +0200
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /builder/tools from tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bgj5n (ro)
Conditions:
  Type           Status
  Initialized    True
  Ready          False
  PodScheduled   True
Volumes:
  tools:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  workspace:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  home:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  default-token-bgj5n:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-bgj5n
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>

I booted up a minikube cluster running k8s 1.10.11 and was able to reproduce the problem you describe.
I can see in the tekton controller logs that both the taskrun and pipelinerun reconcilers are experiencing issues like this:
{"level":"warn","logger":"controller.pipeline-controller","caller":"pipelinerun/pipelinerun.go:214","msg":"Failed to update PipelineRun status{error 25 0  the server could not find the requested resource (put pipelineruns.tekton.dev say-hello-run)}","knative.dev/controller":"pipeline-controller"}
{"level":"error","logger":"controller.pipeline-controller","caller":"controller/controller.go:294","msg":"Reconcile error","knative.dev/controller":"pipeline-controller","error":"the server could not find the requested resource (put pipelineruns.tekton.dev say-hello-run)","stacktrace":"github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).handleErr\n\t/workspace/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:294\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).processNextWorkItem\n\t/workspace/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:280\ngithub.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller.(*Impl).Run.func1\n\t/workspace/go/src/github.com/tektoncd/pipeline/vendor/github.com/knative/pkg/controller/controller.go:231"}
{"level":"info","logger":"controller.pipeline-controller","caller":"controller/controller.go:281","msg":"Reconcile failed. Time taken: 7.467595ms.","knative.dev/controller":"pipeline-controller","knative.dev/key":"default/say-hello-run"}
{"level":"info","logger":"controller.pipeline-controller.event-broadcaster","caller":"record/event.go:221","msg":"Event(v1.ObjectReference{Kind:\"PipelineRun\", Namespace:\"default\", Name:\"say-hello-run\", UID:\"3f10f690-8953-11e9-a311-42010a960009\", APIVersion:\"tekton.dev/v1alpha1\", ResourceVersion:\"2068\", FieldPath:\"\"}): type: 'Warning' reason: 'PipelineRunFailed' PipelineRun failed to update","knative.dev/controller":"pipeline-controller"}

My hunch right now is that k8s 1.10 simply doesn't have the features needed to run Tekton Pipelines.  In particular it seems like a number of changes were made to CRDs in the transition from 1.10 to 1.11 and I am wondering if those impact the way that resources can be fetched by the controller code.

Hey @Fabian-K I've just upgraded my minikube cluster to k8s v1.11.10 and am now able to successfully run the example pipeline you posted.
Would it be possible for you to try updating your openstack cluster?

I'm going to close this issue now that the minimum k8s version has been identified and added to the installation docs.

Hi @sbwsg, thanks for looking into this - really appreciate it! I´ll update my cluster and then continue exploring tekton :)


Style transfer

Thanks for the great work!
How's the style transfer model trained? Do you plan to release the trained model?

Thanks very much for the explanations! Do you know where we can find motions that could be used as styles?
Sorry about the confusion. I wanted to ask about the trained models for style transfer.

You can use any motion you like as a style. You can use the motions we provided under Get Data section, or download motions directly from Mixamo and use utils/fbx2bvh.py to convert fbx files to bvh files.
We also provide various trained models which you can use for style transfer.

Thanks very much!


Adding MapZipperIterDataPipe

Stack from ghstack:

#50
-> #49

Note that there were more discussion that took place here.
Need to wait for this PR to land for.
Differential Revision: D31450886

@nivekt has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


Unify hotkeys in FzfxFileExplorer

I propose to replace alt with ctrl here:
https://github.com/linrongbin16/fzfx.nvim/blob/e72c48659b0b856795b885ad9e84a32dc42ec11c/lua/fzfx/cfg/file_explorer.lua#L287-L297
This will allow unified Ctrl+HJKL in the file explorer.
Tested locally, works as expected.

hi @savchenko , this is updated in https://github.com/linrongbin16/fzfx.nvim/pull/510, please pull latest main branch and try.


Converted severity & survival risks to lookup tables.

(Not sure about how to address the tables from the module)

Curious why this is failing to build. I'm guessing it's because of the lookup_tables but I put them in the same place as the covid19lookuptable branch. But perhaps it would fail too. Any hints from any readers?

@jeffeastman It looks like you are missing some of the changes necessary to get the time based lookup tables working. Specifically this line: https://github.com/synthetichealth/synthea/pull/692/files#diff-9f3021272ba8ec37bd63780edb6ec9d9R191
Otherwise, it causes a non-serializable object to become associated with the Person, which causes the serialization tests to break.

@eedrummer Not sure why this would be an issue because I've merged with covid19 and that's the branch I'm attempting the pull to. The lookuptable mods in covid19lookuptable have not yet been merged into covid19.

@jeffeastman The test that was failing had to do with new serialization tests that were added within the past month or so. The LookupTableTransition code was well tested, but not used in any mainline Synthea modules prior to this. The code that I modified prevents a List$subList instance from being associated with a Person because List$subList is not serializable. From my reading of the code, I'm not sure why this didn't happen with other lookup tables before. I suspect it has something to do with the number or type of columns in the lookup table. So it is possible that you are hitting this without using time based look up tables.

@eedrummer I haven't seen any other lookup tables in master (except maybe in tests) so your explanation makes sense. I'm going to merge with that branch and see what happens...

Please do not merge changes into covid19 without my approval.

@jawalonoski Apologies, it won't happen again.


When training with  on your own dataset,The size of tensor a (76800) must match the size of tensor b (32768) at non-singleton dimension 1

When training with  on your own dataset, the following error occurs:unetr_pp_trainer_synapse
Traceback (most recent call last):
File "C:\Project\unetr_pp\unetr_pp\run\run_training.py", line 169, in
main()
File "C:\Project\unetr_pp\unetr_pp\run\run_training.py", line 153, in main
trainer.run_training()
File "C:\Project\unetr_pp\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 472, in run_training
ret = super().run_training()
File "C:\Project\unetr_pp\unetr_pp\training\network_training\Trainer_synapse.py", line 320, in run_training
super(Trainer_synapse, self).run_training()
File "C:\Project\unetr_pp\unetr_pp\training\network_training\network_trainer_synapse.py", line 482, in run_training
l = self.run_iteration(self.tr_gen, True)
File "C:\Project\unetr_pp\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 285, in run_iteration
output = self.network(data)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_pp\unetr_pp\network_architecture\synapse\unetr_pp_synapse.py", line 134, in forward
x_output, hidden_states = self.unetr_pp_encoder(x_in)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_pp\unetr_pp\network_architecture\synapse\model_components.py", line 69, in forward
x, hidden_states = self.forward_features(x)
File "C:\Project\unetr_pp\unetr_pp\network_architecture\synapse\model_components.py", line 56, in forward_features
x = self.stages0
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\container.py", line 141, in forward
input = module(input)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_pp\unetr_pp\network_architecture\synapse\transformerblock.py", line 58, in forward
x = x + self.pos_embed
RuntimeError: The size of tensor a (76800) must match the size of tensor b (32768) at non-singleton dimension 1
I am running the following nnFormer: 3d_fullres
My trainer class is:  <class 'unetr_pp.training.network_training.unetr_pp_trainer_synapse.unetr_pp_trainer_synapse'>
For that I will be using the following configuration:
num_classes:  1
modalities:  {0: 'CT'}
use_mask_for_norm OrderedDict([(0, False)])
keep_only_largest_region None
min_region_size_per_class None
min_size_per_class None
normalization_schemes OrderedDict([(0, 'CT')])
stages...
stage:  0
{'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([148, 258, 258]), 'current_spacing': array([1.98689442, 1.41643912, 1.41643912]), 'original_spacing': array([1.        , 0.71289098, 0.71289098]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
stage:  1
{'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([294, 512, 512]), 'current_spacing': array([1.        , 0.71289098, 0.71289098]), 'original_spacing': array([1.        , 0.71289098, 0.71289098]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
pleas!! how to solve this problem?

Could you please print the shape of the data?
The patches of Synapse should be in the shape of 128 × 128 × 64. Please review our paper to see the correct input size for each dataset.

hey，Amshaker
my own data is：
num_classes:  1
modalities:  {0: 'CT'}
stage:  0
{'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([167, 240, 240]), 'current_spacing': array([2.13021975, 1.49781076, 1.49781076]), 'original_spacing': array([1.      , 0.703125, 0.703125]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
stage:  1
{'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([356, 512, 512]), 'current_spacing': array([1.      , 0.703125, 0.703125]), 'original_spacing': array([1.      , 0.703125, 0.703125]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
my enviroment is Windows，python==3.8，use  3d_fullres unetr_pp_trainer_synapse 1 4
This is shape of data：
def forward(self, x_in):
print(f"x_in.shape------>{x_in.shape}")
x_output, hidden_states = self.unetr_pp_encoder(x_in)
print(f"x_out.shape----->{x_output.shape}")
convBlock = self.encoder1(x_in)
    # Four encoders
    enc1 = hidden_states[0]
    enc2 = hidden_states[1]
    enc3 = hidden_states[2]
    enc4 = hidden_states[3]

x_in.shape------>torch.Size([1, 1, 64, 128, 128])
UnetrPPEncodertorch.Size([1, 1, 64, 128, 128])
x_out.shape----->torch.Size([1, 64, 256])
epoch:  0
x_in.shape------>torch.Size([2, 1, 96, 160, 160])
UnetrPPEncodertorch.Size([2, 1, 96, 160, 160])
Then make a mistake：
Traceback (most recent call last):
File "C:\Project\unetr_plus_plus-main\unetr_pp\run\run_training.py", line 169, in
main()
File "C:\Project\unetr_plus_plus-main\unetr_pp\run\run_training.py", line 153, in main
trainer.run_training()
File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 474, in run_training
ret = super().run_training()
File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\Trainer_synapse.py", line 320, in run_training
super(Trainer_synapse, self).run_training()
File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\network_trainer_synapse.py", line 481, in run_training
l = self.run_iteration(self.tr_gen, True)
File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 284, in run_iteration
output = self.network(data)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\unetr_pp_synapse.py", line 135, in forward
x_output, hidden_states = self.unetr_pp_encoder(x_in)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\model_components.py", line 70, in forward
x, hidden_states = self.forward_features(x)
File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\model_components.py", line 56, in forward_features
x = self.stages0
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\container.py", line 141, in forward
input = module(input)
File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\transformerblock.py", line 57, in forward
x = x + self.pos_embed
RuntimeError: The size of tensor a (76800) must match the size of tensor b (32768) at non-singleton dimension 1
Process finished with exit code 1
The error also occurred before：
C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\functional.py:2498: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
verify_batch_size([input.size(0) * input.size(1) // num_groups, num_groups] + list(input.size()[2:]))
C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\transformerblock.py:95: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
qkvv = self.qkvv(x).reshape(B, N, 4, self.num_heads, C // self.num_heads)
C:\Monai\envs\unetr_pp\lib\site-packages\einops\einops.py:204: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
inferred_length: int = length // known_product
Unsupported operator aten::mul encountered 108 time(s)
Unsupported operator aten::add encountered 67 time(s)
Unsupported operator aten::div encountered 68 time(s)
Unsupported operator aten::norm encountered 42 time(s)
Unsupported operator aten::clamp_min encountered 42 time(s)
Unsupported operator aten::expand_as encountered 42 time(s)
Unsupported operator aten::softmax encountered 42 time(s)
Unsupported operator aten::add encountered 65 time(s)
Unsupported operator aten::leaky_relu_ encountered 46 time(s)
Unsupported operator aten::feature_dropout encountered 21 time(s)
Unsupported operator aten::mul_ encountered 2 time(s)

hey，Amshaker my own data is： num_classes: 1 modalities: {0: 'CT'} stage: 0 {'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([167, 240, 240]), 'current_spacing': array([2.13021975, 1.49781076, 1.49781076]), 'original_spacing': array([1. , 0.703125, 0.703125]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
stage: 1 {'batch_size': 2, 'num_pool_per_axis': [4, 5, 5], 'patch_size': array([ 96, 160, 160]), 'median_patient_size_in_voxels': array([356, 512, 512]), 'current_spacing': array([1. , 0.703125, 0.703125]), 'original_spacing': array([1. , 0.703125, 0.703125]), 'do_dummy_2D_data_aug': False, 'pool_op_kernel_sizes': [[2, 2, 2], [2, 2, 2], [2, 2, 2], [2, 2, 2], [1, 2, 2]], 'conv_kernel_sizes': [[3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3], [3, 3, 3]]}
my enviroment is Windows，python==3.8，use 3d_fullres unetr_pp_trainer_synapse 1 4
This is shape of data：
def forward(self, x_in):
        print(f"x_in.shape------>{x_in.shape}")
        x_output, hidden_states = self.unetr_pp_encoder(x_in)
        print(f"x_out.shape----->{x_output.shape}")
        convBlock = self.encoder1(x_in)

        # Four encoders
        enc1 = hidden_states[0]
        enc2 = hidden_states[1]
        enc3 = hidden_states[2]
        enc4 = hidden_states[3]

x_in.shape------>torch.Size([1, 1, 64, 128, 128]) UnetrPPEncodertorch.Size([1, 1, 64, 128, 128]) x_out.shape----->torch.Size([1, 64, 256]) epoch: 0 x_in.shape------>torch.Size([2, 1, 96, 160, 160]) UnetrPPEncodertorch.Size([2, 1, 96, 160, 160])
Then make a mistake：
Traceback (most recent call last): File "C:\Project\unetr_plus_plus-main\unetr_pp\run\run_training.py", line 169, in main() File "C:\Project\unetr_plus_plus-main\unetr_pp\run\run_training.py", line 153, in main trainer.run_training() File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 474, in run_training ret = super().run_training() File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\Trainer_synapse.py", line 320, in run_training super(Trainer_synapse, self).run_training() File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\network_trainer_synapse.py", line 481, in run_training l = self.run_iteration(self.tr_gen, True) File "C:\Project\unetr_plus_plus-main\unetr_pp\training\network_training\unetr_pp_trainer_synapse.py", line 284, in run_iteration output = self.network(data) File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\unetr_pp_synapse.py", line 135, in forward x_output, hidden_states = self.unetr_pp_encoder(x_in) File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\model_components.py", line 70, in forward x, hidden_states = self.forward_features(x) File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\model_components.py", line 56, in forward_features x = self.stages0 File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\container.py", line 141, in forward input = module(input) File "C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\modules\module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\transformerblock.py", line 57, in forward x = x + self.pos_embed RuntimeError: The size of tensor a (76800) must match the size of tensor b (32768) at non-singleton dimension 1
Process finished with exit code 1
The error also occurred before：
C:\Monai\envs\unetr_pp\lib\site-packages\torch\nn\functional.py:2498: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). verify_batch_size([input.size(0) * input.size(1) // num_groups, num_groups] + list(input.size()[2:])) C:\Project\unetr_plus_plus-main\unetr_pp\network_architecture\synapse\transformerblock.py:95: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). qkvv = self.qkvv(x).reshape(B, N, 4, self.num_heads, C // self.num_heads) C:\Monai\envs\unetr_pp\lib\site-packages\einops\einops.py:204: UserWarning: floordiv is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values.  It should be (64, 128, 128) for synapse, but yours data_shape is ([ 96, 160, 160]). you need to open the plan_file and change it.76800 = (96/2)(160/4)(160/4) and 32768 = (64/2)(128/2)(128/2), which you can in the file /.../unetr_plus_plus-main/unetr_pp/network_architecture/synapse/unetr_pp_synapse.py
class UnetrPPEncoder(nn.Module):     def __init__(self, input_size=[32 * 32 * 32, 16 * 16 * 16, 8 * 8 * 8, 4 * 4 * 4],dims=[32, 64, 128, 256],                  proj_size =[64,64,64,32], depths=[3, 3, 3, 3],  num_heads=4, spatial_dims=3, in_channels=1, dropout=0.0, transformer_dropout_rate=0.15 ,**kwargs):         super().__init__()

hi, i've met the same problem,do u have the solution method?


Add edge detect

Edge test:

Tried this and did not work :(

@SndrL What didn't work for you mate?

Well, I included the edge test, and made it do a console.log upon detection. But it just doesnt? I am sure I implemented it the right way because the other detections and their console logs are working fine. Does this work for you? Can anyone verify edge test as working please, because I cannot find my error?

@SndrL It's working for me, see:
http://codepen.io/boriskaiser/pen/EVZbvq?editors=001

First of all I would like to thank you for taking time to look into this issue!
I primarily work on a mac. I have a WIN10 virtual machine for testing.
Your pen, for some reason, is not working? See included screenshot.
This is really strange ...

This didn't work for us since the Edge user agent string has changed.
Changing the test to:
conditionizr.add('edge', /Edge/\d+./i.test(navigator.userAgent));
Fixed the issue.


Add static container and height classes

50px, 100px, etc. Should create theme variables for these.

Classes added on static-width feature branch, need to be modified to use theme variables.


Add openapi discriminator on Datastore types.

Fixes Issue
#1395
Changes proposed
Add openapi annotations to enhance Datastore type information for clients.
Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.

Changes not added yet are migrating the current type field in the db to a string type.

@whitingjr is this ready for review?

The Datastore configuration API will be strongly typed in PR: https://github.com/Hyperfoil/Horreum/pull/2223
PR #2223 will make this obsolete.  Thank you for the contribution


Update Dockerfile

add quotes to device_name to support names with spaces

Thanks for the contribution! Nice little tweak.


📝Minor docstring improvements

Noticed while scrolling through source code.
The examples are a tiny bit longer with that reformatting but vertical scrolling is always preferred over horizontal scrolling which I had to do before.

Running lndocs locally gives me:
Warning, treated as error:
autodoc: failed to import class 'BioRegistry' from module 'bionty.core'; the following exception was raised:
Traceback (most recent call last):
  File "/home/zeth/miniconda3/envs/lamindb/lib/python3.11/site-packages/sphinx/util/inspect.py", line 374, in safe_getattr
    return getattr(obj, name, *defargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'bionty.core' has no attribute 'BioRegistry'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/zeth/miniconda3/envs/lamindb/lib/python3.11/site-packages/sphinx/ext/autodoc/importer.py", line 209, in import_object
    obj = attrgetter(obj, mangled_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zeth/miniconda3/envs/lamindb/lib/python3.11/site-packages/sphinx/ext/autodoc/__init__.py", line 329, in get_attr
    return autodoc_attrgetter(self.env.app, obj, name, *defargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zeth/miniconda3/envs/lamindb/lib/python3.11/site-packages/sphinx/ext/autodoc/__init__.py", line 2844, in autodoc_attrgetter
    return safe_getattr(obj, name, *defargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zeth/miniconda3/envs/lamindb/lib/python3.11/site-packages/sphinx/util/inspect.py", line 390, in safe_getattr
    raise AttributeError(name) from exc
AttributeError: BioRegistry

Traceback (most recent call last):
  File "/home/zeth/miniconda3/envs/lamindb/bin/lndocs", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/zeth/PycharmProjects/lndocs/lndocs/__main__.py", line 177, in main
    remove_lines_with_db_args(
  File "/home/zeth/PycharmProjects/lndocs/lndocs/__main__.py", line 31, in remove_lines_with_db_args
    with open(path) as f:
         ^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '_build/html/lamindb.core.storage.valid_suffixes.html'

The docs error here can be resolved by replacing ~lamindb.finish with ~lamindb.core.Context.finish in introduction.ipynb.

Running lndocs locally gives me:

Your environment must be outdated. These things pass on CI and for me locally.
I wonder why ~lamindb.finish wasn't caught in my PR where I removed it 🤔 -- does it have intersphinx enabled there?

It should have errored in my PR... I don't understand why. These "delayed errors" are a problem; we've seen this multiple times. I fixed so many things in my PR that it'd have been really easy to also fix this... Any idea why it did not error?

Any idea why it did not error?

No and the docs even built on this PR earlier which is why I didn't consider looking at the notebook.

Hmmmmm.
FYI: You'll also run into this

https://github.com/laminlabs/lndocs/commit/24c4b7193cccd8e45ce8127dde3739d2d4add94d
No - I think it should be fine :)

No - I think it should be fine :)

Okie! I didn't have it locally


NoMethodError after gem update

I was running OmniAuth 0.2.6 and upgraded to the latest 1.0.2 and when firing up my app, I get:
undefined method `new' for Facebook:Module
Has the initializer syntax changed since then or is there another problem I'm missing?
I've specified back down to 0.3.2 in the gemfile and my app runs again. Problem described with full stack trace here:
http://stackoverflow.com/questions/8931979/nomethoderror-after-gem-update

OmniAuth 1.0 was a big rewrite and is not a straightforward upgrade. See the wiki for more.


Added Basic Navigation bar

Closes:  https://github.com/Avdhesh-Varshney/chanakya-niti/issues/101

Title :  Added Basic Navigation bar
Name:  Joysa Kaushik
Idenitfy yourself:  SSOC

Describe the add-ons or changes you've made 📃
Created a basic navigation bar on the top of the web application in order to expand reachability and convenience for the user.
Type of change ☑

What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Screenshots 📷

Note to reviewers 📄

created a basic one because of time constraint and since it is high priority issue.

@aapJoysakoi it's a react app not a static website. I've done the navigation bar


The "do-eval" option will rewrite trained model

The second command in run.sh: main.py --do-eval --quantify  --model-type roberta --prefix 0524 --filename final --task ast will rewrite the trained model checkpoint. Also it does not seem that the code has the ability to load a saved model.

I see, yea the saving of checkpoints occurs with evaluation.  You can comment this out, add a --do-save flag, or change the name of the checkpoint file.  I would recommend the third option, which was in the original code before I cleaned things up.  For example, something like:
def save_pretrained(args, filepath=None):
    if filepath is None:
        filepath = os.path.join(args.output_dir, f'{args.task}_model_{args.seed}.pt')
    torch.save(self.state_dict(), filepath)
    print(f"Model weights saved in {filepath}")

In terms of loading a checkpoint, you can use any typical loading function.  An example:
def load_checkpoint(model, load_dir, checkpoint_name):
    ckpt_path = os.path.join(load_dir, checkpoint_name)
    checkpoint = torch.load(ckpt_path, map_location='cpu')
    model.load_state_dict(checkpoint)
    model.eval()
    model.to(device)
    return model

Hope that helps!


Consider adding linting to md files

As per slack conversation w/ @nditada, translation are often inadvertently making preventable mistakes (e.g. spaces between [] () in links and such). It is possible that some of these problems (and probably whole different set of others) could be discovered by having linter enabled for our md files.
I have tried to use markdownlint-cli (availabe via NPM) and it reveals a lot of issues, here's summary of errors it found across all MD files sorted by frequency:
     1 MD037/no-space-in-emphasis       2 MD018/no-missing-space-atx       2 MD039/no-space-in-links       3 MD005/list-indent       4 MD019/no-multiple-space-atx       5 MD001/heading-increment/header-increment       8 MD032/blanks-around-lists      10 MD036/no-emphasis-as-heading/no-emphasis-as-header      11 MD024/no-duplicate-heading/no-duplicate-header      15 MD025/single-title/single-h1      21 MD045/no-alt-text      23 MD047/single-trailing-newline      38 MD033/no-inline-html      57 MD012/no-multiple-blanks      62 MD030/list-marker-space      67 MD034/no-bare-urls      83 MD007/ul-indent     101 MD026/no-trailing-punctuation     251 MD009/no-trailing-spaces     291 MD041/first-line-heading/first-line-h1     520 MD022/blanks-around-headings/blanks-around-headers    1021 MD013/line-length
We can obviously choose to opt-out from some of the rules if we don't think they can be easily adopted or that are not worth following (e.g. line length). Linter may fix some of these things automatically.

I think it's a good idea provided we can set it as a post commit hook. We can't expect content contributors to set a linter up given in general we need to assume a life sciences background (AFAIK most people directly edits on GitHub).


Make theo scores

#5

I'll get going on a test for this function now as well.

Currently, the make_theo_scores takes a fn for the ParameterTable, this is because I know that people have trouble reading in the grambank ParameterTable as it contains unusual structure what with the wiki summary import etc.
We should change this. I think that we should just ask for a df and encourage users to use rcldf to get the ParameterTable for Grambank. In turn, I think we may need to update rcldf to reading the Grambank ParameterTable, I think vroom isn't cutting it - is that right @SimonGreenhill ? See suggestion over there re use of cswvr https://github.com/SimonGreenhill/rcldf/issues/27#issuecomment-1703257650
In the meantime, I'll change this function to just take a df.


Fails on 7900XTX (ROCm v6)

Hello.
https://github.com/gokayfem/ComfyUI_VLM_nodes/blob/d1770aa93187b1d0aa1b9b956fa168209dfe16b4/install_init.py#L44-L48
Here if gpu is True there is a replacement, but with AMD cuda_version will be None.
So at least checking it for None before accessing with replace will be a good start.
Of course after that it will fail downloading with command:
subprocess.CalledProcessError: Command '['/home/shurik/devAI/ComfyUI/.venv/bin/python', '-m', 'pip', 'install', 'llama-cpp-python', '--no-cache-dir', '--force-reinstall', '--no-deps', '--index-url=https://jllllll.github.io/llama-cpp-python-cuBLAS-wheels/AVX2/None']' returned non-zero exit status 1.
but I think I can install llama myself for rocm6.

for rocm gpus please use mac branch of the repo

May I ask why there is need to have two branches for this?
Detection between CUDA and Rocm can be written for ComfyUI by checking which PyTorch is installed

yes it can be done. this is a quick fix to your situation. mac branch exists because of the auto-gptq library doesnt support mac devices which is a requirement for internlm model. it also installs llama-cpp-python with directly pip install llama-cpp-python thats why i suggested that branch. it does not check if there is cuda or not.

thank you for this node, I hope I will have fun time with what can be achieved with it :)


Linkind Button Wireless Switch Support

Issue
The button is not supported.
There is one button. Similar to the Aqara wireless switch. According to the Amazon listing (https://www.amazon.com/gp/product/B07V5VLRNL), it supports a one tap event and a tap and hold event.
Log Messages
Homebridge Log Event:

Phoscon: /sensors/7: warning: ignoring unknown ZHASwitch sensor {"config":{"battery":82,"group":"16394","on":true,"reachable":true},"ep":1,"etag":"93a83746da23e90f65f9b2b6b3729462","lastseen":"2021-03-10T22:45Z","manufacturername":"lk","mode":1,"modelid":"ZBT-DIMSwitch-D0001","name":"Switch","state":{"buttonevent":1002,"lastupdated":"2021-03-10T22:45:51.996"},"swversion":"2.22","type":"ZHASwitch","uniqueid":"08:6b:d7:ff:fe:fc:a4:39-01-1000"}

DeConz INFO Log Event:
This is for one tap

[INFO] - Button 2002 - ZBT-DIMSwitch-D0001, broadcast to: 0x400A, endpoint: 0x01, cluster: ONOFF (0x0006), action: Off, payload: None, zclSeq: 77

This is for the next one tap

[INFO] - Button 1002 - ZBT-DIMSwitch-D0001, broadcast to: 0x400A, endpoint: 0x01, cluster: ONOFF (0x0006), action: On, payload: None, zclSeq: 98

This is a tap and hold

17:15:07:802 [INFO] - Button 1001 - ZBT-DIMSwitch-D0001, broadcast to: 0x400A, endpoint: 0x01, cluster: LEVEL_CONTROL (0x0008), action: Move up, payload: 007F0000, zclSeq: 114
17:15:07:948 skip binding for attribute reporting of ep: 0x00 cluster 0x1000 (end-device might sleep)
17:15:08:948 skip binding for attribute reporting of ep: 0x00 cluster 0x1000 (end-device might sleep)
17:15:09:948 skip binding for attribute reporting of ep: 0x00 cluster 0x1000 (end-device might sleep)
17:15:10:623 [INFO] - Button 1003 - ZBT-DIMSwitch-D0001, broadcast to: 0x400A, endpoint: 0x01, cluster: LEVEL_CONTROL (0x0008), action: Stop, payload: 0000, zclSeq: 115

Debug Files
Homebridge Log file: https://d.pr/f/bk7YB8

I don't understand: this is a one-button device, but deCONZ exposes two buttons?

Yes there’s only one physical button. That looked like the relevant lines from the log. Is there a better way I could give you more info about the device?
I looked at that other linked issue. It sounds like the same button. I’m new to working in DeConz, but I’m willing to learn and help getting any info you need.

Support in v0.13.1, but only for the first button.  I think the Off and Move Down commands should be mapped to 100x as well, but this needs to be fixed in deCONZ.

Ya. This worked great. Are you able to map deCONZ button 1002 and 2002 to the same Homekit single press button? The Long press works perfect how you have that configured.

Actually, I can (with considerably less effort than I feared).  Not too happy about this, though - it really should be fixed in deCONZ.

In v0.13.3.

I created an issue with deCONZ: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/4598


support java 6

Java 6 was End of Life in 2012.
Java 7 was End of Life in April 2015.
I see 3 options:

A) Set minimum version to Java 6, by merging this PR.
B) Leave minimum version to Java 7. Java 7 offers very few benefits over java 6, just that one <> line that is changed in this PR.
C) Set minimum version to Java 8 and embrace lamdba's. This offers a lot of benefits and API opportunities but also blocks those not yet on JDK 8. This should happen in a minor or major release, not in a hotfix.

Java 8 adoption has reached a solid 75% of the developer community, according to this survey:
http://www.baeldung.com/java-in-2017
Your mileage may vary.

fixed in 0.9.12


Plugin mechanism for compiled rust code

we need to be able to link precompiled static libraries.

[ ] libs need to be pre-built for different architectures
[ ] should allow to pull in closed source functionality

First example will be the MDF library

Overview of possible ways:
Scripting Languages

Needs compiler
Performance aspect

Inter-Process Communication (sockets, memory sharing, pipes)

in short - windows

WebAssembly

Performance aspect

Dynamic Loading (dynamic libs)
this one looks most suitable because of the performance but has some restrictions
Plugins targets

Source
Parser

Requirements for plugins system

Setting/options of parser/source should be generic and represented as JSON object with the description of fields and types
Key-parser-traits should excluded into a standalone crate to be reused in the scope of a parser plugin

Plugin output files

lib's files
manifest file (with description, version etc in JSON or toml and with definition of plugin's type: (parser, source or...))

note: store in the home folder ~/.chipmunk/plugins
Loading

makes sense to load with chipmunk based on a list of active plugins from electron-layer

As for the first step we could implement BinaryByteSource (sources/src/binary/raw.rs) as a plugin. For the first prototype:

hardcode path to plugin on rust level
one option - file path as a string
loading as soon as rust module is loaded
others as simple as possible

Goals:

confirm conception (possibility to use crate abi_stable)
check performance
check shutdown workflow


Specify the types of licenses covered in this article

Received feedback from a CSA that customers are confused as to what the license mentioned in this article is for (spacecraft communications license vs ground station license). Would be good to clarify the language with Juan Carlos and update the doc accordingly.

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

ID: 8b80d385-5a11-afcf-da59-7d5a8d82187a
Version Independent ID: 02c9f569-3c5e-4127-6192-18c104a4c876
Content: License your spacecraft - Azure Orbital
Content Source: articles/orbital/license-spacecraft.md
Service: orbital
GitHub Login: @hrshelar
Microsoft Alias: hrshelar

Additionally, specify the rough expected timelines associated with the licenses

For context, some customers interpreted this page as Microsoft providing a consulting service to procure spacecraft ITU licenses (which I do not believe is in scope here)

@apoorvanori
Thank you for bringing this to our attention.
I've delegated this to content author @hrshelar, who will review it and offer their insightful opinions.

@Naveenommi-MSFT Can we please change the default content author to Kelly Devens<EMAIL_ADDRESS>for all feedback related to the Azure Orbital Ground Station service?

Ack. Reaching out to Juan Carlos to determine necessary updates.

Updates merged into article. This issue can be closed.

@Naveenommi-MSFT the article was updated. Please close this ticket, thanks.

#Please-close


Travis-CI: Add Python 3.9-dev testing, migrate nightly to 3.10a

This PR adds a python: 3.9-dev test target, and migrates the python: nightly target to expect Python 3.10 (TOXENV=py310). This causes nightly to genuinely pass, where it was previously "passing" only due to being listed in allow_failures.
I left nightly in allow_failures all the same, since it will always be in flux to some extent.
I added 3.9-dev to allow_failures as well, because at some point presumably 3.9 will be released. I figured that was the point where it makes sense to change python: 3.9-dev to python: 3.9 and remove it from the allow_failures list.

The trove classifier could be added to setup.py:
    'Programming Language :: Python :: 3.9',

Python 3.9 could also be added to tox.ini.

Done and done. While I was in there I dropped the now EOL'd Pythons 3.4 and 3.5 as well.
I left Python 2 / Python 2.7 (and tox's py27) alone for now. My inclination would be to drop those as well, but I'll leave it to others with more skin in that game.

The trove classifier could be added to setup.py:
    'Programming Language :: Python :: 3.9',

Python 3.9 could also be added to tox.ini.

Done and done. While I was in there I dropped the now EOL'd Pythons 3.4 and 3.5 as well.
I left Python 2 / Python 2.7 (and tox's py27) alone for now. My inclination would be to drop those as well, but I'll leave it to others with more skin in that game.

LMK if you need me to squash the branch. It's already up to 4 commits, for about that many total lines of change. :rofl:

LMK if you need me to squash the branch. It's already up to 4 commits, for about that many total lines of change. :rofl:

Closing this as it's no longer needed for Travis. However it'd definitely be worth opening to add 3.9 and 3.10-dev for GitHub Actions


Local Variables

Allocate local variables directly on the stack, with a special stack frame

Great job! Do you have results on running benchmarks on this?

Could you rebase onto current master? I can not reproduce the bad benchmarks, we should discuss offline.


Plagiarism detection: Introduce Continuos Plagiarism Control MVP

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises

[x] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[x] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context
Description
This is a joined PR for changes introduced in #6666, #6804, #6924, #6972.
Steps for Testing

1 Instructor
2 Students
1 Course
for convenience use the cpc-1min branch which triggers cpc every 1 minute

General:

Create programming exercise with continuous plagiarism control enabled (use Enabled checkbox on exercise creation form)
Create two similar submission for the exercise
Wait 2 minutes (results need to synchronise)
Verify that ⚠ Suspicion of plagiarism warning was placed and 0 points result was posted (see screenshots at the bottom)
Change one submission to something completely different
Wait 2 minutes
Verify that warnings and results are deleted

Disputing results:

Generate submissions with plagiarism detected by the cpc (using the steps above)
Change exercise due date to the past
As a student go into your submission page and dispute the result
As instructor approve and decline the dispute
If approved: new scores are displayed; if not: old results are displayed

Review Progress
Performance Review

[x] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[x] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[x] Code Review 1
[x] Code Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage & Screenshots
See #6666, #6804, #6924, #6972

Here is the follow up issue for missing results on exercise list: #7090

Just to be sure ..

Suspicion of plagiarism warning

This warning will only be shown to instructors? Also the point deduction will not take place immediately, right ?

Just to be sure ..

Suspicion of plagiarism warning

This warning will only be shown to instructors? Also the point deduction will not take place immediately, right ?

Warning is shown to the students and points are deducted immediately

Just to be sure ..

Suspicion of plagiarism warning

This warning will only be shown to instructors? Also the point deduction will not take place immediately, right ?

Warning is shown to the students and points are deducted immediately

Then I'm not sure we can use such a feature tbh.
JPlag does not say that "X is plagiarism". It calculates the similarity to enable manual reviews. As one of the JPlag maintainers, I see a high risk here.
Based on practical use of JPlag, I know that thresholds for this similarity score (when to consider something as plagiarism) highly depends on the task.
Besides the false positives and confusion to those students, this feature enables the students to forge plagiarisms by simply committing until the warning to disappear.
Do I miss anything @jakubriegel ?
/cc @tsaglam

The comment above may also be important for @ls1intum/artemis-maintainers
I think the feature should clearly state what the effects of automatic plagiarism detection might be (e.g., confusion of students)

For completeness :) /cc @sebinside @larissaschmid

As a maintainer of JPlag since before its integration into Artemis, I have technical, ethical, and legal concerns.
First of all, you actively give students feedback on the quality of their potentially intentional plagiarism. Such feedback has already successfully been used to attack plagiarism detection in the past, see this publication
Second, applying plagiarism detection in this early phase can be seen as general suspicion (dt. Generalverdacht) which can quickly bring up legal problems.
Third, plagiarism detection without human intervention is highly ethically questionable, see this information. JPlag (and similarly, all other tools with the same functionality) have never been intended to be used in an automatic pipeline. Only humans are able to evaluate plagiarism.

Before we merge this PR, we need to discuss some aspects of the process first

This PR remains open as a reference. It will be closed after new version of cpc is ready for review

New version of the cpc implemented in #7302


Laravel 5.4 / Laravel Mix Node.js version

Hi there,
Tried to bump one of the projects to 5.4 and use the new Laravel recommended way of assets management (Laravel Mix, purely based on Webpack, with no Gulp at all).
Seems like that requires newer versions of node/npm than currently available here.
> @ dev /opt/atlassian/pipelines/agent/build
> node node_modules/cross-env/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
/opt/atlassian/pipelines/agent/build/node_modules/laravel-mix/setup/webpack.config.js:120
        let extractPlugin = new plugins.ExtractTextPlugin(
        ^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)

https://github.com/JeffreyWay/laravel-mix/issues/62
That's what I can currently see:
node v5.12.0
npm  v3.8.6

So assume it needs at least 6 and above...

UPD: Fixed temporary by adding this as a step in bitbucket pipelines, but I believe currently used nodejs install could be replaced with that in the Dockerfile.
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

W: GPG error: http://repo.mysql.com trusty InRelease: The following signatures were invalid: KEYEXPIRED<PHONE_NUMBER> KEYEXPIRED<PHONE_NUMBER> KEYEXPIRED<PHONE_NUMBER>
W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F4EA0AAE5267A6C
W: Failed to fetch http://ppa.launchpad.net/rwky/redis/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden
It throw above error

cd /etc/apt/source.lst.d
rm mysql.list
rm nodesource.list
rm rwky-redis-trusty.list
and run curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
fixed error and run
apt-get install -y nodejs
Installed
node  v7.10.1
npm 4.2.0

Thanks you @artemverbo and @newbie2005
I modified nodesource.list in /etc/apt/source.list.d
replace:
deb https://deb.nodesource.com/node_5.x trusty main
deb-src https://deb.nodesource.com/node_5.x trusty main

to
deb https://deb.nodesource.com/node_8.x trusty main
deb-src https://deb.nodesource.com/node_8.x trusty main

then apt-get update && apt-get install -y nodejs.
node v8.9.1
npm 5.5.0

Can be in the repository a file package-lock.json? Different versions on different servers.
There was a similar problem with the version node and npm tried different. The Laravel mix module did not take the necessary dependencies.
screenshots GitlabCI
http://joxi.ru/Y2LpgKnf9PQY32
http://joxi.ru/l2Znal0FwPEX82 - not laravel-mix dependencies
http://joxi.ru/brREVQ7fJPYD7A
(There are no modules in the folder)
remove package-lock.json
http://joxi.ru/a2XadKMC1BD3QA good (latest version node and npm).
 It is necessary to work with the same versions, but there are also such situations.
Could not compile the script on the servers (the old OP, the node required a new gcc, and that required a bunch of dependencies, the old node and npm did not work), they started using gitlab ci. Tried to run on local windows, linux mint, linux ubunta - all is well!


Filter very slow

I using 4xH100, 100 CPU cores, 1000 RAM to filter 1TB data japanese. Although the GPU is at 50% utilization and the CPU is running at 100%, only 3MB of data is processed per minute. I suspect that the tokenizer might be the bottleneck.
I want to ask about what is actually causing the bottleneck. Is there a way to improve the filter speed?
`from datatrove.executor.base import PipelineExecutor
from datatrove.executor.local import LocalPipelineExecutor
from datatrove.pipeline.dedup import SentenceDedupFilter, SentenceDedupSignature, SentenceFindDedups
from datatrove.pipeline.dedup.sentence_dedup import SentDedupConfig
from datatrove.pipeline.extractors import Trafilatura
from datatrove.pipeline.filters import *
from datatrove.pipeline.readers import JsonlReader, WarcReader
from datatrove.pipeline.writers.jsonl import JsonlWriter
from datatrove.utils.typeshelper import Languages
import os
INPUT_READER = JsonlReader(
data_folder="/home/altai/hiennm/data/pretrain",
# recursive=True
)
TOTAL_TASKS = 4000
NUM_WORKERS = 400
FILTERING_OUTPUT_PATH = "/home/altai/hiennm/data/remove_"
stage = LocalPipelineExecutor(
pipeline=[
INPUT_READER,
GopherRepetitionFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/GopherRepetitionFilter")),
C4QualityFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/C4QualityFilter")),
# LanguageFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/LanguageFilter")),
GopherQualityFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/GopherQualityFilter")),
C4BadWordsFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/C4BadWordsFilter")),
URLFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/URLFilter")),
# FineWebQualityFilter(exclusion_writer=JsonlWriter(f"{FILTERING_OUTPUT_PATH}/removed/FineWebQualityFilter")),
JsonlWriter(output_folder="filter_/output")
],
tasks=TOTAL_TASKS,
workers=NUM_WORKERS,
logging_dir="filter_/log",
)
if name == 'main':
# freeze_support()
stage.run()
`

I think you use an English tokenizer to handle Japanese.

No, I definitely switched the tokenizer to Japanese. I also adjusted the code accordingly for processing Japanese (for example, Japanese doesn’t use spaces to separate words, etc.). Even, I set the default from en to ja to make sure it applies correctly to Japanese.

how much cpu core your have in a one machine, LocalPipelineExecutor just only support one machine，the speed depends on your core

Odd that your GPUs are at 50%, the pipeline you show shouldn't be using the gpus at all

Odd that your GPUs are at 50%, the pipeline you show shouldn't be using the gpus at all
to debug you can introduce a limit= in the reader and process only a bit of data and then check the stats.json file to see which block is taking the longest

Dang, I was about to ask how he used a GPU. Would be nice to incorporate CUDA libs to filter.

Since you are writing all exclusions of every component to disk as well as reading your dataset from disk, it might be that you are IO bottlenecked. Worth checking whether you get improvements without the exclusion writers.


Add support for custom JS and CSS scripts

Add support for custom JS and CSS scripts by providing arrays in config.toml

@raghur cool PR, I would definitely use this too :) Suggestion: it would be nice to have also documentation on this in the README.md

Looks good!