NEMO crash with siconc: zaxid = depth_axes_[tableid][grid_index]

Hi all,
I am getting this repeated error when I try to cmorize NEMO output, no difference if this is high resolution or low resolution. Did anyone ever spotted something similar?
Unfortunately, this is occurring with any tables or varlists.
IINFO:taskloader:Found 210 cmor target variables in input variable list.
INFO:taskloader:Created 17 ece2cmor tasks from input variable list.
INFO:ece2cmorlib:Selected 16 NEMO tasks from 17 input tasks
===============================================================
KJS EDIT. Printing all keys associated to this netcdf file:
[u'nav_lat', u'nav_lon', u'ncatice', u'siu', u'time_centered', u'time_centered_bounds', u'time_counter', u'time_counter_bounds', u'siv', u'siconc', u'sithick', u'sivol', u'sisnthick', u'sitemptop', u'sispeed', u'alb_ice', u'sicompstren', u'siage', u'siflswdtop', u'sistrxdtop', u'sistrydtop', u'prsn', u'sidmassevapsubl', u'sidivvel', u'siitdconc', u'siitdthick', u'siitdsnthick', u'sisali', u'sivolu', u'snvolu', u'vfxice', u'vfxsnw', u'vfxsub', u'vfxsub_err', u'vfxspr', u'sivtrp', u'snvtrp', u'saltrp', u'deitrp', u'destrp', u'sfx', u'hfxout', u'hfxin', u'sst', u'sss', u'sitemp', u'siheco', u'snheco', u'sishea', u'sibrin', u'sicolf', u'siagecat', u'salincat', u'sibricat', u'sitemcat', u'sntemcat']
Now trying to access time_centered variable...
===============================================================
INFO:nemo2cmor:Creating NEMO grids in CMOR...
INFO:nemo2cmor:Executing 16 NEMO tasks...
INFO:nemo2cmor:Cmorizing NEMO tasks...
INFO:nemo2cmor:Loading CMOR table SImon to process 16 variables...
INFO:nemo2cmor:Creating time axes for table SImon...
INFO:nemo2cmor:Creating depth axes for table SImon...
INFO:nemo2cmor:Cmorizing source variable siconc to target variable siconc...
ERROR:nemo2cmor:Depth axis for grid icemod has not been created; skipping variable.
Traceback (most recent call last):
  File "/marconi_work/Pra13_3311/ecearth3/post/ece2cmor3/ece2cmor3/ece2cmor3/ece2cmor.py", line 75, in <module>
    main()
  File "/marconi_work/Pra13_3311/ecearth3/post/ece2cmor3/ece2cmor3/ece2cmor3/ece2cmor.py", line 70, in main
    ece2cmorlib.perform_nemo_tasks(args.datadir,args.exp,startdate,length)
  File "/marconi_work/Pra13_3311/ecearth3/post/ece2cmor3/ece2cmor3/ece2cmor3/ece2cmorlib.py", line 151, in perform_nemo_tasks
    nemo2cmor.execute(nemo_tasks)
  File "/marconi_work/Pra13_3311/ecearth3/post/ece2cmor3/ece2cmor3/ece2cmor3/nemo2cmor.py", line 102, in execute
    execute_netcdf_task(task,ds,tab_id)
  File "/marconi_work/Pra13_3311/ecearth3/post/ece2cmor3/ece2cmor3/ece2cmor3/nemo2cmor.py", line 128, in execute_netcdf_task
    zaxid = depth_axes_[tableid][grid_index]
KeyError: 4

Apparently it does not create a vertical axis for the icemod file. I will have a look at it when I get back from holidays, 7 the of march

Thanks @goord.
For now, I am able to circumvent this issue removing variable siconc from  varlist.json
Later on, I had to remove sidivvel
In this way the scripts goes on and produce almost all the other variables. However, sea ice concentration is a pretty much important variable so I guess we should try to solve this depth axis issue.

The problem was that the new data request added a 'sea ice type' dimension to siconc which was mistakingly interpreted as a depth axis by ece2cmor3. This should be fixed after the latest commit 3d88cd7f2514c7ceb4620fc00fd6f346b2c5af63

Great, this is working, thanks a lot.
I found out that an extra issue in sidivvel, but this was a mistake in the SImon table where the time dimensions was time1 instead of time. To whom I should report this?
Thanks

Still having some issue with siddivel, but the main issue is resolved. I will open a single issue for all the problems I am having combining master branch with PRIMAVERA tables.


RFC to add Cloud Native Buildpacks to CF Deployment

For easier viewing: https://github.com/cloudfoundry/community/blob/rfc_cnbs/toc/rfc/rfc-draft-add-cnbs.md
cc @ryanmoran, @robdimsdale, @dsabeti, @aramprice, @dsboulder

I've made a round of edits, based on feedback from the last TOC meeting. I propose we move this RFC into the final comment period.

@Gerg any chance for the community update on this RFC implementation? Is there any additional place where we could read/keep track on it?
I'm excited by this one. I was thinking that paketo buildpacks will be only available in Korifi. This brings back a hope for the main buildpack used by us. Actually, IBM gave up on maintaining the old Liberty buildpack and switched over all their efforts on a new one.
https://github.com/cloudfoundry/ibm-websphere-liberty-buildpack
https://github.com/paketo-buildpacks/liberty
I'm just wondering how I could anyhow inflence on making this buildpack to participate in this initiative. Is there any chance we could loop it into this project? :)

@krismarc There has been a "successor" RFC with https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0028-cnb-lifecycle.md and all implementation pull requests are open already and ready for review.
There is also an additional RFC to include Cloud Native Buildpacks as system buildpacks with https://github.com/cloudfoundry/community/pull/830.


Update Hugo version in Chocolatey to 0.15

0.15 was released in November, but today choco search hugo shows hugo 0.14.

We don't maintain that.  Please report this to the Chocolatey package maintainer.


example: upgrade element-ui

Codecov Report

Merging #2915 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #2915   +/-   ##
=======================================
  Coverage   99.91%   99.91%
=======================================
  Files          23       23
  Lines        1236     1236
=======================================
  Hits         1235     1235
  Misses          1        1

Continue to review full report at Codecov.

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


Add aria-label to ion-input

Ionic version:

[x] 4.x
I'm submitting a ...

[ ] bug report
[ x] feature request

Current behavior:

Currently there's no way to add an aria-label to the native input element ion-input wraps, this is failing accessibility test for us
Expected behavior:

Add aria label as a proxy to the native input element just like placeholder is
Steps to reproduce:

Create an ion-input and try assigning an aria-label then run the accessibility testing tool axe (can use google chrome extension). You will see this error Form elements must have labels
and since there's no way to add an aria-label to the the native input element that ion-input wraps, this issue only can be resolved by adding it into the framework.
Related code:
Below you can see how I added an aria-label to the ion-input but it doesn't add it to the native input element which is causing accessibility issues.

Other information:

Ionic info:

