How can I set a suitable processor config?

I have not found my processor version in utils.h, so I am wondering how to set config for my processor 80 Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz.
Could you please explain more about the meaning of such parameters, e.g. NOP_DURATION and the_cores[]? And how can I get the right infomation to set such config?

#elif defined(XEON2)
#  define NUMBER_OF_SOCKETS 2
#  define CORES_PER_SOCKET 20
#  define CACHE_LINE_SIZE 64
#  define NOP_DURATION 2

#  define USE_HYPERTRHEADS 1

#  if USE_HYPERTRHEADS == 0
  static uint8_t  __attribute__ ((unused)) the_cores[] = {
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
  };
#  else
  static uint8_t  __attribute__ ((unused)) the_cores[] = {
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
    10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
    30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
  };
#  endif

Hello.
Most of these are only used in benchmarks, not in the real code.
NOP_DURATION  should be OK as 2 -- it's used either way only in benchmarks
You can use numactl -H to get info similar to this:
available: 2 nodes (0-1)         // NUMBER_OF_SOCKETS
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 28 29 30 31 32 33 34 35 36 37 38 39 40 41
node 0 size: 386855 MB
node 0 free: 385618 MB
node 1 cpus: 14 15 16 17 18 19 20 21 22 23 24 25 26 27 42 43 44 45 46 47 48 49 50 51 52 53 54 55
node 1 size: 387067 MB
node 1 free: 385202 MB
node distances:
node   0   1
  0:  10  21
  1:  21  10

and lscpu:
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                56
On-line CPU(s) list:   0-55
Thread(s) per core:    2
Core(s) per socket:    14 // CORES_PER_SOCKET = this * (Thread(s) per core)

for the_cores[] typically, in the numactl output, the first "Core(s) per socket" entries are the actual cores and then the hyperthreads follow. So, in the example below, for USE_HYPERTRHEADS == 0 you put all cores first:
// separate cores
0 1 2 3 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 25 26 27
// then hyperthreads
28 29 30 31 32 33 34 35 36 37 38 39 40 41
42 43 44 45 46 47 48 49 50 51 52 53 54 55

My processor info seems like:
$ numactl -H
available: 4 nodes (0-3)
node 0 cpus: 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76
node 0 size: 63906 MB
node 0 free: 31510 MB
node 1 cpus: 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77
node 1 size: 64479 MB
node 1 free: 32361 MB
node 2 cpus: 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78
node 2 size: 64503 MB
node 2 free: 34606 MB
node 3 cpus: 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79
node 3 size: 64501 MB
node 3 free: 35057 MB
node distances:
node   0   1   2   3
  0:  10  21  21  21
  1:  21  10  21  21
  2:  21  21  10  21
  3:  21  21  21  10

$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          160
On-line CPU(s) list:             0-79
Off-line CPU(s) list:            80-159
Thread(s) per core:              1
Core(s) per socket:              20
Socket(s):                       4
NUMA node(s):                    4
NUMA node0 CPU(s):               0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76
NUMA node1 CPU(s):               1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77
NUMA node2 CPU(s):               2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78
NUMA node3 CPU(s):               3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79

I guess I should add like this:
#elif defined(XEONR)
#  define NUMBER_OF_SOCKETS 4
#  define CORES_PER_SOCKET 20
#  define CACHE_LINE_SIZE 64
#  define NOP_DURATION 2

#  define USE_HYPERTRHEADS 0

#  if USE_HYPERTRHEADS == 0
  static uint8_t  __attribute__ ((unused)) the_cores[] = {
    0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,
    1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,
    2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,
    3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,
  };
#  else
  no idea...
#  endif

Let me explain the logic here:

USE_HYPERTRHEADS == 0 -> schedule all physical/unique cores first and then use hyperthreads of the same core
USE_HYPERTRHEADS == 1 -> schedule all the cores of a socket/NUMA node first and then use hyperthreads

In your case, you have Thread(s) per core:              1, meaning that the hyperthreads are disabled by design (in the OS Off-line CPU(s) list:            80-159). Therefore, USE_HYPERTRHEADS  does not matter. Can set the same array to both


fix: don't require ARTIFACT_NAME with multiple specs

Automatically generate artifact name based on source. Respect ARTIFACT_NAME set in inputs, as added in https://github.com/w3c/spec-prod/pull/180.
So that https://github.com/w3c/spec-prod/pull/173 will no longer be a breaking as mentioned v2.11.2.
The artifact name may change from spec-prod-result even with single spec, though some effort was made to keep it stable (i.e. if source is index.html or index.bs). The automatic name will still start with spec-prod-result.

Preview | Diff

@oliverdunk FYI. No longer require to update workflows to define ARTIFACT_NAME.


Unsupported Log Lines

Thank you for your fantastic work on this project, the patterns work flawlessly for the most part. I'm not familiar enough yet to contribute grok expressions, but I've included a sample of Postfix log lines that are not matched by the current grok expressions.
SSL-related
The following look like they could be generalised using the SSL_connect: prefix.
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 write finished A
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:unknown state
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 write change cipher spec A
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 flush data
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:before/connect initialization
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 read server certificate A
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 read server key exchange A
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 read server hello A
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 read server done A
Dec 29 17:47:34 myserverhostname postfix/smtp[26194]: SSL_connect:SSLv3 read server session ticket A

TLS-related
Dec 29 17:47:30 myserverhostname postfix/smtp[26194]: initializing the client-side TLS engine
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: aspmx.l.google.com[<IP_ADDRESS>]:25: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH"
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: setting up TLS connection to aspmx.l.google.com[<IP_ADDRESS>]:25
Dec 29 14:39:23 myserverhostname postfix/smtp[10868]: rbgcon07.fnb.co.za[<IP_ADDRESS>]:25: TLS cipher list "aNULL:-aNULL:ALL:+RC4:@STRENGTH"

Repeated Messages
This is just 1 example, but I assume we could see these types of repeated messages for any log line pattern.
Dec 29 11:09:22 myserverhostname postfix/smtp[27911]: message repeated 2 times: [ mail.leoaylen.com[<IP_ADDRESS>]:25: depth=0 verify=0 subject=/OU=GT50485055/OU=See www.rapidssl.com/resources/cps (c)15/OU=Domain Control Validated - RapidSSL(R)/CN=mira.bargus.co.uk]

Network Connectivity
Trying to connect to Google over IPv6, but IPv6 has not been set up locally. Can probably be generalised using the suffix Network is unreachable.
Dec 29 17:47:32 myserverhostname postfix/smtp[26194]: connect to aspmx.l.google.com[2a00:1450:400b:c02::1a]:25: Network is unreachable

Session-related
Dec 29 17:47:34 myserverhostname postfix/smtp[26194]: save session smtp&mydomain.com&aspmx.l.google.com&<IP_ADDRESS>&&5A61A6AC5D08312A12A4F4D11DE3219B2131E21613723A09C4E111C712512312 to smtp cache
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: looking for session smtp&mydomain.com&aspmx.l.google.com&<IP_ADDRESS>&&5A61A6AC5D08312A12A4F4D11DE3219B2131E21613723A09C4E111C712512312 in smtp cache

Other - 1
Dec 29 17:47:34 myserverhostname postfix/smtp[26194]: aspmx.l.google.com[<IP_ADDRESS>]:25: subject_CN=mx.google.com, issuer_CN=Google Internet Authority G2, fingerprint=00:24:C8:8D:4F:C6:93:D7:E0:8E:9B:55:46:13:50:0C, pkey_fingerprint=4F:E1:46:3D:60:1B:EC:85:2F:65:21:5F:AF:0A:3E:E7
Dec 29 11:47:44 myserverhostname postfix/smtp[30750]: bloz.com.au[<IP_ADDRESS>]:25: subject_CN=*.au.syrahost.com, issuer_CN=USERTrust RSA Organization Validation Secure Server CA, fingerprint=F8:E7:F8:69:20:74:5B:A8:62:FD:F1:31:E0:BD:2E:22, pkey_fingerprint=CD:5A:ED:59:6F:76:05:37:E3:31:DC:90:E0:A9:4D:B7
Dec 29 10:52:03 myserverhostname postfix/smtp[26654]: nav-gateway.mweb.co.za[<IP_ADDRESS>]:25: depth=0 verify=1 subject=/serialNumber=A6Vpz1M1RjmczfUE2dRkY8JO6RrkLfph/OU=GT83193388/OU=See www.rapidssl.com/resources/cps (c)13/OU=Domain Control Validated - RapidSSL(R)/CN=*.synaq.com
Dec 29 10:52:03 myserverhostname postfix/smtp[26654]: nav-gateway.mweb.co.za[<IP_ADDRESS>]:25: subject_CN=*.synaq.com, issuer_CN=RapidSSL CA, fingerprint=9B:89:62:D0:5F:36:6B:4E:44:6E:B7:A4:63:6B:F2:B0, pkey_fingerprint=46:68:D1:58:68:16:83:39:E8:9F:F9:19:42:31:8B:0D

Other - 2
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: aspmx.l.google.com[<IP_ADDRESS>]:25: depth=1 verify=1 subject=/C=US/O=Google Inc/CN=Google Internet Authority G2
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: aspmx.l.google.com[<IP_ADDRESS>]:25: depth=2 verify=1 subject=/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
Dec 29 17:47:33 myserverhostname postfix/smtp[26194]: aspmx.l.google.com[<IP_ADDRESS>]:25: depth=0 verify=1 subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mx.google.com
Dec 29 12:37:15 myserverhostname postfix/smtp[2060]: aon-co-za.mail.protection.outlook.com[<IP_ADDRESS>]:25: depth=2 verify=1 subject=/CN=Microsoft Internet Authority
Dec 29 12:37:15 myserverhostname postfix/smtp[2060]: aon-co-za.mail.protection.outlook.com[<IP_ADDRESS>]:25: depth=1 verify=1 subject=/DC=com/DC=microsoft/DC=corp/DC=redmond/CN=MSIT Machine Auth CA 2
Dec 29 12:37:15 myserverhostname postfix/smtp[2060]: aon-co-za.mail.protection.outlook.com[<IP_ADDRESS>]:25: depth=0 verify=1 subject=/C=US/ST=WA/L=Redmond/O=Microsoft/OU=Forefront Online Protection for Exchange/CN=mail.protection.outlook.com
Dec 29 08:09:22 myserverhostname postfix/smtp[14708]: za-smtp-inbound-1.mimecast.co.za[<IP_ADDRESS>]:25: depth=1 verify=1 subject=/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4
Dec 28 13:58:06 myserverhostname postfix/smtp[29673]: za-smtp-inbound-1.mimecast.co.za[<IP_ADDRESS>]:25: depth=2 verify=1 subject=/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5

