currency does not appear to populate when token is dropped

I've tested with confirming NPC type and and zero percent change of no currency. Error message:
TypeError: Cannot read property 'toLowerCase' of undefined
at Validator._isMatchingType (modules/dfreds-pocket-change/scripts/validator.js:84)

Thanks for the stack trace. What is the creature type of the NPC you're dropping in set to? Examples: plant, giant, monstrosity, fiend, humanoid

tried on two different humanoids

yea, It doesn't appear that the error is thrown for other types

I feel like there might be some kind of migration error here or something. When you open the character sheet for that actor and hit the gear icon where Type goes, does it say it is a humanoid? Because otherwise I'm not having any issues.
I'll still add some safety checks so that doesn't happen though, so expect those in the near future.

bummer, yea looks like you are right. when I "reupdate" the type and then test again, it doesn't throw the error, so something must be messed up in my actor db.

thanks for helping troubleshoot

No problem. Migration issues are weird. I'll have an update out today to stop the error from being thrown

Fixed in 2.0.3


Could we come up a way to deploy the python frontend/backend only?

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

azd version?

run azd version and copy paste here.

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Have you tried running azd deploy? It will just deploy the app code, not do any of the provisioning steps.

The solution I've made to view just the frontend is:

navigate to './app/start.ps1' and add the line: param ([string] $deploy='build') to line 1 (before anything else)
scroll to line 57 and replace npm run build with the following code:

if ($deploy -eq "build") {
    Write-Host "Running build environment"
    npm run build
}
elseif ($deploy -eq "dev") {
    Write-Host "Running dev environment"
    npm run dev
}
else {
    Write-Host "Invalid deployment name"
    exit $LASTEXITCODE
}

Now, running start.ps1 normally should be the same, but running 'start.ps1 dev' will use npm run dev instead of npm run build and should update the frontend live. This solution does not work with the backend, however, so asking any questions will result in an error being returned as the answer. azd deploy should work as well for updating the frontend.

Have you tried running azd deploy? It will just deploy the app code, not do any of the provisioning steps.

Thanks. Could we specific mention it from the installation section?

@hanwesh Good idea, I'll make a PR to update the readme.
@wherewith Thanks for sharing. If you find a good setup that enables live reload of the frontend with a functioning backend, please do open a PR.

Readme update in https://github.com/Azure-Samples/azure-search-openai-demo/pull/417


connection: keep-alive not working with requests used in pyArango

Hi,
requests is used in the connection object of pyArango:
https://github.com/tariqdaouda/pyArango/blob/master/pyArango/connection.py
Though I only see one instance of the connection object being created and used through out the life of https://github.com/tariqdaouda/pyArango/blob/master/examples/debiangraph.py (I've added printfs in these cases) the http connection isn't re-used.
I've followed the connection between pyArango and ArangoDB with Wireshark, to find both of them sending connection: Keep-Alive thus the client instantly disconnecting the tcp connection after the HTTP-Requests is done.
I'm a bit out of Ideas howto better debug this, is there a smart way?

You're saying that wire shark shows the requests-based client sending Connection: keep-alive, is that right? If so, what is the server sending?

yes, its sending that. The server does send that too. Then the client closes the connection, just to open a new one in subsequent requests.

@dothebart It's hard to know exactly what's going on here, but the connection will be left open unless the Session is leaked, closed, or otherwise lost. The only other way the connection gets lost is if Connection: close is set.

Ok, we found the issue. The bearer object keeping the session object went out of scope and thus closed the connection.


Preserve original choices order in multi_select prompt when selecting

Adds SelectedChoices class to help keep the original choice order regardless of the selection order in multi_select prompt.

Coverage decreased (-0.1%) to 97.252% when pulling 58b1cf2703f6538e697a9e1ba489baab4ee697c6 on select-order into 3f9ef2ea859a47812bbca906161273d66a132f55 on master.

@DanielVartanov I decided to try and see how this may be solved. So far I get quite optimistic results. Thanks to caching selected items size there is even a small speed improvement over the baseline. Please review when you have a minute.

@piotrmurach sorry, can you please release the gem with this fix? I'm using tty-prompt for a script of guided deployment where this fix is the difference between uptime and downtime.

@DanielVartanov Unfortunately, I cannot release the gem yet. I'm in the middle of adding :quiet option and need to finish the newest pastel version. This is a major release that I need to get 'right' as many things have been changed internally and many gems rely on (see changelog). Can you not patch the keyspace method with the sort solution for the time being? The release is nearly ready but I don't want to commit to a deadline. I will let you know once a new version gets released. Sorry, I know that's not the answer you expected but I hope you understand. I'm struggling to find time at the minute but will do my best to release soon.

@piotrmurach I see, no problem, I didn't realise it is a bigger deal than I initially thought :+1:

@DanielVartanov There are many changes, including new conversions that don't raise errors but provide info to the user. I hope a better user experience. I'm currently following a hand-drawn chart with all the tty gems on it and updating/fixing them one by one. The tty-prompt and pastel are my sole focus at the minute as they're used by a few other gems. So I expect to release them soonish provided I make good progress and find the time.


Error in changing the status of an issue from Jira to defectdojo

Bug description
I integrated DefectDojo with Jira, everything is working fine, only when I try to change the status of an issue in Jira, it gives error 500 when trying to reflect on DefectDojo
Steps to reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Deployment method (select with an X)

[ ] Kubernetes
[X] Docker
[ ] setup.bash / legacy-setup.bash

Environment information

Operating System: [e.g. Ubuntu 18.04]
DefectDojo Commit Message: [use git show -s --format="[%ci] %h: %s [%d]"]

Sample scan files (optional)
If applicable, add sample scan files to help reproduce your problem.
Screenshots (optional)

Console logs (optional)
n core 0)
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:29 +0000] "GET /alerts/count HTTP/1.1" 200 15 "http://<IP_ADDRESS>:8080/system_settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" "-"
uwsgi_1         | [pid: 17|app: 0|req: 489/1004] <IP_ADDRESS> () {46 vars in 832 bytes} [Sun Aug 16 21:44:29 2020] GET /alerts/count => generated 15 bytes in 6 msecs (HTTP/1.1 200) 6 headers in 180 bytes (1 switches on core 1)
uwsgi_1         | Internal Server Error: /webhook/
uwsgi_1         | Traceback (most recent call last):
uwsgi_1         |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
uwsgi_1         |     response = get_response(request)
uwsgi_1         |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
uwsgi_1         |     response = self.process_exception_by_middleware(e, request)
uwsgi_1         |   File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
uwsgi_1         |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
uwsgi_1         |   File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
uwsgi_1         |     return view_func(*args, **kwargs)
uwsgi_1         |   File "./dojo/jira_link/views.py", line 36, in webhook
uwsgi_1         |     parsed = json.loads(request.body.decode('utf-8'))
uwsgi_1         |   File "/usr/local/lib/python3.5/json/init.py", line 319, in loads
uwsgi_1         |     return _default_decoder.decode(s)
uwsgi_1         |   File "/usr/local/lib/python3.5/json/decoder.py", line 339, in decode
uwsgi_1         |     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
uwsgi_1         |   File "/usr/local/lib/python3.5/json/decoder.py", line 357, in raw_decode
uwsgi_1         |     raise JSONDecodeError("Expecting value", s, err.value) from None
uwsgi_1         | json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
uwsgi_1         | [pid: 1|app: 0|req: 516/1005] <IP_ADDRESS> () {52 vars in 877 bytes} [Sun Aug 16 21:44:29 2020] POST /webhook/?user_id=5ede4d30b5854a0abfbd704d&user_key=5ede4d30b5854a0abfbd704d => generated 27 bytes in 23 msecs (HTTP/1.1 500) 6 headers in 192 bytes (1 switches on core 0)
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:29 +0000] "POST /webhook/?user_id=5ede4d30b5854a0abfbd704d&user_key=5ede4d30b5854a0abfbd704d HTTP/1.1" 500 27 "-" "Atlassian Webhook HTTP Client" "<IP_ADDRESS>"
uwsgi_1         | [pid: 17|app: 0|req: 490/1006] <IP_ADDRESS> () {50 vars in 989 bytes} [Sun Aug 16 21:44:32 2020] GET /alerts/count => generated 15 bytes in 8 msecs (HTTP/1.1 200) 6 headers in 180 bytes (1 switches on core 0)
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:32 +0000] "GET /alerts/count HTTP/1.1" 200 15 "https://meudojo.com.br/product/39/finding/open?test__engagement__product=39" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0" "<IP_ADDRESS>"
uwsgi_1         | [pid: 1|app: 0|req: 517/1007] <IP_ADDRESS> () {46 vars in 832 bytes} [Sun Aug 16 21:44:39 2020] GET /alerts/count => generated 15 bytes in 6 msecs (HTTP/1.1 200) 6 headers in 180 bytes (1 switches on core 1)
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:39 +0000] "GET /alerts/count HTTP/1.1" 200 15 "http://<IP_ADDRESS>:8080/system_settings" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" "-"
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:39 +0000] "GET / HTTP/1.1" 302 0 "-" "ELB-HealthChecker/2.0" "-"
uwsgi_1         | [pid: 1|app: 0|req: 518/1008] <IP_ADDRESS> () {34 vars in 396 bytes} [Sun Aug 16 21:44:39 2020] GET / => generated 0 bytes in 0 msecs (HTTP/1.1 302) 7 headers in 215 bytes (1 switches on core 0)
nginx_1         | <IP_ADDRESS> - - [16/Aug/2020:21:44:43 +0000] "GET /alerts/count HTTP/1.1" 200 15 "https://meudojo.com.br/product/39/finding/open?test__engagement__product=39" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0" "<IP_ADDRESS>"
Additional context (optional)
Add any other context about the problem here.

Can you add some logging to the webhook and post the json body  here that is causing the exception?

Please come to slack if you're still experiencing errors.


Upgraded ESLint to 5.4.0 + other dependencies

Nothing crazy. Just trying to keep things up to date.
I've been running all these upgrades in my personal projects for a while with no issues.
ESLint rule updates:

react/destructuring-assignment: New rule. Disabled it by default. It expects you to ALWAYS destructure this.props.whatever or this.state.whatever using const {whatever} = this.props;. Overkill IMO.
no-unused-vars and react/jsx-uses-vars: Explicitly enabled no-unused-vars and added jsx-uses-vars since it does not detect variables used in JSX anymore.
jsx-a11y/label-has-for: Deprecated. Errors that can't be fixed if you use custom components like <Input> or <Label>
jsx-a116/label-has-associated-control: Similar to above but allows you to specify custom component names so kept it.