Ionic:

   Ionic CLI                     : 6.10.0 (/Users/joshuamc/.nvm/versions/node/v12.16.2/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 4.10.0
   @angular-devkit/build-angular : 0.901.7
   @angular-devkit/schematics    : 9.1.7
   @angular/cli                  : 9.1.7
   @ionic/angular-toolkit        : 2.0.0

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : not available
   Cordova Plugins   : not available

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   NodeJS : v12.16.2 (/Users/joshuamc/.nvm/versions/node/v12.16.2/bin/node)
   npm    : 6.14.5
   OS     : macOS Catalina

Thanks for the issue! This issue is being closed due to the lack of a code reproduction. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.
Thank you for using Ionic!


Mysql DB 'ER_NOT_SUPPORTED_AUTH_MODE'

Hi all.
How can I solve this?
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at Handshake.Sequence._packetToError (/usr/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Handshake.ErrorPacket (/usr/app/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18)
    at Protocol._parsePacket (/usr/app/node_modules/mysql/lib/protocol/Protocol.js:291:23)
    at Parser._parsePacket (/usr/app/node_modules/mysql/lib/protocol/Parser.js:433:10)
    at Parser.write (/usr/app/node_modules/mysql/lib/protocol/Parser.js:43:10)
    at Protocol.write (/usr/app/node_modules/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/usr/app/node_modules/mysql/lib/Connection.js:91:28)
    at Socket.<anonymous> (/usr/app/node_modules/mysql/lib/Connection.js:525:10)
    at Socket.emit (events.js:200:13)
    at addChunk (_stream_readable.js:290:12)
    --------------------
    at Protocol._enqueue (/usr/app/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/usr/app/node_modules/mysql/lib/protocol/Protocol.js:51:23)
    at Connection.connect (/usr/app/node_modules/mysql/lib/Connection.js:119:18)
    at /usr/app/drivers/mysql/index.js:55:18
    at new Promise (<anonymous>)
    at runQuery (/usr/app/drivers/mysql/index.js:51:10)
    at Object.testConnection (/usr/app/drivers/mysql/index.js:119:10)
    at testConnection (/usr/app/drivers/index.js:170:17)
    at /usr/app/routes/test-connection.js:12:11
    at Layer.handle [as handle_request] (/usr/app/node_modules/express/lib/router/layer.js:95:5) {
  code: 'ER_NOT_SUPPORTED_AUTH_MODE',
  errno: 1251,
  sqlMessage: 'Client does not support authentication protocol ' +
    'requested by server; consider upgrading MySQL ' +
    'client',
  sqlState: '08004',
  fatal: true

Not certain on what auth mode you are using, but I recall the mysql nodejs driver not supporting one of the newer protocols. It might now and the drive may need an update to accommodate this.

Noticed that. Probably the new Mysql update came with new security features.
My Mysql DB version is  "5.5.60-MariaDB" which I'm connecting with no issues.
The other database is a "MySQL Community Server - GPL - Version 8.0.13" with a "caching_sha2_password" checkbox marked which I cannot unmark.
I'm even facing this error when trying to login from Mysql Workbench CE 6.3.9.
Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found

I imagine this will be an issue until this PR is merged https://github.com/mysqljs/mysql/pull/1962

got this working from the solution here:
https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

Where root as your user localhost as your URL and password as your password
then flush privileges;
thank you


turns:matrix.org:443?transport=tcp didn't work for me and I don't know why

Tested on Firefox…
Want to figure out what this is to make sure it's not a tester bug...

Turns out, it was just down / misconfigured and shown up by the VoIP tester. Hooray. :)


Static header of Card Modal

do we want the title and icons to just stay at the top?

Yes, I think that is best
On Sat, Sep 24, 2016, 21:24 Adam Towers<EMAIL_ADDRESS>wrote:

[image: screen shot 2016-09-24 at 9 23 42 pm]
https://cloud.githubusercontent.com/assets/2537829/18813005/3edffd86-829d-11e6-83cd-eccff21ba3fe.png
do we want the title and icons to just stay at the top?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FastFlowDebate/FastFlow/issues/92, or mute the thread
https://github.com/notifications/unsubscribe-auth/AI0V5Pt0niFYl-Ksk54DgBckawCwXigmks5qtfeLgaJpZM4KF0L5
.


Generate Insert SQL should respect order

Currently the SQL generation from a result set does neither respect the order done manually (by sorting columns) nor done in the SQL that produced the result set. It seems totally arbitrary...

DBeaver uses the same order you see in results grid.
At least in the standard "Generate SQL"/INSERT action.
So I can't reproduce this issue. Maybe you have some specific configuration/environment?

I have the latest version. It's totally reproducible: Just execute a query with a certain order criterion and not all columns from table. If I then select all rows in the table and "Generate SQL"/INSERT" it's totally arbitrary. Environment has nothing special. Just DBeaver Enterprise and OSX.

Ah, I got it. I thought you meant columns order but this is about rows order.
It is a bug, will be fixed in the next version.
Thanks for report.


NetworkManager instead of Netplan

NetworkManager is a wee bit easier to work with (IMO), so I added some docs for using NetworkManager instead of Netplan.

lgtm as long as you've tested it

Intruiging


hc: Replay the current service state on Subscribe call

Currently, the Subscribe only publish the event observed after the subscription. In this way, subscribers may miss some events depending on the timing of the subscription. To avoid this issue, replay the latest state on subscription.
The potential concern here is we hold the Service's writer lock during this operation. This is necessary to prevent the parallel service update. However, it may cause long blocking with the large cluster. However, Subscribe is typically called only once on startup, so there's no much impact for the overall performance.
hc: Replay the current service state on Subscribe call

/test

ConformanceAKS: https://github.com/cilium/cilium/issues/29845
Conformance AWS-CNI: Provisioning timeout
Conformance Gateway API: https://github.com/cilium/cilium/issues/33279
Conformance Ginkgo: https://github.com/cilium/cilium/issues/33443
Integration Tests: https://github.com/cilium/cilium/issues/34519


Fixing when_xxx and wait_xxx for MSVC12

Is msvc having problems with std::enable_if?

Is msvc having problems with std::enable_if?

No we just have not consistently switched from boost::enable_if to std::enable_if. We should probably slowly phase out boost::enable_if, though.

Is this due to lack of C++14 SFINAE-friendly std::iterator_traits?

Is this due to lack of C++14 SFINAE-friendly  std::iterator_traits

Partially yes, also because of lacking SFINAE on the defaulted function template argument.

LGTM now!


Feature/763 adding sharing buttons

Trello card URL:
https://trello.com/c/RxJ1C17j/763-optimise-share-my-job-to-make-it-clearer-for-hiring-staff-users-that-they-can-share-the-job-they-have-created-on-social-media
Changes in this PR:

Add sharing buttons to job sharing box of job pages in the publishing view
Add sharing buttons to the bottom of job pages in the publishing view
Add sharing buttons to the bottom of job pages in the public view
Add sharing buttons to the bottom of mobile version of job pages in the public view

Screenshots of UI changes:
Before (Share this job box)

After (Share this job box)

Before (Footer)

After (Footer)

Before (mobile)

After (mobile)

 Optimise 'Share my job' to make it clearer for hiring staff users that they can share the job they have created on social media

I added a commit to track clicks on the share buttons

@tahb I added a commit to remove the LinkedIn button

@robbiepaul Thank you for that. I wonder if we could squash that last commit into https://github.com/dxw/teacher-vacancy-service/pull/812/commits/897dcd710de480a4593c9e243ad1797d673c8ebf and remove the need for https://github.com/dxw/teacher-vacancy-service/pull/812/commits/cedc83dca1dce5bd52c73a37df8d8c53fc65679b completely?

Yeah I did think that, but then I thought if the user need for LinkedIn sharing ever arrises we could simply revert that commit


Deploying to GH pages with custom domains

Hey,
In order for custom domains to work I need a CNAME file to be in the root.
This used to work but in the latest release it's added to a static folder, like here:
https://github.com/stipsan/uikit-react/tree/gh-pages/static
So I have to manually move it for it to not break when I publish releases.

Okay do this. Create a static directory for storybook. Then put the CNAME file inside that.

Hey, sorry for the late reply!
I have the CNAME here /.storybook/static/CNAME.
When the build command runs with build-storybook -o .out -s .storybook/static CNAME ends up in /static/CNAME. It needs to be in the root on the gh-pages branch for github pages to pick it up, otherwise the custom domain won't be detected by github.
I hope next year you'll make it to React-Next 😄 or maybe on another event?
Cheers!

@stipsan That's weird. It should be on the root.
Try creating a directory called public inside your app and put CNAME inside that.
And use public directory for -s argument.

If I do that locally using the build storybook command it'll be in /public, not in the root.
It seems like no matter what I do it'll be inside some kind of folder…
Maybe this should have a special case, similar to how head.html is handled?
Whenever this breaks the github site becomes inaccessible as the nameserver points you to the github io server, but with the CNAME file suddenly missing github is unable to recognize what page you're trying to load leading the site to fail to load.

@stipsan we had a bug with the build-storybook command and I just fixed it.
Try to update @kadira/storybook to 2.21.0 or higher.

Thanks, I can confirm the problem is fixed! 👍


distinguish map and map_

@janfb wrote on #573 : having map(...) and map_ could be confusing. how about making map a lazy property of the posterior that is calculated on demand and then saved.

I'm not sure properties would work here, because they don't take arguments, and we might want to calculate a new MAP (e.g. for a different observation). Maybe we should just rename to have a calculate_map() method and a map property, or something along those lines?


Fix vmexport download snapshot test

What this PR does / why we need it:
This PR fixes a minor error in the virtctl vmexport download snapshot test, so we use an appropriate volume name to download.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

Can it be that we don't run this test? I can't find any failing instances. Do you have an example?

Can it be that we don't run this test? I can't find any failing instances. Do you have an example?

We skip the test if it's not run on openshift. We've been seeing this test failing repeatedly downstream.

/lgtm

/approve

/cherry-pick release-0.58


Asymmetric error bars are not supported for series (only dataframes)

According to the documentation, asymmetric error bars should be able to be passed in to plot as an Mx2 array for a Series object or a Mx2xN array for a DataFrame object.
However, the code only seems to parse this correctly for a DataFrame: https://github.com/pydata/pandas/blob/master/pandas/tools/plotting.py#L1338
When passing raw error values as yerr, it seems that the first values are used as two-sided error differences, instead of being plotted as raw upper and lower values. Note the symmetric error bars below:

Using the underlying matplotlib function directly yields the expected results, but without the pandas-generated decorations:

This was originally noted in this StackOverflow question and I corroborated the other user's experience.

I am having a similar issue here.

Anyone interested in submitting a fix? I can help you out if you run into trouble.

I'm happy to try!
@TomAugspurger: I've been a user of pandas for a while, but I think I might need some guidance to the codebase. Would you be kind enough to pinpoint roughly where I should get started?

Thanks!
The plotting code is all in pandas/tools/plotting.py The logic for parsing error bars should all be here so that's were I'd start.


Rename access_type to access_level

Current dependencies on/for this PR:

main

PR #213

PR #219   👈

This stack of pull requests is managed by Graphite.


Unchanged samples suddenly failing on master

So this seems bad:
https://github.com/googleapis/nodejs-video-intelligence/pull/419
Sample tests are failing on master, un-related to any changes we seem to be making:
analyze.js labels-file <filePath>

Labels objects in a video stored locally using the Cloud Video Intelligence API.

Options:
  --version  Show version number                                                                               [boolean]
  --help     Show help                                                                                [boolean]

Error: 3 INVALID_ARGUMENT: Request contains an invalid argument.
    at Object.callErrorFromStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Object.onReceiveStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/client.js:174:52)
    at Object.onReceiveStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:340:141)
    at Object.onReceiveStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:303:181)
    at Http2CallStream.outputStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:114:27)
    at Http2CallStream.maybeOutputStatus (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:153:22)
    at Http2CallStream.endCall (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:140:18)
    at Http2CallStream.handleTrailers (/Users/beckwith/Code/nodejs-video-intelligence/samples/node_modules/@grpc/grpc-js/build/src/call-stream.js:256:14)
    at ClientHttp2Stream.emit (events.js:315:20)
    at emit (internal/http2/core.js:289:8) {
  code: 3,
  details: 'Request contains an invalid argument.',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} },
  note: 'Exception occurred in retry method that was not classified as transient'
}

This point to one of:

a dependency (grpc, gax) did something sketch in a patch/feature release
the backend started acting up

Either way, something we should investigate ASAP because it looks bad.

I'll update the test to use a new file, filed a bug about the issue. Started happening across all languages where the file suddenly became invalid.

Oh weird.  Should we add the file to source control, and have it upload itself to the bucket before testing?  Or is there a way we can lock down these resources to prevent that kind of thing from happening?

Well the file in question hasn't been touched in 3 years. So they must've made a change on the backend.
https://github.com/googleapis/nodejs-video-intelligence/blob/master/samples/resources/cat.mp4


Cleanup README

This commit makes several changes to the README file:

Remove the Summary Format section under Report Formats. There
is not longer a summary report format option available.

Change the ordering of Getting Started section to hopefully
minimize confusion about Tern running in a Mac environment.

Change two references of MAC to Mac.

Fix a typo under 'Getting Started on Linux' section that told users
to activate a virtual environment in a Fish or C shell using
source/bin/activate.* when there should be a space between
source and the activate script, not a slash character.

Resolves #547
Signed-off-by: Rose Judge<EMAIL_ADDRESS>

Should render now: https://github.com/rnjudge/tern/blob/fix-readme/README.md


Token balance not correctly updated after sending out tokens

Title/Description
Token balance not correctly updated after sending out all tokens
Environment

Browser: Firefox
Safe: https://rinkeby.gnosis-safe.io/app/#/safes/0x9D2407C6b6c1C307AB54Adb01627Ba0845e3Cddf/balances
Wallet: Metamask
App Version: 2.12.1
Environment:

production (Rinkeby)

Steps to reproduce

Select a Safe with an ERC20 token which has a USD balance. I used this Safe and this token.
Token balance looks fine:

Send out ALL tokens to somewhere else (I sent them to another Safe)

Expected result

Token balance and USD value goes to 0

Obtained result

USD value goes to 0 but token balances does not.

Misc
The tx service has the correct data as far as I see it: https://safe-transaction.rinkeby.gnosis.io/api/v1/safes/0x9D2407C6b6c1C307AB54Adb01627Ba0845e3Cddf/balances/usd/

The issue seems to be when you transfer all the tokens you have, getting your balance to 0. If the balance doesn't reach 0 then they get updated just fine
This doesn't happen with ETH, that one works fine and updates to 0 just fine.
This snapshot was taken 1h after transferring all tokens from the safe to other accounts, and they still show funds.
https://rinkeby.gnosis-safe.io/app/#/safes/0xe833B67BD5b1d240e2964b552983cBa395bB5841/balances


Removed tabs and deleted two-bucket/example-2.js

Squashed into one commit,

Removed the second example from two-bucket
Replaced tabs with spaces in two-bucket and crypto-square

Thanks to @matthewmorgan for helping to fix the initial pull request.

Thanks @ThomasZumsteg !

@matthewmorgan Thanks for your feedback on the earlier pull request!

My pleasure, any time.
Next time you do a PR,  if there are modifications, no need to close it and open a new one.  You can make all the changes locally and force push back to your fork, which will update the existing PR.
Let me know if you need more information on that, I'm happy to help.

Thanks for the insight, I'll do that next time.
I didn't think of force push. It's backfired on me a few time, and I've generally been advised to avoid it.


https://github.com/IntelRealSense/librealsense/issues/2818

Required Info

Camera Model
SR300

Firmware Version
<IP_ADDRESS>

Operating System & Version
Linux (Ubuntu 18.04)

Kernel Version (Linux Only)
(18.04.3)

Platform
PC

SDK Version
2.29.0

Language
Python

Segment
other

Issue Description
Hi,
I am extracting infrared frames from the SR300 camera and trying to get a higher resolution.
when I use config.enable_stream(rs.stream.depth) it works fine (returning 640 by 480 for IR), but when I try to force any parameter (for example "config.enable_stream(rs.stream.infrared, width=320, height=240, format=rs.format.any, framerate=10)") I get an error saying "Couldn't resolve requests", even when requesting resolution identical or lower to the default ones.
I tried several different inputs that I found on the examples but none of them worked.
some of these inputs work fine for color, but not for IR.
is there something I can do to modify IR input from the camera?
Thanks!

The SR300 only has the 640x480 IR channel, as its technology dates back to the start of 2016.  The error message that you received indicates that the camera was being asked to perform a task that it did not have support for.

I understand, thanks!
but it does not work with these exact parameters (if I try to change the frame rate). could there be another issue?
can you send me a link to full table you attached please?
Thanks again!

The table was taken from page 24 of the most recent edition of the data sheet document for the SR300 Product Family (SR300 and SR305).
https://www.intelrealsense.com/wp-content/uploads/2019/07/RealSense_SR30x_Product_Datasheet_Rev_002.pdf

Below is an example of Python formatting of an infrared stream instruction for a 640x480 stream at 30 FPS.
rs_config.enable_stream(rs.stream.infrared, 1, 640, 480, rs.format.y8, 30)

It works, thanks.

Awesome, glad I could help!   :)


【iOS】imprecise location for user location

Bug
Bug: Imprecise location for user location.
Installation Method: Install manually.
Screenshot 1 from react-native-maps:

Screenshot 2 from Google Maps installed from App Store:

As seen above, it's obvious that the current user location is extremely imprecise between react-native-maps - picture 1 and Google Maps installed from AppStore - picture 2. I'd like to know what's the reason? If anyone knows that, please help me out. Thank you so much. I tried many times but failed. I think this may be a bug.
Environment info
React native info output:
  React Native Environment Info:
    System:
      OS: macOS 10.15.3
      CPU: (4) x64 Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
      Memory: 4.15 GB / 16.00 GB
      Shell: 5.7.1 - /bin/zsh
    Binaries:
      Node: 12.6.0 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.9.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
      Android SDK:
        API Levels: 24, 26, 27, 28
        Build Tools: 26.0.2, 27.0.3, 28.0.2, 28.0.3
        System Images: android-24 | Google APIs Intel x86 Atom, android-27 | Intel x86 Atom_64, android-28 | Intel x86 Atom_64
    IDEs:
      Android Studio: 3.0 AI-171.4443003
      Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.3 => 16.8.3
      react-native: 0.59.9 => 0.59.9
    npmGlobalPackages:
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

Library version: "react-native-maps": "^0.25.0"
Steps To Reproduce

Install react-native-maps manually following the official installation correctly from this library.
Run it on real device - iPhone XR via Xcode
Go into map page and look the location of my current location
Alway keep imprecise

Describe what you expected to happen:
The current user location  shown on the map is always precise.
Reproducible sample code
Codes as follows:
<MapView
    style={styles.map}
    textStyle={{color: 'red'}}
    containerStyle={{backgroundColor: 'white', borderColor: 'green'}}
    provider={PROVIDER_GOOGLE}
    initialRegion={this.state.initialRegion}
    region={this.state.region}
    showsUserLocation={true}
    showsMyLocationButton={true}
    followsUserLocation={true}
    showsCompass={true}
    showsScale={true} // iOS. A Boolean indicating whether the map shows scale information. Default value is `false`
    showsIndoors={true} // android. A Boolean indicating whether indoor maps should be enabled. Default value is `false`
    showsIndoorLevelPicker={true} // android. A Boolean indicating whether indoor level picker should be enabled. Default value is `false`
   >
        <MapView.Marker
               coordinate={this.state.selectedCoordinate}
               ref={ref => this.marker = ref}
               draggable={false}
         />
</MapView>

const styles = StyleSheet.create({
    container: {
        position: 'absolute',
        top: 0,
        left: 0,
        right: 0,
        bottom: 0,
        justifyContent: 'flex-end',
        alignItems: 'center',
    },
    map: {
        ...StyleSheet.absoluteFillObject,
    },
});

It's because of coordinate conversion between earth(WGS-84) and mars in china(GCJ-02). Sorry for having this issue open. Closing.

@lchenfox where do you got that info

It's because of coordinate conversion between earth(WGS-84) and mars in china(GCJ-02). Sorry for having this issue open. Closing.

Yeah. This is a repo about coordinate conversion: eviltransform: Transform coordinate between earth(WGS-84) and mars in china(GCJ-02).

@lchenfox where do you got that info

It's because of coordinate conversion between earth(WGS-84) and mars in china(GCJ-02). Sorry for having this issue open. Closing.

Yeah. This is a repo about coordinate conversion: eviltransform: Transform coordinate between earth(WGS-84) and mars in china(GCJ-02).


BUG Grade Comparator makes equal grades not shown

map causing the same grade to be overwritten:
https://github.com/RPIFisherman/APS-app/blob/1e2190c4bfbf00d738fe05c2054a344d3af40761/src/main/java/ygong/APS/Scheduler.java#L18-L19
https://github.com/RPIFisherman/APS-app/blob/master/src/main/java/ygong/APS/Scheduler.java#L279

solved in #7


Revert "Dockerfile: use 'ENTRYPOINT' instead of 'CMD'"

Reverts coreos/etcd#5876
Sorry, just found out
'ENTRYPOINT' does not allow other entry points, like
sudo docker run --name etcd quay.io/coreos/etcd:v3.0.2 -e "ETCDCTL_API=3" /usr/local/bin/etcdctl version

2016-07-14 01:30:18.199422 E | etcdmain: error verifying flags, '/usr/local/bin/etcdctl' is not a valid flag. See 'etcd --help'.

And change the default data directory to '/var/lib/etcd/'
This one works for both
sudo docker run --name etcd etcd_test /usr/local/bin/etcd

sudo docker exec etcd /bin/sh -c "/usr/local/bin/etcd --version"
sudo docker exec etcd /bin/sh -c "/usr/local/bin/etcdctl --version"

lgtm


Formatting performance

Hey 😀 First of all, thanks for working on this. This is such a promising project. I do also know that this is super early phase and the ticket issue raised here might not be the most relevant as of today. Still I did want to share my findings and start discussion.
Issue
Currently performance seems to be significantly slower than purty.
Example: Article.purs from purescript-react-realworld
Average example with 421 lines of code.
hyperfine "purty --write Article.purs" "purs-tidy format-in-place Article.purs"

Benchmark #1: purty --write Article.purs
  Time (mean ± σ):      54.4 ms ±  14.5 ms    [User: 78.6 ms, System: 93.8 ms]
  Range (min … max):    30.9 ms …  82.0 ms    52 runs

Benchmark #2: purs-tidy format-in-place Article.purs
  Time (mean ± σ):      1.005 s ±  0.122 s    [User: 2.656 s, System: 0.201 s]
  Range (min … max):    0.790 s …  1.207 s    10 runs

Summary
  'purty --write Article.purs' ran
   18.49 ± 5.40 times faster than 'purs-tidy format-in-place Article.purs'

Example: Startup
Printing the version takes 200ms+. This might show that node upstart and loading dependencies are already taking up a good amount of time.
hyperfine "purty version" "purs-tidy --version"
Benchmark #1: purty version
  Time (mean ± σ):      16.3 ms ±   2.6 ms    [User: 6.6 ms, System: 8.9 ms]
  Range (min … max):    11.2 ms …  20.5 ms    182 runs

Benchmark #2: purs-tidy --version
  Time (mean ± σ):     213.6 ms ±  18.4 ms    [User: 234.0 ms, System: 19.4 ms]
  Range (min … max):   190.6 ms … 245.6 ms    13 runs

Summary
  'purty version' ran
   13.10 ± 2.37 times faster than 'purs-tidy --version'

Why is performance an issue?
I do think once performance takes a certain amount of time, developer experience feels sluggish and it becomes an issue.
For me personally 500 ms is a threshold, because it is the hardcoded timeout in CoC (Vim). If formatting takes longer, an error will be shown and the results are rejected. There are workarounds (see CoC issues), but it does highlight the issue.
Info
node v16.5.0
Purty v7.0.0
purs-tidy 0.4.1
System x86_64 Linux 5.4.124-1-MANJARO i5-8265U 32GB

Dead Code Elimination
Applying zephy to the output folder shaved off 60 ms for --version.
hyperfine  --warmup 1 "./bin/index.js --version" "./bin/index-dce.js --version"

