Hi, I would like to ask some questions about the data

Hello, I am currently working on landslide related projects. Could you please inform us about the source of the landslide image data? Thank you very much !

Hello, how about your thesis now? Can you send me your some publications about this work? Thank you very much!

Unfortunately, I cannot send you this thesis @MVPTylerE because after a few months I have changed the topic and did not finish this project.


Make repository production ready

For now, I believe its best to deploy on Heroku because of its ease of use.
To do that, we must make several(breaking) changes.

Reset all CORS configuration from both the front end and back-end.
Group the back-end routes under /api
Replace all references to localhost in the front-end to just /api
Configure a proxy to make running this in development mode a bit easier. The Create React App docs have a page detailing on just this - see Proxying API Requests in Development
Use environment variables for storing the database information instead of a config file (which is hard to use in production)
Stop using the MemoryStore. Instead use something like MongoStore for storing sessions in production
Add Heroku specific configuration to ensure automatic building of both react  and the typescript express app.

And that's all I can think of currently. I should be able to merge a PR for this soon, provided we agree on all of the above points.
What do you think?

Here is what I think:

I was able to deploy the server on Azure VM with the frontend on Vercel with SSL and CORS working fine (https://chat-app-pink-xi.vercel.app/). And that barely required a small change in session configuration and a new environment variable for socket URL in frontend. So, I think this way Vercel deploys automatically on every push and we can easily write an Actions script to initiate a git pull and then a pm2 restart in the server at every push. This will require addition of just one script and will not require any breaking changes.
Yep, we will have to do this in any case.
There is already a REACT_APP_HOST env variable, where we can add the backend server URL.
I am not sure how convenient would that be.
Yep, right we need to do this.
Yeah, we can use either Mongo or Redis here.

Would this be better?

I thinlk #32 resolves this. Great work!


Help for projcet based on E_Ink_dashboard

Hi @duxenmx!
Can I please ask help for a new project?
Is based on your code but without a server, just spotify service and a DHT22 sensor.
I've trying to refresh the screen when I change the spotify song but I've some serious problem with the get_spot_info() because it write always the same info and it doesn't change. Can I send you my code for a quick review please?
I'm stuck up over 2 weeks, I really don't know how to exit.
I hope in your help... :cry:

Hi there
Sorry, been quite busy with work and other things, sure I'll see what I can do, do you have a GitHub where I can see the code?

Unfortunately not, but I'll learn how to upload on GitHub as soon as I can and let you know!! Really really thanks man!!!

Hi @duxenmx !!
I've put my code on Github and I've sent to you an invite to see it!
I published the code as private because it is badly written and I would be ashamed if someone else saw him! :laughing:
Thanks again for the support! See you there!!

heya, havent run the code yet, have to reinstall a lot of stuff for my editor but from what I see in the test.py line 86-106, once it loads for the first time you getting information on the console for the start_counter, prev_song, curr_song, right?, once it the sleep time passes are you getting different information everytime it refreshes?
time.sleep is in seconds, so having time.sleep(5.0) is only seconds, if this was minutes it would be time.sleep(5*60) if that was your intent
start with this and let me know

My intent with this function is read the title of the song in the prev_song variable than wait 20 secs (declared in def function of d_spoti.py). In a loop this function control if the prev_song is equal to curr_song; if the control is true do nothing, if the control is false the song has changed and so the screen write a new image with the new template.
The problem now is that the spoti function return always the same title of the song and they never change and I really don't know why they remain the same. I was think that every time the while loop read the variables the prev_song and curr_song were refreshed but it doesn't happen. There something wrong in the grammar of the code?
the time.sleep(5.0) can be deleted, it isn't useful.

I'll be closing this issues and can follow through on your project github if more assistance is needed in the future

Sorry for the delay, ok thank you. See you soon!


Update PyPi code

The code on PyPi is outdated.
https://pypi.org/project/wikipedia/
Please updated it.

This module is fairly outdated and isn't actively maintained. To use it you will either need to build from source or use some of the other forks/rewrites of the library. I maintain one called pymediawiki that is up to date on pypi. I do know that there  are others that do similar things. It all depends on what you are looking for.
Good luck!


Installation fails

Describe the bug
Installation failed in the process.
Note that he VPS used has not much RAM and I suspect the 50M RAM usage mentioned in the catalog to be actually higher.
Not sure that this is relevant, but after the install attempt I was logged off (maybe because I left the Webadmin unattended too long).
Tandoor appeared in the application list as if it was installed (and I was later able to uninstall it).
Visiting the installed URL was leading to a page mentioning a HTTPS certificate error (I doubt this relates to an issue with the domain).
Context

Hardware: VPS bought online
YunoHost version: <IP_ADDRESS>
I have access to my server: Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: no
Using, or trying to install package version/branch: 1.5.17~ynh1

Steps to reproduce
Launched install on a dedicated subdomain via the webadmin.
Logs
https://paste.yunohost.org/tigiyuseta.apache

Tandoor needs 2.5G RAM to build... I updated manifest.toml accordingly


Error when loading twitter.com/{USER}

Error handling response: TypeError: Cannot read properties of undefined (reading 'executeScript')
    at chrome-extension://mmfbffakmonmeehobfblddlnblpiepco/background.bundle.js:1:167

No longer able to reproduce in https://github.com/meandavejustice/pin-tweet-to-ipfs/pull/60


Sign in error using Google sign in

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Go to 'Create project'
Click on 'Google data'
Click on 'Sign in and authorize Google Account'
See error

Current Results
400 error page as per screenshot
Expected behavior
I should be able to authorize my Google account
Screenshots

Desktop (please complete the following information):
Window 10
JDK-13
Latest Chrome version
OpenRefine (please complete the following information):
Version 3.3 (I expect it's 3.3, not sure where to check in)

You need to setup your keys before doing this. Did you set up the keys?

You need to setup your keys before doing this. Did you set up the keys?
No I didn't , how to do that?

We need to document the process of obtaining OAuth credentials from Google. When using the credentials for development purposes, it's not too hard.
You will need to go to the Google API Console: https://console.developers.google.com/
This will let you register for OAuth credentials. First, click "Create Project" and pick a project name such as "My OpenRefine Dev Project". Then, pick "Enable APIs and Services". Enable the following services:

Google Sheets API
Google Drive API

The go to the "OAuth consent screen" pane. As user type, pick "External". Don't worry about the validation stage, it will not be needed if you are only using the service for development.
Fill the form for the OAuth credentials. For the OAuth scopes, pick ../auth/drive/ which will give you write access to your Google Drive. For the domain (and other URLs), you can pick anything (since localhost will be allowed anyway). Hit "Save" to save the consent screen.
Then go to the "Credentials" pane, create new OAuth credentials, adding as allowed origin http://localhost:3333. Copy your client id and client secret and save them in a file outside your git clone of OpenRefine.
You can then add your client id and secret in the GoogleAPIExtension class.
Note: we could potentially create disposable OAuth credentials for dev and put these in the source code by default. They would not get validated but would be still useful for development. They would also get revoked at some point, since they would appear in clear in the source code.

Hi @wetneb, where should we add this documentation?

@AghaSaad04 perhaps on a new page dedicated to the Google extension, on the wiki?

I have added the Google Extension page to the wiki. Kindly review it :)

@AghaSaad04 I think we should also make our Google Data importer panel a bit more helpful for our users.  Explaining those 2 basic steps.  Make a new issue so someone can work on that! :-)
Example:
1. KEYS:  Setup your KEYS before proceeding to AUTHORIZE - See our [Google Extension](https://github.com/OpenRefine/OpenRefine/wiki/Google-Extension) help page
2. AUTHORIZE:  Authorized Documents - Please sign in and authorize access to your Google data.

Just to be clear - this is only needed when working with development versions of OpenRefine, keys are provided for the releases. We could add an additional message pointing to the wiki when OpenRefine is run without OAuth credentials, but only in that case.

Perfect @wetneb, @thadguidry. I will update the Google Extension page and will also add that in the Google Data importer panel.

@wetneb
I did everything as per procedure but it's the same again :/

@TejaswiKarasani have you recompiled OpenRefine after changing GoogleAPIExtension.java? You can do this on the command line with refine.bat build. But I would recommend using an IDE such as Eclipse (rather than a simple text editor) which will automatically compile things when you save your changes.

@TejaswiKarasani have you recompiled OpenRefine after changing GoogleAPIExtension.java? You can do this on the command line with refine.bat build. But I would recommend using an IDE such as Eclipse (rather than a simple text editor) which will automatically compile things when you save your changes.

yes I did recompile

Ah it's my fault then, you probably need to add the callback URL http://localhost:3333/extensions/gdata/authorized to the Credentials pane (I have just updated the wiki).

@wetneb it worked finally. Should search around some tasks and start contributing ^_^

This can be closed then:)
On Sun, 8 Mar, 2020, 23:50 TejaswiKarasani<EMAIL_ADDRESS>wrote:

@wetneb https://github.com/wetneb it worked finally. Should search
around some tasks and start contributing ^_^
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/OpenRefine/OpenRefine/issues/2368?email_source=notifications&email_token=AKQMTLT2WHJSENHTX4NNSTLRGPOW5A5CNFSM4LDYIY42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOE5FVY#issuecomment-596234967,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKQMTLVQBF5VKFSUFALWIRLRGPOW5ANCNFSM4LDYIY4Q
.

yes @kushthedude  but just waiting for @wetneb approval because some of the wiki updated along .

Sure!


Does anyone have this problem?  SharedArrayBuffer transfer requires self.crossOriginIsolated

123f1564-29cf-4f0b-9e70-4a7413c34625:169 Uncaught (in promise) DOMException: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': SharedArrayBuffer transfer requires self.crossOriginIsolated.
at blob:http://localhost:8080/123f1564-29cf-4f0b-9e70-4a7413c34625:169:26
(anonymous) @ 123f1564-29cf-4f0b-9e70-4a7413c34625:169
Promise.then (async)
self.onmessage @ 123f1564-29cf-4f0b-9e70-4a7413c34625:156

I know the answer.
Need to set up headers: {
'Cross-Origin-Embedder-Policy': 'require-corp',
'Cross-Origin-Opener-Policy': 'same-origin'
},

I know the answer. Need to set up headers: { 'Cross-Origin-Embedder-Policy': 'require-corp', 'Cross-Origin-Opener-Policy': 'same-origin' },

Could you tell me more about where to set up this headers?


added JSON.INGEST support for HTTP

Added JSON.INGEST support.
closes #551.

What is remaining:

unit tests
documentation

@JyotinderSingh please review this draft PR.
 If changes look good, I will add unit test cases for command.

@lucifercr07 Thanks for reviewing.
I have made it ready for review.
I have one question , do i need to include any unit testcase for this command(HTTP protocol )  under this issue? if yes, what should be the most suitable location for that.
Or  test cases will be covered in https://github.com/DiceDB/dice/issues/558 or https://github.com/DiceDB/dice/issues/552

