Tensor contraction?

Following up here on my ill-advised rreusser/ndarray-awise-prototype#1 since this is starting to seem more like a extension or fork of cwise than a use of cwise.
Was trying to figure out how to express reduce operations in a general manner but fell way short. Your response "there are probably better ways to do this but hey, more than one way to skin a cat" is way too kind. :stuck_out_tongue_closed_eyes:
I'm currently thinking about what it'd mean to reorder dimensions within cwise. Expressing this seems the most immediately challenging part while the rest is an exercise for the implementer…
What about actually allowing index notation? For example:
contraction over one index: In other words, matrix multiplication. The k loop goes on the inside with its pre/post just outside it. The scope of this would be only over a k loop, but you could use c directly. Would have to think about a syntax that would actually allow gemm-style block-wise multiplications. Represented as:
{
  args: [ 'array(i,j,k)', 'array(k,l,m)', 'array(i,j,l,m)'],
  contractIndices: ['k'],
  beforeContract: function(a, b, c) { c = 0 },
  body: function(a, b, c) { c += a * b },
  afterContract: function(a, b, c) { }
}

contraction over two indices: Similar. beforeContract and afterContract go just outside the innermost contraction loops:
{
  args: [ 'array(i,j,k)', 'array(j,k,l)', 'array(i,l)' ],
  contractIndices: ['j','k'],
  beforeContract: function(a, b, c) { c = 0 },
  body: function(a, b, c) { c += a * b },
  afterContract: function(a, b, c) { }
}

Average over two of three dimensions: Here the notation gets unwieldy and it starts to feel like it's all falling apart.
{
  args: [ 'array(j)', 'array(i,j,k)', 'size' ],
  contractIndices: ['i', 'k'],
  pre: function( size ) { this.factor = 1 / size.i / size.k }
  beforeContract: function(a, b) { a = 0 },
  body: function(a, b) { a += b },
  afterContract: function(a, b) { b *= this.factor }
}

I think this is logically consistent and can be optimized within reason (or at least reduces to cwise if unused). It seems possible but probably too invasive to work into cwise which seems more oriented toward image processing. Features like blockIndices and offset are great, but it might add factorial complexity to get all combinations of cases to play well together.
It sounded like you've thought about this before. I think what I've described is a thing that could exist; I just don't know if it's a thing that should exist…
Then again, I might be aiming for something more complicated than the benefit derived from it…

My current thinking is that this kind of thing would in fact best be done as part of a new cwise. In particular, the way cwise currently generates code is a little ad-hoc, and difficult to generalize/maintain, but I do think reductions and the like should probably be an explicit part of cwise (if only to make it easier to in the future support different backends). I'm thinking of something that would generate a "plan" of some sort, apply some transformations if desired, and then "compiles" the plan into code.
I think your proposal is interesting, but instead of having explicit indices, it might be better to use a syntax more reminiscent of blockIndices for example, as this will make it much easier to write general interfaces. I also agree that it would definitely be worth thinking about the simplest possible interface we can get away with (while still allowing for sufficient generality). For example, I'm not entirely sure beforeContract and afterContract are really worth it, given that this can also be done by pre-/post-processing.
Note that apart from explicitly supporting reductions and broadcasts, we may also want to consider "scans".

Good points. The reason for the indices is that I was trying to understand how to add additional controls so that an intermediate layer could generate operators that can't just be written once (e.g. general-purpose mean along some axes) with enough control to avoid pathological cases.
More generally, a couple things I've run into using cwise:

It's slow for lots of small vectors (i.e. linear algebra). I think this is because of the type signature memoization, but I'm still working through the code to better understand why. Seems like it'd be nice to allow access to the bare-bones loop code for fast repetitive applications on small/moderate-sized vectors.
axis-wise reductions are tricky. Thoughts on an argmax operator, for example:

a temporary variable for the value requires this to be done on one slice at a time. Maybe the solution should be to write a wrapper that uses a cwise operator inside a loop, but I've had bad luck using cwise inside loops (slow!), so was trying to avoid the pathological case where you have 1000 applications of cwise on two elements. (that is, for example, reducing a 1000x2 array to a 1000x1 array of means)
the blockIndices strategy requires a lot of input-transposing on behalf of the user. Maybe this is the way it should be, but feels unfriendly. Also it's just not technically necessary since cwise could represent this.

So the common thread is that I had some subtle issues trying to use cwise as a general-purpose high-performance tool since a lot of what I ended up doing with it was one pathological case or another.
Maybe what I'm talking about is, as you've suggested, a planning layer that represents the gory, low-level controls so that powerful operations can be generated without mucking up the outward-facing syntax (which is currently really nice!). What if a cwise code generator received an 'plan' representation of the operator. cwise could stay unchanged and generate this plan. The features I've described would just require a different plan generator.

Clarification: not so much advocating different forks, just a separation of declaration of the operation from internal representation of the operation, as you've suggested.

Sorry for barging in, but reduction over arbitrary dimensions is exactly what I need, and what I am having trouble with.
Given I've transposed my array such that the to-be-aggregated-dimensions are last, and there are n of them, how would I go about writing a cwise body that sums them up? I understand that I would use  blockIndices: -(numAggregatedAxes) and then, in the body, loop over all of the items that I'm aggregating. But since I don't know in advance how many dimensions I'm aggregating (i.e. looping) over, I'm stuck. Is there a way to do this using a single cwise function?
(Thanks a million for an amazingly useful library, by the way!)

I don't think current cwise allows arbitrary notation for reductions, but this is a workaround:
It turns out that scalar arguments are basically passed through, whether they're actually scalars or not. That means you can pass a result array. Maybe that's better explained through an example.
Okay, so for a 3x4x5 array, say we want to sum over the second dimension. You could do this:
var pool = require('ndarray-scratch')
var A = pool.zeros([3,4,5])
var sum = pool.zeros([3,5])

var operator = cwise({
  args: ['array', 'scalar', 'index'],
  body: function(A, sum, index) {
    var newValue = A + sum.get( index[0], index[2] )
    sum.set( index[0], index[2], newValue )
  }
})

operator(A)

This will iterate over every element of A (in no particular order), adding it to the correct entry of sum. It's not optimal since sum could be looped over more efficiently, but it should do the trick.
This was actually the motivation for a quick module I wrote that uses precisely this trick: ndarray-awise-prototype. It's not the most efficient thing ever (though I haven't profiled it so it might not be entirely inefficient either), but it applies a map-reduce option and takes care of dimensions for you. You can see an example here. I'm reasonably confident in the correct functioning of the module; I only didn't publish it more confidently because I had some other ideas. Here's a more out-there and non-functioning attempt at a macro language that would encompass these operations.

