Fix sphere-capsule collision logic

This pull request fixes #70615 by only testing the one "correct" axis.
The original logic could end up testing 3 to 4 different separating axes; but only one of these would actually be the axis equivalent to the surface-normal. The SeparatorAxisTest class is not guaranteed to pick the axis corresponding to the  surface-normal. When the incorrect axis (not corresponding to the surface-normal) is used to build the contact information, the generated support points are not aligned and result in an inaccurate normal being presented to the user.
This pull request uses the capsule and sphere geometry information to generate a single separating axis - one that corresponds to the surface-normal, and guaranteed to separate the objects if they are separable. This one axis is tested, and so if a collision is detected the corresponding contact information and support points result in an accurate normal being reported to the user.
Note: The issue was originally reported on just sphere and capsule; however later comments indicated further shapes having collision issues. These will be tracked and resolved in different issues and pull requests.

The collision test application (https://github.com/Malcolmnixon/PhysicsCollisionTest) was used to test sphere/capsule collisions in different orientations, and swapping which was static and which was the character. No issues were observed.

I applied the same fix to capsule/capsule collisions - solve for the one correct collision axis analytically and perform a single SAT test on it.

It looks like we were both working on the same thing.  Here's my version of the sphere-capsule test.  It skips the axis test altogether and solves for the collision point directly.
template <bool withMargin>
static void _collision_sphere_capsule(const GodotShape3D *p_a, const Transform3D &p_transform_a, const GodotShape3D *p_b, const Transform3D &p_transform_b, _CollectorCallback *p_collector, real_t p_margin_a, real_t p_margin_b) {
	const GodotSphereShape3D *sphere_A = static_cast<const GodotSphereShape3D *>(p_a);
	const GodotCapsuleShape3D *capsule_B = static_cast<const GodotCapsuleShape3D *>(p_b);

	// Find the point on the internal part of the axis nearest to the center of the sphere.

	Vector3 center = p_transform_b.xform_inv(p_transform_a.origin);
	real_t half_height = (capsule_B->get_height() - capsule_B->get_radius()) / 2;
	Vector3 nearest(0, MIN(MAX(center.y, -half_height), half_height), 0);
	nearest = p_transform_b.xform(nearest);

	// See if it is inside the sphere.

	Vector3 delta = nearest - p_transform_a.origin;
	real_t length = delta.length();
	if (length > sphere_A->get_radius() + capsule_B->get_radius() + p_margin_a + p_margin_b) {
		return;
	}
	p_collector->collided = true;
	Vector3 axis;
	if (length == 0) {
		// If the sphere center is on the axis, choose an arbitrary direction away from the axis.
		axis = p_transform_b.basis.xform(Vector3(1, 0, 0));
	}
	else {
		axis = delta / length;
	}
	if (p_collector->callback) {
		Vector3 point_a = p_transform_a.origin + sphere_A->get_radius()*axis;
		Vector3 point_b = nearest - capsule_B->get_radius()*axis;
		p_collector->call(point_a, point_b);
	}
}

My original attempt was along those lines, but I was unsure how the withMargin changes the detection and point offsets.

That's one of the reasons I preferred the direct approach.  If the collision handler invokes the callback directly, it can easily pass in the normal it has already calculated.  If the contacts get created indirectly through SeparatorAxisTest, I'm not sure how the normal would get communicated.
(Also, are you sure he's working on it?  From his post to the physics channel, I though he was suggesting that one of us add it.)

Whups, sorry - it had collapsed your comment on his.
The SeparatorAxisTest.test_axis() could use the axis given to it for the normal; but directly calling the callback would be more efficient than running the SAT projection code.
What is the intended behavior of the withMargin flag?

In SeparatorAxisTest.test_axis() it enables expanding the shadow margins so objects would appear to collide if their margins overlap.
In SeparatorAxisTest.generate_contacts() it backs off the support points along the vector. I think its pushing the support points into their objects.

It seems like the support-point offsetting would ensure the points don't sit on top of each other, so a normal could be calculated.

I assumed it was to provide a safety margin to account for round-off error in identifying collisions.  But that was just a guess.  A related issue is these lines in the callback function:
https://github.com/godotengine/godot/blob/a75493091823020d858fabadbfa5994da0d658cb/servers/physics_3d/godot_space_3d.cpp#L451-L455
I found that even for the pairs that mostly work correctly, it still will occasionally miss an intersection because of those lines.  The collision function will correctly identify that the objects overlap, but the callback rejects them because the overlap depth is too small.
I'm not sure what the purpose of that test is.  Perhaps to ensure a normal can be computed like you suggested?  If so, that check could be skipped when a normal is provided.

That min_allowed_depth appears to be 0.05 x margin (usually 0.001) or 0.00005. As such it seems like your p_point_A and p_point_B values are essentially identical.
One of the side-effects of SeparatorAxisTest.generate_contacts() offsetting p_point_A and p_point_B along the axis would be to move them apart. Unfortunately without further information about withMargin I'm not sure what else is expected/intended to happen with this offsetting.
Certainly if you're providing your own normal don't need to do the "contact_rel / len" calculation, but there just aren't enough comments in the code to explain the intended use of margin and its side-effects through the code.

Ah, the withMargin is only set when margin_A or margin_B is non-zero. Specifically it lets the compiler build optimized versions of the collision functions. As such the developer can use if (withMargin) rather than if (margin_A != 0 && margin_B != 0) with zero cost because it's compiler deduced.
That still doesn't explain exactly what it's expected behavior is in these cases.

So that suggests the contact points should be computed like this?
Vector3 point_a = p_transform_a.origin + (sphere_A->get_radius()+p_margin_a) * axis;
Vector3 point_b = nearest - (capsule_B->get_radius()+p_margin_b) * axis;

I believe you may need to flip the orientation if you want the outputs to match the existing behavior. Consider the existing code below...
This piece of code is from the sphere/sphere collider, and calculates the axis so it points in the direction from A to B:
https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/servers/physics_3d/godot_collision_solver_3d_sat.cpp#L774-L776
This piece of code offsets the A support-point in the "negative" direction - or pushes it closer towards A:
https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/servers/physics_3d/godot_collision_solver_3d_sat.cpp#L717-L721
This piece of code offsets the B support-point in the "positive" direction - or pushes it closer towards B:
https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/servers/physics_3d/godot_collision_solver_3d_sat.cpp#L731-L735
Your code pushes the collision points outside the objects, where-as the existing code pushes the collision points inside the objects. Embedding the points slightly inside the objects will result in the normal being calculated correctly, but unless it's corrected later it would result in collision points being offset.

I think it's the other way around.  p_transform_a.origin - p_transform_b.origin points from B to A, not from A to B.  So the offsets move the B point toward A and the A point toward B.

Yup, you're right, I flipped that around. Given that your offset logic is correct; and I'm surprised the normal logic works at all.
So the margin is just that. It inflates the objects slightly for collision testing, and the reported collision points are also pushed out by the same amount.

Haha, I did an audit of the collision functions, and the axis being passed in to SeparatorAxisTest.test_axis() was about a 50/50 mix of A-to-B and B-to-A. I then found the magic in the test_axis function:
https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/servers/physics_3d/godot_collision_solver_3d_sat.cpp#L666-L676
So it's flipping it if necessary.

I just pushed an update based on our discussions and tested with the https://github.com/Malcolmnixon/PhysicsCollisionTest project.
It creates a new analytic_sphere_collision function which performs the single sphere-sphere collision including margin calculations, handling coincident spheres, and calling the collector function. This one collision function can be used in _collision_sphere_sphere, _collision_sphere_capsule, and _collision_capsule_capsule.
It doesn't have your changes to report the collision-normal, but it may be useful to review the approach.

Nice!  I wouldn't have thought to handle the capsule-capsule case that way.

Once the machinery is in place to report analytic collisions correctly (including normals) we'll have to switch over to some of the other more interesting shapes. For example cylinder/cylinder and cylinder/capsule has some pretty big problems.

I'm working on debugging the cylinder-cylinder case right now.

So we'll get this PR in as it improves the situation, then build on it to finish the analytic collisions.

Very nice approach! Let's continue with the remaining cases :)

Thanks!

Thanks!
I think the next step is to add support for collision routines to provide accurate normals.  @Malcolmnixon shall I start on that or do you want to do it?


Added struct fields value assignment function to Session

Thanks for the pull request. The code is looking promising. I would prefer to push the idea forward a little more before pulling it into the main branch. Maybe we could have a secondary branch where we work on this concept? I have created the assignment branch for this if you agree.

agree ：）
发自我的 iPhone

在 2015年10月10日，下午10:16，Daniel Reid<EMAIL_ADDRESS>写道：
Thanks for the pull request. The code is looking promising. I would prefer to push the idea forward a little more before pulling it into the main branch. Maybe we could have a secondary branch where we work on this concept? I have created the assignment branch for this if you agree.
—
Reply to this email directly or view it on GitHub.

I dont think I have permissions to change the destination of this pull request. Could you change the destination to the assignment branch and then I can pull this in. Thanks again, I think it is going to be some neat functionality.


When calling "screenshot" from loadFinished callback, no screenshot is made

When i'm trying to make a screenshot in the callback of "loadFinished", the screenshot is nowhere to be found. No error occurs (success callback, "done" is printed).
When i'm using "screenshot" as a separate callback in the chain, it does work, but the screenshot might not be complete because the page is not done loading.
  var horseman = new Horseman();
  horseman
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
  .viewport(1280, 1024)
  .on("loadFinished", function() {
    horseman.screenshot(path.resolve(__dirname, '123.png')).then(function(){
      console.log("done");
    }, function(e){
      console.error(e);
    });
  })
  .on("error", function(e) {
    console.log("error", e);
  })
  .on("timeout", function(e) {
    console.log("timeout", e);
  })
  .open("http://google.com")
  .finally(function() {
     horseman.close();
  });

Am i doing something wrong here?
My environment:
Windows 8
Nodejs 4.1.1
PhantomJS 2.0.0

@paulrutter, can you try this with the new version of horseman I just released (2.2.0)?  I noticed and fixed a possible bug in screenshot that might have been causing this.
var Horseman = require('./lib/index');
var path = require('path');

var horseman = new Horseman();
horseman
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
  .viewport(1280, 1024)
  .open("http://google.com")
  .screenshot(path.resolve(__dirname, '123.png'))
  .finally(function() {
     horseman.close();
  });

@johntitus Thanks for your response.
Yes, with your code the screenshot is shown, but with my code (with the screenshot call in the loadFinished callback) it's still not working. No errors whatsoever.

Not sure why you're not getting any errors. You're closeing the horseman before the screenshot is done rendering. For me, it threw an error saying Phantom was closed.  Why do you want to use the loadFinished to take the screenshot?  The open method won't finish until the page has fully rendered, so the previous code I posted should work for you.
However, if you really want to do it this way, try this:
var horseman = new Horseman();

horseman
	.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
	.viewport(1280, 1024)
	.on("loadFinished", function() {
		horseman
			.screenshot(path.resolve(__dirname, '123.png'))
			.finally(function(){
				horseman.close();
			})
	})
	.on("error", function(e) {
		console.log("error", e);
	})
	.on("timeout", function(e) {
		console.log("timeout", e);
	})
	.open("http://google.com")

Ah thanks, that did the trick :)
Still, no errors occur when closing Phantom early, but maybe that has something to do with running on Windows?
I will try it in Linux (Docker container) soon.


[sct_register_to_template] Data image and segmentation are not in the same space.

Fail happens in sct_register_to_template, on line 223 because of the precision of check_if_same_space() (4th decimal).
--> Using 2d or 3d decimal fixes the issue.
Do we need to keep a 4th decimal precision or can we just set the precision to the 2d decimal for example ?

this seems to be related to https://github.com/neuropoly/spinalcordtoolbox/pull/1137, which is now fixed.
could you please try with this new version? space between seg and input image should be the same.

I'm up-to-date with master and the bug is still there.
Command : sct_register_to_template -i Ax_t2c.nii.gz -s Ax_t2c_seg_manual.nii.gz -l Ax_t2c_labels.nii.gz
Data in :
folder_shared/sct_issues/20170217_issue1168

how was the manual segmentation created? I guess it was generated before the PR (while bug was still there).
The PR only affected the generation of the segmentation (i.e. propseg).
to overcome this issue, you can simply copy the header img-->img_seg

Yes it was. I'll copy the qform and sform of the image to the segmentation.
But it means it can also happen for users who have segmentations from before the PR that they already manually corrected.

yes that's right. The problem is that, if we accept lower precision, we might miss matrices which should be the same (and we will also miss correcting for segmentations done before the PR). For users who experience this issue (it has already happened), we recommended to add a line of code in their batch script to copy the header


Elevator landing on a floor with a person waiting on it should set the "combo direction" in the direction that person wants to go

Completed with commit 924ebe3ab9c0


change: Changed /functions to return just function status objects.

Changed /logs/functions to return an array of Function Status objects instead of individual logs for function invocation and function complete messages. This makes it consistent with the other routes that give functions status.
The /logs/functions/:id route still gives all logs related to that function.

Looks good Chris!


Create pull request for unpushed branches should push them

Hey
Thanks for the excellent git integration, definitely the best I've seen for Sublime. As the co-author of a competitor, you've won me over and I've fully switched a while back. :)
At the moment if you try create a pull request for an unpushed local branch, it asks to set an upstream from existing remote branches. This means my workflow for upstreaming changes involves 4 steps: create local branch, make changes, push, create pull request.
I believe those last 2 steps can be streamlined by defaulting to the same as a push command when trying to create a pull request with an unpushed local branch. This would allow you to create a new remote branch (by default) matching your local branch name, and create a new pull request, all in 1 command.

Um, create pull request now asks for configuring tracking remote if there is tracking remote. Instead, it may be more reasonable to prompt and pull to a remote.


The AppVeyor build status is succeeded, even if an error was thrown

Expected
The AppVeyor build status is failed, when an error occurs.
Actual
The AppVeyor builds are marked succeeded, even if an error appears in the output.
Few successful builds with an error:
https://ci.appveyor.com/project/TauriCode/psdt-visualstudio/build/1.0.1802.15014
https://ci.appveyor.com/project/TauriCode/psdt-visualstudio/build/1.0.1802.15013
https://ci.appveyor.com/project/TauriCode/psdt-visualstudio/build/1.0.1708.07010

The issue is not related directly to this repository. This issue is moved to the PSDT.AppVeyor #3 issue.


Binaries for MacOS please

Is there a complete derivation to build/fetch binaries from Nix/nixpkgs?

Building vaultenv on macos was quite easy for me on x86_64 with xcode installed
install stack: ( https://docs.haskellstack.org/en/stable/install_and_upgrade/ )
curl -sSL https://get.haskellstack.org/ | sh
clone vaultenv:
git clone https://github.com/channable/vaultenv.git
build with stack:
cd vaultenv
stack setup
(ignore the error messages)
stack build

Building vaultenv on macos was quite easy for me on x86_64 with xcode installed
install stack: ( https://docs.haskellstack.org/en/stable/install_and_upgrade/ )
curl -sSL https://get.haskellstack.org/ | sh
install nix: (https://nixos.org/download.html#nix-install-macos)
sh <(curl -L https://nixos.org/nix/install)
clone vaultenv:
git clone https://github.com/channable/vaultenv.git
build with stack:
cd vaultenv
stack setup
(ignore error messages)
stack build


Consider making isDefinedBy a node property

Currently all nodes are connected to their ontologies via a isDefinedBy.  This is useful for quick provenance to the ontology node, which might also include metadata such as versionInfo.  However, it may make more sense to make this a node property, or have this as an option.  This would result in a large decrease in edges (for example, the monarch scigraph has 5472899 isDefinedBy edges).  This also helps with shortestPaths queries, where isDefinedBy paths are common and are thrown out as not meaningful.

There are a few more relations I think might be better off as node properties:
http://www.geneontology.org/formats/oboInOwl#inSubset
http://www.geneontology.org/formats/oboInOwl#hasDbXref
http://purl.obolibrary.org/obo/IAO_0000412
It may make sense to make this configurable over default or hardcoded behavior.


Restart of initializer worker does not unmute TCPSource actors

Is this a bug, feature request, or feedback?
Bug
What is the current behavior?
After crash & restart of the initializer worker, the initializer's TCPSource actors aren't unmuted. If TCP sources reconnect to the restarted worker, they're unable to send more than a TCP buffer's worth of data until becoming blocked.
What is the expected behavior?
TCPSource unmuting after initializer restart
What OS and version of Wallaroo are you using?
Ubuntu Xenial/16.04 LTS + aloc-tee-source+scripts+autoscale-checkpoint+tcp-source-sink branch @ commit abb7b23f9
Steps to reproduce?
$ cd /top/of/wallaroo/repo
$ git checkout -f 7ab14750cd ; echo We need the passthrough app from another branch
$ mv examples/pony/passthrough
$ git checkout -f COMMIT-ABOVE
$ mv passthrough examples/pony
$ dd if=$HOME/wallaroo/testing/data/market_spread/nbbo/r3k-symbols_nbbo-fixish.msg bs=1000000 count=1 | od -x | sed 's/^/T/' | sed -n '1,/T3641060/p' | perl -ne 'print "\0\0\0"; print "1"; print' > /tmp/input-file.txt
$ cd testing/correctness/scripts/effectively-once
$ make -C ../../../..     PONYCFLAGS="--verbose=1 -d -Dresilience -Dtrace -Dcheckpoint_trace -Didentify_routing_ids"     build-examples-pony-passthrough build-testing-tools-external_sender     build-utils-cluster_shrinker build-utils-data_receiver     build-testing-tools-fixed_length_message_blaster

$ ./master-crasher.sh 2 run_custom_tcp_crash0
,c0,s0,,,,,,,,,,,[Press control-z to suspend]
$ grep -i mut /tmp/wallaroo.0
1570573758.110928,DEBUG,ConnectorSource,Muting TCPSource
1570573758.110936,DEBUG,ConnectorSource,Muting TCPSource
1570573758.110974,DEBUG,ConnectorSource,Muting TCPSource
1570573758.111036,DEBUG,ConnectorSource,Muting TCPSource
1570573758.111042,DEBUG,ConnectorSource,Muting TCPSource
1570573758.111071,DEBUG,ConnectorSource,Muting TCPSource
1570573758.112759,RouterRegistry muting any local sources.
1570573758.112784,DEBUG,ConnectorSource,Muting TCPSource
1570573758.112796,DEBUG,ConnectorSource,Muting TCPSource
1570573758.113619,Muting DataChannel
1570573758.113677,Unmuting DataChannel
1570573758.114297,Muting DataChannel
1570573758.114421,Muting DataChannel
1570573758.114437,Unmuting DataChannel
1570573758.114581,Unmuting DataChannel
1570573758.828948,RouterRegistry unmuting any local sources.

cc: @jtfmumm

Note that this problem doesn't happen with ConnectorSource, but only because of commit c35eaf270cbaf09dbdb81955dc9330785cbd0cca earlier in the branch.

Oops, sorry, full logs are available at http://wallaroolabs-dev.s3.amazonaws.com/logs/logs.20191008a.tar.gz

Note to self: this bug is easier to test for by using (in part) this patch: https://gist.github.com/slfritchie/cb96dc9ae99f4cd22cab61de2f8087f8

I've not been able to reproduce this error once in the last month. Given all the protocol changes that have been made in the last 2 weeks, and John's comment in PR #3035, I'm going to close this ticket for now and re-open it if it happens again.


Cannot convert big5 to utf-8

Hi Sir
I moved code https://siongui.github.io/2018/10/09/goquery-handle-non-utf8-html-webpage/
to https://play.golang.org/p/RkryK4BjXHp
I ran into the error when running
github.com/djimenez/iconv-go
../gopath518902796/pkg/mod/github.com/djimenez/iconv-go@v0.0.0-20160305225143-8960e66bd3da/reader.go:10:21: undefined: Converter
is there a solution ?

go playground doesn't support cgo which is required by this package.
I suggest you look at something like golang.org/x/text  if you don't specifically need to use libiconv or don't want to use cgo. It has a Big5 encoding https://godoc.org/golang.org/x/text/encoding/traditionalchinese

go playground doesn't support cgo which is required by this package.
I suggest you look at something like golang.org/x/text if you don't specifically need to use libiconv or don't want to use cgo. It has a Big5 encoding https://godoc.org/golang.org/x/text/encoding/traditionalchinese

I got it, thanks.
Here use ioutil and traditionalchinese.Big5.NewDecoder()
func newDocumentFromNonUtf8Url(url string, charset string) (doc *goquery.Document, err error) {
resp, err := http.Get(url)
if err != nil {
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Printf("get content failed status code is %d. \n", resp.StatusCode)
return
}
BodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println("HTML body read error.")
return
}
decodeStr, _ := decodeBig5([]byte(BodyBytes))
doc, err = goquery.NewDocumentFromReader(bytes.NewReader(decodeStr))
return
}
func decodeBig5(s []byte) ([]byte, error) {
I := bytes.NewReader(s)
O := transform.NewReader(I, traditionalchinese.Big5.NewDecoder())
d, e := ioutil.ReadAll(O)
if e != nil {
return nil, e
}
return d, nil
}


CLOUD-56744 security group removed on stack and added to every instan…

@keyki this is the first part of handling the security groups. Now every instancegroup contains the same securitygroup. Please test it before merge.

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2810/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/301/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2811/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/302/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2812/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/303/


Can't Paste when running Webroot Identity Shield

I'm really hesitant to enter this cuz no one else seems to be having the problem so the problem must be limited to my system. Or me!
*** I can't PASTE anything inside Brackets. ***
I can copy from Brackets and paste to an external editor but I can't copy/paste from Brackets to Brackets or from external to Brackets. No message or blank line or any indication that there is a problem; no reaction at all when I Ctrl+V.
I'm using Windows 8 Pro and what I think is the latest Brackets download: sprint 18 experimental build 0.18.0-5070 (master ad670de58)
Any hints would be much appreciated.
... Ron

It's 2015 and this issue still exists so I figured I'd reply to everyone on how to fix it.
Scenario:  Unable to Copy / Paste in Lighttable or Brackets.io & your system has Webroot SecureAnywhere.
How to restore copy/paste functionality to Lighttable & Brackets.io:

Open the webroot UI
Select configuration under 'Identity Protection'  (as of 2015 this is gear icon to the right of the text)
Select the 'Application Protection' Tab
Find Brackets.exe and/or lighttable.exe and change the radio button to the right from Deny to Allow.

I had this happen to me with Sublime Text 2 and Brackets as well.
I suggest adding exceptions to those applications. It is a bug/feature in Web Root.


'Plotter' object has no attribute 'plot_Rt_types'

It looks like the function plotter.plot_Rt_types() was removed by commit 88328a4a0ffe61a80311e492d4d6598f9ec5d615 which adds functions for computing the daily Rts.  There are still several places in sim/experiments.ipynb that call plotter.plot_Rt_types().  Is the new function plotter.plot_daily_rts() intended to replace plotter.plot_Rt_types()?

Hello,
That is indeed a bug introduced in this commit. We updated the way effective reproduction numbers are computed to report these estimates on the updated version of our paper but I missed them in sim/experiments.ipynb. Thank you for pointing this out and apologies. This should now be fixed in 89b7b5dad7716b6461fe0bb574bc7c1304cad656.


windows appear above monitor

first of all, awesome plugin. but i seem to get an issue on my desktop, since i have a vertical offset on some of my monitors.
as a result, the windows appear outside of that workspace when i activate my monitor(above). if i set the vertical offset to 0, it works

i assume that its just a matter of taking a workspace's vertical offset into account, but since i dont know cpp i dont know how i'd do that.

https://github.com/DreamMaoMao/hycov/pull/50
maybe fixed, try

this fixes it, thanks a  lot


Shading: Relocate com.github.jnr artifacts to avoid classpath issues

Trying to fix a conflict with cassandra-driver-core (which has a couple of dependencies to com.github.jnr artifacts) by relocating package jnr to com.spotify.docker.client.shaded.jnr.
As discussed at https://github.com/spotify/docker-client/pull/272#issuecomment-429827338.
I did try to run tests locally but I had failures even before my changes, probably because my Docker setup is a bit complicated with some custom network details. I'm guessing that by creating this PR the tests will be run automatically.

Hmm, I thought that creating this PR would trigger a build running tests using Travis but that doesn't seem to happen?

Travis should run - let me take a look at that.
Do you have more info on what the dependency conflict/problems were? Could they have been resolved by making sure your Maven project used the highest jnr version that both dependencies (cassandra-driver-core, docker-client) need? Or do they depend on different major versions that are API-incompatible with each other?
the reason why I ask is that it feels to me like relocating dependencies in docker-client should be a last resort when there is no other simple way to resolve conflicts - otherwise I could see the list of things we relocate continue to grow until it we relocate every dependency used in docker-client.

for some reason Travis thought this repo was "inactive", but that seems to be fixed now.

Do you have more info on what the dependency conflict/problems were? Could they have been resolved by making sure your Maven project used the highest jnr version that both dependencies (cassandra-driver-core, docker-client) need? Or do they depend on different major versions that are API-incompatible with each other?

I got different results with missinglink depending on whether cassandra-driver-core or docker-client ended up first on the classpath. All OK when cassandra-driver-core was first, a bunch of errors when docker-client was first.
You are right that I could depend on the highest JNR version for both dependencies and I tried that but that still does not change that if docker-client gets on the classpath first, then - because it doesn't relocate the JNR - the older version from docker-client is used. Does that make sense?
Maybe the solution is not to relocate JNR but to stop shading it? I guess shading without relocation is the real problem here?

One way that you can avoid needing to care about which order you list the dependencies in your pom.xml is to add jnr to the section with the version you wish to be pulled in. That will override whatever version Maven would otherwise pull in for a transitive dependency.

Hmm, yeah, with the non-shaded version. I got that working. So I guess we could just leave it at that and close this PR. That is fine with me :)
Just a note on the shaded artifact (and please do correct me if I got this wrong): When docker-client:shaded is built then the versions of the com.github.jnr artifacts are shaded using the same Java package name (jnr) as used by the JNR artifacts themselves. Then, even if you dependency manage the JNR versions to your liking, you cannot change what was shaded into docker-client:shaded at build time. But maybe you're saying that the JNR artifacts depended on by docker-client:shaded (since it's not a dependency reduced POM) are put on the classpath before docker-client and that saves the day. (But then shading the JNR artifacts doesn't make sense at all?)
Hmm, this shading stuff can become a little confusing. It still seems to me like shading without relocation is problematic so you should either not shade at all or shade with relocation? And then you probably need a new artifact (e.g. docker-client-shaded) for which a dependency reduced POM is generated because otherwise your artifact (even with a shaded classifier) would depend on the stuff that you just shaded.

Hello!
Recently we ran into the same problem you had @mkjensen (It was just another package). I fully agree with you that shading without relocation is a bad idea.
For example, it disables the effect of "forced-version" and makes it even worse, because when changing a version the build does not break but docker-client fails during runtime with some missing method exception or so, because it doesn't get the version from inside the shaded jar but the changed one that appears first on classpath (It's really cumbersome to find out the rootcause for that). Therefore it makes no sense for me to shade packages without relocating them.
It would be really cool (and helpful for us) if docker-client:shaded would be a REAL shaded jar..
So i would totally vote for not closing that PR but expand it to relocate all third-party dependencies inside the shaded jar.


bugfix:when BranchRollback RPC exception not retry

Ⅰ. Describe what this PR did
bugfix:when BranchRollback RPC exception not retry
Ⅱ. Does this pull request fix one issue?
fix #756
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #757 into develop will increase coverage by <.01%.
The diff coverage is 10%.

@@              Coverage Diff              @@
##             develop     #757      +/-   ##
=============================================
+ Coverage      32.25%   32.26%   +<.01%
  Complexity       926      926
=============================================
  Files            228      228
  Lines           9058     9056       -2
  Branches        1102     1100       -2
=============================================
  Hits            2922     2922
+ Misses          5788     5786       -2
  Partials         348      348

Impacted Files
Coverage Δ
Complexity Δ

...alibaba/fescar/server/coordinator/DefaultCore.java
27.46% <10%> (+0.38%)
11 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Commits is too many?

LGTM


Ability to remove routes

As pending feature.

Done! More test cases will be added as part of the package test coverage general improvements.


Add a runtime option to disable self-update

Description
Add an environment variable (e.g. TYPST_NO_SELF_UPDATE) or a CLI argument (e.g. --no-self-update) which disables typst update at runtime, similarly to the existing compile-time option.
Use Case
Many package managers for Windows (WinGet, Chocolatey, Scoop, Pog) use the pre-compiled binaries from GitHub to install Typst. When Typst is managed by the package manager, self-updates will result in inconsistencies, where the package manager believes it installed a different version of Typst than is actually installed. It would be beneficial to allow the package manager to prevent the user from calling typst update; the package manager can then expose an executable stub that sets the environment variable or CLI argument and calls the actual Typst binary.

I think, to solve the problem fundamentally, the package managers should provide binaries without the self-update feature for their users, instead of requiring typst to provide the proposed env and flag.

I think typst can prebuild two seperate kind of binaries for the release

I agree that would be ideal, if the maintainers are willing to do it.

those package managers should change their packaging strategy for this app to build it themselves with the correct options for their platform.

None of the well-known Windows package managers do custom builds, for multiple reasons, the most important of which are probably the licensing issues (custom builds must be hosted somewhere, which amounts to redistribution of the original software, and many projects are not happy with redistribution). I understand the expectation, as it's standard for Linux package managers, but it's not done that way on Windows.


erlang_odbc_javac: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for erlang_odbc_javac is: Programming language used for massively scalable soft real-time systems
meta.homepage for erlang_odbc_javac is: https://www.erlang.org/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/gdjcf3lygqps6pnv90xskfbhv7syzhsr-erlang_javac_odbc-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/gdjcf3lygqps6pnv90xskfbhv7syzhsr-erlang_javac_odbc-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

37 total rebuild path(s)

37 package rebuild(s)

First fifty rebuilds by attrpath
akkoma
cl
couchdb3
elixir
elixir-ls
elixir_1_10
elixir_1_11
elixir_1_12
elixir_1_13
elixir_1_14
elixir_1_15
elixir_1_16
elvis-erlang
erlang
erlang-ls
erlang_25
erlang_javac
erlang_nox
erlang_odbc
erlang_odbc_javac
erlfmt
lfe
lfe_2_1
livebook
mercury
mix2nix
mobilizon
notmuch-bower
plausible
pleroma
rabbitmq-server
rebar
rebar3
sonic-pi
tsung
wings
yaws

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gdjcf3lygqps6pnv90xskfbhv7syzhsr-erlang_javac_odbc-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A erlang_odbc_javac https://github.com/r-ryantm/nixpkgs/archive/1b74d71d02450e7e2a9f8f604af3b09e7bb4d4d5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/1b74d71d02450e7e2a9f8f604af3b09e7bb4d4d5#erlang_odbc_javac

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gdjcf3lygqps6pnv90xskfbhv7syzhsr-erlang_javac_odbc-<IP_ADDRESS>
ls -la /nix/store/gdjcf3lygqps6pnv90xskfbhv7syzhsr-erlang_javac_odbc-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @ankhers @Br1ght0ne @DianaOlympos @gleber @happysalada @minijackson @yurrriq for testing.

Result of nixpkgs-review pr 287338 run on x86_64-linux 1

2 packages failed to build:

mercury
notmuch-bower

34 packages built:

akkoma
cl
couchdb3
elixir (elixir_1_15)
elixir-ls
elixir_1_10
elixir_1_11
elixir_1_12
elixir_1_13
elixir_1_14
elixir_1_16
elvis-erlang
erlang (erlang_25)
erlang-ls
erlang_javac
erlang_nox
erlang_odbc
erlang_odbc_javac
erlfmt
lfe (lfe_2_1)
livebook
mix2nix
mobilizon
plausible
pleroma
rabbitmq-server
rabbitmq-server.doc
rabbitmq-server.man
rebar
rebar3
sonic-pi
tsung
wings
yaws

unless I'm wrong, the failures of mercury and not-much bower are not related.


toAscii for non gurbani text

Hi, Can we use toAscii and other translation function with general Punjabi text other then Gurbani text?

Hi there!
Yes - it should work.
Out of interest, what is your use case?

Hi,
There is a website https://unicode.sarabveer.me/ that I believe uses gurmukhi-utils on the backend. It should give you an idea of what is possible.
If you run into any issues, please let us know or open a PR to this repo to fix it. I'm also interested how you're planning to use gurmukhi-utils, please let us know when you get a chance!

Thanks, I just wanted to build a cli tool to convert text files to and from
Unicode text.
Thanks for your help
On Mon, 10 Jan, 2022, 8:39 pm Bhajneet S.K., @.***>
wrote:

Hi,
There is a website https://unicode.sarabveer.me/ that I believe uses
gurmukhi-utils on the backend. It should give you an idea of what is
possible.
If you run into any issues, please let us know or open a PR to this repo
to fix it. I'm also interested how you're planning to use gurmukhi-utils,
please let us know when you get a chance!
—
Reply to this email directly, view it on GitHub
https://github.com/shabados/gurmukhi-utils/issues/196#issuecomment-1008964669,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEJOKDCYPNY2V73WBAVRUDUVLZC5ANCNFSM5LS7PH3A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Imo, this example ibMRdwbn is incorrectly written in ASCII. It should be ibRMdwbn which does correctly translate to ਬ੍ਰਿੰਦਾਬਨ. Perhaps a pre-processing step that finds MR and swaps them to RM would be the solution?

ibRMdwbn is correct. Pronunciation goes: ਬ੍ਰ + ਿ + ੰ + ਦਾ + ਬਨ
ਬ੍ਰਿੰਦਾਬਨ = ਬ U+0A2C +  ੍ U+0A4D + ਰ U+0A30 + ਿ U+0A3F + ੰ U+0A70 + ਦ U+0A26 + ਾ U+0A3E + ਬ U+0A2C + ਨ U+0A28
I am not sure about swapping MR and RM, might introduce edge cases.


Mysql column build order needed to have comment before check statement

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔/❌

Fixed issues
#17449

Merged. Thank you!

Great, thanks!
I'm just happy to help, even if it wasn't much.
Den tis 23 juli 2019 kl 16:38 skrev Alexander Makarov <
<EMAIL_ADDRESS>
Merged. Thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/pull/17454?email_source=notifications&email_token=AAHQ25LCHPMUTAI263JQPV3QA4JXVA5CNFSM4IFT4JRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2TKQMQ#issuecomment-514238514,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHQ25N7K4BLC6FPMTOV5LLQA4JXVANCNFSM4IFT4JRA
.

--
Mvh
Kjell-Åke Lundblad
Spårvägsgatan 10, lgh 10:53
214 27  MALMÖ
Tfn: 070-761 76 75
Epost<EMAIL_ADDRESS>


Makefile grammar for function call separator syntax

The , needs a syntax grammar

Moved to upstream repo: https://github.com/fadeevab/make.tmbundle/issues/12


Batch Prompt Schedule AnemateDiff with SDXL checkpoint not working ?

Hi :)
I am completely new to comfy ui and sd. I have an SDXL checkpoint, video input + depth map controlnet and everything set to XL models but for some reason Batch Prompt Schedule is not working, it seems as its only taking the first prompt.
I want to achieve morphing effect between various prompts within my reference video. Here is my worlkflow screenshots + json workflow and result so far:
https://github.com/user-attachments/assets/56446f14-eeac-4be5-8bd0-d7a8efc56b45

sdxlbatchprompt_workflow.json
Thanks a looooot, you would save my life, its for a music video and the deadline is dangerously close.

at the moment, I don't see the issue you are describing where the prompt is the same across the whole batch however this is odd behaviour with how the prompt is applied
this is an example I put together so it's isolated. the frames are clearly changing

however, both inputs with the same prompt schedule should be the same results but that isn't the case when using the regular batch scheduler

for now I would suggest you use the regular batch scheduler so you can finish your project while I look into this.

I am seem to have problem with "connecting the prompt" with the video reference (depth controlnet and ipadapter - xl model), I managed the batch prompt to work without the ip adapter and controlnet:
https://github.com/user-attachments/assets/31d1cb1f-527e-41b8-ae34-04057cc53d0a
But its somehow "struggling" with IPAdapter and Depth map controlnet - as the batch prompt schedule does not apply:
https://github.com/user-attachments/assets/a85253d2-83d1-4ab2-a988-10996d03f05f
Couldnt it be because IPAdapter and Depthmap somehow "holds" the structure of reference video and therefore the batch prompt schedule "cant" change it anymore ?
This is the loaded reference video:
https://github.com/user-attachments/assets/deacd3a3-f826-4fb0-a4f6-fc61104463a2
And this is my current workflow:
evenmessierworkflow.json

This might not be an issue with my nodes in particular. My suggestion is ease off on the strength, start_steps and/or end_steps of the controlnet and ipadapter so they don't overpower the token conditioning. this might need multiple tests to find a good sweet spot


SliverFillRemaining can't calculate the remaining height correctly

Steps to Reproduce

I try to build a CustomScrollView with couples of SliverList on my app, and make it reload data while over scrolling to top.
So I  list a SliverFillRemaining at the end of CustomScrollView's slivers param to make sure it can be over scroll when viewport is not filled.
But it appears that SliverFillRemaining always builds itself with the height of viewport instead of the  remaining height.
Demo below is what I build on dart pad, flutter version 3.7.1, dart version 2.19.1
Expected results:
SliverFillRemaining's height should be 200,
Actual results:
SliverFillRemaining's height is 500

Code sample

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;

  const MyHomePage({
    Key? key,
    required this.title,
  }) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: _buildScrollView(),
      ),
    );
  }

  _buildScrollView() {
    return Container(
      //viewport's height is 700
      height: 700,
      width: 300,
      decoration: BoxDecoration(
          color: Colors.red, border: Border.all(color: Colors.black, width: 1)),
      child: CustomScrollView(
                physics: const BouncingScrollPhysics(),
        slivers: [
          //widget's height is 500
          SliverToBoxAdapter(
            child: Container(
                height: 500,
                color: Colors.white,
                alignment: Alignment.center,
                child: const Text('widget')),
          ),
          //remaining height should be 200
          const SliverFillRemaining(),
        ],
      ),
    );
  }
}

