youtube-dl -g bug is detected [IMPORTANT FOR API's Users]

According to template.....youtube-dl -g ......direct link works only on same cookies, same ip of that system...
but i have found bug ..... even that link is didn't work on same system ... Mainly its not working on some videos which is marked as CC in youtube...... many users are struggling because many of them create api's based on this only .... But No one come forward to solve please see this bug...... i beg you please....
see below i have used wget command to check video direct link work or not in same system please Solve This.....
]# youtube-dl -g https://www.youtube.com/watch?v=ZK4uGLpkAK                                                                                k
https://r1---sn-nx5e6n76.googlevideo.com/videoplayback?mt=1461589087&mv=u&sparam                                                                                s=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm                                                                                %2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&ms=au&ip=x.x.xx.x.x                                                                                &requiressl=yes&mm=31&mn=sn-nx5e6n76&id=o-AJ2FtlCUDChnBuPhYt9t01hf_uYg7aEci                                                                                j-IB1xnkFS7&pl=26&source=youtube&upn=s1CAO1AV7RM&lmt=1458717216500830&fexp=94059                                                                                66%2C9416126%2C9416891%2C9417380%2C9422596%2C9423347%2C9426926%2C9427322%2C94283                                                                                98%2C9428770%2C9429161%2C9429245%2C9431012%2C9431530%2C9431684%2C9433096%2C94334                                                                                25%2C9433680%2C9433729%2C9433947%2C9434001%2C9434040&keepalive=yes&nh=IgpwcjAxLn                                                                                NlYTAzKgkxMjcuMC4wLjE&gir=yes&mime=video%2Fmp4&key=yt6&clen=117979870&itag=264&g                                                                                cr=us&expire=1461610846&ipbits=0&dur=122.458&sver=3&signature=70BAFD2A3EB23E79B9                                                                                BB050B64AB0E675E5ECCF6.C9EA3EE8073B1DA13B5FDFFF7D80F9EECF37D701&ratebypass=yes
https://r1---sn-nx5e6n76.googlevideo.com/videoplayback?mt=1461589087&mv=u&sparam                                                                                s=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm                                                                                %2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&ms=au&ip=x.x.x.xx.x                                                                                &requiressl=yes&mm=31&mn=sn-nx5e6n76&id=o-AJ2FtlCUDChnBuPhYt9t01hf_uYg7aEci                                                                                j-IB1xnkFS7&pl=26&source=youtube&upn=s1CAO1AV7RM&lmt=1458463987532992&fexp=94059                                                                                66%2C9416126%2C9416891%2C9417380%2C9422596%2C9423347%2C9426926%2C9427322%2C94283                                                                                98%2C9428770%2C9429161%2C9429245%2C9431012%2C9431530%2C9431684%2C9433096%2C94334                                                                                25%2C9433680%2C9433729%2C9433947%2C9434001%2C9434040&keepalive=yes&nh=IgpwcjAxLn                                                                                NlYTAzKgkxMjcuMC4wLjE&gir=yes&mime=audio%2Fwebm&key=yt6&clen=2019746&itag=251&gc                                                                                r=us&expire=1461610846&ipbits=0&dur=122.461&sver=3&signature=D655D5D0ED988A54505                                                                                2E02BB4DA01415AF20486.6F839C775F9FD7E27EA30AD9D2A8235082BD8A71&ratebypass=yes
[root@free-20150919 ~]# ^C
[root@free-20150919 ~]# wget https://r1---sn-nx5e6n76.googlevideo.com/videoplayback?mt=1461589087&mv=u&sparam                                                                                s=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm                                                                                %2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire&ms=au&ip=x.x.x.x.x                                                                                &requiressl=yes&mm=31&mn=sn-nx5e6n76&id=o-AJ2FtlCUDChnBuPhYt9t01hf_uYg7aEci                                                                                j-IB1xnkFS7&pl=26&source=youtube&upn=s1CAO1AV7RM&lmt=1458463987532992&fexp=94059                                                                                66%2C9416126%2C9416891%2C9417380%2C9422596%2C9423347%2C9426926%2C9427322%2C94283                                                                                98%2C9428770%2C9429161%2C9429245%2C9431012%2C9431530%2C9431684%2C9433096%2C94334                                                                                25%2C9433680%2C9433729%2C9433947%2C9434001%2C9434040&keepalive=yes&nh=IgpwcjAxLn                                                                                NlYTAzKgkxMjcuMC4wLjE&gir=yes&mime=audio%2Fwebm&key=yt6&clen=2019746&itag=251&gc                                                                                r=us&expire=1461610846&ipbits=0&dur=122.461&sver=3&signature=D655D5D0ED988A54505                                                                                2E02BB4DA01415AF20486.6F839C775F9FD7E27EA30AD9D2A8235082BD8A71&ratebypass=yes
[1] 24113
[2] 24114
[3] 24115
[4] 24116
[5] 24117
[6] 24118
[7] 24119
[8] 24120
[9] 24121
[10] 24122
[11] 24123
[12] 24124
[13] 24125
[14] 24126
[15] 24127
[16] 24128
[17] 24129
[18] 24130
[19] 24131
[20] 24132
[21] 24133
[22] 24134
[23] 24135
[24] 24136
[25] 24137
[26] 24138
[27] 24139
[root@free-20150919 ~]# -bash: j-IB1xnkFS7: command not found
-bash: 66%2C9416126%2C9416891%2C9417380%2C9422596%2C9423347%2C9426926%2C9427322%2C94283: command not found
-bash: 17.35: command not found
-bash: NlYTAzKgkxMjcuMC4wLjE: command not found
-bash: sparam: command not found
--2016-04-25 09:01:12--  https://r1---sn-nx5e6n76.googlevideo.com/videoplayback?mt=1461589087
-bash: 2E02BB4DA01415AF20486.6F839C775F9FD7E27EA30AD9D2A8235082BD8A71: command not found
Can't open r=us
Resolving r1---sn-nx5e6n76.googlevideo.com... <IP_ADDRESS>, 2607:f8b0:400a:12::7
Connecting to r1---sn-nx5e6n76.googlevideo.com|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2016-04-25 09:01:13 ERROR 403: Forbidden.
[1]   Exit 8                  wget https://r1---sn-nx5e6n76.googlevideo.com/videoplayback?mt=1461589087
[2]   Done                    mv=u
[3]   Exit 127                sparam s=clen%2Cdur%2Cgcr%2Cgir%2Cid%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm %2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Crequiressl%2Csource%2Cupn%2Cexpire
[4]   Done                    ms=au
[5]   Exit 127                ip=X.X.X.XX
[6]   Done                    requiressl=yes
[7]   Done                    mm=31
[8]   Done                    mn=sn-nx5e6n76
[9]   Exit 127                id=o-AJ2FtlCUDChnBuPhYt9t01hf_uYg7aEci j-IB1xnkFS7
[10]   Done                    pl=26
[11]   Done                    source=youtube
[12]   Done                    upn=s1CAO1AV7RM
[13]   Done                    lmt=1458463987532992
[14]   Exit 127                fexp=94059 66%2C9416126%2C9416891%2C9417380%2C9422596%2C9423347%2C9426926%2C9427322%2C94283 98%2C9428770%2C9429161%2C9429245%2C9431012%2C9431530%2C9431684%2C9433096%2C94334 25%2C9433680%2C9433729%2C9433947%2C9434001%2C9434040
[15]   Done                    keepalive=yes
[16]   Exit 127                nh=IgpwcjAxLn NlYTAzKgkxMjcuMC4wLjE
[17]   Done                    gir=yes
[18]   Done                    mime=audio%2Fwebm
[19]   Done                    key=yt6
[20]   Done                    clen=2019746
[21]   Done                    itag=251
[22]   Done                    gc r=us
[23]   Done                    expire=1461610846
[24]   Done                    ipbits=0
[25]   Done                    dur=122.461
[26]-  Done                    sver=3
[27]+  Exit 127                signature=D655D5D0ED988A54505 2E02BB4DA01415AF20486.6F839C775F9FD7E27EA30AD9D2A8235082BD8A71

URLs must be put in quotes.


Implement quitting (client-side)

https://github.com/relaynet/specs/blob/master/rs004-cosocket.md#quit

Invalidated by https://github.com/relaynet/specs/pull/36


Questions for Session

How granular should the use cases be? For example, do we need to capture the various variations (e.g. sort by low to high) or just focus on the interaction with actor to the system?
We see (5) five reports; but within all five there are 32 variations?
What's the user interface supposed to look like?

How granular should the use cases be? For example, do we need to capture the various variations (e.g. sort by low to high) or just focus on the interaction with actor to the system?
More with the actor and the system. Professor just wants 1 user case as there is just one user role.
As statied in lab 3b: "As an HR advisor I want to produce a report on the salary of all employees so that I can support financial reporting of the organisation"
We see (5) five reports; but within all five there are 32 variations?
We guessed right where we can group the reports into countries, cities, capital, population, etc
What's the user interface supposed to look like?
For the moment, the system is there just to produce the reports.
Additional info :

he used Java last year to pull the data from the db
GitHub Actions will be used later in the module for releases (not available yet)
to create UseCases, install the "Diagrams.net Integration" in IntelliJ (draw.io)
use Database Navigator plugin in IntelliJ to connect to the db


gopass update from 1.13 - 1.14 broke all age encrypted passwords

Summary
After upgrading from age 1.13 to 1.14 I can no longer decrypt any of my passwords.
[user@vault]~% gopass show Github
⚠ Entry "Github" not found. Starting search...
✅ Found exact match in "Personal/Github"
❌ Decryption failed: failed to decrypt: no identities specified

Error: failed to retrieve secret "Personal/Github": failed to decrypt

✅ Migrated age backend to new format

Migrating to the new backend format fixed this issue.

The migration should happen automatically.
I wonder why it didn't work in the first place.

My fault, I bailed out of the migration because I thought it was wanting to re-init the store.


optimize catalog processing

@mherrmann3 thread for an open discussion on optimizing the catalog-based evaluations. problem is embarrassingly parallel and slow, so there is obvious motivation to speed up the calculations.
some possible packages here to help with that:
numba, joblib, dask
i will edit this issue over time with more information.