Coverage remained the same at 100.0% when pulling c148901d5e14cb9ce8bb2b90acbb244950e53376 on eslint-upgrade-and-maintenance into<PHONE_NUMBER>0c3eddb0a1ac736db85c6ec257d86c on dev.

LGTM


Fix String::num_real and test cases when compiling with doubles

This PR does three things:

Fix a bug in String::num_real that causes trailing zeros to appear. I discovered this problem when testing float=64, but I was able to create a test case that reproduces the problem with float=32 on the current master:

CHECK_MESSAGE(String::num_real(3.1415f) == "3.1415", "Prints only reliable digits of 32-bit float when real_t = float.");

tests/test_string.h:372: ERROR: CHECK( String::num_real(3.1415f) == "3.1415" ) is NOT correct!
  values: CHECK( "3.141500" == 3.1415 )
  logged: Prints only reliable digits of 32-bit float when real_t = float.

Fix a bug in String::num_real when compiling with float=64 that causes integer overflows. The problem is that int only gives us 9 decimal digits, but we need at least 14 for doubles. I switched type to int64_t to fix the bug. Note that this will need to be changed to int128 if we ever decide to add float=128 as an option.

core/string/ustring.cpp:1673:22: runtime error: signed integer overflow: 999999999 * 10 cannot be represented in type 'int'
core/string/ustring.cpp:1672:34: runtime error: 1.41593e+10 is outside the range of representable values of type 'int'
core/string/ustring.cpp:1672:22: runtime error: signed integer overflow:<PHONE_NUMBER> * 10 cannot be represented in type 'int'
core/string/ustring.cpp:1676:29: runtime error: 1.41593e+10 is outside the range of representable values of type 'int'
core/string/ustring.cpp:1691:19: runtime error: 1.41593e+14 is outside the range of representable values of type 'int'

Add several more test cases for String::num_real with messages.

Thanks!


Added 'attempt_id' to the RuntimeParams

When tracking the state of the sessions/attempts on a distinct system, it's necessary for the task code to have access to the attempt_id.

@pdelagrave Thank you! Looks good. But our CI is failing and it looks like the failure is deterministic. Can you take a look when you get a chance?
acceptance.BuiltInVariablesIT > testRun FAILED
    java.lang.AssertionError:
    Expected: is <23>
         but: was <22>
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
        at org.junit.Assert.assertThat(Assert.java:956)
        at org.junit.Assert.assertThat(Assert.java:923)
        at acceptance.BuiltInVariablesIT.testRun(BuiltInVariablesIT.java:80)

@pdelagrave And can I ask you to update document site for your change? The doc is digdag.git/digdag-docs/src/workflow_definition.rst.
http://docs.digdag.io/workflow_definition.html#using-variables

@pdelagrave good point. I sometimes use the option tests. And CI_ACCEPTANCE_TEST=true environment variable is required for digdag-tests testing. I will update README.md.
$ CI_ACCEPTANCE_TEST=true ./gradlew digdag-tests:test --info --tests acceptance.BuiltInVariablesIT

I've updated the code based on the last comments, let me know if there's still something to improve.
Thanks,
Pierre


Former flash messages reappear when a new one is displayed

I just set up unobtrusive_flash gem in my Rails 4 App.
I am using V3.1.0 of the gem with bootstrap pack.
If i don't manually delete flash message by clicking on the cross or if i don't refresh the page, the flash messages are not destroyed and are redisplayed with the new ones. redirecting doesn't seem to destroy flash message. neither flashOptions['timeout']. It just make them disappaer until the next new flash message is displayed.
So when a new flash message is dispalyed, instead of having just the new one, i have also all former ones (except the ones i have manually deleted) since the last refresh
Thanks for your help

You can try using
flash.now[:notice] = 'This is my notice'

If that does not work, try this
https://github.com/pruchai/unobtrusive_flash/commit/9d70621ce665e99b13517b4e7ebbe5ddebcab822

flash.now[:notice] didn't work for me. @pruchai which line in that commit should help?

see the pavelgnom fork. it fixed it for me.

@mkaplan9 thanks for noticing! I'll pull that fix asap. (cc @pavelgnom)

Closing this as it was in fact pulled and released in v3.1.1


Auto-restrict commenting N days after issue close

We often get new comments on super-old issues with users encountering similar problems. They comment on the old thread and either someone happens to notice it or not, and it gets handled or not.
It would be nice as an option of oss-bot to have it automatically restrict comments N days after an issue is closed and post a message something like:

This issue has been marked as closed and is now closed for comments. If you are experiencing a similar issue, please file it as a new report with all relevant details.

@mbleigh this is already supported, if you look at the config internally this is the lock_days param and we're already using it on some of our SDKs.
For example:
https://github.com/firebase/firebase-ios-sdk/issues/7657#event-4549706960
Just let me know if you want this enabled on a repo you manage.


Installer Zip File Hash?

I'm a little surprised that you do not publish a hash of the installer zip file. I'm sure the installer is signed but how do I know the zip file wasn't corrupted during download without a hash of it. Seems like that would be a good idea. I didn't see this issue addressed before. Did I miss that?

The code itself is signed and will not not run if corrupted.  Shouldn't be any need to post hashes.  Zip also has a CRC included in it to identify corruption.
I would recommend using https to download :)


Add MLS

@aquestry The first verification stage is complete: the official domain for  Martin Luther Schule Rimbach is mls-rimbach.de, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://mls-rimbach.de/office365/

Yes that ist corret, but the E-Mails are with the Domain MLS.kbs.schule

mls.kbs.schule will redirect to mls-rimbach.de in a Browser

@aquestry The first verification stage is complete: the official domain for  Martin Luther Schule Rimbach is mls-rimbach.de, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://mls-rimbach.de/office365/


App not usable for iPhone 6 and lower

Current Implementation
App is not usable with my iPhone 6 (iOS 12.4.6)
Suggested Enhancement
This app should be usable for people with older mobile phones!
Expected Benefits
This app does only work if as many people as possible use it. If you limit the usage to new mobile devices you exclude lots of people (mainly the less wealthy) which can be interpreted as a kind of discrimination - No money for a new mobile phone? Sorry, you cannot use the app!

The interface for the app was made available by Apple only with recent iOS updates - since 13.5. We also stated that in our FAQ: https://www.coronawarn.app/en/faq/
Unfortunately, there is nothing we can do about this as app developers.
Mit freundlichen Grüßen/Best regards,
SW
Corona Warn-App Open Source Team

So there is no chance that the app will run on anything lower than 13.5?
I don't wanna upgrade to 13.5 as this would mean loosing my jailbreak (Jailbreak for 13.5.5 is still in beta).

There definitely should be fallback solutions to this. If the core of the app depends on a library only available to a limited amount of users, it is pretty much worthless.
This issue should be reopened and addressed!

@Argee88 Maybe you can file a radar with Apple, so they can change it? Here's the link 😊 Unfortunately, it is up to them to support this functionality on older phones. 🤷

@melloskitten will do. It doesn't change my opinion, that

Unfortunately, there is nothing we can do about this as app developers.

is utterly wrong and this issue should be reopened and addressed.

+1 please reopen, as Apple may release a support update for iOS 12 or earlier.