Turns out I misunderstood the usage of the widget


feat(conformance): run test cases in series in debug mode

#3632  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite


TalkTorial 1 - T1_ChEMBL - Step 24

Dear all,
being a new user I am struggling in some of the steps of this amazing Talktorial.
At the step 24, I do not manage to proceed to transform my "smile" structures in formula within the template.
PandasTools.AddMoleculeColumnToFrame(output_df, smilesCol='smiles')
Any suggestion?
Thanks

Hi! Can you provide some more information about the error? Is there any traceback you can paste here or just a silent/wrong result? Thanks!

Hi, I will try to explain myself:
the really first line would be:
from chembl_webresource_client.new_client import new_client import pandas as pd import math from rdkit.Chem import PandasTools
but when I try to enter it I receive:
`---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
 in
2 import pandas as pd
3 import math
----> 4 from rdkit.Chem import PandasTools
ModuleNotFoundError: No module named 'rdkit'`
So I used:
pip install chembl_webresource_client
and it worked but when I tried to enter line 24:
PandasTools.AddMoleculeColumnToFrame(output_df, smilesCol='smiles')
I get:
`---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
 in
----> 1 PandasTools.AddMoleculeColumnToFrame(output_df, smilesCol='smiles')
NameError: name 'PandasTools' is not defined
`
I hope this is the correct way to write everything.
Thanks a lot!