(Strictly speaking though, it's definitely not a solved problem though, in case you have a better idea!)

Wow, that was quick. Thanks!
Your example is interesting. I don't know if it helps much in my case. I was hoping for some undocumented way of accessing the elements I'm reducing over, without having to know how many []'s I'll need. So, you know how
sum += arr[0][i];

is rewritten into
_inline_4_sum += a1[p1+0*t1b0+_inline_4_i*t1b1];

... right? Well, if I could bypass that somehow, then I could just do that index-by-stride multiplication myself, with an arbitrary number of them. Would that do the trick?
(I mean, it's not exactly a beautiful solution, much less a convenient one, but if it worked I'd take it)

Correct. My compromise is that I was willing to use external get/set which compute the index all over again. For me, I mainly wanted to express the operations consisely so the overhead was entirely neglible.
Can you clarify what operation you're trying to compute?

Nothing in particular right now. I build mathematical optimization apps on top of an existing platform, and I'm trying to write a few utility functions to make it easier to quickly aggregate and manipulate large, up-to-6-dimensional tables for display, because I tend to be inundated in tons of nested loops and/or recursions.
I'm hoping to implement at least a few common suspects (sum, mean, product, min, max, count, etc.), but the whole thing really is only useful if I can throw arbitrary dimensions at it.

Makes sense. Here are my thoughts then:

ndarrays support hash-tables and proxies. I completely failed to appreciate that before writing some of my modules, so one of these days I need to go fix all of them. Maybe relevant for you, maybe not. But good to be aware of before the fact :smile:

I don't think you can achieve this with vanilla cwise. It does some work to hide the interpreted code from you. And blockIndices sounds right, but it's not (it's intended for rgb arrays or similar).

Those operations are implementable in a couple lines using the awise thing. If your application isn't performance-limited, then it might save time since it handles the array size/shape gymnastics correctly. If it is performance limited, then it'll probably be necessary to create your own module. Of course the advantage of cwise in the first place is that it iterates in an intelligent order so that high-dimensional operations are efficient, so rewriting is nontrivial.

In short, this is exactly what I wanted to address with https://github.com/rreusser/ndarray-tensor-op-experiment—a more general notation for generating these loops—but it turned out to be a lot of work!
But then I know @jaspervdg and @mikolalysenko would love for this to exist and have their thoughts (and a lot more, better experience under their belts :smile:) too!

Alright, that's helpful. Thanks for taking the time to explain all of this to me. :)
I suppose I'll go with your awise for now, and update my utility functions when a proper cwise extension for this comes along. I don't think these reductions are going to become the bottleneck, honestly ... I've been using nested standard Arrays up until now (I know) and fared just fine.

You're spot on that it would be great for such a thing to exist though! Unfortunately it's a lot of work to rewrite cwise, so I wouldn't hold your breath waiting for the tensor stuff to get written. In the mean time at least, my module isn't great, but it does work… I published ndarray-awise-prototype to npm.


Create a Java/Maven demo based on the Vanilla package

Since we have jenkins4eval/jenkinsfile-runner up and running again, it would be great to have a small demo demonstrating the Docker image override

[ ] - Demo includes Dockerfile which is based on the  jenkins4eval/jenkinsfile-runner image
[ ] - Dockerfile install Maven (JDK is already bundled)
[ ] - There is a Jenkinsfile which checks out a small hello-world sample repo and builds/tests it inside Jenkinsfile Runner
[ ] - There is a README file in the demo which describes how to build/run the demos

you meant jenkinsci/jenkinsfile-runner , right ?

As a repo - yes. But it is hosted as jenkins4eval/jenkinsfile-runner on
DockerHub now
On Fri, Oct 11, 2019, 05:40 Anthony Dahanne<EMAIL_ADDRESS>wrote:

you meant jenkinsci/jenkinsfile-runner , right ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/jenkinsfile-runner/issues/188?email_source=notifications&email_token=AAW4RIAQBTU6ZTXID3HYLK3QN7YRHA5CNFSM4I66A5UKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA6UUPA#issuecomment-540887612,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAW4RIHG4TKU3UIG3ZIMP6LQN7YRHANCNFSM4I66A5UA
.

the image is no longer available in dockerhub?

It is here: https://hub.docker.com/r/jenkins4eval/jenkinsfile-runner

It is here: https://hub.docker.com/r/jenkins4eval/jenkinsfile-runner

wow, not sure why but yesterday it was redirecting to the homepage, weird. Let's see if I can help with the task :)

I created #218 as a part of the today;s hackathon

More demos can be still created


DBZ-6996 Updating system tests to properly use MongoDB in a container

https://issues.redhat.com/browse/DBZ-6996
@obabec  @novotnyJiri  This ought to be cleaned up a bit and more importantly other implementations of mongo controllers should be addapted. Either merge this with a follow up or (ideally) just finish the work here before merging

@obabec skimmed through it and so far the changes look good. Let me know if you need a more in depth review once finished ;).

@obabec this can be closed, right?

I am not Ondrej but we already merged the needed changes in https://github.com/debezium/debezium/pull/4950. Therefore yes, it can be closed.


Static functions can't be found with typedef

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.70.0 (Insiders)
OS Version: Windows_NT x64 10.0.19044

Steps to Reproduce:
We have the following code:
// server.js
export default class Server {
  constructor() {
    this.a = 1;
  }

  static test() {
    return 1;
  }

  abc() {
    return 1;
  }
}

// client.js
export default class Client {
  /**
   *
   * @param {import('./server.js').default} server
   */
  constructor(server) {
    this.server = server;
  }
}

Now, this is the result when importing the type of server:

Why is test not showing?

Looks like it works as expected. Type that is exported from file is type of class instance and therefore only instance fields are available/suggested while static properties/methods are part of constructor function signature.
You need to use typeof ConstructorFunction to get type of constructor function that has static properties on it.
You can try @param {typeof import('./server.js').default} server

Thank you! That sounds about right, learned something new 😅


KeepAlive: false

I've just started running grunt-php. I had an issue setting up grunt-php with watch. It's probably worth extending the ReadMe example, specifically to say that when you are using "watch", you cannot use "keepalive: true" in the php task.
I'm also having horrible performance serving all files, compared to when I was using PHP through iis-express. Any thoughts on what to look for?

If you're running a watch command, how many files total does that watch for?  The larger the amount of changes it has to look for, the slower it will go.


Duplicated commands caused by requiring 'capistrano/git'

Hi Boris,
thanks for your work.
I'm using capistrano 3.4.0 and I've noticed that when using capistrano-git-submodule-strategy git commands are issued twice.
I think the problem is in capistrano itself, because it loads capistrano/git.rb instead of requiring it [1]. Every time git.rb is executed tasks are appended to the existing ones, hence the duplication.
I plan to open an issue in capistrano too, but I was wondering:

do you have the same problem?
if yes, do you have a workaround?

Thanks
Gabriele
[1] https://github.com/capistrano/capistrano/blob/master/lib/capistrano/setup.rb#L16

Hi @favalex
I don't have this problem. But some people has. I think #3 is a same problem. I closed it because I can't fix it in my plugin


[setup.py] pass extra compiler flags to clang on OS X to enable support for C++11

This is for building the Brotli extension for Mac Python, i.e. the official OS X installers from Python.org.
(extracted from PR #136)

sorry, wrong target... :P
this was supposed to go to google/brotli instead


npm token create doesn't work

Describe the bug

npm token create --registry http://localhost:4873 doesn't work.
To Reproduce
$ npm install -g verdaccio
$ verdaccio
# in new shell
$ npm adduser --registry http://localhost:4873
Username: ksefchik
Password:
Email: (this IS public<EMAIL_ADDRESS>Logged in as ksefchik on http://localhost:4873/.
$ npm token create --registry http://localhost:4873
npm password:
npm ERR! code E404
npm ERR! 404 Not Found - POST http://localhost:4873/-/npm/v1/tokens

npm ERR!      /Users/ksefchik/.npm/_logs/2021-01-18T21_35_16_509Z-debug.log

Expected behavior
I expect a token to be created consistent with normal NPM behavior on a the NPM registry.
Configuration File (cat ~/.config/verdaccio/config.yaml)
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#

# path to a directory with all packages
storage: /Users/ksefchik/.local/share/verdaccio/storage
# path to a directory with plugins to include
plugins: /Users/ksefchik/.local/share/verdaccio/plugins

web:
  title: Verdaccio
  # comment out to disable gravatar support
  # gravatar: false
  # by default packages are ordercer ascendant (asc|desc)
  # sort_packages: asc
  # convert your UI to the dark side
  # darkMode: true

# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
#   web: en-US

auth:
  htpasswd:
    file: /Users/ksefchik/.local/share/verdaccio/htpasswd
    # Maximum amount of users allowed to register, defaults to "+inf".
    # You can set this to -1 to disable registration.
    max_users: -1

# a list of other known repositories we can talk to
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@trafficware/*':
    # scoped packages
    access: $authenticated
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs

  '@*/*':
    # scoped packages
    access: $authenticated
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs

  '**':
    # allow all users (including non-authenticated users) to read and
    # publish all packages
    #
    # you can specify usernames/groupnames (depending on your auth plugin)
    # and three keywords: "$all", "$anonymous", "$authenticated"
    access: $authenticated

    # allow all known users to publish/publish packages
    # (anyone can register by default, remember?)
    publish: $authenticated
    unpublish: $authenticated

    # if package is not available locally, proxy requests to 'npmjs' registry
    proxy: npmjs

# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:
  keepAliveTimeout: 60

middlewares:
  audit:
    enabled: true

# log settings
logs:
  - { type: stdout, format: pretty, level: http }
  #- {type: file, path: verdaccio.log, level: info}
#experiments:
#  # support for npm token command
#  token: false
#  # support for the new v1 search endpoint, functional by incomplete read more on ticket 1732
#  search: false

# This affect the web and api (not developed yet)
#i18n:
#web: en-US

Environment information

Environment Info:

  System:
    OS: macOS 10.15.7
    CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
  Binaries:
    Node: 15.3.0 - ~/.nvm/versions/node/v15.3.0/bin/node
    npm: 7.0.14 - ~/.nvm/versions/node/v15.3.0/bin/npm
  Virtualization:
    Docker: 20.10.2 - /usr/local/bin/docker
  Browsers:
    Chrome: 87.0.4280.141
    Firefox: 72.0.1
    Safari: 14.0.1
  npmGlobalPackages:
    verdaccio: 4.10.0

Debugging output

$ NODE_DEBUG=request verdaccio display request calls (verdaccio <--> uplinks)

 warn --- config file  - /Users/ksefchik/.config/verdaccio/config.yaml
 warn --- Verdaccio started
 warn --- Plugin successfully loaded: verdaccio-htpasswd
 warn --- Plugin successfully loaded: verdaccio-audit
 warn --- http address - http://localhost:4873/ - verdaccio/4.10.0
(node:96230) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
 http <-- 404, user: ksefchik(<IP_ADDRESS>), req: 'POST /-/npm/v1/tokens', bytes: 60/155

$ DEBUG=express:* verdaccio enable extreme verdaccio debug mode (verdaccio api)

warn --- config file  - /Users/ksefchik/.config/verdaccio/config.yaml
 warn --- Verdaccio started
 warn --- Plugin successfully loaded: verdaccio-htpasswd
  express:application set "x-powered-by" to true +0ms
  express:application set "etag" to 'weak' +1ms
  express:application set "etag fn" to [Function: generateETag] +0ms
  express:application set "env" to 'development' +0ms
  express:application set "query parser" to 'extended' +1ms
  express:application set "query parser fn" to [Function: parseExtendedQueryString] +0ms
  express:application set "subdomain offset" to 2 +0ms
  express:application set "trust proxy" to false +0ms
  express:application set "trust proxy fn" to [Function: trustNone] +0ms
  express:application booting in development mode +0ms
  express:application set "view" to [Function: View] +0ms
  express:application set "views" to '/Users/ksefchik/views' +0ms
  express:application set "jsonp callback name" to 'callback' +0ms
  express:application set "env" to 'production' +0ms
  express:router use '/' query +1ms
  express:router:layer new '/' +0ms
  express:router use '/' expressInit +0ms
  express:router:layer new '/' +0ms
  express:router use '/' corsMiddleware +0ms
  express:router:layer new '/' +0ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' errorReportingMiddleware +0ms
  express:router:layer new '/' +0ms
  express:router use '/' <anonymous> +1ms
  express:router:layer new '/' +0ms
  express:router use '/' compression +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/favicon.ico' +0ms
  express:router:layer new '/favicon.ico' +0ms
  express:router:route get '/favicon.ico' +0ms
  express:router:layer new '/' +0ms
 warn --- Plugin successfully loaded: verdaccio-audit
  express:router:route new '/audits' +15ms
  express:router:layer new '/audits' +1ms
  express:router:route post '/audits' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/audits/quick' +0ms
  express:router:layer new '/audits/quick' +0ms
  express:router:route post '/audits/quick' +0ms
  express:router:layer new '/' +0ms
  express:router use '/-/npm/v1/security' router +0ms
  express:router:layer new '/-/npm/v1/security' +0ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' jsonParser +0ms
  express:router:layer new '/' +1ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' encodeScopePackage +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/whoami' +0ms
  express:router:layer new '/whoami' +0ms
  express:router:route get '/whoami' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/whoami' +0ms
  express:router:layer new '/-/whoami' +37ms
  express:router:route get '/-/whoami' +1ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/:version?' +0ms
  express:router:layer new '/:package/:version?' +0ms
  express:router:route get '/:package/:version?' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/:package/:version?' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:scopedPackage/-/:scope/:filename' +0ms
  express:router:layer new '/:scopedPackage/-/:scope/:filename' +0ms
  express:router:route get '/:scopedPackage/-/:scope/:filename' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/:scopedPackage/-/:scope/:filename' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/-/:filename' +0ms
  express:router:layer new '/:package/-/:filename' +3ms
  express:router:route get '/:package/-/:filename' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/:package/-/:filename' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/npm/v1/user' +0ms
  express:router:layer new '/-/npm/v1/user' +0ms
  express:router:route get '/-/npm/v1/user' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/npm/v1/user' +0ms
  express:router:layer new '/-/npm/v1/user' +0ms
  express:router:route post '/-/npm/v1/user' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/all(/since)?' +0ms
  express:router:layer new '/-/all(/since)?' +0ms
  express:router:route get '/-/all(/since)?' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/user/:org_couchdb_user' +0ms
  express:router:layer new '/-/user/:org_couchdb_user' +0ms
  express:router:route get '/-/user/:org_couchdb_user' +1ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/user/:org_couchdb_user/:_rev?/:revision?' +0ms
  express:router:layer new '/-/user/:org_couchdb_user/:_rev?/:revision?' +0ms
  express:router:route put '/-/user/:org_couchdb_user/:_rev?/:revision?' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/user/token/*' +0ms
  express:router:layer new '/-/user/token/*' +0ms
  express:router:route delete '/-/user/token/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/_session' +0ms
  express:router:layer new '/_session' +0ms
  express:router:route post '/_session' +0ms
  express:router:layer new '/' +0ms
  express:router:route post '/_session' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/:tag' +0ms
  express:router:layer new '/:package/:tag' +0ms
  express:router:route put '/:package/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:tag' +0ms
  express:router:layer new '/' +1ms
  express:router:route put '/:package/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:route post '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route post '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route post '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:route put '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/-/package/:package/dist-tags/:tag' +0ms
  express:router:route delete '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route delete '/-/package/:package/dist-tags/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/package/:package/dist-tags' +0ms
  express:router:layer new '/-/package/:package/dist-tags' +0ms
  express:router:route get '/-/package/:package/dist-tags' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/-/package/:package/dist-tags' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/package/:package/dist-tags' +1ms
  express:router:layer new '/-/package/:package/dist-tags' +0ms
  express:router:route post '/-/package/:package/dist-tags' +0ms
  express:router:layer new '/' +0ms
  express:router:route post '/-/package/:package/dist-tags' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/:_rev?/:revision?' +0ms
  express:router:layer new '/:package/:_rev?/:revision?' +0ms
  express:router:route put '/:package/:_rev?/:revision?' +0ms
  express:router:layer new '/' +1ms
  express:router:route put '/:package/:_rev?/:revision?' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:_rev?/:revision?' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:_rev?/:revision?' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/-rev/*' +0ms
  express:router:layer new '/:package/-rev/*' +0ms
  express:router:route delete '/:package/-rev/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route delete '/:package/-rev/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/-/:filename/-rev/:revision' +0ms
  express:router:layer new '/:package/-/:filename/-rev/:revision' +0ms
  express:router:route delete '/:package/-/:filename/-rev/:revision' +0ms
  express:router:layer new '/' +0ms
  express:router:route delete '/:package/-/:filename/-rev/:revision' +0ms
  express:router:layer new '/' +0ms
  express:router:route delete '/:package/-/:filename/-rev/:revision' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/-/:filename/*' +0ms
  express:router:layer new '/:package/-/:filename/*' +0ms
  express:router:route put '/:package/-/:filename/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/-/:filename/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/-/:filename/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/:package/:version/-tag/:tag' +1ms
  express:router:layer new '/:package/:version/-tag/:tag' +0ms
  express:router:route put '/:package/:version/-tag/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:version/-tag/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:version/-tag/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route put '/:package/:version/-tag/:tag' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/ping' +0ms
  express:router:layer new '/-/ping' +0ms
  express:router:route get '/-/ping' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/_view/starredByUser' +0ms
  express:router:layer new '/-/_view/starredByUser' +0ms
  express:router:route get '/-/_view/starredByUser' +0ms
  express:router:layer new '/' +0ms
  express:router use '/' router +1ms
  express:router:layer new '/' +0ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' setSecurityWebHeaders +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/static/*' +1ms
  express:router:layer new '/-/static/*' +0ms
  express:router:route get '/-/static/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/-/web/:section/*' +0ms
  express:router:layer new '/-/web/:section/*' +0ms
  express:router:route get '/-/web/:section/*' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/' +0ms
  express:router:layer new '/' +1ms
  express:router:route get '/' +0ms
  express:router:layer new '/' +0ms
  express:router use '/' router +0ms
  express:router:layer new '/' +0ms
  express:router use '/' urlencodedParser +0ms
  express:router:layer new '/' +0ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' setSecurityWebHeaders +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/packages' +0ms
  express:router:layer new '/packages' +0ms
  express:router:route get '/packages' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/package/readme/(@:scope/)?:package/:version?' +0ms
  express:router:layer new '/package/readme/(@:scope/)?:package/:version?' +0ms
  express:router:route get '/package/readme/(@:scope/)?:package/:version?' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/package/readme/(@:scope/)?:package/:version?' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/sidebar/(@:scope/)?:package' +0ms
  express:router:layer new '/sidebar/(@:scope/)?:package' +1ms
  express:router:route get '/sidebar/(@:scope/)?:package' +0ms
  express:router:layer new '/' +0ms
  express:router:route get '/sidebar/(@:scope/)?:package' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/search/:anything' +0ms
  express:router:layer new '/search/:anything' +0ms
  express:router:route get '/search/:anything' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/login' +0ms
  express:router:layer new '/login' +0ms
  express:router:route post '/login' +0ms
  express:router:layer new '/' +0ms
  express:router:route new '/reset_password' +0ms
  express:router:layer new '/reset_password' +0ms
  express:router:route put '/reset_password' +0ms
  express:router:layer new '/' +0ms
  express:router use '/-/verdaccio/' router +0ms
  express:router:layer new '/-/verdaccio/' +0ms
  express:router:route new '/*' +0ms
  express:router:layer new '/*' +0ms
  express:router:route get '/*' +0ms
  express:router:layer new '/' +0ms
  express:router use '/' <anonymous> +0ms
  express:router:layer new '/' +0ms
  express:router use '/' final +0ms
  express:router:layer new '/' +0ms
 warn --- http address - http://localhost:4873/ - verdaccio/4.10.0
  express:router dispatching POST /-/npm/v1/tokens +9s
  express:router query  : /-/npm/v1/tokens +1ms
  express:router expressInit  : /-/npm/v1/tokens +0ms
  express:router corsMiddleware  : /-/npm/v1/tokens +0ms
  express:router <anonymous>  : /-/npm/v1/tokens +1ms
  express:router errorReportingMiddleware  : /-/npm/v1/tokens +1ms
  express:router <anonymous>  : /-/npm/v1/tokens +0ms
  express:router compression  : /-/npm/v1/tokens +0ms
  express:router router  : /-/npm/v1/tokens +0ms
  express:router dispatching POST /-/npm/v1/tokens +0ms
  express:router <anonymous>  : /-/npm/v1/tokens +0ms
(node:96247) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
  express:router jsonParser  : /-/npm/v1/tokens +11ms
  express:router <anonymous>  : /-/npm/v1/tokens +12ms
  express:router encodeScopePackage  : /-/npm/v1/tokens +0ms
  express:router router  : /-/npm/v1/tokens +1ms
  express:router dispatching POST /-/npm/v1/tokens +0ms
  express:router <anonymous>  : /-/npm/v1/tokens +0ms
  express:router setSecurityWebHeaders  : /-/npm/v1/tokens +1ms
  express:router <anonymous>  : /-/npm/v1/tokens +0ms
  express:router final  : /-/npm/v1/tokens +0ms

$ npm -ddd prints:

npm verb cli [
npm verb cli   '/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/node',
npm verb cli   '/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/npm',
npm verb cli   '-ddd'
npm verb cli ]
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm timing config:load:defaults Completed in 1ms
npm timing config:load:file:/Users/ksefchik/.nvm/versions/node/v15.3.0/lib/node_modules/npm/npmrc Completed in 0ms
npm timing config:load:builtin Completed in 1ms
npm timing config:load:cli Completed in 2ms
npm timing config:load:env Completed in 0ms
npm timing config:load:project Completed in 0ms
npm timing config:load:file:/Users/ksefchik/.npmrc Completed in 2ms
npm timing config:load:user Completed in 2ms
npm timing config:load:file:/Users/ksefchik/.nvm/versions/node/v15.3.0/etc/npmrc Completed in 0ms
npm timing config:load:global Completed in 0ms
npm timing config:load:cafile Completed in 0ms
npm timing config:load:validate Completed in 1ms
npm timing config:load:setUserAgent Completed in 0ms
npm timing config:load:setEnvs Completed in 1ms
npm timing config:load Completed in 8ms
npm verb npm-session 9d63cbb1737853c5
npm timing npm:load Completed in 19ms

$ npm config get registry prints:

https://registry.npmjs.org/

NPM debug log contents:

0 verbose cli [
0 verbose cli   '/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/node',
0 verbose cli   '/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/npm',
0 verbose cli   'token',
0 verbose cli   'create',
0 verbose cli   '--registry',
0 verbose cli   'http://localhost:4873'
0 verbose cli ]
1 info using<EMAIL_ADDRESS>2 info using<EMAIL_ADDRESS>3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:/Users/ksefchik/.nvm/versions/node/v15.3.0/lib/node_modules/npm/npmrc Completed in 0ms
5 timing config:load:builtin Completed in 0ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 1ms
8 timing config:load:project Completed in 0ms
9 timing config:load:file:/Users/ksefchik/.npmrc Completed in 1ms
10 timing config:load:user Completed in 1ms
11 timing config:load:file:/Users/ksefchik/.nvm/versions/node/v15.3.0/etc/npmrc Completed in 1ms
12 timing config:load:global Completed in 1ms
13 timing config:load:cafile Completed in 0ms
14 timing config:load:validate Completed in 0ms
15 timing config:load:setUserAgent Completed in 0ms
16 timing config:load:setEnvs Completed in 1ms
17 timing config:load Completed in 7ms
18 verbose npm-session 4713fc4e73322d10
19 timing npm:load Completed in 14ms
20 info token creating
21 http fetch POST 404 http://localhost:4873/-/npm/v1/tokens 56ms
22 timing command:token Completed in 3619ms
23 verbose stack Error: 404 Not Found - POST http://localhost:4873/-/npm/v1/tokens
23 verbose stack     at /Users/ksefchik/.nvm/versions/node/v15.3.0/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:123:15
23 verbose stack     at async Function.pulseWhile [as withPromise] (/Users/ksefchik/.nvm/versions/node/v15.3.0/lib/node_modules/npm/lib/utils/pulse-till-done.js:39:12)
24 verbose statusCode 404
25 verbose cwd /Users/ksefchik
26 verbose Darwin 19.6.0
27 verbose argv "/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/node" "/Users/ksefchik/.nvm/versions/node/v15.3.0/bin/npm" "token" "create" "--registry" "http://localhost:4873"
28 verbose node v15.3.0
29 verbose npm  v7.0.14
30 error code E404
31 error 404 Not Found - POST http://localhost:4873/-/npm/v1/tokens
32 verbose exit 1

You must enabled it, in your conf see experiments field and says token.
(For your information, future Verdaccio 5 has breaking changes with the token database)

You must enabled it, in your conf see experiments field and says token.
(For your information, future Verdaccio 5 has breaking changes with the token database)

You must enabled it, in your conf see experiments field and says token.
(For your information, future Verdaccio 5 has breaking changes with the token database)

That has solved the issue in my local environment, but I am still seeing issues in a VM I have configured properly with the token feaure enabled. That is still giving me a password error in the verdaccio logs when I attempt to use it. The same password seems to work fine for logging in on the web and in npm cli.

You must enabled it, in your conf see experiments field and says token.
(For your information, future Verdaccio 5 has breaking changes with the token database)

That has solved the issue in my local environment, but I am still seeing issues in a VM I have configured properly with the token feaure enabled. That is still giving me a password error in the verdaccio logs when I attempt to use it. The same password seems to work fine for logging in on the web and in npm cli.


"Import as GameObjects" errors out with Timed out while waiting for thread read when

When working with larger (150+ mb) USD files and importing as GameObjects in an interactive session, we keep getting this error:
Timed out while waiting for thread
This happens with USDA or USDC files in Unity 2021.3.7f1 using USD 3.0.0-exp2 on x64 Windows.
Anyone else run into this? Is there a workaround?

@cauberthonda Thank you for reporting, I haven't seen this before. Do you have a representative file you could share to help us to reproduce the issue?

I can't share the original proprietary mesh but I made a very simple file that causes the same issue. In Maya, create 8 cubes, polysmooth to level 8, created a total of 3147528 faces, export to usd using Arnold-USD. The file is here:
https://www.dropbox.com/s/l7av2u2fdw4vajb/cubesphere.usd.zip?dl=0
When I "Import as GameObjects" I get the same timed out error

Looks like it stopped working in the 3.0 release. The sanitization process is timing out (>1s) while processing the mesh. The (long) sanitization kicks in because st and normals attributes are of faceVarying interpolation (per vertex per face) which prompts us to unweld every faces of the mesh to get consistent array sizes. Raising the timeout value (https://github.com/Unity-Technologies/usd-unity-sdk/blob/87bdba9b7b68d335384da3a91b788542cfa92b31/package/com.unity.formats.usd/Runtime/Scripts/IO/ReadJob.cs#L143) will limit the issue but it might be worth looking into optimizing the sanitization as well.

Hey @cauberthonda this should now be fixed by #343. We've optimized the code and increased the timeout so this shouldn't happen for much larger meshes, but we're aware this won't be a complete fix. Please let us know if you still have the issue :)

Hey @cauberthonda! You can get the latest changes on the dev branch of this repo. Include this in your project by either cloning this repo and adding it as a local package, or you can add it via Package Manager using the Git URL, eg: “https://github.com/Unity-Technologies/usd-unity-sdk.git?path=package/com.unity.formats.usd”


Update online-resources.asciidoc

Hi @olenasherbinin, thanks for sharing the link. It looks like an interesting solution and it's great to see that Debezium proves to be a useful component of it.
That being said, on the "online resources" list we try to gather links to community resources (talks, slide decks etc.) and related open-source solutions. So I'm not going to merge this PR, as it seems to not fall into these categories. Thanks for understanding!


[Feature Improvement] Replication Module Improvements

Issue #, if available:
The current replication module doesn't take into account if a repository already exists and always just invokes docker pull. This causes the module to get to a stuck state when hitting the docker API rate limits.
Description of changes:
Adding a lookup to see if the image has already been replicated to ECR. If yes, it skips replication.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: cc30c73c7ae7fbb972c28137eeb46de63c2c5078
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 7cfa17204b89174a8c129f636460f1d8bb2cfa22
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: d9f89404bfc3c3d01921dd6788f718984f2aca9d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: a370efe2297be0660d265513aa20db7e9fdf729e
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 6e69bee44439fb3fdab3ef4337ad48849ad24990
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: dcfe3f987df375b37948559a927506615a9bf95e
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: e736b1d4ee14851ac5e45ef8f19e0d94c6c03176
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: af6339174307f43593747f0abf1bf7706ce0886c
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: a775d71bd40eec987cd0295f6b3221c4a8141f01
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: acab9e88679da53fc799acccd356e9a9ff583c9b
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 0dc076c1492eb4e777176db01a7eafd2ec431243
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: a933eaf6bf20f0b42f45ac0bb9c0c3b92484558d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 665b20ec00fae0f277fe6bf9614dd83d5226bf11
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 16833745e479876b43f2c643a09d58df0715d405
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


No icons in footer Our Team Page

Font Awesome CDN missing
CDN needs to be added to display icons

@goyalmuskan  has fixed it already


Test on an image

Excellent work. But please, I am new in this field. So I wonder if I can use main.py to test facial expression on any face from other datasets.
Thanks in advance.

Excellent work. But please, I am new in this field. So I wonder if I can use main.py to test facial expression on any face from other datasets.
Thanks in advance.

Thank you for your attention to our work. If you want to test on any images, you need to train the model first. Cause currently, the provided codes and pre-trained models are just for training.

Deeply thanks, I trained your model and I obtained accuracy more than 88 % on RAF-DB dataset nearly equal to what you said in the paper. Please, Now I have the model called [07-29]-[20-53]-model_best.pth , but as I told you before I am a beginner of using Pytorch. So, is there any code to test this model on any face image.
Thanks again because I took a lot from you precious time.

Deeply thanks, I trained your model and I obtained accuracy more than 88 % on RAF-DB dataset nearly equal to what you said in the paper. Please, Now I have the model called [07-29]-[20-53]-model_best.pth , but as I told you before I am a beginner of using Pytorch. So, is there any code to test this model on any face image.
Thanks again because I took a lot from you precious time.

I think it's easy to write a code for testing on any image. I  don't have that code now, I am sorry for that.

Deeply thanks, I trained your model and I obtained accuracy more than 88 % on RAF-DB dataset nearly equal to what you said in the paper. Please, Now I have the model called [07-29]-[20-53]-model_best.pth , but as I told you before I am a beginner of using Pytorch. So, is there any code to test this model on any face image.
Thanks again because I took a lot from you precious time.

I think it's easy to write a code for testing on any image. I don't have that code now, I am sorry for that.

Maybe I can send you that codes, but it may later (two or three mouths) :)

Thanks, I will try.


Updated with helper methods and better SIP URI parsing

There was some duplicated code that I was adjusting and you weren't handling URIs that contained a user (sip:user@host), so I pulled the address start and finish detection out into separate functions that could be called from both pj_nat64_get_hostname_from_proxy_string and pj_nat64_resolve_and_replace_hostname_with_ip_if_possible. I also changed the end lookup to not require an explicit port. It still fails to find the end if you don't have either a port OR a transport listed explicitly. I'll be working on that next probably.

Hi Kyle
I am currently abroad on vacation. I will have a look at the PR during the
second half of August when I am back in the office.
Best Regard
Johan
On Wednesday, 20 July 2016, Kyle Kurz<EMAIL_ADDRESS>wrote:

There was some duplicated code that I was adjusting and you weren't
handling URIs that contained a user (sip:user@host), so I pulled the
address start and finish detection out into separate functions that could
be called from both pj_nat64_get_hostname_from_proxy_string and
pj_nat64_resolve_and_replace_hostname_with_ip_if_possible. I also changed
the end lookup to not require an explicit port. It still fails to find the
end if you don't have either a port OR a transport listed explicitly. I'll
be working on that next probably.
You can view, comment on, or merge this pull request online at:
https://github.com/johanlantz/pj-nat64/pull/2
Commit Summary

Updated with helper methods and better SIP URI parsing

File Changes

M pj-nat64.c
https://github.com/johanlantz/pj-nat64/pull/2/files#diff-0 (41)

Patch Links:

https://github.com/johanlantz/pj-nat64/pull/2.patch
https://github.com/johanlantz/pj-nat64/pull/2.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/johanlantz/pj-nat64/pull/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHHbF1Q10qi8e1RIZfj8ISuYbwgtXJqEks5qXlGWgaJpZM4JQ-yw
.

No worries. I have my own fork that I'm using for now. Just figured I'd share my adjustments.

That is perfect. I am really happy someone else is looking at the code.
Johan
On Thursday, 21 July 2016, Kyle Kurz<EMAIL_ADDRESS>wrote:

No worries. I have my own fork that I'm using for now. Just figured I'd
share my adjustments.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/johanlantz/pj-nat64/pull/2#issuecomment-234391545,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHHbF6AfQE4xIc7u6LCJCbdN0i8sLt-iks5qX-Y-gaJpZM4JQ-yw
.

Sorry for the delay on this one. I am leaning towards not merging it for the following reasons:

The find_addr_start. I have never encountered a proxy address with a @ user part. Not sure that is legal. For the find_addr_end sure its used twice so it is a little nicer to wrap it in a function. Lets see.

For the set_resolved_host. This will not work in most systems since when you use rtp proxies which is the most common scenario in a larger system, the IP4 address in the sdp will not be the same as for the registrar. I will try to see if there is another way to handle android synthesizing.

Thanks for the submission nevertheless, I will go through the details and see if there is something I can cherry pick.

@johanlantz You're welcome to pull in any/none of my changes. We're using my fork in our production stuff. This latest set of changes comes off the fact that when you replace IPv4 -> IPv6, you're doing a pj_memcpy to a buffer that may not be as long as the data you want to print, eventually smashing the stack. I went ahead and modified the IPv6 -> IPv4 direction too, as we were having trouble with the exceptions as a way to know when the scanner found the requested item.
For your comments on find_addr_start, it's not just proxies. You need to replace IPv6 on any SIP URI (if not going through a proxy, at least), and certainly a registration attempt will include a user field.
I've not been able to find a way to synthesize an address on Android yet. This works for our environment and your module will just fail to replace on Android right now, so adding the option to set it seemed like the right way to handle it. Like I said, feel free to not merge in anything you want, I'm maintaining what works for us in my fork.

Thanks for the feedback, I will keep that in mind. This is the first time I revise the code in almost a year so I am a bit rusty.
Android is complicated. I thought it would have improved over time but it seems there is no clear solution. It is good that your workaround is functional and for a system which uses the same IP for media as signalling I think it is a correct solution.
For systems having more than one media endpoint, the only obvious solution I see is for that system to inject a fqdm in the sdp and assign a domain name to each media endpoint. In theory that should work as well.
Leaving this thread open for others to reference for the moment since everyone seems to have different challenges depending on their system.


ui/MapSettings: remove function shorten

Calling shorten is not necessary. the ElidedLabel will elide text too long to fit the label.

Tested, works fine! Thanks!


Fix issues with keybindings list header behavior (#41558)

Resolves #41558
Fixes all the issues displayed in https://github.com/Microsoft/vscode/issues/41558#issuecomment-357817507 by moving the list header out from the list as suggested in https://github.com/Microsoft/vscode/pull/41789#issuecomment-359000189. This also makes the list header stay in place when scrolling the list, which makes it easier to make sense of the columns.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: reima sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

There is already a PR open for this https://github.com/Microsoft/vscode/pull/59202

@reima I see the other PR has the changes I requested.

@reima You are right. I am opening this PR for the complete fix.

Thanks @reima. Will take a look.

LGTM


JavaScript error on Android device

Hey @RobinHerbots , I am seeing a JavaScript error when I am using an Android device ( currently a Pixel emulator ). Using the latest version of your library at the moment of typing this. Here is a screenshot.

@BrainClot ,
Ok, thx for reporting, I will add an extra check on event.  It will be fixed on the next commit on 4.x.


Update to use information_schema to get db names

Using the information_schema to get the db names mitigates some issues users have with the show databases query which requires more privileges to run

Some MySQL forks don't support information_schema or support it poorly (e.g. some schemas are missing there). While show databases is the most standard way to read schema list.
We used to use select from information_schema.schemata but then changed it to the current behavior.
Maybe this should be done configurable?


Update reference_policies_examples_aws_my-sec-creds-self-manage.md

Added missing comma
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks! This is fixed.


Functionality to split a WDS

Hi and first of all thanks for this amazing work!
In my scenario I have a small (500K) text-image pair dataset in form of a WDS stored in an external storage container that I can mount in my system, i.e., I use a local path to instantiate the WDS.
My question now is, if there is a way to split the WDS into train, test, and validation without "manual extract/move/compress" work?
Thanks in advance!

Have you checked tarp (this video is a good resource) ?

I tried to do it with tarp but the video doesn't really cover my use case and it's too time-consuming to read through the source code to understand it 🙈

Hi! Sorry about the incomplete documentation for tarp.
Generally, the simplest for Python programmers is probably just to write a small Python program for doing such transformations:
for shard in shards:
	src = WebDataset(shard)
   dst = TarWriter(output_shard)
   for sample in src:
      if ...: continue  # skip samples you don't want
      dst.write(sample)

For more complex operations, parallel and distributed transformations, shuffling, and sorting, the recommended library to use is Ray.  There is code in the ./examples directory that illustrates how to do this.


TypeError: Cannot read properties of null (reading 'credentials')

Node-RED Version: 3.1.7
node-red-contrib-google-sheets-advance version: 0.0.2
After including the JSON with the Google Service Account credentials in the Creds field and performing the Deploy, the following error is returned:
TypeError: Cannot read properties of null (reading 'credentials')

I was able to use Node after changing line 7 of the gSheetAdvance.js file:
From: this.creds = JSON.parse(RED.nodes.getNode(config.creds).credentials.creds);
To: this.creds = JSON.parse(config.creds);

In the screenshot provided I see that the JSON credentials object for the service account is not proper.
Please try validating json like this.

From what I could see in your screenshot, the Creds field is a Configuration Node, but here, Creds is just a text field.
The edit button should appear next to the Creds field, right?

The issue can be solved by installing https://flows.nodered.org/node/node-red-contrib-google-sheets
I guess something went wrong in the new version from rajansaumya and the config node is not working

From what I could see in your screenshot, the Creds field is a Configuration Node, but here, Creds is just a text field.
The edit button should appear next to the Creds field, right?

Same, I need to install node-red-contrib-google-sheets for config node.


Support SQL Servers for migrations

Coverage decreased (-0.003%) to 40.493% when pulling c7aeb922fda6466fc2b71b7358a45453dd9b9459 on amir/migrations/supportSqlServers into 75812c71dfb5d9e2b5b3c71f1d1eb3f57086af92 on main.


fix: app-config settings are ignored in OHIF v3

github issue #3051
Remove default route from baked in routes if showStudyList is false.
PR Checklist

[x] Brief description of changes
[x] Links to any relevant issues
[ ] Required status checks are passing
[x] User cases if changes impact the user's experience
[x] @mention a maintainer to request a review

Links
fixes https://github.com/OHIF/Viewers/issues/3051

This is failing but I fixed it
please update package json to use<EMAIL_ADDRESS>


Update README

Whoopsie, missed that PR completely. Sorry!
This documentation update is no longer valid. As of https://github.com/zopim/ipcluster/pull/3, USR1 kills old workers only (instead of respawning new workers). The respawning of new workers can be done by restarting the master.
I did consider using setting up handlers for USR1 and USR2 to have 2 behaviours, but USR2 is used by heapdump, which client apps of ipcluster might be using.


Running Python in shell does not find installed packages

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
OS version and name: macOS 10.14
Poetry version: 0.12.17
Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/slhck/5a5dc06d77046a894025d593447bfdc8

Issue
I want to use poetry shell to run python3 with the packages installed via poetry.
When I install the packages and run python3 from the shell, the packages are not found:
➜ poetry init
…
~/Desktop/test via 🐍 3.7.3
➜ poetry add fastapi uvicorn
Creating virtualenv test-py3.7 in /Users/werner/Library/Caches/pypoetry/virtualenvs
Using version ^0.42.0 for fastapi
Using version ^0.10.8 for uvicorn

Updating dependencies
Resolving dependencies... (4.9s)

Writing lock file

Package operations: 9 installs, 0 updates, 0 removals

  - Installing click (7.0)
  - Installing h11 (0.8.1)
  - Installing httptools (0.0.13)
  - Installing pydantic (0.32.2)
  - Installing starlette (0.12.9)
  - Installing uvloop (0.14.0)
  - Installing websockets (8.1)
  - Installing fastapi (0.42.0)
  - Installing uvicorn (0.10.8)

~/Desktop/test via 🐍 3.7.3 took 19s
➜ poetry run python3 -c "import fastapi"
email-validator not installed, email fields will be treated as str.
To install, run: pip install email-validator

~/Desktop/test via 🐍 3.7.3 took 2s
➜ poetry shell
Spawning shell within /Users/werner/Library/Caches/pypoetry/virtualenvs/test-py3.7

~/Desktop/test via test-py3.7 via 🐍 3.7.3
➜ python3 -c "import fastapi"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'fastapi'

The module is not found when inside the shell, but it is when I use poetry run.
Python 3 is 3.7.3 installed via pyenv:
➜ pyenv versions
  system
  3.6.5
* 3.7.3 (set by PYENV_VERSION environment variable)

Unless I've missed something obvious, I think this is the way this tool is intended to be used. I also know pipenv shell does the same, and from the documentation I don't see any indication that the expected behavior would be different.

Same here, but on Linux (Fedora 31). Seems like poetry shell command does not activate virtual environment for the shell session.

Also none of the packages' console scritps are avalivable in the spawned session

I just tried 1.0.0b5 and it works there.

same here, fixed in 1.0.0b5.
@slhck thanks!

Thanks a lot for coming back and reporting! :+1:
So I will close this issue.


Fix wait for kafka instance to avoid race conditions

Signed-off-by: Kevin Earls<EMAIL_ADDRESS>Make waiting for the kafka instance a little smarter to avoid timeout in internal CI

@jpkrohling @pavolloffay @rubenvp8510 @objectiser Please review


[1494] Include status code in customer perceived metric and warn on 400 and 429

What
Same logic as in this PR.

Left a comment about http_status for customer-perceived responses

Looks like http_status is included when the event_outcome: failure

Left a comment about http_status for customer-perceived responses

 Looks like http_status is included when the event_outcome: failure

@dleis612 alright i'm convinced + not much harm in included some extra context!


Error Handling and Async Operations

Most FRP libraries show an example containing an async operation. Have a few questions regarding support in SwiftBond:

How can an async operation be implemented using SwiftBond?
Is there any example of error handling?
Is there any plan to add Error handling support at the API level?

@manas-chaudhari, thanks for the question, I answered in #200.


Is there a way to push a new stack and have a back arrow?

Is there a way to push a new stack or screen and have a back arrow in the top nav and the bottom tabs hidden?
Something like this
https://www.screencast.com/t/zI86iDMl5z

Hi @upanshed! Yes, you can achieve it smooth with the newest Navio version v0.0.5. Your Navio layout will look somewhat like below:
const navio = Navio.build({
  screens: {
    Main,
    Example,
    ProductPage: {
      component: Example,
      options: {
        headerShown: false,
      },
    },
  },
  stacks: {
    MainStack: ['Main', 'Example'],
    ProductPageStack: {
      screens: ['ProductPage'],
      containerOptions: {
        headerShown: true,
        title: 'Product page',
      },
    },
  },
  tabs: {
    AppTabs: {
      content: {
        MainTab: {
          stack: 'MainStack',
          options: () => ({
            title: 'Main',
          }),
        },
        PlaygroundTab: {
          stack: ['Example'],
          options: () => ({
            title: 'Playground',
          }),
        },
      },
    },
  },
  root: 'AppTabs',
});

And from any tabs' screen, you can do navio.stacks.push('ProductPageStack'). For more detailed example, check out expo-starter/navio.tsx.
https://user-images.githubusercontent.com/4402166/218905128-1a5b63ac-3d5b-418a-849a-00028a7f0acb.MP4

That works great, thanks!


Fix scan result hidden network

I discovered an issue with the wpa_cli parser. if the last result of a scan is an empty network, wireless-tools returns "[ESS]" as ssid, which is of course wrong.
the reason for this is, that the trim() call removes the tab and the regex fails.
I added a unit test to cover this case

Is this project still active?


Improve support for xcpretty report options

This pull request addresses the following issue:
Although a user can set multiple xcpretty reports with the ":report_formats" argument, Fastlane is unable to accept multiple values for ":report_path". This means a user can only define the output path for one of the reports even if they specify more than one.
This pull request defines a new parameter ":reports", which takes an array of hashes. The keys of the has map exactly to the parameters taken by xcpretty. This enables the user to specify all options for each report they want to generate.
The old options were left intact for backwards compatibility - those can be removed if desired.
This was my best first guess at how to implement, feedback welcome.

Thanks for working on this. The test should be easy to fix, I added 2 comments.

@KrauseFx  thanks - still figuring out ruby…
looks like it worked… but failing now for some other reason…
My local was complaining about:
Fastlane
  Fastlane::JUnitGenerator
    #generate
      properly generates a valid JUnit XML File (FAILED - 1)

But it looks like Travis is upset about something else… any ideas on how to resolve?

That's my fault, I'll fix it, thanks!

Thanks for working on this :+1:

No prob - thinks for getting it in so fast!


[U] models (v0.6 nx12 std_v0.6)

*** The uploaded model must be trained and exported by the provided script in model_training. ***
Notation:

  [version]: kepler-model-server version (current: v0.6)
  [machine]: machine id defined when running `./script.sh export`
  [pipeline]: trained pipeline name (default: std_v0.6)

Comment
Retrain models from the extractor fix in

https://github.com/sustainable-computing-io/kepler-model-server/pull/172

Please confirm the following checklist for any applicable item.

[x] rename PR by the following format:
models ([version] [machine] [pipeline])

New pipeline

[x] has the pipeline information generated in models/[version]/.doc (auto)
[x] fill description in the generated page. (manual) - no update
[x] add tag new-pipeline to the PR

Existing training machine

[x] remove existing machine entry in models/[version]/README.md (manual)

File checklist (auto)

[x] pipeline metadata (metadata.json)
[x] train arguments (train_arguments.json)  - no update
[x] model metadata summary files (xxx_model_metadata.csv)

Common checklist

[x] has result page generated in  models/[version]/[machine]/README.md (auto)
[x] all links in result page is valid
[x] verified account of PR committer matches publisher
[x] no change on other files except the above mentioned document and trained pipeline files in models/[version]/[machine]

Please provide visualized results of error summary
generated error summary image folder: models/[version]/[machine]/[pipeline]/error_summary
RAPL power
AbsPower

DynPower

ACPI power
AbsPower

DynPower

Please provide visualized results of preprocessed data for new-pipeline
generated preprocessed data image folder: models/[version]/[machine]/[pipeline]/preprocessed_data
RAPL power
AbsPower

DynPower

ACPI power
AbsPower

DynPower

Any plot for analyzing results
SGD regression seems to work not well with hardware counter features.
Hardware counter values:

SGD regression with counter features (bad perform and cannot be used):

SGD regression with BPF feature (somehow acceptable):

FYI,
BPFOnly feature:


Avoidable overflow in scipy.special.binom(n, k)

`scipy.special.binom(n, k) overflows in some situations when it can be avoided.
For large values of n, k binom(n, k)  is evaluated as '1/beta(1+n-k, 1+k)/(n+1).
If beta(1+n-k, 1+k) is small, then overflow can occur before the division has a chance to bring it back into range.
Reproducing code example:
import numpy as np
import scipy, scipy.special
k = np.arange(500, 520)
n=2*k
bn = scipy.special.binom(n,k)
bt = scipy.special.beta(1 + n-k, 1 + k)
print(np.column_stack([bn, 1/(n+1)/bt]))

The output is (first column is binom(n, k), the second an alternate computation)
[[  2.70288241e+299   2.70288241e+299]
 [  1.08007397e+300   1.08007397e+300]
 [  4.31599279e+300   4.31599279e+300]
 [  1.72468102e+301   1.72468102e+301]
 [  6.89188009e+301   6.89188009e+301]
 [  2.75402258e+302   2.75402258e+302]
 [  1.10052049e+303   1.10052049e+303]
 [  4.39774064e+303   4.39774064e+303]
 [  1.75736486e+304   1.75736486e+304]
 [  7.02255428e+304   7.02255428e+304]
 [              inf   2.80626777e+305]
 [              inf   1.12140876e+306]
 [              inf   4.48125455e+306]
 [              inf   1.79075474e+307]
 [              inf   7.15605105e+307]
 [              inf               inf]
 [              inf               inf]
 [              inf               inf]
 [              inf               inf]
 [              inf               inf]]

Computing instead as 1/(n+1)/beta(1+n-k, 1+k) (the right hand column above) would allow a finite result to be returned.
The values returned by scipy.special.beta are potentially denormalized, so the result may have some lost some accuracy.  However these values have likely been generated by scipy.special.betaln, hence have already lost ~10 bits.
Scipy/Numpy/Python version information:
1.1.0.dev0+bf4fa24 1.13.1 sys.version_info(major=3, minor=6, micro=3, releaselevel='final', serial=0)

Fixed by gh-8347


fix: take destNamespace from user

I am new to open source. I made the PR referring to this link: https://github.com/konveyor/move2kube/blob/main/contributing.md Please LMK if I need to correct something.
This PR Solves: https://github.com/konveyor/move2kube/issues/930
I've built and tried Move2kube project. I am having trouble in testing this change. Can somebody suggest. Thanks!

@SVKREP Please rebase your branch to have the latest upstream.

Hi Team, @Akash-Nayak, @HarikrishnanBalagopal, @kmehant. Can someone please review this in your free time!

@Akash-Nayak, I have made the changes, Thanks!


CW metric lookup fails when there are lots of instances in a region

Need retry logic and session logic for handling when the EC2 role rotates keys. Additionally, log files do not provide timestamps, making it harder to identify when something failed in relation to other events (e.g. how long it takes to process the instances in a region).

Added retry and session handling logic. Also added timestamp information to log file.


Grpc.Core runtimes not found when running under vstest

Repo with project to repro here: https://github.com/mamaso/GrpcDllNotFoundRepro
I'm unable to use Grpc.Core out-of-box in test projects running with vstest.
When I attempt to run a test that spins up a grpc server, I get the following error:
Message: System.IO.FileNotFoundException : Error loading native library. Not found in any of the possible locations: <repo>\TestProj\bin\Debug\netcoreapp2.0\grpc_csharp_ext.x64.dll,<repo>\TestProj\bin\Debug\netcoreapp2.0\runtimes/win/native\grpc_csharp_ext.x64.dll,<repo>\TestProj\bin\Debug\netcoreapp2.0\../..\runtimes/win/native\grpc_csharp_ext.x64.dll
I can manually copy the runtimes folder from the nuget package to the test output directory, but that's not a good long-term solution.
In contrast to the test project, when starting the grpc server from a console app outside of the vstest context the dll is found without errors.
The console app and the test project have the identical generated runtimeconfigs, which is how I think these dlls are normally found:
// runtimeconfig.deps.json
{
  "runtimeOptions": {
    "additionalProbingPaths": [
      "C:\\Users\\mamaso\\.dotnet\\store\\|arch|\\|tfm|",
      "C:\\Users\\mamaso\\.nuget\\packages"
    ]
  }
}

// runtimeconfig.json
{
  "runtimeOptions": {
    "tfm": "netcoreapp2.0",
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "2.0.0-preview2-25407-01"
    }
  }
}

Also opened an issue on the Grpc.Core repo here: https://github.com/grpc/grpc/issues/12154

@mamaso : Thank you for reporting this issue with us.
Its seems like an issue with xunit adapter. I ran the same test  with mstest adapter and it ran without an issue.
If you want to try, you have to take nuget reference of below two package.
<PackageReference Include="MSTest.TestAdapter" Version="1.1.18" />
<PackageReference Include="MSTest.TestFramework" Version="1.1.18" />

I believe you should open a bug in xunit repo

Ah my mistake, thanks for the quick response & workaround! I'll give that a shot and I'll open an issue on xunit.


KIN empty amount during blocks parsing

Sometimes getBlockByNumber parse txs with empty amount it breaks to UnmarshalJSON for blockatlas.Tx

In platform/stellar/transaction.go there is explicit check for Amount != "", though error from DecimalToSatoshis is swallowed.  However, there is a bug in DecimalToSatoshis: leftmost 0s are trimmed, but if input is "0", result is "" (and no error).  In this case in normalized tx Value will be "".

👍🏻 great, just need to fix it

DecimalToSatoshis is used by Cosmos and Solana.

Should be solved, #1110 .


⚠ Chatwoot has degraded performance

In 19f0b58, Chatwoot (https://app.chatwoot.com) experienced degraded performance:

HTTP code: 200
Response time: 6505 ms

Resolved: Chatwoot performance has improved in cc0e44d.


Oj does not work after version 3.13

While this library technically supports Oj, it only supports using a very outdated version: 3.13, which is missing almost 3 years of development: https://github.com/ohler55/oj/blob/develop/CHANGELOG.md#3163---2023-12-11.
Users technically can use a newer version, however, will not always mimic the JSON gem because Blueprinter is not passing a mode of :rails when calling Oj.generate.
See the issue below for details:
https://github.com/ohler55/oj/issues/658

Does Oj allow setting a global default mode? That would be a good place to look at to fix this issue. The only other way I see forward with this is to allow a json_options configuration which allows passing options to the JSON generator method, but it does seem like we're overdoing the JSON bit here. Ideally, the application(rails - Oj/YAJL, etc) should take care of what JSON library is being used underneath rather than spreading that concern to util libraries like Blueprinter in this case.

It does but the problem seems to be that Blueprinter calls Oj.generate at all.
[18] pry(main)> Time.zone.now.as_json
=> "2024-01-23T16:57:41.954-05:00"

[19] pry(main)> JSON.generate(Time.zone.now)
=> "\"2024-01-23 16:57:57 -0500\""

You can set the default configuration for this in config/application.rb or an initializer file to fix this -
ActiveSupport::JSON::Encoding.time_precision = 0

Before -
=> {a: Time.now.utc}.as_json
=> {"a"=>"2024-01-24T05:16:22.970Z"}

After -
=> {a: Time.now.utc}.as_json
=> {"a"=>"2024-01-24T05:17:09Z"}

Interesting, I didn't know you could do that, but thats going the opposite direction - I dont want to configure JSON to behave like Oj - I'd like to configure Oj to behave like JSON - the way that it does when using version 3.13.

but isn't JSON format setting a more application level setting? 🤔 I'm assuming Oj might have just gone about respecting the default settings that other libraries like the native JSON itself adheres to.

.rbenv/versions/3.1.4/lib/ruby/gems/3.1.0/gems/blueprinter-1.0.1/lib/blueprinter/configuration.rb:44: warning: Oj::Rails.mimic_JSON was called implicitly. Call it explicitly beforehand if you want to remove this warning.

Seems like related to the discussion.  And the warning may be related due to it depends on outdated library (3 years ago). Is there plan to handle this warning for contributors, or there's known issues why it hasn't been done for years?

@zhisme we're open to contributions 🙂


How to suppress UnderReviewWarning?

❓ Questions and Help
Before asking:

search the issues.
search the docs.

What is your question?
Every time pl_bolts is imported, UnderReviewWarning is displayed. When using multiple workers for data loaders, many copies of this warning appear. And it also pollutes the CLI documentation (see below). Is there a way to suppress them?
Code
What have you tried?
I have tried to put
import warnings
warnings.filterwarnings("ignore")

before importing pl_bolts, but it doesn't help, the warnings are still displayed.
What's your environment?

OS: macOS 13.0.1
Packaging pip
Version 0.6.0.post1

Already discussed here: https://github.com/Lightning-AI/lightning-bolts/issues/563


Everyone launch JupyterHub individually

Independent of training material, everyone should have a go at launching JupyterHub

[ ] @everett-toews
[x] @smashwilson
[x] @carolynvs
[ ] @rgbkrk

Tim's suped up version: https://github.com/betatim/carina-jupyterhub

Docker spawner for JupyterHub: https://github.com/jupyter/dockerspawner

OAuthenticator: https://github.com/jupyter/oauthenticator

Actually, try this one out:
https://github.com/jupyter/dockerspawner/tree/master/examples/oauth

The PyLadies workshop the other week used Tim's. Individually it worked well but when 50 people tried to spawn at the same time, something about it broke. So we should try out hitting whatever we use to simulate workshop conditions.

Swarm spawner: https://github.com/compmodels/jupyterhub/blob/master/swarmspawner.py

Just as a head's up, I've noticed that jupyter/jupyterhub:latest is not up to date:

Using latest I ran into problems with the GitHub OAuth authenticator nuking the /hub/login/ route. Pinning my Dockerfile to jupyter/jupyterhub:0.4.1 instead resolves the issue.

By the way, I'm working in smashwilson/jupyterhub-carina :wrench:

I'm up and running at http://jupyterhub.azurefire.net/:

I'll go fix the Docker Hub builds for the official image.

I triggered off the build for latest, though we'll definitely want to pin to 0.4.1

I'm up at http://jub.fict.io/

Giddy up http://jupyterhub.phymata.com/


EOF while writing/reading registry with a delay

Hi
Am trying to read/write registry after a few seconds opening the connections but it fails with EOF
Timeout for client configuration is 30 second
if i try to read or write within 1 second it works perfectly, tried with a different client which works fine
What am i missing?

Hi wajidp,
what device are you connecting to? Would that device have a configurable timeout for tcp client connections by any chance? What is your current poll interval?
My take is that the slave device times out and closes the tcp connection between two requests, which is why you're getting EOF errors.
If you're not seeing this with a third party client (which one, btw?) it is possible that this client is automatically re-connecting when disconnected.
If this theory is correct, I see 4 possible solutions:

configure the modbus slave with a longer idle TCP timeout (may not be easy or even possible depending on the device)
perform dummy reads every x seconds to keep the slave from timing out
handle client errors and calling Close()/Open() when getting io.EOFs
if your poll interval is quite long, Open() the client before each transaction and Close() it once done.

Does this help?

@simonvetter i was able to change the TCP timeout in the device which fixed the issue, thanks


Website - 404 methods that don't exist on the controller

When someone tries to do things like PATCH, POST, DELETE, etc, they currently 500.  404 them instead.

Fixed in 19a1ed348ff91af3c36230d2beea564566a24ddf.


[Feature Request] Support Dynamic Configuration.

Thank you very much!! This project is super useful for CircleCI users.
I'm wondering if is there a plan to support Dynamic Configuration(https://circleci.com/docs/dynamic-config/).
At this moment, it's just Cannot find declaration for step <step>, if I want to use something from other files :smile:.

Thank you very much @keidarcy!
Dynamic config can be done in a bunch of different ways, and unfortunately it will probably be very complicated to support all possible approaches comprehensively.
That said, we do plan on supporting at least basic situations - for instance looking for declarations in different files, which sounds like your case. It won't be for another couple of months at least I believe, but we'll be happy to let you know once it's out, so you can let us know if that works for you or how you'd like us to improve on it!

Hi @BeFunes Do you have more news about this feature? I'm also very interested in cross-file declaration support.

Hey, we do not plan on implementing this feature in the short term. There is some clashes with the FYAML and it's hard to decide on a good approach for this.
We'll try looking into it but it's most likely going to happen in several months.

Hello 👋 very interested in this feature too, to be honest something as simple as a meta-comment like # cci-import ../../.circleci/shared-config.yml that the runtime would dynamically interpret as the content itself would be perfect

Hi, I'm also using dynamic config and there are a lot of files located in different directories. It would be great to support this, however, I understand it may be complicated.
In the meantime would it be possible to add an option to disable the linter in the settings?
Anytime I enter a CCI yaml file in VSCode I have everything in red because there are tons of errors like: "version is required", "Cannot find a declaration for", "Parameter steps is not defined" etc.
And the file is unreadable. Right now the only option is to uninstall the extension, although I'd like to use its other features.


Expose proto as the externally accessible hinclude.prototype

This will allow other other custom-elements to inherit from hinclude,
as well as allowing page authors to define global hooks, for example
hinclude.prototype.extractFragment = function(container) {
    var mode = this.getAttribute('mode');
    // choose different pre-processing based on "mode"
   return newContainer;
}

I really like this idea 👍

@shogun70 If you have any code that fixes this issue, I'd be happy to review it and merge.
(My time is extremely limited right now, unfortunately)

@shogun70 Something like this? https://github.com/gustafnk/h-include/commit/8c6f1048295a96ca7ffc9aae7df166906c994099
(Exposing element rather than prototype)

@shogun70 I just realised I completely misunderstood your issue. The above branch was for being able to extending the h-include custom element.

Or, maybe I just misunderstood your need, you're talking about overriding global functionality and I'm talking about inheriting from the custom element. The above branch should satisfy both need though, I think.

Would you consider renaming hinclude to HIncludeElement (or just exposing the prototype on hinclude).
Something like:
HIncludeElement = document.registerElement('h-include', {
    prototype: Object.create(HTMLElement.prototype)
});
Object.assign(HIncludeElement, { /* static methods */});
Object.assign(HIncludeElement.prototype, { /* instance methods */});

Yes, that looks good. Object.assign is in ES6, so I need to do it more imperatively, I think.
Not sure how to deal with the versioning of this though. My current thought: the <h-include> should always work as before (otherwise, bump major version). If the hooks API changes, I will just bump minor (since right now, the number of users for the hooks is quite small).

@shogun70 I did a major change and I'm quite satisfied with it :) https://github.com/gustafnk/h-include/commit/54c1af7eb8734825daaf4b51a615b2499fbc7955

Looks good - do you think include() or checkRecursion() should be exposed on prototype? Can external code usefully call or over-ride them?

Good point, I'll move include and checkRecursion to the static methods.

@shogun70 Fixed in https://github.com/gustafnk/h-include/commit/851ca12699047845f14da27986c2f1878deb88cc

Fixed with merge of https://github.com/gustafnk/h-include/pull/35


Azure Functions app support for intellisense?

Hi,
I develop Azure Functions (Python) in Visual Studio Code.
I kann reference other Python Files via importing from app.
The problem is that intellisense does not recognize this path. Therefore there is no intellisense support for any imported class.
Do i have any option to fix that?
Thanks alot!

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

ID: d955d169-8fb8-c511-8911-3e49f95c5ce6
Version Independent ID: 8a3d927c-51ce-d7d4-e5d1-acd928826db2
Content: Python developer reference for Azure Functions
Content Source: articles/azure-functions/functions-reference-python.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Hi @KSLiquid Thanks for reaching out. We will review and update as appropriate.

@KSLiquid Try using from app.SharedCode import module .
Reference: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#folder-structure

It works! thanks a lot :)
The reference says to write
from app.Shared instead of app.Shared, this was my problem