Alright, let's dig a little deeper into this issue....
Regarding numba, I once gained a significant speedup by numba-fying bin1d_vec—because I needed it repeatedly to get indices of target events for >6000 time windows. Now I wanted to report the speed improvement here... and I was surprised: it doesn't make any difference anymore: pycsep's bin1d_vec is as fast as my numba-fied one)! My best guess is that numpy v1.20.0 introduced some significant performance improvements by leveraging SIMD (i.e. array/vector processors), which speeds up ufuncs and makes numba useless here; apparently (and indeed evidently), bin1d_vec makes considerable use of those universal functions—independently of your update one year ago.
Did you happen to notice a faster execution of catalog evaluations after ~Jan 2021 when updating to numpy ≥1.20.0?
I'll do some profiling during catalog evaluations to find bottlenecks that could potentially be numba-fied.
Alternatively or additionally, I can work on parallelizing catalog evaluations. As you mentioned, it's an the embarrassingly parallel problem, so joblib will make that very easy. It would be a pity not to take advantage of the ubiquitous multi-core processors. If this is not fast enough, and if we have a cluster available, we can also think about Dask.
Just comes to my mind: could we have a config file or similar (cmd args) to specify the number of thread/processes that pycsep can use—or should we assume that using all available cores is fine?

@mherrmann3 I did notice similar things with numba, but I wasn't able to pin it directly to updates numpy ≥1.20.0. It makes sense given the time of that update though. I'm interested to see what we can get out of joblib, because I had ran into some limitations with Python. Granted, I tried to optimize these calculations back in 2018 before the shared memory support was released in Python 3.8. I think working to optimize the catalog processing would be very useful.
Idea for parallelization

Use forecast class iterator to read / filter forecast on reader process
Serialize memmapped catalog data to multiprocessing queue
Worker process consumes the memmap from the queue and processes catalog

Some evaluations require that gridded rates are computed
Multiple statistics may need to be computed for same catalog (eg., user wants N- M- and S- tests).

Return statistics to manager (main) process

Note: User would have to define evaluation set so that we can limit the I/O operations for catalog forecasts. See the comments below for more details.
Explanation
I'll try and summarize some of the issues that I had in case they might help. The main issue involved the process-based parallelism that Python implements. Some of this was related to the way that UCERF3 stores forecasts in single large binary file, but I think the issues are still relevant. Effectively, we want to limited the amount of shared resources and serialization calls being made by joblib or multiprocessing. I was able to overcome this by using an approach similar to the manual management of memmaped data. I would read in the UCERF3 forecast and have each process use a memmap to access the individual catalogs without sharing the data across each process. I used the following classes for that:
class ArrayView:
    def __init__(self, array, max_bytes, dtype, el_shape, i_item=0):
        self.dtype = dtype
        self.el_shape = el_shape
        self.nbytes_el = self.dtype.itemsize * np.product(self.el_shape)
        self.n_items = int(np.floor(max_bytes / self.nbytes_el))
        self.total_shape = (self.n_items,) + self.el_shape
        self.i_item = i_item
        self.view = np.frombuffer(array, dtype, np.product(self.total_shape)).reshape(self.total_shape)

    def __eq__(self, other):
        """Overrides the default implementation"""
        if isinstance(self, other.__class__):
            return self.el_shape == other.el_shape and self.dtype == other.dtype
        return False

    def push(self, element):
        self.view[self.i_item, ...] = element
        i_inserted = self.i_item
        self.i_item = (self.i_item + 1) % self.n_items
        return self.dtype, self.el_shape, i_inserted # a tuple is returned to maximise performance

    def pop(self, i_item):
        return self.view[i_item, ...]

    def fits(self, item):
        if isinstance(item, np.ndarray):
            return item.dtype == self.dtype and item.shape == self.el_shape
        return (item[0] == self.dtype and
                item[1] == self.el_shape and
                item[2] < self.n_items)

class ArrayQueue:
    """ A drop-in replacement for the multiprocessing queue, usable
     only for numpy arrays, which removes the need for pickling and
     should provide higher speeds and lower memory usage
    """
    def __init__(self, max_mbytes=10):
        self.maxbytes = int(max_mbytes*1000000)
        self.array = Array('c', self.maxbytes)
        self.view = None
        self.queue = Queue()
        self.read_queue = Queue()
        self.last_item = 0

    def check_full(self):
        while True:
            try:
                self.last_item = self.read_queue.get(timeout=0.00001)
            except Empty:
                break
        if self.view.i_item == self.last_item:
            raise Full("Queue of length {} full when trying to insert {},"
                       " last item read was {}".format(self.view.n_items,
                                                       self.view.i_item, self.last_item))

    def put(self, element):
        if self.view is None or not self.view.fits(element):
            self.view = ArrayView(self.array.get_obj(), self.maxbytes,
                                  element.dtype, element.shape)
            self.last_item = 0
        else:
            self.check_full()
        qitem = self.view.push(element)

        self.queue.put(qitem)

    def get(self, **kwargs):
        aritem = self.queue.get(**kwargs)
        if self.view is None or not self.view.fits(aritem):
            self.view = ArrayView(self.array.get_obj(), self.maxbytes,
                                  *aritem)
        self.read_queue.put(aritem[2])
        return self.view.pop(aritem[2])

    def clear(self):
        """ Empties the queue without the need to read all the existing
        elements
        :return: nothing
        """
        self.view = None
        while True:
            try:
                it = self.queue.get_nowait()
            except Empty:
                break
        while True:
            try:
                it = self.read_queue.get_nowait()
            except Empty:
                break

        self.last_item = 0

    def empty(self):
        return self.queue.empty()