Have you created a conda environment with the dependencies specified in this file? That should take care of all the missing packages. More instructions can be found here.

I am actually working on Anaconda 3 on a mac. Shouldn't the CONDA env be already installed?
Thanks and sorry again for the very easy-level questions.

Anaconda will provide a default environment with the installation (called base), but you can create more with conda env create! The purpose of having multiple environments is the possibility of isolating dependencies and providing reproducible configurations. In our project, we provide a file environment.yml with the exact dependencies so you can use our notebooks without the kind of problems you are observing.
Let me know if there's anything else I can clarify!

can i use these material and coding as such for an online course I am designing for pharmacy students ?

Hi @amitindore!
Please refer to the LICENSE to check whether the covered scenarios fit your case.
I am also tagging @AndreaVolkamer and @dominiquesydow in case they want to clarify further.

Hi @amitindore,
Thank you very much for your interest in TeachOpenCADD!
You are most welcome to use and adapt the material. When doing so please

cite the TeachOpenCADD publication as well as link the repo and
grant the same or more permissive license to your material,

as pointed out by @jaimergp (LICENSE).
Also, we would be happy if you and your students would star those repositories they consider useful for their learning activities during your course.
Thanks a lot and good luck with your course!

Thanks a lot.
This is nice gestures of yours.
Would you be comfortable if we host a webinar of yours for entire pharma
fraternity of India, on this topic?
On Tue, Jun 2, 2020 at 2:38 PM Dominique Sydow<EMAIL_ADDRESS>wrote:

Hi @amitindore https://github.com/amitindore,
Thank you very much for your interest in TeachOpenCADD!
You are most welcome to use and adapt the material. When doing so please

cite
https://github.com/volkamerlab/TeachOpenCADD/blob/master/README.md#citation
the TeachOpenCADD publication as well as link the repo and
grant the same or more permissive license to your material,

as pointed out by @jaimergp https://github.com/jaimergp (LICENSE
https://github.com/volkamerlab/TeachOpenCADD/blob/master/LICENSE).
Also, we would be happy if you and your students would star
https://help.github.com/en/github/getting-started-with-github/saving-repositories-with-stars
those repositories they consider useful for their learning activities
during your course.
Thanks a lot and good luck with your course!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/volkamerlab/TeachOpenCADD/issues/15#issuecomment-637404032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APUDGE2GNRIVVNFCCKSQH5DRUS6R7ANCNFSM4KGFLWCQ
.

Hi @amitindore,
My sincere apologies for my belated reply, it slipped my mind.
We ourselves cannot participate in such a seminar due to time constraints (in case you were also asking this), but you are absolutely welcome to use the TeachOpenCADD material for your seminar, complying with the license as discussed before.
We would be happy to hear about your experience from the course! Good luck!

No, no.
I am requesting you to deliver a seminar as per your convenience on this
open tutorial.
Meanwhile I would let you know that lot many images and infographics I have
taken as such from your TeachopenCADD with full acknowledgement in my free
online certificate course on AI and Drug Discovery. Once again I am
thankful to you.
Thanks.
On Thu, Jun 11, 2020 at 2:37 PM Dominique Sydow<EMAIL_ADDRESS>wrote:

Hi @amitindore https://github.com/amitindore,
My sincere apologies for my belated reply, it slipped my mind.
We ourselves cannot participate in such a seminar due to time constraints
(in case you were also asking this), but you are absolutely welcome to use
the TeachOpenCADD material for your seminar, complying with the license as
discussed before.
We would be happy to hear about your experience from the course! Good luck!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/volkamerlab/TeachOpenCADD/issues/15#issuecomment-642517617,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APUDGE6OAG7U5XQEIPLDHFDRWCNGTANCNFSM4KGFLWCQ
.

Hi @amitindore,
as my colleagues already stated, we can not offer such a seminar.
We provide the material here as an open resource meant to be used for self-study or your own class room training.
Happy to hear that the material was useful in your course and thanks for the acknowledgement.

Okay sir.
Thanks.
On Fri, 12 Jun 2020, 8:03 pm AndreaVolkamer<EMAIL_ADDRESS>wrote:

Hi @amitindore https://github.com/amitindore,
as my colleagues already stated, we can not offer such a seminar.
We provide the material here as an open resource meant to be used for
self-study or your own class room training.
Happy to hear that the material was useful in your course and thanks for
the acknowledgement.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/volkamerlab/TeachOpenCADD/issues/15#issuecomment-643303290,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APUDGE2HW5WYEBDTRHQEOZLRWI4CTANCNFSM4KGFLWCQ
.

I am closing this issue, since both questions - the initial issue on an installation problem and the second question on licenses - are answered.
@Farabotti, feel free to reopen this issue in case you still have installation problems.
We are currently working on a TeachOpenCADD package, which should make installing the resource much more convenient! We'll keep you posted.
@amitindore, I wish you all the best with your course!
For more license/usage (or any other) questions, please open a separate issue. Thank you!


Jvenstad/fix endpoints for tester config

@hmusum please review.

@aressem FYI. Needs to be merged to fix integration tests


Get Column and Row name (Finding the Image)

Hello,
how can i get the column and row name of mouse position or click position ?
I need that to find the image which is shown at the cursor position.

You'll have to loop through the images in the world and compare the mouse position with their bounds. Here is an example:
http://codepen.io/iangilman/pen/PqxvgN

Thanks for your answer but that doesnt solve my problem. Let me explain a little bit more.
I have one viewer Object:
var viewer = OpenSeadragon
({
id: 'container',
prefixUrl: './src/openseadragon/images/',
tileSources: './neno/GeneratedImages/dzc_output.xml',
minZoomLevel: 1,
maxZoomLevel: 50,
debugMode: true
});
This object represents every image in my view. In your example you are adding 20 elements of tilesource. I dont want to do that because my viewer already contains every image.
Here is what i exactly want to get. In Debug mode i see the "ROW" and the "COLUMN". If i concat this both as follow "COLUMN_ROW".png it represents the image name. So this is why i want to get this both attributes without iterating over known count of tilesources and adding them to an object as in your example.

So you have a single image that has embedded in it a number of areas you want to think about as separate objects? You would do something similar to my example, but rather than looking at the bounds of tiled images, you'd run some math on the coordinate space.
It looks like you're not specifying a viewport width for your image, so it'll use the default width of 1. Let's say your image has 10 areas across...if the mouse X (in viewport coordinates) is between 0 and 0.1, it'll be in the first area, if it's between 0.1 and 0.2 it'll be in the second, etc. Same idea for the vertical dimension, keeping in mind that the entire image height is based on its aspect ratio.
Does that make sense?

So it still do not solve my problem. Let me explain a little bit more. I have a big image with high resolution that i splitted with Deep zoom composer of microsoft. The resolution are many .png files and a xml file. With openseadragon i can show this via this code:
var viewer = OpenSeadragon
({
id: 'container',
prefixUrl: './src/openseadragon/images/',
tileSources: './neno/GeneratedImages/dzc_output.xml',
minZoomLevel: 1,
maxZoomLevel: 50,
debugMode: true
});
So what i have now is many small .png files where i can zoom in. See image:

In this image you will see that openseadragon shows me the column and the row number of every image he is rendering. The column and the row name are the image names of this part. This is why i want to get this both attributes.

Isnt it possible to get all (currently SHOWN) columns and rows ?
Or isnt it possible to get all image names (that are SHOWN) ?

So if i have the possibility to get the Shown columns and rows i can iterate them and find this one where my mouse is on.

Interesting...I'm curious, why do you want this? Keep in mind that it changes as you zoom in and out.
At any rate, that information is stored in the lastDrawn array of OpenSeadragon.Tile objects in a TiledImage. This isn't part of the official API, but you can still use it (at least for now). Here is an example:
var $viewerElement = $('#seadragon-viewer')
    .on('mousemove', function(event) {
        var pixel = new OpenSeadragon.Point(event.clientX, event.clientY);
        var viewerPosition = $viewerElement.position();
        pixel.x -= viewerPosition.left;
        pixel.y -= viewerPosition.top;
        var image = viewer.world.getItemAt(0);
        var tile;
        for (var i = 0; i < image.lastDrawn.length; i++) {
            tile = image.lastDrawn[i];
            if (pixel.x > tile.position.x &&
                    pixel.y > tile.position.y &&
                    pixel.x < tile.position.x + tile.size.x &&
                    pixel.y < tile.position.y + tile.size.y) {
                console.log('column: ' + tile.x + ', row: ' + tile.y);
                return;
            }
        }
    });

Note that the tiles are positioned in web coordinates (unlike the previous examples I gave you which used viewport coordinates).

Thank you very much this is exactly what i want to get. So i can imagine that you are curious but i promiss if the project ends i will inform you and you will see that it make sence :-D.
I would be happy if this part will be a part of the next api.

I look forward to seeing the result! :)


NE-1688,SDN-4773,STOR-1992,IR-467: Add MSI Support for Azure HostedClusters

What this PR does / why we need it:
This PR adds:

API support for the client IDs related to the MSIs for cluster-image-registry, cluster-ingress, cluster-storage,
and cluster-network operators
Adds an environment variable AZURE_MSI_AUTHENTICATION, set to true when the client ID is provided, in the deployments of cluster-image-registry, cluster-ingress, cluster-storage,
and cluster-network operators

Which issue(s) this PR fixes:
Fixes #
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/test all

/test all

/test all

/retest

/test e2e-aws

/close
Working on this through https://github.com/openshift/hypershift/pull/4690


feature: page.keyboard.type support callback function

keyboard.type(text, options)  => keyboard.type(text, options, callback)
because i need to do something for each character in the text

Does not this approach suffice?
await keyboard.type(text, options);
callback();
await keyboard.type(text, options);
callback();
// ...

this is what i want

  /**
   * @param {string} text
   * @param {{delay: (number|undefined)}=} options
   */
  async type(text, options, cb) {
    let delay = 0;
    if (options && options.delay)
      delay = options.delay;
    let typedText = '' // add by daviscai

    for (const char of text) {
      typedText += char
      await this.press(char, {text: char, delay});
      // add by daviscai, for each char typed
      typeof(cb) === 'function' && cb(char, typedText)

      if (delay)
        await new Promise(f => setTimeout(f, delay));
    }
  }