Hi @KSLiquid,
We recently updated the documentation on Python folder structure which no longer requires app namespace. Please try it out https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#folder-structure.


FDP_CER_EXT.1.2/OLTleaf CA Flag Standards Compliance

FDP_CER_EXT.1.2/OLTleaf says "basicConstraints is populated with CA flag equal to false"
Since the default value for the CA flag is false, the DER encoding rules indicate proper encoding is to omit the CA flag to indicate a value of false. Most implementations gracefully handle a false value; however, the FP should not require issuance of non-standard certificates.
Please see https://lightshipsec.com/x-509-cafalse-testing/ for additional technical details.

It is preferable for leaf certificates not to include basicConstraints but if included, it is permissible for the CA flag either to be set explicitly to FALSE or to be omitted entirely. FDP_CER_EXT.1.2/OLTleaf updated accordingly. Believe this can be closed.


Update ICBINV to 2021.6.0

I asked the developer to tag a new version, since the last commit fixes the constant redrawing

Looks good 👍.
Seems that the python3 version was updated, will do that today and merge the PR afterwards

Your changes are included in #251

Thanks, I was busy with other stuff :)


[storage/blob,file-datalake] Fix browser mappings for BufferScheduler.js

The browser mapping for BufferSchedule.js was not updated/not added during refactoring in #11005.  This PR fixes the issue by updating the mapping paths for blob and adding the mapping for file-datalake.

