[NF] Unification of SlotMag and SlotWind

Hello all,
As mention in issue #158 we need to find a way to unify SlotMag and SlotWind. Otherwise we will have duplicate slot for magnet and winding (rectangular slot with winding or magnet for instance).
This would require to rethink how both slot types are handled and redefined/rename all methods:

The Slot would now have a "special area" (looking for a proper name, pocket ? filled zone ? active area ?)
All method should be renamed accordingly and should be unified according to the current SlotWind methods
SlotMag methods need to be simplified by having the "special area" dimensions as property of the slot object instead of the magnet (as we already do for HoleMag)
The method of the abstract SlotWind class would be moved to the Slot class (then all slot need to have a "special area" that can be the full slot)
Instead of build_geometry_wind a method "get_area_special" would return the corresponding surface object. Then the split method of issue #24 would enable to split the surface in the corresponding winding layer (or even magnet layers, why not).
For now winding is a property of Lamination and magnet of the Slot. Both should be in the corresponding Lamination daughters.
The possibility to have several magnet to define a same pole should be compatible with this new organization by moving "W3" to LamSlotMag and still using a list of magnet. Maybe we can also have a LamSlotMultiMag class for that ?
The methods "has_winding" and "has_magnet" would be useful to add. Maybe we can use them for check in the machine instead of enforcing Lamination types in the machine classes.

On a side note, one day we should also consider the possibility to use either Slot or Hole regardless of the machine type (induction machine with closed slot, or spoke PMSM). We won't consider this for now, but having winding and magnet in Lamination would be a first step (although HoleMag objects have magnet as properties).
What do you think of this proposal ?
Best regards,
Pierre

SlotWind classes are now easier to define thanks to the possibility to cut surfaces (by the way, this cutting method needs to be improved to return both "top" and "bottom" part in one call).
Here is a proposal for the renaming of the slot methods:

SlotWind.comp_height_wind => Slot.comp_height_active
SlotWind.comp_surface_wind => Slot.comp_surface_active
SlotWind.comp_radius_mid_wind => Slot.comp_radius_mid_active
SlotWind.comp_angle_wind_eq and SlotMag.comp_angle_opening_magnet => Slot.comp_angle_active_eq
SlotWind.get_surface_wind => Slot.get_surface_active
SlotWind.plot_wind => Slot.plot_active (plot get_surface_active result)
SlotWind.build_geometry_wind => Slot.build_geometry_active (still use Nrad and Ntan to enable to cut magnets as well - with a new magnet type ?)
SlotMag.get_point_bottom => This method needs to be removed (use build_geometry_active)
SlotMag.W3 => LamSlotMag.W3
SlotMX.magnet => LamSlotMag.magnet_list
SlotWind and SlotMag classes will be removed
As an answer to #40 SlotX.build_geometry => SlotX.comp_edges ?

W3 and magnet_list can be moved into LamSlotWind, because they are in fact related to the build_geometry of the lamination.
As a first step, the schematics for SlotMFlat and SlotMPolar won't change and the magnet will always match the slot. Then new parameters will be added to these slots to change the magnet surface.
Best regards,
Pierre

The last issue is how to draw the magnet in the slot ?
First, the magnet types that we have are limited to the slots that match their bottom line (rectangular or polar). So there is already a strong link between the magnets and the slots. Then I think that we can remove the Magnet daughters and handle the magnet geometry directly in the Slot (as we do for the winding). Since now the magnet is the active surface of the slot, the magnet would be now displayed on the slot schematics (with the proper parameters). But it would require:

either to introduce a "type_magnet" property to change the magnet shape in the slot (then one slot type with several schematics). Maybe just by playing on the value of Rtop we already have one schematics.
either to define a Slot object for each combination Slot+Magnet.

On a side note we would loose the possibility to add a new magnet topology that would automatically be available for all the slot but we would gain the possibility to merge SlotMag and SlotWind
Then the magnet object would contain only the meta-data of the magnet (length, materials, insolation...) and no geometry information.
Sebastian, I know that you wanted to use the Magnet types to be able to draw some more complex geometry in holes and this may remove this possibility. In the same way, what do you think about adding some complexity in each Hole schematics to draw within the active surface ? Maybe Slot 60 and 61 can be an inspiration about how we can tune the active surface.
What do you think about this proposal ?
Best regards,
Pierre

Hello Pierre,
I need my days to have 48h to do all things I want to :-)
I vote against removing the magnets, since it's non conforming to object orientation (i.e. something that also bothers me with HoleMag). Also there are at least some more relevant magnet geometries that aren't implemented yet, e.g. the non-rectangular types but with parallel sides.
What do you think instead of having a reference point in the magnet or the slot and freely place the magnet in the slot (with the most likely position as a default)? This in turns would require a check, that the magnet is smaller or equally sized compared to the slot.
Best regards,
Sebastian

Hello,

I need my days to have 48h to do all things I want to :-)
That would definitively be handy :D

I agree that losing the Magnet daughter would be a shame because it do enable to create some new magnets that would be able to automatically fit in any existing slot. But at the end the magnet slots are not that complicated. We only have two (if we exclude SlotMFlat2 that can be define "as a SlotWind") and they are strongly linked to the magnet. I realized that I did a mistake in my previous proposal: I wanted to use the slot schematics and then add the magnet which is not conform to object orientation as you said. Instead we should use the magnet schematics as the new slot schematics (by adding the slot parameters to the magnet parameter). Then MagnetType10 daughter of Magnet would become SlotM10 daughter of Slot (with some new properties to set the magnet position as for SlotW60). For instance this can be the schematics for SlotM10:

With this new organization all the Magnet daughters would still be there and to add a new magnet shape one just need to add a new Slot. If we remove all geometry consideration from magnet then it would have the same status as for the winding which is required if we want to merge SlotMag and SlotWind (to avoid having to define slots like SlotMFlat2)
I think that it is more consistent to consider that all the geometry concern are fully handled by the slot or the hole. One day we will also want to be able to "merge" HoleMag and HoleWind so we should not consider that we would call MagnetType10.build_geometry to draw the "active area" of HoleM50. Instead I think that we can introduce some new parameter to improve the drawing of the corresponding area to include insulation for instance.

What do you think of this new proposal ?
Best regards,
Pierre

Hello Pierre,
I am not completely convinced yet :-) I hope we got some more time to dicuss, since this will be some kind of fundamental change to the machine structure.
I would like to do some 'checks' on your proposal and think about the needs,goals, pros and cons and what that all means in detail.
My main concern is that your proposal could lead to a lot of new Slots that are nearly identical, while we wanted to reduce duplicates with this.
Further will this NF enable for (feel free to edit, check and uncheck)

[ ] isolation of winding

[ ] gap between magnet and lamination

[ ] empty spaces above, below or between a winding  (e.g. slot divider) and ...