@Argee88
@SebastianWolf-SAP as one of the projects developers actually concluded correctly and everything needed to be said was said.
The opinion can't be "utterly wrong" if the development team is using software, frameworks or APIs constrained by the vendor. It is simply not possible to ship software to environments where fundamental software code the application relies on is not bundled with.
If there was a viable way of providing support for older phones (and especially OSs), therefore increasing potential audience to help detect infection chains, obviously the application would target the oldest/earliest possible deployment target.
If you do not have a background in software engineering and don't understand this, I can give you a real life analogy, just ping me again.
@richardbrammer
On a side note: I personally don't expect Apple to ship a software update for iOS 12 (or earlier) to deliver these APIs. There is several reasons why this seems unlikely.
To keep things organized, I vote for keeping this ticket closed until there is a valid reason to reopen.
How is the situation with Android? I expect this being worse, as hardware manufacturers like to tamper with the stock Android before releasing it to their devices and Android hardware half life tends to be shorter than these of iOS devices in general.

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it? I'm pretty sure there would be implementations that don't have to be baked in the OS. Afterall, looking at the documentation of the architecture, the Exposure-Notification-Framework (admittingly I'm guessing that that is what we are talking about) is just a component that should be replaceable by another implementation. Using a framework does not necessarily mean, that there is no other way to implement something.
I don't see, why developing an alternative implementation and switching between implementations according to the underlying OS is something, that can't be done.
If your real life analogy explains it, I'm happy to hear and understand.

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it? I'm pretty sure there would be implementations that don't have to be baked in the OS. Afterall, looking at the documentation of the architecture, the Exposure-Notification-Framework (admittingly I'm guessing that that is what we are talking about) is just a component that should be replaceable by another implementation. Using a framework does not necessarily mean, that there is no other way to implement something.
I don't see, why developing an alternative implementation and switching between implementations according to the underlying OS is something, that can't be done.
If your real life analogy explains it, I'm happy to hear and understand.

From the beginning of this project it was clear that the „Corona Warn App“ will use the Exposure Notification Framework and not a third party or self developed solution. There are many good reasons for that.

I see...

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it?

Precisely. Because otherwise you'd have to implement a lot of ugly hacks, as basically the bluetooth discovery feature is "misused" for this (you don't need to explicitly connect to a nearby device for this to work) — and as modern OSs are heavily sandboxed there's just no sane way to do so without seriously endangering the safety of the users.
But this is a highly philosophical debate going towards "Why are there only two closed-source operating systems" which is way above the level of this issue tracker.
As I mentioned in another comment: We need public pressure on both Apple and Google to provide backport fixes to older versions of their operating systems. Hence: Let's take this to Twitter!

@Argee88

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it?

Yes, exactly.

I'm pretty sure there would be implementations that don't have to be baked in the OS. Afterall, looking at the documentation of the architecture, the Exposure-Notification-Framework (admittingly I'm guessing that that is what we are talking about) is just a component that should be replaceable by another implementation. Using a framework does not necessarily mean, that there is no other way to implement something.

Simplest of many reasons this assumption is wrong:
There is no public interface for devices to exchange data via bluetooth constantly, if this functionality is not supplied by the device itself.
Which is the case here, hence the requirement for the OS supporting this functionality.

I don't see, why developing an alternative implementation and switching between implementations according to the underlying OS is something, that can't be done.

This would, for example, make targeting almost impossible.
An iOS application supports operating systems starting from a certain version. With the EN-Framework this being from 13.5.
Assuming we'd have an iOS 12 candidate supporting EN-Framework, this would result in an impossible target configuration:
Valid targets: iOS 12.x and >iOS 13.5 but no version in-between (iOS 13 - 13.4)

Assuming we'd have an iOS 12 candidate supporting EN-Framework, this would result in an impossible target configuration:
Valid targets: iOS 12.x and >iOS 13.5 but no version in-between (iOS 13 - 13.4)

That's not impossible, it's perfectly valid with SemVer:

>iOS 12.x && <iOS 13.x | >iOS 13.5 (not the right syntax but something like that)

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it?

Precisely. Because otherwise you'd have to implement a lot of ugly hacks, as basically the bluetooth discovery feature is "misused" for this (you don't need to explicitly connect to a nearby device for this to work) — and as modern OSs are heavily sandboxed there's just no sane way to do so without seriously endangering the safety of the users.

@nathanlesage  This is not exactly true / out of context.
You are right, bluetooth discovery can be misused to determine nearby devices but for this to work the "misusing" application or framework must be running in foreground at all times.
The benefit of the EN-Framework being a system capability is constant monitoring at all times and dispatching the "results" of that to the application whenever the application requests this.
Reason why the EN framework is not publicly available for other developers, this could lead to heavy misuse.

As I mentioned in another comment: We need public pressure on both Apple and Google to provide backport fixes to older versions of their operating systems. Hence: Let's take this to Twitter!

Just don't do it.

Assuming we'd have an iOS 12 candidate supporting EN-Framework, this would result in an impossible target configuration:
Valid targets: iOS 12.x and >iOS 13.5 but no version in-between (iOS 13 - 13.4)

That's not impossible, it's perfectly valid with SemVer:

>iOS 12.x && <iOS 13.x | >iOS 13.5 (not the right syntax but something like that)

It is impossible if you want to distribute your application onto actual devices.
If an app targets iOS 12.x it will run on iOS 13. iOS 13 does not bundle the framework (nor has the system capabilities implemented for this to work).
That's where your problems start.

How is the situation with Android? I expect this being worse, as hardware manufacturers like to tamper with the stock Android before releasing it to their devices and Android hardware half life tends to be shorter than these of iOS devices in general.

Google didn't put the API into Android. They put the API into the Google Play Services, which are updated like a normal system app. The Android API works with Android 6 or newer.

@Argee88

Following that argumentation there wouldn't be a corona-warn-app, if both google and apple didn't provide a library for it?

Yes, exactly.

I'm pretty sure there would be implementations that don't have to be baked in the OS. Afterall, looking at the documentation of the architecture, the Exposure-Notification-Framework (admittingly I'm guessing that that is what we are talking about) is just a component that should be replaceable by another implementation. Using a framework does not necessarily mean, that there is no other way to implement something.

Simplest of many reasons this assumption is wrong:
There is no public interface for devices to exchange data via bluetooth constantly, if this functionality is not supplied by the device itself.
Which is the case here, hence the requirement for the OS supporting this functionality.

I don't see, why developing an alternative implementation and switching between implementations according to the underlying OS is something, that can't be done.

This would, for example, make targeting almost impossible.
An iOS application supports operating systems starting from a certain version. With the EN-Framework this being from 13.5.
Assuming we'd have an iOS 12 candidate supporting EN-Framework, this would result in an impossible target configuration:
If an app targets iOS 12.x it will run on iOS 13.

Is that impossible So let it install, check the Version on launch and tell the user to upgrade if  version is lower than 13.5.
But if they release an update supporting the framwork on 12.x, why should the leave out <13.5 ?

@MauriceArikoglu

This is not exactly true / out of context.

Where is what you said different to what I just said?

If an app targets iOS 12.x it will run on iOS 13.

Yeah, but then it's a problem with Apple. I've noticed in the past that even Debian doesn't adhere to SemVer rules. Nevertheless, this could be part of a not that difficult bugfix, enabling these ranges, so I don't see that much of an issue as you seem to. Basically, as @Hypernut has said.

Google didn't put the API into Android. They put the API into the Google Play Services

Oh boy …

Perhaps someone should take care of the App Store claiming it to be available for iPhone6.
I got an iPhone6 and the App Store clearly states the App to be available for that system. It is a minor hassle, but it leads to people trying to install it, checking their OS for upgrades, possibly even freeing up memory by deleting lots of content, because they might think updating their OS is being prevented by a memory shortage.
If the AppStore claims the app to be available for the phone, but only runs on a newer OS, it is only natural to try updating the OS by any means.
The App Store shouldn’t be claiming the app to be available for the hardware, when it is not applicable for any viable OS for that phone.

@nathanlesage This is not exactly true / out of context.
You are right, bluetooth discovery can be misused to determine nearby devices but for this to work the "misusing" application or framework must be running in foreground at all times.
The benefit of the EN-Framework being a system capability is constant monitoring at all times and dispatching the "results" of that to the application whenever the application requests this.
Reason why the EN framework is not publicly available for other developers, this could lead to heavy misuse.

Is the simple iBeacon setup of iOS not the same exact setup in the end? Using Bluetooth BLE PXP profile to implement proximity sensing between phones would work just as well? I am not sure if there would be a compatibility issue between iOS and Android, but it would definitely run in the background just fine, like loads and loads of iBeacon tools do today?!

Assuming we'd have an iOS 12 candidate supporting EN-Framework, this would result in an impossible target configuration:
If an app targets iOS 12.x it will run on iOS 13.

Is that impossible? Just let it run, check the Version on launch and tell the user to upgrade if version is lower than 13.5.
But if they release an update supporting the framwork on 12.x, why should the leave out <13.5 ?

Yes it's impossible as it would result in a linker error on launch. You would need target specific linker configuration which is not possible afaik.

@MauriceArikoglu

This is not exactly true / out of context.

Where is what you said different to what I just said?

@nathanlesage

as basically the bluetooth discovery feature is "misused" for this (you don't need to explicitly connect to a nearby device for this to work)

This statement is false, as you would not be able to copy the system functionality EN provides by "misusing" bluetooth capabilities.
That's what my comment referred to.

Perhaps someone should take care of the App Store claiming it to be available for iPhone6.
I got an iPhone6 and the App Store clearly states the App to be available for that system. It is a minor hassle, but it leads to people trying to install it, checking their OS for upgrades, possibly even freeing up memory by deleting lots of content, because they might think updating their OS is being prevented by a memory shortage.
If the AppStore claims the app to be available for the phone, but only runs on a newer OS, it is only natural to try updating the OS by any means.
The App Store shouldn’t be claiming the app to be available for the hardware, when it is not applicable for any viable OS for that phone.

There should be a warning on the App Store page informing about incompatibility.
Pretty clear if a device is unsupported imo.

@nathanlesage This is not exactly true / out of context.
You are right, bluetooth discovery can be misused to determine nearby devices but for this to work the "misusing" application or framework must be running in foreground at all times.
The benefit of the EN-Framework being a system capability is constant monitoring at all times and dispatching the "results" of that to the application whenever the application requests this.
Reason why the EN framework is not publicly available for other developers, this could lead to heavy misuse.

@MauriceArikoglu
Is the simple iBeacon setup of iOS not the same exact setup in the end? Using Bluetooth BLE PXP profile to implement proximity sensing between phones would work just as well? I am not sure if there would be a compatibility issue between iOS and Android, but it would definitely run in the background just fine, like loads and loads of iBeacon tools do today?!

This would only work if every user ran around with his/her unlocked phone and application running in foreground at all times.
In other words: this is impossible.
Hence my statement to @nathanlesage - "misusing" bluetooth is not possible. This functionality is provided by system as is and is not reproducible on iOS that way.

@MauriceArikoglu +1
Also implementing a solution without use of the „EN framework“ would open possible new attack vectors and raise privacy concerns, because the app would have to handle the key/identifier database itself. The „EN framework“ does a excellent job in isolating every information that it collects and only exposing a little API to exchange identifiers with the activate tracing app. But as you already stated, the biggest downside would be the missing deep OS integration making background services not working like needed.

@MauriceArikoglu +1
Also implementing a solution without the use of the „EN framework“ would open possible new attack vectors and raise privacy concerns, because the app would have to handle the key/identifier database itself. The „EN framework“ does a excellent job in isolating every information that it collects and only exposing a little API to exchange identifiers with the activate tracing app. But as you already stated, the biggest downside would be the missing deep OS integration making background services not working like needed.

Yes. I don't understand why this is so hard to grasp.
With current technical possibilities on iOS there is no way to accomplish what is needed to perform work this app does.
The only possibility for unsupported devices to become supported would be a sudden upgradeability to iOS 13.5 for these devices. Apple only did this once for iPods and if I recall correctly once for Macs as well. But I really don't see this coming: If iPhone 6 and lower were made to run iOS 13 they would've been supported from day 1. There's likely a good reason Apple decided to spare them from this update.

Personal side note: Apple has, by far, the longest TTL for popular-demand consumer devices. Modern Software requires modern hardware and innovation sometimes causes things to be left behind. That's life.


add analysis raises a javascript exception

go to a layer and click on add analysis
select any analysis and click on "done"

it raises a javascript exception: simpleGeometryTypeInput is required

This is a duplicate of https://github.com/CartoDB/cartodb/issues/7728.


hash_including for Headers

I would really like to use the hash_including matcher on HTTP Headers:
stub_request(:post, 'https://test.host').
      with(
        body: expected_body
        headers: hash_including(expected_headers))

However I am getting this error:
     Failure/Error: stub_request(:post, 'https://test.host').
 NoMethodError:
   undefined method `map' for #<RSpec::Mocks::ArgumentMatchers::HashIncludingMatcher:0x007fc81488e530>

I suppose it is raised on this line

weirdly, I am having the same problem as the OP :/
When I omit hash_including Webmocks complains that the headers were not as expected.

Nevermind. It was user error :) ... I had a typo in my headers. Confirming that it works alright without using hash_including

For anyone that landed here: https://stackoverflow.com/a/49360133/2724342
Web mock header and params need to be an exact match. Most mismatched is from symbol/string keys.

I understand that header matching only occurs on the subset of headers passed into the with(headers: ...subset...) method and this matches most of the hash_including functionality. It seems that hash_including can also match on keys being present (without values being specified, ie hash_including(:key1, :key2)). Is there a way to do that in a with(headers: KEYS_THAT_MOST_APPEAR) statement?

And how about hash_excluding? I'd like to test that my headers didn't not include any Authorization key.

I think my use case is the inverse of that - verify that headers include an Authorization key but I don't care what it is specifically (in fact I might not even be able to know a priori).

@jdalt I wasn't really offering a solution to your problem but more adding another use case where it would help to be able to use matchers


[New Release] Duplicate "Customize Notebook Layout" Commands in the Palette

In VS Code 1.60 update, 2 commands named "Notebook: Customize Notebook Layout" show up in the Command Palette, with different IDs:

Apparently this is due to an inattentive copy-paste in commit 2e3cf16d12d50fd88841fe253db897e262946657, and the following line (in the declaration of the second command) should be changed to false:
https://github.com/microsoft/vscode/blob/2e3cf16d12d50fd88841fe253db897e262946657/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.ts#L80

Also, concerning duplicate commands, I always wonder how "Transpose Letters" command (defined here) differs from "Transpose Characters Around the Cursor" (here). They seem to do exactly the same thing.


CLEAN:  Reconcile types in pandas._typing.py and pandas-stubs._typing.pyi

There are some inconsistencies in types in pandas._typing.py and pandas-stubs._typing.pyi .  These should be reconciled.
In addition, types that are only in the stubs should probably be private with a leading underscore _

Are there any tools that will help keep stubs in sync with pandas?  When I went through io/stata.py there were a lot of changes since these were originally collatted.

Are there any tools that will help keep stubs in sync with pandas? When I went through io/stata.py there were a lot of changes since these were originally collatted.

Not that I'm aware of.  Maybe stubtest could help

Might not make sense to fix all of them (some exist on main but not in 1.4.x) but it gives a quick overview what could be changed poe stubtest | grep "pandas\._typing"

pandas._typing.AggFuncTypeDict is not a type
pandas._typing.Axes is not a Union
pandas._typing.AxisType is not present at runtime
pandas._typing.BaseBuffer.init is inconsistent, stub does not have *args argument "args"
pandas._typing.Buffer is not present at runtime
pandas._typing.CompressionDict is not a type
pandas._typing.ConvertersArg is not present at runtime
pandas._typing.DateTimeErrorChoices is not present at runtime
pandas._typing.DatetimeLikeScalar is not a TypeVar
pandas._typing.DtypeNp is not present at runtime
pandas._typing.FileOrBuffer is not present at runtime
pandas._typing.FilePathOrBuffer is not present at runtime
pandas._typing.FilePathOrBytesBuffer is not present at runtime
pandas._typing.FrameOrSeries is not present at runtime
pandas._typing.FrameOrSeriesUnion is not present at runtime
pandas._typing.FuncType is not a recognised type alias
pandas._typing.Function is not present at runtime
pandas._typing.GroupByObject is not present at runtime
pandas._typing.GroupByObjectNonScalar is not present at runtime
pandas._typing.HashableT is not present at runtime
pandas._typing.IgnoreRaise is not present at runtime
pandas._typing.IndexType is not present at runtime
pandas._typing.IndexingInt is not present at runtime
pandas._typing.IntervalClosedType is not present at runtime
pandas._typing.KeysArgType is not present at runtime
pandas._typing.Label is not present at runtime
pandas._typing.ListLike is not present at runtime
pandas._typing.MaskType is not present at runtime
pandas._typing.ParseDatesArg is not present at runtime
pandas._typing.ReadBuffer.init is inconsistent, stub does not have *args argument "args"
pandas._typing.S1 is not present at runtime
pandas._typing.ScalarT is not present at runtime
pandas._typing.SeriesAxisType is not present at runtime
pandas._typing.StrLike is not present at runtime
pandas._typing.T1 is not present at runtime
pandas._typing.T2 is not present at runtime
pandas._typing.WriteBuffer.init is inconsistent, stub does not have *args argument "args"
pandas._typing.XMLParsers is not a Union
pandas._typing.all is not present at runtime
pandas._typing.np_ndarray_anyint is not present at runtime
pandas._typing.np_ndarray_bool is not present at runtime
pandas._typing.np_ndarray_int is not present at runtime
pandas._typing.np_ndarray_int16 is not present at runtime
pandas._typing.np_ndarray_int32 is not present at runtime
pandas._typing.np_ndarray_int64 is not present at runtime
pandas._typing.np_ndarray_int8 is not present at runtime
pandas._typing.np_ndarray_str is not present at runtime
pandas._typing.np_ndarray_uint is not present at runtime
pandas._typing.np_ndarray_uint16 is not present at runtime
pandas._typing.np_ndarray_uint32 is not present at runtime
pandas._typing.np_ndarray_uint64 is not present at runtime
pandas._typing.np_ndarray_uint8 is not present at runtime
pandas._typing.num is not present at runtime
pandas._typing.type_t is not a type

Can this tell us which ones are in pandas._typing.py, but not pandas._typing.pyi ?
Also would be best if we could use what is in main from pandas just to keep things moving forward.

Can this tell us which ones are in pandas._typing.py, but not pandas._typing.pyi ?

I think so, would probably need to remove --ignore-missing-stub from the stubtest call.

Also would be best if we could use what is in main from pandas just to keep things moving forward.

stubtest will use whichever version of pandas that is installed. Currently, that is 1.4.x. I think pandas has nightly builds, we could install that in pyproject.toml instead of 1.4.x: but then we might get some "troubles" with pytests, more deprecation warnings (before 1.5) and breaking changes (after 1.5 is released).

Can this tell us which ones are in pandas._typing.py, but not pandas._typing.pyi ?

I wrote some quick&ugly ast parsing code to check when pandas-stubs has annotations but pandas has none (I have been using it for https://github.com/pandas-dev/pandas/pull/47827 and similar PRs). Could extend that, but stubtest without --ignore-missing-stub would be a better choice.

stubtest will use whichever version of pandas that is installed. Currently, that is 1.4.x. I think pandas has nightly builds, we could install that in pyproject.toml instead of 1.4.x: but then we might get some "troubles" with pytests, more deprecation warnings (before 1.5) and breaking changes (after 1.5 is released).

Maybe you could just figure out a way to run stubtest (but not mypy, pytest, etc.) against the current version in pandas/main so we can start reconciling the types.  There is good typing work in pandas that we can pull over to the stubs without making the stubs incorrect for 1.4.x

Could have a step ala "remove pandas 1.4x. and install pandas nightly" with an appropriate rollback.


Add a setup.py to generate the script

this way we can install easily with pipx:
pipx install git+https://github.com/rodfersou/swagger_to_uml.git

done

@nlohmann any reason for not merge this branch?

There is still an open suggestion regarding the email.

I see, sorry, didn't see that, done!

Thanks!


Implement softmax regression (categorical_logit_glm_lpmf)

Summary
Adds CPU implementation of softmax regression. Since the distribution that is used in this GLM is already implemented under the name categorical_logit_lpmf I named the GLM categorical_logit_glm_lpmf.
Tests
New tests are in test/unit/math/rev/mat/prob/categorical_logit_glm_lpmf_test.cpp .
Side Effects
None.
Checklist

[x] Math issue #1241

[x] Copyright holder: Tadej Ciglarič, University of Ljubljana
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[x] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[x] the new changes are tested

I measured the speedup compared the version that uses autodiff instead of analytic derivatives. Benchmark code is here. Results are in the graphs below.

There's an issue with this GLM in terms of whether you use K or K - 1 coefficient vectors.
The traditional approach in stats is to use K - 1 coefficient vectors because they're not identified otherwise.  With Bayesian models, you can identify them with the prior.  We've gone around and round on this over time, with the advantage of K coefficient vectors being symmetry and K - 1 being identifiability.
Which one are you using here, and if K, how are you dealing with the non-identifiability?
If you use K - 1, then the model's identified in the traditional sense (assuming the data's not separable).

Right now it uses K coefficient vectors and leaves it to the user so specify appropriate prior. If K-1 vectors is preferable, I can easily change that.

I almost think we should implement both, but it'd be super confusing having two.  I think if we only have one, it should probably be the K-based one.  I wonder what other people think.  We haven't done a lot of analysis on efficiency.  Lately, we've been moving more toward softer identifications with priors on groups of coefficients (like sum(alpha) ~ normal(0, 0.001)), but I don't know how to do that here.

Hey, I'd suggest just k. With k-1 we take away some freedom from the user (like Bob said, some might prefer "soft" identifiability constraint via prior) and with k-1 you have multiple possible interpretations what they mean. I'd go as far as to say that k-1 would be a bad idea.

with k-1 you have multiple possible interpretations what they mean

What the coefficients mean?  Don't they only have meaning in a relative sense because of the non-identifiability?   If you fix one of the coefficient vectors to zero, the other ones are all interpreted relative to that value.

with k-1 you have multiple possible interpretations what they mean

What the coefficients mean? Don't they only have meaning in a relative sense because of the non-identifiability? If you fix one of the coefficient vectors to zero, the other ones are all interpreted relative to that value.

What I wanted to say was that with k-1 you have to know which one the developer picked as the "-1". At least the 1st one and the k-th one are possible. That is, I have to read the documentation. :) And then I need to reorder my categories to put the one I want as the reference in the correct spot.

Just as a counterpoint — I’ve been running away from non-generative
“soft” prior constraints as quickly as I can, especially for categorical
models like this.  These constraints often induce nasty geometries.
Moreover assigning one category as an anchor makes the whole thing
more interpretable and facilities prior specification of the latent parameters.
In that case (K - 1) with a well-defined convention of where the anchor
class falls would be my vote.

On May 16, 2019, at 1:21 AM, Bob Carpenter<EMAIL_ADDRESS>wrote:
I almost think we should implement both, but it'd be super confusing having two. I think if we only have one, it should probably be the K-based one. I wonder what other people think. We haven't done a lot of analysis on efficiency. Lately, we've been moving more toward softer identifications with priors on groups of coefficients (like sum(alpha) ~ normal(0, 0.001)), but I don't know how to do that here.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/stan-dev/math/pull/1242?email_source=notifications&email_token=AALU3FQUBUD4GG3ZE4HMWLDPVRIELA5CNFSM4HNCPAXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPQSUI#issuecomment-492767569, or mute the thread https://github.com/notifications/unsubscribe-auth/AALU3FSUNMMQ3NY4UNJMINTPVRIELANCNFSM4HNCPAXA.

We discussed this issue in the Stan meeting today (@t4c1 --- we can send you the link if you'd like to attend---it's 11 am NY time on Thursdays).  The general consensus was that it should be coded with K - 1 categories.  There's no binding decision from our meetings, but @andrewgelman and @bgoodri were both there and preferred K - 1.   We haven't heard from a couple of our regression/modeling experts, @dpsimpson and @avehtari.
Andrew suggested you might have a motivating example for using K and identifying with a prior instead of K - 1.  If so, please share.

I don't have such an example, but @estrumbelj might have one.

We discussed this issue in the Stan meeting today (@t4c1 --- we can send you the link if you'd like to attend---it's 11 am NY time on Thursdays). The general consensus was that it should be coded with K - 1 categories. There's no binding decision from our meetings, but @andrewgelman and @bgoodri were both there and preferred K - 1. We haven't heard from a couple of our regression/modeling experts, @dpsimpson and @avehtari.
Andrew suggested you might have a motivating example for using K and identifying with a prior instead of K - 1. If so, please share.

What were the arguments for "K - 1"? It just doesn't make any sense to me.
By picking "K - 1" we are literally saying that this is the only possible way of identifying the model AND that the model must be identified.
On the other hand, going with "K" does not prevent the user from setting one row of Beta to zero. It is exactly what users have to do now with the categorical() and categorical_logit() when doing multinomial regression. And with "K" I have the additional freedom of choosing which category I want to use as the reference category.
Even the Stan manual categorical_logit example starts with a prior and then mentions k-1 as an alternative :) : https://mc-stan.org/docs/2_19/stan-users-guide/multi-logit-section.html

This GLMs raised a few specific and general questions on how GLMs should be implemented.
1. Should we implement it with K categories or K - 1 categories, enforcing that the K-th category as the reference category and identifying the model.
There seems to be a general consensus that in almost all cases you'd want to use a reference category. But there also exist cases where you (I) wouldn't want to. The shortest example I can come up with is when I'd want to regularize the coefficients for the covariates in my categorical logit regression (I might still use a reference for the intercepts). If I only have K-1 available, I'm forced to choose a reference category, breaking symmetry and making my results dependent on the category I chose.
My view is that if there is a possibility that K will be used, that option should be available. An additional argument for K is that you are still able to set a reference category by setting the corresponding column in beta. And it shouldn't mislead the Stan user into doing something silly, because users already have to "manually" set a reference category when doing categorical regression with categorical_logit().
On the other hand, going with K - 1 is strictly less flexible.
**2. Separate intercept or not or both? **
categorical_logit_glm_lpmf(y | x, alpha, beta)    VS   categorical_logit_glm_lpmf(y | x, beta)
I think having them separate is very useful. If nothing else, it makes it easier to regularize the coefficients, but not the intercept. The four GLMs that are currently in Stan are implemented only with separate intercept.
@syclik, you'll probably have something to add here.
**3. Signature/types/vectorization **
Based on what we discussed, I suggest the following:
categorical_logit_glm_lpmf(y | x, alpha, beta) =def= categorical_logit(y | alpha + x * beta);

y can be a scalar OR array of size n,
x can be a vector of size J OR n x J matrix (only if y is an array)
alpha is a vector of size K
beta is a J x K matrix.

J >= 0, K > 0, n > 0
The only broadcasting that should happen is when x is a vector and y is an array?
Anyway, someone needs to make a decision on these before we can move forward.

That's a good summary of our previous discussions (over years) on K vs. K - 1.
For 1, The main reason to use K - 1 is identifiability.  If you go with K, the joint density is only identified through the priors.
For 3, thanks for defining the suggested signatures.
I have one modification I'd like to propose to avoid dependencies in the arguments.  Specifically, I'd like to make the legal types for y and x independent.  If x is a matrix and y a scalar, y gets broadcast;  if x is a vector and y an array, then x gets broadcast.
Given that you don't suggest vectorizing alpha and beta, does that mean we won't be trying to cover discrete choice models with this GLM?  I think it's best not to include them, but it was on the table earlier, so I thought I'd check.

On May 24, 2019, at 9:49 AM, Erik Štrumbelj<EMAIL_ADDRESS>wrote:
This GLMs raised a few specific and general questions on how GLMs should be implemented.

Should we implement it with K categories or K - 1 categories, enforcing that the K-th category as the reference category and identifying the model.

There seems to be a general consensus that in almost all cases you'd want to use a reference category. But there also exist cases where you (I) wouldn't want to. The shortest example I can come up with is when I'd want to regularize the coefficients for the covariates in my categorical logit regression (I might still use a reference for the intercepts). If I only have K-1 available, I'm forced to choose a reference category, breaking symmetry and making my results dependent on the category I chose.
My view is that if there is a possibility that K will be used, that option should be available. An additional argument for K is that you are still able to set a reference category by setting the corresponding column in beta. And it shouldn't mislead the Stan user into doing something silly, because users already have to "manually" set a reference category when doing categorical regression with categorical_logit().
On the other hand, going with K - 1 is strictly less flexible.
**2. Separate intercept or not or both? **
categorical_logit_glm_lpmf(y | x, alpha, beta) VS categorical_logit_glm_lpmf(y | x, beta)
I think having them separate is very useful. If nothing else, it makes it easier to regularize the coefficients, but not the intercept. The four GLMs that are currently in Stan are implemented only with separate intercept.
@syclik, you'll probably have something to add here.
**3. Signature/types/vectorization **
Based on what we discussed, I suggest the following:
categorical_logit_glm_lpmf(y | x, alpha, beta) =def= categorical_logit(y | alpha + x * beta);
• y can be a scalar OR array of size n,
• x can be a vector of size J OR n x J matrix (only if y is an array)
• alpha is a vector of size K
• beta is a J x K matrix.
J >= 0, K > 0, n > 0
The only broadcasting that should happen is when x is a vector and y is an array?
Anyway, someone needs to make a decision on these before we can move forward.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

For 1, The main reason to use K - 1 is identifiability. If you go with K, the joint density is only identified through the priors.

This sounds like we have to give up indentifiability via reference category. Just to make it clear - if we go with K, no one will lose their right to identify their categorical logit with a reference category :)

For 3, thanks for defining the suggested signatures. I have one modification I'd like to propose to avoid dependencies in the arguments. Specifically, I'd like to make the legal types for y and x independent. If x is a matrix and y a scalar, y gets broadcast; if x is a vector and y an array, then x gets broadcast.

It just seemed to me that broadcasting the same value of y is not something that would come up. But thinking about it, I agree with what you wrote. It is more elegant even if it never comes up.

Given that you don't suggest vectorizing alpha and beta, does that mean we won't be trying to cover discrete choice models with this GLM? I think it's best not to include them, but it was on the table earlier, so I thought I'd check.

No, no discrete choice. I think it is a nice idea, but I don't think it is worth the extra implementation effort. And it would probably make it too complicated and confuse a lot of Stan users.
But it might be worth thinking about a "discrete_choice_logit_glm_lpdf" once we can do ragged structures.

I talked with @estrumbelj about argument types. The conclusion was a bit different than he wrote above.
Supported types should be:
y: std::vector or scalar - in case of single instance or broadcasting (Eigen::Vector and Eigen::RowVector are not needed)
x: Eigen::Matrix or Eigen::RowVector - in case of single instance or broadcasting (Special case for single attribute - Eigen::Vector is not needed)
alpha: Eigen::Vector (std::vector and Eigen::RowVector are not needed)
beta: Eigen::Matrix - no special cases for single attribute or class
If y is a scalar or x a Eigen::RowVector the values are broadcast - all instances use the same values.
@bob-carpenter Is this OK?
This is a bit tdifferent than other GLMs. They do not support broadcasting. Also y and alpha can be any of std::vector, Eigen::Vector or Eigen::RowVector. So I guess they should also be updated to match this?

On May 24, 2019, at 4:48 PM, Erik Štrumbelj<EMAIL_ADDRESS>wrote:
For 1, The main reason to use K - 1 is identifiability. If you go with K, the joint density is only identified through the priors.
This sounds like we have to give up indentifiability via reference category. Just to make it clear - if we go with K, no one will lose their right to identify their categorical logit with a reference category :)

Right.  The K version is strictly more flexible in that it lets you implement the K - 1 version (albeit less efficiently).

@t4c1: I talked with @estrumbelj about argument types. The conclusion was a bit different than he wrote above.

Supported types should be:
y: std::vector or scalar - in case of single instance or broadcasting (Eigen::Vector and Eigen::RowVector are not needed)

This is what I'd like to see.
The Eigen versions aren't appropriate because we don't support integer matrices or vectors in Stan.

x: Eigen::Matrix or Eigen::RowVector - in case of single instance or broadcasting (Special case for single attribute - Eigen::Vector is not needed)

We don't have any functions that require row vectors, but it's not out of the question.  What we've done in other cases here is allow a mishmash of linear algebra types with implicit transposition.
So that'd allow Eigen::Vector (I'm following your notation for Eigen types).  I'm agnostic about whether we want to allow that.  We should ask @seantalts or @syclik.

alpha: Eigen::Vector (std::vector and Eigen::RowVector are not needed)

We do have functions that require vectors, so this would be OK.

beta: Eigen::Matrix - no special cases for single attribute or class

This is OK.   I'm totally OK not allowing collections for alpha and beta in this function.

If y is a scalar or x a Eigen::RowVector the values are broadcast - all instances use the same values.

Yes.

@bob-carpenter Is this OK?
This is a bit different than other GLMs. They do not support broadcasting.

Hmm.  I thought they did, but never checked closely.  I think it's OK to support broadcasting, or it could be simplified and y could be required to be an array and x required to be a matrix.  That'd also be OK.

Also y and alpha can be any of std::vector, Eigen::Vector or Eigen::RowVector. So I guess they should also be updated to match this?

No, y can only be int or std::vector as we don't allow Eigen::Matrix<int, R, C> in Stan programs.
I would rather not have alpha be a std::vector as it's going to be something involved in linear algebra.  For example, our multinormal doesn't allow the variate or the mean to be arrays---they have to be vector types.

Anyway, someone needs to make a decision on these before we can move forward.

@estrumbelj: what's the decision that needs to be made? Sorry, can you be more explicit about what is still unclear? Maybe it's because I'm not sure what function signatures you're suggesting. Maybe write the full set of things you want to support (in Stan types)?

I think the heart of the matter comes down to this:
From @bob-carpenter:

For 1, The main reason to use K - 1 is identifiability. If you go with K, the joint density is only identified through the priors.

From @estrumbelj:

On the other hand, going with K - 1 is strictly less flexible.

I really don't see why we're not implementing the K version in the Math library if going with K - 1 is strictly less flexible. When implementing the lpmf, we don't really have to think through whether it's identified or not. We just need to think about how to compute the lpmf and whether that's stable.
Of course, if this is unusable as a function in the Stan language as-is, then there's no point in implementing it that way unless it simplifies something else.

@estrumbelj: what's the decision that needs to be made? Sorry, can you be more explicit about what is still unclear? Maybe it's because I'm not sure what function signatures you're suggesting. Maybe write the full set of things you want to support (in Stan types)?

We want to add the categorical_logit_glm_lpdf with K categories and separate intercept (as described above) to the Math library and Stan language. The decision is basically if you (and @seantalts) approve.
I'm a bit lost on the signatures. @t4c1, can you please summarize again the signatures/Stan types that we want to implement, taking into account the latest posts by you and @bob-carpenter.

Thanks. I guess I wasn't the only one confused on the actual signatures. I think it makes sense to let the Stan language drive the actual function that's exposed, but it wouldn't be terrible in Math if we had both implementations.

We don't have any functions that require row vectors, but it's not out of the question. What we've done in other cases here is allow a mishmash of linear algebra types with implicit transposition.

@bob-carpenter Implicit transposition here could be confusing. If x is a matrix with 1 row that means we have 1 instance. If x is Eigen::RowVector it has the same meaning and same number of rows/cols. However if x is a matrix with 1 column that means 1 attribute. Implicit transposition would mean that Eigen::Vector (that has a same shape) would have a different meaning. So I am against implicit transposition.
@estrumbelj I have written suggested types here. Mapping between c++ and stan types is:
std::vector: array,
Eigen::Matrix: matrix,
Eigen::Vector: vector,
Eigen::RowVector: rowvector

I'm OK with that revised set of types and not doing implicit transposition.  I'm still not entirely clear on what's being proposed without a full signature list.
I know these two are in play:
A)  real categorical_logit_glm_lpmf(int[] y | matrix x, vector alpha, matrix beta)
B)  real categorical_logit_glm_lpmf(int y | row_vector x, vector alpha, matrix beta)
QUESTION 1:  Should we allow the single data item case (B)?  The other GLMs don't.
Conditioned on the answer being yes, the next question is whether to allow broadcasting:
C) real categorical_logit_glm_lpmf(int y | matrix x, vector alpha, matrix beta)
D) real categorical_logit_glm_lpmf(int[] y | row_vector x, vector alpha, matrix beta)
QUESTION 2:  Should we allow broadcasting (C) and (D)?
QUESTION 3:  Should the dimensionality of alpha and beta be K and J x K, or (K - 1) and J x (K - 1).  I don't think anyone is still objecting to using K---it's strictly more expressive at the expense of some work.

Other GLMs do allow scalar y. I am not sure about row vector x. That case is not in tests, but I think it would likely work.
I assumed broadcasting is agreed upon, so I have almost completed the implementation. Though I don't see much value in it.
Another point about K/K-1 dilemma - the difference in computational effort is only significant if K is small.

Other GLMs do allow scalar y. I am not sure about row vector x. That case is not in tests, but I think it would likely work.

No they do not allow scalar y nor row vector x, y has to be an array for lmpfs and a vector for lpdfs, and x has to be matrix. I have just last week tested this and had to write the following ugly things:
    log_lik[i] = bernoulli_logit_glm_lpmf(rep_array(y[i], 1) | to_matrix(x[i]), beta0, beta);

    log_lik[i] = normal_id_glm_lpdf(to_vector(rep_array(y[i], 1)) | to_matrix(x[i]), beta0, beta, sigma);

I've considered making an issue about this, but haven't had time and energy....

OK---sounds like we should go the other way and allow broadcasting in the existing ones.
For future reference, I'd recommend
{a}   instead of   rep_array(a, 1),
[a]   instead of   rep_row_vector(a, 1),
[a]'  instead of   rep_vector(a, 1),
and
[[a]]  instead of  to_matrix(a).

On May 28, 2019, at 3:20 PM, Aki Vehtari<EMAIL_ADDRESS>wrote:
Other GLMs do allow scalar y. I am not sure about row vector x. That case is not in tests, but I think it would likely work.
No they do not allow scalar y nor row vector x, y has to be an array for lmpfs and a vector for lpdfs, and x has to be matrix. I have just last week tested this and had to write the following ugly things:
log_lik[i] = bernoulli_logit_glm_lpmf(rep_array(y[i], 1) | to_matrix(x[i]), beta0, beta);

log_lik[i] = normal_id_glm_lpdf(to_vector(rep_array(y[i], 1)) | to_matrix(x[i]), beta0, beta, sigma);

I've considered making an issue about this, but haven't had time and energy....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

No they do not allow scalar y nor row vector x
I was talking about what is implemented in c++. Likely not everything is exposed to stan language.

https://github.com/stan-dev/math/pull/1242#issuecomment-496660471
Yeah, this is a good idea. Is it easy to write some casting meta program to do this?
Also, casting issue aside, @t4c1, is this ready to be reviewed?
Are we happy with K/K-1 issue? I can't really speak to this.


Can't set margins in texttopdf 2.0.0?

Describe the bug
texttopdf from cups-filters 2.0.0 (version used in the OpenBSD package cups-filters) doesn't seem to respect the page-* option(s).
To Reproduce
Steps to reproduce the behavior:

/usr/local/libexec/cups/filter/texttopdf 1 user title 1 'media=A4 page-left=56' \
/etc/passwd > p.pdf

/usr/local/libexec/cups/filter/texttopdf 1 user title 1 'media=A4' /etc/passwd > p2.pdf

Open both files: p.pdf, and p2.pdf in a PDF viewer.
See error - left margin is the same in both files.

Expected behavior
Left margin should be increased to about 2cm in the file p.pdf (generated with the option page-left=56).
Screenshots

System Information:

OS: OpenBSD-release 7.4
cups-filters version 2.0.0

Additional context
For example, Alpine Linux has cups-filters 1.28.17 fixed as the last upstream release they use for building the cups-filters package. With that version of cups-filters, the command
/usr/lib/cups/filter/texttopdf 1 user title 1 'page-left=56' /etc/passwd > p.pdf

produces a PDF file with the left margin set to about 2cm. A similar command in OpenBSD:
/usr/local/libexec/cups/filter/texttopdf 1 user title 1 'page-left=56' /etc/passwd > p.pdf

complains:
DEBUG: Color space requested: Default
DEBUG: Final output format: CUPS Raster
WARN: Could not determine the output page dimensions, falling back to US Letter format
WARN: cfFilterPDFToPDF: Could not determine the width of the left margin, falling back to 18 pt/6.35 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the bottom margin, falling back to 36 pt/12.7 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the right margin, falling back to 18 pt/6.35 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the top margin, falling back to 36 pt/12.7 mm

when given the additional parameter of media=A4 (A has to be uppercase, unlike with 1.28.17!):
/usr/local/libexec/cups/filter/texttopdf 1 user title 1 'media=A4 page-left=56' \
/etc/passwd > p.pdf

the output is reduced to
DEBUG: Color space requested: Default
DEBUG: Final output format: CUPS Raster

and there is no difference in the generated PDF from
/usr/local/libexec/cups/filter/texttopdf 1 user title 1 'media=A4' /etc/passwd > p2.pdf

Could you give the ppd file which is available in /etc/cups/ppd

Please attach the ppd file which should be available in /etc/cups/ppd

Please attach the ppd file which should be available in /etc/cups/ppd

With these packages installed:
$ pkg_info -A | grep cups
cups-2.4.7p0        Common Unix Printing System
cups-browsed-2.0.0  browse network for remote CUPS queues and IPP printers
cups-filters-2.0.0p0 OpenPrinting CUPS filters
cups-libs-2.4.7     CUPS libraries and headers
cups-pdf-3.0.1p1    PDF backend for CUPS
gtk+3-cups-3.24.38  gtk+3 CUPS print backend
libcupsfilters-2.0.0p0 library for developing printing filters

on OpenBSD-release 7.4 I have:
$ ls -l /etc/cups/ppd/
total 0
$ ls -ld /etc/cups/ppd/
drwxr-xr-x  2 root  _cups  512 Mar 22 17:06 /etc/cups/ppd//
$

In previous versions of CUPS, the texttopdf filter worked without setting up a printer. Still, to test if this is related to adding a printer, I added a "Generic CUPS-PDF Printer (w/ options)" as "Virtual_PDF_Printer", changed its default paper size to A4 and set it up as "server default" in the cups web interface. This created the file /etc/cups/ppd/Virtual_PDF_Printer.ppd (zipped here, as Github doesn't accept .ppd files: Virtual_PDF_Printer.zip). With that, I have (I wrapped the output for readability):
$ doas rcctl start cupsd
cupsd(ok)
$ rcctl check cupsd
cupsd(ok)
$ lpq
Virtual_PDF_Printer is ready
no entries
$ lpoptions
copies=1 device-uri=cups-pdf:/ finishings=3 job-cancel-after=10800 job-hold-until=no-hold
job-priority=50 job-sheets=none,none marker-change-time=0 number-up=1 print-color-mode=color
printer-commands=AutoConfigure,Clean,PrintSelfTestPage printer-info='Virtual PDF Printer'
printer-is-accepting-jobs=true printer-is-shared=false printer-is-temporary=false
printer-location printer-make-and-model='Generic CUPS-PDF Printer (w/ options)'
printer-state=3 printer-state-change-time=1711277143 printer-state-reasons=none
printer-type=10678348 printer-uri-supported=ipp://localhost/printers/Virtual_PDF_Printer
$ lpoptions -l
PageSize/Page Size: Custom.WIDTHxHEIGHT 11x14 11x17 13x19 16x20 16x24 2A 4A 8x10 8x12 A0
A1 A2 A3 *A4 A5 AnsiA AnsiB AnsiC AnsiD AnsiE ArchA ArchB ArchC ArchD ArchE C0 C1 C2 C3 C4
C5 Env10 EnvC5 EnvDL EnvMonarch Executive ISOB0 ISOB1 ISOB2 ISOB3 ISOB4 ISOB5 JISB0 JISB1
JISB2 JISB3 JISB4 JISB5 Ledger Legal Letter RA0 RA1 RA2 RA3 RA4 SRA0 SRA1 SRA2 SRA3 SRA4
SuperA SuperB TabloidExtra Tabloid Resolution/Output Resolution: 150dpi *300dpi 600dpi
1200dpi 2400dpi
PDFVer/PDF version: 1.1 *1.2 1.3 1.4 1.5
Truncate/Truncate output filename to: 8 16 32 *64
Label/Label outputfiles: 0 1 *2
TitlePref/Prefer title from: *0 1
LogType/Log level: 1 3 *7
$ /usr/local/libexec/cups/filter/texttopdf 1 user title 1 'page-left=56'
/etc/cups/cups-browsed.conf > p2.pdf
DEBUG: Color space requested: Default
DEBUG: Final output format: CUPS Raster
WARN: Could not determine the output page dimensions, falling back to US Letter format
WARN: cfFilterPDFToPDF: Could not determine the width of the left margin, falling back to 18 pt/6.35 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the bottom margin, falling back to 36 pt/12.7 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the right margin, falling back to 18 pt/6.35 mm
WARN: cfFilterPDFToPDF: Could not determine the width of the top margin, falling back to 36 pt/12.7 mm
$

However, this didn't change anything - the resulting PDF file p2.pdf still doesn't have the desired margin.


Fact to detect GUIs

Is your feature request related to a problem? Please describe.
Sometimes I deploy GUI-based packages, e.g. meld, gufw to GUI-based machines.   However, on occasion I will test on non-GUI servers, where installing these GUI packages isn't needed.
I would like to skip them.
There seem to be ways to detect whether a GUI is installed (on Linux).  With this, a user can skip installing certain operations.
Describe the solution you'd like
A fact to automate GUI detection.
if host.fact.has_gui():
    apt.packages(
        name="Install gui-based packages.",
        packages=[
            "gufw",
            "meld",
            ...
        ]
    )

Hi.
Use this fact.
class HasGui(FactBase):
    default = list
    command = 'ls /usr/share/xsessions/*.desktop || true'

    def process(self, output):
        return output

P.S. I checked for ubuntu

This looks like a good addition I'll add it in for 1.2!

Seems to be working so far on Debian with desktop environments.  I've also tested it on Ubuntu server (no GUI), which also works.  One exception is, if you happen to have left over *.desktop files, you get a false positive and it doesn't work.   This exception can be simulated on Ubuntu server, install gui-based program, remove it, and run the fact. The fact will return True.
I can work with it since I'm now aware to keep /usr/share/xsessions/ clean, but other people may not know to look there, resulting in a future bug.

This is frustrating - I can't think of  any way to handle that situation. I'm going to add a warning when using the fact to highlight this possible problem (unblocking v1.2 release). Can revisit if a better solution comes to light!

The link mentioned about shows some Linux-fu that suggests verifying the programs are actually installed, and not just leftover.  It's a bit beyond me right now.

There's also this answer which likely picks up GUI "flags" in more systems. Will see if I can get the combination of the two working such that the underlying binary presence is checked.

Check installed packages. But it is safer

Chosen the more explicit route looking for exact binaries - more painful to maintain but should be rock solid; https://github.com/Fizzadar/pyinfra/commit/057c90a9985ce16e9e0e7e42de2f37dffb761969! 1.2 coming up v.shortly!


Update account menu

[x] Add balance (use eth icon instead of symbol)
[x] Add My Portfolio button with icon
[x] Add Disconnect button with icon

Fix blue border is appearing around links on the menu.


Some assorted issues on the site

If you'd prefer a separate github issue for each one, let me know and I'll split them up.
When on the homepage, following 3 types of numeric, the bottom one, with the annotation "3D scatter or surface" doesn't have a link associated with it, and no pop-up appears when clicking it.
The following don't show a pop-up, while they do have working links (not an exhaustive list I assume, just the ones I found):
https://www.data-to-viz.com/#pca
https://www.data-to-viz.com/#groupedbarplot
https://www.data-to-viz.com/#stackedbar
https://www.data-to-viz.com/#waffle
In num&cat -> several cat, one num -> nested -> one obs per group, sunburst is mistakenly written as sunburt
Hope this helps, great project!

Thanks very much for this list!
A few stuff are work in progress, some other were unknown. I will fix that ASAP.
Thanks!


[stable/prometheus-mysql-exporter] fixed annotations

What this PR does / why we need it:

fixed port annotation by adding quotes
fixed readme
updated deployment api to apps/v1

Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @prydonius

/assign @unguiculus

/assign @unguiculus

/lgtm


Game with nos

🚀 Feature
You are given an array and  you have to re-construct an array .
The values in array are obtained by doing Xor of consecutive elements in the array.
Have you read the Contributing Guidelines on Pull Requests?
yes
Motivation
Want to add the code in c++ in cp
Pitch
Want to add as a GSSoC'21 participant.

/assign


Event-Dispatching on AliasProperty looks inconsistent

Software Versions

Python: 3.8.1
OS:  Linux Mint 19.3 Tricia
Kivy: v2.0.0rc2, git-1d16c82, 20200525
Kivy installation method: pipenv install -e .

Describe the bug
from kivy.event import EventDispatcher
from kivy.properties import NumericProperty, AliasProperty

class Person(EventDispatcher):
    age = NumericProperty(0)
    is_adult = AliasProperty(
        getter=lambda self: self.age >= 20,
        setter=None,
        bind=('age', ),
        cache=True,
    )

    def on_is_adult(self, __, v):
        print(f"`is_adult` was set to {v}.")

print("---- p1 ----")
p1 = Person(age=0)
p1.is_adult  # A
p1.age = 10
print(p1.is_adult)

print("---- p2 ----")
p2 = Person(age=0)
p2.age = 10
print(p2.is_adult)

print("---- p3 ----")
p3 = Person(age=10)
print(p3.is_adult)

---- p1 ----
False
---- p2 ----
`is_adult` was set to False.
False
---- p3 ----
`is_adult` was set to False.
False

The difference between p1 and p2 is the line A, which just looks up the is_adult property. And surprisingly, it makes a difference between thier output.

Confirmed it is still happening in Kivy 2.2.1 on Windows 11.
I consider this low severity, because, if I understand correctly, the EventDispatcher doesn't seem to be a general-use API for apps, but a helper class for Widget makers.

To me, it's not just for widgets. It's broadly applicable to many data-binding situations. Anyways, this is not a critical bug, and I'm no longer interested in it.


centering first article not in main does not center inside div ui-view

Centering needs to work within a ui-view environment.

Centering works now.

is too universal. Ambient relies on semantics.

Decided on making use of div</code for flex centering first ARTICLE not in main when a child or nested child. ie: <div ui-view>
Flex centering now works in all three of these scenarios. One advantage of the third scenarios is flex centering will fill the screen with MAIN content scrollable

article
    h1
        Hello, world!
    /h1
/article

div
    article
        h1
            Hello, world!
        /h1
    /article
/div

div
    div
        article
            h1
               Hello, world!
            /h1
        /article
    /div
/div

Should this be a mixin within its own application? Unless it causes other issues I am fine leaving it in core.

I need to know exactly what we are doing with the custom attribute ui-view to ensure semantics are working properly in Ambient.


When syncing/renaming styles, theme name changes instead of token name (when these have the same name)

Describe the bug
Edge case: When syncing tokens with styles (and renaming styles), the theme name changes instead of token name, if you're using the same name for both.
Expected behavior
In the example I'd expect the token called 'test' changes name, instead of the theme prefix that is now changing
Screenshots or Screencasts

https://user-images.githubusercontent.com/109062656/235474460-11620781-81f4-4727-8a64-2e4099eb3626.mov

@rbosker can you check to see if this issue still exists? I'm not sure how to test on my end based on the description. If its solved, please close.

Just tested and this is no longer an issue; closing the ticket.


UnicodeDecodeError

The error:
$ python getjobinfo.py 25794736 --xml
Traceback (most recent call last):
  File "getjobinfo.py", line 262, in <module>
    main()
  File "/storage/home/jcn23/.local/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/storage/home/jcn23/.local/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/storage/home/jcn23/.local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/storage/home/jcn23/.local/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "getjobinfo.py", line 218, in main
    retrieveJobInfo(str(jobid[0]), str(days), fout)
  File "getjobinfo.py", line 147, in retrieveJobInfo
    if findJobID(job_id, job_log_dir, log):
  File "getjobinfo.py", line 120, in findJobID
    grep_exec = subprocess.run(["grep", job_id], stdin=cat_exec.stdout, capture_output=True, text=True)
  File "/storage/home/jcn23/work/miniconda3/lib/python3.7/subprocess.py", line 490, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/storage/home/jcn23/work/miniconda3/lib/python3.7/subprocess.py", line 964, in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
  File "/storage/home/jcn23/work/miniconda3/lib/python3.7/subprocess.py", line 1755, in _communicate
    self.stdout.errors)
  File "/storage/home/jcn23/work/miniconda3/lib/python3.7/subprocess.py", line 841, in _translate_newlines
    data = data.decode(encoding, errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 924160: invalid start byte

Potential solution
It looks like the main issue here is the encoding/decoding format being used by Python to query the job info. In order to fix this, I may need to mess around with the encoding or change how I handle the system call. Will play around and see if there is a easy way for me to fix this issue.

Trying using ASCII. That may help. The suprocessCMD function might be able to help too.

Resolved the issue. The problem was how I was passing the job id using nargs


[spiflash] Several issues running spiflash with verilator

Ran into a few issues with spiflash when downloading images to verilator:

pseudo-tty buffer on MacOS is only 1KB, so need to change frame transmit to interleave SPI write/reads so read buffer would not cause verilator to stall and assert on the write().
spiflash has hardcoded delays for flash erase and frame processing that need to change based on performance of system running verilator.  Should add parameters to adjust these delays
Hash check is failing because endianness of OT hash is opposite of endianness of spiflash hash.  (Not sure why)

Submitted PR #10610


Update sosreport dir to include the prefix

Update sosreport dir to include the prefix
Signed-off-by: root<EMAIL_ADDRESS>

This change is

Integration tests are passing here: https://build.whamcloud.com/view/IML/job/manager-for-lustre/1363


Reworked RemoteApplicationRegistrar

Hi,
Currently when your application has a configuration that has its own @RemoteApplicationEventsScan("somePackageA") annotation but also imports a configuration from elsewhere which has a @RemoteApplicationEventsScan("somePackageB") you will not get the desired result.
Only one of the two annotations will be handled successfully.  (The last one found)
This PR is to alter this behaviour so that the beanDefinition is no longer always overridden but the 'packages' to scan property is updated with a merged set.
The test has also been altered to represent this case.

Any news about this?


is there any architectural drawings for beginners?

As a beginer, I want to know more about this project so that i can use the cri-containerd into our kubernetes cluster.
I want to know if you have an architectural picture like containerd if yes. Can not be shared? if not,
Is it possible to draw the structure as soon as possible, so that later can learn.

@Random-Liu please give some helps.

I usually use this one:

See https://www.slideshare.net/Docker/kubernetes-cri-containerd-integration-by-lantao-liu-google

Let's keep this issue open. We should have a document in the repo explaining how cri-containerd works.

thank you very much.

May I ask why in the image you had 2 different containers that named "container A" and "sandbox container"? is "sandbox" just a name or you wanted to imply something?

Each pod gets one normally hidden container called the sandbox container, or pod sandbox container. The container image for the pod sandbox container is called the pause container. This pod sandbox container is used to host shared resources. If you google around you'll find this pod sandbox container is sometimes just called the pause container.

Mike, thank you so much for the clarification.
I did some reading in ianlewis’ blog and i found it fascinating. Starting off late with K8S and skipping a lot of details of how the community and enterprises devised K8S nowadays from Docker (and beyond, LXC for example) made me overlooked this beauty.
A diagram really speaks a thousand words. I’ll come back with some of them when i’m ready.

yeah we've got lots of follow up diagrams for this see intro and deep dives over the last couple years..

oh and cri-containerd is now built into containerd as an internal plugin.. so it's not using grpc to talk to containerd services anymore ...
the calls are direct.


(fix) support abort signal param for POST requests

Status
READY
Description
Fix https://github.com/orval-labs/orval/issues/1434
Fix https://github.com/orval-labs/orval/issues/1447
Related PRs
https://github.com/orval-labs/orval/pull/1621
Todos

[ ] Tests
[ ] Documentation
[ ] Changelog Entry (unreleased)

@melloware when can we expect next release?

Up to @anymaniax !

@anymaniax ☝


EIP681 links

https://brunobar79.github.io/eip681-link-generator/#
currently, click link it will open up BDR.
Make it open up AlphaWallet

@zhangzhongnan928 AlphaWallet is already marked as supporting ethereum: for native crypto (Ether) transfers [1]. This is an iOS limitation and wouldn't work for us.
If you delete BDR and tap the link again, AlphaWallet might open. Or you might need to delete a few other wallet apps before AlphaWallet takes over.
This is because on iOS, any app can state that they support a particular custom URL scheme (i.e ethereum: or awallet:, anything that isn't standard like http(s): or tel:, etc). iOS picks 1 app — maybe it's the first app or the last app installed, or maybe it's random — and treats that app as the handler.
Unfortunately, this affects the system camera too. i.e. if you scan a QR code with a ethereum: link, it will have the same problem.
Scanning QR code with ethereum: works in the AlphaWallet app itself because the app decides what to do with it.
A good reason for https://trello.com/c/c8KiXWgv/96-as-a-merchant-i-want-users-to-be-able-to-scan-payment-qr-codes-encoding-eip-681-for-native-and-token-transfers-more-easily
[1] But we haven't added support for ERC 20 transfers #1526

Closed for reasons ^


Fix some demo links.

I fixed 2 links, pulled out a duplicate, and removed the C4ISR one from the end because I don't see that file on the website anymore.  Is it still available somewhere?

Thanks @emackey!


Augumented image is not getting dispalyed

I have a image and it is getting detected . than I am trying to place the augumented image on the top.It is not working,
adb log:
E/native: hit_test.cc:377 generic::internal: No point hit.
I/native: motion_analysis_calculator.cc:618 Analyzed frame 180
I/native: tracking.cc:3027 no history. confidence : 1.0
W/native: motion_tracking_context.cc:751 generic::failed_precondition: GetFeatureTracks is called, but FeatureTracks are unavailable.

Code is :
   for (AugmentedImage augmentedImage : augmentedImages){
            if (augmentedImage.getTrackingState() == TrackingState.TRACKING){

                if (augmentedImage.getName().equals("airplane") && shouldAddModel){
                    placeObject(arFragment,
                            augmentedImage.createAnchor(augmentedImage.getCenterPose()),
                            Uri.parse("model.sfb"));
                    Log.d("I am in","I am inside");
                    shouldAddModel = false;

I am not getting why my image is not getting auguented.
is there any issue with that error in logs?

Hi i think your problem in sfb file
On Mon, Sep 2, 2019, 4:07 AM newmluser<EMAIL_ADDRESS>wrote:

I have a image and it is getting detected . than I am trying to place the
augumented image on the top.It is not working,
adb log:
E/native: hit_test.cc:377 generic::internal: No point hit.
I/native: motion_analysis_calculator.cc:618 Analyzed frame 180
I/native: tracking.cc:3027 no history. confidence : 1.0
W/native: motion_tracking_context.cc:751 generic::failed_precondition: GetFeatureTracks is called, but FeatureTracks are unavailable.

Code is :
for (AugmentedImage augmentedImage : augmentedImages){
if (augmentedImage.getTrackingState() == TrackingState.TRACKING){
            if (augmentedImage.getName().equals("airplane") && shouldAddModel){
                placeObject(arFragment,
                        augmentedImage.createAnchor(augmentedImage.getCenterPose()),
                        Uri.parse("model.sfb"));
                Log.d("I am in","I am inside");
                shouldAddModel = false;

I am not getting why my image is not getting auguented.
is there any issue with that error in logs?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google-ar/sceneform-android-sdk/issues/845?email_source=notifications&email_token=AKH5KVZI475WUNZ25SHNWF3QHRDJPA5CNFSM4ISYILLKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HIVMMTQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKH5KVYBPYJJNHBNWMYK5YLQHRDJPANCNFSM4ISYILLA
.

Thank you for response. sfb is getting created . what could be the probem in sfb and how to debug that


Use typed exceptions for explicit exception handling

There are a few different kinds of errors that can manifest. Depending on where the error is caught, it is usually easy to tell whether or not the error is caused by an internal failure of some kind, or an external configuration issue.
When it is known that the error is caused by a mis-configuration, or something that the user is in control of, then an exception should be thrown of type 'UserException'. This isn't meant to convey that the user is necessarily at fault, but more that the user is in control of the circumstances that created the error, and thus should be informed of the specific issue in a simple and terse way.
A UserException must specify in its message a simple and direct explanation of the problem, including any values specified and any specific reasons that the given values would not work. A UserException should provide ideas to the user on what to try differently, or what type of value or setting would be required to avoid the error.
Handling of exception types must be done in one place, in an exception handler that sees all exceptions that may be thrown to main(). Try/catch block do not directly specify how UserExceptions and other specific types of exceptions will be handled except to enrich (catch and rethrow) an exception as it passes to the main exception handler.
The exception types like UserException should be defined in the core library. Any use of utility functions or other libraries may not have access to the exception types. This is intentional. In such cases where an upstream API module may need to pass an error that may ultimately manifest in a UserException being thrown, it is up to the consuming library to deal with the semantics of correctness and determine when it is appropriate to throw a UserException or something else.
This was originally reported as https://github.com/engineblock/engineblock/issues/194

This has been implemented effectively as BasicError, and with that, the ability to contextualize the handling is provided. This can be closed.


IDEA: NULL stuff for HLS input

Hi @lelegard ,
I'm triying to transform some HLS stream (in fact, I'm testing with https://mcdn.daserste.de/daserste/de/master.m3u8) to craete a suitable full MPEG-TS compatible with DVB-T. However, as the HLS input doesn't have NULL stuff, it's impossible to add missing tables.
So, please can you add some option in the HLS input plugin to add NULL stuff?
Thank you!

I missed to comment the option... I suggest to use the same as for the global tsp -a nullpkt/inpkt --add-input-stuffing nullpkt/inpkt.
So you can use:
tsp -I HSL --add-input-stuffing 1/10 https://mcdn.daserste.de/daserste/de/master.m3u8 ...
to add 1 NULL packet every 10 readed.
I hope you agree.
Regards.

This is exactly what the option --add-input-stuffing is already doing. Did you try it?

This is exactly what the option --add-input-stuffing is already doing. Did you try it?

Oppss! I discovered now... I think it only works with other inputs.
Thank you!


stack size exceeded error on js target

Using Nim 2.0.0 on Windows 11
The following code is a minimal example that produces a Maximum call stack size exceeded error when compiled to JS and run from Node 16.15.1 or Chromium 116:
import karax / [kbase, karaxdsl, vdom]

proc render*(): kstring =
  let vnode = buildHtml(html()):
    body:
      section(id = "section1"):
        text "Section 1 content..."

  result = $vnode

echo render()

and here's the offending recursive function that's produced:
function len_738198497(a_738198498) {
    var Temporary1;

  var result_738198499 = 0;

  var F = {procname: "vdom.len", prev: framePtr, filename: "C:\\Users\\username\\.nimble\\pkgs2\\karax-1.3.0-481742b3d0c0e3c92174b1bdd08a4a94853250af\\karax\\vdom.nim", line: 0};
  framePtr = F;
    F.line = 352;
    F.filename = "vdom.nim";
    if ((a_738198498 == null)) {
      Temporary1 = 0;
    }
    else {
      Temporary1 = len_738198497(a_738198498);
    }

    result_738198499 = Temporary1;
  framePtr = F.prev;

  return result_738198499;
}

by this Nim code that was introduced in pull request #159:
when kstring is cstring:
  proc len(a: kstring): int =
    # xxx: maybe move where kstring is defined
    # without this, `n.field.len` fails on js (non web) platform
    if a == nil: 0 else: a.len

It seems like a.len should be calling a version of length without the guard instead of it being recursive? Is that possible?

Created a pull request (#269) which fixes the issue for me. Is this an acceptable approach?


Typo in ScoreHMR.ipynb show_local_mp4_video

When the video display runs for breakdancing.mp4, it is looking for a file at
demo_out/videos/breakdancing.mp4: No such file or directory
The actual file name has a shot incrementer appended to the end, so the filename for the video to play is:
demo_out/videos/breakdancing_0.mp4

Thanks a lot for catching this! Fixed the error now.


Preserve tag case

Hello. Some of tags I have in CamelCase (e.g. PyInstaller), some of them as splitted words (e.g. PyCharm Community), some of them  as uppercased word (CTF, IDA), and the last one mixed (CnC). Do you have any config option to preserve the case used in posts?

Should be resolved in 97138afd4fba31e19bc17381cd5276f16a4c7542. Please have a try.

Have ported this changes to old version of Dream (1.5.0). Now at least I have lowercased tags everywhere, thanks)

Have ported this changes to old version of Dream (1.5.0). Now at least I have lowercased tags everywhere, thanks)

Already cherry-pick changes into the release-1.6 branch.