@ljian3377 @EmmaZhu It looks that file-share has not been updated to use BufferScheduler from storage-common?

API change check for @azure/storage-blob
API changes are not detected in this pull request for @azure/storage-blob

API change check for @azure/storage-file-datalake
API changes are not detected in this pull request for @azure/storage-file-datalake


Update pull_request_template.md with CI/CD instructions

Our CI/CD doesn't run automatically for external contributions anymore. This leads to unnecessary back and forth for issues like linter errors or mispellings. This will hopefully surface these issues earlier in the PR process and result in PRs getting merged sooner.

closing in favor of #728


Treat client cert as one auth candidate in addition to auth headers

Summary of the changes / Why this improves CrateDB
Checklist

[ ] Added an entry in CHANGES.txt for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[ ] Touched code is covered by tests
[ ] CLA is signed
[ ] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Looks like this won't be needed


Sample food images not populating.

Describe the bug
Sample food images are not appearing in the app.
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-nvbzmm
Steps to reproduce

In the messaging prompt, I typed: Add sample photos of restaurant food for the preview
The prompt kept spinning.
It said it was complete.
Images were missing.

Expected behavior
I was supposed to see sample food images, also the functionality bar on the bottom of the app is not working.
Screen Recording / Screenshot
No response
Platform
Browser name = Firefox
Full version = 132.0
Major version = 132
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
performance.memory = undefined
Username = i669164
Chat ID = 320cccae982e