[ ]  multiple winding (systems) within a slot (see e.g. #193)

[ ] (magnetic) slot wedges

[ ] tangential magnet division (for e.g. eddy current reduction) with optional gap

[ ] slotless arrangements (e.g. hallbach and airgap winding)

[ ] consistent way to define different magnets each slot (e.g. for defective magnet sim.)

BTW: What do your colleagues think on this issue?
Further, what do you think about unification of Holes as closed Slots at this point too?
Best regards,
Sebastian

Hello Sebastian,
Thank you for your answer. This is indeed a major modification and we need to make sure that the new implementation is really better. At the beginning I wanted to close this issue before the 3rd webinar but maybe it wasn't a good idea. We will take as much time as needed to discuss about it so the implement is Ok for everyone and optimized as much as possible.

My main concern is that your proposal could lead to a lot of new Slots that are nearly identical, while we wanted to reduce duplicates with this.

In my first proposal indeed but with using the magnet as schematics for the slot it won't be duplicate any more. Each slot would define a different active shape (even if the slot looks similar). For this new definition a Slot is the "gap in the bore radius" AND the active surface. But we can still draw only the slot without the active surface (for notches for instance).

insulation of winding
empty spaces above, below or between a winding (e.g. slot divider) and ...

For that, either we update the schematics with parameter for the insulation (possible to optimize according to each slot), either we create a generic method that would take a SurfLine and fill it with the conductor (better solution but can be really complex). For the second case, the schematics define the global special area and we draw something more real in FEMM (by calling a build_geometry from the conductor maybe?). In both case, "build_geometry_active" would return some new surfaces with special insulation label.

gap between magnet and lamination

For that we can adapt the schematics with now properties (default at 0) and return the proper surface with the corresponding label in "build_geometry_active". We can then add a material somewhere (in Magnet object ?) if we want to consider the glue.

multiple winding (systems) within a slot (see e.g. #193)

"build_geometry_active" return some generic surface with the tag "SX_RX_TX". Then it is in FEMM that we say what each surface is. So we can define any rules for that. On this particular example, maybe we can reuse the current winding matrix of WindingSC and add a second independent radial layer (and double the number of phases). Or we can have two winding object and two rotor currents (which can be use as a first step toward machine with several laminations)

(magnetic) slot wedges

Corresponding surface returned (or not according to some properties) by "build_geometry_active". Maybe the wedge material can be define in the Slot object.

tangential magnet division (for e.g. eddy current reduction) with optional gap

By merging SlotMag and SlotWind, build_geometry_active would be available for SlotMag. Then we can automatically split the active surface of the magnet as we now do for the winding. It can also be used for Hallbach magnetization pattern if we set different magnetization direction for each layer (which is possible in FEMM since they are separated surfaces).

slotless arrangements (e.g. hallbach and airgap winding)

The SlotMX classes with H0 = 0 would create a lamination "without slot" (as the edges of the slot would match the bore radius) and then, since SlotMag and SlotWind are the same thing, the active surface can either be a magnet or a winding according to the Lamination type.

consistent way to define different magnets each slot (e.g. for defective magnet sim.)

As the Slot is the "gap in the bore radius" and the active surface: A different magnet => a different slot. Then LamSlotMulti would work for that.

BTW: What do your colleagues think on this issue?

I can't tell how many of your answers/issues have started some very interesting discussion in the team ;) We talk a lot about pyleecan and I try to summarize the content of our discussions in my answers. Unfortunately we don't have enough time to have everyone discussing about everything on github :/

Further, what do you think about unification of Holes as closed Slots at this point too?

Unification of Hole and slot is not a machine concern (it will remain two different object family). This unification is for the models: get_Zs (that can return Zh) for instance. So I think that we can postpone this part of the discussion.
Thank you again for taking some time to challenge this architecture proposal :)
Best regards,
Pierre

Hello Pierre,
Thank you for your answer. I know the faster this whole change is implemented the better it is.
Do you also have some code (or class refs) ready that outline your proposal, since I am not sure I got all your ideas and the resulting Lamination structure.
Best regards, Sebastian

Hello,
I have no code or class ref yet. I will create a branch and start some modification to see how it goes. On my side as well having some proper method and csv would help to have a better understanding. If it doesn't work, we can still remove the branch.
Best regards,
Pierre

Hello all,
I just pushed a branch with the first step for this issue. The methods of SlotWind daughters were renamed and I have created "SlotM10" as a first example of the new slot (daughter of SlotWind for now) to replace MagnetType10. Magnet have lost all its methods (and daughters), LamSlotMag methods have been reorganized. For now LamSlotMag contains only one slot/magnet. Should we have a LamSlotMultiMag or just directly having magnet_list in LamSlotMag ?
Next step would to change the other MagnetTypeX to SlotMX and remove SlotWind and SlotMag (and check that everything still works)
On a side note, this merge introduce the possibility that the active surface overlap the airgap. I have introduce a comp_radius (on the example of the Hole ones) method for SlotM10 but this method would be required for all slots (return (Rbo, Rbo+H) in the "normal cases"). comp_height still returns the distance between Rbo and the bottom of the slot to compute the yoke height.
What do you think about these first modifications ?
Best regards,
Pierre

Hello Pierre,
I didn't have the time to see your branch yet. I hope to do it next week.
As for the first question I would prefer the magnet list so we could have one magnet or Zs magnets in it.
BR Sebastian

Hello Sebastian,
No problem I will see if I find some time to carry on the work to have a more complete branch.
Regarding the question, it depend what we are looking for:

one magnet and one slot: the magnet is duplicated in all the slot evenly distributed
Zs magnet and one slot: The magnet list enable to define a different magnet in each slot, the slot are evenly distributed
N magnet + W3 + one slot: the slot is duplicated N times, each slot is separated by W3 bore radius, the N magnets correspond to only one pole. The N slot + magnet are then evenly distributed Zs time
Zs magnet + Zs slot + alpha_list (something like LamMultiSlot): The slot are placed according to alpha_list and each slot can have a different magnet.
Something else...

Note that here Magnet objects only define materials and magnetization, there is no more geometry concern in it. If you want to change the shape of only one magnet, you need to change the slot.
All these implementation are possible and can be interesting. For now my implementation of LamSlotMag is the first one and previously we had the third one. So my question was should I use solution 3 as the default implementation of LamSlotMag or should we introduce a new lamination type for that so the default LamSlotMag is the most common one?
Best regards,
Pierre

Hello all,
Today I have continue to work on the SlotMerge branch on this repository. I have SlotM10 to 14 that matches the previous plot results of the corresponding magnets from pyleecan\Tests\Plot\test_Lam_Mag_inset_plot.py.
I still need to add SlotM15 from #246. I need to update (or merge into test_Lam_Mag_inset_plot.py) test_Lam_Mag_surface_plot.py and to make sure that all the methods (comp_height, comp_surface....) returns the proper results (which will be convenient since now I can reuse the generic SlotWind one). Once all that validated, I will remove SlotMag and SlotWind and I will need to update the GUI as well but we are getting closer :)
Best regards,
Pierre

Hello all,
New important step for this issue this week: All SlotMX classes are now available and validated with the corresponding Tests (Plot and method with comparison analytical/numerical) ! All the code is accessible in the pyleecan/SlotMerge branch
@SebGue Can you check SlotM15 that would replace your MagnetType15 ? I have added a plot test in Tests\Plot\test_Lam_Mag_inset_plot.py here is how it looks:

Is it what you were looking for ? I have also update your test method now named "Tests/Methods/Slot/test_SlotM15_meth.py
By the way with the new organization it is possible to update the slot to have the edges of the slot parallel as well and W0 in [m] instead of [rad].
@mxgnsr SlotMFlat2 is now SlotM16 (which is a copy adapt of SlotW29) and it look like that:

Is it Ok for you ?
Next step: Removing SlotWind class, fixing the few remaining method bugs and most of all updating the GUI. Hoping to be able to do the PR next week !
Best regards,
Pierre

Hello Pierre,

@mxgnsr SlotMFlat2 is now SlotM16 (which is a copy adapt of SlotW29) and it look like that:
Is it Ok for you ?

Thanks for mentioning! Looks very good :)
BR
Max

Hello Pierre,

@mxgnsr SlotMFlat2 is now SlotM16 (which is a copy adapt of SlotW29) and it look like that:
Is it Ok for you ?

Thanks for mentioning! Looks very good :)
BR
Max


Get Lcm for two number

Description
Take from user two numbers and find the lcm
Domain
CPP
Type of Contribution
Others
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign

/assign

/assign


Delete and ignore Cargo.lock

Afaik libraries should not have their Cargo.lock in the repository (see bevy repo for example).
When I cloned and built this repo I got some weird regex parsing errors until I deleted Cargo.lock and rebuilt.

Good catch! This is my first library and totally an oversight on my side. According to the cargo book, libraries, like this repo, should ignore the Cargo.lock file.
As the example project provides an example of a basic application, I think the Cargo.lock file should maybe stay in that case? So the gitignore should only reference the root lock file. What do you think?

Oops, sorry with the assignees. Force of habit 😅

As the example project provides an example of a basic application, I think the Cargo.lock file should maybe stay in that case? So the gitignore should only reference the root lock file. What do you think?

True, but if you agree with https://github.com/Salzian/bevy_fmod/pull/9 then I don't think it's worth it to fix this anymore. Because that PR removes the need for Cargo.toml and Cargo.lock in examples altogether

Then I'll have a look at #9 first.

Can you take a look if there's something in here that's still relevant?

All fixed with https://github.com/Salzian/bevy_fmod/pull/10


KeepAlive Timeout log level change to debug

As discussed in this thread, I just made the logging change from INFO to DEBUG level when the Keep Alive Times out.
FYI @ashleysommer

For my point of view, it’s an INFO log level, but i saw that a lot of people are strung confused so maybe is best if we set this as debug and we avoid getting issues that ask about that. Specially now that Asyncio is just taking off and people are getting on board and there’s going to be a lot of new devs into sanic.
In this sort of thinking, I give more weight on being clear+transparent to the community :)

Yep, 👍  I will merge this soon unless someone provides an argument against it.


[SPARK-12263][Docs]: IllegalStateException: Memory can't be 0 for SPARK_WORKER_MEMORY without unit

Updated the Worker Unit IllegalStateException message to indicate no values less than 1MB instead of 0 to help solve this.
Requesting review

Can one of the admins verify this patch?

LGTM

Test build #2257 has started for PR 10483 at commit b55fe70.

Test build #2257 has finished for PR 10483 at commit b55fe70.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

@nssalian you need to fix the line that's too long now

Thanks for the review @srowen. I didn't have access to my machine since I was traveling.
Modified the line to bring it to 97 characters.

Test build #2265 has started for PR 10483 at commit ab19900.

Test build #2265 has finished for PR 10483 at commit ab19900.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to master


Implement renderRead for MySQL

Following the pattern from PostgresModule and SqlServerModule implement an MySQL specific renderRead.

I would like to take this.


SQ-63/[STEP 3] Remove Connfa code

Bye bye Connfa code. -19k and counting! This closes #63

After a thorough review (just read the deleted lines count lol) I can say LGTM


Model output same for every input

TF Version 2.4.0
Despite extremely different inputs, the model outputs the same probability distribution to the 16th decimal place for every single input.
This does not happen on the tflite model loaded with a python interpreter, only when loaded with this tflite_flutter interpreter.

TF Version 2.4.0
Despite extremely different inputs, the model outputs the same probability distribution to the 16th decimal place for every single input.
This does not happen on the tflite model loaded with a python interpreter, only when loaded with this tflite_flutter interpreter.

Same case, did you find any solution?

@Ucok23 I think without posting your code it is quite impossible to debug.

@Ucok23 I think without posting your code it is quite impossible to debug.

huge thanks, it's just i didn't feet right input image, i need grayscale but i keep feeding it rgba

Hi, I wanna ask a question !
is your UI correct ? I mean it appear full screen of camera ?
because when I launch the app, the camera view appears in the upper half of the screen, not full screen !!


Ability to set disableLeaveAlert=true in query string

Hi! I need a feature that would allow me to open the terminal in different modes: both with and without a closing warning. It would be great if it was possible to pass a parameter to the URL query string for this. The -t disableLeaveAlert=true option is not enough, since it determines the behavior of the entire daemon.

@tsl0922 boop