Right now the for loops in the catalog evaluation functions incorporate a generator function that loads catalogs on demand. Filters are automatically applied during this process, which can be quite slow in the case of the time-dependent magnitude completeness model. I don't think this current approach will easily work with the multiprocessing module, because the generator function is not thread-safe. The typical way for this parallelize would be to have a single process that iterates through the forecast  writes the numpy.array holding the catalog data to a queue, while worker processes consume this data. Upon completion they would send results to another process for aggregation. Additionally, some evaluations like the S and PL-tests require that the forecast be first processed to computed the expected rate densities in each cell.
Another cause of poor performance occurs when calling multiple evaluations that all introduce I/O overhead. This can be eliminated if the forecasts are stored in memory, but in the case of some UCERF3 forecasts they are simply too large to store in the memory on a personal computer. Therefore, any solution for parallelization should still support lazy-loading and reduce the I/O requirements.
We can create a module that allows for evaluation sets to be defined by the user. The user would define which evaluations to perform on the forecast, and instead of computing the statistics sequentially, each statistic would be computed while the catalog was in memory. The worker processes would report back the individual statistics to the manager process. We would still be using a reader process to read in the catalogs from memory. Another thing to consider is that numpy is performing many implicit loops over the catalog data when calling many of the built-in functions. Maybe we just write our own C/C++ module for the processing (I'm only sort of kidding)? However, cython could be an option.
Ideally, we would read in the catalog once, iterate over the catalog once, and return each statistic for the catalog. Each process could either be responsible for a single statistic or for a single catalog and return multiple statistics. I think, we would want to supply this in addition to the current evaluations and not replace them. Perhaps something along the lines of a parallel module that would allow the user to call the parallel version of the function.

@mherrmann3 im going to close this issue for now, since we aren't actively working on the optimizations. we can easily re-open if that becomes a priority.


DG use cases need to cut down similar ones.

Eg. list vehicles and list customers
the duplicates shorten it.

Good issue!


Update README

Update README to show current version in dependencies.

Please merge this. It broke me tonight when I tried to get started. 0.7.1 doesn't compile with current Elixir

Hey @cnorm35 , Sorry I've been so slack with Obelisk. Thanks for your contribution.


Feature/tdp 186 prefect v2 aws

Goal
What changed? What is the business/product goal?

Change 1
Change 2

Implementation Decisions
Deployment steps

[ ] Database migrations?
[ ] Secrets?
[ ] FOR POCKET DEVELOPERS ONLY - Post in #changelog:

Write a #changelog message using our best practices if this PR (potentially) impacts users. Describe the 'why' and 'what'. @mention relevant teams. Link to this PR.

References
JIRA ticket:

Link to JIRA ticket

Documentation:

Project doc

closing this PR and deleting branch due to weirdness with node_modules in git history :(


Create some sort of animated gif for the readme

A nice visually pleasing animated gif on the readme goes a long way. Even just as eye candy it can help give a nice professional look to the readme. But it can also be a nice way to show off the app to a passer-by. See this project for an example: https://github.com/Syncleus/aparapi

Here is a link to a gif: https://1drv.ms/u/s!AsfcIQ1U-xtujvBhOzyhjR_ifc2B7g
I think we need an images directory in the repo to store these. Not sure of best place to locate it.

Con't it play pong? maybe make a gif out of that?

Good idea - we could have a number of examples: pong, microworld, and test chamber. That would be nice eye-candy

Maybe create a GIF that shows all of the eye candy sort of examples at once
(split screen 2x2 grid maybe?)
On Sun, May 6, 2018 at 6:31 AM, Tony Lofthouse<EMAIL_ADDRESS>wrote:

Good idea - we could have a number of examples: pong, microworld, and test
chamber. That would be nice eye-candy
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/opennars/opennars/issues/141#issuecomment-386869469,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC5JAsa33E6r8Ywxe-tif6hcCTGA0rzmks5tvtD1gaJpZM4Ty381
.

yes - that would work

@freemo , Are you aware of any standards regarding size of gifs for placement on github

As long as it fits the space on github your fine. The width is fixed but I
dont know what it is off hand. probably 800px max if i had to guess
On Sun, May 6, 2018 at 6:34 AM, Tony Lofthouse<EMAIL_ADDRESS>wrote:

@freemo https://github.com/freemo , Are you aware of any standards
regarding size of gifs for placement on github
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opennars/opennars/issues/141#issuecomment-386869654,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC5JArGJNqYrtMSM18USh6N_uiveNYcyks5tvtHNgaJpZM4Ty381
.


Sourcemap is empty

If the plugin is in the pipe, the resulting sourcemap is empty.

Oh, busy these days, PR is highly welcome now 😄

yes sure

Thank you for the PR, check: https://www.npmjs.com/package/rollup-plugin-es3


"alt-f, s" keyboard shortcut conflicts (windows)

VS Code Version:

Version 1.18.0
Commit dcee2202709a4f223185514b9275aa4229841aa7
Date 2017-11-08T21:22:49.932Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

OS:  win 10
Steps to Reproduce:

open a workspace with VS Code
choose "alt-f"
note that s shortcut maps to both "save" and "save workspace as" commands.  See image below

Reproduces without extensions: Yes

Dup of #38006.


Table already exists 500 instead of 409

In the REST API, when we create a table with ifNotExists flag set to false and if the table already exists, the API returns below response with 500 return code instead of a 409
API
/v2/schemas/keyspaces/{KeyspaceName}/tables

Request
{
  "name": "testprod1",
  "primaryKey": {
    "partitionKey": [
      "id"
    ],
    "clusteringKey": []
  },
  "columnDefinitions": [
    {
      "name": "id",
      "typeDefinition": "text"
    },
    {
      "name": "name",
      "typeDefinition": "text"
    }
  ],
  "ifNotExists": false,
  "tableOptions": {
    "defaultTimeToLive": 0,
    "clusteringExpression": [
      {
        "column": "string"
      }
    ]
  }
}

Response
{
    "description": "Unhandled gRPC failure (Status.Code.ALREADY_EXISTS->500): ALREADY_EXISTS: Cannot add already existing table \"testprod1\" to keyspace \"testks1\"",
    "code": 500,
    "grpcStatus": "ALREADY_EXISTS",
    "internalTxId": null
}

Sounds like wrong failure code, yes.
@kathirsvn Which persistence backend was this with? C-4.0?

I tested in Astra, I guess it should be the same behavior for all backends.

@kathirsvn Ok. I hope so as then we could add an IT here in Stargate repo.

@kathirsvn Yes, I am able to reproduce easily; looks like Bridge gRPC failure not properly mapped to 409. Probably affects other resources too.


RaPi4 with official 7" touch screen incompatible

It seems when using RaPi4 with a 7" touch screen, on boot the screen will hang at "Load/Save RF Kill Switch Status."
The Pi continues to function properly but the LCD will not update.

Did you try this? https://github.com/rootzoll/raspiblitz/issues/767
Available in the 1.3RC3 image: https://t.co/mWjwDW9GiA?amp=1

@SteakDestroyer Although I was seeing a different message when my setup hanged, I suggest you try SSHing and executing sudo ./LCD-Show/LCD7B-show. That worked for my 7" official setup.

@orweinberger #  Thankyou for the info. I just finished syncing the blockchain and am ready to try this out,  however I'm very inexperienced with Linux and terminal.
I have tried your suggested command, with a response of
"command not found"

@orweinberger Never mind, Just figured it out. :)
Thankyou again for the hot tip!


runtime: add Nim

Fix #8892

Are you going to maintain this? Please mention this at the top of the syntax script, like what's been done for other syntax scripts. If not, please mention, where the upstream repository is. If this is https://github.com/zah/nim.vim you should probably also mention the license used there.

Look I just want Nim syntax available to Vim users. I have my own personal Vim install script that I use now, that just pulls from:
https://github.com/zah/nim.vim
but I think Nim is popular enough that it should be in the Vim standard. I am not going to do any of those steps you suggested. I did a PR, I think thats enough for me.

I am not going to do any of those steps you suggested. I did a PR, I think thats enough for me.

So you are not going to maintain the code as mentioned in #8892?
If this is also not your code, I think we should wait for the nim maintainer to pick this up and publish here or at least give us permission to distribute this here (with proper attribution of the upstream repo)

You said I should do a PR, now youre saying I should not?

The syntax file should be updated to use "hi def link" instead of defining a HiLink command.
All syntax files were modified that way several years ago.


docs(README): use hyperlink for core contributor

I think that the core contributor should at least have a link to their GitHub for all of their hard work.

Merging

Thanks!

No problem.


Add additional docstrings for Energenie

Codecov Report

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

@@           Coverage Diff           @@
##           master     #634   +/-   ##
=======================================
  Coverage   85.58%   85.58%
=======================================
  Files          36       36
  Lines        7258     7258
=======================================
  Hits         6212     6212
  Misses       1046     1046

Impacted Files
Coverage Δ

gpiozero/boards.py
92.55% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Multipart name and filename come through inverted in Part

Framework version: 1.3.1
Implementations: Core

Scenario
Multipart file uploads come through with the field name and filename inverted when retrieved from a Part obtained from the servlet request, compared to POSTing directly to an application running locally and not in lambda under aws-serverless-java-container, i.e. the behavior is inconsistent with tomcat and jetty.
This even stands out when you look at the two lines of code - the way the variables are names makes it clear their assignment has been swapped.
https://github.com/awslabs/aws-serverless-java-container/blob/e4f4d4de6016a60d3fe728181d24aa4d91e645ec/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java#L712
Expected behavior
Part should be received with name set to the form field name and submittedFileName containing the name of the file attachment.
Actual behavior
Part is received with name set to the file attachment name and submittedFileName set to the form field name, the inverse of what is expected.
Steps to reproduce
Using a rest client like POSTMAN, attempt to upload a file input into a POST API; for example submit a file named "sample-image.jpg" into a form field named "image".  The results will come through inverted.  Here is sample debug logging code for the handler:
Collection<Part> parts = httpServletRequest.getParts();
List<Map> partDesc=null;
if(parts!=null) {
	partDesc = new ArrayList<>();
	for(Part part: parts) {
		Map pd = new HashMap<>();
		pd.put("name", part.getName());
		pd.put("size", part.getSize());
		pd.put("type", part.getContentType());
		pd.put("filename", part.getSubmittedFileName());
		partDesc.add(pd);
	}
}
Map details = new HashMap();
details.put("method", httpServletRequest.getMethod());
details.put("contentType", httpServletRequest.getContentType());
details.put("servletPath", httpServletRequest.getServletPath());
details.put("contextPath", httpServletRequest.getContextPath());
details.put("pathInfo", httpServletRequest.getPathInfo());
details.put("parts", partDesc);
log.info("Handling request for "+details);

Full log output
INFO: Handling request for {method=POST, servletPath=, contextPath=, parts=[{filename=image, size=257753, name=sample-image.jpg, type=image/jpeg}], contentType=multipart/form-data; boundary=--------------------------788920253325468350269863; charset=ISO-8859-1, pathInfo=/data/image}

Thanks for catching this @alexvigdor! We'll address it with the next release

@sapessi apart from this field inverted issue, there is another strange issue I am facing during image upload. The binary data has been encoded and led to corruptted image file after the upload.
the following is the original image content

the following is the Lambda saved image content

Due to time constraint, I have to use a workaround to base64 encode images before upload, in this way I can bypass this issue. By it led to 10 to 20% increase in the request payload, and slows down the request and user experience.

Thanks for the feedback @allinwonder. Any chance you have some code I can use to replicate the issue. At the moment I have a unit test in the project to check the original file size and the test passes: Jersey resource and unit test.
The one thing that's worth pointing out here is that we configure the LambdaContainerHandler object to treat that content type as binary.

Hey @allinwonder, I'm planning to push 1.3.2 out as soon as possible and I'd like to include a fix for this. Let me know if you had time to test with the binary content type config or you have some code I can use to replicate.

Release 1.3.2 - which includes this fix - is on its way to maven central! Resolving this issue.


Security/explicitly deny exportation

What
It seems all of the activities are private activities that do not expect receiving intents from other apps. Therefore it is safer to explicitly declare the activity as non-exportable activity in AndroidManifest.xml.
This was mentioned in Android secure coding guide published by JPCert.
Question
Of course the thing is... as long as you don't specify intent-filters, then exported attribute is set as "false" by default. So I was not too sure if this is necessary or not.

:eyes:

I agree with @ken5scal . Yup, the default value is false, but we're able to avoid unexpected security issue by declare exported attribute explicitly.

Thanks! I don't know this. Looks good.

Solved formatting issue!

LGTM


Transfer code ownership to GDX Admin

Issue #: N/A
Description of changes:
Update the .github/CODEOWNERS special file to automatically request review from @bcgov/gdx-engagement-admin and @kshapka-bcgov.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

I think you mentioned you'd remove kyle's explicit tag but apart from that things look good!


Feat/courses infrastructure schools

This PR adds:

Infrastructure to start work on "fagveven" consisting of courses and schools
Basic db schema for courses
schema for schools
Backend for schools
Frontend for schools both admin and regular.
Some styling generalisations

We might still want to add more feats to schools. Maybe people want to write something about the school they went to exchange to? The main part: the courses is still to be implemented. @mokamv

Looks good. However, I suggest we keep as much admin functionality under /education rather than /admin. This will make it easier to update content directly from Fagveven without navigating to /admin. Additionally, this approach will prevent us from designing specific features to be admin only by design. In the future maybe we want people to be able to add schools. I think we should allow this from the start, however the design makes this process hard for regular users.

Looks good. However, I suggest we keep as much admin functionality under /education rather than /admin. This will make it easier to update content directly from Fagveven without navigating to /admin. Additionally, this approach will prevent us from designing specific features to be admin only by design. In the future maybe we want people to be able to add schools. I think we should allow this from the start, however the design makes this process hard for regular users. The go to admin page helps, but all the admin functionality could be integrated directly.

I sort of agree, but my idea is really that we will need three permissions for schools: READ, CONTRIBUTE, ADMIN. I think we should lock some things. like deletion from people contributing. I thought the admin panel would be mostly for that for stuff like that. We could have ADMIN stuff also on the regular /education page and just hide it for regular contributors. But I don't see the problem in having a more concise admin page too. (we have that for example for users: one can add users from both /users and /admin/users. Here it is done by reusing a generic UserCreate component). If you want to show admin about a school to ADMINs also on the /education/schools page I think this can be done similarly by refactoring the admin page to use components like  and using that both on the /education/schools/[name] (component only shown if editing mode is on) page and /education/schools/[name]. At this point each school does not even have its own page. This should be implemented later.

We should. I generally agree that admin should be near the content (hidden behind Editmode if the admin seriously changes how the content will look so that also admins can see what the content lokka like without all the clutter from admin). But I think if done well, having separat admin pages in addition can give a more concise view of what is going on, without all the clutter of complicated UI.


Collect and run all TPU tests

What does this PR do?
The CI today only runs a hand-selected list of files. It is easy to miss updating the list when adding new tests. This is what happened recently, as we were adding tests in a file tests/plugins/test_tpu_spawn.py which never ran.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
I made sure I had fun coding 🙃
Part of #1 (it's a lie, this is just here to avoid noisy GitHub bot)
cc @tchaton @carmocca @akihironitta @borda @kaushikb11

I think that in past we had just a selection of files to have it faster, but I agree that this is a more robust solution - we test all PL and we do not need to remember to add a single file somewhere...

TPU ci is still getting stuck/ timing out. One of the newly discovered tests must be the cause of this.

TPU ci is still getting stuck/ timing out. One of the newly discovered tests must be the cause of this.

Any progress on this? Did you identify the hanging test?

Any progress on this? Did you identify the hanging test?

I will take a stab at it today.

@akihironitta We are already facing timeout issues sometimes on TPUs with existing tests

As also noted in #12335, testing fails with an incomplete log, which is making it extremely difficult for me to investigate this issue.
For example, this run:
...
tests/lite/test_lite.py::test_to_device[tpu-expected2] PASSED            [ 47%]
tests/models/test_tpu.py::test_model_tpu_cores_1 Done with log retrieval attempt.

Exited with code exit status 2
CircleCI received exit code 2

I don't think I'll be able to investigate the issue further without any access to TPU instance (to reproduce and interactively debug this issue with ssh).

@kaushikb11 Could I possibly have access to any TPU instance or could you help me with this PR? (or take this PR?)

@awaelchli @akihironitta how is it going? :)