Additional context
No response

Appreciate the feedback! At times, there are programming challenges that are too complex for the AI to solve and manual intervention is required. Here, you may need to determine the file path of the images in the Bolt file system and make sure the correct file path to these images is specified in the code. This Bolt Help Center has additional resources on using Bolt most effectively. Hope this helps!


[Action]: GitHub get User

Contact Details
No response
Action Name
GitHub get User
Action Inputs
username
Action Outputs
response
Comments
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

What should the output be for this one?
We only get the username as output from this API.


Merge pull request #35 from eosho/main

main into dev

/monitoring-app

Hey, @eosho!
:rocket: Deploying monitoring to  is beginning! :rocket:


Implement keyboard navigation

As a minimal implementation: when in a codelab step, users should be able to havigate to next/prev steps using left/right arrows. This is also used in some in-person led tranining with a pointer device which can emit keyboard events.
Also see https://github.com/googlecodelabs/codelab-components/issues/46 and  https://github.com/googlecodelabs/codelab-components/pull/48 for additional features requested, related to keyboard navigation.

Fixed.


Istio 1.6 and the future of apigee-istio

Istio released 1.6, and I think most of the guides and integration between Apigee and Istio is broken. Mixer is soon to be deprecated, is there any future plan on this. I would love to be working on fixing and migrating from Mixer.