@lucifercr07 Thanks for reviewing.
Resolved conflicts.

Small recommendation, but I think it might make sense to return the generated ID as response, rather than OK. @kushal0511-not

Changes done @pratikpandey21.
Please review  it.


Fixes #359 : Website Accessible

Fixes #359
The website is now accessible for the given code. If it shows any error, try reloading the website.
https://github.com/subhadipbhowmik/30-Days-Of-CPP/assets/153659573/537ea655-a365-4fe5-a522-ae9782ff0b60

@subhadipbhowmik Please merge my PR.


Add laravel 6 support

Add Laravel 6 support.
Related issue : https://github.com/Edujugon/laradoo/issues/17.

Thanks for your review @Edujugon, I did the requested changes, it should be ok now.

@Okipa ,
Thanks for your contribution 🎉


Added CI.

Signed-off-by: Bartlomiej Plotka<EMAIL_ADDRESS>

cc @iNecas

Apparently GitHub is working on some quick option to do that for everyone if wanted, so let's wait on that! WDYT? (:

Lint is failing for a good reason:

##[error]/home/runner/work/obslytics/obslytics/pkg/input/factory/factory.go:4:2: package "errors" shouldn't be imported, suggested: "github.com/pkg/errors"
##[error]/home/runner/work/obslytics/obslytics/pkg/output/factory/factory.go:4:2: package "errors" shouldn't be imported, suggested: "github.com/pkg/errors"
make: *** [lint] Error 3

Let's fix in separate PR (:


Refactor the code

Set the keypair to the current username by default. Comment out built in volumes.

Comment out the keypair name by default and use ENV['OS_USERNAME']

Nice documentation improvements! Please merge this yourself.


drivers: gpio: Combined drive strength flags

Is your enhancement proposal related to a problem? Please describe.
Most microcontrollers support some sort of drive strength option for GPIO. The Zephyr implementation provides flags for using an alternate drive strength, but these flags are targeted at a specific vendor implementation. The GPIO_DS_ALT_HIGH and GPIO_DS_ALT_LOW flags are used to set the drive strength of a pin when the output of that pin is High or Low, respectively. As most microcontrollers do not support this type of behavior (per output state drive setting), the initial assumption is that the High and Low correspond to drive strength, not output state, causing a lot of confusion. It also requires non-nordic hardware to use a combination of (GPIO_DS_ALT_HIGH | GPIO_DS_ALT_LOW) to set the drive strength.
Describe the solution you'd like
New drive strength flags GPIO_DS_ALT and GPIO_DS_DFLT should be added. These flags should be called out in the documentation as the primary drive strength flags for use in most situations.
By defining these flags as
#define GPIO_DS_DFLT		(GPIO_DS_DFLT_LOW | GPIO_DS_DFLT_HIGH)
#define GPIO_DS_ALT			(GPIO_DS_ALT_LOW | GPIO_DS_ALT_HIGH)
the per-output-state functionality of the nordic GPIO driver will be maintained, but the more general-purpose usage of drive strength flags will be available.
Describe alternatives you've considered
None.
Additional context
When implementing the drive strength option for the cc13xx_cc26xx gpio driver, it was not apparent which combination of flags should be used to set the alternate drive strength. In both my development of the driver feature and in code review of the PR by @pabigot, the High/Low confusion came into play, and is the motivation for this Enhancement request.

Added for API review @carlescufi

@mnkp FYI, this follows up on discussion #30220.

In the API telecon 2020-01-05 we discussed this, and came up with several concerns:

Some vendors have more than two drive strength configurations.
It seems unlikely there will be a clear set of common functionality that can be supported cross-vendors with consistent behavior in vendor-agnostic code.  (That being exactly the problem with the existing gpio DS flags).
Most vendors handle drive strength as a function of pinmux configuration, not GPIO, as it also applies when the signals are used with peripherals like I2C, SPI, and PWM.

This enhancement doesn't identify the platform where the existing functionality is unsatisfactory.
My position at this point is any generic solution to managing drive strength belongs in a pinmux API, not a GPIO API.  It may also be easier to support vendor-specific capabilities than it is with GPIO, e.g. by doing it through driver-specific devicetree properties associated with the controller.
I'd recommend that we instead take steps to deprecating the GPIO configuration of drive strength, and replace it with something in the pinmux API.  Until that happens it would make sense to add vendor-specific API extensions to drivers (pinmux or GPIO) to provide access to capability needed in the short-term.

In the API telecon 2020-01-05 we discussed this, and came up with several concerns:

Some vendors have more than two drive strength configurations.
It seems unlikely there will be a clear set of common functionality that can be supported cross-vendors with consistent behavior in vendor-agnostic code.  (That being exactly the problem with the existing gpio DS flags).
Most vendors handle drive strength as a function of pinmux configuration, not GPIO, as it also applies when the signals are used with peripherals like I2C, SPI, and PWM.

This enhancement doesn't identify the platform where the existing functionality is unsatisfactory.
My position at this point is any generic solution to managing drive strength belongs in a pinmux API, not a GPIO API.  It may also be easier to support vendor-specific capabilities than it is with GPIO, e.g. by doing it through driver-specific devicetree properties associated with the controller.
I'd recommend that we instead take steps to deprecating the GPIO configuration of drive strength, and replace it with something in the pinmux API.  Until that happens it would make sense to add vendor-specific API extensions to drivers (pinmux or GPIO) to provide access to capability needed in the short-term.

@statropy could you please respond to the concerns above?

@statropy could you please respond to the concerns above?

Evidently alternate drive-strength is not an often used feature since until I found this issue it had only been implemented for one device. So whether or not this is adopted probably isn't that important. But my proposed solution:

Alleviates confusion from poor naming convention
Doesn't rely on understanding implementation details of NRF I/O pins
Doesn't eliminate features/functionality of current NRF implementation
Perfectly suitable as an interim solution until a pinmux-based design is implemented

If this isn't the right approach, I'm happy to withdraw it.

Evidently alternate drive-strength is not an often used feature since until I found this issue it had only been implemented for one device. So whether or not this is adopted probably isn't that important. But my proposed solution:

Alleviates confusion from poor naming convention
Doesn't rely on understanding implementation details of NRF I/O pins
Doesn't eliminate features/functionality of current NRF implementation
Perfectly suitable as an interim solution until a pinmux-based design is implemented

If this isn't the right approach, I'm happy to withdraw it.

@mnkp @anangl please provide your input.
I'm willing to prototype a common driver-specific API in the Nordic, SX1509, and cc13xx* drivers if we agree on deprecating use of these flags in the GPIO API and aren't going to get pinmux in place anytime soon.  But I'd really prefer to not start adding more complexity to the use of common flags for this purpose.

@mnkp @anangl please provide your input.
I'm willing to prototype a common driver-specific API in the Nordic, SX1509, and cc13xx* drivers if we agree on deprecating use of these flags in the GPIO API and aren't going to get pinmux in place anytime soon.  But I'd really prefer to not start adding more complexity to the use of common flags for this purpose.


Adding OTA-agent to ESP32. Also, writing the OTA image to flash.

Changes:

Added the OTA-agent to ESP32.
Also, writing the OTA image to the flash and setting it valid once the download is complete.

Testing
Able to run the OTA demo end to end. The ESP32 is able to boot with the newer image.

I'm ignoring all lib directory changes. I'm assuming these are modified due to a rebase/merge with main branch

I'm ignoring all lib directory changes. I'm assuming these are modified due to a rebase/merge with main branch

Yeah, that's correct. All the lib changes are due to rebase with the main branch.


IME Support