@tsl0922 I would give you $50 if you make this small feature :)

Well, this is a free software + side project, I make no profit from it. If you really want to support me financially, you can do it through github sponsors.
Feature requests from sponsors will be prioritized, but I can't make any guarantee that any request from sponsors will be implemented.

I understand your position, but I wanted to know if it's even possible to implement this in your current architecture with little blood.

It's possible, and not hard, will take a look at it when I'm free.

Crap, github won't accept my card for sponsorship for some reason. If you have a paypal, please send me the address to<EMAIL_ADDRESS>I'll tip you with it.

You don't need to pay me for it.
I sent this question to some friends and there is a guy who wants to help you implement it :)

Then let him send me his paypal, I'm eager to part with the money)

Wait for his PR, then you can contact him.

Hey @tsl0922 @mdevaev, I've sent a PR for it 😄

It was fast! Did you test it?
Send me your paypal to my email ^^^

@mdevaev It's merged https://github.com/tsl0922/ttyd/commit/dea883a7fced1030d7ce67db2ea3a524f1b4fda4

You can now override any client options with URL query parameters.
Note that URL query parameters has a higher priority than server side command-line arguments.

FYI: I've setup my Patreon account, you may sponsor me on github through patreon now:
https://docs.github.com/en/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor-through-patreon
or do it on patreon: https://www.patreon.com/tsl0922

Subscribed. Great work!

@tsl0922 Could you bump release? I need it for the upstream distro.

1.7.5

Thanks!


Rewrite tests with dash testing

About

Fixes #118, rewrite the tests with dash[testing]
Description of changes

Pre-Merge checklist

[ ] The project was correctly built with npm run build:all.
[ ] If there was any conflict, it was solved correctly.
[ ] All changes were documented in CHANGELOG.md.
[ ] All tests on CircleCI have passed.
[ ] All Percy visual changes have been approved.
[ ] Two people have :dancer:'d the pull request. You can be one of these people if you are a Dash Cytoscape core contributor.

Reference Issues

Closes #[issue number]
Other comments

I'll look into it, thanks.

It should be fixed now. However, it needs manual approval. Since dash_duo.percy_snapshot combines the snapshot name with the actual python versions, percy cannot match them by name to visually compare (that's why right now it says 103 viaul changes need review)

Thanks @alexcjohnson I mainly rewrote the existing code by using dash.testing and kept the existing structure. I'll update them based on your feedback.


Does not understand how to format double quotation ("") in f-string in Python 3.12

Currently using VSCode 1.86.1 with Black Formatter v2024.0.0.
The Formatter does not understand how to format double quotation ("") in f-string (PEP 701) in Python 3.12.

@HiroshiAhsan Can you provide an example? Also can you verify if the black itself handles it correctly?
Linux/Mac:
cat yourcode.py | black --stdin-filename yourcode.py -

Windows:
type yourcode.py | black --stdin-filename yourcode.py

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.

Hi @karthiknadig, I just found this and can provide an example in their place:


Time-domain interface - [opened]

In GitLab by @ecm on Jun 16, 2022, 14:34
Merges master -> master
Last Feb, Tom Colin and I presented a work aiming at interfacing Bilby to time-domain CBC waveform models (with the final aim to use custom models from ML-based approximants). See: https://dcc.ligo.org/LIGO-G2200091
We are now ready to make a merge request.

In GitLab by @ecm on Jun 23, 2022, 09:25
Hi @gregory.ashton
thank you for the feedback. This is the first time I do a MR. I was pointed
to a page here: https://git.ligo.org/lscsoft/bilby/-/issues/627
I've tried to follow the steps but it is fairly probable that I did something
wrong. Yes, the forked project is private. https://git.ligo.org/ecm/bilby
Are you saying I should change something in the config of my repo to enable
CI ?
Cheers,
Eric

In GitLab by @ecm on Jun 27, 2022, 12:22
Hi @gregory.ashton, I've just set the Visibility to Internal.

In GitLab by @gregory.ashton on Jun 17, 2022, 10:19
Hi @ecm thanks for the MR. There is quite a lot of additions to review, so this may take some time, but at q quick check it looks like it is in the write style.
The one thing I'm puzzled about it that I can't see the CI status (i.e. the green tick). We need that passing to merge. Is it because your fork is private?


[Blog Contribution] A brief history in maker projects of a cloud-native Java runtime

MicroProfile.io WordPress
MicroProfiler
To new Contributors who need to gain access to the WordPress site, please provide:

[ ]   Name:
[ ]   Email:

**Content copy/edit review (available & optional)

[ ]  Draft

Social Media Description

[ ]  280 max chararters includes the author's Twitter or Github ID & blog link
Laura Cowen (GH: lauracowen) tells a brief history of @OpenLibertyIO, the cloud-native Java runtime, through the medium of maker projects, which were mostly built using MicroProfile & @JakartaEE technologies.

Design Card  (for MicroProfile designer)

[ ]  Minimal requirements highlight the MicroProfiler & the title of the blog

Notes
To help with everything

Landing here!!

Approved and published
Permalink: https://microprofile.io/2022/12/08/history-maker-pr…ive-java-runtime/
Added tag(s):   Raspberry Pi

[x]  Ensure the content of post is relevant and applicable to Microprofile
[x]  Check that content has the author(s) name
[x]  Check that the content provides credit to collaborators
[x]  Check that post has a “Page Header Image”
[x]  The image should be between 1600px - 2000px wide and have a minimum height of 500px for best results.
spacerover.jpeg - 254 KB -  1200 by 675 pixels
[x]  Check for grammatical errors
[x]  Check for TMs and copyrights

Thanks. Closing.


Support empty SELECT; statement

Fixes #447

I'll merge this in and do a release as it's really a trivial change.


chore: cleanup CODEOWNERS file

Description

This PR is an audit of the CODEOWNERS file
The audit is done in light of the Q2 samples fixit

Changes

Add comments at the top with instructions for updating the CODEOWNERS file and link to go/jds-codeowners
Set up indentation such that it is easy to read and visualize the teams
Update entry for appengine to be appengine-*
Update error-reporting to errorreporting
Remove duplicate entry for datacatalog
Remove following entries given that there are no samples for them in the repo

scheduler
orgpolicy
container
game-servers
logging
datastore
firestore
notebooks
dataplex

Add Github team @GoogleCloudPlatform/healthcare-life-sciences as codeowner for healthcare instead of an IC
Commit https://github.com/GoogleCloudPlatform/java-docs-samples/pull/7835/commits/547a51bfe4a4d378e76c10be09f1370378c6dadc updates the PR with changes from #7836

Lgtm, but I am wondering if we need to preventively add a prefix / to signify root directories https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#example-of-a-codeowners-file

Makes sense. I added the forward slashes!


DOCS: Out Of Date Visual C++ Redistributable Link

The docs which serve the FAQ contains an link to the outdated Visual C++ Redistributable for VS16(2019) rather than VS17(2022)
This can be seen in the following page, in an anchor for the "direct link":
https://dolphin-emu.org/docs/faq/#program-cant-start-because-vcdll-is-missing
As far as I know this text is within a DB so I can't change it myself

Updated, thanks!


Creating the data folder structure

@fangchangma I have two questions

I downloaded the kitii dataset which has a folder structure like this

Now, do I have to delete |-- val folder and replace with the following?

if my assumption is correct then the above steps will make dir structure like this

Where can I get the kitti_rgb data? Do I need to download from here for all the drive data that is there is kitti depth dataset? If yes, then do I need to copy the same folder
 again?

There is no need to delete or move any files from the kitti depth dataset. You can keep the raw val folder while having the val_selection_cropped folder in the same directory.
Yes, we need to download the raw data. and extract the rgb images. The rgb images need to be structured in a similar way to the depth dataset.

The reason why I did not release the downloaded rgb dataset was to avoid violation of the kitti' licences.

@fangchangma  thank you for your reply. Creating the rgb dataset is one tedious task because I have to look for each drive id and download the data and then selecting the corresponding images that are there in the depth-dataset.
Just for the confirmation, after downloading all the relevant rgb files, the dir structure should look like this?

@fangchangma thank you for your reply. Creating the rgb dataset is one tedious task because I have to look for each drive id and download the data and then selecting the corresponding images that are there in the depth-dataset.
Just for the confirmation, after downloading all the relevant rgb files, the dir structure should look like this?

Hello,
I have the same problem, and I don't know how to match rgb and d in the flower structure. Can you give me some advice?
Thank you.

@fangchangma thank you for your reply. Creating the rgb dataset is one tedious task because I have to look for each drive id and download the data and then selecting the corresponding images that are there in the depth-dataset.
Just for the confirmation, after downloading all the relevant rgb files, the dir structure should look like this?

Hello,
I have the same problem, and I don't know how to match rgb and d in the flower structure. Can you give me some advice?
Thank you.@swapnesh-wani

Hi @wangyingyu, I haven't downloaded the rgb dataset yet. But, I think the rgb dataset should look like my previous comment. Waiting for @fangchangma to confirm.

Hi. I just uploaded the scripts for downloading the RGB dataset. The README has also been updated to provide more details regarding the folder structures. Please let me know if it is unclear.

@fangchangma  thanks for uploading the scripts. That will surely help a lot.

@swapnesh-wani @fangchangma Thank you for your reply. But I still have a few questions about the datasets.
1)Is the val_selection_cropped folder in the kitti_depth folder downloaded from the manually selected validation and test data sets (5 GB) in kitti depth?
2)The velodyne_raw folder in the /kitti_depth/train/20******drive****_sync/proj_depth/ folder is downloaded from kitti depth's projected raw LiDaR scans data set (2 GB) and placed In the corresponding position?