Benchmark #1: ./bin/index.js --version
 Time (mean ± σ):     183.5 ms ±   9.8 ms    [User: 202.4 ms, System: 16.7 ms]
 Range (min … max):   177.1 ms … 207.6 ms    14 runs

Benchmark #2: ./bin/index-dce.js --version
 Time (mean ± σ):     117.9 ms ±   1.6 ms    [User: 128.6 ms, System: 14.2 ms]
 Range (min … max):   115.9 ms … 122.6 ms    23 runs

Summary
 './bin/index-dce.js --version' ran
   1.56 ± 0.09 times faster than './bin/index.js --version'

spago -x ./bin/spago.dhall build -u "--codegen corefn"
zephyr Main
# Change ./bin/index.js to use dce-output

Purty is written in Haskell and compiles to native code, whereas Tidy is a PS library and runs on Node. There isn't going to be a way for Tidy to rival Purty in performance until we get a very fast native backend for PureScript. Unfortunately, because each run of Node is going to yield a cold JIT, it's going to be quite unavoidably slow!

I'm not opposed to running zephyr DCE on releases if it helps. Unfortunately we can't bundle though due to how node-workerbees operates.

Thanks for these answers.

Unfortunately we can't bundle though due to how node-workerbees operates.

Could you elaborate this one? I was looking into how purescript-language-server is setup, and saw that the project leverages spago bundle-app

node-workerbees is a nice hack for using node's worker_threads API in what appears to be a first-class way. format-in-place leverages multiple threads to format in parallel. Unfortunately the hack requires unbundled output (so it can require output modules directly from the FFI).
Just as a point of comparison, with 4 workers on my 6 year old laptop, tidy can format our work codebase (~2000 modules) in around 10-12s, so it definitely improves quite a lot the more work is done since the JIT can warm up. When formatting a single file however, it's probably going to mostly run in interpreted mode in V8, which is very bad for PureScript 😄 😭.

Interesting, didn't know about that library :)
Other ideas regarding performance: purescipt-language-server could directly add a dependency on purs-tidy and call the function instead of forking a process. This comes with other downsides like the coupling of dependencies and versions, but this seems to be what is done in haskell-language-server. It would be interesting to see the impact.
Nonetheless, I think node itself and loading dependencies is one part, but in addition there might be other bottlenecks.
A better comparison might be pose, because it's implemented in node with the same approach (but also bundling)
hyperfine "prettier --parser purescript --write src/Conduit/Page/Article.purs"
Benchmark #1: prettier --parser purescript --write src/Conduit/Page/Article.purs
  Time (mean ± σ):     409.5 ms ±  33.5 ms    [User: 538.9 ms, System: 30.3 ms]
  Range (min … max):   377.0 ms … 482.9 ms    10 runs

I believe pose is largely a port of purty to PureScript, and you can see a slowdown factor of around 10x, which is about what I'd expect.
I don't think tidy will ever be as fast as pose because it supports dynamic width formatting, which adds an extra layer through purescript-dodo-printer. Even using the default settings, which don't use dynamic width formatting, it still has to go through dodo's printing interpreter. That's another thing that will be heavily affected by JIT. Dodo's printer is really fast when optimized, but probably adds a good chunk of overhead when in the baseline interpreter.

It may be possible to bundle if we actually make two bundles (one for main, and one for the worker), and then add some unsafe primitives to workerbees.

Can you also time using purs-tidy format over stdin vs format-in-place with a single file?

I can confirm that the worker startup is significant given current circumstances. I expect that it's reading modules and instantiating everything anew for every worker. For a single, slow file I was able to cut time by 30% by avoiding workers.

I can also confirm that bundling has a significant effect on simple commands like --version. I'll see what I can do to get a bundled version working.

I've published 0.4.2 which has a bundled main and worker. Additionally it only uses workers when the number of files to format is greater than --threads * 2. Would you mind rerunning your tests? In my testing it's quite a bit faster!

Thanks so much for your effort and looking into performance. I'm on a short vacation, but I'll definitely give it a shot when I'm back.

For reference, on my machine, that Article.purs went from 1.098s on 0.4.2 to 431.2ms on 0.4.2!

For more definitive timings (all with 3 warmup runs):
Benchmark #1: purty Article.purs --write
  Time (mean ± σ):     111.3 ms ±   7.3 ms    [User: 147.1 ms, System: 54.4 ms]
  Range (min … max):   100.3 ms … 127.9 ms    25 runs

Benchmark #1: purs-tidy format-in-place Article.purs
  Time (mean ± σ):     435.9 ms ±   6.4 ms    [User: 547.0 ms, System: 29.1 ms]
  Range (min … max):   426.8 ms … 444.7 ms    10 runs

Benchmark #1: npx prettier --parser purescript --write Article.purs
  Time (mean ± σ):     952.6 ms ±  14.6 ms    [User: 1.049 s, System: 0.116 s]
  Range (min … max):   927.4 ms … 975.8 ms    10 runs

In #53 I added support for timing information for just formatting. prettier supports this already. Unfortunately I can't hyperfine this specifically, so I just ran it 10x and took the mean:
tidy: 206ms
pose: 247ms

So it looks like a lot of the time in both of this is just startup, where prettier likely has a significantly weightier startup cost now. In my testing tidy is a little bit faster than pose, but not by that much.
I'm going to close this for now since I think it addresses the obvious startup issue. I'd still love to hear what timings you get on your machine (since it seems to be quite a bit faster than mine!).

Additionally, to illustrate how much difference JIT makes, the parser has a bench program (this is just parse time, pose and tidy use the same parser):
Benchmarking Article.purs
mean   = 36.30 ms
stddev = 18.34 ms
min    = 28.45 ms
max    = 179.84 ms

So regardless, most of the "formatting" time is actually going to the parser, since it's only being run once.

Wow, the results are really impressive!
purs-tidy v0.4.5
Benchmark #1: purs-tidy format-in-place src/Conduit/Page/Article.purs
  Time (mean ± σ):     332.5 ms ±  28.7 ms    [User: 446.6 ms, System: 23.5 ms]
  Range (min … max):   305.2 ms … 399.5 ms    10 runs

hyperfine "purs-tidy --version"
Benchmark #1: purs-tidy --version
  Time (mean ± σ):      62.5 ms ±   4.2 ms    [User: 55.7 ms, System: 8.0 ms]
  Range (min … max):    61.0 ms …  85.6 ms    33 runs

I wouldn't compare pose with npx. It does add additional overhead compared to a globally installed prettier.

That's a significant difference (I was just using the incantation from pose's website).


Introducing Node Intelligent Assistance

NIA- Node Intelligent Assistance conversational BOT

Hey @ChellaTheCoder - just want to ask a clarifying question: is this is a project of yours, and not something the Node.js project has decided to build? I can’t seem to find any reference or discussion in the project itself that has consensus.
If so, I’d recommend trying to submit this to something like awesome-nodejs which is more attuned to what you’re looking for 😊

Going to close this since there's been no response from the original PR and it seems (to me) to be out of scope.


(chore): Refactor CatalogSource controller

Description
Cleans up the controllers by:

Removing the unused Package and BundleMetadata controllers
Refactoring the CatalogSource controller to follow a similar approach to rukpak and operator-controller for consistency
Renames a couple functions to more accurately convey what they do
Adds comments to almost all functions (left out reconcile()) to help new contributors be able to more easily go through and understand what each function is doing

Motivation

resolves #5

One last comment here otherwise it's cool to address the other concerns with #6 and #35


The code panics in a certain OnResponse. How can the code not stop?

The code accidentally panics in a certain OnResponse, how can the code not stop?
Let other requests continue.

请问，这个Goroutine里能否选择添加defer recover机制？ @WGH-

I don't understand Chinese, could you repeat your question in English?

The code accidentally panics in a certain OnResponse, how can the code not stop?
Let other requests continue.
Now the program exits directly.
Excuse me, can I choose to add a defer recover mechanism to the fetch goroutine?

@WGH-

This will not cause the program to exit directly.

Do you have time to look at this question? How to implement this function without changing the source code. @WGH-

Experienced it once too. Seems like the whole package does not use recover anywhere.


v0.9.0a1

Description
v0.9.0a1

Had a bug, which https://github.com/run-llama/llama_index/pull/8846 fixes.


[Suggestion] Alternate templating engines

I love handlebars, but it'd be really nice to be able to choose Nunjucks, or other templating engines with this plugin. Could be separate tasks, etc.

@brandonb927 I'd rather not support multiple templating engines here. Reasons being I could see it growing out of control and I see this more of a grunt starter kit that you can modify with your own prefs.
Happy to link to a forked version from the readme if you have one ready though?

No worries, I was going to take this on myself and just thought I'd ask if this was something in the works first.

Hi @brandonb927 ,
is there a way to 'escape' the handlebars? i would like the generate a html with something like:
Dear {{ first_name }},
thanks in advance.

@martinbutler it's possible to escape the line using a backslash
\{{ first_name }}

OR
You can use an alternate syntax such as:
[[ first_name ]] > {{ first_name }}
Then and then add a custom regex via grunt task to replace it:
patterns: [ {
    match: /(\[\[)([^\]\r\n]+)(\]\])/gi,
    replacement: '{{ $2 }}'
}]

Better to post a new issue / question in an issue that isn't closed :)

@taeo thank you taeo. i pulled down the question b/c i did find the solution looking at the assemble.io repo, but i guess you were responding at the same time!
thank you for the additional suggestion on the regex.
cheers!


Curriculum update needed on browser_compatibility.md

The Odin's file, browser_compatibility.md is updated. Please update the Kampus' file, checkout file here browser_compatibility.md
Latest commits:

Update browser_compatibility.md (additions: 2, deletions: 2) on Feb 9 2024, 21:17 UTC

New commits have been made to the Odin's file. Please update the Kampus' file.
Latest commits:

Update browser_compatibility.md grammar/verbiage (#27945) (additions: 12, deletions: 12) on May 8 2024, 09:14 UTC


Apps keeps closing by itself

Does anyone else experience the app stop by itself after some time?

Same problem here.

+1

How did you solve it? I am facing the same issue.

How did you solve it? I am facing the same issue.

https://mac.gj.qq.com/

@wtry Need it in English 😓


Please document sign-in error 500021

Please document sign-in error 500021

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

ID: fa732de6-2cab-d780-aa21-dfec80e0a8fe
Version Independent ID: 1a11b9b6-cf4f-3581-0864-0d5046943b6e
Content: Sign-in activity report error codes in the Azure Active Directory portal
Content Source: articles/active-directory/reports-monitoring/reference-sign-ins-error-codes.md
Service: active-directory
Sub-service: report-monitor
GitHub Login: @MarkusVi
Microsoft Alias: markvi

@obsoletenewyork Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

HI @obsoletenewyork, I have staged an update for this.
#please-close

Closing as per author comments.


Create issue button not working: ERR_INSECURE_RESPONSE

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
"Create issue on atom/atom" button does not work
Steps to Reproduce

Produce an error, e.g. (atom/tree-view#1282):
1a. create a file with a comma in its name
1b. drag it in the tree view to a different folder
In the dialog that opens, click "Create issue on atom/atom"

No browser window is opened. Console (ctrl+shift+i) shows two new errors:
POST https://is.gd/create.php?format=simple net::ERR_INSECURE_RESPONSE

and
Uncaught (in promise) TypeError: Error processing argument at index 0, conversion failure from null
    at C:\Users\sternlab\AppData\Local\atom\app-1.38.2\resources\app\static\<embedded>:11:905732
    at <anonymous>

Reproduces how often:
Always
Versions
Atom    : 1.38.2
Electron: 2.0.18
Chrome  : 61.0.3163.100
Node    : 8.9.3
Windows 10

Thanks for the report!  I was unable to reproduce just now with 1.38.2 on Windows 10.  Can you still reproduce now?  I wonder if it was just a temporary issue with that URL shortening service.

Yes, still reproduces.
I also remember having this issue before (or at least, the same button not working), on the same machine, which then had Windows 7.

hmm, do you see the same error if you visit the site in Chrome?

Visiting the URL mentioned in the error (https://is.gd/create.php?format=simple) in chrome gives

Your connection is not private
Attackers might be trying to steal your information from is.gd (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_COMMON_NAME_INVALID

and under the "advanced" button:

This server could not prove that it is is.gd; its security certificate is from *.technion.ac.il.
This may be caused by a misconfiguration or an attacker intercepting your connection.

technion.ac.il is the local domain where the machine is, so I guess this might be a firewall issue?
A ping is.gd also yields a reply from inside that domain.


Weapon customisation doesn't work.

I've put all the files into the mod_overrides folder, and I have enabled weapon customisation in the modifications folder. But when I try to customise a weapon, it says that the files aren't in the mod_overrides folder, and I can't apply materials/colours/patterns to any of my weapons.

When i have read the changes correctly you would have to change a file due to a typo.
Go to:
GoonModWeaponCustomizer\units\payday2\weapons\wpn_fps_ass_74_pts
and copy "wpn_fps_ass_74_b_standard.material_config" and rename the copy to "wpn_fps_ass_74_b_standard.material_confi" (without g at the end).
Or wait for the next update.

I've tried that, but it still says they aren't in the mod_overrides folder. I definitely just copied over the units folder and placed it in mod_overrides.

The path should be:
"mod_overrides/GoonModWeaponCustomizer/units/..."


tests: drivers: watchdog window reduced to fit stm32 board config

Reduce the windows watchdog so that nucleo_f429 and nucleo_f746 can pass the tests/drivers/watchdog/wdt_basic_api whatever their sysclock and APB clock.
That change applies on the NUCLEO_F429ZI  target (cannot be a ./boards/nucleo_f429zi.overlay due to the existing stm32_wwdg.overlay)
Fixing the error when executing on the stm32f429zi or stm32f746zg nucleo boards
Running TESTSUITE wdt_basic_test_suite
===================================================================
START - test_wdt
Testcase: test_wdt_no_callback
Testcase passed
Testcase: test_wdt_callback_1
CB1 not supported on platform
Testcase: test_wdt_bad_window_max
PASS - test_wdt in 0.013 seconds
===================================================================
TESTSUITE wdt_basic_test_suite succeeded
------ TESTSUITE SUMMARY START ------
SUITE PASS - 100.00% [wdt_basic_test_suite]: pass = 1, fail = 0, skip = 0, total = 1 duration = 0.013 seconds
- PASS - [wdt_basic_test_suite.testRunning TESTSUITE wdt_basic_test_suite
===================================================================
START - test_wdt
Testcase: test_wdt_no_callback
Watchdog install error
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/watchdog/wdt_basic_api/src/test_wdt.c:387: wdt_basic_test_suite_test_wdt: test_wdt_no_callback() == TC_PASS is false
FAIL - test_wdt in 0.021 seconds
===================================================================
TESTSUITE wdt_basic_test_suite failed.
------ TESTSUITE SUMMARY START ------
SUITE FAIL -   0.00% [wdt_basic_test_suite]: pass = 0, fail = 1, skip = 0, total = 1 duration = 0.021 seconds
- FAIL - [wdt_basic_test_suite.test_wdt] duration = 0.021 seconds
------ TESTSUITE SUMMARY END ------
===================================================================
RunID: e47f82fc05b160a9bf7204cfba4e659b
PROJECT EXECUTION FAILED

Minimum and maximum timeout values depends on the watchdog peripheral :
WWDG  prescaler (WDGTB)   1,2,4,8   for the stm32f42x serie
WWDG Timeout bit field  T[5:0] from 0 to 63 for the stm32f42x serie
and the boards frequency configuration : APB1 peripheral clock which depends on the  apb1 prescaler  = 1, 2 ,4, 8 or  16 stm32f42x serie
The max reachable value is  given by the formula
t WWDG = t PCLK1 × 4096 × 2 ^ WDGTB[1:0] * ( T[5:0] + 1 )   ( in ms )
For the nucleo_f429 where the sysclock is 168MHz and a max possible APB1 prescaler of 16:
t WWDG = 1/ (168  / 16 * 1000) * 4096 * 2³ * (63 +1) = 199 ms
Even with the apb1 prescaler set to 16, the nucleo_f429 (with a sysclock at 168MHz) cannot achieve WWDG timeout higher than 199.
Another possible configuration is to define the WDT_TEST_MAX_WINDOW at 190 ms  for testing the WWDG on all the stm32 targets


Question: Is it possible support the iterator in version 1.23?

Golang 1.23 will support the iter package and define the types iter.Seq and iter.Seq2 as iterators. My idea is that maybe Each can return an iterator. Then the user can use the for loop on it easily.
func (s *Selection) EachIter() iter.Seq2[int, *Selection]

At client side:
for i, s := range doc.Find(".left-content article .post-title").Each() {
    title := s.Find("a").Text()
    fmt.Printf("Review %d: %s\n", i, title)
}

Reference
https://tip.golang.org/doc/go1.23
https://pkg.go.dev/iter@master

Hello,
Thanks for raising that very interesting idea! I haven't played with the new function-based iterators yet, but from what you mention and a quick glance at the iter package, that looks doable and would make a lot of sense to me.
I think having a new Selection method called EachIter as you have in your first example would be a good name, to avoid breaking compatibility and keep supporting the existing Each and EachWithBreak, though both could be documented as deprecated.
Only thing is that this would make go1.23 required for goquery, but that's fine as that would be part of a new release, so older releases would still be available for those that cannot use go1.23 yet.
If you (or anyone else reading this) are interested in experimenting with this and proposing a PR, I'd be happy to review and assist in getting this merged! (if you do, please make sure to add tests for the new method :pray: )
Thanks,
Martin

Hi @mna
I think Each, EachWithBreak don't need to deprecated, because EachIter do not chain the current Selection. See the implementation in #483

Hi @mna
I think Each, EachWithBreak don't need to deprecated, because EachIter do not chain the Selection itself. See the implementation in https://github.com/PuerkitoBio/goquery/pull/483

I think Each, EachWithBreak don't need to deprecated, because EachIter do not chain the Selection itself

good point, you’re right! Thanks for the PR, I’ll take a look sometime next week!


Add ApproxFun, BlockBandedMatrices, LightGraphs

Running coverage on this now.
If it looks good, we could also use this branch for the content involving these packages

Coverage looked good last I ran it, so I think this is ready for preview. And then we can develop content based on LightGraphs etc. (see also #228 that @XiaojunGuan is working on.)
cc @jlperla


refactor: Transaction commands improvements

For consume-notes, if no account ID is provided, use the default from the configs
If no notes are provided, use any consumable notes by the ID
Refactors some common functions into a utils mod

I'm getting this error when trying to consume multiple notes. In this case all notes are mint notes by a faucet to the target account.


Implementation of SessionScope Needed

I am using this library in my personal development project with FastAPI + SQLAlchemy. For instance, when creating an application that handles a database, I often find the need for a SessionScope to manage instances on a per-session basis.
Here are the requirements I have for SessionScope:

It should be able to hold providers managed by a unique ID such as session_id.
It should allow specifying session_id during dependency resolution.

I attempted to implement SessionScope by inheriting from the Scope class, following the example in docs/scopes.rst. However, I found that inheriting from the Scope class alone doesn't allow managing with session_id effectively.
I believe this is structurally challenging in Injector, Provider, and Scope classes to propagate a unique ID like session_id (or scope_id). If I'm wrong, I'd like your opinion.
So, I propose the following solutions:
example)

Allow Injector to accept session_id (or another unique ID) as an argument.

class Injector:
    @synchronized(lock)
    def get(
        self,
        interface: Type[T],
        scope: Union[ScopeDecorator, Type[Scope], None] = None,
+       session_id: Optional[str] = None,
    ) -> T:
        """_summary_

        Args:
            interface (Type[T]): interface
            scope (Union[ScopeDecorator, Type[Scope], None], optional): scope. Defaults to None.
+           session_id (Optional[str], optional): session_id. Defaults to None.

        Returns:
            T: _description_
        """
        binding, binder = self.binder.get_binding(interface)
        scope = scope or binding.scope
        if isinstance(scope, ScopeDecorator):
            scope = scope.scope
        # Fetch the corresponding Scope instance from the Binder.
        scope_binding, _ = binder.get_binding(scope)
        scope_instance = scope_binding.provider.get(self)

        log.debug("%sInjector.get(%r, scope=%r) using %r", self._log_prefix, interface, scope, binding.provider)
        # For request scope, include scopeID as an argument
+       if isinstance(scope_instance, SessionScope):
+           provider_instance = scope_instance.get(interface, binding.provider, session_id)
        else:
            provider_instance = scope_instance.get(interface, binding.provider)

+       result = provider_instance.get(self, session_id=session_id)
        log.debug("%s -> %r", self._log_prefix, result)
        return result

    def create_child_injector(self, *args: Any, **kwargs: Any) -> 'Injector':
        kwargs['parent'] = self
        return Injector(*args, **kwargs)

    def create_object(self, cls: Type[T], additional_kwargs: Any = None, session_id: Optional[str] = None) -> T:
        """Create a new instance, satisfying any dependencies on cls."""
        additional_kwargs = additional_kwargs or {}
        log.debug("%sCreating %r object with %r", self._log_prefix, cls, additional_kwargs)

        try:
            instance = cls.__new__(cls)
        except TypeError as e:
            reraise(
                e,
                CallError(cls, getattr(cls.__new__, "__func__", cls.__new__), (), {}, e, self._stack),
                maximum_frames=2,
            )
        init = cls.__init__
        try:
            self.call_with_injection(init, self_=instance, kwargs=additional_kwargs, session_id=session_id)
        except TypeError as e:
            # Mypy says "Cannot access "__init__" directly"
            init_function = instance.__init__.__func__  # type: ignore
            reraise(e, CallError(instance, init_function, (), additional_kwargs, e, self._stack))
        return instance

    def call_with_injection(
        self,
        callable: Callable[..., T],
        self_: Any = None,
        args: Any = (),
        kwargs: Any = {},
+       session_id: Optional[str] = None,
    ) -> T:
        """Call a callable and provide it's dependencies if needed.

        :param self_: Instance of a class callable belongs to if it's a method,
            None otherwise.
        :param args: Arguments to pass to callable.
        :param kwargs: Keyword arguments to pass to callable.
        :type callable: callable
        :type args: tuple of objects
        :type kwargs: dict of string -> object
+       :type session_id: session_id -> Optional[str]
        :return: Value returned by callable.
        """

        bindings = get_bindings(callable)
        signature = inspect.signature(callable)
        full_args = args
        if self_ is not None:
            full_args = (self_,) + full_args
        bound_arguments = signature.bind_partial(*full_args)

        needed = dict((k, v) for (k, v) in bindings.items() if k not in kwargs and k not in bound_arguments.arguments)

        dependencies = self.args_to_inject(
            function=callable,
            bindings=needed,
            owner_key=self_.__class__ if self_ is not None else callable.__module__,
+           session_id=session_id,
        )

        dependencies.update(kwargs)

        try:
            return callable(*full_args, **dependencies)
        except TypeError as e:
            reraise(e, CallError(self_, callable, args, dependencies, e, self._stack))
            # Needed because of a mypy-related issue (<https://github.com/python/mypy/issues/8129>).
            assert False, "unreachable"  # pragma: no cover

    @private
    @synchronized(lock)
    def args_to_inject(
+       self, function: Callable, bindings: Dict[str, type], owner_key: object, session_id: Optional[str] = None
    ) -> Dict[str, Any]:
        """Inject arguments into a function.

        :param function: The function.
        :param bindings: Map of argument name to binding key to inject.
        :param owner_key: A key uniquely identifying the *scope* of this function.
            For a method this will be the owning class.
+       :param session_id: session_id.
        :returns: Dictionary of resolved arguments.
        """
        dependencies = {}

        key = (owner_key, function, tuple(sorted(bindings.items())))

        def repr_key(k: Tuple[object, Callable, Tuple[Tuple[str, type], ...]]) -> str:
            owner_key, function, bindings = k
            return "%s.%s(injecting %s)" % (tuple(map(_describe, k[:2])) + (dict(k[2]),))

        log.debug("%sProviding %r for %r", self._log_prefix, bindings, function)

        if key in self._stack:
            raise CircularDependency(
                "circular dependency detected: %s -> %s" % (" -> ".join(map(repr_key, self._stack)), repr_key(key))
            )

        self._stack += (key,)
        try:
            for arg, interface in bindings.items():
                try:
+                   instance: Any = self.get(interface, session_id=session_id)
                except UnsatisfiedRequirement as e:
                    if not e.owner:
                        e = UnsatisfiedRequirement(owner_key, e.interface)
                    raise e
                dependencies[arg] = instance
        finally:
            self._stack = tuple(self._stack[:-1])

        return dependencies

Allow Provider classes and their subclasses to accept session_id (or another unique ID) as an argument.

class Provider(Generic[T]):
    """Provides class instances."""

    __metaclass__ = ABCMeta

    @abstractmethod
+   def get(self, injector: 'Injector', session_id: Optional[str] = None) -> T:
        raise NotImplementedError  # pragma: no cover

class ClassProvider(Provider, Generic[T]):
    """Provides instances from a given class, created using an Injector."""

    def __init__(self, cls: Type[T]) -> None:
        self._cls = cls

+   def get(self, injector: 'Injector', session_id: Optional[str] = None) -> T:
+       return injector.create_object(self._cls, session_id = session_id)

class CallableProvider(Provider, Generic[T]):
    """Provides something using a callable.

    The callable is called every time new value is requested from the provider.

    There's no need to explicitly use :func:`inject` or :data:`Inject` with the callable as it's
    assumed that, if the callable has annotated parameters, they're meant to be provided
    automatically. It wouldn't make sense any other way, as there's no mechanism to provide
    parameters to the callable at a later time, so either they'll be injected or there'll be
    a `CallError`.

    ::

        >>> class MyClass:
        ...     def __init__(self, value: int) -> None:
        ...         self.value = value
        ...
        >>> def factory():
        ...     print('providing')
        ...     return MyClass(42)
        ...
        >>> def configure(binder):
        ...     binder.bind(MyClass, to=CallableProvider(factory))
        ...
        >>> injector = Injector(configure)
        >>> injector.get(MyClass) is injector.get(MyClass)
        providing
        providing
        False
    """

    def __init__(self, callable: Callable[..., T]):
        self._callable = callable

+   def get(self, injector: 'Injector', session_id: Optional[str] = None) -> T:
+       return injector.call_with_injection(self._callable, session_id = session_id)

    def __repr__(self) -> str:
        return '%s(%r)' % (type(self).__name__, self._callable)

class InstanceProvider(Provider, Generic[T]):
    """Provide a specific instance.

    ::

        >>> class MyType:
        ...     def __init__(self):
        ...         self.contents = []
        >>> def configure(binder):
        ...     binder.bind(MyType, to=InstanceProvider(MyType()))
        ...
        >>> injector = Injector(configure)
        >>> injector.get(MyType) is injector.get(MyType)
        True
        >>> injector.get(MyType).contents.append('x')
        >>> injector.get(MyType).contents
        ['x']
    """

    def __init__(self, instance: T) -> None:
        self._instance = instance

+    def get(self, injector: 'Injector', session_id: Optional[str] = None) -> T:
        return self._instance

    def __repr__(self) -> str:
        return '%s(%r)' % (type(self).__name__, self._instance)

@private
class ListOfProviders(Provider, Generic[T]):
    """Provide a list of instances via other Providers."""

    _providers: List[Provider[T]]

    def __init__(self) -> None:
        self._providers = []

    def append(self, provider: Provider[T]) -> None:
        self._providers.append(provider)

    def __repr__(self) -> str:
        return '%s(%r)' % (type(self).__name__, self._providers)

class MultiBindProvider(ListOfProviders[List[T]]):
    """Used by :meth:`Binder.multibind` to flatten results of providers that
    return sequences."""

+    def get(self, injector: 'Injector', session_id: Optional[str] = None) -> List[T]:
        return [i for provider in self._providers for i in provider.get(injector)]

class MapBindProvider(ListOfProviders[Dict[str, T]]):
    """A provider for map bindings."""

+    def get(self, injector: 'Injector', session_id: Optional[str] = None) -> Dict[str, T]:
        map: Dict[str, T] = {}
        for provider in self._providers:
            map.update(provider.get(injector))
        return map

Implementation of SessionScope

class SessionScope(Scope):
    """A :class:`Scope` that returns a per-Injector instance for a session_id and a key.

    :data:`session` can be used as a convenience class decorator.

    >>> class A: pass
    >>> injector = Injector()
    >>> provider = ClassProvider(A)
    >>> session = SessionScope(injector)
    >>> a = session.get(A, provider, session_id)
    >>> b = session.get(A, provider, session_id2)
    >>> a is b
    False
    >>> c = session.get(A, provider, session_id2)
    >>> b is c
    True
    """

    _context: Dict[str, Dict[type, Provider]]

    def configure(self) -> None:
        self._context = {}

    @synchronized(lock)
    def get(self, key: Type[T], provider: Provider[T], session_id: Optional[str] = None) -> Provider[T]:
        id: str = session_id or "common"
        try:
            return self._context[id][key]
        except KeyError:
            instance = self._get_instance(key, provider, self.injector)
            provider = InstanceProvider(instance)
            if id not in self._context:
                self._context[id] = {}
            self._context[id][key] = provider
            return provider

    def _get_instance(self, key: Type[T], provider: Provider[T], injector: Injector) -> T:
        if injector.parent and not injector.binder.has_explicit_binding_for(key):
            try:
                return self._get_instance_from_parent(key, provider, injector.parent)
            except (CallError, UnsatisfiedRequirement):
                pass
        return provider.get(injector)

    def _get_instance_from_parent(self, key: Type[T], provider: Provider[T], parent: Injector) -> T:
        singleton_scope_binding, _ = parent.binder.get_binding(type(self))
        singleton_scope = singleton_scope_binding.provider.get(parent)
        provider = singleton_scope.get(key, provider)
        return provider.get(parent)

session_scope = ScopeDecorator(SessionScope)

Regarding 3., I don't know how to destroy the _context session at an arbitrary time. Is there a better way to do this as well?

Any update on merging this?


Deal with bad train

Fix texts_to_padded_sequences, make it could do 'pre' padding.
Do pre padding in encoder and post padding in decoder.

There's why:
LSTM has only one direction, if you do some sequences like: [1, 2, 3, 4, 0, 0, 0, 0], 0 is the padding, this thing make LSTM lost a lot of information( or hardly keep information ).
That's why keras do 'pre' padding in default, that is: [0, 0, 0, 0, 1, 2, 3, 4]
No, bi-lstm will not solve this problem, it could solve half of problem, because you make one direction offline too. The ultra answer is use some thing like:
torch.nn.utils.rnn.pack_padded_sequence
and
torch.nn.utils.rnn.pad_packed_sequence
in pytorch, (Sorry I forgot what the same methods in TF)
    def texts_to_padded_sequences(
            self,
            text_list: List[List[str]],
            padding='post' # or pre
    ) -> tf.Tensor:
        '''doc'''
        sequence_list = self.tokenizer.texts_to_sequences(text_list)
        padded_sequences = tf.keras.preprocessing.sequence.pad_sequences(
            sequence_list,
            maxlen=MAX_LEN,
            padding=padding,
            truncating='post',
        )

        return padded_sequences

queries_sequences = vocabulary.texts_to_padded_sequences(queries, padding='pre')
        responses_sequences = vocabulary.texts_to_padded_sequences(responses)

I decreased train set to only 30, and there's result, not very good, but a good start
PYTHONPATH=. python3 bin/train.py
DataLoader downloading dataset from: https://github.com/zixia/concise-chit-chat/releases/download/v0.0.1/dataset.txt.gz
DataLoader loading dataset from: /home/qhduan/.keras/datasets/concise-chit-chat-dataset.txt.gz
2018-11-19 20:40:30.452493: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Dataset size: 30, Vocabulary size: 146
checkpoint restored.
------- step 0 , loss 26.717678 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> , , , , but , but , but yeah yeah yeah t thousand  never .  never .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> get out !
> , , , , , but , but , but yeah yeah yeah t thousand  never .  never
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> . , , , but , but , but yeah yeah yeah t  never .  never . then
checkpoint saved.
------- step 10 , loss 26.015606 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no .
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re asking me out .
>
------- step 20 , loss 33.995461 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> get out !
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
>
------- step 30 , loss 37.556053 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i know .
> ! .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> did you change your hair ?
> ! .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i know .
> ! .
------- step 40 , loss 39.510574 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> okay .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
> i .
------- step 50 , loss 33.712532 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> so they tell me ...
> i .
------- step 60 , loss 28.027050 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how many people go here ?
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> i i .
------- step 70 , loss 24.957691 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> okay .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
> i .
------- step 80 , loss 29.339167 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re not helping .
> i i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> he always look so
> i i .
------- step 90 , loss 23.483274 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a little .
> i you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
> i you .
------- step 100 , loss 20.607203 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> north , actually . how d you ?
> no .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> no i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> what if she never starts dating ?
> no .
checkpoint saved.
------- step 110 , loss 26.344757 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> north , actually . how d you ?
> no , .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> forget it .
> no , , , it it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> where ve you been ?
> no .
------- step 120 , loss 22.881607 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> get out !
> i no .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> i no , , it it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> north , actually . how d you ?
> i .
------- step 130 , loss 18.337414 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you know french ?
> i you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no !
> i no , , it it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you the new guy ?
> i you .
------- step 140 , loss 16.429169 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> then neither will you .
> i no , it it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i know .
> i no , , it it s s t t have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> i no , , , , , it .
------- step 150 , loss 15.988334 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> then neither will you .
> i you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> i .
------- step 160 , loss 15.754500 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> thirty two .
> i no , , it it s s s t have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> did you change your hair ?
> i .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> i no , , it it s s s t have
------- step 170 , loss 15.589033 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no !
> no , , it s s s have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you know french ?
> no , it s s s s a have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> no , , it s s s a have
------- step 180 , loss 17.725128 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> just a little .
> no , , it s s a have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> no , , it s s my fault have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> forget it .
> no , , it s s my fault have
------- step 190 , loss 15.071338 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> that i m used to .
> i decided .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how many people were in your old school ?
> you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> you .
------- step 200 , loss 12.004116 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you the new guy ?
> i could .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> i still maintain that he he himself in the balls .
checkpoint saved.
------- step 210 , loss 12.521299 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> get out !
> how many people go here ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how many people go here ?
> i decided .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you the new guy ?
> i could .
------- step 220 , loss 13.192391 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> how many people go here ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you know french ?
> i could start with your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> he always look so
> i still maintain that he kicked himself the balls .
------- step 230 , loss 9.193684 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> now don t get upset .
> no !
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i know .
> i could start with your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> thirty two .
> i could start with your haircut , but it doesn t matter
------- step 240 , loss 11.727905 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no !
> i could start your your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> where ve you been ?
> i we decided .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
> i still maintain that he kicked himself in the balls .
------- step 250 , loss 8.272629 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> thirty two .
> i could start with your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you the new guy ?
> i thought we decided you were going to school .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re asking me out .
> i still kidding .
------- step 260 , loss 8.249215 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> did you change your hair ?
> i still maintain that he kicked himself in the balls .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> he always look so
> i still maintain that he kicked himself in the balls .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re not helping .
> i we make this quick ?
------- step 270 , loss 7.322756 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
> no , no , it s my fault we didn t have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re not helping .
> can we make this quick ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how many people were in your old school ?
> i still maintain that he kicked himself in the balls .
------- step 280 , loss 6.287617 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> i could start with your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
> no , no , it s my fault we didn t have
>>>>>>>>>>>>>>>>>>>>>>>>>>>> now don t get upset .
> no !
------- step 290 , loss 7.910484 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> he always look so
> i still maintain that he kicked himself in the balls .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> then neither will you .
> but it s not fair she s a mutant , daddy !
>>>>>>>>>>>>>>>>>>>>>>>>>>>> north , actually . how d you ?
> i was kidding . people actually live there ?
------- step 300 , loss 7.372733 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> exactly my point
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you know french ?
> i thought we decided you were going to school here .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> yeah .
> how many people were in your old school ?
checkpoint saved.
------- step 310 , loss 5.120145 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> then neither will you .
> but it s not fair she s a mutant , daddy !
>>>>>>>>>>>>>>>>>>>>>>>>>>>> where ve you been ?
> nowhere ... hi , daddy .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> how many people go here ?
> couple thousand . most of them evil
------- step 320 , loss 5.013429 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> so they tell me ...
> c mon . i m supposed to give you the tour .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> how many people go here ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> that i m used to .
> yeah , but these guys have never seen a horse .
------- step 330 , loss 4.245070 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re not helping .
> can we make this quick ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> well , yes , compared to your other choices of expression this
> i still maintain that he kicked himself in the balls .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> jesus !
------- step 340 , loss 3.674403 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> then neither will you .
> but it s not fair she s a mutant , daddy !
>>>>>>>>>>>>>>>>>>>>>>>>>>>> why not ?
> i could start with your haircut , but it doesn t matter
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> yeah .
------- step 350 , loss 3.594064 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> what if she never starts dating ?
> then neither will you .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> no !
> you might wanna think about it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> yeah .
------- step 360 , loss 3.051002 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> you re not helping .
> can we make this quick ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> where ve you been ?
> nowhere ... hi , daddy .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> exactly my point
> you re asking me out .
------- step 370 , loss 3.758334 -------
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i know .
> i thought we decided you were going to school here .
>>>>>>>>>>>>>>>>>>>>>>>>>>>> but she doesn t want to date .
> exactly my point
>>>>>>>>>>>>>>>>>>>>>>>>>>>> i was kidding . people actually live there ?
> yeah .
^CTraceback (most recent call last):
  File "/home/qhduan/Work/concise-chit-chat/env/lib/python3.6/site-packages/tensorflow/python/eager/backprop.py", line 602, in _ones
    def _ones(shape, dtype):
KeyboardInterrupt

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "bin/train.py", line 216, in <module>

  File "bin/train.py", line 169, in main
    def main() -> int:
  File "bin/train.py", line 119, in train
    print(responses_sequences[0])
  File "bin/train.py", line 65, in grad
    gradients = tape.gradient(loss_value, model.variables)
  File "/home/qhduan/Work/concise-chit-chat/env/lib/python3.6/site-packages/tensorflow/python/eager/backprop.py", line 901, in gradient
    output_gradients=output_gradients)
  File "/home/qhduan/Work/concise-chit-chat/env/lib/python3.6/site-packages/tensorflow/python/eager/imperative_grad.py", line 64, in imperative_grad
    output_gradients)
  File "/home/qhduan/Work/concise-chit-chat/env/lib/python3.6/site-packages/tensorflow/python/eager/backprop.py", line 112, in _gradient_function
    mock_op = _MockOp(attr_tuple, inputs, outputs, op_name)
SystemError: <class 'tensorflow.python.eager.backprop._MockOp'> returned a result with an error set
Makefile:62: recipe for target 'train' failed
make: *** [train] Interrupt

Awesome, that's the problem!
@824zzy and I noticed that the context that the encoder output is very similar and feels there's some problem with it, but we did not find that the sequence padding order matters the LSTM encoder.
Thank you very much for the help!

Today I had another experiment using the old padding=post with

Remove GO and DONE from input sentence have a little help to train

I have something try yesterday, no update
I think with small size dataset could be fitted means basically OK.
According the result, I think the model learned how to cheat, like every sentences have DONE sign and '.' or 'I', so it have learnt too fast with these.
There're some tricks I don't try, too busy these days, like set different learning rate to encoder and decoder

Thanks for keep trying it!
I noticed that at the tutorial from pyTorch, they use a 5X learning rate for the decoder then encoder.
Will keep playing with it...


Chore segment tracking service

Description
Added segment source event broker, inspired by https://github.com/dialoguemd/beautiful-mind/blob/master/rasa-stack/rasa_stack/segment.py
To simplify development in local, and contrary to beautiful-mind, core startup will not fail if SEGMENT_WRITE_KEY environement variable is not set, but segment source event broker will be disabled.
Related issues
closes #206
Checklist

[ ] PR title follows Conventional Commits guidelines
[x] All relevant PR sections are populated, irrelevant ones are removed

I was able to setup a Dev source for this, @mathieubergeron can you run through a couple a patients on dev (with this PR deployed to canonical) so we can verify if the data flows correctly?


Data Property value_cell=None raises an error

Hi Dave,
The change implemented in https://github.com/dave-howard/vsdx/issues/55 added a new bug in my case. In the .csv file, I have a case where the value_cell = None. This raises an error in DataProperty.__init__(...) due to it checking value_cell.text in an if statement.
I suggest adding the following or something similar:
elif value_cell is None:
    value = None

So the start of __init__ becomes:
def __init__(self, *, xml: Element, shape: Shape):
    """init a DataProperty from a property xml element in a Shape object"""
    name = xml.attrib.get('N')
    # get Cell element for each property of DataProperty
    label_cell = xml.find(f'{namespace}Cell[@N="Label"]')
    value_cell = xml.find(f'{namespace}Cell[@N="Value"]')
    value = None

    if isinstance(value_cell, Element) and value_cell.attrib.get('V') is not None:
        value = value_cell.attrib.get('V')  # populate value from V attribute
    elif value_cell is None:
        value = None
    elif value_cell.text:
        value = value_cell.text  # populate value from element inner text

This might, however introduce new errors I haven't tough of.
Best regards,
Johan Christian Jenssen

Hi @johancj  - this should be resolved in latest release (0.5.15) now


Fixing couple of warnings and making sandbox work directly with staging.

Allowing the sandbox connect directly to the server using daily api key from the environment.
Removing daily-js dependency that should not be needed by rtvi-client-js
Fixed some lint warnings

Closing this PR, all the relevant changes will be included at this branch: jpt/0.1.7


Likely race condition in build system related to generated.tar.gz

Hi,
We switched to cmake in building znc v1.9.0 and are using the following options:
cmake .. \
    -DWANT_PYTHON=yes \
    -DWANT_PERL=yes \
    -DWANT_TCL=yes

It works fine single threaded, but in multi-threaded make, it intermittently fails with the following error:
#11 6.182 [ 81%] Generating swigperlrun.h, ZNC.pm, modperl_biglib.cpp, perlfunctions.cpp
#11 6.184 [ 81%] Built target po_admindebug_de_DE
#11 6.184 [ 81%] Built target po_admindebug_el_GR
#11 6.184 [ 81%] Built target po_admindebug_es_ES
#11 6.188 [ 81%] Generating swigpyrun.h, znc_core.py, modpython_biglib.cpp, pyfunctions.cpp
#11 6.188 [ 81%] Generating swigperlrun.h, ZNC.pm, modperl_biglib.cpp, perlfunctions.cpp
#11 6.189 [ 81%] Generating swigperlrun.h, ZNC.pm, modperl_biglib.cpp, perlfunctions.cpp
#11 6.191 CMake Error: Problem with archive_write_header(): Can't create 'modperl_biglib.cpp'
#11 6.191 CMake Error: Current file: modperl_biglib.cpp
#11 6.191 CMake Error: Problem extracting tar: /tmp/znc/modules/modperl/generated.tar.gz
#11 6.191 make[2]: *** [modules/modperl/CMakeFiles/modperl_functions.dir/build.make:73: modules/modperl/swigperlrun.h] Error 1
#11 6.191 make[2]: *** Deleting file 'modules/modperl/swigperlrun.h'
#11 6.191 make[1]: *** [CMakeFiles/Makefile2:3868: modules/modperl/CMakeFiles/modperl_functions.dir/all] Error 2
#11 6.191 make[1]: *** Waiting for unfinished jobs....
#11 6.194 [ 81%] Built target modperl_swig
#11 6.198 [ 81%] Built target modperl_swigruntime
#11 6.200 [ 81%] Built target modpython_swig
#11 6.200 make: *** [Makefile:136: all] Error 2

It sometimes succeeds, and sometimes fails, suggesting a race condition in parallel build steps.
For reference, here's the Dockerfile we're using: https://github.com/linuxserver/docker-znc/blob/55732d46ad76283f425785eb8c5cbe641431ffdf/Dockerfile
Here's a failing build: https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-znc/detail/1.9.0/1/pipeline/#step-135-log-1998
And here's a succeeding build with the same Dockerfile, just a different run: https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-znc/detail/PR-49/1/pipeline
For now we set it to build single threaded and it seems to succeed every time.
Thanks
PS. I just realized we already updated the above linked Dockerfile to remove the env for MAKEFLAGS="-j4", which causes the intermittent issue

I'm always running with -j20 without any issue.
Your Dockerfile seems reasonable, more or less.

jq -r 'first(.[] | select(.name | contains("-rc") | not)) | .name');

Consider filtering out alpha/beta as well.
Because generated.tar.gz exists in the tarball you're downloading, you're not using swig at all, no need to install it. But since the generated.tar.gz is there already, I don't see how it can be racing with anything.
I see this line twice in your log:
#11 6.188 [ 81%] Generating swigperlrun.h, ZNC.pm, modperl_biglib.cpp, perlfunctions.cpp
#11 6.189 [ 81%] Generating swigperlrun.h, ZNC.pm, modperl_biglib.cpp, perlfunctions.cpp

Does it somehow try to run the exact same extraction twice in parallel? That seems like bug in cmake.
You can remove both generated.tar.gz files after unpacking, then cmake will actually use swig you installed instead, maybe that'll be less racy?

Or try using ninja instead of make. Is that also racy?

Thanks so much for looking into it and for the suggestions.
I just did over a dozen local multi-threaded builds and they all succeeded. When I opened this issue, they were failing about half the time. You might be right that perhaps it was a cmake bug that since got fixed. We do install cmake from pypi so it does get updated frequently.
We're updating our trigger to ignore -beta and -alpha tags as well.
Thanks


Installing from a fresh clone doesn't work.

Followed the instructions on the readme, everything compiles cleanly.
I get this error in the console:
iron-icon.html:145 Uncaught TypeError: Polymer.Base.create is not a function
and basically everything in the client is broken. I'll try sorting this out. Maybe a package is missing?

I think I've figured this out. sec


Why isn't the entire project folder being synced on Windows?

Hi,
What is the rationale behind only syncing the '/var' and '/app/etc' directories on Windows?

Hi, please see https://github.com/paliarush/magento2-vagrant-for-developers/blob/2.0/docs/performance-issue-on-windows-hosts.md


NaN probability output from LabelModel.predict_proba()

Issue description
I encounter NaN label probabilities in the output of the LabelModel during binary labeling task when I use many labeling functions with many matches per instance. I was able to reproduce the bug with this (not entirely realistic, but valid) example.
Code example/repro steps
import numpy as np
import pandas as pd

from snorkel.labeling.model import LabelModel

n_lfs = 500

# define lf-to-class mapping, i.e. with what class does an LF label instances
# shape (1 x number_of_LFs), values from [0,1] for binary task
np.random.seed(1234)
lf_assignments = np.random.binomial(n=1, p=1, size=(1, n_lfs))

# create 100 dense instances where all LFs match for every instance
dense = np.tile(A=lf_assignments, reps=(100, 1))

# create sparse instances with a single LF match for every LF
sparse = np.ones((n_lfs, n_lfs)) * -1
np.fill_diagonal(sparse, lf_assignments)

# create LabelModel input from two blocks
L = np.concatenate([
    dense,
    sparse
])

model= LabelModel()
model.fit(L, n_epochs=10, lr=0.0001, log_freq=5, seed=1234)

# predict probabilities; a warning is raised here (see output below)
label_probs = model.predict_proba(L)
print(np.isnan(label_probs).any())  # returns True

This part is executed without errors, but the label_probs contains NaNs. This is the output of the code snippet, including the warning:
2021-03-31 13:04:15,298 root         INFO     Computing O...
2021-03-31 13:04:15,743 root         INFO     Estimating \mu...
2021-03-31 13:04:15,790 root         INFO     [0 epochs]: TRAIN:[loss=6856.269]
2021-03-31 13:04:16,003 root         INFO     [5 epochs]: TRAIN:[loss=6812.121]
2021-03-31 13:04:16,249 root         INFO     Finished Training
/mounts/Users/student/speranskaya/.local/lib/python3.8/site-packages/snorkel/labeling/model/label_model.py:424: RuntimeWarning: invalid value encountered in true_divide
  return X / Z
True

Additional investigation of the label_probs shows, that the NaNs are assigned to the dense block of the input, i.e. only for the instances with many LF matches:
df = pd.DataFrame({
    # count how many LFs matched for an instance
    "match_count": (L != -1).sum(1).flatten().tolist(),

    # boolean indicator whether instance got a NaN label probability
    "has_nan": np.isnan(label_probs).any(1).flatten().tolist()})

# whole dense part recieves NaN labels (100 instances)
print(f"There are {df.has_nan.value_counts()[True]} NaN probability outputs.")  # there are 100 NaN outputs
print("Mean amount of LF matches for instances with NaN output label probability: "
      f"{df.loc[df.has_nan, 'match_count'].mean()}")  # all of them have 500 LF matches => dense block

Output:
There are 100 NaN probability outputs.
Mean amount of LF matches for instances with NaN output label probability: 500.0

Expected behavior
An error or a warning if the input and/or the parameters of LabelModel do not meet any mandatory restrictions, or valid float output probabilities otherwise.
System info

Snorkel installed via pip
OS: Linux
Python version: 3.8.5
Snorkel version: 0.9.7
Versions of any other relevant libraries: numpy 1.17.4

Additional context

I additionally investigated the problem by adding the following lines to label_model.py#L417

# Note: We omit abstains, effectively assuming uniform distribution here
X = np.exp(L_aug @ np.diag(jtm) @ np.log(mu) + np.log(self.p))
print(f"X has NaN values: {np.isnan(X).any()}")
Z = np.tile(X.sum(axis=1).reshape(-1, 1), self.cardinality)
print(f"X.sum() has NaN values: {np.isnan(X.sum(axis=1)).any()}")
print(f"Z has NaN values: {np.isnan(Z).any()}")
print(f"Z has zero values: {(Z == 0).any()}")

This outputs the following, indicating that the NaNs are probably the result of a zero division:
X has NaN values: False
X.sum() has NaN values: False
Z has NaN values: False
Z has zero values: True

Initially, this problem arised with even more LFs (~6500), but much lower "match density". Instances with ~300 LF matches already received a NaN probability. The loss in this setting is also much lower during fit, since the LFs are not random.

Thank you for the detailed repro steps, @marina-sp! I think you're right about the cause. We can probably either add epsilon to all values to avoid 0 or handle those entries separately outside of the division. We'll take a look.


CloudEvent header mapping is confusing

I am using Camel-K with knative.
Standard CloudEvent-headers show up in the header map with a CamelCloudEvent prefix, which is pretty unexpected.
Retrieving them as "normal" ( e.g. ce-source) fails.
Custom CE-headers show up without that prefix though (e.g. ce-rhrouting) :
Headers: {Accept-Encoding=gzip, CamelCloudEventID=d1bd2700-a251-4dca-bce7-4cbb395bc281, CamelCloudEventSource=notifications-gw, CamelCloudEventType=com.redhat.cloud.notification.toCamel, CamelCloudEventVersion=1.0, CamelHttpMethod=POST, CamelHttpPath=, CamelHttpQuery=null, CamelHttpUri=/, Ce-Knativearrivaltime=2021-07-13T09:25:17.733927213Z, Ce-Rhaccount=54321, Ce-Rhrouting=ansible, content-length=393, Content-Type=application/json,  K-Proxy-Request=activator, User-Agent=Go-http-client/1.1,  X-Request-Id=0d28e4fb-0dcd-4db1-b27b-1c3edfa3a027}

The reason is that - as far as I remember - depending on the cloud event spec version that is used, some headers have different names so at least those from the spec are mapped to CamelCloudEvent*, others are untouched.
We could add an option to also include the raw values


Brand and Weight are not displayed in the Offline product list

Brand and Weight are not displayed in the Offline product list

I am working on it...

This issue can be closed