egui master recently got support for IMEs (Input Method Editors; https://github.com/emilk/egui/issues/248). These new events should be handled by egui_sdl2_gl.

Cool. Will look into it!

I seem to have it working fine on Mac (see branch https://github.com/ArjunNair/egui_sdl2_gl/tree/ime_support).
However, I can't seem to get this to work on Windows. Looks like this could be a SDL 2 issue (https://github.com/Rust-SDL2/rust-sdl2/pull/1042). Even with the "bundled" feature that tries to patch the 1042 fix mentioned above, I couldn't get Chinese characters or the candidate window to show up correctly in the input box.
Neovide (https://github.com/Kethku/neovide) seemed to have similar issues and as far as I can tell they switched to winit for the windowing events to get around this? Not entirely sure.
Unfortunately, I've run into a brick wall for the moment as far as windows IME support goes. Any pointers or help would be appreicated!


Questions about the paper

After reading the paper, I have some questions:

Is CARP applied on an already fine-tuned LLM like Chat GPT? If so, if I am trying to apply this concept in a model that has not been fine-tuned at all (for example GPT variants that can be found in Huggingface), how should I prepare the training data to fine-tune the LLM so that CARP can be effectively applied?
I do not understand what the paper says regarding using training sets. From what I understand, there is a training set, and you sample some of them out using SimCSE for few-shot learning demonstration examples. However, I do not understand where the training set is used other than when sampling out the few-shot examples. Were they used to fine-tune the LLM and you keep them for future use?

I apologize if I asked anything that was already mentioned in the paper and I was not paying close attention to it. Thank you in advance

请讲中文

看完这篇文章，个人觉得作者没有用训练集微调任何大模型，只是挑选了部分样本来做few-shot.　但是这里挑选样本的时候比较疑惑，比如用simces来选择和问题相似的文本，问题样本来自哪里？？［mask了部分带label的样本吗？]  但是如果没有任何先验样本的话，这个该如何处理了？

table 4 in this paper show that as the training set grows，16，128,256,512,1024, the carp models accuracy increase, how did it use the increased training set, did LLM model fine-tune on the training set


Multivariate factorization

Trying to address #42

Thank you, @iliailmer !
Could you remove factor_with_singular since it is not longer used?

@pogudingleb sorry, forgot to rename commit, but the function is removed


Social authentication without Identity

How I read the providers  to show in my login page?
When I'm using Identity I use SignInManager.GetExternalAuthenticationSchemesAsync().
But SignInManager  is part of Idnetity? I'm right?

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

ID: 6f9d7ad5-47d6-80bf-88fe-fac3a74151a3
Version Independent ID: e64816f4-3391-5aab-31c2-ab4f915bc7f6
Content: Facebook, Google, and external provider authentication without ASP.NET Core Identity
Content Source: aspnetcore/security/authentication/social/social-without-identity.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

SignInManager is used in the authentication templates.  See https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity
to generate all the code and look for SignInManager

But in this case I want to use without the identity. Like the intention of the title of the documentation
Use social sign-in provider authentication without ASP.NET Core Identity. If I use SignInManager it will use the Identity. Would you complete this example  to be more clear, please.

The Use cookie authentication without ASP.NET Core Identity is fantastic example, Make an example like this would be great!I can dowaloaded and run and change to learn with example. :)


Hide shortcuts on pickers for mobile

Fixes #2503

We should use the same CSS for those shortcuts.. for another PR perhaps

:+1:


how do you sending control command at each step

@grammers Thanks for the nice contributions.
I have been testing some other work so i couldn't get back to this. Previously you helped me to get this planner work with my data.
Now I am ready to deploy it with my robot (SPOT). I am able to get trajectory  as you mentioned /dsp/path and /dsp/splinepath .
But this path includes past and current trajectory information. While sending robot , how to do you sending pose information to robot at each control step.
By the way, have you tested this with SPOT ?

Yes, I have tested it with Spot.
It is the path from the current pose to the goal pose and only past poses from the delay from the computation.
I extracted the next pose in the path with a path-following script that keeps track of already past poses. I believe the path_to_pose.py script does this but I have not used that one for a long time so it may not work. I have a position controller, which I have used bout a PID and an NMPC (https://ieeexplore.ieee.org/abstract/document/9885187).
The controller sends velocity commands to spot (cmd_vel) using this spot ros driver https://github.com/heuristicus/spot_ros.
If you get the path in Spots coordinate frame do I believe it is possible to send the position directly to Spot and let Boston dynamics controller solve the motion this has not been tested.

@grammers Thank you so much for quick response, currently i have tested with Position directly and able to control the spot with geometry_msgs/Pose data. From path_to_pose.py script i couldn't find the exact pose that need to feed to robot for next control step. Because, /dsp/path and /dsp/splinepath, keep accumulating all the poses in the robot trajectory. Is there any topic that can publish only next control step pose.

As a single pose, is it the output from path_to_pose.py script.
The dsp/path and splined path is not an acumelation. It is a path, a list of points leading from current positio (robot odometry) to the goal_point. So, following the points in the list in the path one after the other will lead to the goal.
Due to update time, the robot can  traverse the parts of the path before it is updated and, therefore, looks as if it is accumulating old poses.

@grammers Thank you so much, then each time dsp/path and splined path updated with current position of robot, desired goal.

Path_to_pose.py is old and poorly written but it takes the path dsp/path (can be changed to dsp/splinepath). And based on the robot position odometry/imu is it finding the next yet not visited point (within radie of WP_SIZE) in the path. The next point to visit in the path is published on topic /shafter3d/reference (in code is the publisher called vel_publisher only to confuse, no velocity is published). /shafter3d/reference should be subscribed to by a position controller.
The lines you referring to are for resetting the index counter when a new path is received.
Yes, it is only position data without any orientation. Following is a cpp example of how an orientation can be set from the current position (odom) to the next waypoint (point).
    double x = -odom.pose.position.x + point.x;
    double y = -odom.pose.position.y + point.y;
    double z = -odom.pose.position.z + point.z;

    double pith = asin(z);
    double yaw = atan2(y, x);
    double rol = atan2((-y+x)/sqrt(y*y + x*x), (3) / sqrt(x*x + y*y + (-y*y+x*x)*(-y*y+x*x)));

    double c1 = cos(yaw / 2);
    double c2 = cos(pith / 2);
    double c3 = cos(rol / 2);
    double s1 = sin(yaw / 2);
    double s2 = sin(pith / 2);
    double s3 = sin(rol / 2);

    geometry_msgs::Quaternion quat;
    quat.w = c1 * c2 * c3 - s1 * s2 * s3;
    quat.x = -s1 * s2 * c3 + c1 * c2 * s3;
    quat.y = s2 * c1 * c3 + c2 * s1 * s3;
    quat.z = c3 * c2 * s1 - s2 * c1 * s3;

Hope this clarify!

@grammers After few workaround i able to navigate the robot in the path generated by the this planning algorithm
But strangely, trajectory takes sudden turn always, though there is straight free space.
Herewith sharing video depicting the sample path following. So robot keep struggling to move forward.
https://github.com/LTU-RAI/Dsp/assets/29722843/f0765a78-d6dd-4727-8400-70aab0d6d764
Would you please give some tips to overcome this ?

Glade to hear that you got it to work. It is hard to tell with certainty why the path is snaking. My best guess is that it has to do with the risk layer and how it is applied when the map is real (imperfect). The option is that it is some residue when updating the map, but to say that I would have to test with a bag of the experiment, and using the dsp/occupancy_map topic and modefy it in the bottom of dsp.cpp to visualize the risk layers.

@grammers Thank you so much for your response.
Some times trajectory shows variation in pitch where I expecting only in yaw.
Case: where trajectory moves below the voxels.

Case: where trajectory snaking.

I would greatly appreciate if you could check once my bag file here
Topis:
Odometry: /robot/odom
LiDAR: /points_raw

Because you're halfway is 2 voxels wide in many places and the risk layer is set to 2 voxels wide is it working poorly. To try and get after paths can DSP utilize imperfections in the map to go through flore because DSP found cheaper paths.
Solutions, lowering the voxel size so there is at least one free voxel in the model not affected by the risk, with risk 2 is 5 voxels width needed. this will be more taxing on memory and also computation power.
Lowering the risk is possible but you lose the benefit of DSP when doing so, 1 is ok but due to how paths in corners are calculated will you risk kolissions there. It is possible to run with risk = 0 but then is it the same as running a normal D* (almost) algorithm.
The snaking comes from the splining of the path. I have not optimized it so I can't explain why it is doing it like that. My guess is that it tries to make a "smooth" path (no sharp corners) and avoiding to cut corners. With that sharp corners in this resolution looks like it snakes out of the corner.

@grammers Thank you so much and as you suggested i tried with the risk = 0 and observed trajectory much better than before and there were not much snaking issues.
BTW, is there any fix for this, every first step starts like this, with small turn. I didnt understand, due to this initial robot movement starting very strangely.

Ther can be a random occupied or unknown voxsel somewhere on the path, making the right side be preferable, and then it randomly decides to move over emidietly. But I don't have a great explanation for it.
Risk = 0 can also have a of by 1 error that only appears with 0. I have not tested mutch with risk 0, so it is possible.

@grammers Thank you so much.

Tuning of octomap or running on pre-build map with no updates.  After that is is it used to use a different mapper, but there is no other than octomap maps supported by DSP, which can be added, but that requires some work.

@grammers Sometime planner taking path outside octomap, I have tried with setting different risk param. But no change, path goes out of map. Are there any parameter to tune ?

Thanks in advance !

Risk is the parameter that is supposed to solve this. but because the corridor is so narrow will it be filled with risk and I guess that causes the path (fore what DSP knows) through the unknown is cheaper.
The proper solution (once again) is to have a smaller voxel size so there exists free space (with no risk) inside the corridor. But that is more taxing on RAM and CPU.
You can check the octomaps free space in rviz to verify that the map is correct.

@grammers
Though there is enough free space, wondering path generating close to the wall ? I have tried lot by tuning octomap params (resolution and maxrange and minrange). But no useful.

Please would share some tips ?

Looks like risk = 0 putting it to  1 or 2 (or something) should create a safety marginal.
For the ground robot, you would desire a 2D map (nav_msgs/occupancy_grid) instead of octomap. and set the launch parameter use_3d = false. lately, have I used https://github.com/LTU-RAI/traversability_mapping to get a 2D map to plan paths for ground robots.

The update rate is there to reduce the issues you described where the robot may backtrack or redo the same thing multiple times. Ultimately is it a balance between update rate, robot seed, and path tracking feed-forward (WP_SIZE).
The computationally heavy part is planning map building or when the map is expanding. This scales with the number of voxels. A 2D map has naturally fewer voxels so it is significantly faster to build the planing map. The same goes for RAM usage. The actual path generation time is relatively small and is probably not significant but it is also affected of resolution and distance.
The map I linked uses an external Odom source, The not building has to do with config, I use the offline.launch script (for online on the robot in contrast to the name). Any 2D map will work, even octomaps projected map (but that is trach indoors).
DSP is set to use tf as the start position instead of odom topic because of msg delivering timings that can cause the path to start from an old position resulting in the robot backtracking. But in older versions was odom topic used /dsp/set_start.
To use Odom topic and keep the update frequents should this be commented, and line 441 uncomented.
https://github.com/LTU-RAI/Dsp/blob/4ee9da61b599a7715edeece21f4acab688927488/src/dsp/dsp.cpp#L525
https://github.com/LTU-RAI/Dsp/blob/4ee9da61b599a7715edeece21f4acab688927488/src/dsp/dsp.cpp#L441C1-L442C27
You may need to add a test if start_pos has been set.
If you desire a path to update with frequent of Odom is it lines 441 that should be uncommented and also line 594 commented.
https://github.com/LTU-RAI/Dsp/blob/4ee9da61b599a7715edeece21f4acab688927488/src/dsp/dsp.cpp#L594

@grammers With your continuous support, we were able to finish our demonstration successfully. Thank you so much for your kind help.


Compile without warnings, etc.*

* - The "etc." includes:

Raising the warning level from 3 to 4
Using individual using statements instead of using namespace std
Moving said using statements near the top of their file
Adding more files/directories to .gitignore
Adding trailing newlines

Closing due to lack of relevance. I will submit a new PR later.


npm security vulnerability: node-forge and serialize-javascript

Upgrade node-forge to version 0.10.0 or later. For example:

"dependencies": {
  "node-forge": ">=0.10.0"
}
or…
"devDependencies": {
  "node-forge": ">=0.10.0"
}

Upgrade serialize-javascript to version 3.1.0 or later. For example:

"dependencies": {
  "serialize-javascript": ">=3.1.0"
}
or…
"devDependencies": {
  "serialize-javascript": ">=3.1.0"
}

Refer here for more details.

The libraries are upgraded now and alerts are resolved.
@biljanaLukovic Can you please verify before closing the issue ?


Angular Cli doest works with angularmaterial

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed
this happen when  i try to install packages of angular material 2, what happen and how can i resolved?

At first glance from your errors, it does not relate to the Angular CLI.
It seems like you have a wrong Angular 2 version installed, which is not compatible with the Angular Material 2 version you explicitly installed (alpha.8-1)
Try installing the latest Angular release candidate
npm i<EMAIL_ADDRESS>--save
...

@tavo379 Those are npm peer dependency warnings and have nothing to do with the angular cli.


this project is shown as deprecated on npm registry

I noticed that this package is now showing as deprecated on the npm registry, which might bring security concerns for some people that are planning to use it.
is that the case, or was it because the handler changed from bestseller to container-registry?
https://www.npmjs.com/package/@bestsellerit/backstage-plugin-harbor

yes, exactly. However I didn't yet made it possible to publish the packge to NPM.js set

Can we expect a new release soon? PRs like https://github.com/container-registry/backstage-plugin-harbor/pull/242 would probably help many of us :)

need some help on that one https://github.com/container-registry/backstage-plugin-harbor/issues/263

Do you have a timeline when this will be implemented @Vad1mo?


Could rowPluck benefit from vectorization?

What is wrong?
99.9% chance nothing is wrong.
Where does it happen?
src/recurrent/matrix/row-pluck.js
How important is this (1-5)?
1
Other Comments
Just wondering if that function rowPluck could be vectorized, and if so, benefit from it?

It probably could.  Do you want to give it a stab?  Sorry it has taken so long to get back to this.

Since this was answered with

It probably could.

I'll go ahead and close.


start router manually

What problem does this feature solve?
To deal with something before start router and after the App.vue has mounted.
What does the proposed API look like?
router.start()

Why would you need to start the router after the Vue app.
Usually, you can delay thing by starting the Vue app after

I don't think we will support this unless there is a valid and properly elaborated use case.

I was hoping for this feature as well.
I have the following use case. I authenticate users with OAuth(Laravel Passport) and I want to store the authorization token in a cookie, so users don't need to login on every page refresh or after opening a new tab. If the cookie was found, I want to delay the start of Vue Router until the authorization token has been confirmed to be valid. The process of validation can take several hundred milliseconds and it looks weird if I suddenly redirect from the login page to the app.
How would you approach this with the current API?
Should I make a global navigation guard and inside it redirect according to the cookie value?
import store from './path/to/store';

router.beforeEach((to, from, next) => {
    if(store.getters.signedIn) {
        // User has already been authenticated.
        // Delegate the redirect logic to the route-specific navigation guards.
        return next();
    }

    store.dispatch('try_to_authenticate_with_cookie')
         .then(() => next('/app'), () => next('/login'))
})

I just realized, I can perform the cookie authentication before initializing the root Vue instance. It's quite ugly but it works:
function initializeApp() {
    new Vue({
        el: '#app',
        store,
        router,
    })
}

let token = Cookies.get('my-app-authorization-token');

if (token) {
    store.commit(mutationTypes.LOGIN_USER, token);
    store.dispatch('getCurrentUser')
         .then(
             () => initializeApp(),
             () => initializeApp()
         );
} else {
    initializeApp();
}

If the token was found in cookies, mutationTypes.LOGIN_USER modifies default axios headers to always include Authorization, then getCurrentUser fetches the signed in user or responds with 401 if the token was invalid.
If the token was not found, just proceed with unauthenticated user.
After that, route-specific navigation guards can access the signedIn getter on the store and redirect accordingly.

I'm struggling with the same issue. Of course, it's possible to find workarounds but none of them feels right.
My suggestion for this topic: Start the route events when router-view is mounted. This way we could manage the initialization inside vue and vuex easily. When everything is fine, we could just flip a flag in vuex and the routing process could start.

@ignaczistvan can you post an example?

Of course.
Let's take firebase authentication, where firebase does the auth process asynchronously and notifies me via an event emitter (onAuthstatechanged). Now I have two options:

Wait for the event and then init my application. Just like in the example above by @KKSzymanowski. In this case, I need to create a loading screen outside "Vue world" and I can't reuse it later (ie. between routes)
Do some magic in the "beforeEach" hook. Test in the vuex store if the app is initialized. If not, subscribe to the firebase event, and wait. This thing feels hacky. Especially if I need to handle more stuff before rendering and I need to handle the initialization in the app AND the router.

It'd be nice if my Vue app could init itself and communicate with the router through vuex store bindings. Just like with other components.
Of course this raises a lot more questions about lifecycle management :) However, I think this could be a great direction if you'd like to support reactivity.

@KKSzymanowski I've tried your example but the Router is immediately there after import and the Router-Guard too because it's imported in the Router.  Very frustrating.

This is the workaround I use.
new Vue({
	data: {
		initialized: false,
	},

	async created() {
		// make some requests
		// check if signed in
		this.initialized = true;
	},

	router: (() => {
		let router = new VueRouter(/*...*/);

		let promise = new Promise(resolve => {
			router.start = resolve;
		});

		router.beforeEach(async (to, from, next) => {
			await promise;
			next();
		});

		return router;
	})(),

	watch: {
		initialized() {
			this.$router.start();
		},
	},
});

I'm using Vuex and Vue-router and this is the solution I've came up with. (Files trimmed down for brevity)
store.js:
export default new Vuex.Store({
  state: {
    initialized: false,
    user: null,
  },

  mutations: {
    initialize(state) {
      state.initialized = true;
    },
    login(state, { user }) {
      state.user = user;
    },
  },

  actions: {
    initialize(context) {
      return context.dispatch('loadCurrentUser').then(() => {
        context.commit('initialize');
      });
    },
    loadCurrentUser(context) {
      // getCurrentUser() is just for example here. Anything that returns a promise will work.
      return getCurrentUser().then(user => {
        context.commit('login', { user });
      });
    },
  },
});

router.js
import store from './store';

const router = new Router(............);

router.beforeEach((to, from, next) => {
  const checkAuth = () => {
    const { user } = store.state;

    // Guard logic here.....
  };

  if (!store.state.initialized) {
    store.dispatch('initialize').then(() => {
      checkAuth();
    });
  } else {
    checkAuth();
  }
});

export default router;

In my app template, I can use a computed value to get the store's initialized value and display a spinner & hide the app until initialization is complete.
I'm sure there's probably some drawbacks to the way I'm doing this, but it seems to be working so far.

@posva @yyx990803 guys, the problem is still actual and it would be nice to see your solution here.
We need to delay beforeEach call until we fetch user data from the server.

If the problem is authentication with OAuth strategies, it's totally feasible with current behavior. You can still delay global guards after mounting and such. If you have an elaborated feature request with proper use cases I will take a look.
Locking as this thread is outdated

Remember to use the forum or the Discord chat to ask questions!


filename string should be URI encoded

per https://www.backblaze.com/b2/docs/string_encoding.html filename strings should be URI encoded.
this fixes #3

thanks @tennysonholloway I'll merge this and update my tests to make sure this is always done :+1:

thanks again for the PR @tennysonholloway I've published to npm with this change

@yakovkhalinsky no problem, thank you for creating the library! will be using fairly often in the future, so I will file issue/PR when something comes up (:


Links without locale & branch are broken

https://reactrouter.com/start/concepts used to redirect to https://reactrouter.com/en/main/start/concepts, but this doesn't seem to work anymore
We use these in several of the Remix docs, so all these links are now broken

We removed this "version-less" redirect because it was prone to breaking across major releases.  For example, when we remove json in v7, https://reactrouter.com/fetch/json would have started to 404 because the links will always redirect to the latest version and v7 doesn't have that API.  Instead, we need to always include some known good version for these links - so we moved to a format of https://reactrouter.com/v6/fetch/json which will redirect to the latest in the v6 release line.
We need to go fix some of these old types of links - I did a handful for RR in https://github.com/remix-run/react-router/pull/12141 and have some local changes for the Remix repo as well that I'll get pushed shortly and will drop a link here too.  If you see others that aren't in the source code please let us know!

Remix PR https://github.com/remix-run/remix/pull/10130


[REQ] Set the license on GH

Hi there, this project is awesome !
Since we've collected it in our HyMPS project (under the Tools section), can you please set licensing terms for this git ?
Our "problem" is that does not generates a correct badge:

(generate string: https://flat.badgen.net/github/license/ahmetcanaydemir/sekte/?label=LICENSE)
Thanks in advance.

added

Worked, thank you so mutch !
Let us know if you have suggestions about the collection organization/presentation: for now, we have a new layout (the Audio Tools section one, where Sekte is listed !) that we wanna apply to all other sections...
...but we need some feedbacks: https://github.com/forart/HyMPS/discussions/11
Thanks again for the volunteer work you do.


Fix: augmenting template property didn't resolve declaration

fix #3211
Problem was we were checking the decorator declaration passing the mapper this mean the checker was thinking we were defining this decorator declaration in a template instance(which is not possible)
This resulted in the argument marshaling to not happen as it will only happen when there is a valueof constraint

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/3212/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/3212/


Rebasing when commits include changes to .overcommit.yml breaks

I'm using the --sign feature, which I love most of the time, but it's pretty brutal when rebasing if the commits being rebased over contain changes to the .overcommit.yml.  This is because each rebased commit runs within the working tree of the commit being executed.  Therefore when a rebase is on a commit with a different .overcommit.yml file than the one that was signed, it fails spectacularly.
Not only is it a problem that it fails, but it doesn't even reset the state back to the way it was before the rebase started (moreover no rebase is in progress so you can't even git rebase --abort).
My proposal is that, when overcommit --sign is called, overcommit should copy the currently signed .overcommit.yml to the hooks directory such that changes to the working tree don't affect which config is being used.
If, during a commit, overcommit sees that the config file is different than the saved version, and it's in the process of rebasing, it ignores the one in the working directory and uses the stored one instead.

Hey @thegranddesign, thanks for the feedback.
I believe #300 would solve most of the pain you are referring to, unless you are referring to the case where you are rebasing onto changes which you have never signed before.
I would love to merge a pull request solving #300 or this issue. Fixing #300 would probably be easier from an implementation standpoint.

@sds I'm not sure if I am or not. 😂 But I'll try OVERCOMMIT_DISABLE and see if that solves my problem. Thanks!


Add --? alias for --help

Per discussion https://github.com/microsoft/testfx/issues/3478
cc: @Evangelink

Similar to dotnet, msbuild and other tools, we should support -? and --? but this should not appear in the help output.


[WIP] Do not auto-trigger gitlab CI pipeline on PRs

For security and resources utilization reasons, do not auto-start CI
for opened/updated PRs.
A member of the kubernetes-incubator github org has first to approve
that the PR is reasonable to test by putting the "ci check this" into
the PR's comments.
If approved that way, the CI pipeline starts as always. Only the 1st step
of the pipeline is premoderatied, the rest will follow each over on
success.
Signed-off-by: Bogdan Dobrelya<EMAIL_ADDRESS>

it still auto-triggers from the step2, WIP

under rework

@ant31 out of scope of this PR: if the magic words have been posted by a member, it shall auto trigger gitlab CI. For now it only triggers is the PR's updated

ci check this

Example of build failing on 1st step. This blocks the rest of the pipeline.
Example of build passing after the magic words posted. This allows the rest of the pipeline.


[Bash] A && B || C is not if-then-else

As proposed by static analysis tool:
https://github.com/koalaman/shellcheck/wiki/SC2015

Closing these all out. Mind making all these changes in one pull request? It's easier to run through tests that way.


Fix a bug in tools/publish_model.py

rstrip('.pth') removes all characters in {'.', 'p', 't', 'h'} at the right. For example, if out_file="imagenet.pth", then out_file.rstrip('.pth') is "imagene" where "t" is also removed.

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

Thanks for the fix!


Combat

About the PR

Changelog
:cl:

add: Added fun!
remove: Removed fun!
tweak: Changed fun!
fix: Fixed fun!

oh no guys the checks failed, anyways


Add spawner data to dItem

I've noticed that I can't copy a customized spawner item in hand. I've simply tried /ex give <pl.item_in_hand> but I got a different item.
Debug log: http://old.mcmonkey.org/paste/47161 Tested on both 1.8 and 1.12.2 versions.
You can see the difference of the spawners when printing the item in json format.
Original spawner:

Copied spawner:

Also <item.spawner_type> would be useful to look at the spawner type (just like the location tag).

That isn't Minecraft data that was lost, that's data from SilkSpawners that was lost. We don't really generically support custom data right now.
Maybe make your own SilkSpawners equiv in Denizen? :D!


List items overlap when scrolling

Ember: 1.7
list-view: // Last commit: 278bd97 (2014-08-03 23:35:17 -0400)
Handlebars:  1.1.2
jQuery: 1.10.2
Gist with issue: https://gist.github.com/mkolenda/ea65e93db85bf912d839
Screenshot of issue: https://www.dropbox.com/s/7zijw9v0bvrj6j4/Screen Shot 2014-12-09 at 3.47.58 PM.png?dl=0
Steps
Run the app in the Gist
Scroll down the list
Notice elements render on top of each other
What have I done wrong?

Thanks, @mkolenda - you saved me some time by pointing this out!

Another case of RTFM: be sure to define rowHeight on the component to match the exact height of your items.


"Secuieni" commune is listed in the drop-down menu

Description:
The commune is listed in the drop-down menu according to the law
Preconditions : the website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Type "Secuieni" in the search bar.

Expected results
The location is listed in the drop-down menu as "Secuieni, Bacău"


Turn off Salmon

Hi, I am using the latest version of bcbio from O2.
Is there a way to turn off running Salmon by default? Salmon errors out, which does not allow the run to complete. Thank you.
Salmon error:
    self.results = batch()
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 225, in __call__
    for func, args, kwargs in self.items]
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/joblib/parallel.py", line 225, in <listcomp>
    for func, args, kwargs in self.items]
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/utils.py", line 59, in wrapper
    return f(*args, **kwargs)
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/distributed/multitasks.py", line 76, in run_salmon_bam
    return salmon.run_salmon_bam(*args)
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/rnaseq/salmon.py", line 26, in run_salmon_bam
    out_file = salmon_quant_bam(bam_file, salmon_dir, gtf_file, data)
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/rnaseq/salmon.py", line 144, in salmon_quant_bam
    do.run(cmd.format(**locals()), message, None)
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/provenance/do.py", line 26, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/n/app/bcbio/dev/anaconda/lib/python3.6/site-packages/bcbio_nextgen-1.2.9a0-py3.6.egg/bcbio/provenance/do.py", line 106, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; /n/app/bcbio/dev/anaconda/bin/salmon quant -l IU -p 16 -t /n/scratch3/users/a/ajn16/ran/alignment/work/inputs/transcriptome/hg38.fa -o /n/scratch3/users/a/ajn16/ran/alignment/work/bcbiotx/tmposwra899/S17 -a /n/scratch3/users/a/ajn16/ran/alignment/work/align/S17/S17_star/S17.transcriptome.bam --numBootstraps 30
Version Info: ### PLEASE UPGRADE SALMON ###
### A newer version of salmon with bug fixes is available. ####
###
The newest version, available at https://github.com/COMBINE-lab/salmon/releases
contains new features, improvements, and bug fixes; please upgrade at your
earliest convenience.
###
Sign up for the salmon mailing list to hear about new versions, features and updates at:
https://oceangenomics.com/subscribe
###
# salmon (alignment-based) v0.14.1
# [ program ] => salmon
# [ command ] => quant
# [ libType ] => { IU }
# [ threads ] => { 16 }
# [ targets ] => { /n/scratch3/users/a/ajn16/ran/alignment/work/inputs/transcriptome/hg38.fa }
# [ output ] => { /n/scratch3/users/a/ajn16/ran/alignment/work/bcbiotx/tmposwra899/S17 }
# [ alignments ] => { /n/scratch3/users/a/ajn16/ran/alignment/work/align/S17/S17_star/S17.transcriptome.bam }
# [ numBootstraps ] => { 30 }
Logs will be written to /n/scratch3/users/a/ajn16/ran/alignment/work/bcbiotx/tmposwra899/S17/logs
[2021-07-19 09:53:57.321] [jointLog] [info] Fragment incompatibility prior below threshold.  Incompatible fragments will be ignored.
Library format { type:paired end, relative orientation:inward, strandedness:[2021-07-19 09:53:57.321] [jointLog] [info] Usage of --useErrorModel implies use of range factorization. rangeFactorization bins is being set to 4
unstranded }
[2021-07-19 09:53:57.321] [jointLog] [info] numQuantThreads = 10
parseThreads = 6
Checking that provided alignment files have consistent headers . . . done
Populating targets from aln = "/n/scratch3/users/a/ajn16/ran/alignment/work/align/S17/S17_star/S17.transcriptome.bam", fasta = "/n/scratch3/users/a/ajn16/ran/alignment/work/inputs/transcriptome/hg38.fa" . . .done
processed 7 reads in current round
killing thread 9 . . . done
[2021-07-19 09:54:00.106] [jointLog] [info] replaced 4 non-ACGT nucleotides with random nucleotides
[2021-07-19 09:54:00.336] [jointLog] [warning] salmon was only able to assign 7 fragments to transcripts in the index, but the minimum number of required assigned fragments (--minAssignedFrags) was 10. This could be indicative of a mismatch between the reference and sample, or a very bad sample.  You can change the --minAssignedFrags parameter to force salmon to quantify with fewer assigned fragments (must have at least 1).
' returned non-zero exit status 1.

