Can't import awkward.numba

I get the error:
/usr/lib/python3.8/site-packages/awkward/numba/__init__.py in <module>
      5 import numpy
      6
----> 7 from awkward.numba.array.base import NumbaMethods
      8 from awkward.numba.array.chunked import ChunkedArrayNumba as ChunkedArray
      9 from awkward.numba.array.chunked import AppendableArrayNumba as AppendableArray

/usr/lib/python3.8/site-packages/awkward/numba/array/base.py in <module>
    161 @numba.extending.lower_builtin("iternext", AwkwardArrayIteratorType)
    162 @numba.targets.imputils.iternext_impl
--> 163 def _AwkwardArray_lower_iternext(context, builder, sig, args, result):
    164     iteratortype, = sig.args
    165     iteratorval, = args

/usr/lib/python3.8/site-packages/numba/targets/imputils.py in iternext_impl(ref_type)
    325     """
    326     if ref_type not in [x for x in RefType]:
--> 327         raise ValueError("ref_type must be an enum member of imputils.RefType")
    328
    329     def outer(func):

ValueError: ref_type must be an enum member of imputils.RefType

Don't import awkward.numba. Its development stalled in February 2019 as it became clear that the only way to implement it was to duplicate all of the main library in lowered Numba extensions, and it was hard enough to maintain consistency in one library.
The Awkward 1.0 project addresses this duplication by putting a common layer under both, so that each algorithm only needs to be written one time. This rewrite is not complete, but it is already more complete than the original awkward.numba was. (Original awkward.numba had only JaggedArray; the new implementation already has ListArray and ListOffsetArray, which replace JaggedArray, as well as RecordArray, which replaces Table, and RegularArray and EmptyArray, which are needed for technical reasons.)
I didn't know that awkward.numba was non-importable. But as you can see, it wouldn't make any sense to devote resources to fix it, given that the new version is already ahead of it.

To add, if you need to use the legacy awkward.numba for an old script you can by downgrading numba to version 0.45.
(I did this yesterday for the conda package: https://github.com/conda-forge/awkward-feedstock(/pull/43/commits/0fdf93bc031dc68793a4492182a5216ab91e0ad7)

I assume there's no way to use awkward 1.0 with uproot now (pre uproot 4.0), then?
I wanted to use numba to vectorize a function over numpy arrays to make a sliding cut on some JaggedArrays. That is, numba doesn't need to loop over the JaggedArrays. Do I even need to import anything different for this?

Extract the NumPy arrays from your JaggedArrays, write Numba algorithms on those, and then wrap up the results in new JaggedArrays (if needed). That's what Coffea people are doing while waiting for Awkward 1 to be finished.

I am also doing this. Could you please add an example on how to do this to the docs?
Example to sum the energy of all particles in an event, the particle energies are passed as a jaggedarray with the event index as the first dimension and the particle index per event as the second (this can probably be done with the awkward API, I chose this simple example for illustration).
@njit
def _total_energy_per_event(starts, stops, content):
    result = np.empty(len(starts))
    k = 0
    for a, b, k in zip(starts, stops):
         sub = content[a:b]
         result[k] = np.sum(sub)
         k += 1
    return result

# wrapper
def total_energy_per_event(energies):
    _total_energy_per_event(energies.starts, energies.stops, energies.content)

Things are far enough along now that this is what I'd recommend:
Step 1: Install Awkward1.
pip install awkward1

Step 2: Convert your Awkward0 array into an Awkward1 array.
>>> import awkward1 as ak
>>> energies = ak.fromawkward0(from_uproot)

See ak.fromawkward0 and ak.toawkward0.
For the sake of argument, let's say that we have an array like this:
>>> energies = ak.Array([[3.5, 2.2, 6.4],
...                      [],
...                      [8.3, 1.5],
...                      [2.8],
...                      [1.9, 4.3, 6.5, 9.0]])
>>> energies
<Array [[3.5, 2.2, 6.4], ... 1.9, 4.3, 6.5, 9]] type='5 * var * float64'>

Step 3: Just pass it into Numba as an ordinary variable. This works for all data types.
I'm not sure if Numba supports zip or unpacking tuples in the for statement; that might have been what was causing trouble in your example. Numba code should generally be written in a very imperative style; that's what it exists for—imperative Python without the performance penalty. Although I think that np.sum works in Numba, you should keep in mind that all NumPy functions in Numba are reimplementations and not necessarily as good as NumPy's own: "as good" in performance but also in coverage—in some cases, arguments aren't handled. I find that I'm forced to express the dtype of an array differently than I normally would outside of Numba (as a positional argument, rather than a keyword, if I remember right).
>>> import numpy as np
>>> import numba as nb
>>> @nb.njit
... def total_energy_per_event(energies):
...     output = np.empty(len(energies))
...     k = 0
...     for event_energies in energies:
...         output[k] = 0.0
...         for particle_energy in event_energies:
...             output[k] += particle_energy
...         k += 1
...     return output
...
>>> total_energy_per_event(energies)
array([12.1,  0. ,  9.8,  2.8, 21.7])

Tracking that extra index k for the output array is fragile; perhaps it should be part of the loop.
>>> @nb.njit
... def total_energy_per_event(energies):
...     output = np.empty(len(energies))
...     for k in range(len(energies)):
...         output[k] = 0.0
...         for particle_energy in energies[k]:
...             output[k] += particle_energy
...     return output
...
>>> total_energy_per_event(energies)
array([12.1,  0. ,  9.8,  2.8, 21.7])

More generally, we'll sometimes want array output that is more complex than NumPy, so I'd recommend using Awkward's ak.ArrayBuilder, which fills arrays with append-only semantics.
>>> @nb.njit
... def total_energy_per_event(energies, output):
...     for event_energies in energies:
...         total = 0.0
...         for particle_energy in event_energies:
...             total += particle_energy
...         output.append(total)
...
>>> output = ak.ArrayBuilder()
>>> total_energy_per_event(energies, output)
>>> output.snapshot()
<Array [12.1, 0, 9.8, 2.8, 21.7] type='5 * float64'>

In this case, it's the same as the flat array, but if you wanted some nested structure:
>>> @nb.njit
... def square_each_energy(energies, output):
...     for event_energies in energies:
...         output.beginlist()     # like print "["
...         for particle_energy in event_energies:
...             output.append(particle_energy**2)
...         output.endlist()       # like print "]"
...
>>> output = ak.ArrayBuilder()
>>> square_each_energy(energies, output)
>>> output.snapshot()
<Array [[12.2, 4.84, 41], ... 18.5, 42.2, 81]] type='5 * var * float64'>

The data type of the output array is determined by when each of the beginlist/endlist/etc. methods are called, so you can make arbitrary data types. (You can also make a mess by not closing the lists with paired begin and end: just a heads-up.) See the unfinished documentation for a list of these methods.
The basic constraint in using Awkward1 with Numba is that ak.Array and ak.ArrayBuilder can't be created inside a Numba-compiled function. ak.Array is read-only and ak.ArrayBuilder is write-only. Also, ak.ArrayBuilder works entirely by side-effect.
I'm thinking of wrapping this in a functional interface to avoid pitfalls like forgetting to pair each begin with an end. There are also cases like filter, in which it would be more efficient to create a normal NumPy array of booleans and mask the original array, rather than constructing a new one from scratch with ak.ArrayBuilder. Such a layer would know when to use which low-level trick.
The ak.ArrayBuilder might then become a low-level interface, a back door to do some things that would be difficult any other way. For example, we can build nested lists without even knowing in advance how deep they'll be:
>>> @nb.njit
... def deepnesting(builder, probability):
...     if np.random.uniform(0, 1) > probability:
...         builder.append(np.random.normal())
...     else:
...         builder.beginlist()
...         for i in range(np.random.poisson(3)):
...             deepnesting(builder, probability**2)
...         builder.endlist()
...
>>> deepnesting(builder, 0.9)
>>> builder.snapshot()
<Array [... 1.23, -0.498, 0.272], -0.0519]]]] type='1 * var * var * union[var * ...'>

>>> ak.tolist(builder.snapshot())
[[[[2.052949634260401, 0.9522057655747124], [[[0.2560810133948006], 1.8668954120287653, 0.8933700720920406, 0.31709173110067773], 0.38515995466456676, -1.6259655150460695, [[0.18211022402412927], 0.46592679548320143, 0.39275072293709223], [-0.572569956850481, 1.3991748897028693, -0.15414122174138611, -0.20008742443379549]], [[[-0.7410750761192828, -0.34455689325781347], -0.8446675414135969], [-0.8139112572198548, -0.7250728258598154, -0.42851563653684244, [1.0498296931855706, 1.6969612860075955, -0.18093559189614564, 1.078608791657082]]], [[0.5172670690419124]]], [[-1.9731106633939228, 0.5778640337060391], [-1.2488533773832633, -2.1458066486349434, -0.5439318468515132, [[0.2419441207503176, -2.313974422156488, [-0.6811651539055098, 0.08323572953509818], 1.801261721511669, 0.16653718365329456], -0.6348811801078983, [0.016350096268563003, [-1.2867920376687112, 0.38205295881313484, 1.4093210810506318, -0.2698869943849985, -0.48804922126979045]]], -0.6297773736098737, -2.5333506573111424], [-1.6680144776019314, 0.5862818687707498]], [0.6266171347177766, [[-0.7660737060966999, -0.677432480564727, -1.1527197837522167], -0.5025371508398492, [0.3610998752041169, 0.4811870365139723, -0.8030689233086394, [1.1538103888031122, -1.0955905747145644], -1.3980944016010062, 1.2822990047991039]], 0.939566155023095, [1.3581048298505891, [0.36949478822799947, 1.096666130135532, -0.2769024331557954, -0.7993215902675834], [-0.4103823967097248], [0.6789480075462166, 0.8991579880810466, 0.7900472554969632]], [], [0.6772644918729233, [-0.48385354748861575, -0.39154812719778437], 1.069329510451712, 0.8057750827838897, -0.3440192823735095], [[1.5687828887524105, -1.6086288847970498, [-0.6907842744344904], -0.42627155869364414], 0.33605387861917574, -0.7329513818714791, 0.5040026160756554, -1.2529377572694538, -1.1566264096307166], [[0.6407540268295862], [-0.017540252205401917], -0.9530971110439417], [[0.41643810453893765, -0.682997865214066, 0.7930286671567052], 0.5142103949393788]], [[0.6271004836147108, [0.5895664560584991, -0.7563863809912544]], [1.6176958047983054, 0.5226854288884638, 0.24149248202497436], -1.0912185170716135, [-1.1122535648683918], 0.22727974012353094], [-0.4161362684360263, [[0.4234696267033054], 0.7866791657813567, [1.225201951430818, -0.49790730839958713, 0.2715010029532568], -0.051866117232298316]]]]

>>> ak.typeof(builder.snapshot())
1 * var * var * union[var * union[float64, var * union[var * union[float64, var * float64], float64]], float64]

I'm working on documentation now. At least the ak.Array class is fully documented, which can get you started. Also, the doxygen for C++ is more complete.

Thank you for this great answer! I will try this, I hope it is faster than my current workaround. It certainly simplifies the code a lot.
To make blocks with the ArrayBuilder, I would offer a context manager, like so:
>>> @nb.njit
... def square_each_energy(energies, output):
...     for event_energies in energies:
...         with output.nested():
...             for particle_energy in event_energies:
...                 output.append(particle_energy**2)
...
>>> output = ak.ArrayBuilder()
>>> square_each_energy(energies, output)
>>> output.snapshot()
<Array [[12.2, 4.84, 41], ... 18.5, 42.2, 81]] type='5 * var * float64'>

nested is probably not the best possible name.

A context manager is a great idea! I think list would be a good name (i.e. remove the begin and end from beginlist, begintuple, and beginrecord).
However, it would only work outside of Numba. Numba doesn't support with statements inside lowered code: https://numba.pydata.org/numba-doc/dev/reference/pysupported.html (It's supported in object mode, but that doesn't help if you want to njit.)

Oh, one warning: Awkward1's minimal version of Numba will be 0.49 (see PR scikit-hep/awkward-1.0#189) as soon as Numba 0.49 becomes a non-release candidate in PyPI. The first release candidate for Numba 0.49 was released seconds ago:
https://numba.pydata.org/numba-doc/dev/release-notes.html
So if you start to use this, you'll have to adjust your versions of both Awkward1 and Numba in a couple of weeks, however long it takes for 0.49 to be a non-release candidate. (Numba 0.49 introduces major breaking changes in its extension interface, partly motivated by Awkward's heavy use of it and need for a well-defined API, and I'd rather make a fresh start at 0.49 than support both.)

Ah, I didn't know about this numba limitation (one of many...). Too bad :( Context managers are great.
This perhaps become a bit off-topic, but I did some benchmarking of my workaround code against awkward1. I find that my workaround is a factor 6 faster than the version using ArrayBuilder. :(
In the following x is some JaggedArray.
@njit
def _fun(starts, stops, content):
    result = np.empty(1) # let's pretend we don't know size of result in advance
    for i, (a, b) in enumerate(zip(starts, stops)):
        sub = content[a:b]
        if i == len(result): # amortized growth, like std::vector
            m = int(len(result) * 0.5 + 1)
            result = np.append(result, np.empty(m))
        xsum = 0.0
        for xi in sub:
            xsum += xi
        result[i] = xsum
    return result[:i]

def fun(x):
    return _fun(x.starts, x.stops, x.content)

This takes 18 microseconds.
Now the version that is using an awkward1 array:
@njit
def _fun(x, builder):
    for sub in x:
        xsum = 0.0
        for xi in sub:
            xsum += xi
        builder.append(xsum)

def fun(x):
    builder = ak.ArrayBuilder()
    _fun(x, builder)
    return builder.snapshot()

This takes 115 microseconds.

ArrayBuilder is dynamically typed, so if you know the type of the thing you want to build, you should (always?) be able to do it faster by building up starts and stops than with ArrayBuilder. (There's a nascent ROOT std::vector^N<T> → Array function that avoids ArrayBuilder because the type is partially known.)
I mentioned ArrayBuilder as a general case: it's something that you usually wouldn't be able to do at all in a Numbafied function, and it's faster than doing it in interpreted Python and converting the result to an array.
That's also why I'm thinking about a functional interface to choose between ArrayBuilder and a faster method if one is available (like filter, which I mentioned). Knowing all these details about what is faster than what is not something we want users to have to deal with, at least not all the time.

It would be great if there was a faster way offered by the awkward1 API. filter does not work for a general use case where you need to build a jagged array inside the numba-accelerated function.
I have a general use case. I have a tree that holds a variable number of particles per event. I need to loop over these events and find all track pairs per event, which have a small distance of closest approach (these are candidates for a particle decay where the original particle is neutral and invisible to the detector). It is not possible to predict how many pairs per event there are, and the number of pairs per event is variable. So the right data structure for that would be a jaggedarray. Computing something for all unique pairs of tracks is very time-consuming and has to be done inside numba. It would be great to have a fast solution for that.

https://numba.pydata.org/numba-doc/latest/extending/high-level.html#implementing-methods
It looks like you could provide an overload for ArrayBuilder.append that picks a non-virtual implementation based on the type that is passed in append.

It looks like you could provide an overload for ArrayBuilder.append that picks a non-virtual implementation based on the type that is passed in append.

I already do:
https://github.com/scikit-hep/awkward-1.0/blob/51e3de54f1a565c7ed628d99b70ddbc32ea5903f/src/awkward1/_connect/_numba/builder.py#L250-L296
This logic picks a specialized method during the typing pass.
However, passing a non-virtual method here doesn't matter much because ArrayBuilder is virtual at every level: when you call a method, it might need to refine its type, which means walking down a tree of class instances with virtual functions. If I had known that your application prioritized performance this much, I would not have recommended ArrayBuilder: it's for generality.
Nevertheless, walking over the read-only ak.Array in Numba ought to be fast. It's the append-only ak.ArrayBuilder that is slow because it it's general and it doesn't know what type it's going to get. ak.Array already knows what type it is and generates specialized code for that. (Yet another example of read/write asymmetry.)
If you want to write arrays quickly, then we have to consider things on a case-by-case basis. If your application requires a flat array output with length known ahead of time, output a NumPy array. (I think that was the first example code.)

I have a general use case. I have a tree that holds a variable number of particles per event. I need to loop over these events and find all track pairs per event, which have a small distance of closest approach (these are candidates for a particle decay where the original particle is neutral and invisible to the detector). It is not possible to predict how many pairs per event there are, and the number of pairs per event is variable. So the right data structure for that would be a jaggedarray that I can grow dynamically. Computing something for all unique pairs of tracks is very time-consuming and has to be done inside numba. It would be great to have a fast solution for that (other than my manual workaround).

This application doesn't sound like it even needs Numba: there's ak.choose for creating combinations of arbitrarily sized subcollections. As you can see, I haven't written the documentation for that yet, but maybe if you show an imperative example, I can suggest the vectorized translation.

Or maybe we should move to Gitter while we iterate and just post the solution here.

@HDembinski was energies.sum() really too slow even in awkward0 that a numba function was necessary? I've never found it to be too bad.  Also, regarding the pairs of tracks, was it memory-prohibitive or otherwise untractable to use the awkard0-style tracks.pairs()? I realize that clearly these are not optimal but I'm wondering how big of a performance hit you saw with your use case.


Using a model more than once is not possible

Description
Because the key of the array in the configuration is the model. Maybe switch to just an ordered array with the model as option within?
Steps to reproduce
Create a resource with the same model, reference with an example: https://github.com/duncanmcclean/runway/pull/255
Environment
Does not apply

Things like this will become a problem: https://github.com/duncanmcclean/runway/search?q=findResourceByModel

Why would you be creating more than 1 resource with the same model?

Good question! Let's say I've a product model with an attribute model. Within the attributes model all attributes are stored like color, brand, etc. Now I'd like to have an resource in Statamic with just the brands and another one with just the colors.

Ah, okay!
As you can tell, Runway's only been built to allow for a model to be assigned to a single resource. In order to change this, it would require quite a bit of work (as in some places we need to get a resource from a Model instance which obviously we wouldn't be able to do if the relationship between a model & a resource wasn't 1-1).
For now, we're not going to make it possible for a model to be used to create more than one resource.
However, you could workaround this by creating a model for each of the types of attributes and apply a global scope to each of the models so you only get colours returned from the Colour model.
I know it's not ideal but unfortunately I don't have enough bandwidth to change this right now & I don't think it's something a lot of people will (& at least haven't in the past) run into. I hope that makes sense!

No problem, thank you for your answer!


adding dockerfile for securesign-redis

I have documented the issue here: https://github.com/securesign/scaffolding/pull/124#issuecomment-1817595648.
To summarize:

since we are using Redhat Certified redis, the arguments to bind <IP_ADDRESS> and set appendonly yes cannot be passed in the same way we previously did for the docker.io/redis image.

bind <IP_ADDRESS> allows it to recieve non local connections (outside container)
appendonly yes: see APPEND ONLY MODE section of config file in redis docs

Proposing we add this to the component matrix. WDYT @lance
Once this merges, the resulting image should be swapped in to the charts here for chart certification, here and here
This issue is a dependency of getting helm-charts certified (they can be certified as is but it makes them unstable).

Do we want to be bringing in all of the commits from the previous branch?

[SECURESIGN-191]


Monthly training/forecasting test (to replicate icenet v1)

Often asked for and likely to improve the usability by proving that interfaces across the pipeline and supporting libraries are capable of dealing with different temporal domains.
This is a significant development overhead and should ensure:

[ ] Development of the following features within the library

https://github.com/icenet-ai/icenet/issues/21
https://github.com/icenet-ai/icenet/issues/22

[ ] Development of necessary commands demonstrating the functionality within the pipeline
[ ] Demonstrate with #44

@JimCircadian I've set this as in progress, hope that's ok.

Nice one @bnubald, sorry I didn't do that but I'm about 2/3 of the way through too 😆

Nice one @bnubald, sorry I didn't do that but I'm about 2/3 of the way through too 😆

Oh that's ok 😄


Bootstrap logging

Closes #213

This is in DRAFT mode as there are some details concerning configuration that need to be discussed.

This PR introduces a new logger module that would bootsrapp the instantiation of loggers + enforce the same formattings all over the app.
@supakeen Regarding the configuration, what exactly do you want to configure?
Like I mentioned in the issue, you'd generally want to configure the log level, but you could also configure the handlers.
For the handlers, we can have a list of tuples in the config file, where the tuple would include the FQDN of a handler class, which will allow us to dynamically import it.
The problem with this though is the casting string types to different classes (That are not always native python types), that each handler might need.

Right, so. I like the new output format and I'll take a closer look tomorrow at the code change but do we need to set the formatter on each logging instance or could we instead set it when pinnwand configures the output for its loggers in command.py: https://github.com/supakeen/pinnwand/blob/master/src/pinnwand/command.py#L28 ?

That's a good point, using basicConfig should set it at the root handler's level, and I think loggers will inherit from it if no specific config is specified/overriden.

Right, let's not stall on that discussion (since it's been two weeks); the current PR does improve the logging situation and if someone feels differently about where it should be done it can be done there.
Could you take care of the linter output and set this ready-for-review? :)

Right, let's not stall on that discussion (since it's been two weeks); the current PR does improve the logging situation and if someone feels differently about where it should be done it can be done there.

Sounds good

Could you take care of the linter output and set this ready-for-review? :)

Alright, done.

Perfect, thank you.

@supakeen I noticed that we didn't bump the version with this PR, is that something you normally do ?


Changelog Entry
version: <log entry>

Checklist

[x] I have performed a self-review of my own code
[ ] I have documented my code in accordance with the documentation guidelines
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have run the unit tests
[ ] I only have one commit (if not, squash them into one commit).
[ ] I have a descriptive commit message that adheres to the commit message guidelines
[x] I have added version bump label on PR.

Please review the CONTRIBUTING.md file for detailed contributing guidelines.

Codecov Report

Merging #717 (38d8185) into release (cf365a5) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             release     #717   +/-   ##
==========================================
  Coverage      68.76%   68.77%
  Complexity       406      406
==========================================
  Files            154      154
  Lines          13906    13910    +4
  Branches         291      291
==========================================
+ Hits            9562     9566    +4
  Misses          4191     4191
  Partials         153      153

Flag
Coverage Δ

rust
66.73% <100.00%> (+0.01%)
:arrow_up:

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

Files Changed
Coverage Δ

...acts/cosmwasm-vm/cw-icon-light-client/src/state.rs
92.46% <100.00%> (+0.07%)
:arrow_up:

Issue is addressed in another PR


Release @google-cloud/translate v2.1.3

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-translate/releases/tag/v2.1.3


Fix build issue when using hardened AMIs as base images

Issue #, if available:
https://github.com/awslabs/amazon-eks-ami/issues/1554
Description of changes:
Two minor yet important changes:

I changed default version to latest 1.29 in Makefile;
I corrected generate-version-info.sh script so that it does not fail when Packer uses hardened AMIs. Refer to  https://github.com/awslabs/amazon-eks-ami/issues/1554 for more info.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Testing Done
Successfully built v1.29 EKS AMI based on hardened (CIS) version of AL2 Golden AMI.

@cartermckinnon @dawidpichen what's the status of this PR? It seems like all that's left is to do a rebase right?
This PR would also address others opened against the master branch: https://github.com/awslabs/amazon-eks-ami/pull/1513

@cartermckinnon Are you going to proceed with this PR?


Friends and Family.

-Shared as a contact, but now he appears as a Keeper.

Unable to replicate, re-open if the issue persists


The paper's code seems not being here

Hello,
I just have read your paper and got so interested in this project, but when I followed the link to this github page, it seems like there is no implementation code here. Could I ask will they be upload in the further and when?
Thank you very much!
Tan

Thank you for the interest in this work!
We will organize the code and release them together with the trained models, as soon as possible after our preparation for all the presentation videos for the SIGGRAPH conference (deadline on 4th June).
:)

I'm looking forward to trying this! Once you have the code organized, will you also include instructions for device setup, installation, and so on?
Thanks!

Hi, I have released the code and the trained models.
Please let me know if you meet any problem or there is any issue.


ELK 5.6.9 & 6.2.4 & fixes for elasticsearch6 and logstash6 not starting up

Motivation for this change
https://www.elastic.co/guide/en/elasticsearch/reference/6.2/release-notes-6.2.2.html
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@nh2 I pushed a fix for #37102 and also a fix for logstash6 not starting up due to unpatched shebangs. The nixos/tests/elk.nix now succeeds.
@globin care to review?

If only package version bump, looks pretty ok, right?
Would be nice to have tests to make sure both es5 and es6 setups are working. Also, would be great to hardcode user (like in all other nix services).

@spinus There are already tests for elk: https://github.com/NixOS/nixpkgs/blob/f8bf6a9c3fcbff4988635287f0be760906995a65/nixos/tests/elk.nix#L96#106.
I'm running them now and will merge if successful.

@adisbladis thanks for the merge. It would be great if this can be cherry-picked on 18.03 as well: https://github.com/NixOS/nixpkgs/pull/39104


Feature Request: Display multiple different price values at the same time.

I would find it extremely useful to get both the Current Minimum Price (the price you're likely to get if you put it up on the MB right now, and undercut everyone else), and the Average Price, since that's also useful to get an idea of the recent price trends, and maybe convince you to post it for more the the current minimum price.

I ran into another situation where this would have been extremely handy: checking reputation vendor items for their viability for market reselling. A bunch of the barely-ever-purchased stuff it up on the market for extremely inflated values, from sellers hoping to cash in, but the actual sales in recent weeks/months are for much lower values. Being able to see both Average Price and Current Minimum Price would make it clear that Current Minimum Price is unrealistic.


Optimize proguard rule for DataBinding

Before
This dex file defines 3858 classes with 19338 methods, and references 24598 methods

Something different between gradle assembleDevRelease with ./gradlew assembleDevRelease?


Fix bug in Data.isdone and Data.getfield

Both of these were triggered when I use Query.jl with a feather source. Would be great if you could merge this and then tag a new release.

Sorry for the weird state, I'm actually shuffling things around in DataStreams, but haven't pushed some updates. I'm waiting on a few CategoricalArray fixes and then I'll push everything and re-tag.

Sure, sounds good!

@quinnj I just saw that you fixed one of the bugs in this original PR on master already. So now this PR only has a fix for the other, remaining, error. I think this right now is the only bug that is preventing Query.jl from working with a feather data source.

Current coverage is 69.70% (diff: 100%)

Merging #14 into master will not change coverage

@@             master        #14   diff @@
==========================================
  Files             3          3
  Lines           241        241
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            168        168
  Misses           73         73
  Partials          0          0

Powered by Codecov. Last update 97bc8ca...c306e9e

hey @davidanthoff, sorry for the delay here. I started looking into it and it turns out I had several Data.isdone definitions that weren't quite right across the datastream ecosystem. I've corrected them all locally (including Feather.jl), and I'm going to do a few more rounds of testing between the various packages to ensure everything is ship-shape. I'll try and get a new tag out for all the packages sometime next week.

Ok, cool. I just tested Feather master with Query, and it all seems to work now! As soon as you have tagged a new version, I'll add tests to Query for this scenario.


nightly build crashes when you click [Cancel] in the options menu

only happens with my current settings.json

as tranred mentioned, fixed in the newest nightly build. available under github releases


Add usage options to readme

Simple documentation additions

Hey, great thanks for taking the time to document stuff. Can you decrease the section level to 3 to make it look a bit nicer/uniform (I know you did it because it's technically usage documentation, but I don't think the structure is needed at this point). And maybe also document the listen option (or I will do it). You can rebase and force push, if you like.

No worries. Like the widget, so I'm glad I can help.
I've made the changes. I misread the listen guard/commit, and assumed that
it was forcefully set as always true, hence why I didn't document it.
On Mon, Apr 10, 2017 at 5:04 PM, Thomas G<EMAIL_ADDRESS>wrote:

Hey, great thanks for taking the time to document stuff. Can you decrease
the section level to 3 to make it look a bit nicer/uniform (I know you did
it because it's technically usage documentation, but I don't think the
structure is needed at this point). And maybe also document the listen
option (or I will do it). You can rebase and force push, if you like.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/coldfix/awesome.battery-widget/pull/8#issuecomment-292877799,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABROZZiBiOJCn1H0R16rZuoEaB5KRdvzks5rueJ-gaJpZM4M4bvk
.


Can't update campaign bid strategy

Client Version: 6.00
.NET version: .NET 3.1
Platform: MacOS
Actions taken
I am trying to set campaign bidding strategy to maximize conversion value.
Here's the code:
            var updatedCampaign = new Campaign {
                ResourceName = campaignResourceName,
                MaximizeConversionValue = new MaximizeConversionValue {}
            };

            var operation = new CampaignOperation {
                Update = updatedCampaign,
                UpdateMask = FieldMasks.AllSetFieldsOf(updatedCampaign)
            };

            await campaignServiceClient.MutateCampaignsAsync(accountId, new []{operation});

Expected result
The campaign bidding strategy should be set to maximize conversion value.
Actual result
The mutate request silently succeeds but nothing changes on the campaign. The field mask won't pickup the change at all. The same is true for all other union fields.
Building the field mask manually does not help either, as the API won't allow to set the union field
directly. It allows only setting subfields, which are in this case optional.

Hi @STNarek, could you try adding the following line as a temporary workaround?
fieldMasks.Paths.Add("maximize_conversion_value");
Let me know if that fixes the issue.

Hi @AnashOommen. Thanks for the suggestion. I just tried it and got the following error:
{
  "StatusCode": 3,
  "Details": "Request contains an invalid argument.",
  "RequestId": "kTl3jz_tt2ibFSTS0Q2cew",
  "Failure": {
    "errors": [
      {
        "errorCode": {
          "fieldMaskError": "FIELD_HAS_SUBFIELDS"
        },
        "message": "The field mask updated a field with subfields: 'maximize_conversion_value'.",
        "location": {
          "fieldPathElements": [
            {
              "fieldName": "operations",
              "index": 0
            }
          ]
        }
      }
    ]
  }
}

@STNarek Try setting the fieldmask as maximize_conversion_value.target_roas and do not specify the target_roas field, like this:
var updatedCampaign = new Campaign {
    ResourceName = campaignResourceName,
    MaximizeConversionValue = new MaximizeConversionValue {}
};

var fieldMask = FieldMasks.AllSetFieldsOf(updatedCampaign);
fieldMasks.Paths.Add("maximize_conversion_value.target_roas");

var operation = new CampaignOperation {
    Update = updatedCampaign,
    UpdateMask = FieldMasks.AllSetFieldsOf(updatedCampaign)
};

Pls reopen if the issue persists.

@AnashOommen We have the same issue while setting MaximizeConversions or MaximizeConversionsValue on the campaigns using Google.Ads.GoogleAds version 10.2.0 and V9 of client library.
We are using this code :
var additionalPaths = new List();
switch (cs.BiddingStrategyTypeToEnforce)
{
case BiddingStrategyToEnforce.MaximizeConversions:
campaignEntity.MaximizeConversions = new MaximizeConversions();
additionalPaths = new List { "maximize_conversions.target_cpa" };
break;
case BiddingStrategyToEnforce.MaximizeConversionsValue:
campaignEntity.MaximizeConversionValue = new MaximizeConversionValue { };
additionalPaths = new List { "maximize_conversion_value.target_roas" };
break;
}
            var operation = new CampaignOperation
            {
                Update = campaignEntity,
                UpdateMask = FieldMasks.AllSetFieldsOf(campaignEntity)
            };

            operation.UpdateMask.Paths.AddRange(additionalPaths);


[FLINK-34234] Bumping version of flatten plugin to 1.2.7

As a test [1] there was first a commit with enabling ShadeOptionalChecker however without adding optional. As a result it detects the issue i a number of places.
UPD: Since bumping version of flatten plugin helps I reverted changes (to not force push) and added version bump itself to 1.2.7
also keep a couple of hotfix commits as a result of review

rebased since have to extract license related update into a separate commit

Thanks for your feedback @zentol
I checked locally with 1.2.7 flatten plugin and confirm that it resolves the issue
So I bumped the issue and currently reverted previous changes regarding shading...
May be one question which is still not clear to me (not directly related to perf regression)
Could you please clarify:
In confluence's creating flink-shaded release page it is mentioned that we need to use maven 3.2.5 to release.
Playing locally I was not able to find a difference between the result of usage 3.2.5 and 3.8.6.
Do we need still  apply ShadeOptionalChecker's approach like in Flink main repo to safely use 3.8.6 during release?

was not able to find a difference

That's because flink-shaded modules are all self-contained; no flink-shaded module depends on another flink-shaded module, due to which right now it's not affected by the problem we had in the main repo.
This means you can probably use newer maven versions, but still shouldn't until we have added safeguards that either no interdependencies between modules exist or everything is marked as optional.
But I'd treat that as a separate issue altogether.


Check Whether a Device is UMA During Staging

This patch queries for whether each device created on encode and decode side is based on a Unified Memory Architecture (UMA) and stores that information alongside the device wrappers . The stored bool is used during trimming to transfer data via the correct DXGI_MEMORY_SEGMENT_GROUP.
Unified Memory Architecture devices lack the DXGI_MEMORY_SEGMENT_GROUP ..._NON_LOCAL since all memory is device-visible for them. For UMA devices like those on mobile SOCs and PC integrated GPUs we therefore use the DXGI_MEMORY_SEGMENT_GROUP ..._LOCAL for our own transfers.
Fixes #954.

CI gfxreconstruct build queued with queue ID 17490.

CI gfxreconstruct build # 2394 running.

CI gfxreconstruct build # 2394 passed.

CI gfxreconstruct build queued with queue ID 19904.

CI gfxreconstruct build # 2406 running.

CI gfxreconstruct build # 2406 passed.

CI gfxreconstruct build queued with queue ID 19999.

CI gfxreconstruct build # 2407 running.

CI gfxreconstruct build queued with queue ID 20014.

CI gfxreconstruct build # 2408 running.

CI gfxreconstruct build queued with queue ID 20072.

CI gfxreconstruct build # 2410 running.

CI gfxreconstruct build # 2410 passed.


RUMM-1279 attach vitals to view

What does this PR do?
Binds together the Vital classes from previous PRs and let View report the attached vitals.
This PR depends on rum-events-format#37.
Additional notes
This also fixes the PokoGenerator plugin to add support to the multi-type additionalProperties in Json Schema.
In Json Schema, both the following are valid declaration of additional properties which make parsing slightly more tricky:
{
  "type": "object",
  "properties": {
    "id": { "type": "number" }
  },
  "additionalProperties": true
}

{
  "type": "object",
  "properties": {
    "id": { "type": "number" }
  },
  "additionalProperties": {
    "type": "string"
  }
}

Codecov Report

Merging #617 (7252bae) into master (300e32d) will decrease coverage by 0.05%.
The diff coverage is 79.21%.

@@             Coverage Diff              @@
##             master     #617      +/-   ##
============================================
- Coverage     88.67%   88.62%   -0.05%
- Complexity     1615     1624       +9
============================================
  Files           181      181
  Lines          5394     5476      +82
  Branches        657      669      +12
============================================
+ Hits           4783     4853      +70
- Misses          374      387      +13
+ Partials        237      236       -1

Impacted Files
Coverage Δ

...m/datadog/android/core/internal/utils/MiscUtils.kt
36.73% <0.00%> (-23.27%)
:arrow_down:

.../android/rum/internal/domain/scope/RumViewScope.kt
95.68% <90.48%> (-0.43%)
:arrow_down:

.../main/kotlin/com/datadog/android/rum/RumMonitor.kt
76.00% <100.00%> (+2.09%)
:arrow_up:

...lin/com/datadog/android/rum/internal/RumFeature.kt
100.00% <100.00%> (ø)

...d/rum/internal/domain/scope/RumApplicationScope.kt
100.00% <100.00%> (ø)

...droid/rum/internal/domain/scope/RumSessionScope.kt
97.56% <100.00%> (+0.23%)
:arrow_up:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
96.19% <100.00%> (+0.07%)
:arrow_up:

...android/rum/internal/ndk/DatadogNdkCrashHandler.kt
81.82% <100.00%> (+6.82%)
:arrow_up:

...g/internal/domain/event/DdSpanToSpanEventMapper.kt
93.88% <0.00%> (-4.08%)
:arrow_down:

.../kotlin/com/datadog/android/rum/RumResourceKind.kt
81.82% <0.00%> (-3.90%)
:arrow_down:

... and 16 more


Clean up imports in modules

Changes

Convert requires to imports in modules.
Use named imports where possible.
Add script file extensions.
Remove extraneous "// Required modules." code comment.

How to test this PR

PR checks should pass.

Coverage failure is N/A. It's because I touched those files.


the pytorch version?

which the pytorch version  should use?

We test on last version of pytorch (from pip install)

Hi @king-menin ,
Do you support FP16 and NVIDIA Apex as the Pytorch BERT examples?
Thanks.


Stop mounting the bucket from within container

This PR removes most of the gcs scripts and stops mounting the bucket from within the docker container.
This is to resolve the fusermount command giving an error because of it no longer being run by root.

This also depends on https://github.com/wbstack/charts/pull/75


global: testutils, session removal tests, release

Coverage increased (+0.02%) to 99.571% when pulling 5aa73e4a5001739e68651b90d6630d5f5822d92a on lnielsen:testutils into 962a065eaccf9e18b49bad4c6ae24f6be2ea9c6e on inveniosoftware:master.


Invalid search param causes loaders to run twice

Describe the bug
When navigating to a route containing search parameters and passing a search value which cannot be deserialized, the beforeLoad and loader methods of each match in the route tree run an additional time.
Your Example Website or App
https://stackblitz.com/edit/tanstack-router-rxn37z?file=src%2Froutes%2Fhas-search.tsx
Steps to Reproduce the Bug or Issue
Bug

Open the StackBlitz example app
Open the browser console F12
Append /has-search?list=aaa to the StackBlitz URL (manually copy and paste into URL bar)
Within the browser console, observe two loader messages and two beforeLoad messages

Correct behavior as reference

Navigate to /has-search?list=%5B%5D (the list param is a correctly serialized [])
Within the browser console, loader and beforeLoad are shown to only be called once each

Expected behavior
I expected all loader and beforeLoad methods to always be called only once regardless of whether the search params of a specific route match could be deserialized correctly.
Screenshots or Videos
No response
Platform

OS: Windows
Browser: Chrome
Version: 1.12.7

Additional context
This behavior only occurs when Strict Mode is enabled. However, I believe this behavior still needs to be adjusted since it is inconsistent - within Strict Mode, valid deserializable params cause loaders to run only once, while invalid params cause loaders to run twice.

Please try with the latest version. I believe we may have fixed this from a different issue.

The issue still appears to be present in the latest router 1.12.12.

A few things after studying this out:

The router detects an "invalid" URL that is inconsistent with a schema, so it needs to do a replaceState and fix it
beforeLoad calls should be prepared to be called more than once if necessary
We can't remove this "fixing" stage without severely impacting other features.

I think the better issue I would like to see is "What are you attempting to do in beforeLoad that you don't want to run twice?"


change references to FSharp.Core

Fixes https://github.com/fsharp/FSharp.Compiler.Service/issues/715.
Lets see if it still builds...

Thanks this looks great. @enricosada any concerns?

None at all :+1:


how to do a slider view in replicate

bro @mattt  , @zeke , @anotherjesse
how to set the slider view for an input and output image in replicate?
here is model https://replicate.com/codeplugtech/object_remover

Hey @tzktz. It's not configured in Cog. It's a setting we can manually enable on the Replicate website. This feature doesn't currently work for models that take multiple image inputs, but I'm looking into supporting that now.

thx for ur information @zeke bro...!!!


python38Packages.stripe: 2.58.0 -> 2.60.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.stripe is: "Stripe Python bindings"
meta.homepage for python38Packages.stripe is: "https://github.com/stripe/stripe-python"
meta.changelog for python38Packages.stripe is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.60.0 with grep in /nix/store/w3brrja93kl4cjc1vnq36hm68l9mdpcl-python3.8-stripe-2.60.0

found 2.60.0 in filename of file in /nix/store/w3brrja93kl4cjc1vnq36hm68l9mdpcl-python3.8-stripe-2.60.0

directory tree listing: https://gist.github.com/65e0bd1cc4a2d50066c035d1cabdce5a

du listing: https://gist.github.com/dd26841e66f2593b63f645d38242c6fe

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.stripe
python39Packages.stripe
sourcehut.metasrht

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/w3brrja93kl4cjc1vnq36hm68l9mdpcl-python3.8-stripe-2.60.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.stripe https://github.com/r-ryantm/nixpkgs/archive/91635dea8fb9315f48e19e83a537706ab3c9051c.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/w3brrja93kl4cjc1vnq36hm68l9mdpcl-python3.8-stripe-2.60.0
ls -la /nix/store/w3brrja93kl4cjc1vnq36hm68l9mdpcl-python3.8-stripe-2.60.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

python38Packages.stripe
python39Packages.stripe
sourcehut.metasrht

Maintainer pings

Result of nixpkgs-review pr 134814 at 91635dea run on aarch64-linux 1

3 packages built successfully:

python38Packages.stripe
python39Packages.stripe
sourcehut.metasrht

2 suggestions:

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/stripe/default.nix:21:0:
   |
21 |     description = "Stripe Python bindings";
   | ^

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/development/python-modules/stripe/default.nix:20:3:
   |
20 |   meta = with lib; {
   |   ^


XUnit debug of non-public class produces unreasonable error message

Environment data
dotnet --info output:
.NET Command Line Tools (2.0.0)

Product Information:
 Version:            2.0.0
 Commit SHA-1 hash:  cdcd1928c9

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.12
 OS Platform: Darwin
 RID:         osx.10.12-x64
 Base Path:   /usr/local/share/dotnet/sdk/2.0.0/

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.0
  Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

VS Code version: 1.15.1 (1.15.1)
C# Extension version: 1.12.1
Steps to reproduce
I have a ASP.NET Core MVC project with the following folders in root:
/app - application itself
/app/app.csproj
/test - xunit-based test suite
/test/test.csproj

This is the contents of /test/test.csproj:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\app\app.csproj" />
  </ItemGroup>

  <ItemGroup>
    <None Update="xunit.runner.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>

With this I create a very basic test:
class Test {
  [Fact]
  public void Test() {
    var controller = ... // breakpoint here
    ...
  }
}

That leads to method receiving active links: "run test, debug test". Then I press "debug test".
Expected  behavior
Project builds and then debug fails somehow pointing out that the requested test entry is not found.
Actual behavior
Project builds successfully but then says "Error processing launch options at field: program" offering to edit launch.json which is quite misleading.

Thanks for doing a bit more investigation and updating the title. That definitely helps narrow down the issue.

@DustinCampbell I'm getting this same Error processing launch options at field: program when debugging a project that does not use xUnit. I've gotten this message on both vscode.csharp v1.12.0 and v1.13.0 beta3. Is this likely the same problem or maybe something else I'm doing wrong? (I so far haven't been able to debug anything without this error)
Environment
`
.NET Command Line Tools (2.0.0)
Product Information:
Version:            2.0.0
Commit SHA-1 hash:  cdcd1928c9
Runtime Environment:
OS Name:     ubuntu
OS Version:  16.04
OS Platform: Linux
RID:         ubuntu.16.04-x64
Base Path:   /usr/share/dotnet/sdk/2.0.0/
Microsoft .NET Core Shared Framework Host
Version  : 2.0.0
Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
`
VS Code version: 1.16.1
C# Extension version: 1.13.0 beta3

Unable to reproduce with the current release.


Add optional support for generating std::time::SystemTime for .google.protobuf.Timestamp

See #414 for previous discussion & motivation.

This is related to #404, at least in spirit.

Having a hard time using prost_types::Timestamp without the ability to convert into SystemTime.

Actually this has been solved https://docs.rs/prost-types/latest/prost_types/struct.Timestamp.html#impl-TryFrom<Timestamp>-for-SystemTime


Python 3 support

Attemping install through pip3 yields
[sudo] password for francis:
Downloading/unpacking bibbreviate
  Downloading bibbreviate-0.1.1.tar.gz (70kB): 70kB downloaded
  Running setup.py (path:/tmp/pip-build-80l8xehi/bibbreviate/setup.py) egg_info for package bibbreviate

    warning: manifest_maker: MANIFEST.in, line 2: 'recursive-include' expects <dir> <pattern1> <pattern2> ...

Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python3/dist-packages (from bibbreviate)
Downloading/unpacking bibtexparser (from bibbreviate)
  Downloading bibtexparser-0.6.1.tar.gz
  Running setup.py (path:/tmp/pip-build-80l8xehi/bibtexparser/setup.py) egg_info for package bibtexparser

Installing collected packages: bibbreviate, bibtexparser
  Running setup.py install for bibbreviate
      File "/usr/local/lib/python3.4/dist-packages/src/bibbrev.py", line 20
        print "I'm sorry, but something is wrong."
                                                 ^
    SyntaxError: Missing parentheses in call to 'print'

    warning: manifest_maker: MANIFEST.in, line 2: 'recursive-include' expects <dir> <pattern1> <pattern2> ...

    Installing bibbrev script to /usr/local/bin
  Running setup.py install for bibtexparser

Successfully installed bibbreviate bibtexparser
Cleaning up...

As a short term goal, perhaps incompatibility with python 3 might be made explicit?

For what it's worth, I ran the script through autopep8 and 2to3 and tweaked some stuff, it seems to work fine on both python 2.7 and 3.4. Would you like me to submit a pull request? I'm also working on implementing fuzzy string matching (via fuzzywuzzy) and might be able to get it to run on windows. Let me know.

Bah, sorry, I've been flooded with notifications and missed this one.  If you've still got it, I'd be happy to take a pull request.  Fire away!

Sorry, I'm a bit busy right now to prepare a proper PR. However, you can check out my fork, I fixed a few bugs. It runs on python 3.4, but I think it still needs a tiny bit of work to run on python 2 with the same code.
Mostly, using io.open instead of plain open, as to have the same behavior on 2/3 (that is, read returns unicode objects). It could use OS default encoding by default and provide a CLI switch to force a specific encoding.
Also, I think you'd need only replace that path concatenation with os.path.join to provide full windows compatibility.
Last thing, my fork has a branch where I started working on fuzzy-matching journal names, it seems to work ok, probably needs some more testing.


Export the last ICMP sequence number

This is a temporary hack needed by WFA DUT to return the sequence number to the WTS. Need to replaced with proper ICMP public API.
Signed-off-by: Susan Rapaka<EMAIL_ADDRESS>Signed-off-by: Ravi dondaputi<EMAIL_ADDRESS>Signed-off-by: Krishna T<EMAIL_ADDRESS>

This is no longer needed and implemented as part of wfa_dut sample.


AO Visible in Direct Light

The SSAO looks excellent, but it is rendering in direct lighting. Is there a way for luminance to affect the ssao in some way? Thanks for this library!

That is a limitation of doing AO as a postprocess on the threejs library - it doesn't know which lighting is direct and which is ambient. My recommendation would be to increase the strength of your direct light or reduce the strength of the AO.

Closing due to inactivity. Reopen if the issue is still relevant!


refactor/rename: "continue" position error

In "https://go.googlesource.com/tools/+/master/refactor/rename/rename.go#194", the code like this:
	if r.hadConflicts {
		continue // ignore errors; leave the existing name
		unchangedFiles = append(unchangedFiles, f.Name.Name)
	}

the line below the "continue" will never be executed. The order of these two lines should be exchanged like this:
	if r.hadConflicts {
		unchangedFiles = append(unchangedFiles, f.Name.Name)
		continue // ignore errors; leave the existing name
	}

This was fixed in https://github.com/golang/tools/commit/e591801c2d4e9296e6c1912b807665f160c01345
For some reason "Fixes #9999" did not close this issue?


[Rails][Administrate] Ensure that duplicate Places cannot be added using the importer

For Places, admin are able to upload a CSV to bulk import data. However duplicate items can get added. Let’s update the import code so that duplicate items cannot be added.
Match on all fields. If this EXACT record already exists, do not recreate it. Just move on to the next row.
Sample CSV file: https://drive.google.com/file/d/1Ir6TC5THEoQKk-98JZ5KpTjXd-R6yMmA/view
Importer code for Places
You can log into the admin interface using the sample admin account from the db seeds.
Acceptance Criteria:
When using the CSV importer, duplicate rows that have the same exact fields do not get added twice.
Add unit tests for this behavior in each place_spec.rb

I've created a Pull request (https://github.com/Terrastories/terrastories/pull/551) to try to ensure places cannot be duplicated through the CSV importer, after adding the spec found that this cannot happen but having the spec may be useful for the future.

Thanks for digging into this, @jaimevelaz — since the PR you opened was merged, I'm going to close this issue.


Allow persisting with "cache" instead of artifact ?

Artifacts have a storage quota: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#included-storage-and-minutes
Caches can be up to 10GB
Having an option to save the workspace to cache would be nice

I built https://github.com/jpoehnelt/reusable-workspace to make this possible.


Add a brief description and explanation

Add a brief description and explanation of why we open sourced this repo.

eye candy on the first page @andrewdavidmackenzie

OK, I'd add some description of things, the components involved, the
multiple traffic profiles, etc etc so people get a better idea from the
first page and not bury all of it in deeper pages.
Andrew
On Thu, May 31, 2018 at 5:24 PM Eguzki Astiz Lezaun <
<EMAIL_ADDRESS>wrote:

eye candy on the first page @andrewdavidmackenzie
https://github.com/andrewdavidmackenzie
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/3scale/perftest-toolkit/pull/4#issuecomment-393567727,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFReLOrP6I8j0K2AERhxptS0xahq-dcDks5t4As6gaJpZM4UVKU2
.

--
regards
Andrew
Andrew Mackenzie
Director of Software Engineering
3scale by Red Hat


Don't exclude quite so much in a no-sock build, avoiding tight busy loops

This is the PR I've taken over from @mattcaswell's #11119:

We were excluding more code than we needed to in the OCSP/HTTP code in
the event of no-sock. We should also not assume that a BIO passed to our
API is socket based.
This fixes the no-sock build.

The new solution also removes the exclusion on BIO_wait() and BIO_connect_retry()
and saves callers of BIO_wait() from worrying whether the BIO is a socket or not and whether sockets are supported at all.
Moreover, it helps avoiding tight busy loops when sockets are not available by resorting to some (system-specific) variant of sleep. The new HTTP client now makes use of this with a sleep time of 100 milliseconds.
For implementing these improvements I moved the definition of ossl_sleep() from test/ssltestlib.c to include/internal/cryptlib.h and moved BIO_wait() and BIO_connect_retry() from crypto/bio/b_sock.c  to crypto/bio/bio_lib.c.

Travis stalled and timed out after 10 minutes on one build - (how) can I force a retry?

This is an irritatingly common problem. Normally we just ignore it. You can just close/reopen to kick travis.

@mattcaswell, requested changes are done.
Travis just got stuck again on one of its builds, but all builds should be fine.

Unfortunately this breaks API signature of BIO_wait. You'll have to add a new function and/or just use some default value.

No worries on compatiblity, BIO_wait() is a brand new function, introduced in #10667.

No worries on compatiblity, BIO_wait() is a brand new function, introduced in #10667.

Ah, I am sorry for the false alarm.

Since this is already approved, shall I try forcing Travis again to re-do the stuck builds
although this would not be very environment friendly :wink: ?

Since this is already approved, I wonder if I shall still try forcing Travis again to re-do the stuck builds

I wouldn't bother.

I clicked it.  If it times out again, then I will bother no further with it

One of the builds timed out again :(
So I assume I can merge this after 24 hours, i.e., Friday early evening.

One of the builds timed out again :(

That's the same job that seems to be timing out all the time.  I've seen it in a gazillion PRs by now...

So I assume I can merge this after 24 hours, i.e., Friday early evening.

Yes

That's the same job that seems to be timing out all the time. I've seen it in a gazillion PRs by now...

Hmm, then how about suspending that job from the Travis build list as long as it causes steady confusion?

Also independently of this PR, I still suggest moving the
#  define BIO_do_connect(b)       BIO_do_handshake(b)

out of #ifndef OPENSSL_NO_SOCK since it is inconsistent that
# define BIO_do_handshake(b)     BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL)

is not under #ifndef OPENSSL_NO_SOCK.

Pushed. Thanks!


doc for libcall()

Not a native english speaker but following sentence doesn't sound right to me:
It is NOT a means to call...
https://github.com/vim/vim/blob/5e133157785dd2fdcfaaecd4822f2793e28b466d/runtime/doc/builtin.txt#L5329-L5330
Should it be It is NOT meant to call...?

"a means" means "a way"

Oh, ok.


Fix small bug in debug prompt

Instead of using basename to remove the path component from the current
script, use bash internal string modification. This is more robust in cases
where BASH_SOURCE is not set.

+1

+1


Remove the extra default tenant in workflow save page

Purpose of the pull request
Since the backend already have a default tenant, we will not need this.
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

Codecov Report

Merging #13867 (25b5e21) into dev (69fc217) will decrease coverage by 0.02%.
The diff coverage is n/a.

:exclamation: Current head 25b5e21 differs from pull request most recent head f980c5a. Consider uploading reports for the commit f980c5a to get more accurate results

@@             Coverage Diff              @@
##                dev   #13867      +/-   ##
============================================
- Coverage     39.08%   39.07%   -0.02%
+ Complexity     4459     4456       -3
============================================
  Files          1155     1155
  Lines         42270    42232      -38
  Branches       4760     4735      -25
============================================
- Hits          16523    16503      -20
+ Misses        23936    23921      -15
+ Partials       1811     1808       -3

see 32 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


G-Key LGS 8.72.107 Win10 plugin immediately detaches from software

Been using this plugin for ages, with a g930 and g700s. love the fact that i am not tying up keyboard inputs with a push to talk. however i needed to update the software and upon doing so the plugin is not working right. the debugger connects and immediately disconnects from the software. is there a workaround to keep it from disconnecting from the lgs?

Not sure if this is the same issue or not. But when I updated the LGS the plugin stopped working.

I just released a completely new version of the G-Key plugin, a complete rewrite from scratch. You can get it from the myteamspeak.com.
Source code is available on github.


Describe the logic of @flow comment lookup

You can opt-in on a per file basis by simply adding a /* @flow */ comment to the top of your source file. Flow uses type inference to find errors without further guidance. You can add type assertions by annotating your program with types.

http://flowtype.org/docs/about-flow.html#gradual
What is the exact implementation?

Check all top level comments.
Check first comment only.
Check first N comments.
... ?

This is required for development of third-party tools (https://github.com/gajus/eslint-plugin-flowtype/issues/5) that require to identify files that have @flow comment.

Flow looks for the first comment, skipping over any tokens until the first comment is found.


Question Regarding Permuted MNIST

Hi,
May I ask you to provide me a snippet for loading data related to the permuted MNIST scenario? I assumed that the following one does the same. Is it right?
from continuum.datasets import MNIST
from continuum import InstanceIncremental
clloader = InstanceIncremental(MNIST(args.data, download=True),
                                nb_tasks=10,
                                train=True)

Hi @mmderakhshani ,
The instance incremental scenarios will only share existing instances of classes between n tasks, without doing any transformation.
To create the permutMNIST scenarios the class to use is Permutations
from continuum.datasets import MNIST
from continuum.scenarios import Permutations

clloader_train = Permutations(cl_dataset=MNIST(args.data, download=True, train=True),
                                                 nb_tasks=10,
                                                 seed=0)

You should be able to visualize data with:
for task_id, train_dataset in enumerate(clloader_train):
        train_dataset.plot(path=folder,
                                     title="MNIST_Permutations_{}.jpg".format(task_id),
                                     nb_samples=100,
                                      shape=[28, 28, 1])

Tell me if it works well for you :)

Ok. Thanks for your quick reply. I have installed your packages with pip install continuum and it seems that the installed package did not contain for example the Permutation class. Could you please update it?

I will try to do it asap, I tell you when it is done :)

It should be good now @mmderakhshani :)


add declaration types for ie11

related https://github.com/react-hook-form/react-hook-form/pull/2870

Thnnas @kotarella1110


Siege Pack

This adds a new pack "Siege" to Packmaster Expansion Packs.
The theme is maintaining defense before unleashing boosted attacks.

I don# see a hat image in the PR, please be sure to make one

I don# see a hat image in the PR, please be sure to make one

Sure. The artist has fortunately agreed to make one, so I'll wait for it to be ready

The artist AlexMdle has already finished this amazing piece for the pack!

Don't forget to add yourself as an author to the ModTheSpire.json

Don't forget to add yourself as an author to the ModTheSpire.json

Done!

Updated Compendium

Updated Compendium (upgrades)

All changes addressed, ready for another review

All changes done, ready again


Introduce release property on AbstractCompile

This property, when used, is only leveraged by JavaCompile. It is mapped
to the javac release flag. It takes precedence over the source and
target compatibility.
This commit also improves the wiring of the target JVM version
attribute in resolvable configurations, which is now derived from
release.
This is mostly the work done previously by @jjohannes , adapted to the recent code changes.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bmuskalla @jjohannes I have updated the PR, please have another look

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

Sorry some internal error occurs, please contact the administrator @blindpirate

I ended up removing the lambdaification commit to reduce conflicts with other ongoing PRs. This will be added in a later stage.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.


Separator removal precedence.

If max value is “999” and the text is “99.”, changing the text to “999.” should remove the fraction separator. Instead, input is cancelled because “999” is the max value and cannot fit fraction digits.

This happens because suffixing separator removal is currently only based on capacity (precision).

Fix: f7b7c8f96a8e0605a2ca6e69b7c5663ee8862ce9. Will do some cleanup and then release a patch.


The time lebel crashed Prometheus server

The biggest antipattern with any timeseries storage system is having a hugely growing label cardinality. Each new combinaison of label values will grant its own timeseries to store data. The number of said files can grow exponentially and have a huge impact on the health of prometheus.

common_name: will grow for each new user we have. Not best practice but this is "acceptable" if we don't have many many users and don't have much turnover

connection_time: this is very very very very very BAD practice as this will generate a new value for each reconnection to the VPN. Storing timestamps as label on prometheus is the absolute worst thing one can do to an exporter. This garantees that this label's cardinality will explose within days or even hours. It could bring down the whole monitoring system, depending on the load.

real_address: This is really not great as the address can change, but this is spectacularly bad as it includes the source port, which is random for each connection. This makes this label as bad and dangerous as the connection_time label.

Yeah, this unfortunately makes this exporter pretty unusable.
We have hundreds to thousands of users connected at a time, so enabling this exporter in production would immediately DOS the Prometheus.
https://prometheus.io/docs/practices/instrumentation/#things-to-watch-out-for has a useful overview of why adding all of this high-cardinality data is bad.

I think the best thing to do here would be to have an "-individual-users" command line option or similar, like collectd does: https://collectd.org/wiki/index.php/Plugin:OpenVPN

We're happy to accept a PR for that :)

An alternative of a command line option would be a HTTP parameter similar to what the node_exporter provides: https://github.com/prometheus/node_exporter#filtering-enabled-collectors That would allow users to disable collecting user metrics in their Prometheus server, while allowing other clients (e.g. web clients) to take a look at all stats.

@timstoop have created a PR here - https://github.com/kumina/openvpn_exporter/pull/24

Perhaps it would make sense to expose the per-client connection timestamp as an actual metric instead of or in addition to this ask?  Aggregate and per-user uptime is something I do actually want visibility into, but unpacking a label's value and transforming it into a metric (what I'll likely do today) doesn't seem like a fantastic pattern.

This should be solved in #31 .


[Workspace Feeds] App crashes after enabling Expensify Card

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.34-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to workspace settings.

Enable Expensify Card.

Expected Result:
App will not crash.
Actual Result:
App crashes after enabling Expensify Card.
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
1309.txt
https://github.com/user-attachments/assets/b7043dc1-dae4-4e8a-9cfa-0dd0cc5b0406

View all open jobs on GitHub

I can look at this, as I worked on EC
cc @trjExpensify @mountiny but should it be a deploy blocker? It's not in beta anymore?

Hi, I'm Viktoryia from Callstack - expert contributor group - and I would like to work on this issue.

The app crashes with the next error:

'cards_-1_Expensify Card' key can't be changed to 'cards_18317771_Expensify Card'. useOnyx() only supports dynamic keys if they are both collection member keys from the same collection e.g. from 'collection_id1' to 'collection_id2'.

It looks like we have the similar issue opened related to useOnyx crash: Investigate useOnyx crash when changing policy_-1 key to policy__FAKE_

@mountiny - can we just assign @VickyStash or @koko57 here? Definitely feels like a blocker. cc @kevinksullivan

It's still in beta. 👍

If this is on a beta, I'll remove the blocker

The PR which fixes the crash is opened for the review: https://github.com/Expensify/App/pull/49173

I'm going to be OOO Sept 14-22, in case the PR won't be merged @koko57 will take care of it.

The fix worked well, merged it

The onyx PR was merged so now @fabioh8010 will test the onyx bump on this bug

Any reason this is still open?

I think that was handled in the other issue for Fabio's PR.
The PR for this issue didn't get C+: https://github.com/Expensify/App/pull/49173


[rmodels] Added implementation of UpdateModelAnimationBonesWithBlending() function

This PR adds a function to blend between two different frames of different or same ModelAnimation. It can be used to blend between two animation or smoothly transition between two animation by interpolating between exiting and entering poses. Updates for bones only and need GPU skinning
Params

Model model: Target model to update bones.
ModelAnimation animA: First animation.
int frameA: Frame number of first animation.
ModelAnimation animB: Second animation.
int frameB: Frame number of second animation
float blendFactor: Ratio of blending between animA's frameA and animB's frameB. Value must be from 0.0f to 1.0f. Value 0.0f means use frameA of animA and 1.0f means use frameB of animB. And other values correspond to other values in between.

animA           animB
0.0f    <--->    1.0f

Example usage(not-complete code)
// Utilities
#define min(x, y) ((x < y) ? x : y)
#define abs(x) ((x < 0) ? -x : x)

// Main code
motion = Vector2Normalize((Vector2){IsKeyDown(KEY_W) - IsKeyDown(KEY_S),
                                    IsKeyDown(KEY_A) - IsKeyDown(KEY_D)}); // Direction of motion on XZ plane

// Choose animation index between running forward and backward
int indexX = 0;
if (motion.x) {
  indexX = (motion.x < 0) ? RunBack : Run;
}

// Choose animation index between running left and right
int indexY = 0;
if (motion.y) {
  indexY = (motion.y < 0) ? RunRight : RunLeft;
}

// Update animation frame counter
animFrameCounter++;
animFrameCounter %= min(anims[indexX].frameCount, anims[indexY].frameCount);

// Function usage
UpdateModelAnimationBonesWithBlending(model,
                                      anims[indexX], animFrameCounter,
                                      anims[indexY], animFrameCounter,
                                      abs(motion.y));

TODOs

[x] Add an example.
[x] Add blending without need of GPU skinning ~Dropped for now~ Adding it see this comment

I tested on a model downloaded from Mixamo and animated using Mixamo. Its in glb format. Not sure if it is acceptable as asset. If yes then i'll push that example. Otherwise i need to create a custom model.
Demo uses above example with 5 animations. Idle, Run, RunBack, RunLeft and RunRight. Idle is played by default and blending is done for diagonal motion.
https://github.com/user-attachments/assets/935c2705-dc89-4b2f-a12b-8acc6accafd5

nice!

Added example to show blending using robot.glb model.
https://github.com/user-attachments/assets/ad1feb31-c54d-47b9-8dcf-1029b1620690

@Kirandeep-Singh-Khehra This is a great addition! I find the function name UpdateModelAnimationBonesWithBlending() quite long, maybe it can be shortened a bit? I'm thinking about UpdateModelAnimationPro(), that, despite not being so clear, it follows raylib naming conventions for advance versions of some functions (UpdateCameraPro(), DrawTexturePro(), DrawTextPro()...).
In the same line, UpdateModelAnimationBones() is the GPU alternative to UpdateModelAnimation(), maybe it can be simplified to just one function and enable GPU-skinning with a compile flag? Not sure how useful is having both methods available.
That way, UpdateModelAnimationPro() could implement blending internally in CPU/GPU using the same compile flag.

While I agree that we need interpolation/blending support, I feel that this simple API does not go far enough.

I would like to see the ability to update the bones separate from the model. I may have many instances of a model at different animation states, I want to keep my own set of 'current' bones with my instance structure and not with the model. So to me an optimal function would take the output bone matrices as an argument.
I would like to be able to pick what I apply the interpolated frame to, the vertices or upload them to the GPU.

I don't mind having a basic function that just updates the model's internal bone state, but I would like the lower level functions to be accessible for people who need more than a simple single model use case.

@raysan5 @JeffM2501
Thanks guys for sharing your feedback and concerns,
When i started using raylib i was hoping for something like simple utility to work with skeleton and forward kinematics. And both these things were way complex. And i was unable to make a good looking 3d game without adding something to animations.
But as Ray asked to unify animation functions. I discarded/upgraded this code and tried to create a one stop solution and i implemented most of it. Just minor adjustments are needed.
** I completely agree that the idea discussed below is lot complex(but code will be readable and simple to debug, i assure). But it will add things like blending, interpolation, split body animation. single call function for more complex animations(like add all animations in single call and update weights(discussed below) only) **
** But if we consider it to be a function at low level. Then it can do a lot on animation side.(see the last code block in this comment)**
The idea is to create function UpdateModelAnimationPro(). But for now lets consider only bones UpdateModelAnimationBonesPro(Model, BoneMask, int, int, .../*va_args*/). with paramers including:

Model model: Model to use.
BoneMask mask: Just a fancy name for bitmap. Which stores list of 0 or 1. Useful for model splitting. Like upper body split and lower body split.
int flag: Any config flags. Like ANIM_PRO_INVERT_MASK(to invert the mask before using it) and other flags etc etc. Intended use is like ANIM_PRO_INVERT_MASK | ANIM_PRO_FLAG2 | ANIM_PRO_FLAG3. Not yet planned what could be added.
int animCount: Number of animations range from 1 to N.
...: va_arg list consisting of multiple ModelAnimation anim, int frame, double weight(va_list promotes float to double and may introduce some issues).

Example i used:
UpdateModelAnimationBonesPro(model, fullBodyMask, 0, 2,
                              /* Anim       |  Frame         |   Weight            */
                              anims[indexX], animFrameCounter, (double)abs(motion.x),
                              anims[indexY], animFrameCounter, (double)abs(motion.y)
                              /* More lines here */
                              );

BoneMask is implemented but not yet used in function.
I tested passing 1,2 and 3 animations and it passed with flying colors. (As far as i can see on screen).
We can also pass ModelAnimation array then int array for frames and double or float array for weights. This will make usage more complex but using va_list will make no-compile time warnings or linting or auto completion.
Then we can replace/redefine UpdateModelAnimationBones() and UpdateModelAnimationBonesWithBlending() with
#define UpdateModelAnimationBones(model, anim, frame) UpdateModelAnimationBonesPro(model, FullBodyMask(), 0, 1, anim, frame, 1)

#define UpdateModelAnimationBonesWithMask(model, animA, frameA, animB, frameB, blendFactor) UpdateModelAnimationBonesPro(model, FullBodyMask(), 0, 2, animA, frameA, (1-blendFactor), animB, frameB, blendFactor)

// This one will be interesting
void UpdateModelAnimationBonesWithTime(model, anim, time) {
  int frameA = time / GLTF_ANIMDELAY;
  int frameB = time / GLTF_ANIMDELAY;

  float blendFactor = (time % GLTF_ANIMDELAY) / GLTF_ANIMDELAY;
  UpdateModelAnimationBonesPro(model, FullBodyMask(), 0, 2,
                               anim, frameA, (1 - blendFactor),
                               anim, frameB, blendFactor)
}

// ... or many more such animation stuff can be done with this one function.

If its not possible to have this then ... (Just let me know) .Or Do we have plans for official plugin system (separate repo for bunch of simple header files) to add such advanced functionality to raylib.
I am also planning to work on state machine after this for animation but State machine will be lot less useful when added to raylib. So, it must be separate repo. But that's the story of another day.
Looking forward for some feedback.

That seems very complicated.
I'm not a fan of the bitmask thing, as I don't think people will get it.
I am also no a fan of combining interpolation and blending in the same base API.
This makes me wonder if a full animation system should be made external to raylib as a drop in.
I would take blending out of this feature to start with. While I get that it's similar, I think it complicates something that should be a simple API (prevent feature creep).
My thoughts are that we should add the following new API functions to start with.
void UpdateModelAnimationBonesLerp(Model model, ModelAnimation anim, int frame1, int frame2, float param);  // computes a new set of bone matricies between two frames.

void UpdateModelVertsToCurrentBones(Model model); // takes the current set of bone matrices and applies to them to mesh verts (CPU Animation)

These would give us basic interpolation using a simple API that works for both GPU and CPU users without code duplication.
Someone doing GPU animation would just call UpdateModelAnimationBonesLerp and then upload the bones to the shader.
Someone doing CPU animation would need to also call UpdateModelVertsToCurrentBones to apply the bones to the verts.
I think it's important for people doing CPU animation to know that they are modifying vertex data.
I don't think there is any benefit to locking in a 'pro' version of any function right now. I fear we may 'burn' the pro name on something that's not useful just to 'get something in'. We do not need to rush this.
Blending is a big subject with a lot of requirements. I think to start for blending we should open a discussion about what those requirement and use cases are before we design any APIs. I think that for blending we are really going to need a way to define a model skeleton outside of the model structure and update it separately, then apply it back to the meshes, and that's a bigger design, something I feel that is outside the scope of a simple single PR. My fear is that a purely internal solution will be lacking in some regards, so an external drop in solution may be best (with API changes to support the access it needs). But we for sure need to design the API properly first, not just throw code around.

Updated the PR with functions suggested by JeffM2501. Example is also updated. To have both CPU and GPU skinning along comments to follow to make it use GPU skinning.
Modified UpdateModelAnimation() (It had the code to update verts) to use UpdateModelVertsToCurrentBones().
Tested GPU and CPU version and other examples using older UpdateModelAnimation function.
void UpdateModelAnimationBonesLerp(Model model, ModelAnimation anim, int frame1, int frame2, float param);  // computes a new set of bone matricies between two frames.

void UpdateModelVertsToCurrentBones(Model model); // takes the current set of bone matrices and applies to them to mesh verts (CPU Animation)


Use HashSet from hashbrown instead of std::collections

This commit switches the HashSet usage in retworkx to use hashbrown's
version of HashSet instead of the version in std::collections. This
provides a performance boost primarily from the use of the AHash default
hash algorithm. It also opens up potential future performance
improvements with hashbrown's rayon support to use parallel iterators.
At the same time since we're already listing rayon as a dependency
in #112 this adds the rayon feature to hashbrown in the cargo.toml
to expose the ParallelIterator traits for hashbrown's HashMap and
HashSet types. While this isn't being used yet it's potentially
useful in the future for #86.

I need to do some more benchmarking on this to see if this is actually a performance benefit for real world use cases. In microbenchmarks it looks promising, but there are a couple of performance edge cases that I haven't been able to figure out where they come from (I'm assuming overhead with the gil and set type conversion).

Coverage increased (+0.05%) to 91.495% when pulling 813bad0d6229fb34619299b9aae94eae1447d233 on mtreinish:more-hashbrowns into f4af5b0c20babb127c79b1adbb3e266fd30d2b62 on Qiskit:master.


added loading animation to front page

Coverage remained the same at 100.0% when pulling 7a019d25c214adcb9c4c9ac3eac4880753cfcc2c on loading into 8803db8b30a67c7450dd12b4c777ec5e7211f514 on master.


Typing of scope incorrect

scope?: "name" | "email"[];

Is incorrect. You meant  ("name" | "email")[] but this is also not perfect :-).
Don't be clever, just unfold it:
scope?: ["email","name"]|["name","email"]|["name"]|["email"]|[]

Thanks had missed it, unfolding might be the best solution, but a bit of an overkill, set it as ("name" | "email")[]


We are not showing owner info, name and description before access

Once access was granted as I did refresh it showed again hmm

I guess fixed in #2630


Unrecognized keyword arguments passed to Embedding

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
v2.16.0-rc0-18-g5bc9d26649c 2.16.1
Custom code
Yes
OS platform and distribution
Windows 11
Mobile device
No response
Python version
3.11.5
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Ok so if i head over to the tensorflow documentation of Embeddings layer, as a sample code they show me something like this
Example:

model = keras.Sequential()
model.add(keras.layers.Embedding(1000, 64, input_length=10))
But when I try to reproduce the same code (asitis ) or in my another Sequential model it would always show Unrecognized keyword arguments passed to Embedding: {'input_length': 10}
Is the documentation not updated? or this thing has been removed or it is a bug since I have tried replacing it with some other keyword argument I found over stackoverflow but nothing worked for me

Standalone code to reproduce the issue
model=Sequential()
model.add(keras.layers.Embedding(vocab_size,embedded_vector_size,input_length=max_length))
model.add(Flatten())
model.add(Dense(1,activation='sigmoid'))

Relevant log output
----> 8 model.add(keras.layers.Embedding(vocab_size,embedded_vector_size,input_length=max_length))
      9 model.add(Flatten())
     10 model.add(Dense(1,activation='sigmoid'))
File c:\Users\Charanjeet Juneja\AppData\Local\Programs\Python\Python311\Lib\site-packages\keras\src\layers\core\embedding.py:81, in Embedding.__init__(self, input_dim, output_dim, embeddings_initializer, embeddings_regularizer, embeddings_constraint, mask_zero, lora_rank, **kwargs)
     70 def __init__(
     71     self,
     72     input_dim,
   (...)
     79     **kwargs,
     80 ):
---> 81     super().__init__(**kwargs)
     82     self.input_dim = input_dim
     83     self.output_dim = output_dim

File c:\Users\Charanjeet Juneja\AppData\Local\Programs\Python\Python311\Lib\site-packages\keras\src\layers\layer.py:265, in Layer.__init__(self, activity_regularizer, trainable, dtype, autocast, name, **kwargs)
    263     self._input_shape_arg = input_shape_arg
    264 if kwargs:
...
    268     )
    270 self.built = False
    271 self.dtype_policy = dtype_policies.get(dtype)

ValueError: Unrecognized keyword arguments passed to Embedding: {'input_length': 10}

Ok I tried converting the input_length to input_shape of(10,) formulating what it was trying to say in the documentation. (On searching I found this). But shouldn't that be updated in documentation as well?

ValueError: Unrecognized keyword arguments passed to Embedding: {'input_length': 10}
how to solve this error

Instead of input length:10 I used input_shape=(10,) to reproduce the same effect. It worked for me. But when u read the documentation u won't find anything like input_shape you would only find input_length.

Hi @theraghavjuneja ,
The error occurs because the Embedding layer in TensorFlow 2.x does not have an input_length argument. This argument was removed in version 2.0.0 of TensorFlow.
To fix this error, you need to remove the input_length argument from the Embedding layer. The input_length argument is used to specify the maximum length of the input sequences. However, in TensorFlow 2.x, the Embedding layer automatically infers the input length from the input data. Please find the gist here for reference.

Instead of input length:10 I used input_shape=(10,) to reproduce the same effect. It worked for me. But when u read the documentation u won't find anything like input_shape you would only find input_length.

I created an LSTM-based sequential model for text generation. I updated my keras to 3.1.1 and had the same issue.  Using input_shape=(25,) worked for my model. Thanks.

Hi @TomBerton : I am hitting this same issue  with TF==2.16  version for my CNN Word2Vector Embeddings
Define the CNN model
model = Sequential()
model.add(Embedding(vocab_size, 100, weights=[embedding_matrix],input_length=max_length, trainable=False))
model.add(Conv1D(128, 5, activation='relu'))
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep  Tensroflow
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep  Tensorflow
]%                                                                                (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % ]
zsh: command not found: ]
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep  tensorflow
tensorflow                   2.16.1
tensorflow-datasets          4.9.4
tensorflow-estimator         2.12.0
tensorflow-io-gcs-filesystem 0.36.0
tensorflow-metadata          1.14.0
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep keras
keras                        3.1.1
tf_keras                     2.16.0
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %

Hi @TomBerton : I am hitting this same issue with TF==2.16 version for my CNN Word2Vector Embeddings
Define the CNN model
model = Sequential() model.add(Embedding(vocab_size, 100, weights=[embedding_matrix],input_length=max_length, trainable=False)) model.add(Conv1D(128, 5, activation='relu'))
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep Tensroflow (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep Tensorflow ]% (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % ] zsh: command not found: ] (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep tensorflow tensorflow 2.16.1 tensorflow-datasets 4.9.4 tensorflow-estimator 2.12.0 tensorflow-io-gcs-filesystem 0.36.0 tensorflow-metadata 1.14.0 (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % pip list | grep keras keras 3.1.1 tf_keras 2.16.0 (DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %

(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 % python CNN_WordVec.py
Traceback (most recent call last):
File "/Users/akram_personal/AKRAM_CODE_FOLDER/DS_EXERCISES/DS_2024/CNN_WordVec.py", line 114, in
model.add(Embedding(vocab_size, 100, weights=[embedding_matrix], trainable=False))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/DS/lib/python3.11/site-packages/keras/src/layers/core/embedding.py", line 81, in init
super().init(**kwargs)
File "/opt/anaconda3/envs/DS/lib/python3.11/site-packages/keras/src/layers/layer.py", line 264, in init
raise ValueError(
ValueError: Unrecognized keyword arguments passed to Embedding: {'weights': [array([[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]])]}
(DS) akram_personal@AKRAMs-MacBook-Pro DS_2024 %

just replace model.add(Embedding(total_words,100,input_length=max_sequence_len))
to model.add(Embedding(total_words,100,input_shape=(max_sequence_len,)))


Chrome using the js api window.open does not work

Hi !
I'm using the JS API window.open(url, windowName, [windowFeatures]);
I've used it for years in Windows Internet Explorer. Now Microsoft Edge does not support it, nor does Chrome, I can run it in Edge using IE-Explorer mode for 30 days.
I really would like to be able to run it in Chrome and skip Microsoft browsers.
My request looks as this:
newpath=z:\books\documentary(doc)1972 summary(1985)
window.open(newpath, 'explorer');
(drive z is within my local intranet.)
But when I try do access it from Chrome, nothing happens at all. Do you know why ? Or if you know how to solve it differently ?
Cheers, Torbjorn, Stockholm, Sweden

Hi ! I'm using the JS API window.open(url, windowName, [windowFeatures]); I've used it for years in Windows Internet Explorer. Now Microsoft Edge does not support it, nor does Chrome, I can run it in Edge using IE-Explorer mode for 30 days. I really would like to be able to run it in Chrome and skip Microsoft browsers. My request looks as this: newpath=z:\books\documentary(doc)1972 summary(1985) window.open(newpath, 'explorer'); (drive z is within my local intranet.) But when I try do access it from Chrome, nothing happens at all. Do you know why ? Or if you know how to solve it differently ? Cheers, Torbjorn, Stockholm, Sweden

Not possible to make it work. Also, off-topic. @MystPi Close as off-topic and lock?


[Ubuntu] Use toolset config to install az modules on Ubuntu 20

Description
For Ubuntu 16/18 we use predefined  Az module list versions in toolset.json config. The latest Az 5.0 release contains a lot of issues and we decided to use the same approach for Ubuntu 20 too.
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu2004


Horizontal lines due to different DPI scaling of windows

This is my favorite extension and really, great work!
Lately I've been encountering horizontal lines where the screenshots are being merged.
The page over http://mrcoles.com/full-page-screen-capture-chrome-extension/ shows multiple people having the issue and no solution. (ctrl+f 'black')
I took it upon me to investigate and turns out it's due to Windows' moniter scaling being other than 100%.
E.g.

Moniter scaling 100%

Moniter scaling 125%

Moniter scaling 150%

I have both horizontal / vertical lines... generally they are the scroll bars when the screenshots becomes too big or the ratio is too close to the current window size????
Failed at 30000 X 20000 screenshot. javascript stopped working.

Hey @spacemudd I’m looking into various issues currently. Are you still seeing this issue with your latest version of Windows and Chrome? I don’t have a Windows rig to test this out, but from examining your screenshots (awesome reporting, btw!) I it looks like both the bottom and right side of each capture are getting 1 extra pixel of a black line.

@mrcoles I'm not seeing it anymore! Now that I'm back to this thread, I believe this isn't an issue with the extension itself but it's an issue with Chrome. As I have noticed some several other extensions (e.g. LastPass, Vue Dev Tools) sometimes don't work well with different dual-monitors running different DPI resolutions
I'm closing my issue.
Thank you.

Awesome, thanks!


Correction for raw affiliation ENS de LyonIHRIM (UMR 5317)

Correction needed for raw affiliation ENS de LyonIHRIM (UMR 5317)
raw_affiliation_name: ENS de LyonIHRIM (UMR 5317)
new_rors: 04zmssz18;02wmc6m46
previous_rors: 04zmssz18
works_examples: W2922290058
contact: b0f19cc0b515a9f3f84154e46f84936c:8a176205924efa591983f65543b5 @ ens-lyon.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


[Node.js] Support npm installation on macos

Enable 'npm install' of the package for macos
Record the commit hash of librealsense to 'librealsense/commit'
inside the npm package for reference
Update README.md for mac build

@halton PTAL, thanks.