could you help me with this PR?

@akihironitta @Borda I will prioritize this PR post the release.

What's blocking this PR?

Thanks @awaelchli! ❤
The TPU job seems to be failing with this output log.


[azure-identity-cpp] publish version 1.6.0

Update vcpkg ports for Azure SDK release. This release may contain multiple ports.

Adding azure-identity to release
cc: @ahsonkhan


Feature Request: IP Whitelisting

Apologies if this is mentioned elsewhere, I couldn't see anything.
It would be great if we could whitelist specific hostnames to specific IP ranges. Not sure if something like that is planned or outside of the scope of this project?
Thanks!

No this is t supported right now but shouldn’t be too hard to add. How often do these ip ranges change?
Also, no need to apologize :)

Good to know is relatively easy! I wouldn't have thought they would change TOO often. Being easily updatable is always nice though. Possibly another urlprefix- option?

I was working on a PR for this exact thing or very similar.  A few options to allow simple ACL type behavior.
Example:
only allow traffic from the specified source blocks (default deny)
urlprefix-/foobar/ allow=<IP_ADDRESS>/12,<IP_ADDRESS>/8,<IP_ADDRESS>/16
allow all traffic except traffic from the specified source blocks (default allow)
urlprefix-/foobar/ deny=<IP_ADDRESS>/24,<IP_ADDRESS>/23

@microadam would that address your need?  @magiconair have any suggestions around that approach?

That looks good. The only question I had what to do with the PROXY connections? You'd have to use the RemoteAddr field from the http.Request to make the decision but that gets overwritten by go-proxyproto. I'm not sure whether this is an issue. Just something to think about.

That's true, it wouldn't be the actual source at that point but the "declared" source from proxyproto.  I think that's addressable via documentation unless you feel otherwise.  The other option would be to preserve the original remote address separate from proxyproto but I haven't looked how much structural change that would entail.

@leprechau IPv6 addresses, hostnames (dns reverse lookup timeout comes to mind...)
I also thought about more complex use cases like testing for cookies and so forth but I think that should live in the app layer.
While thinking about this: Is this something that should be configured on a per-route level or on a global level? What is the underlying use-case?

In our use case we have some services that need to be exposed via the load balancer but shouldn't necessarily have complete unrestricted access.  We could use firewall rules on the load balancer itself but that would require dedicated IPs or bind ports for those specific services.  Having a light ACL option on the route would allow this to happen without needing dynamic listeners.

To the IPv6 part the net.ParseCIDR and the IPNet.Contains function support IPv6 blocks and addresses.

Just in case we change our minds and allow more complex rules should there be an indication that the value after allow is actually a list of ips?
Wild thinking:
urlprefix-/foo allow=method:GET
urlprefix-/foo allow=ip:<IP_ADDRESS>/5

Could the first argument be something that's considered a filter function and the remainder the input values?
Can you have more than one allow option on a single urlprefix-/foo?
I'm not saying we need all this right now or ever but if we can design the syntax in a way that allows us to extend the use-case later then that might help.
Also, if you think this would be overkill and we can solve that differently then I'm fine with that, too.

Those are all valid points.  I agree that having a single allow with a filter function is preferred over having allowCIDR=, allowMethod=, etc..  that would could messy pretty quick.

The proposed approach definitely fulfils my use case! @leprechau awesome that you are working on this!

On an implementation point, it would probably need to look at any x-forwarded-for headers, in case of upstream proxys

Yes, I was going to take isolate that into a separate getRemoteIP function or something similar.  I have the CIDR processing done but I need to work on putting the option processing into it's own function to check for subgroups (allow=ip:<IP_ADDRESS>,method:GET) processing.  Hope to have a PR ready early next week, possibly Monday, depending on the weekend schedule.

@leprechau please keep it to ip matching for now unless you're confident that you thought the other option through.

@magiconair It currently only supports the ip: prefix for the allow and deny tags but I think I made if flexible enough to be expanded in the future if anyone so desires.

@microadam would appreciate your feedback as well ... especially if you can build the code in the PR and let me know how it works for you.


Create  Component

Creates a  Component
has props for

'color' (green, blue, red, etc...)
'variant' (light, primary, dark)

Resolves #28

WAIT WOOPS i added one tiny comment thats it

good to merge whenever you want!


Unable to launch multiple gpus nodes

🐛 Bug
I'm having trouble launching multiple GPU nodes with pytorch-lightning-0.8.5-dev. I'm getting the following error
Traceback (most recent call last):
  File "/home/jmorton/miniconda3/envs/alignment/bin/deepblast-train", line 7, in <module>
    exec(compile(f.read(), __file__, 'exec'))
  File "/home/jmorton/research/gert/deepblast/scripts/deepblast-train", line 67, in <module>
    main(hparams)
  File "/home/jmorton/research/gert/deepblast/scripts/deepblast-train", line 47, in main
    trainer.fit(model)
  File "/home/jmorton/miniconda3/envs/alignment/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 964, in fit
    self.set_random_port()
  File "/home/jmorton/miniconda3/envs/alignment/lib/python3.8/site-packages/pytorch_lightning/trainer/distrib_data_parallel.py", line 392, in set_random_port
    assert self.num_nodes == 1, 'random port can only be called from single node training'
AssertionError: random port can only be called from single node training

To Reproduce
I've setup my model similar to as follows
    parser = LightningAligner.add_model_specific_args(parser)
    args = parser.parse_args()
    model = LightningAligner(args)

    trainer = Trainer(
        max_epochs=10,
        gpus=4,
        num_nodes=2,
        accumulate_grad_batches=10,
        distributed_backend='ddp',
        precision=args.precision,
        check_val_every_n_epoch=1,
        fast_dev_run=False
    )

Environment
Output of python collect_env_details.py
* CUDA:
        - GPU:
                - Tesla V100-PCIE-32GB
                - Tesla V100-PCIE-32GB
                - Tesla V100-PCIE-32GB
                - Tesla V100-PCIE-32GB
        - available:         True
        - version:           10.1
* Packages:
	- numpy:             1.17.5
	- pyTorch_debug:     False
	- pyTorch_version:   1.5.1
	- pytorch-lightning: 0.8.5-dev
	- tensorboard:       2.2.2
	- tqdm:              4.47.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                - ELF
        - processor:         x86_64
        - python:            3.8.1
        - version:           #1 SMP Wed Jun 3 14:28:03 UTC 2020

Additional context
Only 4 out of 8 GPUs are recognized.

I'm curious why the assert statement is there.

@williamFalcon was the assertion maybe supposed to go somewhere else?

@mortonjt does simply removing the assertion solve the problem for you? (sorry can't test myself since I don't have multi node)

I've commented the offending line, and it now it's been hanging for 16 min (the single node version is able to boot within 1 min).

for multinode you have to set the master port yourself since the port can’t be random bc all the nodes need to know where to connect
MASTER_PORT=1234, MASTER_ADDRESS=some.ip python main.py ...

This fails first because python needs to be called by srun, which when done, should pass the buck down the road.
The second failure is seemingly because of how lightning parses slurm environment variables. The SLURM_NODELIST environment variable is not trivially formatted, with formatting sometimes being server01,server02, sometimes server[01,02], and sometimes more complex combinations of these.
The offending line is in core/lightning.py, root_node = os.environ['SLURM_NODELIST'].split(' ')[0]. If you have a comma separated list of hosts, you just end up with server01,server02 as your host, which obviously fails. Oddly, presumably because of something srun is doing to the environment before passing off to python, the server[00,01] variant works fine, but the comma separated list fails. As a hack for this particular use case, you can edit the offending line to root_node = os.environ['SLURM_NODELIST'].split(',')[0]. This will likely fail if you end up with the other variant, but works on this particular cluster.
I'm not sure the most portable way to extract hosts from SLURM_JOB_NODELIST / SLURM_NODELIST. In bash, we often just scontrol show hostnames $SLURM_NODELIST.

Even with the edits suggested by @blackwer, the problem persists.

I am facing same problem. Even if I use MASTER_PORT, or comment out the assertion line, the problem remains.

Are there any updates on this?

yes... probably a bug on our end. Let me push a fix tonight.
@Borda @luiscape can we set up the multi-node testing for GPUs?

Just as a heads up, I took @blackwer 's solution and now have a multi-gpu example working on slurm.
Below is a high-level example of how to launch this.
#SBATCH -N 1
#SBATCH --ntasks-per-node=4
export SLURM_JOB_NODELIST=$(scontrol show hostnames $SLURM_JOB_NODELIST | tr '\n' ' ')
export SLURM_NODELIST=$SLURM_JOB_NODELIST
slurm_nodes=$(scontrol show hostnames $SLURM_JOB_NODELIST)
export MASTER_ADDRESS=$(echo $slurm_nodes | cut -d' ' -f1)

srun my_script.py --nodes 2 --gpus 4 --backend ddp


feature: support tag tree

What this PR does / why we need it:
feature: tag tree support

Does this PR need to be backport to the previous release branch?:
NONE

/cc @zexi
/hold

/hold cancel


Polyline transparency denser at each point.

Love this widget -- thanks so much.
When drawing a polyline with transparency each point it twice as dense as the line - I think the transparency should be uniform along the length of the line.  I suspect that the line is been drawn from point A to Point B then from Point B to Point C -- so that Point B gets drawn over twice.
See image, I think this line should not have the darker red circles.
Thanks :)
Polyline(
color: Color.fromRGBO(255, 0, 0, 0.5),
strokeWidth: 20,
isDotted: false,
points: [array]

I also noticed the same issue appears for "borderStrokeWidth".

Me too, I I set line transparency points are more opaque. I guess it is because Polyline sections start/stop overlap.

A better way to draw this might be to set the opacity on the entire layer, but I haven't looked at the details

A better way to draw this might be to set the opacity on the entire layer, but I haven't looked at the details

Thanks John.  Yes it seems the opacity would need to be lifted up, I have tried wrapping the polyline in an opacity() widget as a workaround but the ide tells me that opacity can't be assigned to the parameter type 'Polyline', but I can't find a workaround sorry.

I think @MichalMisiaszek has found a solution for this.

Thanks John :)
well done @MichalMisiaszek  -- would love to see it, I had a play and could not find a solution without a fairly significant re-write.