Thanks for your interest! I’d be interested to know what you’ve seen that’s broken. Yes, I have been working on a replacement that is tied only to envoy and an official announcement will be forthcoming very soon.

I will try to document what goes wrong in Istio 1.6. Is using the free 60 days in Apigee ok enough for the test? (There are some differences in the UI and some functionalities, just making sure)

Yes, the trial version should work just fine. I really appreciate you letting me know anything you find!

This will be a long post, lol!

Environment
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.8-gke.15", GitCommit:"9cabee15e0922c3b36724de4866a98f6c2da5e6a", GitTreeState:"clean", BuildDate:"2020-05-01T21:47:04Z", GoVersion:"go1.13.8b4", Compiler:"gc", Platform:"linux/amd64"}

$ istioctl version
# 1.5 is the introduction of istiod, so I tested with 1.5.4, but 1.6 should be the same.
client version: 1.5.4
control plane version: 1.5.4
data plane version: 1.5.4 (4 proxies)

$ apigee-istio version
# build from commit ee8d9f26fa75ead17e800aeef3f72eb27204da5a
apigee-istio version dev unknown [unknown]

$ cat samples/apigee/adapter.yaml | grep "image: .*"
image: "gcr.io/apigee-api-management-istio/apigee-adapter:nightly"

Additional Istioctl
$ istioctl manifest apply --set profile=demo
- Applying manifest for component Base...
✔ Finished applying manifest for component Base.
- Applying manifest for component Pilot...
✔ Finished applying manifest for component Pilot.
  Waiting for resources to become ready...
  Waiting for resources to become ready...
  Waiting for resources to become ready...
  Waiting for resources to become ready...