keyboard.type was intentionally written using only public methods, so that you can implement your own version of it. I am curious as to what your use case is, but I feel like this is too specific to include in puppeteer.


osx_l_wo_decoder.pth.tar no longer available at google drive link has it been renamed?

The osx_l_wo_decoder.pth.tar is no longer available at google drive link (https://drive.google.com/drive/folders/1x7MZbB6eAlrq5PKC9MaeIm4GqkBpokow) described on the front page has it been renamed?

Hi, thanks for your interest in our work. I will upload this file tomorrow.

Hi, we have uploaded the pretrained model.


[azure-security-keyvault-*-cpp] Update to January releases

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

Adding azure-security-keyvault-secrets to release
cc: @antkmsft

Adding azure-security-keyvault-administration to release
cc: @antkmsft

Adding azure-security-keyvault-certificates to release
cc: @antkmsft

Adding azure-security-keyvault-keys to release
cc: @antkmsft


!insurgencyserver command

add commands showing ip address of insurgency server

#47 fixes this, right?

I forgot about insurgency, so it does not :-1:
But it's almost there...

https://github.com/darkChozo/FAbot/pull/48


Tuners may not be fully getting enabled on k8s clusters deployed via helm

What happened?
We're investigating a cpu imbalance on a large EKS-based cluster deployed via helm. Perf team indicates that the cpu imbalance is likely related to tuners not getting enabled on this cluster. The cluster is using our defaults to enable tuners. We dug through the tuning container and see the following, suggesting only the aio tuner is being applied.
$ kubectl logs redpanda-0 -c tuning
TUNER                  APPLIED  ENABLED  SUPPORTED  ERROR
aio_events             true     true     true
ballast_file           false    false    true
clocksource            false    false    false      Clocksource setting not available for this architecture
coredump               false    false    true
cpu                    false    false    true
disk_irq               false    false    true
disk_nomerges          false    false    false      Directory '' does not exists
disk_scheduler         false    false    false      Directory '' does not exists
disk_write_cache       false    false    false      Directory '' does not exists
fstrim                 false    false    false      dial unix /run/systemd/private: connect: no such file or directory
net                    false    false    true
swappiness             false    false    true
transparent_hugepages  false    false    true

Looking through the statefulset it appears that we fire off rpk redpanda tune all in a privileged container if tune_aio_events is true (which it is by default).
https://github.com/redpanda-data/helm-charts/blob/9261d130d1a486526f5c2c0437c11d03b91ab43d/charts/redpanda/templates/statefulset.yaml#L69-L91
But ... rpk redpanda tune all requires some configuration hints in redpanda.yaml to know which tuners to actually apply. It doesn't seem like we actually place those hints into the config so that tune all does anything.
confusingly, the following values.yaml suggests that most of these tunings are not valid in containerized environments, but I can find no history/indication why this is true (other than it was asserted sometime in 2022). The only thing I can assume at this point is that the tuners that manipulate sysctl were shown to work at some point in the past, but that the ones manipulating files in /sys (which is most of the interrupt/cpu stuff) may NOT have worked. Discussion from Perf team suggests that we need these in any environment (k8s or deployed to OS) no matter what, and discussion with @c4milo suggest that we have this working in the operator used for cloud/byoc.
https://github.com/redpanda-data/helm-charts/blob/b5469209ffa05ab8050d260fc685365b899bc4f4/charts/redpanda/values.yaml#L794-L834
The hints that would be needed in the redpanda.yaml:
rpk:
    tune_network: true
    tune_disk_scheduler: true
    tune_disk_nomerges: true
    tune_disk_write_cache: true
    tune_disk_irq: true
    tune_cpu: true
    tune_aio_events: true
    tune_clocksource: true
    tune_swappiness: true
    coredump_dir: /var/lib/redpanda/coredump
    tune_ballast_file: true

What did you expect to happen?
I expect the tuners to be configurable in the values.yaml and have those tunables get applied when the tuning container runs.
How can we reproduce it (as minimally and precisely as possible)?. Please include values file.
Can provide values example separately, but generally should occur with any default one we have at this point.
Anything else we need to know?
See also https://redpandadata.slack.com/archives/C01H6JRQX1S/p1706816485871719
See also interrupt channel 464 and more specifically this thread https://redpandadata.slack.com/archives/C06E573MBGE/p1706804403275249
Which are the affected charts?
Redpanda
Chart Version(s)
problem occurs in 5.6.60 and whatever latest was as of Feb 1, 2024.
Cloud provider
Self-hosted on AWS EKS, but likely affects any helm-managed k8s install.

Note: if the expectation is that we should instead be applying tuner configs on the base-os of the k8s node, then we need to figure out how to get rpk redpanda tune all --output-script to work correctly given we still end up not having enough hints (afaict) in redpanda.yaml to make each tuner run to generate the script snippet.
We also need to figure out a way to get that deployed to the underlying nodes and run on every system startup (so also generating some sort of systemd unit files or something else on startup).
The way base-os installs get away with this is the redpanda rpm/deb deploy a systemd unit file for redpanda-tuner.service that runs rpk redpanda tune all, but by that point we have enough populated in redpanda.yaml for tuner configs to fire off.
We probably cannot tell users to also install redpanda rpm/deb on base system as that defeats the purpose of having separate OS and K8s installs.

Following up from our slack thread.
tuners can be enabled/configured via the tuning stanza provided that tune_aoi_events is true.
Here we see tune_cpu results in cpu's APPLIED value being set to true
❯ helm install redpanda redpanda/redpanda --create-namespace --version 5.6.60 --set 'tuning.tune_cpu=true'
❯ kubectl --namespace default logs redpanda-0 -c tuning
TUNER                  APPLIED  ENABLED  SUPPORTED  ERROR
aio_events             true     true     true
ballast_file           false    false    true
clocksource            false    false    false      Clocksource setting not available for this architecture
coredump               false    false    true
cpu                    true     true     true
disk_irq               false    false    true
disk_nomerges          false    false    false      Directory '' does not exists
disk_scheduler         false    false    false      Directory '' does not exists
disk_write_cache       false    false    false      Directory '' does not exists
fstrim                 false    false    false      dial unix /run/systemd/private: connect: no such file or directory
net                    false    false    true
swappiness             false    false    true
transparent_hugepages  false    false    true

Whether or not enabling these tuners actually does anything for Redpanda remains an open question.

@hcoyote What do you think the resolution of this ticket should be? Seems like the best option for now might be updating our documentation to further explain why the tuner doesn't work within Kubernetes and instead suggesting that users utilize cloud-init or similar? I wouldn't be opposed to removing the tuner entirely FWIW.

I don't know what the viable solution is right now.
I think we need weigh in from @c4milo and probably @StephanDollberg at minimum. I think the assertion is that, for performance and supportability, we need to get tuners reliably and consistently applied no matter what the deployment methodology is (e.g., bare-os/self-hosted k8s, cloud, etc).
The work around we have today for EKS is to do this via cloud-init. Camilo was working on some daemonset stuff to make this work in AKS, so maybe that's something we can pull back to helm?
Whatever we do for cloud is probably similar to what we should do for self-hosted k8s (on cloud at least). We still need to determine a suitable answer for self-hosted k8s on multi-tenant shared k8s infra.


l2 gradient calculation

It seems to me the calculation should be:
grad = np.array([2 * (scores[i] - labels[i]) for i in range(len(labels))])
i.e. swap labels[i] with scores[i]
https://github.com/lancifollia/tinygbt/blob/ccf75aea1403df0de53e345f843725f194aea174/tinygbt.py#L159

Now I see that you want to calculate negative gradient, since no negative sign in https://github.com/lancifollia/tinygbt/blob/ccf75aea1403df0de53e345f843725f194aea174/tinygbt.py#L54


Switch to protocol V6 with 0.17

Following up on https://github.com/liveblocks/liveblocks-cloudflare/pull/80#pullrequestreview-988717340, but on the client side.

 Hope the switch to v6 doesn't trigger this massive performance drop? 😬

Also added an index page to more easily discover all the available E2E test pages that exist, when playing with the app manually:

All tests are green again! Thx for pinpointing the v6 issue @ofoucherot and for getting that deployed 🙏

Also @GuillaumeSalles great thinking to expose this under v6 😉


Add optional token to hydra principal

Codecov Report

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

@@           Coverage Diff           @@
##           master     #164   +/-   ##
=======================================
  Coverage   93.01%   93.01%
=======================================
  Files         136      136
  Lines        2277     2277
  Branches      126      124    -2
=======================================
  Hits         2118     2118
  Misses        159      159

Impacted Files
Coverage Δ

.../main/scala/hydra/common/auth/HydraPrincipal.scala
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


OSMCHA Error Table Numbers

Problem
The OSMCAH error tables relate to all the changesets which intersect the campaign area and which neither means that the change is limited to our campaign criteria nor that the actual "error" is in our AOI. Only that the AOI intersects with the changeset area.
Discussion
Let's add text to inform the user about this fact.

@cchristelis any suggestion for the wording?

We already use polygon for this.


Recursively parse folder

Hi!
I made a little improvement to parse folders recursively.
According to the comments in #41, it could not be the purpose of this tool.
But I think it could be great for parker:

It behaves more naturally when we start using it
Usage it simple: parker <path/to/the/root/folder/of/your/project>
It adds a feature and there is no compatibility break

Cheers,
Thomas.

Hi!
If you have some time available, I liked to have feedback on this PR ;)
Have a nice day!
Thomas.

👍  for this, as we have page-specific compiled CSS files which we would like to test all at once.

Hi there @tzi, thank you for your PR. I'm working on Parker and hope to have a new version available soon. I'm sorry it has taken so long!
This looks like a straightforward change to introduce a useful feature, I am happy to merge it.

Nice!
Thanks you for merging it :fireworks:
Cheers,
Thomas.


postman.setNextRequest support questions