Hi Richard. Thanks for your interest in the project.
AFAICS, all your example log lines are caused by having TLS log level higher than (default) level info (smtpd_tls_loglevel > 1), except for the few below. Full support for debug logging is really not feasible or useful, I think. Do you need the contents of the log lines, or are you just striving for complete coverage?

Only thing I'm not sure on is the session logging. Could you change the TLS log level to 1, reload and then post a session log line with context?

The repeated messages stuff is implemented by your syslog daemon, not by postfix. If you want to extract accurate numbers from the (number of) log lines using kibana or any equivalent tool, you'd need to disable this feature in your syslog config anyway.

I'll add support for the Network is unreachable error.

Hi Richard. Thanks for your interest in the project.
AFAICS, all your example log lines are caused by having TLS log level higher than (default) level info (smtpd_tls_loglevel > 1), except for the few below. Full support for debug logging is really not feasible or useful, I think. Do you need the contents of the log lines, or are you just striving for complete coverage?

Only thing I'm not sure on is the session logging. Could you change the TLS log level to 1, reload and then post a session log line with context?

The repeated messages stuff is implemented by your syslog daemon, not by postfix. If you want to extract accurate numbers from the (number of) log lines using kibana or any equivalent tool, you'd need to disable this feature in your syslog config anyway.

I'll add support for the Network is unreachable error.

and a happy new year!

and a happy new year!

Hi Tom, happy new year to you too!
You're right, smtp_tls_loglevel is currently set to 2. On second thought, there isn't really much use for these extra logs, so there's no point in creating patterns for them.
Regarding sessions, I'll set the log level to 1 and report back in a few days.
Regarding the repeated messages, further investigation reveals the general consensus is to turn off the RepeatedMsgReduction in rsyslog.conf for the purpose of log analysis, as most tools battle with the "Repeated X times" messages.
Thanks for your feedback.


Which component I should use for the column like Post.className

I have a object called Post and an object called Comment in parse database. Comment have a reference field call Post point to Post object. I use ListGuesser :
<Resource name="Comment" list={ListGuesser} />
Got this in browser console:
export const CommentList = props => (
    <List {...props}>
        <Datagrid rowClick="edit">
            <TextField source="id" />
            <DateField source="createdAt" />
            <DateField source="updatedAt" />
            <TextField source="content" />
            <NumberField source="likes" />
            <TextField source="owner" />
            <TextField source="post.className" />
        </Datagrid>
    </List>
);

It shows the post field in Comment as a TextField. Apparently it's not true. How can I get the reference object and show a link? Thanks.

if you create a codesandbox with your code I can help you modify it. The guesser functions cannot always guess relations.

Since there is no response for a long time, I'm closing this issue.


Cuda matmul docs

The matrix multiplication example from the docs has a number of issues that have been pointed out in various places. See in particular this SO post by Robert Crovella. Taking a broader view of things, I also posted Improving number and quality of examples via Jupyter notebooks and Sphinx extension on discourse.

Reference an existing issue

#7324, #6884

@gmarkall, thanks so much for going through this! I typically use Atom or Spyder for editing files. Do you have a suggestion for an editor that checks (and possibly autoformats) Flake8 for .rst files? Or just try to run it through the Flake8 checker on my computer and manually correct the errors that pop up?
I'd definitely like to have a unit test the code. I'll see if I can find some time to learn it in the next week or two.

@sgbaird Many thanks for the update! Looks like most things are now resolved with just a couple of outstanding bits.
I haven't found a solution for automatic checking of the .rst files - however, if the examples were doctests then they'd get checked by flake8 as part of CI tests because they'd be part of the code, so that would be another benefit of the testing :-)
I would imagine it's possible to set up Atom and/or Spyder to automatically run flake8, but I'm not sure how to do this - I use vim and I have it set up to automatically check. If you're not able to set up automatic checking, you can run flake8 numba in the root of the repository to check. It's also good to set up the pre-commit checks, which ensure you can't commit something that doesn't pass flake8 - this is described in https://numba.readthedocs.io/en/latest/developer/contributing.html?highlight=pre-commit#coding-conventions

@sgbaird Many thanks for the update! Looks like most things are now resolved with just a couple of outstanding bits.

Sure thing! This has been a good learning experience for me. It was pretty rewarding to finally get an "all checks have passed". Thank you for the help and responsiveness! Also, I'm really glad you sent a link to the Contributing page. Somehow I missed that the first time I went looking and started working on other things.

I haven't found a solution for automatic checking of the .rst files - however, if the examples were doctests then they'd get checked by flake8 as part of CI tests because they'd be part of the code, so that would be another benefit of the testing :-)

Thank you for including the doctest example. It really helped that there were two files in the folder so I could quickly resolve what was specific to e.g. test_random.py and what was the actual "template" I needed to follow.

I would imagine it's possible to set up Atom and/or Spyder to automatically run flake8, but I'm not sure how to do this - I use vim and I have it set up to automatically check. If you're not able to set up automatic checking, you can run flake8 numba in the root of the repository to check. It's also good to set up the pre-commit checks, which ensure you can't commit something that doesn't pass flake8 - this is described in https://numba.readthedocs.io/en/latest/developer/contributing.html?highlight=pre-commit#coding-conventions

Vim is great. I might see about installing some automations for vim if I find too many issues with the following approach.
My Windows Workflow
I found a tool called flake8-rst which helped out somewhat, but going the doctest route seemed like a much better option as you mentioned. I used Spyder's autopep8 code formatting and Autoformat files on autosave (Tools --> Preferences --> Completion and Linting --> Code Style and Formatting --> Code Formatting --> "Choose code formatting provider" as "autopep8" and under "Code Style" check "Enable code style linting"). I edited the .rst file in Atom with the language-restructuredtext and rst-preview-pandoc packages, though what the "preview" shows seems a bit limited (unfortunately, it doesn't seem to recognize literalinclude for example).  I also used flake8 numba/cuda/tests/doc_examples/test_matmul.py directly in a command prompt on occasion. To use the pre-commit hooks, since I was using an Anaconda env on Windows, I needed to follow special instructions related to sqlite3. The commits and pushes then seemed to work fine on GitHub Desktop. I ran into a number of issues related to building the docs, some of which are described in #7362, but managed to get that working so I could spot-check the HTML version. I figured out how to run the doctest on just my file of interest from the root dir based on the contributing: running tests instructions:
python -m numba.runtests numba/cuda/tests/doc_examples/test_matmul.py

rather than running it on the full folder via:
python -m numba.runtests numba.cuda.tests.doc_examples

Thankfully most of the errors I ran into made for simple Google or Numba Issues searches. Hopefully I can use these newfound (and work-in-progress) skills for additional contributions 😉

@sgbaird I've just left a messed up review, please ignore it for the time being.

Sorry about that! There was one that I manually clicked "resolve conversation" for. The rest were auto resolved when I clicked "commit suggestion".

Sorry about that! There was one that I manually clicked "resolve conversation" for. I'll make sure to not do this.

No problem - thanks for the info :-)

The rest were auto resolved when I clicked "commit suggestion". Should I be doing something else for these ones?

No, just keep doing what you're doing - if Github's auto-resolving them then that's fine :-)

(Also, for next time I'll make sure to reduce the number of pushes and corresponding CI checks. Thanks for the patience as I've been learning).

It's not too much of a problem - when you make a new commit I think the current CI run gets cancelled, so you should be able to carry on with the workflow you have if you're comfortable with it.

@stuartarchibald / @esc Could this have a CUDA buildfarm run please? (It adds new doctests so I'd just like to make sure they're happy on all platforms).

Build farm ID: numba_smoketest_cuda_yaml_91

Build farm ID: numba_smoketest_cuda_yaml_91

Was succesfull.

Awesome. Good to see that it passed