- Applying manifest for component IngressGateways...
- Applying manifest for component EgressGateways...
- Applying manifest for component AddonComponents...
✔ Finished applying manifest for component EgressGateways.
✔ Finished applying manifest for component IngressGateways.
✔ Finished applying manifest for component AddonComponents.

$ kubectl -n istio-system get cm istio -o<EMAIL_ADDRESS>| grep disablePolicyChecks
# ❌ This one is broken, depracated on istio.io/docs
disablePolicyChecks: true

Reproduce
I strictly followed this: https://docs.apigee.com/api-platform/istio-adapter/install-istio_1_1
Apigee UI
First is the Apigee UI error: https://docs.apigee.com/api-platform/istio-adapter/install-istio_1_1#3_create_an_api_product. This has been updated to new UI and there is no textbox to enter istio-services. I have to manually running $ apigee-istio bindings add helloworld.default.svc.cluster.local hello-istio-product -u $USERNAME -p $PASSWORD -o $ORG -e $ENV to understand where it is.

Apigee Authorization with x-api-key
During the step: https://docs.apigee.com/api-platform/istio-adapter/install-istio_1_1#configure_the_apigee_adapter
$ kubectl apply -f samples/apigee/
deployment.apps/apigee-adapter unchanged
service/apigee-adapter unchanged
policy.authentication.istio.io/auth-spec unchanged
instance.config.istio.io/apigee-authorization unchanged
instance.config.istio.io/apigee-analytics unchanged
template.config.istio.io/apigee-authorization unchanged
template.config.istio.io/apigee-analytics unchanged
adapter.config.istio.io/apigee unchanged
handler.config.istio.io/apigee-handler unchanged
rule.config.istio.io/apigee-rule unchanged