Hi @ajitjohnson !
Thanks for reporting and sorry about the issue!
Could you please check out that the reference you are using (hg38)
matches the data you are processing (is it human or mouse?)
Salmon output:
salmon was only able to assign 7 fragments to transcripts in the index, but the minimum number of required assigned fragments (--minAssignedFrags) was 10. This could be indicative of a mismatch between the reference and sample, or a very bad sample.  You can change the --minAssignedFrags parameter to force salmon to quantify with fewer assigned fragments (must have at least 1)

Also you have a very low mapping rate  (26%) unique reads
/n/scratch3/users/a/ajn16/ran/alignment/work/align/P1/P1Log.final.out
which is also indicative of the reference/data problem.
On our side, I'm going to update salmon in O2 installation, but it should not affect your case.
Sergey

For the record, salmon was updated by:
mamba remove salmon
mamba install salmon -c conda-forge -c bioconda

conda took forever to solve the O2 update.

Hi, @naumenko-sa Thank you for your response.
These are cell lines and so do not contain any mouse cells. Having said that, this is single-cell data (generated using smartseq2; single cells extracted using a new method we are developing) and so there will be some cells that are of very poor quality (likely reflecting poor alignment and subsequently failing).
As it exited out it did not run fastqc, multiqc and so on, which I had to run separately. That was the reason I asked if there was an option to turn off salmon (for this particular case) and just get the STAR output. BTW, Kallisto did run fine. Thank you.
Best,
Ajit.