Thanks for everyone involved here in updating this example! Matmul is really tricky to get right and this is a great example implementation. Just curious when the plan is to get this doc change released?
There seems to be a lot of SEO for your (old?) doc site (https://numba.pydata.org/numba-doc/latest/index.html) in which this updated example isn't accessible. Your (new?) doc site (https://numba.readthedocs.io/) requires selecting the latest tag/history/option. In short, it's hard to find, but so valuable! As a learner in the space, just want to help get this more correct information out there. There are few examples of correct matmul in Python. cc @gmarkall

Noting https://github.com/numba/numba/issues/6677 here as I think this is a good example of that referenced issue!


Crap Documentation

I don't know how to add an API key cuz im NOOB and need help.

@agent-reed thanks for reporting it, check out the changes


Get rid of service-utils

Just codegen everything in the package

why is this better? should i be following the same thing in java?

The click through is annoying in that it takes you to a different package. Also imo preferable for an external SDK that clicking through on a type like “Response” doesn’t take you into some “fern” package the user doesn’t know about

this is now done


Slow or no response to selections QS 3.1.3

I use the qsvariable extension to switch between measures in a graph and keep the same sorting. The values in my qsvariable are again expressions in variable list. When I make a selection in Qlik Sense, the graph doesn't respond or responds very slow. Most of the times I first have to switch between the different values in my qsvariable before I get the results adjusted to the selection. Is this a known issue?

Not this is not a known issue are probably is not because of the extension but because your expressions take time to evaluate.


Short circuit when functions are syntactically equal

This PR adds in a check for syntactic equality (enabled with --syntax-equality ). Example usage may be seen in run_wp_*.sh scripts in the syntax_equality test folder. This PR closes #211, and is a first step towards the ideas in #254. Specifically,
equality.ml exports an exist_isomorphism function. This function checks if there's a mapping between the two sub.t functions that preserves syntax structure, use of virtual variables (virtual variables may go by different names but must be used in all the same places), and control flow.
I've documented the code in equality.ml and equality.mli. I'm also including the results I posted to the slack for the run on grammatech. On average, only running the syntax check takes 8 seconds on my laptop. I found 65 syntactically equal functions on grammatech. When running CBAT, I got:

On the master branch cbat without any special flags: 36 SATS, 3 UNKNOWN, 26 UNSAT
On the master branch cbat with mem-offset and pointer flag on all registers: 0 SAT, 7 UNKNOWN, and 58 UNSAT

So overall, the results that CBAT finishes within the timeout of 1000s turn out to match with this syntax check. It's not clear to me how to test the UNKNOWNs further.
This first plot is function (on the x axis) vs # syntactically idental blocks / total blocks in the sub. These are encouraging numbers performance improvements in #254 .

This second plot is time in seconds on the x axis vs # statements (def_t, jmp_t) on the y axis. The green dots are the run for syntactically equal functions (of which there are 65); the red dots are master branch cbat without any special flags. @philzook58  mentioned that this is big savings if there are a lot of long functions that are syntactically identical in the binary.

We may want equality.ml in bap_wp not plugin.

Thanks for the suggestions! I've made corresponding changes.
I agree--returning the mapping allows for more flexibility. I think the currying suggestion is clever--it makes exposing functions with aliased types easier to include in the mli file. Specifically, this lets me also expose compare_blocks_syntax. This function returns the syntactically equal (up to TID) blocks. Seems useful for #254 .
This mapper interface is awesome. I'm wondering if there's an easy way to use it to rewrite sub_exp in a cleaner fashion that doesn't involve fragile pattern matching. The issue is we need to carry around the information from both subs at the same time, and return something different if the subs don't match. This creates differing type signatures for the declared functions.
Also, I'm making liberal use of >>= and >>|. I could use let syntax instead if that's clearer. Seems like the let syntax is used in bildb, but the inline operators are used in wp. I'm not sure what's preferred here.
I'm testing the changes by running them on grammatech. I'll post again when I've got results.

There's no real norm between using monadic lets and >>=s, though Ivan prefers the latter, and his opinion has some weight.
Apparently, using the ppx versions of let bindings is deprecated, instead using the (newish) feature that allows defining new let-like keywords.
I'd suggest just using the combinators for now.


[Question & Info]

Why do you rely on Stanford Core NLP (which is written in Java) and not on e.g. spaCy?

Possible duplicate : #66

Hi,
There is no strong reason why we chose CoreNLP. However, I did find the sentence splitting performance of SpaCy is not that satisfactory.


Bug: Undefined method 'setBody'.

PHP Version
7.4
CodeIgniter4 Version
4.1.5
Which operating systems have you tested for this bug?
Windows
Which server did you use?
cli-server (PHP built-in webserver)
Database
MariaDB
What happened?

Steps to Reproduce
using "intelephense"
and this my code
return $this->response
            ->setStatusCode(200)
            ->setContentType($file->getMimeType())
            ->setBody(file_get_contents($img))
            ->send();

Expected Output
The notice should not appear.
Anything else?
No response

What is intelephense?
No problem with PhpStorm.

@kenjis intelephense and intellisense are VS Code PHP plugins.
This is another case of interface discrepancy. $this->response is wired to ResponseInterface and setBody is from MessageInterface, so intelephense truly says the method is not found. But, the instance in $this->response is a Response object which implements both ResponseInterface and MessageInterface so this should not be a problem.

Related: #4356

@paulbalandan Thank you!
I misunderstood that there is setBody() in ResponseInterface.
Not directly related, but setBody()is not defined in PSR-7.
https://github.com/php-fig/http-message/blob/master/docs/PSR7-Interfaces.md


VAD: fix edge cases, starting speech at end frames

I faced some problems while using VAD interface to get speech segments. In fact, the problem was already detected here. Cases, when speech starts in final frames, are not well managed. The get_boundaries method returns an even number of bounds, so if speech starts in final frames (start bound) the code was not able to give an end bound. For more details go to issue #1108. The next images show an example that used to break the execution:
Output probability:

Threshold-based decision:

With this PR, the following lines no longer break the execution.
import torch
from speechbrain.pretrained import VAD

vad = VAD.from_hparams(
    source="speechbrain/vad-crdnn-libriparty",
    savedir="data/vad",
)
torch.manual_seed(2022)

for i in range(100):
    probs_th = (torch.randn(1, 100, 1) > 0.5).int()
    vad.get_boundaries(probs_th)

close #1108

You probably want to set the torch random seed to ensure you are testing the same data before and after your fix
https://pytorch.org/docs/stable/notes/randomness.html
That said, I think it improbable that 100 random samples wouldn't surface the issue

Hello @mgoldey,
You are right, I corrected the code snippet. Thank you for pointing this out!
Nevertheless, I tested this PR with a huge amount of real data, the data that helped me to discover the issue. I sadly cannot share that data here.

Thanks @ferugit ! This is something for @mravanelli, I hope he will be able to have a look :-)

Thank you very much for the fix (and sorry for the late review). I tried it and everything seems to work!


Is it okay to update widget's store in action callback?

I am referring to the example provided in this repo.
https://github.com/google/flutter_flux/blob/master/example/lib/main.dart#L62
The handleChatMessageStoreChanged function is called with the Store parameter and from the example it looks like, the downcasted store is assigned to a local scoped store and not the widget's store directly.
Can that function be written as
class ChatScreenState extends State<ChatScreen>
    with StoreWatcherMixin<ChatScreen> {
  // Never write to these stores directly. Use Actions.
  ChatMessageStore messageStore;
  // ...
  void handleChatMessageStoreChanged(Store store) {
    // ChatMessageStore messageStore = store; // instead of this local scoped store ...
    messageStore = store; // ... assign to widget's store
    if (messageStore.currentMessage.isEmpty) {
        msgController.clear();
    }
    setState(() {});
  }
  // ...
}

If this is not okay, I would like to know why.

I believe that messageStore was already saved in the initState() function, so you don't need to reassign it. In any case, using the messageStore in the class is fine.

Thanks for answer. What I am really wondering is if the new Store that comes in a callback has anything different than the one that belongs to the widget. I guess I can programmatically check that.

It's a good question and I spent some time tracing it through. The answer is that this should not happen unless you've set this function to be called in response to multiple stores changing. It's safer to use the parameter you're given because it would be a pretty painful bug to track down if someone makes a code change in the future that calls that function for an additional store.


update build doc

Description
Updates document for build instruction
fixes: issue 2788
Linked issue

Type of change

[x] 🐞 Bug fix (non-breaking change which fixes an issue)
[~] 🛠 New feature (non-breaking change which adds functionality)
[~] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[~] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[~] 🔨 New or improved tests for existing code
[~] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[~] I have read the style guide document, and my code follows the code style of this project.
[~] If my code deals with exceptions, it follows the guidelines.
[~] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.

Testing checklist

[~] I have added tests to cover my changes.
[~] All new and existing tests passed.

Updates document. No code change, hence no test.
QA Steps

Screenshots (if available)

Closed because this PR is just too old.
And not reviewed for too long


Getting Syntax Error when change iOS Device Language to Japanese

Change device language to Japanese getting below error related to moment
Expected behavior
It should work as it working for other languages
Screenshots

Desktop:

OS: iOS
Browser  safari
Version 16.5 (186<IP_ADDRESS>.4)

Smartphone :

Device: iPad Pro 11, or any other iPhone devices
OS: iOS 16.1
Browser safari
Version 16.5 (186<IP_ADDRESS>.4)

Please run the following code in your environment and include the output:
console.log((new Date()).toString())
console.log((new Date()).toLocaleString())
console.log((new Date()).getTimezoneOffset())
console.log(navigator.userAgent)
console.log(moment.version)

LOG Wed Jul 05 2023 12:44:40 GMT+0530
LOG 7/5/2023, 12:44:40 PM
LOG -330
LOG undefined
LOG 2.29.4

Try to reproduce it in jsfiddle or node. I can't debug your browser screenshot.


When the server sets withCredentials to true, the cookie cannot be sent when the m3u8 file is played

I set the withCredentials property of video-js to true, and then the server configured withCredentials to true, access-control-allow-headers: Requested (Origin, x-requested With, content-type, Accept), access-control-allow-origin :'.$_SERVER['HTTP_ORIGIN '], but I found no cookie in the HTTP request by grabbing the package, I hope to be able to get help, I will be very grateful
get playerOptions () {
return {
language: "zh-CN",
autoplay: true,
preload: "auto",
muted: false,
loop: false,
fluid: false,
poster: "",
sources: [
{
// type: "video/mp4",
type: "application/x-mpegURL",
src: this.videoUrl,
withCredentials: true
}
],
notSupportedMessage: "此视频暂无法播放，请稍后再试",
controlBar: {
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: false,
fullscreenToggle: true
}
};
}
window.document.cookie = CURRENT_RESOURCE_ID=${this.resourceId};

If you can solve my problem, I will pay 88.88 yuan to express my gratitude

Also having this same issue


Check consistency of user environment at build time

undefined symbol error is one of frequently asked issue:
https://github.com/cupy/cupy/issues/521
https://github.com/chainer/chainer/issues/1493
https://github.com/chainer/chainer/issues/2501
I guess this is caused by:

version inconsistency of headers and shared libraries at build time, and/or,
version inconsistency of shared libraries between build time and run time

For the former issue, we can check by comparing CUDNN_VERSION and returned value of cudnnGetVersion().
The latter issue can be detected if #756 is implemented.

I think this is no longer needed as we have binary wheels.


Does nothing on certain circumstances

I set up the dashboard with couple of domains I know. The list was
╰─$ cat node_app/monitored_hosts.js
var hosts = [
  'www.zeroturnaround.com',
  'www.zeroturnaround.org',
  'my.jrebel.com',
  'geekout.ee',
];
module.exports = hosts;

I ran the node get_cert_info.js and nothing happened. As I started debugging the script I found that the output is not written. I suspected that one of the domains didn't have a proper cert and I removed the zeroturnaround.org from the list and it started working.
Expected from the program:
Even if any of the domains has issues still write out results for others.

It looks like when I go to www.zeroturnaround.org I get redirected from HTTPS to HTTP, which would mean there is no peer certificate for the script to query. That's not a case I had anticipated, so I'll get it worked into the next fix. Thanks!

Thanks!

Fixed with commit b095739. Let me know if you have any issues!


Redshift: remove JSON fields from atomic.events

See #1731

I'm interested in trying to tackle this. This field takes about 30% of our atomic.events storage. Can anyone point out what needs to be done in order to accomplish this? Thanks

Hi! This is the ticket: #1731. @fblundun - please let @danielzohar know when you would be starting on this (and thus whether it's worth him getting started on this or not).


ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor:0' has invalid shape '[None, None, None, 3]'.

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu, CPU
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary (pip install through anaconda)
TensorFlow version (use command below): 1.8
Python version: 3.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Hi, I want to covert a .pb model to .tflite one. The model is train with tensorflow object detection API. The input tensor shape is (None, None, None, 3) but it seems that tflite_convert doesn't support this kind of input.
Source code / logs
ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor:0' has invalid shape '[None, None, None, 3]'.
@pkulzc Do you think this error is caused because we don't provide the input shape for in the  ? If so, should we edit this file and set the input shape (dimension of our pictures) ?
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

@wt-huang Can you please help me to solve it? I really nead to convert my .pb file to .tflite.
Exact Command:
toco
--input_file=mobilenet_v1_1.0_224/teste/sfrozen_inference_graph.pb
--input_format=TENSORFLOW_GRAPHDEF
--output_file=/tmp/mobilenet_v1_1.0_224.tflite
--input_shape=-1,-1,-1,3
--input_array=image_tensor
--output_array=detection_boxes,detection_scores,detection_classes,detection_nums \