$ curl http://$HELLOWORLD_URL/hello
# This still show 200 while documents showing "PERMISSION_DENIED:apigee-handler.apigee.istio-system:missing authentication"
Hello version: v1, instance: helloworld-v1-578dd69f69-dnfh2

I tried the debugging tips from the wiki but there are no Mixer pods to get logs.
Also, the Quota won't work because it relied on the Header of x-api-key.
JWT
JWT does work because this is still a valid API. But this is going to change soon.
I use $ apigee-istio to create and pass the token and this is working fine.
$ cat samples/apigee/authentication-policy.yaml
---
# Define an Istio Auth Policy
apiVersion: "authentication.istio.io/v1alpha1"
kind: Policy
metadata:
  name: auth-spec
  namespace: default
spec:
  targets:
  - name: helloworld
  peers: []
#  - mtls: {}  # uncomment if you're using mTLS between services in your mesh
  origins:
  - jwt:
      issuer: https://$ORG-$ENV.apigee.net/istio-auth/token
      jwks_uri: https://$ORG-$ENV.apigee.net/istio-auth/certs
  principalBinding: USE_ORIGIN

I believe the key is for you to install istio with the policy enabled. Try this:
istioctl manifest apply --set profile=demo --set components.policy.enabled=true

$ kubectl -n istio-system get cm istio -o<EMAIL_ADDRESS>| grep disablePolicyChecks
disablePolicyChecks: false

The docs on istio mentioned this, but this does solve the PolicyChecks.

Alternatively, you may install Istio using the demo profile, which enables policy checks by default.

But x-api-key still doesn't work.

The other thing I noticed offhand is that you don't seem to be using a released version?
$ apigee-istio version
# build from commit ee8d9f26fa75ead17e800aeef3f72eb27204da5a
apigee-istio version dev unknown [unknown]

I'd recommend sticking to a released version. The release is known to work with Istio 1.5 and you said you're using 1.5.  So, I'd start over with the latest release and use -f for provisioning to ensure you get the correct proxy. Then, I'd walk through this: https://github.com/apigee/istio-mixer-adapter/wiki/Debug-Authorization-check-in-Istio-1.1.x

Update: With the deprecation of Istio's Mixer and policy support, we have created a new project that relies only on Envoy, but still integrates with and allows policy control in Istio. Please check out the Apigee Envoy Adapter project.

Is the Apigee Envoy Adapter code available ?

Yes, all source code is available.
https://github.com/apigee/apigee-remote-service-envoy
https://github.com/apigee/apigee-remote-service-cli
https://github.com/apigee/apigee-remote-service-golib