Thanks John :)
well done @MichalMisiaszek -- would love to see it, I had a play and could not find a solution without a fairly significant re-write.

Sorry, but I did not solved it. I figured out why but did not implemented solution.

Hi John
Can we please re-open this. I don't have a solution for this yet.
thanks
Matt :)

Big thanks to @2ZeroSix for her hard work fixing this one :)
It looks great.
Thanks John for your work on the overall project, this is a great tool.


add superman pallete

Such a wonderful collection of gradients. This is repo is a fantastic resource.
+1 to you. Thanks for maintaining the project.

Hi @citylims, thanks for your kind words. I had a look at your pull request. It seems fine. Since you closed the issue, I just wanted to confirm - you don't want me to add your gradient?

Hey @Ghosh you're very welcome. I actually realized soon after my pull request that there is already a very similar gradient combo in the project named "Man of Steel", so after seeing that I closed the request because I didn't want to pollute the gradient collection with a redundant gradient. Still a big fan of the project, and am currently using the gradient.json in a little UI project I'm working on. As for adding my gradient, if you like it and it seems fine to you, I'd be honored to have it merged in. Thanks @Ghosh


[QUESTION] JSON to EXCEL Object

maatwebsite/excel 2.1, Laravel 5.4
Does this package have export function from json to excel?
for example, I have this json design:
{ 	"head" : [ 		[ 			{ 				"value" : "Name", 				"rowspan" : 1, 				"colspan" : 0 			}, 			{ 				"value": "Score", 				"rowspan" : 0 				"colspan" : 1 			}, 			{ } 		], 		[ 			{ }, 			{ 				"value": "Quiz", 				"rowspan" : 0 				"colspan" : 0 			}, 			{ 				"value": "Practice", 				"rowspan" : 0 				"colspan" : 0 			} 		] 	], 	"body" : [ 		[ 			{ 				"value" : "Dendi", 				"rowspan" : 0, 				"colspan" : 0 			}, 			{ 				"value" : 75, 				"rowspan" : 0, 				"colspan" : 0 			}, 			{ 				"value" : 76, 				"rowspan" : 0, 				"colspan" : 0 			} 		], 		[ 			{ 				"value" : "Patrick", 				"rowspan" : 0, 				"colspan" : 0 			}, 			{ 				"value" : 33, 				"rowspan" : 0, 				"colspan" : 0 			}, 			{ 				"value" : 66, 				"rowspan" : 0, 				"colspan" : 0 			} 		] 	] }
The json can be imported to excel object with this result :

Is there any function to instanly create the object?

i need this too.

maybe convert json to array will fix this. i'll try

@andraeinstein maybe we need proper json design too.


Don't throw exceptions in specific HLIL APIs

What is the feature you'd like to have?
From an Enterprise user:

Docs say ReferenceSource.hlil may return HighLevelILInstruction or None, which is the behavior I want, but Function.llil (used internally) will raise an ILException if LLIL wasn’t loaded. It would be nice if it returned None without an exception. But, if Exception is the way, can this be reflected in docs?

Is your feature request related to a problem?
Exceptions don’t play nice with map() and filter(), but None does.
Are any alternative solutions acceptable?
I'm not actually sure we should make it not throw an Exception. An alternative way we could solve this is by having e.g. a ReferenceSource.hlil_if_available that, under-the-hood, calls Function.llil_if_available, which (I believe) does what this user wants.

I think we should just return None for it. See code at https://github.com/mandiant/capa/blob/2987eeb0acc03e187bdd90bb1644377774a2045a/capa/features/extractors/binja/function.py#L28, where I am aware of .llil may not always give me a result, but the exception throws me off. See https://github.com/mandiant/capa/issues/2249 for more details on this


Issuing credits

Issue 2000 credits to @tommiiik.

 Follow up
On Monday, 12-Aug-24 06:31:15 UTC by Gov4Git dev
Issued 2000 credits to member @tommiiik.


wrong PLUMED input example in tutorials

In the getting started tutorials (https://mlcolvar.readthedocs.io/en/latest/notebooks/tutorials/intro_1_training.html), there is a wrong PLUMED example input.
It reports
cv: PYTORCH_MODEl=model.ptc ARG=p.x,p.y
Maybe we should also add a reference to the 'PLUMED module' section of the DOC there to make life easier.

Fixed by #133

Fixed by #133


Re-added missing python-pegasus-wms

This PR adds python-pegasus-wms, which was removed in the 1.14.0 release by mistake.

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


TypeScript generator doesn't work with inheritance

Describe the bug
When I turn inheritance to enabled, the TypeScript generator turns the type into any type.
type KeepaliveMessage = any;
export { KeepaliveMessage };

How to Reproduce
Generator settings:
const generator = new TypeScriptFileGenerator({
  modelType: 'interface',
  enumType: 'union',
  presets: [
    TS_DESCRIPTION_PRESET,
  ],
  processorOptions: {
    interpreter: {
      allowInheritance: true,
      ignoreAdditionalProperties: true,
    },
  },
})

Async API schema:
components:
  schemas:
    Message:
      description: "Supertype message."
      type: object
      required: [type, channel]
      properties:
        type:
          type: string
        channel:
          type: number

messages:
  KeepaliveMessage:
    payload:
      $id: KeepaliveMessage
      allOf:
        - $ref: "#/components/schemas/Message"
        - type: object
          required: [type, channel]
          properties:
            type:
              const: KEEPALIVE
            channel:
              type: number
              const: 0

Expected behavior
I expect there to be an inheritance:
interface KeepaliveMessage extends Message {
  type: "KEEPALIVE";
  channel: 0;
};
export { KeepaliveMessage };

Yea, the option is a relic from the beginning that should be removed as inheritance is yet to be supported.

As of the next branch, this should be solved as part of https://github.com/asyncapi/modelina/pull/1613 by @kennethaasan
@Fyzu feel free to re-open if it's not the case!

I don't think it will work as expected in the next branch because I was focusing on Java as part of #1593, but the preparation I did in #1613 should make it quite easy to support inheritance in TS. @Fyzu, please consider making a PR to support inheritance in TS 🙏


[Improvement]: Add next/previous buttons on cardview modals

Right now it is possible to change between cards with the keyboard arrows. Some people asked to add those buttons because they like using the mouse.

Solved on https://github.com/mateuscechetto/hearthstone-set-review-bot/commit/e6081693954d89b02248533f9a617d1fce417b1e


3.05.02 built --with-opencl fails when invoked on OS X 10.13.6

Environment

Tesseract Version: 3.05.02
Commit Number: 7e5f0d6fc6b214093d5b660cdcf6ce36bbbdd30f
Platform: Darwin lydia.local 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64

Installed using brew install tesseract --with-opencl --with-serial-num-pack
Current Behavior:
$ tesseract out2-1.png out2-1
[DS] Profile file not available (tesseract_opencl_profile_devices.dat); performing profiling.
[DS] Device: "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz" (OpenCL) evaluation...
[OD] write<EMAIL_ADDRESS>successfully
OpenCL error code is -54 at   when clEnqueueNDRangeKernel .
OpenCL error code is -54 at   when clEnqueueNDRangeKernel kernel_HistogramRectAllChannels .
OpenCL error code is -54 at   when clEnqueueNDRangeKernel kernel_HistogramRectAllChannelsReduction .
OpenCL error code is -54 at   when clEnqueueNDRangeKernel kernel_ThresholdRectToPix .
Setting return value to -1
[DS] Device: "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz" (OpenCL) evaluated
[DS]          composeRGBPixel: 0.001138 (w=1.2)
[DS]            HistogramRect:<PHONE_NUMBER>38528859811704183484516925440.000000 (w=2.4)
[DS]       ThresholdRectToPix:<PHONE_NUMBER>38528859811704183484516925440.000000 (w=4.5)
[DS]        getLineMasksMorph: 0.003314 (w=5.0)
[DS]                    Score: inf
[DS] Device: "Iris Pro" (OpenCL) evaluation...
[OD] write binary[kernel-Iris_Pro.bin] successfully
[DS] Device: "Iris Pro" (OpenCL) evaluated
[DS]          composeRGBPixel: 0.012276 (w=1.2)
[DS]            HistogramRect: 0.136262 (w=2.4)
[DS]       ThresholdRectToPix: 0.005064 (w=4.5)
[DS]        getLineMasksMorph: 0.012855 (w=5.0)
[DS]                    Score: 0.428823
[DS] Device: "GeForce GT 750M" (OpenCL) evaluation...
[OD] write binary[kernel-GeForce_GT_750M.bin] successfully
Illegal instruction: 4
Expected Behavior:
Not that.
Suggested Fix:
Beats me.

OpenCL in tesseract is considered experimental and should not be not be used by regular users.


fix sourcing plugins

fix the bug mentioned in romkatv/gitstatus#168.
we'll get the error something like
blahblah...: not valid in this context: _gitstatus_plugin_dir/Users/javenwang/.zgenom/sources/romkatv/gitstatus-master/gitstatus.plugin.zsh

when zgenom load romkatv/gitstatus in .zshrc.

Thank you for your PR!
I'll merge it when I got around to testing it 👍

Looks good to me, thanks for your contribution ❤


feat: adjust README.md

Hi folks,
Thank you so much for providing and maintaining this repository. Please feel free to study, adjust, share and use the pull request. I adjusted the README.md in a way the Makefile init target is working for me.
Cheers!

t would probably be more succinct and clear to note that the user should set any necessary PG* environment variables.

@fitnr Agree! I updated the pull request. Cheers!


Added new Network Policy to access Mariadb from DSPO

The issue resolved by this Pull Request:
Resolves RHOAIENG-5314
Description of your changes:
Added new Network policy which allows DSPO  to resolve connections to  mariadb deployed in the user namespace.
Testing instructions

Deploy DSPO and create a DSPA.
Verify  the Network Policies in DSPA namespace, to see a new NWP for mariadb. Eg. mariadb-simple

Checklist

[X] The commits are squashed in a cohesive manner and have meaningful messages.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work

A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638
An OCP cluster where you are logged in as cluster admin is required.
To use this image run the following:
cd $(mktemp -d)
git clone git@github.com:opendatahub-io/data-science-pipelines-operator.git
cd data-science-pipelines-operator/
git fetch origin pull/638/head
git checkout -b pullrequest 9d15247a6f31f56ac2984cee53255dbafc839b68
oc new-project opendatahub
make deploy IMG="quay.io/opendatahub/data-science-pipelines-operator:pr-638"

More instructions here on how to deploy and test a Data Science Pipelines Application.

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638

Change to PR detected. A new PR build was completed.
A new image has been built to help with testing out this PR: quay.io/opendatahub/data-science-pipelines-operator:pr-638

/lgtm
/approve
One thing I want to note is when there's no DSPO_NAMESPACE provided, the namespace field is blank, so the NWP auto rejects any connection to mariadb outside the DSPA namespace. This would only occur if:

we alter the manifests somehow before deploying it (unlikely)
in development where we run the operator locally

for (2) we can't really connect locally to mariadb anyways since it's a svc endpoint so I don't see that as a blocker for this issue, but it's worth noting here.


How to manage Subscription centrally and programtically?

[Enter feedback here]
If I need to manage all subscriptions (e.g. the landing zones) from a single script, do I need to create an AAD Service Principal with proper RBAC role and add it to each and every Subscription at creation time?

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

ID: 2b6c9632-28af-7abb-d244-b0d1228e4f43
Version Independent ID: 099f2c55-6a50-01f7-ebc4-0c1f0597f48c
Content: Cloud Adoption Framework enterprise-scale landing zone architecture - Cloud Adoption Framework
Content Source: docs/ready/enterprise-scale/architecture.md
Service: cloud-adoption-framework
Sub-service: ready
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 416675

Hi - thanks for the question!
Based on an organizations security requirements the approach could include a role with permissions across the subscriptions or one per subscription.
Further guidance here - https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/ready/enterprise-scale/identity-and-access-management
In this proposed approach, Platform owners are granted permissions to MG and Subscription life-cycles. There are then roles for subscription owner and application owners - which, based on the application, could be a single subscription or resource group or multiple.


cilium-dbg: Use a tabwriter that remembers the widths

Use the same tabwriter fork as Kubernetes to make "--watch" in StateDB commands not show different indentantions after every Flush().
E.g. cilium-dbg statedb health --watch=100ms will now be consistently aligned as updates stream in, as in, it will make the width larger if needed, but it doesn't shrink it anymore.

/test

/test


Fixes Meteor compatibility

As per this thread in the forum http://labs.daemon.com.au/t/material-html5-ui-design-based-on-google-material/19/11?u=markdrew  I have fixed the issues with globally scoped functions that Meteor seems to base stuff off.

Thanks for that.  Maya will take a look at integrating once he gets back from holidays.


Fabric install hash ae4e37d

Question: which step in the Fabric install do you enter the hash ae4e37d? It's not clear based on the instructions.

ok, i'll have to improve the docs. you enter it after you cloned the fabric:

Thank you. I can see the instructions have been updated now.


Change filters to the search results

After a search, search results could be filtered by country, city and language.
Change those filters so they would be with a drop-down (select field) and with typing

filter via:

format
maybe category

👋 I can try to do this one.

@tyranja should I work on this from master branch or another one?

Master is fine. Not gonna change much in search. Thank you!!!
Not sure if filtering via category make sense. Because we admins set those categories to the tags and if people are looking for a tag  they probably don't care in which category it is in.
But filtering with the new attributes will_be_for_non_profite and willing_to_travel would make sense. So maybe you have to make a branch from Netas branch branch? :man_shrugging:

Ok I'll discuss this with Neta as well.

Think about implementing together with #994


Testing: Mocking for App Module not working

Expected Behavior
Mocking the Redis provider when running an e2e test should provide a mocked redis instance that does not try connection to a Redis server.
app.module.ts:
@Module({
  imports: [
    ConfigModule.forRoot({
      load: [configuration],
      isGlobal: true,
    }),
    RedisModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: async (
        configService: ConfigService,
      ): Promise<RedisModuleOptions> => {
        const config = configService.get('redis');  // this also has namespace 'sipUsers'
        return {
          config,
        };
      },
    }),
    KamailioApiModule,
  ],
  controllers: [AppController],
  providers: [
    AppService,
  ],
})