:wave: I'm currently looking to make use of this project and running into setNextRequest being unsupported and am hoping to get some information that could work through that gap. As a disclaimer I'm not particularly familiar with Postman and am in somewhat of a consultant role for this particular work, and so therefore am particularly curious about where the specific challenges are?
My quick read on the issue (inferring a lot) is that the Postman API is largely oriented around an event loop model where that method enqueues requests to be processed at some subsequent tick and that doesn't conform with the K6 sobek model where  concurrency is done at the virtual user level, an event loop isn't supported, and intra-process concurrency can get hairy given that the VU runtime can't be safely shared across goroutines.
But some other questions (which come back particularly to lack of familiarity with Postman and how this method may be used) is whether processing of the requests could be handled more synchronously, either being issued at the time that setNextRequest is invoked or wired up such that entries are pulled out of the queue for some predefined events such as an inflight response completing (or some combination of those two along the lines of requests being sent immediately if the queue is empty and otherwise popping on some trigger and then invoking the next) so that in any case the requests could be interleaved within the existing flow rather than being concurrent.

hi @mwhipple
You are understanding it correctly.
There are some differences in the way Posmtan & K6 executes requests
Postman request execution:
Postman runs collections in a sequential manner, executing requests one after the other.
setNextRequest is a function in Postman that allows you to dynamically set which request to execute next based on certain conditions or responses from previous requests. This makes Postman's execution flow highly flexible and can create complex, conditional workflows.
k6 request execution:
k6 is a load testing tool focused on performance testing rather than functional testing. It executes scripts written in JavaScript, but its primary design is around defining a fixed set of scenarios and iterating over them.
k6 scripts are executed in a linear, sequential manner. While you can control loops and conditionals in the script, the execution flow is typically fixed (since you want to test performance and not functional) and is not as dynamic as Postman.
k6 does not have a built-in mechanism to dynamically change the next request to execute mid-run in the same flexible manner as Postman’s setNextRequest.
Also important to be aware  of is the stateless nature of Load Testing:
k6 emphasizes statelessness and independence of each virtual user (VU) to ensure accurate performance testing. Introducing dynamic request changes could complicate the stateless design and impact the accuracy and repeatability of load tests.
Next there is the complexity of conditional flows:
Currently postman-to-k6 converts the Postman requests to K6 requests. The CLI analyses the Postman request (method, headers, tests, ... ) and maps it to a K6 request (method, headers, tests, ...).
Implementing a feature like setNextRequest would require going beyond mapping the request structure but also parse the "pre/post" scripts, to extract the setNextRequest and replicate the conditions around setNextRequest, to be able properly map/recreate the Postman setNextRequest behaviour. This would add a large complexity and potentially lead to different interpretation of the Posmtan setNextRequest logic, resulting in different behaviour of the Postman execution vs the K6 execution.
My typical recommendation is to use Postman for behaviour, schema & contract testing and use K6 only for load tests.
It is certainly OK to have 2 postman collections with the different purposes, and
An alternative approach is to use the [separate](https://github.com/apideck-libraries/postman-to-k6?tab=readme-ov-file#separate) parameter, which will results in the each request being a separate K6 request method
export default function() {
  group("Accounts", function() {
    postman[Request]("Get all accounts");
    postman[Request]("Create a new account");
    postman[Request]("Get a specific account");
    postman[Request]("Update an account");
    postman[Request]("Delete an account");
  });
  group("Domain clusters", function() {
    postman[Request]("Get all domain cluster configurations");
    postman[Request]("Create a new domain cluster configuration");
    postman[Request]("Get a specific domain cluster configuration");
    postman[Request]("Update a domain cluster configuration");
    postman[Request]("Delete a domain cluster configuration");
  });

In the main script, you can model/puzzle the requests in the order as you want.
It does not automatically apply the  Postman setNextRequest logic, but it gives you the flexibility to manually reshuffle requests, independent of the Postman collection order, while still using the Postman collection as source for converting into K6 requests.


Split setting parameters from the parameters endpoint.

The https://engine.energytransitionmodel.com/api/v3/scenarios/xxxx/inputs endpoint contains mostly float-like parameter values with the occasional boolean or enum typed parameters. Processing mixed types from the endpoint is becoming increasingly painful in exporting results as most Python libraries don't like mixed types.
Would it be an option to split off the boolean and enum type parameters to a different endpoint, e.g. https://engine.energytransitionmodel.com/api/v3/scenarios/xxxx/settings to make it more easily to process the settings endpoint? I would also propose to migrate the boolean parameters that are now implemented as float-like parameters with 0, 1 to proper boolean parameters with an allowed setting of true/false to prevent setting a float value instead.
This would provide the additional benefit that inter- or extrapolation of parameters becomes more trivial as only float-like parameters can be inter- or extrapolated, you'd like to keep all 'settings' parameters the same.

@noracato could you have a look at this one?


terragrunt: 0.33.0 -> 0.35.1

Motivation for this change
Bump terragrunt to 0.35.1
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[X] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 141532 run on x86_64-linux 1

1 package built:

terragrunt


Swashbuckle.AspNetCore  .Net 6 not available

Hello! I'am new in dotnet. I have a problem with the package.
It's show a Swashbuckle.AspNetCore Not available in the Manage NuGet Packages and i get an NU1101 error.
Any help please?
Thank you

I don't think the problem lies in this package but rather in the IDE or something with your setup,
Try installing it from the CLI by running this command in the project root folder.
dotnet add package Swashbuckle.AspNetCore.Cli


Add Mailer test connection

SimpleJavaMail provides a feature for checking the current configuration works:
http://www.simplejavamail.org/#/features
http://www.simplejavamail.org/#section-connection-test
A connection test should be added to EmailService in the constructor to check the details are correct instead of waiting for a later error.

Won't be done for now.


Rightclick Rotate: Cancel Action currently has priority over Context Menu while stopping

The following is only relevant if you bound Camera Rotate, Context Menu and Cancel Action to the same key.
Personally, I bound them to Rightclick, hence the naming.
When you stop moving to open the Context Menu on some world object, the first keypress often does not work.
This is because the Character is still technically moving while it is playing the stopping animation and then Cancel Action eats the input and Context Menu is not called.
Context Menu should have priority there for a smoother experience.
The problem is: If Context Menu has priority over Cancel Action, you cannot stop accidental Leftclick moves, while the cursor is hovering over an interactable context. Because then you will not stop, but open the Context Menu. This will be awkward.
So I'd say I should only fix this after I managed to let WASD cancel Leftclick moves, so we have an easy and relaible way to cancel leftclick moves and not needing Cancel Action.

Implemented in 1.8.0


add recipe and attributes to support installing add-ons

I thought it might be a good idea to support installing add-ons via chef-server-ingredient.

Can we get this merged so we can get back functionality that was removed from chef-server-cluster (https://github.com/opscode-cookbooks/chef-server-cluster/commit/7c393c8d185d4e157c44b7a345815210d9352783)

I think this cookbook is best suited to it's more simple "build a standalone Chef Server" without add-ons.
Not all the add-ons even make sense on a standalone server, or just don't even work (I'm thinking of Analytics and HA). I think that most of the time where add-ons are desirable is for larger infrastructures where the cluster cookbook makes more sense. Certainly the management console is usable on a standalone node, but this cookbook really is about installing/configuring the chef-server-core package, which doesn't include the webui. It's kind of late in the game to name it chef-server-core, though, but that's the spirit of intent.
Of course I'm not the final arbitrator/arbitor of this cookbook. In my opinion, if we do add this feature here, we should default to an empty list for the attribute, and we'd need to update the .kitchen.yml to modify that for the serverspec test.


RPA vs Selenium for Web Scrapping?

Hi, Can I use RPA with same comfort and convenience for web scrapping without need to use Selenium?

As far as I know, you can easily do it. RPA have all the tools you need to web scraping.

Thanks @LucasValentimCamara! @mimranarif777 i believe so, it takes much lesser lines of code to do the same thing using RPA package vs using Selenium. Selenium is primarily designed for web developers and test automation folks, so there are a lot of features, parameters and settings that you need to work with to get something simple done. RPA package is built for ordinary busy Python folks who wants the shortest path to get to their outcome, whether for work or personal use case.


Cyrillic Not Supported -

While trying to search for Cyrillic it throws an error
TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters

For example, try to search Сплин

it should work on the latest version

closing due to inactivity


Update radio.lua

Add event to let other resources to know when player enter in a radio or leave, like hud resource

You can already listen to this with pma-voice:setPlayerRadio or putting a state bag listener on radio


Update splitting behavior in CLI according to new requirements

"Split arrays into separate tables" if there are less than 5 elements in array #306
If the CLI can be more flexible, it would be better.
Otherwise, the CLI should behave the same as the web version.

The CLI is currently compliant with the current library functionality


How do you hide the file list?

Looked through https://karlch.github.io/vimiv/docs/keybindings_commands and didn't find anything.

Sorry for the super-late reply.
In case this is really for the legacy GTK version, this should work with o when the library is focused, but I haven't used or supported this version in ages, so take it with a grain of salt.
If you use the newer Qt version, especially the latest git builds (e.g. vimiv-qt-git from the AUR) - which I highly recommend, tl (toggle library) should do the trick :blush:


Define the Question interface

Requirements

Define theQuestion object in schemas/interface.ts and the required sub interfaces.
Make sure to write proper comments (used as annotations) using valid json tags: interface Question {
     /**
      * Id of the question
      *
      * @pattern [a-z0-9]{12}
      */
      id: string;
 }

You can use others tags like @minimum, @maxItems, etc. See Tjs annotations
Generates the json schema using typescript-json-schema

We should also create a new target in the Makefile that does it automatically.. or write a script to do so. But this is another issue
Right now, we can do it manually with this command :$ tjs interface.ts Question --out question.json --noExtraProps

Where tjs is an alias to typescript-json-schema.

What is a nice to have ?

Define the schemas in a modular way.

Makefile target for generating the json schema already added in local 😉 Comming in next PR


feat: contrain the container gids

This PR constrains the gids used for the container processes. It's currently running on rok.dev.renku.ch.
With this PR, the notebook container runs as gid 100 and sets the user to be a member of groups 100 and 1000.

yes - this is fixed in the new images - the old images will have this annoying message for the time being. I'm not sure it's a huge problem... ?

Thanks for testing @lorenzo-cavazzi!


DRILL-7984: Support Clickhouse using JDBC Storage Plugin

@vdiravka picked clickhouse and presto dialects, CALCITE-4614 for EXASOL depends on some others commits.

@vdiravka will you help to assign a reviewer for this PR? and you will help to upload the jar after this PR merged, right?

I don't have permissions to merge this PR. Are you able to merge and proceed according to: https://github.com/vvysotskyi/drill-calcite/wiki ? If no, please ask @vvysotskyi to merge it.

@vdiravka, please accept the invitation, so you will have all required permissions.


[5.1] Introduce a backward-deployment library for SR-10600.

Build a static archive that can be linked into executables and take advantage of the Swift runtime's
hooking mechanism to work around the issue Doug fixed in #24759.
The Swift 5.0 version of swift_conformsToProtocol would return a false negative in some cases where
a subclass conforms using an inherited conformance, so work around this by successively retrying
the original implementation up the superclass chain to try to find a match.
rdar://problem/50057445

@swift-ci Please test

Please test with following pull request:
https://github.com/apple/swift-package-manager/pull/2147
@swift-ci Please test

Please test with following pull request:
apple/swift-package-manager#2147
@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 31206ea536469d019588994097627cf86008614f

@swift-ci Please test OS X

Build failed
Swift Test OS X Platform
Git Sha - 31206ea536469d019588994097627cf86008614f

@swift-ci Please test OS X

Build failed
Swift Test OS X Platform
Git Sha - 31206ea536469d019588994097627cf86008614f

Please test with following pull request:
apple/swift-package-manager#2147
@swift-ci Please test OS X


Is the assignment of ctx->fetched_cipher required even if EVP_CIPHER object used is the same?

Discussed in https://github.com/openssl/openssl/discussions/22189

Originally posted by KostasTsiounis September 26, 2023
In our application we are using the EVP_CipherInit_ex/EVP_CipherUpdate/EVP_CipherFinal_ex set of methods to perform AES/GCM. After moving to OpenSSL 3.x from 1.1.1, we saw a significant regression in multithreaded performance scenarios. After getting call graph data using perf, we found out that a lot of the time is spent in EVP_CipherInit_ex -> EVP_CIPHER_up_ref, which results in a substantial amount of thread-locking and unlocking.
Looking further into the openssl code, we found this particular part: https://github.com/openssl/openssl/blob/91bc783a93a2a695fe6a2f8da93cf5b5e086ba42/crypto/evp/evp_enc.c#L204
In this part, the ctx->fetched_cipher is freed, then a call to EVP_CIPHER_up_ref is made and, finally ctx->fetched_cipher = (EVP_CIPHER *)cipher;. However, we think that this whole if statement could be avoided if ctx->fetched_cipher == cipher.
After changing the condition to if ((cipher != ctx->fetched_cipher) && (cipher->prov != NULL)), building and retesting, we saw a 3x improvement when using multiple threads.
The question here is, is there a scenario where even if cipher and ctx->fetched_cipher point to the same struct, the steps that are part of this if statement still need to be executed?

Fix in #22198

Given @t8m comment above, It seems this can be closed


Project: Flutter > Dark Mode Theme

Add designs for a dark theme in the Figma file, then implement a generic theme manager for future themes.

/assign

@DonnieBLT Could you please share the link of the Figma file where I can add designs for dark theme, and when get approved by you I will start working on it

Check the readme. Let me know if not

@DonnieBLT First I will propose my designs for this issue and after getting them approved then I will assign myself to work on this, this way I will be able to work on other issues while making designs for dark theme.

Check the readme. Let me know if not

Found it, Thanks

@DonnieBLT @just-ary27 I have added dark theme designs please check out here and tell any modifications I need to do in this and if its ok I can proceed implementing the feature into the App


Suggestion

Hello,
I would like to ask about how I should add another function to be hooked.
And also, I want to know the process that made this system call. Is it possible?
I want to use that project to hook API calls done by a process and then send those called APIs to an engine running in user mode to analyze them and decide whether the process is malicious or not. (it's a part that I'm going to use in my graduation project).
Thanks.

Hi! You can follow the example here: https://github.com/iPower/KasperskyHook/blob/238c1b8f376b91b63fbac260d7c6b5fefa76f375/KasperskyHookDrv/driver.cpp#L62
There are some things to keep in mind about this project as well:
1- It doesn't support getting SSDT indexes dynamically (well I should probably add this, but it is out of scope), so you'll need to write code for that or hardcode them. If you want to get the indexes dynamically you can map ntdll.dll, parse its exports and find the stubs by looking for Nt routines with syscall instructions.
2- klhk.sys only hooks system calls, not generic APIs. Therefore, this project only supports system call hooks.
Regarding this question: I want to know the process that made this system call. Is it possible?, yes, it's possible. You can call PsGetCurrentThread and PsGetCurrentProcess to get more information about the calling thread and its process. You might also want to read the thread's trap frame to record useful information such as the instruction pointer. I also suggest reading about kernel driver development before doing anything else (tip: Windows Kernel Programming by Pavel Yosifovich is an excellent book for beginners).
I hope this answers all of your questions!

Great, thanks a lot.
I can say that I have a little knowledge of kernel driver development. I made a simple hypervisor that virtualize my own system, and I was aiming to use it to hook APIs, but after asking Sina, he said that I'm going to put in a lot of effort to handle so many situations to not cause BSODs. So I suggested using an already-working driver that can help me do so for my final project.
Thanks! I'm going to add the utility of getting SSDT indexes dynamically.


use wrapper for getting CRDs

This is actually one fix and addressing one edge case.
Fix: Use the wrapper function when invoking kubectl so that context is taken into account
Edge case: When there are no resources of given type, the completion prints No resources found in default namespace. to stderr, so redirect that listing to /dev/null.

Thanks!


RadioButton that stack under another RadioButton will automatically margin-left 16px

please consider to remove
.control-radio + .control-radio {
margin-left: 16px;
}
under index.styl

hi @cheton , any concern about this style?

I think we should change the Radio Button component to be inline elements


Adding name

What changes does this PR do?
Added my name
Screenshots (If any)
Questions
Non

@aparna2071 @E-fais sorry sorry, I have changed to add in order


Added dart implementation

Fixes #123

In its current form, the dart file is not publishable as its own Dart package. That would require a pubspec.yaml with some metadata. Also, since pub.dev doesn't support namespaced packages, I didn't publish it as to leave the std_uri_template package name free for you to use.

Maybe the StdUriTemplate class should be made abstract or have a private constructor to prevent instantiating it.

@andreaTP Do you mind sharing a good link on how to publish dart packages so that I can go through the required steps?

Dart is pretty well documented and you can find all you need here: https://dart.dev/tools/pub/publishing

@andreaTP I notice that you are re-allocating the StringBuffers while in (most of) the fully typed implementation we are "resetting" those for performance reasons.

The current implementation uses token != null to determine the current state. I could replace that with token.isEmpty and the allocations with token.reset().

I looked at the C# implementation and noticed they use more enums. I decided to stick with strings here, but enums may be better for performance. What is your preference?

I looked at the C# implementation and noticed they use more enums. I decided to stick with strings here, but enums may be better for performance. What is your preference?

My personal preference is for enums, but it's not a requirement.
You probably started the implementation from a dynamically typed language while the Java implementation is commonly used as the reference.

@ricardoboss I have reviewed your implementation and it looks like a solid starting point, thanks a lot!
Here is the list of what is left, in priority order:

fix the failure in CI (I can reproduce locally) the error is not "File not found" but is failing on non-utf-8 characters:

Invalid argument(s): Illegal character identified in the token at col: 30
#0      StdUriTemplate._validateLiteral (file:///Users/aperuffo/workspace/std-uritemplate/dart/std_uri_template.dart:28:9)
#1      StdUriTemplate._expandImpl (file:///Users/aperuffo/workspace/std-uritemplate/dart/std_uri_template.dart:152:17)
#2      StdUriTemplate.expand (file:///Users/aperuffo/workspace/std-uritemplate/dart/std_uri_template.dart:7:12)
#3      main (file:///Users/aperuffo/workspace/std-uritemplate/dart/test.dart:29:35)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:295:33)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

do we need a "Verified publisher" I cannot register a GH Pages as verified: std-uritemplate.github.io as I don't control the DNS. Do you know if there is a way?
can you update the readme and the documentation?
can you draft the release GH Action?

fix the failure in CI (I can reproduce locally) the error is not "File not found" but is failing on non-utf-8 characters

Looking into it. I had similar issues running the tests locally, but shrugged it off hoping it was just a git issue on my machine.

do we need a "Verified publisher" I cannot register a GH Pages as verified: std-uritemplate.github.io as I don't control the DNS. Do you know if there is a way?

AFAIK, that's the only way to create a verified publisher. It is possible to publish packages without being verified, but I wouldn't recommend that. Maybe the GitHub support can help? The pub.dev team could maybe also verify you?

can you update the readme and the documentation?
can you draft the release GH Action?

On it.

Automated releases to pub.dev are possible after the first version has been manually published. I prepared the workflow, but I strongly advise you to read through this document: https://dart.dev/tools/pub/automated-publishing#configuring-automated-publishing-from-github-actions-on-pubdev
It not only describes the idea behind automated publishing, it also guides you how to set it up and harden its security.

A curiosity about the the 'Language native date-time format' test: Dart implemented the ISO 8601 including the milliseconds, so instead of 2023-02-13T18:49:00Z it results in 2023-02-13T18:49:00.000Z (which is also ISO 8601). I added the formats including the milliseconds to the edge-cases.json as alternative results.

@andreaTP all tests pass locally. I not sure whether I should redo the StringBuffer allocations. LMK if I should adjust anything, also happy to answer any questions or provide support regarding publishing!

@andreaTP I think I addressed all comments. Can you review again?

An alternative approach would be to comment out the "release" section, merge this PR and continue in a follow-up PR.

I think I'd like that solution.
One other thing: should I add myself to the CODEOWNERS file for *.dart?

I think I'd like that solution.

Ok, let's proceed in this way 👍

One other thing: should I add myself to the CODEOWNERS file for dart/?

Thanks for the proposal! Yes, please, be my guest 🙏 , much appreciated!

A pleasure working with you @ricardoboss 🙏