@wangyingyu

Yes
Yes


Variables panel not loading upon initial Editor load

Report

Expected behavior
I expect the variables to display the variable names upon loading the editor. Instead, I have to type something for the state to sync.
Steps to reproduce the problem

Create a prompt with variables
Commit a new version
Refresh
You will now see that the variables aren't shown

Logs (if applicable)
No response
Pezzo version
v0.1.4
How do you use Pezzo?
Pezzo Cloud

Fixed in #78


Fix user-provided CTAD guides

According to https://wg21.link/temp.deduct.guide deduction guide should provide the simple-template-id as a target. Right now we use an alias that somehow works on both gcc and MSVC but probably is not C++ standard conformant.
We should fix the following and similar:
https://github.com/mpusz/units/blob/86584dbfe2f5e13523cd2e249df24865ea892564/src/include/units/quantity.h#L359-L360

Opened GCC 99141.


Built-In Terminal Failing to Launch

VSCode Version: 1.17.2
OS Version:  MacOS High Sierra 10.13

Steps to Reproduce:

Use "Control + " to open terminal, then I get the error "The terminal process command /usr/local/bin/my_shell -l` failed to launch (exit code: 1)"

No idea how to fix it

Reproduces without extensions: Yes

This means that your $SHELL environment variable is set to /usr/local/bin/my_shell which doesn't exist. You can either set $SHELL to the correct value or set the terminal.integrated.shell.osx setting.


adds test that illustrates invalid schema creation - embedded recursive type in an optional array, just to be extra difficult

Hi @dankinsoid
The fix you kindly made yesterday in response to https://github.com/dankinsoid/VaporToOpenAPI/issues/17 didn't do the trick, so I went back and dug further. Since it's using a Codable transformation, there's two additional complications that may be impacting this:

the recursive type is embedded in another type
where it's embedded is as an Optional Array, just not an array or instance, just to be extraordinarily difficult.

I tracked back the changes you made, and expanding the test suite to illustrate the failing scenario (although I don't know that I have the structure of the expected schema entirely correct). At a minimum, this test fails showing the rendering where it's calling it ArrayProductDependency, so I'm hoping it's a bit of a jump.
I'll dig further to understand this project so I can hopefully help propose a solution, but wanted to at least make this effect available.

@heckj fixed in VaporToOpenAPI 4.4.4


double quotes when payload is not an object

Hello, nice work Tobias.
I'm trying to use your node with HTMX SSE extension, it connects and transfers data. My payload is not an object it is just a string, the payload returns "in double quotes" because it tries to serialize it as JSON, so my output has double quotes in it.
Is it possible to send plain strings with this node?
Thanks.

Hello yalin,
thank you for using my node :)
I've patched this behavior out - when the payload is a string, it will not be stringified again.

Yes it works,
Thank you Tobias for your attention and quick response, it really appreciated.
Have a nice day :)


[rke1 etcd restore] unable to restore etcd snapshot

Rancher Server Setup

Rancher version: v2.7-head (95edd02)
Installation option (Docker install/Helm Chart): helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): rke1, 1.4.5

Proxy/Cert Details: valid letsencrypt certs

Information about the Cluster

Kubernetes version: v1.25.9
Cluster Type (Local/Downstream): downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): node driver, linode

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: standard user, cluster owner

Describe the bug

unable to restore from snapshot
cluster info:
3 etcd
2cp
2worker
docker v23.0 from rancher install script https://releases.rancher.com/install-docker/23.0.sh
cluster and fleet customizations (same settings for each):

one node affinity

required, expression: not.this/nodepool = true

toleration: tolerate/control-plane: exists noSchedule (for fleet, tolerate/worker instead of tolerate/control-plane)
requests:

cpu:  500
memory: 500

limits

cpu: 750
memory: 850

To Reproduce

deploy an rke1 cluster with the following settings

k8s v1.25.9
cluster agent customization

resource limits and requests
add one additional affinity
add a toleration

fleet agent customization

resource limits and requests
add one additional affinity
add a toleration

let the cluster get to an active state -> observe that an etcd snapshot is captured and ready
update the cluster

remove all cluster and fleet agent customizations that were added in the previous step

let the cluster get to an active state -> observe a new etcd snapshot is captured and ready
restore the cluster to the first snapshot

Result
rancher logs:
[WARNING] Failed to set up SSH tunneling for host [<etcd_ip>]: Can't retrieve Docker Info: error during connect: Get "http://%!F(MISSING)var%!F(MISSING)run%!F(MISSING)docker.sock/v1.24/info": can not build dialer to [c-ffztj:m-6qmj5]

kubelet logs of etcd node:
E0512 18:13:34.861200  465765 summary_sys_containers.go:48] "Failed to get system container stats" err="failed to get cgroup stats for \"/kubepods.slice\": failed to get container info for \"/kubepods.slice\": unknown container \"/kubepods.slice\"" containerName="/kubepods.slice"
E0512 18:13:34.861233  465765 helpers.go:672] "Eviction manager: failed to construct signal" err="system container \"pods\" not found in metrics" signal=allocatableMemory.available
I0512 18:13:34.861245  465765 helpers.go:745] "Eviction manager: no observation found for eviction signal" signal=allocatableMemory.available
E0512 18:13:35.518065  465765 qos_container_manager_linux.go:374] "Failed to update QoS cgroup configuration" err="unable to set unit properties: Unit kubepods.slice not found."
I0512 18:13:35.518145  465765 kubelet.go:1677] "Failed to update QoS cgroups while syncing pod" pod="kube-system/canal-vttgx" err="unable to set unit properties: Unit kubepods.slice not found."
E0512 18:13:35.520796  465765 pod_workers.go:965] "Error syncing pod, skipping" err="failed to ensure that the pod: d1f05746-fd7f-4728-950a-7d2c7c59ff2d cgroups exist and are correctly applied: failed to create container for [kubepods burstable podd1f05746-fd7f-4728-950a-7d2c7c59ff2d] : unable to start unit \"kubepods-burstable-podd1f05746_fd7f_4728_950a_7d2c7c59ff2d.slice\" (properties [{Name:Description Value:\"libcontainer container kubepods-burstable-podd1f05746_fd7f_4728_950a_7d2c7c59ff2d.slice\"} {Name:Wants Value:[\"kubepods-burstable.slice\"]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Unit kubepods-burstable.slice not found." pod="kube-system/canal-vttgx" podUID=d1f05746-fd7f-4728-950a-7d2c7c59ff2d
E0512 18:13:36.034088  465765 kubelet.go:2373] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized"
E0512 18:13:39.513336  465765 qos_container_manager_linux.go:374] "Failed to update QoS cgroup configuration" err="unable to set unit properties: Unit kubepods.slice not found."
I0512 18:13:39.513367  465765 kubelet.go:1677] "Failed to update QoS cgroups while syncing pod" pod="cattle-system/cattle-node-agent-5rh5f" err="unable to set unit properties: Unit kubepods.slice not found."
E0512 18:13:39.514607  465765 pod_workers.go:965] "Error syncing pod, skipping" err="failed to ensure that the pod: 0a4636ed-b50e-4ca2-a797-14f6db644295 cgroups exist and are correctly applied: failed to create container for [kubepods besteffort pod0a4636ed-b50e-4ca2-a797-14f6db644295] : unable to start unit \"kubepods-besteffort-pod0a4636ed_b50e_4ca2_a797_14f6db644295.slice\" (properties [{Name:Description Value:\"libcontainer container kubepods-besteffort-pod0a4636ed_b50e_4ca2_a797_14f6db644295.slice\"} {Name:Wants Value:[\"kubepods-besteffort.slice\"]} {Name:MemoryAccounting Value:true} {Name:CPUAccounting Value:true} {Name:IOAccounting Value:true} {Name:TasksAccounting Value:true} {Name:DefaultDependencies Value:false}]): Unit kubepods-besteffort.slice not found." pod="cattle-system/cattle-node-agent-5rh5f" podUID=0a4636ed-b50e-4ca2-a797-14f6db644295
E0512 18:13:40.500851  465765 summary_sys_containers.go:83] "Failed to get system container stats" err="failed to get cgroup stats for \"/kubepods.slice\": failed to get container info for \"/kubepods.slice\": unknown container \"/kubepods.slice\"" containerName="/kubepods.slice"

Expected Result

cluster should restore without issue
Screenshots

Additional context

no problem for similar use case on rke2

@slickwarren I see the kubelet logs are showing the container runtime network and cni config not ready. Rancher will sometimes reconcile this, did an etcd snapshot ever work for you on rke1? Even if you tried a second time? Have you ever seen this issue on previous rancher versions?

An etcd snapshot + restore on 1 node each role and no cluster / fleet agent changes seemed to work fine
I have not seen this on previous versions
I no longer have access to this setup

@slickwarren Gotcha! I am also unable to repro the issue you saw above on an rke node driver cluster on EC2 nodes. I didn't see any abnormal issues at all.
Repro steps

On rainbow v2.7-head cluster (c842598), run 2 cp/3 etcd/2 worker rke node driver cluster on EC2 nodes with agent customization
Take a snapshot
Remove agent customization
Restore cluster to earlier snapshot

Snapshot taken successfully.

Rancher logs
2023/05/15 22:06:56 [INFO] [etcd] Finished saving snapshot [c-hpj8c-ml-ss2x5_2023-05-15T22:06:35Z] on all etcd hosts
2023/05/15 22:06:56 [INFO] Finished saving/uploading snapshot [c-hpj8c-ml-ss2x5_2023-05-15T22:06:35Z] on all etcd hosts