app.e2e-spec.ts
const moduleFixture: TestingModule = await Test.createTestingModule({
      imports: [AppModule],
      providers: [
        {
          provide: getRedisToken('sipUsers'),
          useValue: mockedRedisService,
        },
      ],
    })

Current Behavior
Running this test gives me this error, meaning the mock for the app module is not working:
[Nest] 75665  - 18/10/2022, 17:35:36   ERROR [RedisModule] sipUsers: connect ECONNREFUSED <IP_ADDRESS>:6379
Context
I also run a unit test for the service that uses the Redis module. Here the mock works perfectly.
Redis injected like this in my service:
export class KamailioApiService {
  private kamailioApiUrl = this.configService.get('kamailioApi.url');
  private kamailioApiKey = this.configService.get('kamailioApi.apiKey');
  constructor(
    private http: HttpService,
    private configService: ConfigService,
    @InjectRedis('sipUsers') private readonly redis: Redis,
  ) {}
...

The mock:
const module: TestingModule = await Test.createTestingModule({
      providers: [
        KamailioApiService,
        {
          provide: ConfigService,
          useValue: mockedConfigService,
        },
        {
          provide: getRedisToken('sipUsers'),
          useValue: mockedRedisService,
        },
        loggerProvider(KamailioApiService.name),
      ],
      imports: [HttpModule], // this is just a test to make tests run, dont know if we should mock this here already
    }).compile();

So it's weird to me that it doesnt work when mocking it for the root App, But I cant figure out why since I mock other services in the same way for both my unit and e2e tests.

Version used:
NestJS version: 8
Node.js version: 16

anyone have any idea?

I have the same issue with the latest version of this library. The only references to getRedisToken are in docs and test code. It's not actually used by the modules being created. We cannot override a provider that is never provided.

@liaoliaots this seems like a bug that needs to be addressed.
One solution that does work is to use ioredis-mock. Adding the line below to my test files results in successfully mocking the Redis client:
jest.mock('ioredis', () => jest.requireActual('ioredis-mock'));


[question] npm run build fails on raspberry pi (and release binary is not arm format?)

I'm trying to run zwave2mqtt on my Raspberry Pi 3.  I have NodeJS v14.4.0 installed and have installed all dependency packages (i.e. "npm install -g").
sofakng@rpi-ha:/usr/local/src/zwave2mqtt $ sudo npm run build

><EMAIL_ADDRESS>build /usr/local/src/zwave2mqtt
> node build/build.js

internal/modules/cjs/loader.js:1032
  throw err;
  ^

Error: Cannot find module 'chalk'
Require stack:
- /usr/local/src/zwave2mqtt/build/check-versions.js
- /usr/local/src/zwave2mqtt/build/build.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1029:15)
    at Function.Module._load (internal/modules/cjs/loader.js:898:27)
    at Module.require (internal/modules/cjs/loader.js:1089:19)
    at require (internal/modules/cjs/helpers.js:73:18)
    at Object.<anonymous> (/usr/local/src/zwave2mqtt/build/check-versions.js:2:15)
    at Module._compile (internal/modules/cjs/loader.js:1200:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
    at Module.load (internal/modules/cjs/loader.js:1049:32)
    at Function.Module._load (internal/modules/cjs/loader.js:937:14)
    at Module.require (internal/modules/cjs/loader.js:1089:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/src/zwave2mqtt/build/check-versions.js',
    '/usr/local/src/zwave2mqtt/build/build.js'
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `node build/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-08T13_21_04_024Z-debug.log

However, chalk is installed:
sofakng@rpi-ha:/usr/local/src/zwave2mqtt $ npm ls -g chalk
/usr/lib
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    ├─┬<EMAIL_ADDRESS>    │ └──<EMAIL_ADDRESS>deduped
    └──<EMAIL_ADDRESS>
I also can't run the binary from the release zip:
sofakng@rpi-ha:~/zwave2mqtt $ ./zwave2mqtt
-bash: ./zwave2mqtt: cannot execute binary file: Exec format error

@sofakng npm ls -g chalk in this way you have checked it is installed globally not locally in the repo

Sorry, I'm not familiar with NodeJS.  I was trying to install the dependencies globally.
For example, I cloned zwave2mqtt into /usr/local/src/zwave2mqtt.  Afterwards I ran "npm install -g" from that directly to install the dependencies.
Do I need to install the dependencies directly into the zwave2mqtt directory?

Sorry, I'm not familiar with NodeJS. I was trying to install the dependencies globally.

That is wrong. When you run npm install inside the cloned repo folder you will install deps inside that folder (in node_modules folder). Follow steps in readme (nodejs build section)

Got it.  Thanks!  I'm now having problems running npm run build.  (JavaScript heap out of memory)
Do you want me to open a new issue?
root@rpi-ha:/usr/local/src/zwave2mqtt# npm run build

><EMAIL_ADDRESS>build /usr/local/src/zwave2mqtt
> node build/build.js

⠴ building for production...
<--- Last few GCs --->

[2597:0x3c67650]   179040 ms: Mark-sweep 230.9 (236.1) -> 229.9 (233.4) MB, 663.7 / 0.3 ms  (+ 0.3 ms in 24 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 768 ms) (average mu = 0.197, current mu = 0.136) allocation fail[2597:0x3c67650]   179769 ms: Mark-sweep 230.5 (233.4) -> 230.1 (233.6) MB, 709.1 / 0.2 ms  (average mu = 0.121, current mu = 0.027) allocation failure scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Aborted
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR<EMAIL_ADDRESS>build: `node build/build.js`
npm ERR! Exit status 134
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-08T13_47_14_124Z-debug.log

hemmm try to give nodejs more memory when running the command
node  --max-old-space-size=4096 build/build.j

That fixed it . Thanks!


[DO NOT MERGE] minor Merge release

DO NOT MERGE
todo:

[ ] #2730
[ ] testgen
[ ] VERSION.txt

@djrtwo CL clients are expected to implement https://github.com/ethereum/consensus-specs/pull/2730 at any time between now and the merge? Is there any time target or just whenever possible?

I'll put some notes in the release, but ideally, these changes are on merge testnets by roughly end of January and released on the normal release cycle at or before the Merge itself


Improve detection of msvc environment when compiling from msvc

Fix #1308. This makes path/env detection a bit pickier by not using PATH if the compiler has an unexpected target. Previously this caused issues for build scripts since rustc always needs to target the native arch.

Hmm, I did have to consider this a bit more. On balance, I think I'd rather keep the non-msbuild case the same as it was to avoid unintended side-effects.
So ideally this PR would only affect MSBuild.


ignoredProperties

Hello,
I encountered a problem
@interface Dog : RLMObject
@property NSString *name;
@property NSInteger age;
@end
@implementation JKLock

(NSArray *)ignoredProperties {
return @[@"age"];
}

@end
I want to modify the age value at run time,but do not store,just use in memory, what should i do!
Thanks!

sorry, should be this
@implementation Dog

(NSArray *)ignoredProperties { return @[@"age"]; }
@end

@LoveElaine + ignoredProperties method should be class method. Please change the minus sign of the method to a plus sign like following:
@implementation Dog
+ (nullable NSArray *)ignoredProperties {
    return @[@"age"];
}
@end

thanks, I know it should be  ‘+‘
@interface Test : RLMObject

@property NSString *name;
@property NSInteger age;
@end

@implementation Test
+ (NSArray *)ignoredProperties {
    return @[@"age"];
}
@end

RLMRealm *realm = [RLMRealm defaultRealm];
Test *test = [[Test alloc]init];
test.name = @"Test";
test.age = 100;
[realm beginWriteTransaction];
[realm addObject:test];
[realm commitWriteTransaction];

Test *test2 = [[Test allObjects] firstObject];
NSLog(@"%@-----%d",test2.name,test2.age);

Output:      Test-----0
I want the age value to be 100
what should i do,  thank you for your reply.

I don't need to save age value,just in memory

Sorry, I misunderstood. It's an intended behavior. "ignored" means the properties marked ignored are not persisted. So you instantiate new test2 object from Realm, the value of age is gone.
It is not possible to achieve what you said by "Ignored properties". Why do you want in that way?

This scenario is not good description, I use a property record status(disconnected,connecting,connected...), i can modify the age value at run time. Other properties can be stored except the status property.

This scenario is not good description, I use a property record status(disconnected,connecting,connected...), i can modify the status value at run time. Other properties can be stored except the status property.

Here's how you could model that:
@interface RecordObject : RLMObject
@property NSString *status;
@end

@implementation RecordObject
+ (nullable NSArray *)ignoredProperties {
  return @[@"status"];
}
@end

With this model, Realm won't persist status if you set it to disconnected, connecting, or any value really, that you set at run time, on a specific instance of your object.

Hi @LoveElaine! Hopefully that answered your question. Don't forget that if you specify a property as ignored, it will only be available in the instance of the object in which you've set it.
I'm going to close this issue now. If you still have more questions, feel free to re-open it! :)


Ingestion Enhancement - Allow ingesting multiple gain files per run

Some cameras/acquisition setups generate more than one gain file:

gain reference
dark reference
defect map

It would be good to be able to import all three files for each run if available.

Utz: P1 for Q3, P0 for Q4


Gemini Connector

Feature Suggestion
Add support for the Gemini Exchange. Just need to add a Gemini market connector. Might work on this myself but submitting here in case anyone else wants to help
┆Issue is synchronized with this Clickup task by Unito

Sir my sentiments the same. Doesn't look too daunting and willing to give it a try. You make any progress?

New conversation to restart connector project


[BUG] Scenarios string fix

from the other place, there is an unnecessary conversion of complex dictionary to string which slows down test set up by >60 secs (2 minutes on my desktop)
https://github.com/sktime/sktime/issues/4900

I prefer the solution here https://github.com/aeon-toolkit/aeon/pull/576/files#diff-308afa8181ee011a686a7b578ef3f76aa941d794f768d8d599cac8382b147f08
Keeps the informative message without loading it every time. I think you tested and it works as well?

I dont think it matters,  but change it if you want, they both have the same effect.

I prefer the solution here https://github.com/aeon-toolkit/aeon/pull/576/files#diff-308afa8181ee011a686a7b578ef3f76aa941d794f768d8d599cac8382b147f08
Keeps the informative message without loading it every time. I think you tested and it works as well?

this solution still prints the whole data structure to a string unnecessarily. Hang on, will alter it now


Rolling dice quaternion question

Hi guys, I'm making a 3d dice game and came to one issue I can't wrap my head around so I'm turning to you for help.
In the scene/world (using threejs with cannon) I have a plane and one die, which I'm throwing on the plane (screenshots here pre-roll http://prntscr.com/l9rat5, result http://prntscr.com/l9rdeb). All works fine, until I want to throw some specific value on a die like 1 for example.
Since I'm using loaded models instead of texture images for faces of the cube, I cannot handle this just by changing faces of the cube in threejs (since model has 100s of them). Therefore I was hoping I can achieve this by somehow changing the initial quaternion of the body (kind of pre-rotate it) so the die falls on a specific side. The die mesh is just following the body position and quaternion.
I have these questions:

Is this even possible to do? Maybe when I change quaternion pre throw it will result always in different final quaternion, which I can not determine? If it is not possible to do with quaternions, any tips?

If it is possible, how do I figure out by which quaternion do I need to multiply my initial one to get desired result value 1? I have available the final quaternion and I know which values are on each face from emulated throw so I was trying to play with quaternion inverse but no luck.

If I just rotate the initial body so that face 1 rotates to the result face (eg. 6) it works in some cases (i throw 1 when emulated result was 6), but when the throw gets more complicated (more rotations) it is not working of course since I'm not counting on all possible rotations.
If it is not clear what I mean let me know pls.
Thanks a lot
m

Hello,
It sounds like it should be possible to do.
First of all, make sure that you use fixed step simulation. You do this by passing 3 arguments to world.step() instead of one. This will make sure that your simulation will behave the same every time, regardless of frame rate.
Also make sure that your initial position, velocity and force of the die is the same every throw.
If you construct the quaternion using the built in cannon functions, like .setFromAxisAngle(), all should be good... Use .setFromAxisAngle() with even 90-degree angles around different axis. Why bother using quaternion inverse?
If you want an alternative way of rotating the die, put the mesh below an empty parent mesh in your scene. During simulation, copy the cannon.js output to the parent mesh. Then rotate the child die mesh to get the desired initial (and end) rotation. Does this make sense?

thank you for the answers schteppe

yes, i'm using all 3 argumetns
positon, velocity, force are the same
I was trying to do it using .setFromAxisAngle() but it didn't work all the times, I guess because you can rotate 1 to 6 using x or y axis, which will give you different dice values on other sides of a die, so I need to know also the axis and also angle of rotation, which I'm not sure how to find out from final quaternion
right now I'm trying to use a technique of rotating the threejs geometry, while the quaternion is untouched, ... having the best results but still not 100% accuracy, I guess also because of the problem of multiple possible ways how to rotate one face to another

For the note, I solved it by rotating just the geometry (not mesh) in threejs and not touching the quaternion of the body at all. Thanks.


Cleanup wasm images before compile

I ran the contract compile instructions in cosmwasm only to find odd errors about 2nd argument to INFILE. This fixes that issue.
I updated the target of cosmwasm_cache to actually be used (before it was writing to the filesystem and leaving root-owned files in my target dir). Different was eg target=/code/target => target=/code/contracts/hackatom/target. With this changes it now actually made use of the cache.
docker run --rm -v "$(pwd)":/code \
  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/contracts/hackatom/target \
  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
  cosmwasm/rust-optimizer:0.8.0 ./contracts/hackatom

docker run --rm -v "$(pwd)":/code \
  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/contracts/queue/target \
  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
  cosmwasm/rust-optimizer:0.8.0 ./contracts/queue

However, now we have hackatom.wasm and queue.wasm in the same target dir and this line in optimize.sh fails:
  wasm-opt -Os target/wasm32-unknown-unknown/release/*.wasm -o contract.wasm

It requires exactly one file to match the *.wasm.
Simple update to to delete all *.wasm files in that directory before building. Now it runs fine and also much quicker.

However, now we have hackatom.wasm and queue.wasm in the same target dir

Isn't the source of this issue that the same target dir is used via cache for two entirely different projects? I don' think we should do that. Instead, we better replace source="$(basename "$(pwd)")_cache" with something explicit for the development contracts. For those $(basename "$(pwd)") is always "cosmwasm" instead of the contract name.
Since the current script highlighted a different issue, I'd keep the script as it is.

Isn't the source of this issue that the same target dir is used via cache for two entirely different projects? I don' think we should do that.

If they have 95% common dependencies they can reuse this and any difference will be separated. This is how it works when we compile cosmwasm-std, cosmwasm-vm, cosmwasm-storage, etc all with the same target dir. The point here is that they are out of workspace, but want to be rooted in the workspace, which makes this a bit odd.
I think this fix only makes the script more stable. But I am also fine to use different names for the caches in the README files. But reusing it shouldn't break with a cryptic error.

If they have 95% common dependencies they can reuse this and any difference will be separated. This is how it works when we compile cosmwasm-std, cosmwasm-vm, cosmwasm-storage, etc all with the same target dir.

There is a big difference in those cases. cosmwasm-std, cosmwasm-vm, cosmwasm-storage all use a shared target dir because they are part of a workspace. This is a Rust feature that cargo is fully aware of. For the contracts what we do is randomly coping data from other projects into a contract's target folder. Cargo is not aware this is happening and would not assume that. If it would, it is pure luck and we should not rely on that.

The point here is that they are out of workspace, but want to be rooted in the workspace, which makes this a bit odd.

What do you mean by "want to be rooted in the workspace"? The contracts don't use the worspace for anything else than finding their dependencies locally. They fully live in contracts/* and only use the target folder contracts/*/target.

I think this fix only makes the script more stable.

While the diff itself doe not harm, I think it adds to confusion instead of resolving it. I see two main ways to clean this up in a solid fashion:

Only cache /usr/local/cargo/registry, not target, which is what CosmWasm Verify does: https://github.com/CosmWasm/cosmwasm-verify/blob/0534623/src/main.sh#L64-L71
Cache per project

Option 2. is probably what we want as we don't need to be as safe for development contracts as for CosmWasm Verify.

Ah, one more thing: the recommended cross-project compilation caching solition for Rust is sccache

Okay, then just change all the READMEs in cosmwasm-vm


Minor: Make wrapper script non-zero exits fatal.

How to test:
$ cat /tmp/test.yml
---

- hosts: localhost
  gather_facts: False
  tasks:
      - debug:
      - fail:

$ ./venv-ansible-playbook.sh -i /dev/null -c local -l localhost /tmp/test.yml; echo $?

Using temporary $WORKSPACE="/tmp/tmp.Lc05NTxGjM" for execution environment.
Directory will be removed upon exit.  Export this variable with path
to an existing directory to preserve contents.

Bootstrapping trusted virtual environment, this may take a few minutes, depending on networking.
(logs:  "/tmp/tmp.Lc05NTxGjM/crio_venv_setup_log.txt")

Executing "/tmp/tmp.Lc05NTxGjM/.cri-o_venv/bin/ansible-playbook -i /dev/null -c local -l localhost /tmp/test.yml"

 [WARNING]: provided hosts list is empty, only localhost is available

PLAY [localhost] ****************************************************************************************

TASK [debug] ********************************************************************************************
ok: [localhost] => {
    "msg": "Hello world!"
}

TASK [fail] *********************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Failed as requested from task"}
	to retry, use: --limit @/tmp/test.retry

PLAY RECAP **********************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1

2

Assuming happy tests, LGTM

Do not bracket-re-test-bracket running job manually...

Manual run: https://hurl.corp.redhat.com/8c12067 (internal link)

@mrunalp I dunno where johnny is.  This change should also fix it, though I still have no idea why different hashes are coming in from when I run it manually 😖

Note: Has mismatch could be simply because pip is pulling down pre-compiled binaries for a different platform (somehow) - I was testing it under F25 but CI env. may be running something else.
In any case, merging this will move things forward quickly and not require updating the internal stuff.

LGTM


Servicebus track2 sync queue up multiple receive calls

Queue  up multiple receive on same instance of receiver if they come in parallel.

/azp run java - servicebus - ci

/check-enforcer reset

/check-enforcer evaluate

I looked through the unit test and was hoping that they would test the complex logic in hookOnNext. There are various branches and failure modes that aren't exercised in the unit tests. This may come back to bite us if we don't thoroughly test it.


Finalize the format of the target data

Background
What should the target data look like?
Link to relevant comments: https://github.com/orgs/hubverse-org/discussions/9#discussioncomment-10492279

summarizing from a conversation with @nickreich and @elray1, the "oracle" target data will be similar to a model-output file and contain the following columns:

nowcast date (i.e., round id)
location
date (what would have been "target date" in a round submission)
clade
oracle value (instead of value)

we also agreed that we would save the timeseries data used to derive the above (clade counts summarized by collection date, location, and clade)


added join as property in Sequence

This adds join as a property
var nums = [1, 2, 3]
// 123
System.print(nums.join)

To be more inline with similar properties like count, isEmpty or toList

This patch is not really inline with the rest of the code. join()
represent more an action than a property. Therefore a getter name does not
seems suitable for it.

This patch is not really inline with the rest of the code. join() represent more an action than a property. Therefore a getter name does not seems suitable for it.

Yet toList also performs an action and it is a getter.

Not really an action, a convertion type... But it is a point that annoyed
me also.

Me too, but if its Wren's convention, then we should follow it.

I think the convention is: If the method requires no params, then it can be a property.
This also can be applied to List.sort()
But please correct me if I'm wrong.

This cannot be the convention, because if so, Wren wouldn't allow methods without parameters.
I think like @mhermier, but the border is really unclear.

it is mostly a question of apreciation and convention. But for sort() I
think it is pretty clear that it is an action, because the order of
equivalent entries depends on the property of the sorting algorithm to be
stable.

So this requiers for a new property with default params. It would be something like:

toJoinedString: (applies join to the elements in sequence)
toSortedList: (sorts the lists)

I think a simple test to see if it could use getter syntax is to try to use
a setter syntax. If it does not sound good, unless there is a good reason
to do so, like conversion, it is probably a bad idea.

I would consider toList sort of it's own convention, and agree it isn't a good fit as a property at the moment.

There's also toString for that matter so I think you need to exempt convertion methods from the usual convention of preferring methods to properties where the name is some kind of action rather than just a description.

Depends if the point of view. For me, toStringshould technically return a
String that is sufficient to recreate the object. It is defeated in lots
of places, but somehow it makes some sense to have it has a property,
despite the fact it was abused for debugging.

toString is entirely for debugging purposes. It is not for serialization.
(Consider a map with infinite recursion due to self referencing, this is not the domain of toString and should not be).

True and false, I consider that thing to be in the grey area for good.

Python has repr() for debugging string, and the convention is to present the object as it can be recreated (if possible).
For example, in DOME Color.toString returns Color (#11223344), while in Python the repr would be Color.hex("11223344") or Color.rgb(17, 34, 51, 68). str would be #11223344.

True, this is why I consider it a grey area. If it was different then
string interpolation would not use it. Complex because of too much
simplicity.


Unstripped punctuation in heading link breaks linking

Here the a, b heading should be linked too.

# a, b
# a c
# a, d

[[Note#a c]]
[[Note#a, b]]
[[Note#a d]]

Not to gripe too much, but this is a bug, not something that needs "enhancing". It is a case of not supporting native Obsidian functionality. For a while now, Obsidian doesn't strip punctuation, i.e. when autocompleting header links. This means I would need to go out of my way to make my notes compatible with this plugin. (And the same stands for #60).


evaluate the reference() function as part of what-if evaluation

Describe the noise
Today, what-if/preflight is not able to evaluate/compile the reference() function prior to doing the what-if comparison, which results in noise. On the PUT side, we show reference().someProperty and on the GET side we show the evaluated property (since it was evaluated to create the resource in the first place.
Will add incoming noise reports that relate to this to this thread

#79

#25

#54

#72

This issue leads to large amounts of noise, so +1 from me.

This really needs fixed, it seems to be breaking when I reference a resource deployed in a different Bicep module from the same top level template.
What-If still depressing me even on a SIMPLE template.......
snippet showing the resources from the output of az deployment group validate --verbose
    "validatedResources": [
      {
        "id": "/subscriptions/xxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Resources/deployments/20221012163428_storageAccount",
        "resourceGroup": "xxxxxx"
      },
      {
        "id": "/subscriptions/xxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Resources/deployments/20221012163428_keyVault",
        "resourceGroup": "xxxxxx"
      },
      {
        "id": "/subscriptions/xxxxxx/resourceGroups/xxxxxx/providers/Microsoft.Storage/storageAccounts/xxxxxxsa",
        "resourceGroup": "xxxxxx"
      }
    ]

and the What-If output.......
Note: The result may contain false positive predictions (noise).
You can help us improve the accuracy of the result by opening an issue here: https://aka.ms/WhatIfIssues

Resource and property changes are indicated with this symbol:
  + Create

The deployment will update the following scope:

Scope: /subscriptions/xxxxxx/resourceGroups/xxxxxx

  + Microsoft.Storage/storageAccounts/xxxxxxsa [2021-08-01]

      apiVersion:                          "2021-08-01"
      id:                                  "/subscriptions/xxxxxxresourceGroups/xxxxxx/providers/Microsoft.Storage/storageAccounts/xxxxxxsa"
      kind:                                "StorageV2"
      location:                            "eastus2"
      name:                                "xxxxxxsa"
      properties.accessTier:               "Hot"
      properties.supportsHttpsTrafficOnly: true
      sku.name:                            "Standard_LRS"
      tags.ApplicationName:                "xxxxxx-AzureSharedInfrastructure"
      type:                                "Microsoft.Storage/storageAccounts"

Resource changes: 1 to create.

any updates? Ticket is open more than 4 years...

This bug is creating a lot of noise and uncertainty when attempting to alter deployed bicep code to use modules that utilize existing resources and their properties. Any updates on this, @alex-frankel?

Would love to hear an update on this as well


callback function is not firing

Using this library for linkedIn authorization. Here is my code snippet:
// This is the service
function getLinkedInService() {

 var service = OAuth2.createService('linkedIn')
  service.setAuthorizationBaseUrl('https://www.linkedin.com/uas/oauth/authorize')
  service.setTokenUrl('https://api.linkedin.com/uas/oauth/accessToken')
  service.setClientId(clientId)
  service.setClientSecret(clientSecret)
  service.setCallbackFunction('auth2Callback')
  service.setPropertyStore(PropertiesService.getUserProperties())
  service.setScope(['r_basicprofile','r_emailaddress','rw_company_admin','w_share'])

  return service;
}

// This is the callback function
function auth2Callback(request) {
     Logger.log('in oauth 2 callback => ' + request);
     var linkedInService = getLinkedInService();
    var isAuthorized = linkedInService.handleCallback(request);
    if (isAuthorized) {
    return HtmlService.createHtmlOutput('Success!');
  } else {
     return HtmlService.createHtmlOutput('Denied.');
  }
}

   // This is the function I'm running
    function showSidebar() {
          var linkedInService = getLinkedInService();
          if (!linkedInService.hasAccess()) {
               var authorizationUrl = linkedInService.getAuthorizationUrl();
               // Getting a proper url here
               // If I put this url in a browser it is redirecting in my redirect_uri
               // Also getting the token here.
         } else {
              makeRequest(); // This function calls the api.
         }
     }

Now, the problems I 'm facing are:

When the callback function will fire?
Is there a way to automate the process of getting access_token from "authorizationUrl"?

I've published a complete LinkedIn sample here:
https://github.com/googlesamples/apps-script-oauth2/blob/master/samples/LinkedIn.gs
The callback fires after the user clicks "Authorize", and will show the "Success" message. There is no way to automate the process; this OAuth2 flow requires for human interaction.

Thank You for your response. When I'm opening the "authorizationUrl" in a new tab; getting an error "An Authorization Token was not supplied"
Can you tell me the reason? Am I doing wrong?


climate forecast species layers into solutions

Need to:

[x] change input layers for spp in generate.Rmd#L123
[ ] regenerate outputs
[ ] update language for biodiversity slider and Methodology

via Slack:
And for the multi-resolution hierarchical layer, I can provide that as a single layer with hexids by Oct 15 as a flat folder of vector tiles (vs a database connected slower layer) with the following:
generate hexagons daily with tippecanoe into ../{z}/{x}/{y}.pbf folder web share · Issue #5 · BenioffOceanInitiative/bbnj-app
So then I presume you'd do a bit of JavaScript to match the hexid to the solution table(s) in bbnj-app/data - Google Drive with the other query parameters: benthic, fishing, scapes, vgpm having a value of low (0.1), medium (1) or high (10).