@Elites2017 Currently Toco is not supported on Windows 10. Please try to convert the model on Linux or Mac? It should work.

@Elites2017 Currently Toco is not supported on Windows 10. Please try to convert the model on Linux or Mac? It should work.

@wt-huang I use toco on Ubuntu 16.04. I convert the frozen graph from the mobilenet v1_1.0_224. the problem is after training, I got a new frozen graph with different parameters (from the default frozen graph coming with that model) such as: input_type=image_tensor, input_arrays=[None, None, None, 3], output_arrays=detection_boxes,detection_scores,detection_classes,detection_nums. I've got this error:
ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor:0' has invalid shape '[None, None, None, 3]'

For SSD models trained with detection API, you should use this binary to convert the graph.

For SSD models trained with detection API, you should use this binary to convert the graph.

@pkulzc I've used images os size 256 x 256. in the binary file you mentioned, they say:
Inputs:
'normalized_input_image_tensor': a float32 tensor of shape
[1, height, width, 3] containing the normalized input image. Note that the
height and width must be compatible with the height and width configured in
the fixed_shape_image resizer options in the pipeline config proto.
I haven't done anything in that pipeline config proto, where is that file? Do I need to pass the dimension of the pictures used to trained my model in that file?

Please read the comments carefully. It says

The exported graph has the following input and output nodes.
Inputs:
'normalized_input_image_tensor': ...

So when you export the graph, you don't need to provide this.
After this exporting you don't need to convert again. See this post for some more details.

Please read the comments carefully. It says

The exported graph has the following input and output nodes.
Inputs:
'normalized_input_image_tensor': ...

So when you export the graph, you don't need to provide this.
After this exporting you don't need to convert again. See this post for some more details.

Maybe I misunderstood whe you said that I don't need to convert the frozen graph obtained to tflite after exportation. I thouth I could use that graph directly into an android app.
About the link you mentionned, where do I get those parameters (input_shapes=1,300,300,3) or should I replace the 300 x 300 by 256 x 256 which are the width and height of the images that I've used to trained the model or those are deflautf parameters? What about the std_value, mean_value?
bazel run -c opt tensorflow/contrib/lite/toco:toco --
--input_file=$OUTPUT_DIR/tflite_graph.pb
--output_file=$OUTPUT_DIR/detect.tflite
--input_shapes=1,300,300,3
--input_arrays=normalized_input_image_tensor
--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'
--inference_type=QUANTIZED_UINT8
--mean_values=128
--std_values=128
--change_concat_input_ranges=false
--allow_custom_ops

Yes you still need to run toco to get tflite flatbuffer format  file.
@achowdhery  could you please comment on the toco questions?

Yes you still need to run toco to get tflite flatbuffer format file.
@achowdhery could you please comment on the toco questions?

@pkulzc What about the parameters, where can I find them in my case?

@pkulzc By running toco to get tflite flatbuffer format file, I got the following error:
F tensorflow/contrib/lite/toco/tooling_util.cc:1589] Array FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6, which is an input to the DepthwiseConv operator producing the output array FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6, is lacking min/max data, which is necessary for quantization. Either target a non-quantized output format, or change the input graph to contain min/max information, or pass --default_ranges_min= and --default_ranges_max= if you do not care about the accuracy of results.
Aborted (core dumped)
Any idea..?

@pkulzc the (tflite_graph.pb) file is converted to .tflite with the following warning.
Ignoring unsupported attribute type with key '_output_types' should I worry about it ?
Exact comand used:
bazel run -c opt tensorflow/contrib/lite/toco:toco -- --input_file=/home/david/pro/tflite_graph.pb --output_file=/home/david/pro/detect.tflite --input_shapes=1,300,300,3 --input_arrays=normalized_input_image_tensor --output_arrays=TFLite_Detection_PostProcess --output_arrays=TFLite_Detection_PostProcess:1 --output_arrays=TFLite_Detection_PostProcess:2 --output_arrays=TFLite_Detection_PostProcess:3 --inference_type=QUANTIZED_UINT8 --mean_values=128 --std_values=128 --change_concat_input_ranges=false --allow_custom_ops --default_ranges_min=0 --default_ranges_max=6

Closing as this is a duplicate, feel free to reopen if any error comes up.

i have the same issue, how did you solve this @aurashn ?

@achowdhery how can i determine the input and output nodes that will work on converting to tflite?

@achowdhery  i have an error saying Check failed: GetOpWithOutput(model, output_array) Specified output array "TFlite_Detection_PostProcess" is not produced by any op in this graph. Is it a typo? To silence this message, pass this flag:  allow_nonexistent_arrays
even though it is in my graph. which is this
  obtained from tflite_graph.pb. how can i solve this?

@inakaaay @achowdhery We are having a similar error message. Does anyone know how to solve this?

Solved it with extra parameters inside code:
import tensorflow as tf

graph_def_file = "mask_rcnn_resnet50_atrous_coco_2018_01_28/frozen_inference_graph.pb"
input_arrays = ["image_tensor"]
output_arrays = ["detection_scores","detection_boxes","detection_classes","detection_masks"]

converter = tf.lite.TFLiteConverter.from_frozen_graph(
        graph_def_file, input_arrays, output_arrays,input_shapes={"image_tensor":[1,600,600,3]})
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

Although it cannot produce .tflite because it raises kmerge error "OperatorType::kMerge Found Sub as non-selected output from Switch, but only Merge supported"

Model ssd_mobile_v2.
First, you convert using export_tflite_ssd_graph.py. Pay attention to max_detections to get good performance on mobile.
python export_tflite_ssd_graph.py  --input_type image_tensor --pipeline_config_path training_ssd_v2_config --trained_checkpoint_prefix ../output/model.ckpt-124960 --output_directory ../output/frozen_tflite/frozen_inference_graph.pb -add_postprocessing_op True --max_detections 10
Second, use tflite_convert with tensorflow (or tensorflow-gpu) version 1.11:
tflite_convert --output_file=./tflite/detect.tflite
--graph_def_file=/home/nguyen/ssd/Foods/dataset/OD_food_non_food/ssd_model/output/frozen_tflite/frozen_inference_graph.pb/tflite_graph.pb
--input_arrays=normalized_input_image_tensor
--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'
--input_shape=1,300,300,3
--allow_custom_ops
Voila :dango:

hi.
my code is:
from tensorflow.contrib import lite
converter = lite.TFLiteConverter.from_keras_model_file( r'/content/drive/My Drive/inceptionv3-transfer-learning__fine_tune.model' ) # Your model's name
model = converter.convert()
file = open( 'model.tflite' , 'wb' )
file.write( model )
ValueError: None is only supported in the 1st dimension. Tensor 'input_1' has invalid shape '[None, None, None, 3]'.
what will my input_array,input_shape and output_array be?

Model ssd_mobile_v2.
First, you convert using export_tflite_ssd_graph.py. Pay attention to max_detections to get good performance on mobile.
python export_tflite_ssd_graph.py --input_type image_tensor --pipeline_config_path training_ssd_v2_config --trained_checkpoint_prefix ../output/model.ckpt-124960 --output_directory ../output/frozen_tflite/frozen_inference_graph.pb -add_postprocessing_op True --max_detections 10
--> It will generate 2 files: tflite_graph.pb to be used below and tflite_graph.pbtxt
Second, use tflite_convert with tensorflow (or tensorflow-gpu) version 1.11:
tflite_convert --output_file=./tflite/detect.tflite
--graph_def_file=/home/nguyen/ssd/Foods/dataset/OD_food_non_food/ssd_model/output/frozen_tflite/frozen_inference_graph.pb/tflite_graph.pb
--input_arrays=normalized_input_image_tensor
--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'
--input_shape=1,300,300,3
--allow_custom_ops
Voila 🍡

This worked. :)
Thanks a lot


Requirement error when install GPU version

I want to install lightgbm of GPU version in my machine. Before installing it, I execute the command "pip install cmake" and there is no error after that.
Then I try install lgb like this below:
$pip install lightgbm --install-option=--gpu
/usr/lib/python2.7/site-packages/pip/commands/install.py:194: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
  cmdoptions.check_install_build_global(options)
Collecting lightgbm
  Using cached lightgbm-2.1.0.tar.gz
Requirement already satisfied: numpy in /usr/lib64/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scipy in /usr/lib64/python2.7/site-packages (from lightgbm)
Requirement already satisfied: scikit-learn in /usr/lib64/python2.7/site-packages (from lightgbm)
Skipping bdist_wheel for lightgbm, due to binaries being disabled for it.
Installing collected packages: lightgbm
  Running setup.py install for lightgbm ... error
    Complete output from command /usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qn53GS/lightgbm/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-MQ4b99-record/install-record.txt --single-version-externally-managed --compile --gpu:
    running install
    INFO:LightGBM:Starting to compile the library.
    INFO:LightGBM:Starting to compile with CMake.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-qn53GS/lightgbm/setup.py", line 278, in <module>
        'Topic :: Scientific/Engineering :: Artificial Intelligence'])
      File "/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 129, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
        dist.run_commands()
      File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/tmp/pip-build-qn53GS/lightgbm/setup.py", line 204, in run
        opencl_include_dir=self.opencl_include_dir, opencl_library=self.opencl_library)
      File "/tmp/pip-build-qn53GS/lightgbm/setup.py", line 152, in compile_cpp
        silent_call(cmake_cmd, raise_error=True, error_msg='Please install CMake and all required dependencies first')
      File "/tmp/pip-build-qn53GS/lightgbm/setup.py", line 77, in silent_call
        raise Exception("\n".join((error_msg, log_notice)))
    Exception: Please install CMake and all required dependencies first
    The full version of error log was saved into /home/xuemeng.cyn/LightGBM_compilation.log

    ----------------------------------------
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-qn53GS/lightgbm/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-MQ4b99-record/install-record.txt --single-version-externally-managed --compile --gpu" failed with error code 1 in /tmp/pip-build-qn53GS/lightgbm/

I don't knwo what's wrong with this. How to solve it ?

I think cmake isn't in pip. it is a system side package.


Removed need of passing aws_account_id variable

One of the variables required on variables.tf is the AWS account ID. However, if we map correctly the resources on terraform config, it won't be needed. Instead of passing account ID to build arn, we can simply pass the arn itself.
If combined with PR #1, user will have to only provide region, which is much simpler.

I am closing this as it didn't receive any attention and I don't even know if this still works.


Storypath Scion Demigod new antagonist, birthright, and equipment fields

For Scion: Demigod,
Adds Segment, Threat, Legend, and Scale fields to antagonists
Adds boons, marvels, special, and scale to equipment and birthrights

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: < Scion Second Edition: Demigod >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: < Onyx Path Publishing  > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: < Storypath  > (i.e. Dungeons & Dragons, FATE)