I removed agent customization from cluster and attempted to restore to earlier snapshot.

rancher UI

Logs - look as expected
2023/05/15 22:08:20 [INFO] Creating system token for u-ebv2p2gthq, token: agent-u-ebv2p2gthq
2023/05/15 22:13:21 [INFO] clusterDeploy: redeployAgent: redeploy Rancher agents due to agent customization mismatch for [c-hpj8c], was [&{[] nil nil}] and will be [&{[{tolerate/control-plane Exists  NoSchedule <nil>}] &Affinity{NodeAffinity:&NodeAffinity{RequiredDuringSchedulingIgnoredDuringExecution:&NodeSelector{NodeSelectorTerms:[]NodeSelectorTerm{NodeSelectorTerm{MatchExpressions:[]NodeSelectorRequirement{NodeSelectorRequirement{Key:not.this/nodepool,Operator:NotIn,Values:[true],},},MatchFields:[]NodeSelectorRequirement{},},},},PreferredDuringSchedulingIgnoredDuringExecution:[]PreferredSchedulingTerm{},},PodAffinity:&PodAffinity{RequiredDuringSchedulingIgnoredDuringExecution:[]PodAffinityTerm{},PreferredDuringSchedulingIgnoredDuringExecution:[]WeightedPodAffinityTerm{},},PodAntiAffinity:&PodAntiAffinity{RequiredDuringSchedulingIgnoredDuringExecution:[]PodAffinityTerm{},PreferredDuringSchedulingIgnoredDuringExecution:[]WeightedPodAffinityTerm{},},} &ResourceRequirements{Limits:ResourceList{cpu: {{750 -3} {<nil>} 750m DecimalSI},memory: {{891289600 0} {<nil>} 850Mi BinarySI},},Requests:ResourceList{cpu: {{500 -3} {<nil>} 500m DecimalSI},memory: {{524288000 0} {<nil>} 500Mi BinarySI},},}}]

UI looks correct as well. Unable to repro.

I am still able to reproduce this - v2.7-head (b04c942)
This time, i was able to repro by deploying a cluster with no cluster / fleet agent customizations, updating it to include some customizations, then restoring to the original.
@jakefhyde was also able to reproduce it

I will try the reverse and hopefully will be able to repro

@jakefhyde was able to reproduce this issue on rke and confirmed that it's the same root cause as SURE-5769 and that agent customization is unrelated.

This issue has been around for a while (at least since 2.6.6) and will require a rather deep fix that we're not comfortable doing for the Q2 release given the release timeline due to regression concerns.
@jakefhyde to post notes on workaround to release note for Q2.

Workaround
When the cluster gets into this state, containers from previous pods will become orphaned on downstream nodes. In order to fix this, a docker restart kubelet should be run on each affected worker node, which will trigger the orphaned containers to be removed.

After having the discussion with @jiaqiluo, we are removing the release blocker label because this issue is not a release blocker.

Workaround Method 2
Goal
Restart the kubelet container on affected worker nodes (see the Caveat below before applying)
Approach
We can trigger the recreation of the kubelet container by modifying kubelet's configuration. We can do so by editing the cluster as YAML in Rancher UI.
Steps:

on the Cluster Management page,  find and choose "Edit config" on the target cluster
in the "Cluster Options" section, choose "Edit as YAML"
add/remove/change any value under the etra_args or extra_env section under rancher_kubernetes_engine_config.services.kubelet
save the change to trigger the cluster to upgrade
wait for the cluster to finish the upgrade and become active

Example values:
rancher_kubernetes_engine_config:
  services:
    kubelet:
      extra_env:
        - env1=val1
      extra_args:
        v: 4
      fail_swap_on: false
      generate_serving_certificate: false

Results:
The kubelet containers on all nodes are recreated to apply the new configuration.
Caveats:

This approach results in the recreation of the kubelet container on all nodes, not only worker nodes. Rancher handles the process to ensure zero downtime, just like for any other normal editing or updating of the cluster.
If you prefer to use the extra_args blob, be sure both the arg(ie. option) and its value are valid. Please refer to the K8s documentation for available options: https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/

Root cause
The kubelet container does not restart on the worker-only node of the RKE1 node-driver cluster after performing an etcd snapshot restore, which causes chaos and unexpected behaviors because of the stale cache inside the container.
What was fixed, or what changes have occurred
A new environment variable, CATTLE_ETCD_RESTORE_GENERATION=<some-value>, is added or updated in the node plan for the kubelet process (container) when a restore is performed. This allows the node agent to detect a change in the node plan and redeploy the kubelet container with the new plan during the upgrading process after the etcd restore is finished.
The kubelet containers on the etcd and control plane node are restated by RKE during the restore process.
Areas or cases that should be tested

etcd snapshot restore on RKE1 node-driver clusters
kubelet-related configurations update on RKE1 node-driver clusters

What areas could experience regressions?

etcd snapshot restore - Generally speaking, the fix affects only the etcd snapshot restoring; I do not think and did not see any regression during my development and dev-validation. but I still suggest QA to perform the regression validation.
regular cluster editing & upgrading - the extra env should be preserved if it was added

Are the repro steps accurate/minimal?
yes.

can be validated in the latest v2.8-head

Automation note: This should be covered under some recent changes to the automation framework.

Ticket #41547 - Test Results - ✅

Scenario
Test Case
Result

1.
Snap restore
PASS

Verified with HA Helm on Rancher v2.8-head:
Scenario 1: Snap restore

Create a rke1 9 node downstream cluster
Take a snapshot
Restore a snapshot
Repeat steps 2-3 5 times

Results: All snapshots successfully restored


[Bug]: Multi-treatment data creation bug

Describe the bug
If one want to create an object for a multi-treatment problem, in which each time just a 1-dimensional parameter theta_j for the treatment j  is predicted including the rest of treatments /j with the set of covariates X, it outputs an error asking for the use of the option use_other_treat_as_covariate even though it is by default True.
Minimum reproducible code snippet
import numpy as np
import pandas as pd
import doubleml as dml

from doubleml.datasets import fetch_401K

dtypes = data.dtypes
dtypes['nifa'] = 'float64'
dtypes['net_tfa'] = 'float64'
dtypes['tw'] = 'float64'
dtypes['inc'] = 'float64'
data = data.astype(dtypes)

features_base = ['age', 'inc', 'educ', 'fsize', 'marr',
                 'twoearn', 'db', 'pira', 'hown']

# Initialize DoubleMLData (data-backend of DoubleML)
data_dml_base = dml.DoubleMLData(data,
                                 y_col='net_tfa',
                                 d_cols=['e401', 'pira'],
                                 x_cols=features_base,
                                 use_other_treat_as_covariate=True)

Expected Result
I would expect a successful creation of the data object.
Actual Result

ValueError                                Traceback (most recent call last)
Cell In[6], line 5
1 features_base = ['age', 'inc', 'educ', 'fsize', 'marr',
2                  'twoearn', 'db', 'pira', 'hown']
4 # Initialize DoubleMLData (data-backend of DoubleML)
----> 5 data_dml_base = dml.DoubleMLData(data,
6                                  y_col='net_tfa',
7                                  d_cols=['e401', 'pira'],
8                                  x_cols=features_base,
9                                  use_other_treat_as_covariate=True)
File ~/first_env/lib/python3.8/site-packages/doubleml/double_ml_data.py:151, in DoubleMLData.init(self, data, y_col, d_cols, x_cols, z_cols, t_col, use_other_treat_as_covariate, force_all_x_finite)
149 self.t_col = t_col
150 self.x_cols = x_cols
--> 151 self._check_disjoint_sets_y_d_x_z_t()
152 self.use_other_treat_as_covariate = use_other_treat_as_covariate
153 self.force_all_x_finite = force_all_x_finite
File ~/first_env/lib/python3.8/site-packages/doubleml/double_ml_data.py:634, in DoubleMLData._check_disjoint_sets_y_d_x_z_t(self)
631 # note that the line xd_list = self.x_cols + self.d_cols in method set_x_d needs adaption if an intersection of
632 # x_cols and d_cols as allowed (see https://github.com/DoubleML/doubleml-for-py/issues/83)%3C/span%3E)
633 if not d_cols_set.isdisjoint(x_cols_set):
--> 634     raise ValueError('At least one variable/column is set as treatment variable (d_cols) and as covariate'
635                      '(x_cols). Consider using parameter use_other_treat_as_covariate.')
637 if self.z_cols is not None:
638     z_cols_set = set(self.z_cols)
ValueError: At least one variable/column is set as treatment variable (d_cols) and as covariate(x_cols). Consider using parameter use_other_treat_as_covariate.
Versions
Linux-4.15.0-194-generic-x86_64-with-glibc2.17
Python 3.8.2 (default, Feb 26 2020, 14:31:49)
[GCC 6.3.0 20170516]
DoubleML 0.6.1
Scikit-Learn 1.2.2

Thank you for reporting this.
To fix your issue you simply have to exclude all treatment variables from the covariates.
import numpy as np
import pandas as pd
import doubleml as dml

from doubleml.datasets import fetch_401K
data = fetch_401K(return_type='DataFrame')

dtypes = data.dtypes
dtypes['nifa'] = 'float64'
dtypes['net_tfa'] = 'float64'
dtypes['tw'] = 'float64'
dtypes['inc'] = 'float64'
data = data.astype(dtypes)

features_base = ['age', 'inc', 'educ', 'fsize', 'marr',
                 'twoearn', 'db', 'hown']