Also is there a way to pass in custom parameters to salmon? such as --minAssignedFrags 1 looks like the default that is set now is 10. Thank you :)

For single cell RNA-seq there is a another pipeline with rapmap/umis
https://bcbio-nextgen.readthedocs.io/en/latest/contents/single_cell.html
Maybe it is a better fit since UMIS allows to incorporate new experimental protocols?
https://github.com/vals/umis

Salmon options could be set by:

resources:
  salmon:
    options: ["--minAssignedFrags", "1"]

https://github.com/bcbio/bcbio-nextgen/blob/master/bcbio/rnaseq/salmon.py#L95
SN

Thank you @naumenko-sa This is very helpful. SMATSEQ2 does not have UMI's and that was why I used the normal RNASeq pipeline.


how can i set the name of database is dynamic

Hi, We usually a user to a database。like:
UserA  --  id:123456  --- it should store data in db that name is 123456.
UserA  --  id:456789--- it should store data in db that name is 456789.
how can i do this by dbflow, thanks.

https://github.com/Raizlabs/DBFlow/issues/203

not really positive that we can do this in DBFlow. It precompiles code and interactions for you, but it doesnt expect names of objects to be dynamic.

I am open to some suggestions, however :)

@agrosner ,hi
`@Database(name = ColonyDatabase.NAME, version = ColonyDatabase.VERSION)
public class ColonyDatabase {
public static final String NAME = "Colonies";
public static final int VERSION = 1;
}`
in this code,  i wan't make 'name' of db is Variable， but a constant.
how can i do that? thank you.

+1,
We have the case where databases can be swapped during runtime and am wondering if this is at all possible with DbFlow.

probably not @MisterY . we rely on the database being constant for code gen and connections to tables. If this was dyamic, it would be impossible to generate a database hookup for all tables, views, etc since they can only exist in 1-1 in DBFlow.

My recommendation is add a userId or some self identifying id field to the tables that are user specific and just run queries based on that. Multiple DB files also will unneedingly take up extra space.

going to close this as im going to say dynamics are not currently supported, and may never be.

@agrosner You're ignoring the case where the database schema is constant but an instance of the database gets swapped.
In any case, thank you for the clarification.

That is indeed a good point from @MisterY.
I am planing to implement a save/load functionality for my game so I am looking for a good way to do deal with the swapping.
I guess I need to handle renaming/transfering the database file and load/open it afterwards with a default name for the "currently used" database instance.

May I ask if he opinion is still not changed in this?
I think it is not that uncommon approach, having different database (withe same scheme) for each user.
And actually browsing the code it seems everything is ready for it. The code is (s far as I see) already support it, the only thing is missing to offer it as an incoming parameter during init.
It seems to be a low hanging fruit for me.
Suggested solution same database with userId column is also fine, but it is also not easy.
Having like 50 tables and several hundreds of select, it is not very convenient to add each select, delete, the userid condition one by one.
I tried to create super model class with the extra column and extend Select, Delete classes, but the library is not very flexible in this area.
Any hint what would be the reasonable approach here?


Merging devel into master for release 1.1.

This release addresses various issues:

Handle modifications are done by index, instead of overwriting the entire record
Version number is stored in only one place
Documentation was improved
Bugs fixed, e.g. in search module (#90) or in handle creation (#84)
Imports are fixed

retest this please


Need Sample Code

I've been trying to make  example code work for the past couple of hours .but couldn't make it work .I dont have much experience with node js .If possible can you provide some more like noob friendly example code .
I'm stuck at
 someModule.on('someEvent', (event) => {
Does this someModule needs to be an event emitter ?
hope you reply to this

Hello,
No, it doesn't have to be an event emitter. Better, this is just a pure example. You can feed req.sse the way you want. Just... call it, giving it the data you want to stream.
However, we're on GitHub here, your question is about the language itself, it is a very generic question about programming, not about the library. It's okay, but you need to ask this kind of things on StackOverflow or similar.
On GitHub, in a general way, please only report bug reports, feature requests, or very specific questions :)


get_pjax_content

Hi -
In the current theme, the get_pjax_content function has been removed.
We produced several popular Third Party Modules (Tomcat, Nagio, Certbot, etc..) that use this function.
Will it be reinstated or replaced or do we need to create our own solution?
Thanks

Hello,
Thanks for the heads up! The latest commit reinstates accidentally removed get_pjax_content and throws deprecation warning instead.


preparedStatement.query: Do not know how to serialize a BigInt

What happens?
when passing a BigInt value (obtained from a resultset previously obtained by calling connection.query) to preparedStatement.query throws an error:  'Do not know how to serialize a BigInt'
To Reproduce
      var columnName = 'bigintcolumn';
      var sql = `SELECT "${columnName}" AS "${columnName}" FROM (VALUES (CAST(1 AS BIGINT))) AS tab("${columnName}")`;
      var result = await connection.query(sql);
      var row = result.get(0);
      // value is BigInt 1n
      var value = row[columnName];

      sql += ` WHERE "${columnName}" = ?`;
      var stmt = await connection.prepare(sql);

      // following statement results in error: 'Do not know how to serialize a BigInt'
      result = await stmt.query(value);

Browser/Environment:
Version 120.0.6099.130 (Official Build) (64-bit)
Device:
Windows 11 Desktop
DuckDB-Wasm Version:
1.28.0
DuckDB-Wasm Deployment:
https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>Full Name:
Roland Bouman
Affiliation:
EPAM Systems BV Netherlands

From the perspective of a application using the duckdb WASM API, there is a similar issue with resultsets returning values coming from a column with a duckdb TIMESTAMP type.
The similarity is that TIMSTAMP values obtained from a resultset cannot be used directly as values for placeholders in a prepared statement. However, the error is different and I believe the cause is not serialization on the Arrow/Wasm site but in duckdb itself.
The error in this case is:
Error: Conversion Error: Unimplemented type for cast (TIMESTAMP -> DOUBLE)
    at ko.runPrepared (bindings_base.ts:301:19)
    at Qa.onMessage (worker_dispatcher.ts:189:51)
    at Ru.globalThis.onmessage (duckdb-browser-eh.worker.ts:29:19)
async_bindings.ts:150 Uncaught (in promise) Error: Conversion Error: Unimplemented type for cast (TIMESTAMP -> DOUBLE)
    at U.onMessage (async_bindings.ts:150:23)

This error message is somewhat similar to when I do something like this in DuckDB directly:
SELECT<PHONE_NUMBER>000::TIMESTAMP
My question is, what is the right way to file an issue for this one? It seems that the cause in this case does not have to do with serialization in the WASM api, but due to WASM attempting an casting operation that duckdb currently does not support.
According to this documentation (https://duckdb.org/docs/sql/data_types/typecasting) It looks like duckdb currently does not support any casting between any of the numeric types and TIMESTAMP, and personally I think it would make life easier if it did, and that would presumably also take care of this issue when using WASM.
Please let me know if and how you would like to go forward with this timestamp issue when using WASM and I can file the necessary issue reports along with proper repro paths.


fim crashes in tmux with this configuration . works fine without configuration ..

fim ( image viewer) crashes when I try to open an image after showing the image for a second with following error message
amj@desko:~$ fim Pictures/dp.jpg
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
ioctl VT_GETSTATE: Inappropriate ioctl for device
This behavior is only if I have the configuration on. I bak out the .tmux.conf , everything works fine.
fim is also working fine on console without tmux.
I am using Ubuntu 18 (Mate) and booting to console. No GUI.

Hello @ashutoshmjain 👋
Can you please tell me the value of TERM outside and inside tmux when not using Oh My Tmux! please?

@gpakosz Greg. - Thanks for the quick response . Really appreciate all the work !
$ echo $TERM = linux  #on terminal right after log in
$ echo  $TERM = screen-256 colours  # inside the tmux..
btw , I tested setting up terminal to linux in .tmux.conf.local  .. but it  didn't work. fim still continued to crash with error .  When I bak-ed out .tmux.conf  ..everything worked well. Thus I raised the issue ..
Thanks again for support  ..

Hey @ashutoshmjain 👋
Can you please keep .tmux.conf and comment out the following line
set -g default-terminal "screen-256color" # colors!

This is AFAIK the only thing Oh My Tmux! does different compared to launching tmux without it.

done. ..
Now $TERM inside tmux is screen  .. before tmux is same linux ,   but fim still crashed with same error.  I logged out and tested again just to make sure all the parameters are sourced fine. But no luck. ..

Hmm 🤔
And you're certain fim works within tmux without Oh My Tmux?
Indeed, when I launch it with a stock configuration TERM is screen by default
$ tmux -L test -f /dev/null

Absolutely  .. just tested again after bak-ing out the .tmux.conf  ; it worked in all its glory :-)

Damn!
I don't have a setup ready at hand to test it myself

btw. .. same  behaviour on nixOS as well. .. I have a lab machine dedicated to figuring out nix ...
I will test it on Mac and let you know ..
No hurry. ..its not critical issue .  I can always look at pics in second terminal  or detach the session for a minute.
Take your time when ever you get your hands  on fim.  - Thanks

So in fact I have a BunsenLabs Lithium VM in Virtualbox.
I booted in TTY mode and installed fim.

Outside of tmux, displaying an image works fine
Inside tmux, launched with tmux -f /dev/null to skip Oh My Tmux!, fim displays the image but I get to see the 2 errorsioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
ioctl VT_GETSTATE: Inappropriate ioctl for device

Inside tmux, launched with Oh My Tmux!, fim displays the imageioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
ioctl VT_GETSTATE: Inappropriate ioctl for device

To make sure there are errors, I launched $ fim ./image.jpg 2>/tmp/err.txt

The difference I can observe, with and without Oh My Tmux!, seems to be the way the screen is redrawn after fim exits. But in any case, redirecting errors with 2 >/tmp/err.txt tells me there are the same errors in both cases

I repeated the on same lines ..

First - exactly same.
In second tmux -f /dev/null  , I get no error. Pic continues to display.
In third , I get the errors as shown by you and pic stops displaying . I can still pass commands to fim but pic doesn't come back.

No worries  .. could be my machine.  Let me uninstall tmux and  try again .

Which version of tmux are you using btw?
Also when you redirect stderr to a log file, are there errors even when it apparently works?

My tmux version is 2.6 .
Yes , you are right. , the stderr shows same in both the cases  (with config and with -f  /dev/null

I guess , its a tmux issue then . In case of no config , the error doesn't show up on screen ; with config - it does .  Or may be I need to do something with the fim config to have it play nice with tmux  ..
closing the issue  .. thanks a ton for your time . really appreciate .


__traverse__ should not alter any refcounts, at least in CPython

Bug Description
Back when we've got a support for the GC protocol, while it is not usual for __traverse__ to do anything more than calling visit.call, it was assumed that running any Python code is not harmful and currently __traverse__ trampoline is no more than an ordinary trampoline with a slightly different signature.
It turns out that not only this assumption is wrong but also any currently generated tp_traverse implementation is prone to crash. CPython has reused PyGC_Head fields to store intermediate refcounts for a long time, so tp_traverse should be never able to read or write any PyGC_Head fields.
In particular the __traverse__ trampoline would first allocate a new GILPool and apply deferred refcount updates at once, possibly deallocating some objects in the pool and in turn somehow touching temporarily corrupted PyGC_Head (e.g. PyObject_GC_Untrack or PyObject_GC_Del). For this reason I believe this is the root cause of #1623 and #3064; both suggests that PyGC_Head is corrupted and threading seems to be relevant here (it is much easier to defer refcount updates in non-interpreter threads).
Reproduction
Too lengthy to open by default
I was able to reliably trigger SIGSEGV on Python 3.8 through 3.11 in x86-64 Linux. Given the following src/lib.rs and typical Cargo.toml (which has been omitted):
use pyo3::{prelude::*, PyTraverseError, PyVisit};
use std::{cell::RefCell, thread};

#[pyclass]
struct Ref {
    inner: RefCell<Option<Py<Self>>>,
    clear_on_traverse: bool,
}

impl Ref {
    fn new(clear_on_traverse: bool) -> Self {
        Self {
            inner: RefCell::new(None),
            clear_on_traverse,
        }
    }
}

#[pymethods]
impl Ref {
    fn __traverse__(&self, visit: PyVisit<'_>) -> Result<(), PyTraverseError> {
        if self.clear_on_traverse {
            self.inner.take();
        } else {
            if let Some(inner) = &*self.inner.borrow() {
                visit.call(inner)?;
            }
        }
        Ok(())
    }

    fn __clear__(&mut self) {
        self.inner.take();
    }
}

#[pyfunction]
fn crash1() {
    thread::spawn(move || {
        _ = Python::with_gil(|py| -> PyResult<_> {
            let a = Py::new(py, Ref::new(false))?;
            a.borrow_mut(py).inner.replace(Some(a.clone_ref(py)));

            let b = Py::new(py, Ref::new(false)))?;
            Ok((a, b))
        });
        eprintln!("thread finished");
    });

    Ok(())
}

#[pyfunction]
fn crash2() {
    thread::spawn(move || {
        _ = Python::with_gil(|py| -> PyResult<_> {
            let a1 = Py::new(py, Ref::new(true))?;
            let a2 = Py::new(py, Ref::new(false))?;
            a1.borrow_mut(py).inner.replace(Some(a2.clone_ref(py)));
            a2.borrow_mut(py).inner.replace(Some(a1.clone_ref(py)));

            let b = Py::new(py, Ref::new(false)))?;
            Ok((a1, b))
        });
        eprintln!("thread finished");
    });
}

#[pymodule]
#[pyo3(name = "pyo3_crash_test")]
fn module_entry(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
    m.add_function(wrap_pyfunction!(crash1, m)?)?;
    m.add_function(wrap_pyfunction!(crash2, m)?)?;
    Ok(())
}

Running the following Python code will crash inside gc.collect():
import sys
import gc
import time
import pyo3_crash_test

pyo3_crash_test.crash1() # or crash2
time.sleep(0.1) # not strictly required, but ensures that the thread finishes before GC
print('collecting...', file=sys.stderr)
gc.collect()
assert False, 'crash expected during GC'

Here Ref is holding an optional reference to other Ref, possibly itself. Setting clear_on_traverse will clear the reference during the traversal, simulating an otherwise totally safe operation to do.
In the crash1 the refcounts for a and b will be 2 and 1 respectively at the time of GC. GC will overwrite PyGC_Head._gc_prev for both a and b (effectively converting the list to singly-linked), and then __traverse__ will be called for a, creating a new GILPool and triggering ReferencePool::update_counts. As both values are registered for Py_DECREF the refcount of b will be now 0, and this will eventually call PyObject_GC_Del which assumes that the list is still doubly-linked and crashes.
The situation is similar for crash2: a2 gets dropped with the GIL still acquired, so the refcounts for a1, a2 and b are 2, 1 and 1 respectively. Now assume that GILPool::new somehow recognizes __traverse__ and doesn't call update_counts. Even in this case a1 will now remove a reference to a2 during __traverse__, falsely beliving Py_DECREF is safe to call as the GIL is acquired, so the same thing will happen for a2.

Possible Solution
It seems evident to me that __traverse__ should be handled as if no GIL is (and can be) acquired. This implies that Python::with_gil should probably fail and gil_is_acquired should return false inside __traverse__.
I believe it is also possible to have multiple nested __traverse__ calls. The GC process drains the linked list of objects while updating PyGC_Head and it sets gcstate->collecting to 1 during the process anyway, so __traverse__ cannot be called twice for the same object and nested calls should be rare, but there are at least three possible paths (as of the main branch of CPython):

Creating new objects may trigger PyObject_GC_Track, which implicitly calls tp_traverse in debug builds.
gc.get_referrers and gc.get_referrents use tp_traverse to collect objects, and are not affected by gcstate->collecting. They can be independently nested if __traverse__ somehow calls those functions.
While directly calling gc.collect() checks for gcstate->collecting and returns immediately, the automatic GC scheduling may result in a double GC. Specifically there is an interval between the scheduling (_Py_ScheduleGC) and the actual GC (_Py_RunGC) and some opcode may end up calling gc.collect() inbetween. This is extremely rare though, as this interval can be at most a single opcode, and is otherwise safe.

Probably it is sufficient to add the second "traversal" counter for the nested __traverse__ calls in addition to GIL_COUNT. If the traversal counter is non-zero the GIL cannot be acquired and gil_is_acquired should return false regardless of GIL_COUNT. The GIL_COUNT is still updated as usual, but it is effectively ignored until the traversal counter drops to zero, at which point update_counts should be considered (but only when GIL_COUNT was non-zero). But I'm not very much confident about this solution for multiple reasons, including that there is no actual guarantee that we can call any other Python API from tp_traverse and someday CPython may touch PyGC_Head from unexpected functions---I mean, even gcstate->collecting check is not complete so who knows? If possible, a fully static solution to prevent anything but PyVisit would be much more desirable.
Suggestions
Given a full solution needs much testing at least, I looked for possible workarounds without a local PyO3 update. Unfortunately GILPool::new call is mandatory for the trampoline and the only indirect approach would be temporarily untracking objects via PyObject_GC_UnTrack, but that pretty much contradicts why we have tp_traverse in the first place.
So it seems that PyO3 needs a minimal update to ensure that you remain safe if you don't do weird things inside __traverse__. No promises here, but I hope to file a small PR to disable update_counts from the trampoline soon. In my local testing this fixes crash1 but not crash2.
 Did you use a virtualenv?
deadsnakes PPA, the bundled version of venv, pip and the most recent version of maturin (0.15.2).

It seems evident to me that traverse should be handled as if no GIL is (and can be) acquired. This implies that Python::with_gil should probably fail and gil_is_acquired should return false inside traverse.

I think so too.
What I did not yet understand in your exposition is whether it is actually necessary to change GIL_COUNT while inside __traverse__? Meaning that if we prevent the GIL from being acquired within __traverse__, wouldn't that imply GIL_COUNT staying at its initial value until we leave traverse?
What is also not clear to me is how the implementation of __traverse__ will look like under the new regime. Will it take slf: *const PyCell<Self> or slf: *const Self instead of &self since we cannot borrow the interior of the PyCell? Will this imply PyVisit::call becoming unsafe and taking raw pointers as well? Is the resulting API still actually better than the raw FFI then?

@davidhewitt I am currently thinking how to get a grip on mod gil to be somewhat confident in making any changes to it. While we already decreased our API surface w.r.t. GILGuard with this release, I wonder if GILPool could go away as well?
One option would be to provide any API similar to Python::with_gil, e.g. the example code
// Some long-running process like a webserver, which never releases the GIL.
loop {
    // Create a new pool, so that PyO3 can clear memory at the end of the loop.
    let pool = unsafe { py.new_pool() };

    // It is recommended to *always* immediately set py to the pool's Python, to help
    // avoid creating references with invalid lifetimes.
    let py = pool.python();

    // do stuff...
}

could be replaced by
// Some long-running process like a webserver, which never releases the GIL.
loop {
    Python::with_pool(|py| {
       // do stuff...
    });
}

which creates the pool behind the scenes and just exposes its GIL token.
I mainly wonder whether this would be just too much breakage for 0.19 together with the with_gil change? And whether this would be flexible enough for our users while actually giving us more room to manoeuvre with the internals? Or would all of this be superseded by the owned objects API anyway?

What I did not yet understand in your exposition is whether it is actually necessary to change GIL_COUNT while inside __traverse__? Meaning that if we prevent the GIL from being acquired within __traverse__, wouldn't that imply GIL_COUNT staying at its initial value until we leave traverse?

You are right that it is not necessary. That's about all though, it doesn't give you any additional optimization opportunity. I just added GILPool::new_without_update_counts in my testing.

What is also not clear to me is how the implementation of __traverse__ will look like under the new regime. Will it take slf: *const PyCell<Self> or slf: *const Self instead of &self since we cannot borrow the interior of the PyCell?

I believe you can still borrow PyCell from __traverse__. We can't use the GIL, but we can still make use of the fact that there is at most one thread with the GIL. (Compare with SuspendGIL, which actually releases the GIL during its lifetime and has no such guarantee.) My example just happens to use borrowing to trigger Py::drop.

Will this imply PyVisit::call becoming unsafe and taking raw pointers as well? Is the resulting API still actually better than the raw FFI then?

I didn't think too much about making anything unsafe but that sounds like another possible approach. In fact, as we are not super confident to allow any other function calls  in __traverse__, we can require unsafe fn __traverse__(&self, ...) to signal that it needs a manual verification. While not as good as an additional counter, I guess it's better than making PyVisit::call unsafe because PyVisit is not even necessary to trigger a crash. In my example, you can refactor Ref with clear_on_traverse into a separate class which don't even touch PyVisit in its __traverse__.

I just added GILPool::new_without_update_counts in my testing.

I think we should push that as a #[doc(hidden)] internal API which can be used from impl_traverse_slot as soon as possible. AFAIU, this will be required in any case short of not creating a GILPool at all, i.e. having traverse implementation life completely outside of GIL land?

I believe you can still borrow PyCell from traverse. We can't use the GIL, but we can still make use of the fact that there is at most one thread with the GIL.

The problem is that PyCell derefs into PyAny which provides implicit access to a GIL token via PyAny::py, i.e. we cannot even expose &PyCell<Self> or any &PyAny to the traverse implementation if it is not supposed to safely assume holding the GIL.

I believe you can still borrow PyCell from traverse. We can't use the GIL, but we can still make use of the fact that there is at most one thread with the GIL.

The problem is that PyCell derefs into PyAny which provides implicit access to a GIL token via PyAny::py, i.e. we cannot even expose &PyCell<Self> or any &PyAny to the traverse implementation if it is not supposed to safely assume holding the GIL.

Ah, but we can still expose &self but just not how that borrow was created which is basically what we are already doing. So this leaves with with_gil not yielding access to a GIL token when calling from within __traverse__.

@lifthrasiir Could you try whether #3168 would also work for you?

The problem is that PyCell derefs into PyAny which provides implicit access to a GIL token via PyAny::py, i.e. we cannot even expose &PyCell<Self> or any &PyAny to the traverse implementation if it is not supposed to safely assume holding the GIL.
Ah, but we can still expose &self but just not how that borrow was created which is basically what we are already doing. So this leaves with with_gil not yielding access to a GIL token when calling from within __traverse__.

Yeah, the only self parameter that is safe to expose from __traverse__ would be &self. And I think __traverse__ is the only method that does not accept any other self parameter because no wrapper function is generated for it. Maybe we should explicitly test that.

Could you try whether #3168 would also work for you?

I haven't checked yet---I need an access to a company machine for the original code, so was making an independent test for the PR.
I believe your draft still creates and drops Py<PyCell<T>>. This doesn't directly pose a problem unless the refcount was very large (u32/u64::MAX), but I'm still uneasy about calling Py_INCREF and Py_DECREF at all, given that they are already slated to change a bit in Python 3.12. Generally speaking: is it safe to construct &PyCell<T> directly from a borrowed reference? If so that can be used to completely bypass Py<PyCell<T>>.

I believe your draft still creates and drops Py<PyCell>.

py.from_borrowed_ptr::<PyCell<T>>(slf) produces a &PyCell<T>, so the Py<PyCell<T>> was already bypassed in the code shipped as 0.18.3.

Actually... we should also make sure that we are calling the traverse method defined in #[pymethods] impls, because currently the method is called to PyRef<'_, T>, so it might be possible to redefine traverse to get a reference to PyRef and thus the GIL token.

The latest version of my draft enforces the signature
fn(&T, PyVisit<'_>) -> Result<(), PyTraverseError>,

instead of just calling borrow.__traverse__.

Now I have an access to the company machine again and I confirmed that #3168 fixes my crash. Great!
@adamreichold I've added more tests (#3175) that I was originally planning to use for my PR, feel free to use them.


MAINT: fixes for linkcheck

WIP because I'm waiting to hear back on an email to the Kymata Atlas people.

Ready for review. I heard back from Cambridge; they say the kymata server is down and they don't have physical access to reset it due to COVID. So the link is removed for now.

Thanks @drammock


FHIRPath function: normalize

This change implements a new function, normalize:
collection<Coding> -> normalize() : collection<Coding>

This function takes a collection of Coding elements as input. The result is a collection of the same number of Codings, but each subset of equivalent Codings within the collection will be assigned the same "normalized" value. The new values for this subset of Codings will be equal according to the semantics of the equality operator.
Equivalence semantics will be the same as for the equivalence operator.
This function can be used to normalize Coding values prior to grouping, to merge equivalent Coding-based groups.
Example:
Condition.code.coding.normalize()

There are not really many good options for implementing this using the current FHIR Terminology Services API, so I am deprioritizing this.


TagUI- Understanding required on method text_read under python.py lib

Queries:

How Tesseract OCR is working here?
Is this Screen() method a turtle library method, since dont see any import, and how is it working? Does it capture screen if so how does fullscreen_layer.text() fecth data?

function for reading text using Tesseract OCR
def text_read ( raw_intent ):
if using_ocr(raw_intent):
ocr_locator = True
raw_intent = raw_intent[:-9].strip()
else:
ocr_locator = False
params = (raw_intent + ' ')[1+(raw_intent + ' ').find(' '):].strip()
param1 = params.split(' to ')[0].strip()
print '[tagui] ACTION - ' + raw_intent
if ocr_locator:
matched_element = text_locator(param1)
if matched_element == None:
return 0
else:
temp_text = matched_element.text()
output_sikuli_text(temp_text)
return 1
elif is_coordinates(param1):
region_layer = define_region(param1)
temp_text = region_layer.text()
output_sikuli_text(temp_text)
return 1
elif param1.endswith('page.png') or param1.endswith('page.bmp'):
fullscreen_layer = Screen()
temp_text = fullscreen_layer.text()
output_sikuli_text(temp_text)
return 1
elif file_exists(param1):
if exists(param1):
matched_element = find(param1)
temp_text = matched_element.text()
output_sikuli_text(temp_text)
return 1
else:
return 0
else:
return 0

Hi @joginderrohilla, TagUI relies on SikuliX for its computer vision capability through OpenCV and OCR capability through Tesseract.
In above text_read() function in TagUI integration module for SikuliX, TagUI will map to SikuliX functions such as findText(), find(), text(), Screen().
The actual capturing screen and using Tesseract is handled by SikuliX and how it works in the backend the exact code and logic is not visible to TagUI.

Adding on, these functions are internal functions of SikuliX that is only available to the SikuliX process when it is invoked in the background. These functions are not in the same Python environment as when you use py step. So they are not accessible directly from TagUI. If you need to use those functions, you have to go through SikuliX by using vision step.

I'll close the issue for now, but let me know if you have any questions!


cmd/go: builds fail when GOPATH=/dev/null

When run with GOPATH=/dev/null, go build fails:
$ GOPATH=/dev/null go test -run=TestLldbPython -v -count=1 runtime
=== RUN   TestLldbPython
--- FAIL: TestLldbPython (0.21s)
    runtime-lldb_test.go:169: building source exit status 1
        go: failed to create cache directory /dev/null/pkg/mod/cache: mkdir /dev/null: not a directory
FAIL
FAIL	runtime	0.220s

That seems fine. Who would run with GOPATH=/dev/null‽ It's not even a directory.
But it's not fine, because run.bash sets GOPATH=/dev/null. Why? The comment says: The $GOPATH value doesn't need to point to an actual directory, it just needs to pass the semantic checks performed by Go.
I don't know who is wrong here, but I do want all.bash to pass. I have a workaround I can mail just for TestLldbPython (set GOPATH=). Or we can fix this mess...somewhere else.
Opinions?
@bcmills @jayconrod @bradfitz

@josharian IMHO, set GOPATH=/dev/null in run.bash prevent it from conflict with GOROOT. If the test required a valid GOPATH, it should set explicitly.

GOPATH/pkg/mod contains the module cache, which includes a lockfile that guards edits to the user's go.mod and go.sum files (see cmd/go/internal/modfetch.SideLock).
If those files do not need to be updated and no modules need to be downloaded, then the lock does not need to be acquired, and GOPATH does not need to be set. I'm guessing that the failure you're observing is an interaction with #30790, which perhaps introduces more edits to the go.mod file than strictly necessary.
Regardless of the cause, we could proceed without locking if GOPATH does not exist and cannot be created, but I think an explicit failure in that case is preferable to an undetected race.

Thanks. I went ahead and mailed my simple workaround for you to take a look at.


[KYUUBI #3871] Fix flaky test: JpsApplicationOperation with jstat

Why are the changes needed?

Fix flaky test: JpsApplicationOperation with jstat
close #3871
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

cc @yaooqinn


Setup Travis CI

Config added in https://github.com/Jasig/spring-portlet-contrib/pull/1
Now Travis needs to be enabled in the organization repo.
https://docs.travis-ci.com/user/getting-started/

resolved/superseded by https://github.com/uPortal-Project/spring-portlet-contrib/pull/6


Removed redundant err == nil check

Remove redundant err != nil check
Closes #11770
Signed-off-by: Anes Hasicic<EMAIL_ADDRESS>

LGTM

LGTM


Model: Resolve TODOs, CheckStyle Warnings, Code Clean-up, Update Documentation

Coverage decreased (-0.05%) to 91.651% when pulling 32c6cc2596b519b5ece08460af0f6f8067491741 on pingchan-QA into 4725ef1abe1e982baf8750698eaa0a232e400fd2 on master.

Coverage decreased (-0.05%) to 91.651% when pulling 32c6cc2596b519b5ece08460af0f6f8067491741 on pingchan-QA into 4725ef1abe1e982baf8750698eaa0a232e400fd2 on master.

Coverage increased (+0.6%) to 92.293% when pulling 593aec29577c8fa00ee92941f87270e678184cce on pingchan-QA into 4725ef1abe1e982baf8750698eaa0a232e400fd2 on master.

Coverage increased (+0.5%) to 92.181% when pulling 593aec29577c8fa00ee92941f87270e678184cce on pingchan-QA into 4725ef1abe1e982baf8750698eaa0a232e400fd2 on master.

Coverage decreased (-0.05%) to 92.283% when pulling 568b0d82b279a52e3f437796bc4b07b53436d6b3 on pingchan-QA into 3721858e3bdeae40ab46eaff0edac8038bc5c9be on master.

Don't quite get coveralls... I only removed unnecessary collate tags and it jumped from +0.5% to -0.05%.

Coverage decreased (-0.05%) to 92.283% when pulling 568b0d82b279a52e3f437796bc4b07b53436d6b3 on pingchan-QA into 3721858e3bdeae40ab46eaff0edac8038bc5c9be on master.

Coverage decreased (-0.07%) to 92.249% when pulling b10f8fb1379a348e4ada3df94bc3719bdd2fa24b on pingchan-QA into fbc034bed9764d848fcb2c5e1b36c38d0c45a74c on master.

@mattheuslee
Do you know why ErrorDialogGuiTest is passing on continuous-integration/travis-ci/pr but not on continuous-integration/travis-ci/push?

That particular test seems to be 50/50 whether it works or not. If you go see the readout for the continuous-integration/travis-ci/push test it actually passed the second time around, except travis ran out of time.

@mattheuslee
I see, wow, first time happening to me. How do you think we should resolve it? Might cause problems since the module wants us to pass Travis.

Should still be okay, we can manually look at the travis output in the meantime. For our final release we just need to make sure the very last commit passes travis, then we're fine.

Ok I'm resolving the conflicts and merging this then.


Issue Router::setControllerDispatcher() after updating to latest version of Laravel 5.0

Hi,
I get this issue after updating to the latest version of Laravel 5.0. Any ideas?
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)
Call to undefined method Dingo\Api\Routing\Router::setControllerDispatcher()
Open: /home/vagrant/projects/api/vendor/dingo/api/src/Provider/RoutingServiceProvider.php
    $this->app->bindShared('router', function ($app) {
        $router = new Router($app['events'], $app);

        if ($app['env'] == 'testing') {
            $router->disableFilters();
        }

        $router->setControllerDispatcher(new ControllerDispatcher($router, $app));

        return $router;

Thanks for the help

This error persists after L5 release.

Yes, L5 is NOT supported.


Inconsistent .vue files

It has struck me that .vue files come in 2 incompatible formats.
webpack format i.e. exporting via es6 syntax
export default
browserify format i.e. exporting via commonJs syntax
module.exports=
I am quite sure that there is a workaround to make vue files work on both commonJs and es6 syntax. but I am not aware of it and official vue templates have different versions in browserify and webpack templates.

They both can use either syntax because both use Babel by default.

Interesting, I was getting error when i used export default in browserify.
Now, it is working.
it seems the cause of problem was that I had added  lang="es6" in <script> tag. any idea why that would cause a problem, when it is es6 by default?

adding lang makes vueify look for a compiler registered for es6, which doesn't exist (internally it's lang="babel" but you can omit it)


Not possible to change title colour of RefreshControl

As far as I can tell there's no way to change the title colour if you provide a title for RefreshControl:
<RefreshControl
  refreshing={isRankDataRefreshing}
  onRefresh={onRefreshRankings}
  title={'Refreshing'}
  tintColor='white'
  progressBackgroundColor='white'
/>

By default the colour will be black. This is problematic if you have a non-standard background colour:

I'm not sure if this is the best approach, but one solution would just be to add an additional prop, titleColor, for instance.

I think a titleColor prop is fine, the title property of the UIRefreshControl on iOS is an NSAttributedString so it should be simple to change the color. Would you like to submit a PR that implements that?

@janicduplessis could you please take a look at #6970? Looks terrible on dark background :disappointed:

@skv-headless Oh, I missed that one :). I'll take a look today.


Implement WithContext methods for remove APIs

There's a PutObjectWithContext to modernize PutObject but no RemoveObjectWithContext to modernize RemoveObject. Instead the current implementation of RemoveObject passes context.Background() to requests. This is true for other methods in api-remove.go as well.
https://github.com/minio/minio-go/blob/368f6da0bdf6d5bb6fbcbf6afdb626e711bab6df/api-remove.go#L41

We have not had the cycles to fix this issue. We will close it and reopen when we actually work on it. This is also a great item for community contribution, if anyone wants to take it up.


Specify network interface for multicast

Hi, thanks for this plugin!
I have a little problem that I managed to solve with a quick and dirty edit, but I think it could deserve a more robust solution.
Basically my Homebridge machine has two network interfaces: eth0, which is connected to my main LAN (iOS devices and Apple TV are here), and sorv0, which is my IOT subnet, where my Yeelights are.
Multicast packets seem to prefer eth0 (which is the one with the default gateway, btw), while I need them to go through the other interface.
My solution was to edit platform.js adding this just after line 26
this.sock.setMulticastInterface("<IP_ADDRESS>");
That IP address is the one on the sorv0 IOT interface.
I also developed a better solution that gets the IP of the given interface, to make it able to withstand changing IP addresses on the interface, but my problem is that I have to hardcode the address/interface name in the platform.js file, I can't seem to pass any parameters from Homebridge's config.json to this plugin.
Any hint?
Thanks
Luca

Hello @LucaTNT,
#9 should address this by making the multicast network interface configurable via:
{
    "platforms": [{
        "platform": "yeelight",
        "name": "Yeelight",
        "multicast": {
            "interface": "<IP_ADDRESS>"
        }
    }]
}

Is this fine with you?
Thanks!

Looks great!
On Sun, Mar 18, 2018 at 11:51 PM, João Vieira<EMAIL_ADDRESS>wrote:

Hello @LucaTNT https://github.com/lucatnt,
#9 https://github.com/vieira/homebridge-yeelight-wifi/pull/9 should
address this by making the multicast network interface configurable via:
{
"platforms": [{
"platform": "yeelight",
"name": "Yeelight",
"multicast": {
"interface": "<IP_ADDRESS>"
}
}]
}
Is this fine with you?
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vieira/homebridge-yeelight-wifi/issues/8#issuecomment-374061510,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANBMpp1x_z9hdCcOs5cpBtKUENyO14Jks5tfuUEgaJpZM4SvLDr
.

Hello @LucaTNT
This is now part of 1.0.4.
Best regards!