[x] I have followed the Character Sheets Standards when building this sheet.

[x] I have authorization from the game's publisher to make this an official sheet on Roll20 with their name attached.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.

Hi, @christopherhopper,
This is an official sheet, which requires contributors to be authorized by the publisher (in this case, Onyx Path) or the agency they have contracted to work on the sheet. I'm tagging in @Kurohyou to confirm whether this should be authorized.


Indicators

Continuation of #135.

Added support for custom tulind indicators (#189), thx to @gelinger777 for good advice.
Fixed tulind parameters bug, parameters could be passed wrong way when destructuring object
Added tests for custom indicators,
Fixed tests deprication warnings (only one file for now)
All tests passing
Added demo strategy showcasing how to use custom indicators
Added some documentation

thank you very much @egisz

thank you very much @egisz


Strat 79 - Added working validation for multipleOf

@badamich , looks good to merge.
We will then want to tag this with a new version, and modify the bower.json within Goldfish Polymer to pull in the new version.


StakeWise osETH Adapter

StakeWise Labs
StakeWise is a liquid staking protocol that enables simple and secure ETH staking for individuals and organizations. It also provides the tools & software to allow anyone to launch their own staking Pool (called Vault) and earn fees by running validators for others. All Ether staked using StakeWise can be made liquid with osETH, a liquid staking token.
Link: https://stakewise.io
Pre-merge author checklist

[x] A brief description of the protocol and adapters is added to the PR
[x] Files outside the protocol folder are not being edited and, if they are, it's clearly explained why in the PR
[x] update me comments are removed
[x] Contracts used are verified for that chain block explorer
[x] Test cases with a block number have been added to the testCases.ts file for every relevant method that has been implemented

[x] positions
[x] prices
[x] deposits
[x] withdrawals
[x] profits
[x] tvl
[ ] apr
[x] apy

[x] getAddress from ethers

[x] Is used to parse hardcoded addresses
[x] Is used to parse addresses that come from contract calls when it is not clear they'll be in checksum format
[x] It is NOT used to parse addresses from input methods
[x] It is NOT used to parse addresses from metadata

[x] For every adapter that extends SimplePoolAdapter

[x] getPositions is not overwritten and, if it is, it's clearly explained why in the PR
[x] getProtocolTokenToUnderlyingTokenRate is not overwritten and, if it is, it's clearly explained why in the PR

[ ] If the adapters requires to fetch static data on-chain (e.g. pool ids, token metadata, etc)

[ ] The adapter implements IMetadataBuilder
[ ] The buildMetadata method is implemented with the @CacheToFile decorator
[ ] All the static data is stored within the metadata JSON file

Sorry for the delay. We'll try to review the PR today.


pint: init at 0.51.0

Description of changes
This PR adds the package pint: https://github.com/cloudflare/pint
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 272939 run on x86_64-linux 1

1 package built:

pint

Build fails on Darwin platforms. Please use platforms.linux, or use broken = stdenv.isDarwin.


write upgrade runtasks to move from 0.8.2 to 0.9.0

Description

Write upgrade runtask to upgrade the openebs components from 0.8.2 to 0.9.0 via m-upgrade
Context

It will be helpful for the users who are intersted to upgrade to latest stable releases seamlessly.
Following components needs to be upgraded

Openebs control plane:

m-apiserver
openebs-provisioner
snapshot-controller

Data plane:

cstor pool pods (patch is required for pool-exporter aka maya-exporter)
cstor target pod
cstor target svc
cstor volume
cstor volume replica
jiva replica pods
jiva controller pod
jiva controller svc

Possible Solution

Screenshots

closed via openebs/openebs#2569


feat: redesign CourseDatesFragment

Description:

Redesign CourseDatesFragment
Restructure CourseDates Data
Added minor utility methods

fix: LEARNER-9714

Light Theme
Dark Theme

LGTM 👍👍👍
Need to fix only hardcoded strings.

Back from vacations and ready to start the review. 🚀


Missing OpenSSL headers when compiling from source

I'm trying to compile bitcoin classic from source on OSX. I've run into a few errors and package issues, but was able to get around them. Now I'm stuck.
Running ./configure works well for most of the processes, but I get stuck on OpenSSL.
.....
checking for SSL... yes
checking for CRYPTO... yes
checking for PROTOBUF... yes
checking for QR... no
checking for RAND_egd in -lcrypto... yes
checking openssl/ec.h usability... no
checking openssl/ec.h presence... no
checking for openssl/ec.h... no
configure: error: OpenSSL ec header missing

Is the issue that OpenSSL or an alternative SSL handler is running a non-compatible version?
Running:
 ./configure --help | grep -i ssl
Provides me with some insight:
  --with-libressl         Build with system LibreSSL (default is no;
 SSL_CFLAGS  C compiler flags for SSL, overriding pkg-config
  SSL_LIBS    linker flags for SSL, overriding pkg-config
 Users-iMac:bitcoinclassic User$

I previously installed kpg-config with brew as one the missing packages/earlier errors I encountered. It looks like the fact that pkg-config is being overridden is causing this error.
Could someone confirm this is the case? I've overcome the other issues I faced when trying to set this up but I'm stuck here and could use some guidance.
I apologize if this is an incorrect usage of the Issues section since this is likely an issue with my OS and not bitcoin classic. I'm a novice trying to learn.

Can you tell me which version of OSX you're running? Also, could you give me the output of running this: find /usr -iname "libssl*"? Thanks!

It seems that newer versions of OSX don't ship with OpenSSL any more — instead, they ship with SSH compiled against LibreSSL, and use their own TLS implementation elsewhere.
I suggest you try installing openssl from Homebrew, MacPorts, or whichever your package manager of choice is.

Thanks pdpi, that looks like it answers the question. I'll close this for now "waiting for more information".
dopeideas, feel free to reopen if you fail to find a solution.


Compatibility with dynamic components

Hi,
would it be possible to make this package compatible with laravel dynamic components (https://laravel.com/docs/8.x/blade#dynamic-components) so we can create components that generate icons on the fly like this ?
    <x-dynamic-component component="x-feathericon-{{ $icon }}"
        class="w-5 h-5 mr-3 -ml-1 @if(request()->routeIs($routeIs)) text-primary @else text-black @endif" />

Thanks for the update !

That's a good point, but I need to investigate how to do it, might take some time sorry.
If you know how to do it, then please kindly consider a PR and I will surely approve it.


Position Stack opposing team (either position)

I can force a stack for a player on an opposing team for my QB as follows:
optimizer.force_positions_for_opposing_team(('QB', 'WR'))
But how can I say that I want the opposing position to be EITHER a WR or TE
Ideally I'm looking for something like this:
optimizer.force_positions_for_opposing_team(('QB', ['WR', 'TE']))

optimizer.add_stack(PositionsStack(['QB', ('WR', 'TE', 'DST')]))  I think this is what you are looking for.  It will stack a QB with any of the 3 positions...WR,TE, or DST

optimizer.add_stack(PositionsStack(['QB', ('WR', 'TE', 'DST')])) I think this is what you are looking for. It will stack a QB with any of the 3 positions...WR,TE, or DST

i think hes wanting a wr or te from the OPPOSING team, not the qbs team.

getting a "bringback" is good lineup building philosophy.  Roughly a 1/3 of the time something like qb + wr + opp wr or opp Te, or qb + te + opp wr + opp te is in the optimal lineup.
With your example does it put only 1 opposing wr or Te with a QB?

That's good to know, maybe incorporate that now!  I added both lines and ran 150 lineups.  Sometimes it was a TE and sometimes it was a WR.  Sometimes both.
Note I had a max_exposure setting on all lineups to 0.25

@chrisbach1 @lightninglarry
optimizer.force_positions_for_opposing_team(('QB', 'WR'))
optimizer.force_positions_for_opposing_team(('QB', 'TE'))
That doesn't seem to work. I'm trying to figure out something similar as well, and tried the above recommended but it still seems to stick with 1 vs either/or. Breaking my head over this!

If you change your TE's projection to something higher, will it work?  It's still going to optimize the lineup, so if your wide receivers projection is a lot higher, it will probably include him vs a TE

I am having the same issue. The optimizer will select whichever statement you use last. I will follow this thread incase this is resolved.

This code allows you to have a bringback into your lineups, as this was something I have been trying to figure out as well and finally did:
bringback_options = [('QB', 'RB'), ('QB', 'WR'), ('QB', 'TE')]
selected_bringback = random.choice(bringback_options)
optimizer.add_stack(PositionsStack(['QB', 'WR', ('WR', 'TE')], stack_teams))
optimizer.force_positions_for_opposing_team(selected_bringback)
The stack is a QB with a WR and a WR or TE from one of my stack teams. Then force the positions from the opposing to be the random selection of RB, WR, or TE in the bringback options. This has worked for me to get a double stack and bringback in each lineup.

@cdioriodfs  where is 'stack_teams' coming from? its saying not defined

from pydfs_lineup_optimizer.stacks import TeamStack, PositionsStack, PlayersGroup, Stack, GameStack

stack_teams is not a function is "Stacks.py"

@chrisbach1 stack_teams is a just a variable I created that stores the teams that I want to stack. Would looks something like this:
stack_teams = [“PHI”, “KC”, “JAX”, “LAC”]
This was just so I didn’t get stacks/qbs in my lineups that I didn’t want to stack that week.

Try
stack_teams = ['PHI', 'KC', 'JAX', 'LAC']
On Mon, Nov 6, 2023, 3:49 PM cdioriodfs @.***> wrote:

@chrisbach1 https://github.com/chrisbach1 stack_teams is a just a
variable I created that stores the teams that I want to stack. Would looks
something like this:
stack_teams = [“PHI”, “KC”, “JAX”, “LAC”]
This was just so I didn’t get stacks/qbs in my lineups that I didn’t want
to stack that week.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/378#issuecomment-1796411064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7V56YKBF5P5GVHWRGLYDFENFAVCNFSM6AAAAAAQPWWAVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJWGQYTCMBWGQ
.
You are receiving this because you commented.Message ID:
@.***>

The code I posted works to get a double stack and a bring back, but the same position is used on the bringback for each qb, For example, every Jalen Hurts lineup would have a double stack and a WR bringback for every one, no RB or TE. I cannot get the code to choose between RB, WR, or TE for each lineup, bit it chooses for each QB if that makes sense.

Can i see all the code
On Mon, Nov 6, 2023, 3:54 PM cdioriodfs @.***> wrote:

The code I posted works to get a double stack and a bring back, but the
same position is used on the bringback for each qb, For example, every
Jalen Hurts lineup would have a double stack and a WR bringback for every
one, no RB or TE. I cannot get the code to choose between RB, WR, or TE for
each lineup, bit it chooses for each QB if that makes sense.
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/378#issuecomment-1796417301,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7S5EMH4HSXRCTBHWFDYDFE6XAVCNFSM6AAAAAAQPWWAVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJWGQYTOMZQGE
.
You are receiving this because you commented.Message ID:
@.***>

Doesnt work for me.  Only tight ends work

Use randomness
On Mon, Nov 6, 2023, 5:12 PM Chris Bachmann @.***>
wrote:

Doesnt work for me. Only tight ends work
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/378#issuecomment-1796843543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7UYKUJKVRXZFION3ITYDFODDAVCNFSM6AAAAAAQPWWAVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJWHA2DGNJUGM
.
You are receiving this because you commented.Message ID:
@.***>

I did

Its fine.  Im not too worried about it.  Thanks for the help!

Post your code
On Mon, Nov 6, 2023, 5:17 PM Chris Bachmann @.***>
wrote:

I did
—
Reply to this email directly, view it on GitHub
https://github.com/DimaKudosh/pydfs-lineup-optimizer/issues/378#issuecomment-1796855945,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANBWO7UUBW33HK6HCUFJ5MTYDFOWXAVCNFSM6AAAAAAQPWWAVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJWHA2TKOJUGU
.
You are receiving this because you commented.Message ID:
@.***>

@Denwen12
import pydfs_lineup_optimizer
from pydfs_lineup_optimizer import get_optimizer, Site, Sport, LineupOptimizer
from pydfs_lineup_optimizer.stacks import GameStack, Stack, NestedPlayersGroup, OptimizerStack, TeamStack, PositionsStack
from pydfs_lineup_optimizer import PlayersGroup, PlayerFilter, Player
from pydfs_lineup_optimizer.utils import get_players_grouped_by_teams
import random
Initialize the optimizer and load players from the CSV file
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.FOOTBALL)
optimizer.load_players_from_csv("#####")
optimizer.set_min_salary_cap(49700)
stack_teams = ['PHI', 'LAC', 'CIN', 'JAX', 'BAL']
qb_filter = PlayerFilter(positions=['QB'], from_value=15, filter_by='fppg')
rb_filter = PlayerFilter(positions=['RB'], from_value=6, filter_by='fppg')
wr_filter = PlayerFilter(positions=['WR'], from_value=6, filter_by='fppg')
te_filter = PlayerFilter(positions=['TE'], from_value=4, filter_by='fppg')
dst_filter = PlayerFilter(positions=['DST'], from_value=2, filter_by='fppg')
optimizer.player_pool.add_filters(qb_filter, rb_filter, wr_filter, te_filter, dst_filter)
qbs = optimizer.player_pool.get_players(qb_filter)
rbs = optimizer.player_pool.get_players(rb_filter)
wrs = optimizer.player_pool.get_players(wr_filter)
tes = optimizer.player_pool.get_players(te_filter)
dsts = optimizer.player_pool.get_players(dst_filter)
players_by_team = get_players_grouped_by_teams(optimizer.player_pool.filtered_players)
dataGames = [a for a in optimizer.player_pool.games]
games = [f'{a.home_team}, {a.away_team}, game {list(optimizer.player_pool.games).index(a)}' for a in optimizer.player_pool.games]
qb_exposure = 0.20
rb_exposure = 0.35
wr_exposure = 0.60
te_exposure = 0.25
dst_exposure = 0.40
for qb in qbs:
qb.max_exposure = qb_exposure
for rb in rbs:
rb.max_exposure = rb_exposure
for wr in wrs:
wr.max_exposure = wr_exposure
for te in tes:
te.max_exposure = te_exposure
for dst in dsts:
dst.max_exposure = dst_exposure
all_teams = list({player.team for player in optimizer.player_pool.filtered_players})
optimizer.restrict_positions_for_same_team(('RB', 'RB'),('QB', 'DST'),('QB', 'RB'), ('WR', 'RB'))
optimizer.restrict_positions_for_opposing_team(('QB','RB','WR','TE'), 'DST')
optimizer.set_max_repeating_players(3)
te_group = PlayersGroup(tes, max_from_group=1)
rb_group = PlayersGroup(rbs, max_from_group=2)
optimizer.add_players_group(te_group)
optimizer.add_players_group(rb_group)
bringback_options = [('QB', 'WR'), ('QB', 'RB'), ('QB', 'TE')]
selected_bringback = random.choice(bringback_options)
optimizer.add_stack(PositionsStack(['QB', 'WR', ('WR', 'TE')], for_teams=stack_teams))
optimizer.force_positions_for_opposing_team(selected_bringback)
optimizer.force_positions_for_opposing_team
optimizer.add_stack(GameStack(2, min_from_team=1))
Generate lineups
lineups = list(optimizer.optimize(n=20))
Export lineups to CSV file
optimizer.export("#####")

@Denwen12
import pydfs_lineup_optimizer from pydfs_lineup_optimizer import get_optimizer, Site, Sport, LineupOptimizer from pydfs_lineup_optimizer.stacks import GameStack, Stack, NestedPlayersGroup, OptimizerStack, TeamStack, PositionsStack from pydfs_lineup_optimizer import PlayersGroup, PlayerFilter, Player from pydfs_lineup_optimizer.utils import get_players_grouped_by_teams import random
Initialize the optimizer and load players from the CSV file
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.FOOTBALL) optimizer.load_players_from_csv("#####")
optimizer.set_min_salary_cap(49700)
stack_teams = ['PHI', 'LAC', 'CIN', 'JAX', 'BAL']
qb_filter = PlayerFilter(positions=['QB'], from_value=15, filter_by='fppg') rb_filter = PlayerFilter(positions=['RB'], from_value=6, filter_by='fppg') wr_filter = PlayerFilter(positions=['WR'], from_value=6, filter_by='fppg') te_filter = PlayerFilter(positions=['TE'], from_value=4, filter_by='fppg') dst_filter = PlayerFilter(positions=['DST'], from_value=2, filter_by='fppg')
optimizer.player_pool.add_filters(qb_filter, rb_filter, wr_filter, te_filter, dst_filter)
qbs = optimizer.player_pool.get_players(qb_filter) rbs = optimizer.player_pool.get_players(rb_filter) wrs = optimizer.player_pool.get_players(wr_filter) tes = optimizer.player_pool.get_players(te_filter) dsts = optimizer.player_pool.get_players(dst_filter)
players_by_team = get_players_grouped_by_teams(optimizer.player_pool.filtered_players)
dataGames = [a for a in optimizer.player_pool.games]
games = [f'{a.home_team}, {a.away_team}, game {list(optimizer.player_pool.games).index(a)}' for a in optimizer.player_pool.games]
qb_exposure = 0.20 rb_exposure = 0.35 wr_exposure = 0.60 te_exposure = 0.25 dst_exposure = 0.40
for qb in qbs: qb.max_exposure = qb_exposure
for rb in rbs: rb.max_exposure = rb_exposure
for wr in wrs: wr.max_exposure = wr_exposure
for te in tes: te.max_exposure = te_exposure
for dst in dsts: dst.max_exposure = dst_exposure
all_teams = list({player.team for player in optimizer.player_pool.filtered_players})
optimizer.restrict_positions_for_same_team(('RB', 'RB'),('QB', 'DST'),('QB', 'RB'), ('WR', 'RB')) optimizer.restrict_positions_for_opposing_team(('QB','RB','WR','TE'), 'DST')
optimizer.set_max_repeating_players(3)
te_group = PlayersGroup(tes, max_from_group=1) rb_group = PlayersGroup(rbs, max_from_group=2) optimizer.add_players_group(te_group) optimizer.add_players_group(rb_group)
bringback_options = [('QB', 'WR'), ('QB', 'RB'), ('QB', 'TE')] selected_bringback = random.choice(bringback_options)
optimizer.add_stack(PositionsStack(['QB', 'WR', ('WR', 'TE')], for_teams=stack_teams)) optimizer.force_positions_for_opposing_team(selected_bringback) optimizer.force_positions_for_opposing_team optimizer.add_stack(GameStack(2, min_from_team=1))
Generate lineups
lineups = list(optimizer.optimize(n=20))
Export lineups to CSV file
optimizer.export("#####")

Much appreciated! I've been looking for a simple solution like this all season

@cdioriodfs thank you again for sharing your code. You helped me win a pretty big tournament yesterday

@Denwen12
import pydfs_lineup_optimizer from pydfs_lineup_optimizer import get_optimizer, Site, Sport, LineupOptimizer from pydfs_lineup_optimizer.stacks import GameStack, Stack, NestedPlayersGroup, OptimizerStack, TeamStack, PositionsStack from pydfs_lineup_optimizer import PlayersGroup, PlayerFilter, Player from pydfs_lineup_optimizer.utils import get_players_grouped_by_teams import random
Initialize the optimizer and load players from the CSV file
optimizer = get_optimizer(Site.DRAFTKINGS, Sport.FOOTBALL) optimizer.load_players_from_csv("#####")
optimizer.set_min_salary_cap(49700)
stack_teams = ['PHI', 'LAC', 'CIN', 'JAX', 'BAL']
qb_filter = PlayerFilter(positions=['QB'], from_value=15, filter_by='fppg') rb_filter = PlayerFilter(positions=['RB'], from_value=6, filter_by='fppg') wr_filter = PlayerFilter(positions=['WR'], from_value=6, filter_by='fppg') te_filter = PlayerFilter(positions=['TE'], from_value=4, filter_by='fppg') dst_filter = PlayerFilter(positions=['DST'], from_value=2, filter_by='fppg')
optimizer.player_pool.add_filters(qb_filter, rb_filter, wr_filter, te_filter, dst_filter)
qbs = optimizer.player_pool.get_players(qb_filter) rbs = optimizer.player_pool.get_players(rb_filter) wrs = optimizer.player_pool.get_players(wr_filter) tes = optimizer.player_pool.get_players(te_filter) dsts = optimizer.player_pool.get_players(dst_filter)
players_by_team = get_players_grouped_by_teams(optimizer.player_pool.filtered_players)
dataGames = [a for a in optimizer.player_pool.games]
games = [f'{a.home_team}, {a.away_team}, game {list(optimizer.player_pool.games).index(a)}' for a in optimizer.player_pool.games]
qb_exposure = 0.20 rb_exposure = 0.35 wr_exposure = 0.60 te_exposure = 0.25 dst_exposure = 0.40
for qb in qbs: qb.max_exposure = qb_exposure
for rb in rbs: rb.max_exposure = rb_exposure
for wr in wrs: wr.max_exposure = wr_exposure
for te in tes: te.max_exposure = te_exposure
for dst in dsts: dst.max_exposure = dst_exposure
all_teams = list({player.team for player in optimizer.player_pool.filtered_players})
optimizer.restrict_positions_for_same_team(('RB', 'RB'),('QB', 'DST'),('QB', 'RB'), ('WR', 'RB')) optimizer.restrict_positions_for_opposing_team(('QB','RB','WR','TE'), 'DST')
optimizer.set_max_repeating_players(3)
te_group = PlayersGroup(tes, max_from_group=1) rb_group = PlayersGroup(rbs, max_from_group=2) optimizer.add_players_group(te_group) optimizer.add_players_group(rb_group)
bringback_options = [('QB', 'WR'), ('QB', 'RB'), ('QB', 'TE')] selected_bringback = random.choice(bringback_options)
optimizer.add_stack(PositionsStack(['QB', 'WR', ('WR', 'TE')], for_teams=stack_teams)) optimizer.force_positions_for_opposing_team(selected_bringback) optimizer.force_positions_for_opposing_team optimizer.add_stack(GameStack(2, min_from_team=1))
Generate lineups
lineups = list(optimizer.optimize(n=20))
Export lineups to CSV file
optimizer.export("#####")

I would love to know how to do this for MLB but thats far above my expertise
Personally not much of of NFL fan but nice work


feat(config): creates a lob:config sub-generator

What
Creates a yo lob:config sub-generator. See updated readme for details.
Why
Almost all of our projects use a config directory. Plus the training API project requires a config directory so adding this now is especially timely for that.

LGTM

LGTM 1 optional suggestion
Great work 💯


move type2index into EIGEN_HAS_INDEX_LIST

https://github.com/tensorflow/tensorflow/pull/5127 has a small issue that type2index / IndexList is used without checking for EIGEN_HAS_INDEX_LIST which broke the windows gpu build.
This makes it build again.

Can one of the admins verify this patch?

can you invert the if condition? #if defined #else ... #endif. This to be able to remove the !. I had a feeling that I had to do something like this from the single example that I found in TF using these functions.

certainly can switch the ifdef. But there is the same ifdef in line 67. Switch both or none ?

oh I see, no then is better to leave it like this for consistency.

Cool, thank you. Btw, the missing ifdef: I'd not have seen it either. But next time we know :)

Thanks for the fix, Guenther!

@tensorflow-jenkins test this please.

Jenkins, test this please.


Animated.ScrollView

In our app we're currently using a modified version of react-native-swiper, where we replaced ScrollView with Animated.ScrollView (here), so we can bind an Animated.Event to the onScroll handler.
Is this something we can add to the main library? Through a prop for example:
<Swiper animated={true}></Swiper>

And in the code of react-native-swiper we can conditionally render an Animated.ScrollView or a regular ScrollView.
Is this something we can add through a PR, or do you have other/better suggestions?

Just installed the library this week thinking this would be basic feature until I realized it's not wrapped. Ended up doing a fork as well. I will create a PR for that, it's honestly weird that this feature is missing


How to get the video coordinate

Hi， I got a problem during run the remove anything video.
Remove Anyting Video can only run by --coords_type key_in not click, so I use CV2 to get the first frame and get the coordinate of the thing I want to remove, but after run the code, the coordinate was totally different with what I got by the CV2 script，so how do you get the video coordinate?

Another thing is it seems the there are certain requirements for the definition of the video, if the definition is too high, it will not be recognized normally, so I want to ask what are the specific requirements for the video，like at most 4K or others?

Another thing is it seems the there are certain requirements for the definition of the video, if the definition is too high, it will not be recognized normally, so I want to ask what are the specific requirements for the video，like at most 4K or others?

Kindly set --coords_type to click, then you can click to input a point.

Hi， I got a problem during run the remove anything video. Remove Anyting Video can only run by --coords_type key_in not click, so I use CV2 to get the first frame and get the coordinate of the thing I want to remove, but after run the code, the coordinate was totally different with what I got by the CV2 script，so how do you get the video coordinate?

I updated the code of remove_anything_video. It now supports for clicking to input a point. Kindly set --coords_type to click.

Another thing is it seems the there are certain requirements for the definition of the video, if the definition is too high, it will not be recognized normally, so I want to ask what are the specific requirements for the video，like at most 4K or others?

4K requires huge computation resouces. It should work if the memory is sufficient. But the video inpainting model we used STTN seems to perform a resize operation which may downscale the video.

Got it, thanks for answer!


PT#139493225 vm snapshot lists

https://www.pivotaltracker.com/story/show/139493225
Left to do:

[x] ensure mock data is present
[x] write some tests

Right now, querying /api/vms?expand=snapshots does not yield snapshot actions, once this bug is fixed we'll be sitting pretty (not yet a blocker, but might be soonish, saul good tho api friends are aware of the issue) :dancer: :taco: gonna hit `/api/vms/{{vmid}}/snapshots instead, proper explorer functionality
Present State

@AllenBW good first pass.  Please be sure to incorporate any design assets that Serena provides.

@AllenBW regarding "/api/vms?expand=snapshots" do you have a BZ, PT, or GH issue you can link to?  If not, can you please create one and link to it so we have a record?

@chriskacerguis none at the moment, gonna pivot and do something a little different so its not required anyways, updated pr to reflect this

@chriskacerguis Updated service details page to include snapshot data

@AllenBW can you take a look some tests are failing.

@chriskacerguis not sure what to tell ya, they pass locally without issue...

@chriskacerguis at an impasse as to why tests are failing for travis, @chalettu any thoughts?

@AllenBW looks like it is almost there.

@chriskacerguis it might look like one test but something is seriously wack with the timings across the board... tests pass, this passes locally, but not for travis... I wish it was a fight to write the right test, sadly its not, rather its the fight to time all the tests correctly :(

@AllenBW so, how would do you think we should handle it?  I'm slightly inclined to remove the test (shudder) and we can revisit when we tackle Angular2?

@chriskacerguis not outta ideas yet, just outta hope, i would hate to burn a day trying to figure this out, at this point not sure how it ought to be handled... will think deeply on the matter and report back...

@AllenBW I would agree we have burned a lot of hours on this already.


Improve message, p2

Hello,
please improve this action a little bit:

allow to mention teams (https://stackoverflow.com/questions/54284389/mention-users-group-via-slack-api)
put mentions in a new line of message (look's much better than one long lone)
fix empty mentions
Now without specify mention and mention_when I will get message like this
https://user-images.githubusercontent.com/31315876/114349748-f8ef3200-9b70-11eb-96ea-08c71681a19d.png
consider update if statement https://github.com/ravsamhq/notify-slack-action/blob/master/main.py#L98
and mention != ''

Regards,
Andrii

This issue has been resolved in release 1.3.0.


docs(nav-updates): various navigation updates

Related Ticket(s)
Refs #696
Description
This makes a number of navigation updates based on the requests in https://github.com/carbon-design-system/carbon-for-ibm-dotcom-website/issues/696.
Changelog
Changed

nav-items.yml
associated links updated

Hi @jeffchew Two changes need to be made.
The "Contributions" should be updated to "Contributing".
The "Guidelines" needs to be moved to the section below and right above Components.

@JennySanchez updates have been made and deploy preview looks like is rebuilding.


Enable VFS to work with arbitrary paths

It would be nice to enable VFS to work with arbitrary paths. Although this is possible at a global level with the existing VFS driver, all volumes under that driver instantiation would all share the same root path.
The desired functionality would ensure that the base VFS path would be used for persistently storing information about volumes that are created. The created volumes would be able to declare custom paths where the data actually exists (could be already mounted NFS volumes, etc) and allow you to specify this path via volumeType parameter.

Issue moved to codedellemc/rexray #944 via ZenHub


⚠ Fortnite has degraded performance

In 9bd0505, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1546 ms

Resolved: Fortnite performance has improved in 924e176.


Question: rewriting the request path like "host_rewrite_header"

Description:
Is there any way I can rewrite the request path during forwarding? Just like host_rewrite_header does

Hi, is this what you are looking for?
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-prefix-rewrite

Thank you ~ This does work.
But I wanted to do it in a more dynamic way. For example, by modifying the request header in the Wasm plugin and making it match the original path.
As shown below with host_rewrite_header:
envoy.yaml:
# ...
static_resources:
  listeners:
    - name: listener_0
      address:
        socket_address:
          protocol: TCP
          address: <IP_ADDRESS>
          port_value: 10000
      filter_chains:
        - filters:
            - name: envoy.filters.network.http_connection_manager
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                scheme_header_transformation:
                  scheme_to_overwrite: https
                stat_prefix: ingress_http
                access_log:
                  - name: envoy.access_loggers.stdout
                    typed_config:
                      "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
                route_config:
                  name: local_route
                  virtual_hosts:
                    - name: local_service
                      domains: ["foo.com"]
                      routes:
                        - match:
                            prefix: "/foo"
                          name: "foo"
                          route:
                            host_rewrite_header: x-my-custom-host # Look at this
                            cluster: echoserver
                http_filters:
                  - name: wasmdemo
                    typed_config:
                      "@type": type.googleapis.com/udpa.type.v1.TypedStruct
                      type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
                      value:
                        config:
                          name: wasmdemo
                          vm_config:
                            runtime: envoy.wasm.runtime.v8
                            code:
                              local:
                                filename: /etc/envoy/main.wasm
                          configuration:
                            "@type": "type.googleapis.com/google.protobuf.StringValue"
                            value: |
                              {}
                  - name: envoy.filters.http.router
# ...

plugin.go:
// <Snip ...>
	proxywasm.ReplaceHttpRequestHeader("x-my-custom-host", "example.com")
	log.Debug("rewrite host successful")
// <Snip ...>

result:
curl -i <IP_ADDRESS>:10000/foo -H "host: foo.com"
HTTP/1.1 200 OK
content-type: application/json
x-content-type-options: nosniff
date: Tue, 23 May 2023 09:21:10 GMT
content-length: 565
req-cost-time: 4
req-arrive-time:<PHONE_NUMBER>039
resp-start-time:<PHONE_NUMBER>043
x-envoy-upstream-service-time: 2
server: envoy

{
 "path": "/foo",
 "host": "example.com",
 "method": "GET",
 "proto": "HTTP/1.1",
 "headers": {
  "Accept": [
   "*/*"
  ],
  "Original-Host": [
   "foo.com"
  ],
  ...
  "X-My-Custom-Host": [
   "example.com"
  ],
 ...

could you clarify you quesion more clearly, thanks? what do you mean by and making it match the original path?

Sorry, I hope I can make that clear:
For example, I have a request: http://foo.com/foo.
Wasm filter will then rewrite it as http://example.com/bar by modifying headers :authority and :path.
When the request headers are modified, however, the cached route will be cleaned up and re-selected (HTTP filter chain processing).
So the route that ends up matching is example.com/bar instead of foo.com/foo, which is not what was expected from the rewrite.
This may seem silly, as it could be done using fields such as prefix_rewrite -。-.
But I wonder if it could be done using the Wasm plugin 🙏🏻.

Sorry, for now, You cannot achieve this target by the wasm/lua. If headers is modified the cache will be cleared by default.
But you can try a the upstream header mutation filters which could update the headers after the upstream is selected and will not refresh the route cache.

@wbpcode Thanks so much for your answer ~ :)


#185 create useIntersectionObserver hook

Not sure what to do with the .test.ts, i removed it since the IntersectionObserver API is only available in the browser.

Not sure what to do with the .test.ts, i removed it since the IntersectionObserver API is only available in the browser.

@petervdn we can create tests using playwright, see useMediaQuery.playwright.ts as an example of how to write playwright tests for hooks.


Considering text for JGProgressHUD is too long, how can I set the text in multiple lines instead  of one currently?

like if I want to show text :  "today is a wonderful day,right? "
It now shows in a line
what if I want it shows in multiple lines so the JGProgressHUD WON'T be too large

Setting textLabel.numberOfLines = 0 should allow an unlimited number of lines.

Fixed in a2f0161fa993bbd9a7de14fe8fc76dc6bb22a05a.


Bruno keeps interfering with Git, during rebase operations [ Transient ]

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug

Have burno .bru files committed to the codebase
Have that burno collection opened in the app
Perform git operations can change the working tree very quickly ( ex: do rebase with multiple commits containing changes to the burno files [ create/delete/edit ]).

The operation fails transiently citing another app holds git index lock. Sometimes we could resume, but some times it needs to be aborted.
.bru file to reproduce the bug
No response
Screenshots/Live demo link
I'll capture the error message on next occurrence

Hey @rsampaths16, thanks for taking the time to report the bug. It will be really helpful if you could share the error message or a screen capture?


Permalinks "Not Found"

Hi,
I'm quite a beginner with both jekyll and atom. In my arch linux system the jekyll serve command works perfectly, producing pages and functional permalinks to posts from the _posts dir.
When i start the jekyll server inside atom the pages and main navigation links are working; but if I set a permalink (e.g permalink: /blog/:year/:title) the links to my posts only lead me to a page echoing "Not Found". Is this a bug or am I missing some setting?
I've tried
jekyll, build
~/.gem/ruby/2.4.0/bin/jekyll, build
in various versions...
The same permalinks work perfectly both on my system and github pages. Only the atom plugin server has this problem for some reason. And if I don't set a permalink the post links work as expected.
Thanks

Is it your github pages site?
I will clone it to my machine and give it ago here.

On my machine using the permalink /blog/:year/:month/:day/:title/index.html fixes the problem.
I'm not sure if this is a jekyll or static-server problem. Going through the generated site it's creating /blog/2017/03/14/postname.html which would require you to link to the html file.

Your solution works. I didn't think about that I could look at the generated site for clues. Thanks for your quick help and the plugin too! Cheers

Not a problem!
Glad its all working for you.


Audio Example doesn't work on web

Running the Audio Example on the bevy website, but it doesn't play the music.

Also no audio for me:

The audio works only if you refresh and immediately click on the example. This is because audio is not allowed to be played automatically. You must interact with the example the moment before it attempts to start playing the audio. See AudioContext in the web docs.
The best solution imo is to force users to click on the game window before starting any example, like how some flash game sites work.

The audio works only if you refresh and immediately click on the example. This is because audio is not allowed to be played automatically. You must interact with the example the moment before it attempts to start playing the audio. See AudioContext in the web docs.
The best solution imo is to force users to click on the game window before starting any example, like how some flash game sites work.

I did a simple PR which should resolve that issue. But we should also put a message into the docs somewhere so other people don't run into the same issue

https://github.com/bevyengine/bevy_github_ci_template/issues/17 mentions a workaround on the JS side, maybe something similar can be done directly in rust in bevy_audio

Closing this as the chosen solution is to require users adding a piece of JS code for web builds (and is integrated in several templates, including the official one)


Dev

@leonardt, Is this all set on the Python end? I am doing a final check of the latest Flow master, then I would like to merge

Yup, everything is passing locally. Re-running the travis builds but I'll go ahead and approve this on my end since I have at least one working copy


navigator.userAgentData.getHighEntropyValues() doesn't return the values of base hints

Describe the bug
Accoridng to the standard navigator.userAgentData.getHighEntropyValues() is supposed to return base hint(brands, mobile, platform) values even if no hint is specified, but it does not.
To Reproduce
const result = await page.evaluate(async () => {
	// @ts-ignore
	return await navigator.userAgentData.getHighEntropyValues([]);
});

console.log(result);

{}

Expected behavior
{
  brands: [
    { brand: 'Google Chrome', version: '117' },
    { brand: 'Not;A=Brand', version: '8' },
    { brand: 'Chromium', version: '117' }
  ],
  mobile: false,
  platform: 'Windows'
}

System information:

OS: Windows 10
Node.js version: 16.15.0

Additional context
Solution:
fingerprint-suite/packages/fingerprint-injector/src/utils.js
--- utils.js	2023-10-21 15:25:24.196293300 +0900
+++ utils.new.js	2023-10-21 18:55:22.288613900 +0900
@@ -501,7 +501,7 @@
                     await target.apply(ctx, args);

                     // If the codec is not in our collected data use
-                    const data = {};
+                    const data = {brands, mobile, platform};
                     hints.forEach((hint) => {
                         data[hint] = highEntropyValues[hint];
                     });

Thank you @th-yoo for submitting this issue (and for the detailed description :)). I've just linked a PR that closes this issue, I'm expecting to release a new version later this week.
Cheers!


Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information) on sbt >=1.9.9

steps
if I just run sbt in a new directory if the sbt installation is 1.9.9 or greater (including 1.10.x), I get this error during startup:
$ sbt
Oct 18, 2024 1:29:24 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
[warn] No sbt.version set in project/build.properties, base directory: /home/adrianlyjak/foo
[info] welcome to sbt 1.9.9 (Eclipse Adoptium Java 17.0.10)
[info] set current project to foo (in build file:/home/adrianlyjak/foo/)
[info] sbt server started at local:///home/adrianlyjak/.sbt/1.0/server/c5b8cd43921aa0890561/sock
[info] started sbt server
>....

problem
The cli is "dumb", and does not do things for tab, arrows, etc. From what I can tell, this is some sort of bug in the newer version of jlines introduced in https://github.com/sbt/sbt/pull/7503. There's a comment that mentions it happens if you have a test dir on your path. https://github.com/sbt/sbt/pull/7503#issuecomment-1976921338
I don't have a test dir on my path. I tested on 2 separate machines (macos with zsh and ubuntu with bash). macos has a builtin test, and ubuntu has a test executable in /usr/local/bin.
expectation
terminal should have fancy features
notes
I thought that it might be something to do with my machine, but since its reproducible on 2 pretty different machines, seemed worth mentioning. Perhaps another upgrade of jlines might fix? The issue was closed https://github.com/jline/jline3/issues/946 and added to the 3.26.0 milestone

The issue was closed https://github.com/jline/jline3/issues/946 and added to the 3.26.0 milestone

JLine version is bumped into 3.27.0 in https://github.com/sbt/sbt/pull/7695
sbt is planning to plan a patch version containing the above [R within the next few days, which hopefully fixes the issue.

Feel free to reopen it if in the next few days, the issue is encountered again on newest sbt release.

@Friendseeker aha, thanks


Need the ability to parse saved data by regex

When WebMinion runs and performs the :save_value method, it will likely return extraneous text as well desired text.
For example, say you want a particular table element and "target" : "//td[1]" there will probably be extra text there, such as this:
#<Nokogiri::XML::Element:0x3fe5fcc42a58 name="td" children=[#<Nokogiri::XML::Text:0x3fe5fcc47468 "SPECIFIC TEXT AND ID HERE: ">, #<Nokogiri::XML::Element:0x3fe5fcc46e00 name="i" children=[#<Nokogiri::XML::Text:0x3fe5fcc46810
So a generic bot method - irrespective of bot driver - to run a regex on saved_data values to clean up data would be great.

One possible way to go about this is to add a few more attributes for save_value, e.g.
{
  "name": "Save Price",
  "target": "#item_price",
  "value": "prie",
   "type": "integer",
   "is_validator": false
}

Where type can be one of the following: text, integer, number, regex.
Thoughts?


Geography Map

As a user who wishes to use non-default geography map keys, we must add geography_map_key to id_map.

DB on master now has this change.


Resume downloads of list when network drops

I'm on an unstable network. During downloads, after 10 or so videos downloaded, it stops. Can I resume the download from the last uncompleted file?
Is that what the load/save preset is for?
Or better still, a way to retry downloading when network drops? I get this error when it cuts:
Error: getaddrinfo EAI_AGAIN r17---sn-aigllnsy.googlevideo.com:443
at Object.exports._errnoException (util.js:855:11)
at errnoException (dns.js:31:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)
The network is fast enough, just unstable, comes and goes like a ghost
At the moment, I can't use it because every time it stops, I need to restart from scratch, and I wished I was an ISP

@seanmavley will deploy something tomorrow to npm. Enhancement will resume the download of the videos. It should help out with your network issues.

Thanks. Will be a great addition.
On Wed, Jan 6, 2016, 23:10 Przemyslaw Pluta<EMAIL_ADDRESS>wrote:

@seanmavley https://github.com/seanmavley will deploy something
tomorrow to npm. Enhancement will resume the download of the videos. It
should help out with your network issues.
—
Reply to this email directly or view it on GitHub
https://github.com/przemyslawpluta/mongo-edu/issues/63#issuecomment-169491317
.

@seanmavley in reality you might still get the same error msg but next download will start from the place you've left off hence you don't have to download entire file all over again.

That's even better. So, say, if I'm downloading 10 videos in a course, five
succeeds before error, then on next re download, it begins download from
the 6th file in line, when it learns 1 to 5 files are already in the
directory.
On Wed, Jan 6, 2016, 23:14 Przemyslaw Pluta<EMAIL_ADDRESS>wrote:

@seanmavley https://github.com/seanmavley in reality you might still
get the same error msg but next download will start from the place you've
left off hence you don't have to download entire file all over again.
—
Reply to this email directly or view it on GitHub
https://github.com/przemyslawpluta/mongo-edu/issues/63#issuecomment-169492181
.

@seanmavley done. Just upgrade to latest version mongo-edu v0.2.40.

Works Great. Awesome! Thanks