# Initialize DoubleMLData (data-backend of DoubleML)
data_dml_base = dml.DoubleMLData(data,
                                 y_col='net_tfa',
                                 d_cols=['e401', 'pira'],
                                 x_cols=features_base,
                                 use_other_treat_as_covariate=True)

The option use_other_treat_as_covariate is used to internally define treatment and covariates.
For each treatment the covariates are adjusted, see https://github.com/DoubleML/doubleml-for-py/blob/4ced5e33b3a638a26eea2659d22ac6fb6880369a/doubleml/double_ml.py#L514 and
https://github.com/DoubleML/doubleml-for-py/blob/4ced5e33b3a638a26eea2659d22ac6fb6880369a/doubleml/double_ml_data.py#L570
To show that this is working as inteded you can extend your example with
from sklearn.linear_model import LinearRegression
dml_plr_obj = dml.DoubleMLPLR(data_dml_base, ml_l=LinearRegression(), ml_m=LinearRegression())
dml_plr_obj.fit(store_models=True)

# consider the model for the outcome with treatment 'e401', first repetition, first fold
single_linear_model = dml_plr_obj.models['ml_l']['e401'][0][0]
print(single_linear_model.n_features_in_)

This should return 9 since the base features plus 'pira' since it is used as a covariate for the treatment 'e401'.
Further, if you want to exactly check this you can verify the predictions (but you only can compare the out-of-sample predictions of the cross-fitting)
# create the corresponding subsample
subsample = dml_plr_obj.smpls[0][0][1]
df_subsample = data[features_base + ['pira']].iloc[subsample]
print(single_linear_model.predict(df_subsample))
print(dml_plr_obj.predictions['ml_l'][:, 0, 0][subsample])

Both predictions should be equal.

I hope this could solve your issue. I will close this issue now.


Swipe up and Down

Is there already a branch or sth. where swiping up and down is already implemented? Or could anyone give ma an idea how to implement these events?
ty

Hi, did you get solution to this ? I'm also searching for the same.


fix some of AbstractPlatform inheritors that preventing \PDO disconnect

Fix #387
Removed \PDO dependence of Platform classes.

This repository has been closed and moved to laminas/laminas-db; a new issue has been opened at https://github.com/laminas/laminas-db/issues/4.

This repository has been moved to laminas/laminas-db. If you feel that this patch is still relevant, please re-open against that repository, and reference this issue. To re-open, we suggest the following workflow:

Squash all commits in your branch (git rebase -i origin/{branch})
Make a note of all changed files (`git diff --name-only origin/{branch}...HEAD
Run the laminas/laminas-migration tool on the code.
Clone laminas/laminas-db to another directory.
Copy the files from the second bullet point to the clone of laminas/laminas-db.
In your clone of laminas/laminas-db, commit the files, push to your fork, and open the new PR.
We will be providing tooling via laminas/laminas-migration soon to help  automate the process.


Cleanup some orphan tests file

There are a lot of orphan test files and I'm cleaning up some of them.
Summary:

removed instrumentation test dependencies from example test app
Removed not referenced androidTest util classes from example test app
Removed useless ApplicationTest from library

Yeah makes sense, I'll prepare a new PR

Thanks!


Issue on Mobile Browser

Describe the bug
I am currently using flutter web. In the desktop browser, the streaming is working well. But In the mobile browser, the streaming is not showing.
To Reproduce
Steps to reproduce the behavior:

Start video streaming in the mobile browser
Start video streaming in the desktop browser
In the desktop browser, the video and audio coming from my mobile browser can be seen and heard in the desktop browser
But on the mobile side, the RtcLocalView and RtcRemoteView are displaying blank. no audio and video.

Thank you!

We do not test on mobile devices already. It is the next plan.

We do not test on mobile devices already. It is the next plan.

Hello @LichKing-2234 , when do you think you will make it work on a mobile browser? So we can assess if we will push thru on using agora or not. thank you so much!

Hi @LichKing-2234 , any updates about this issue ? We're facing the same problem with agora_rtc_engine: ^5.1.0, after deploying our web app video chat feature is working well with desktop web agora but not on mobile browser !

@LichKing-2234 , we're still waiting for a reply on this issue, agora still not working on a recent chrome mobile browser after deployment of the web app !

It works fine if  user uses the "desktop version" option in the mobile browsers. (I tried chrome safari). Fyi developer team.

Any update?
It is required for my app.


[Feature Request] Turn off Specific Actions

It would be really useful to be able to ignore specific actions from being automatically handled by this module. For example, depending on other modules in use, Guidance might get applied automatically twice to the same target in the same casting.
A way to "turn off" specific spells/actions for this module would make the compatibility much nicer with other modules.

It would be possible with https://foundryvtt.com/packages/pf2e-automations, with this module it's impossible


The method "  setup(props, context) " of the parent component does not be called.

Version
3.0.2
Steps to reproduce
parent component
  created() {
    console.log("created base");
  },
  setup(props, context) {
    console.log("setup base");
  }
}

child component
import SDBase from "../../base/src/index.vue";

  extends: SDBase,
  created() {
    console.log("created child");
  },
  setup(props, context) {
    console.log("setup child");
  }
}

Google Chrome console:

What is expected?
The method "  setup(props, context) " of the parent component can be called.
What is actually happening?
The method "  setup(props, context) " of the parent component does not be called.

This is expected behavior. setup() is not part of the options API and is excluded from any form of options-based composition/inheritance.
If you use setup(), composition should happen via Composition API.


Character Interactions Broken On Android, Auto Selecting Cards Soft Locks Your Game, Song Pause not working, Last Song Played Not Saving (Android and PC) Micro Stuttering on Higher End Android Pones?

srry about the 20 some min video but this is the best i can do and show all the bugs ive seen
https://youtu.be/8WH21aG2uus
time stamps for all the bugs seen
[0:00] [1:12] - Character Interactions Broken On Android.
[1:12] - [4:50] - Auto Selecting Cards Soft Locks Your Game.
[4:50] - [7:30] - Screen Rotate 180 When Starting Song/Pause Song Not Working.
[7:30] - [14:06] - Micro Stuttering on Higher End Android Phones?
[14:07] - [20:13] - Last Song Played Not Saving (Android and PC)
seems like my iphone didnt export in 60FPS and i redid the part on the micro stuttering - https://youtu.be/tVMUDq6SiIA

Menu last played issue already reported:
https://github.com/Xele02/UMO/issues/144

Menu last played issue already reported: #144

yes i know. i added it for the YT video so ppl that r just seeing this for the first time know what to expect.

Menu last played issue already reported: #144

yes i know, but its a good thing to have more then one person having a bug show up. i added it for the YT video so ppl that r just seeing this for the first time know what to expect.

Yeah, but it's easier for me to have one issue by bug (eaiser to track which one is fixed), and if the bug already exist, add more info in comment. But thanks anyway for the report.


bug in generator

currently we're not able to use model.fit_generator(generator).
Info:
 ValueError: No data provided for "input_15". Need data for each key in: ['input_15', 'input_16']
/.local/lib/python3.6/site-packages/keras/engine/training_utils.py:

when calling:
    def fit_generator(
        self,
        generator: 'BaseGenerator',
        steps_per_epoch: int = None,
        epochs: int = 1,
        verbose: int = 1
    ) -> keras.callbacks.History:
        """
        Fit the model with matchzoo `generator`.

        See :meth:`keras.models.Model.fit_generator` for more details.

        :param generator: A generator, an instance of :class:`PointGenerator`,
            :class:`PairGenerator` or :class:`ListGenerator`.
        :param steps_per_epoch: Total number of steps (batches of samples)
            to yield from :attr:`generator` object.
        :param epochs: Number of epochs to train the model.
        :param verbose: Verbosity mode. 0 = silent, 1 = progress bar,
            2 = one line per epoch.

        :return: A `keras.callbacks.History` instance. Its history attribute
            contains all information collected during training.
        """
        return self._backend.fit_generator(generator=generator,
                                           steps_per_epoch=steps_per_epoch,
                                           epochs=epochs,
                                           verbose=verbose)

Reason could be the id fields.
Reproduce, check out to branch feature/fit-generator, modify dssm integration test, call dssm.fit_generator(generator).

I will fix it very soon.

@faneshion Done in #284


html entities?

can you add an option to remove things like &nbsp ?

Bumpppp

Hey! Didn't realize I had missed this - I am not planning on making any changes to this library that fall outside of the basic behavior of PHP's strip_tags function, which this library is based on.


Fix for "gradlew clean assemble"

can't get the same task to run more than once so as a quick fix
just duplicated the copyAndroidMk task
GearVRf-DCO-1.0-Signed-off-by: Mihail Marinov<EMAIL_ADDRESS>

@rahul27 this fixes your problem in AS

:+1: Works


Review feedback

@tim-kos I have made changes based on the review feedback you gave. Happy to hear your thoughts when you get the time to have a look.

Love all of it. Let's merge it, and then launch the Python SDK officially and move it to the transloadit organization. :)


Error running rule requireDollarBeforeJqueryAssignment

Not sure what's going on here but the following error is showing up on a file that starts wit:
/**
 * Combine all reducers in this file and export the combined reducers.
 * If we were to do this in store.js, reducers wouldn't be hot reloadable.
 */

Here's the error:

Can't repro with this example

I’ve also run into this issue with JSCS 3.0.5 and found a reduced test case that triggers the error:
export default function openPage (state, payload = {}) {
    const pageProps = {
        ...payload,
        focused: true
    };
    return state.push(pageProps);
}

Specifically, the error is triggered by adding the object spread (...payload,) to the object literal. I also noticed that the --fix part of the JSCS linter still works when it generates this error.

Also, the stack trace:
internalError Error running rule requireDollarBeforejQueryAssignment: This is an issue with JSCS and not your codebase.
Please file an issue (with the stack trace below) at: https://github.com/jscs-dev/node-jscs/issues/new
TypeError: Cannot read property 'name' of undefined
    at /Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:142:30
    at Array.forEach (native)
    at Object. (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:139:23)
    at Array.forEach (native)
    at Object.JsFile.iterateNodesByType (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/js-file.js:331:42)
    at Object.module.exports.check (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:72:14)
    at [object Object]. (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:189:22)
    at Array.forEach (native)
    at [object Object].StringChecker._checkJsFile (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:185:31)
    at [object Object].StringChecker.checkString (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:92:14)
    at Object.lint (/Users/brandcast/.atom/packages/linter-jscs/src/linter-jscs.js:207:14)
    at promises.push.Promise.then._this.emitter.emit.linter (/Users/brandcast/.atom/packages/linter/lib/linter-registry.js:63:26)
    at /Users/brandcast/.atom/packages/linter/lib/linter-registry.js:62:23
    at Set.forEach (native)
    at LinterRegistry.lint (/Users/brandcast/.atom/packages/linter/lib/linter-registry.js:60:18)
    at /Users/brandcast/.atom/packages/linter/lib/linter.coffee:98:16
    at Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at /Users/brandcast/.atom/packages/linter/lib/editor-linter.js:30:20
    at Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at TextBuffer.module.exports.TextBuffer.saveAs (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1113:27)
    at TextBuffer.module.exports.TextBuffer.save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1083:19)
    at TextEditor.module.exports.TextEditor.save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/text-editor.js:660:26)
    at Pane.module.exports.Pane.saveItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/pane.js:718:18)
    at Pane.module.exports.Pane.saveActiveItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/pane.js:701:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/workspace.js:684:35)
    at atom-workspace.commandRegistry.add.core:save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:214:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument. (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)at line 1 col 1

Hm, works for me, could you try again, if it still doesn't work would you mind creating separate issue about it?


Invite users to team

issue #619

ready for review

I did the refactoring, let me know what you think.
We haven't refactor controllers/teams/* yet.
We might do this once the copa america is over.


Profiling django's dev server

Hello,
I tried to profile django's dev server with profiling live-profile manage.py runserver, but without success. The viewer seems that is showing only calls for bootstrapping django. Nothing happens as requests are made to the server. Am I missing something? Or is what I am trying to do currently not supported?

Would you try again with Sampling Profiler by -S option?  If Profiling still fails, please let me reproduce this issue by some example project.

I can confirm that $ profling live-profile -S manage.py runserver is not working. Neither $ profiling live-profile -S manage.py -- runserver. In both cases I get a "- Not Available-" message, and when Ctrl-C, I can see an Exception Error: 'NoneType' object is not callable because the process can not import the project settings file.
Probably has to do with the scope under it's being executed.

Would you try again with Sampling Profiler by -S option? If Profiling still fails, please let me reproduce this issue by some example project.

Running profiling live-profile -S manage.py runserver no calls are shown in the viewer (is shows '- Not Available - ') and if I hit the enter key I get the following traceback:
Traceback (most recent call last):
  File "/path/to/python/virtual/environment/bin/profiling", line 9, in <module>
    load_entry_point('profiling==0.0.0.dev0', 'console_scripts', 'profiling')()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/__main__.py", line 523, in wrapped
    return f(**kwargs)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/__main__.py", line 500, in wrapped
    return f(profiler_factory=profiler_factory, **kwargs)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/__main__.py", line 634, in live_profile
    loop.run()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 278, in run
    self._run()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 376, in _run
    self.event_loop.run()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 682, in run
    self._loop()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 719, in _loop
    self._watch_files[fd]()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/raw_display.py", line 393, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/raw_display.py", line 493, in parse_input
    callback(processed, processed_codes)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 403, in _update
    self.process_input(keys)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/main_loop.py", line 503, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/urwid/decoration.py", line 621, in keypress
    return self._original_widget.keypress(maxvals, key)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/viewer.py", line 717, in keypress
    self.viewer.pause()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/viewer.py", line 827, in pause
    self._paused_result = self._final_result
AttributeError: 'StatisticsViewer' object has no attribute '_final_result'

Perhaps the traceback above is just some unhandled case when not having results to show, but I am reporting it nevertheless.

Reproducing this is fairly easy: Just start a new project (with django-admin startproject exampleproject) and run profiling live-profile [-S] manage.py runserver. It is likely that you get a traceback with an error like "ImportError: No module named 'exampleproject'". I am not sure with this is happening when running manage.py through profiling, but you can workaround it by adding the following 2 lines in the manage.py script:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
sys.path.append(BASE_DIR)

The AttributeError is fixed at 34a61b02855986a8c6acf82cf914607f298453bf.  Thanks to report it.
Now I'm trying to reproduce the Django issue.

I fixed the ImportError at df2fc23d5afbad33b78e829a31971b8145539106.
But I got an "Interrupted system call" error when a viewer activates.  I guess that Django's auto-reload behavior is incompatible with our Profiling server.  If you don't use the auto-reloader, Profiling seems to work well:
$ profiling live manage.py runserver -- --noreload

-- before --noreload is necessary.  It separates --noreload from the Profiling's argument parser.

With profiling live manage.py runserver -- --noreload, I got some activity related to django's built-in server, but there were no calls related to the actual requests made to the server. I had to pass the option '--nothreading' to django's runserver command to get profiling stats for calls related to requests. Are multithreaded applications not supported?
Sampling profiler with profiling live -S manage.py runserver -- --noreload still does not work, but this time exiting the profiling gives a max recursion traceback:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py", line 868, in run
    self._target(*self._args, **self._kwargs)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/remote/__init__.py", line 230, in connected
    self._start_profiling()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/remote/select.py", line 44, in _start_profiling
    self.profile_periodically()
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/remote/select.py", line 47, in profile_periodically
    for __ in self.profiling():
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/remote/__init__.py", line 185, in profiling
    pickle_protocol=self.pickle_protocol)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/remote/__init__.py", line 62, in pack_msg
    pickle.dump(msg, dump, pickle_protocol)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 250, in __reduce__
    return FrozenStatistics.reduce_stats(self)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 147, in reduce_stats
    members = [getattr(stats, attr) for attr in cls.__slots__]
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 147, in <listcomp>
    members = [getattr(stats, attr) for attr in cls.__slots__]
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <genexpr>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
  File "/path/to/python/virtual/environment/lib/python3.4/site-packages/profiling/stats.py", line 260, in <lambda>
    deep_time = property(lambda x: sum(s.deep_time for s in x), _ignore)
RuntimeError: maximum recursion depth exceeded while calling a Python object

Profiling should support multithreading.
To debug the problem, I need to make a Django application calculating a factorial number.  But I don't know about Django at all.  Can you teach me how can I make it?
GET /{n} -> factorial of n

By the way, I'll re-implement deep_time without recursion to fix the RuntimeError soon.

To debug the problem, I need to make a Django application calculating a factorial number. But I don't know about Django at all. Can you teach me how can I make it?

Sure.
You may create a django project  with django-admin startproject factorial. Then, in the inner 'factorial' directory (where urls.py, settings.py, etc. exist) create a 'views.py' file that looks like this:
from django.http import HttpResponse
import math

def factorial(request, n):
    n = int(n)
    return HttpResponse(math.factorial(n))

Last, make the 'urls.py' file look like this:
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^(?P<n>[0-9]+)', views.factorial),
]

I fixed the recursion error at f8f0bc7844fc694361b88f9606d5a5cd6fd2e6ee. Would you try to profile again?

Originally, ProfilingServer excluded its threading code to avoid some of profiling pollution.  But it excluded Django's threading code also.
I should consider the excluding behavior again.  Currently, I just made ProfilingServer to not exclude anything at 75afa81b680928da77683ac024acbc9e8dadcd3e.  Now profiling live shows the business logic in my Django application without --nothreading option.

@Ernest0x Please give me some feedback?

profiling live -S manage.py runserver -- --noreload (sampling profiler) still gives maximum recursion runtime error but with a differenct traceback this time:
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py", line 868, in run
    self._target(*self._args, **self._kwargs)
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/remote/__init__.py", line 222, in connected
    self._start_profiling()
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/remote/select.py", line 44, in _start_profiling
    self.profile_periodically()
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/remote/select.py", line 47, in profile_periodically
    for __ in self.profiling():
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/remote/__init__.py", line 177, in profiling
    pickle_protocol=self.pickle_protocol)
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/remote/__init__.py", line 60, in pack_msg
    pickle.dump(msg, dump, pickle_protocol)
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/stats.py", line 284, in __reduce__
    return FrozenStatistics.reduce_stats(self)
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/stats.py", line 181, in reduce_stats
    members = [getattr(stats, attr) for attr in cls.__slots__]
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/stats.py", line 181, in <listcomp>
    members = [getattr(stats, attr) for attr in cls.__slots__]
  File "/path/to/python/virtual/env/lib/python3.4/site-packages/profiling/stats.py", line 239, in module
    module = inspect.getmodule(self.code)
  File "/usr/lib/python3.4/inspect.py", line 612, in getmodule
    file = getabsfile(object, _filename)
  File "/usr/lib/python3.4/inspect.py", line 595, in getabsfile
    _filename = getsourcefile(object) or getfile(object)
  File "/usr/lib/python3.4/inspect.py", line 583, in getsourcefile
    if getattr(getmodule(object, filename), '__loader__', None) is not None:
  File "/usr/lib/python3.4/inspect.py", line 612, in getmodule
    file = getabsfile(object, _filename)
  File "/usr/lib/python3.4/inspect.py", line 596, in getabsfile
    return os.path.normcase(os.path.abspath(_filename))
  File "/usr/lib/python3.4/posixpath.py", line 357, in abspath
    if not isabs(path):
  File "/usr/lib/python3.4/posixpath.py", line 62, in isabs
    sep = _get_sep(s)
RuntimeError: maximum recursion depth exceeded

profiling live manage.py runserver -- --noreload now works without passing --nothreading, but it is very slow. A request that takes ~1 sec, will take 1.2 mins when run through the profiler.

I'm going to fix the new recursion error.
The performance loss was probably caused by using TracingProfiler instead of SamplingProfiler.  Try again with -S option.

@Ernest0x I re-implemented Pickle integration without any recursive call.  Perhaps your recursion issue has been fixed.  See 47de3919532f1ce8073fa0d9b590b7c9f070ce0f.

@Ernest0x I re-implemented Pickle integration without any recursive call. Perhaps your recursion issue has been fixed. See 47de391.

Yes, the recursion issue has been fixed and the sampling profiler now works. Thanks. It is also very quick. So quick that live profiling of fast server responses is almost impossible as they disappear very quickly from the viewer :). Perhaps it would be a nice feature to make the viewer's output persistent.

@Ernest0x You can use -i option to adjust update interval.  It's default value is 1 second which can be too fast for some applications.
$ profiling live -i 5 manage.py runserver -- --noreload


Mitigate robot explosions

[ ] setting CFM to something like 1e-4
[ ] running the simulation at 16 or 8 ms timesteps
[ ] turn off self_collision

@Adimote are you likely to get to doing this soon? If not, I was wondering whether this would make a good intro task for someone -- it feels like it's a relatively well defined task.

I believe we think this is now sorted?
Specifically, https://github.com/srobo/competition-simulator/pull/230 replaced #215.
Calling this done for now. We can re-open or have a new issue if it reappears.


Incorrect definition for Date.UTC

es5.d.ts Update Request
Incorrect Definition
According to spec, the static method Date.UTC's second argument (monthIndex) should be optional, but in es5.d.ts, it isn't:
https://github.com/microsoft/TypeScript/blob/d5d9171909ad1a8fafe1012239e60a9446d1a628/src/lib/es5.d.ts#L929)
Sample Code
Date.UTC(2023); // should be valid

Documentation Links
MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC#syntax
ECMAScript Spec: https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date.utc

Note that this is es5.d.ts, so it cannot encode ES2017+ semantics. However, I'm not sure if declaration merging allows overriding the optionality of parameters.

Declaration merging creates overloads IIRC, so that should be allowed.


No source code?

The README says that source code will be 'available soon'. When can this be expected?

Hi, codes are available now. Thanks for your interest.


Mass of root link ignored in computeTotalMass?

Spotted by @oliwiermelon
Is there a reason the mass of the root link is ignored in the computeTotalMass and computeSubtreeMasses algorithms?
E.g. here the iteration starts with the 1st inertia and not the 0th:
https://github.com/stack-of-tasks/pinocchio/blob/820d0f85fbabddce20924a6e0f781fb2be5029e9/src/algorithm/center-of-mass.hxx#L21

The joint 0 corresponds to the universe. In other words, its mechanical and physical properties are not taken into accounts for all the algorithms such as CBRA, RNEA, etc.
To comply with this setting, we decided to not account for it when computing the total mass of the system, because this mass is not moved by the system when performing motions.
It is then easy to add the universe mass if you need after calling this algorithm. What do you think @wxmerkt?

I had a suspicion that some algorithm places an assumption on skipping the 0th joint, thanks for the explanation!
I realised that the issue was that we did not specify JointModelFreeFlyer() upon creation. Hence, everything works as expected :-).

Sounds perfect. Thanks for the feedback.


Weapon encumbrance

There's several ways of doing weapon encumbrance:

For each weapon, add a linked field above the rest of the gear where you can set encumbrance and readied/stowed/other status. Pro: everything that affects encumbrance is in one place. Con: It's not in the same place as the weapon itself. <- (my personal favourite)
Set Enc and status directly on the weapon. Pro: everything about a weapon is in the same place. Con: stuff that affects encumbrance is spread all over the sheet.
Both 1) and 2). Pro: combined Pros of 1) and 2). Con: having linked fields in two different places might be confusing.
Both 1) and 2), but make the info in the gear section read-only.

Opinions?

I'm with you on Option #1

Closed by b96332e (unless we decide this solution is not good enough).


Nasa gsfc soilmoisture patch 1

Fix errors as suggested from Justin

Create a folder
Shorten title name
Create markdown name as index.md
Closes #648

Hung,
Thanks for making the changes listed in #648!
Additionally, two initial things are needed to get test to pass:

the author field in the header yaml needs to be a GitHub account name – probably nasa-gsfc-soilmoisture (?)

You can make this change by going to the index.md file, clicking the pencil edit icon and editing the author field, and then committing the change – it will show up automatically in this PR.

You need to sign the CLA – see instructions here.

Justin,
Updates from my side

changed author field as github account name (nasa-gsfc-soilmoisture)
signed CLA
Please let me know what are the next steps?

Thanks,
Hung

Thanks for the change on the author field.
It looks like there is still a problem with the CLA (check failed). See the section on **Help! I've signed the CLA, but it's still showing me as unsigned.
** for suggestions to resolve.


Project: DocAssistant - AI powered app for answering questions for any documentation or documents

Project name
DocAssistant
Description
DocAssistant is the ultimate co-pilot for anyone who wants to breeze through documentation and get to the heart of what matters.
With this cutting-edge app, you'll no longer need to spend endless hours poring over lengthy manuals or technical documentation. Simply upload your document, ask the questions that matter most to you, and let DocAssistant do the heavy lifting. It's as easy as that!
DocAssistant's intuitive interface makes it easy to scan and upload documents from a variety of sources. Whether you're working with a PDF file, an image, or even a repository from GitHub, DocAssistant is up to the task.
And for tech-savvy users who prefer to work with .md files, DocAssistant has got you covered. With the upload.git command, you can quickly and easily download an entire repository, DocAssistant will download all .md files from the repository, use it as a knowledge base to get the answers you need in a snap.
So if you're looking for a powerful tool to help you stay on top of your documentation game, look no further than DocAssistant. It's the ultimate co-pilot for anyone who wants to get the most out of their documentation without the headaches and hassles.
It all works thanks to the new Microsoft cognitive services Azure Open AI service, which was presented at Microsoft Build and for the fine-tuned of our model based on GPT-3.5 Turbo with with the generated greate context, system prompt and examples, parameters, for communicating with the model, which were varied and supplemented with code for each command. It was also necessary to use Azure Form Recognizer and Azure Bot, Azure App Service, App registration and other office 365 tools such as Teams Developer portal and so on in order to deploy the bot. The entire implementation of the project was done using .Net 7 in C# 11 and Microsoft.Bot.Builder 4.20.0.
I would also like to thank Alexander, our .net developer, business analyst and prompt designer Anastasia, and Margus, who was engaged in testing, for the all works that was done and sleepless nights.
Separately, I would like to thank Igor for the work he did in the video editing of this cool video, and Timofey, who helped us at the beginning of the project, unfortunately, due to lack of free time, he could not continue the hackathon with us.
Thank you for attention
Project Team:
Yurii Moroziuk – Project Lead /.Net Developer / DevOps
E-mail<EMAIL_ADDRESS>Credly: https://www.credly.com/users/yurii-moroziuk/badges
GitHub: https://github.com/YuriyMorozyuk95
Alexander Perebaskin - .Net Developer
E-mail<EMAIL_ADDRESS>Credly: https://www.credly.com/users/alexander-perebaskin/badges
GitHub: https://github.com/alx875
Margus Martsepp - QA
E-mail<EMAIL_ADDRESS>Credly: https://www.credly.com/users/margus-martsepp/badges
GitHub: https://github.com/margusmartsepp
Anastasiia Riabova – Business Analyst / Prompt and AI engineer
E-mail<EMAIL_ADDRESS>Credly: https://www.credly.com/users/anastasiia-riabova
Git Hub: https://github.com/Marzipanegg
Project References:
Project repository: https://github.com/YuriyMorozyuk95/DocAssistant
Project board: https://github.com/users/YuriyMorozyuk95/projects/2
GitHub Workflow action to deploy project: https://github.com/YuriyMorozyuk95/DocAssistant/actions/workflows/main_docassistant-api.yml
Project Repository URL
https://github.com/YuriyMorozyuk95/DocAssistant
Project video
https://youtu.be/FNM0-4_llHA
Team members
YuriyMorozyuk95, alx875, Marzipanegg, margusmartsepp

Thank you for your project submission @YuriyMorozyuk95, we are excited to check out your app! Meanwhile, if would you and your team be willing to fill out a short feedback survey? That'd help us learn from your experience and make it better next time: https://aka.ms/hack-together-teams/survey

Hi @waldekmastykarz I think this kind of app can be also marked as productivity app, as it make custumer support, more productive with answering question to customers etc. Or make people more productive with spending less time on reading documents or documentations.

Let's pick just one category, where you think the app shines the most. So far, we've picked all apps that use AI-related features to compete in the AI category but if you'd like to compete in the productivity category, we can certainly adjust it.

If we can pick just one category, then I think it should be definitely AI, thanks for answer)