[BUG] Do we need before_save & after_save ?

    before_create/2
    before_save/2
    inserting the record happens here: Repo.insert/1
    after_save/2
    after_create/2

Is it really useful to have before_save & after_save, I cannot see in which situation this would be needed, as we can put what we need in before_create.
I see that before_save is use on both update and insert, but still I don't see the use-case for this, could you shed some light?
My view is that if it's redundant it might be best to not have them.

When it purely comes to callbacks, I think before_save and after_save are useful when you need to do something no matter whether the record is new or existing. They are just a shortcut for implementing both *_insert and *_update.
For example, you want to send an email to the admins whenever the "status" of a post is "needs_review". You might create a new post with the "needs_review" status already selected, or maybe later after the post is published, you change the status to "needs_review" in which case you want to send an email to the admins.
Without after_save, you would have to implement both after_insert and after_update with the same logic.
Here is a link to rails callbacks and django signals to maybe provide detailed descriptions. I feel the ones we have now are more than enough, especially since ecto differs from rails/django models and how they validate and insert values into the database.

I'm interested to know your point of view since you've never used rails so you're not influenced by it as much as I am.

I now that this is a nice-to-have shortcut and in some cases it's a handy thing to use rather than having to write 2 callbacks functions, but sometime I also feel that simplicity is a feature of his own (especially for faced APIs to other developer).
I don't have a strong opinion about this, so I'm like 50/50.
I'm sorry this will have to be your call :)

It's very interesting when you describe things coming from a different background!
I actually lean towards keeping it, so it's going to stay. Also, since a lot of phoenix developers came from the rails world, I think it might be a welcome addition, albeit only in Kaffy and not phoenix.
This, however, makes me think that it needs a special description in the docs to explain it fully and clearly.
I almost went as far as having a visual "indication" in the resource form page that "this resource has defined callbacks" or something like this 🤔😅

Valid point!
I'm closing this issue, one less :)


RF chapter needs more precise notation

central quantities like the (OOB) risk for each tree, the average OOB risk of the ensemble, the OOB-observation set etc are not defined / do not have proper notation.
cf. #284

fixed in the current version


Media library upload: handle special characters in filenames (Umlaute)

Issue: Currently the upload to the media library just fails when the filename contains special characters (e.g. Umlaute).
Proposition: The filenames should be renamed automatically on upload to in order to fulfill the requirements.
(otherwise display a hint what the user can do in order to avoid frustration)

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


Updated code owners for spring data packages other than azure-spring-data-cosmos-core

Updated code owners for spring data packages other than azure-spring-data-cosmos-core

/check-enforcer override


How to use node-then-eos in swift :'(

Hi Guy,
I love your work.
But i have a problem, I wanna use node-then-eos in my xcode project. Just how :(
Huy.

You should write one.

I'm not kidding, I'm using react native (java script).
There are an error. Plz fix bro.
Huy.


Add theme Long Teng

After you have read the instructions for adding a theme, please make sure:

[x] your theme.toml is complete

[x] name
[x] license
[x] licenselink
[x] description
[x] homepage
[x] demosite (if one exists)
[x] tags
[x] features
[x] authors/author (depending on whether the theme has multiple or a single author)
[x] original (if the theme is a fork)

[x] you're using absolute paths for images in your README
[x] you've got appropriate thumbnail and screenshot images
[x] your theme comes with an appropriate license

Looks like error: jughead: no image found for "images/tn", some script issue.
8:22:18 AM: go: added github.com/jingplay/build-your-website v0.0.0-20241031094007-97f08d7e3aa3
8:22:19 AM: go: downloading github.com/mdfriday/theme-long-teng v0.0.0-20241117004800-842ceb5899df
8:22:20 AM: go: added github.com/mdfriday/theme-long-teng v0.0.0-20241117004800-842ceb5899df
8:22:20 AM: go: downloading github.com/michenriksen/hugo-theme-til v0.5.2
8:22:20 AM: go: added github.com/michenriksen/hugo-theme-til v0.5.2
8:22:21 AM: Get Hugo Modules, config "config.json"
8:22:21 AM: warn: failed to parse theme.toml for theme "github.com/Bonzdev/alexa-portfolio": toml: incomplete number
8:22:21 AM: warn: failed to parse theme.toml for theme "github.com/unicef/inventory-hugo-theme": toml: incomplete number
8:22:21 AM: Got Hugo Modules in 5768 ms
8:22:21 AM: Get GitHub repos
8:22:21 AM: Got GitHub repos in 2 ms
8:22:21 AM: Loaded 115012 bad hosts
8:22:22 AM: Failed during stage 'building site': Build script returned non-zero exit code: 2 (https://ntl.fyi/exit-code-2)
8:22:22 AM: Processed 519 themes.
8:22:22 AM: error: jughead: no image found for "images/tn"
8:22:22 AM: command error: build failed
8:22:22 AM: exit status 1
8:22:22 AM: go failed: exit status 1

I have the same problem in pull request #509

@sunwei, could you please rebase your branch against main branch & then do a push?

Thanks for reminding, all checks have passed.


Add custom Unmarshal to StateDiff struct

Fixes | Closes | Resolves #
Description
Current we use encoding/json to property unmarshal json to type map[string][]interface{} in StateUpdate. This is fine but we will require an extra step to convert the string key to a Felt key.
This pr aims to unmarshal to type map[Felt][]interface{} by having a custom UnmarshalJson logic
Changes:

add func (s *StateDiff) UnmarshalJSON(data []byte) error {

Types of changes

Other (please describe): Use custom UnmarshalJSON to unmarshal StateUpdate

Testing
Requires testing: Yes/No
Did you write tests??: Yes/No
Documentation
If this requires a documentation update, did you add one? Yes/No

I don't think this needs to be done in clients package.
GatewayClient should be wrapped in another struct that exposes DataSource API. That struct will be responsible of serving requests from all parts of our codebase. Essentially it will let GatewayClient do the networking and convert the response it gets (eg. clients.StateUpdate) to our core types (eg. core.StateUpdate)

I don't think this needs to be done in clients package.
GatewayClient should be wrapped in another struct that exposes DataSource API. That struct will be responsible of serving requests from all parts of our codebase. Essentially it will let GatewayClient do the networking and convert the response it gets (eg. clients.StateUpdate) to our core types (eg. core.StateUpdate)

sounds like it is related to this issue https://github.com/NethermindEth/juno/issues/495 . happy to take that on too seeing that they are related

Done in https://github.com/NethermindEth/juno/pull/501


Automated Package Upgrade

:tada: This PR is included in version 12.0.50 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add heart valve development terms

Add new terms:
abnormal heart valve development (a child of abnormal heart valve morphology MP:0000285 and abnormal heart development MP:0000267)
DEF: anomaly in the progression of a heart valve over time, from its formation to the mature structure
SYN: abnormal cardiac valve development
EQ: 'has part' some (quality and ('characteristic of part of' some ‘heart valve development') and ('has modifier' some abnormal))
Add new child terms:
abnormal atrioventricular valve development
DEF: anomaly in the progression of an atrioventricular valve over time, from its formation to the mature structure
SYN: abnormal AV valve development
abnormal mitral valve development
DEF: anomaly in the progression of the mitral valve over time, from its formation to the mature structure
SYN: abnormal bicuspid valve development
SYN: abnormal left atrioventricular valve development
SYN: abnormal left AV valve development
abnormal tricuspid valve development
DEF: anomaly in the progression of the tricuspid valve over time, from its formation to the mature structure
SYN: abnormal right atrioventricular valve development
SYN: abnormal right AV valve development
abnormal semilunar valve development
DEF: anomaly in the progression of a semilunar valve over time, from its formation to the mature structure
SYN: abnormal semi-lunar valve development
abnormal aortic valve development
DEF: anomaly in the progression of the aortic valve over time, from its formation to the mature structure
abnormal pulmonary valve development
DEF: anomaly in the progression of the pulmonary valve over time, from its formation to the mature structure
SYN: abnormal pulmonic valve development
abnormal sinoatrial valve development
DEF: anomaly in the progression of the sinoatrial valve over time, from its formation to the mature structure
SYN: abnormal sinuatrial valve development
SYN: abnormal SA valve development

Added new terms:
abnormal heart valve development MP:0031549
abnormal atrioventricular valve development MP:0031550
abnormal mitral valve development MP:0031551
abnormal tricuspid valve development MP:0031552
abnormal semilunar valve development MP:0031553
abnormal aortic valve development MP:0031554
abnormal pulmonary valve development MP:0031555
abnormal sinoatrial valve development MP:0031556
Check EQs of all new heart valve development terms added in terms of use of 'characteristic of' versus 'characteristic of part of'

Decision: All heart valve development terms added above should use 'characteristic of part of’ in their EQs.


How can I reference an individual LED on dothat?

Can I reference an individual backlight LED in the dothat library so I can get something like this? The rows are the individual lights, (R = Red, B = Blue)
[ 1 | 2 | 3 | 4 | 5 | 6 ]
[ R | B | R | B | R | B ]

you can address the backlight as leds as follows:
`set(index, value):
Set a specific LED to a value

Args:
    index (int): index of the LED from 0 to 18
    value (int): brightness value from 0 to 255`

they run as BGR zone 1, 0-2, BGR zone 2, 3-5, etc
so something like this would get zone 1-2 as RB
import dothat.backlight as backlight

backlight.set(2,128)
backlight.set(3,128)

Sorry, I was a bit unclear. Is it possible to do this with RGB?

@RogueM I found a single_rgb function in dot3k/library/dothat/single_rgb, Line 226. I can use it like so to solve my problem:
backlight.single_rgb(0, 209, 85, 66)
backlight.single_rgb(1, 66, 109, 209)
backlight.single_rgb(2, 209, 85, 66)
backlight.single_rgb(3, 66, 109, 209)
backlight.single_rgb(4, 209, 85, 66)
backlight.single_rgb(5, 66, 109, 209)

They should really document this.


New Release 2.10.2 (path)

:tada: This PR is included in version 2.10.2 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Questions in the dataset of the meshgraphnet

I have some questions about the data structure of the meshgraphnet, especially for CylinderFlow and Airfoil:
cells: [num_steps, num_nodes, num_dimensions(3, triangular mesh is combined with three nodes)]
mesh-pos: [num_steps, num_nodes, num_dimensions(2)]
node_type: [num_steps, num_nodes, num_dimensions(1)]
velocity: [num_steps, num_nodes, num_dimensions(2, x-direction velocity and y-direction velocity of each node)]
pressure: [num_steps, num_nodes, num_dimensions(1, the pressure of each node)]
I can't make sure my understanding of your dataset is true. So, if my understanding is wrong, please point it out. Thanks.
There are still some questions else existing.
For the node_type: can you explain the node type carefully? such as the meaning of NORMAL, OBSTACLE, AIRFOIL, HANDLE, INFLOW, OUTFLOW, WALL_BOUNDARY and SIZE?
The data of the velocity and pressure is the node's velocity and pressure, not the grid's, is it?
Looking forward to your reply. Thanks.

I can't make sure my understanding of your dataset is true
Thanks for your message, yes, that description seems accurate.

The data of the velocity and pressure is the node's velocity and pressure, not the grid's, is it?
Yes, it is the value of the fields sampled at the node positions.

Thanks for your reply. I've generated the dataset successfully.

I can't make sure my understanding of your dataset is true

Thanks for your message, yes, that description seems accurate.

The data of the velocity and pressure is the node's velocity and pressure, not the grid's, is it?

Yes, it is the value of the fields sampled at the node positions.

That's really helpful.

I've tried adding global variables to each node. But it doesn't work well.

All we do in this paper is to concatenate the global feature to all of the nodes, and that has always worked well enough as it is a very general way to condition a model on a global variable. I am not sure why specifically it may not be working in your case, perhaps the problem is just too hard, or you don't have enough data for each value of the global variable.

Unfortunately I don't know enough about your project to follow your message 100%. This is roughly the approach we woudl follow:

if nodes are of different types, then first I would just give a one hot type to each node to indicate its type.
then if nodes of different types have characteristics ranging very different values (for example for one type it takes values between 0.001 and 0.01, and for the other between 10 and 100), then first I would normalize each characteristic to have zero mean unit-variance for each node type, and then concatenate the normalized values
if the nodes of different types have different characteristics, I would use zero padding values when a given node type does not have that characteristic. In any cases, the model would still be able to use the one-hot type to know when a value is padding.
then whether the property is global or not is sort of a detail. If a property is global, you just concatenate the property to all of the nodes in the graph, if it is global for a certain node type then concatenate the global value to the nodes of the corresponding types, and if it is different for each node, then just concatenate a different value for each node.

If this approach does not work, however, I am not sure I have any more advice to offer unfortunately, as it seems it would be something very specific about your problem.

Many thanks for ur helpful advice.
For ur third advice, does the 'concatenate' mean that the global property is treated as a property of the nodes, same as their position and type? Or a new message-passing method passing the global property to the node?

For ur third advice, does the 'concatenate' mean that the global property is treated as a property of the nodes, same as their position and type? Or a new message-passing method passing the global property to the node?

All features I am referring to are from the point of view of the model would be treated just like any other node feature, and then just let the training figure out how to use it. There are for sure other ways to do it, but this is how we did it in this paper.

All features I am referring to are from the point of view of the model would be treated just like any other node feature, and then just let the training figure out how to use it. There are for sure other ways to do it, but this is how we did it in this paper.

I see. Thanks for ur help. Ur replies are really helpful for my project.

Hi, Alvaro.
Sorry to disturb you again. I've just found an interesting paper name 'MultiScale MeshGraphNets', extending from the meshraphnets. However, I'm still confused about some details of it. So is there any possibility to share the code with me for a better understanding?

Thanks for reaching, I am not sure if there is a plan to open source the code of
MultiScale MeshGraphNets, I would recommend to contact the corresponding authors directly.

Thanks for your help.

Hello, I seem to have a similar question related to this topic.
I am trying to make the deforming plate dataset work. I implemented the graph net and it learns the other datasets with no problem, I also used my own particle based data and it also works fine.
However, in the case of the deforming plate, the node input features are problematic. Based on the paper and the answers here, I prepare the input this way:
node_features = normalize_by_column(concatenate((prescribed_motion, node type), dim=1))
Where the prescribed motion is the next step world velocity, as in the paper.
Then to emulate zero padding for the simulated nodes I add:
node_fetures[body_indices, :motion_dimension] = 0.0
With this, the zero vector that is the prescriben motion of the fixed indices will be non zero after normalziation and the actual zero vector of the (nonexistent) prescribed motion of the body nodes will be zero padding.
Using this, the network predicts the in-contact nodes sticking to the intruder and the surrounding nodes stretching like jello.
Is my input preparation wrong? Reading the paper, this is the method I concluded with.
Thank you for your relpy.

Thanks for your message:
For DeformingPlate assuming you have:
current_position: position at t
future_position: position at t+1
node_type: node types.
we used something like:
prescribed_motion = where(node_type==KINEMATIC_TYPE, future_position - current_position, 0.)
node_features = concat([current_position, prescribed_motion, node_type_one_hot])

@sebestyenja Hi, I am also trying to use the model with my own data. Did you created a tfrecord to give in input to the model? Or do you used "from_generator" methods?
Thanks!

I am using both methods. With the dataset from the paper and with my own datasets as well.

Thanks for the answer!
Did you eventually manage to implement deforming_plate code? I am also trying but I'm having some issues on how to implement the informations about the edge radius for the world_edges (to compute external dynamics in case of collisions)...
My goal is to train the model with my datasets that comes from a simple structural case (a simple beam that is bending) and to use this model with my own data

Yes I did with multiple datasets. The world edges are built based on proximity.

Hi @alvarosg ,
I think I have a following question related with this thread. As paper mentioned about cylinder flow, it could directly predict the pressure without any input information of pressure if I understand correctly. But I think the pressure value could go several ranges for different type of nodes, like you mentioned here in first scenario. I am wondering how you guys manage this in the input dataset pipeline since I did not see additional node features except velocity and node type.
Thanks in advance, This is fantastic work!
Best,
ZY

Hi ZY,
pressure is contained in the CylinderFlow dataset, we just don't do anything with it in this demonstration code. But if you want to play around with it, you can do so easily by modifying run_model.py:57. E.g. ds = dataset.add_targets(ds, ['velocity', 'pressure'], add_history=False) will add the fields pressure and target|pressure into the inputs dictionary.
Then you can add another target to the model prediction, i.e. use output_size=3 instead of 2 in EncodeProcessDecode and output_normalizer, add a second loss in cfd_model:loss etc.
Hope this helps,
Tobias

Hi @tobiaspfaff ,
Thanks for your help. So, if I understand correctly, pressure has to be in the both input and output so that the output from decoder is the change of pressure like velocity? Or just simply next-step pressure?
Also, in your last sentence, do you suggest adding one more additional loss for pressure, like velocity, then combine them together?

Well that depends on the system you're modeling-- for incompressible Navier-Stokes like CylinderFlow, pressure isn't a state variable, i.e. you don't need to know p_t to predict v_t+1, p_t+1. So I wouldn't feed it into the network as an input; this is different for compressible flow. You can check A.1 in the MGN paper for which quantities we used as input and output.
For similar reasons we directly predicted p, not dp/dt - so there wouldn't be an integration step as there is for velocity. There's of course different ways you can do this, one thing you sometimes see in papers is normalizing pressure (see citation [40] in the paper) which makes it a bit easier to predict. But direct prediction worked reasonably well for us.
To your second question, yes, we simply added the losses for velocity and pressure. Because our loss is in normalized space the different scales of the predicted quantities aren't generally an issue (unless their distribution is very far from Gaussian).

Hi @tobiaspfaff ,
Thanks so much for your explanation.  I agree with your first part of response for incompressible NS equations, and this is what I think about how to manage it properly. However, for my own case which is different even though it is still under incompressible region, the pressure may go several oder of magnitude for different nodes in simulation for each time step (really bad scale even I do it with zero-mean, unit variance), do you think it is possible to use L1 norm for pressure to stabilize the prediction?

Yes, this is probably just something you need to try. Just note that e.g. with a L1 loss you might need to be a bit more careful with balancing the two losses. You could also want to look at e.g. predicting log(p) or sqrt(p) instead of p, if this improves your data distribution (before normalization)-- we did this for the stress in DeformingPlate, which also had a very large range of values. Good luck!

Yes, this is probably just something you need to try. Just note that with a L1 loss you might need to be a bit more careful with balancing the two losses. You could also look at e.g. predicting log(p) or sqrt(p) instead of p (before normalization), if that improves your data distribution-- we did this for the stress in DeformingPlate, which also had a very large range of values. Good luck!

Thank you so much for your help! @tobiaspfaff . I am so much appreciated.
Sorry for bothering you again, I just have one more question regrading tf.Graph in TF2. I have rebuilt MGN in TF2 and sonnet 2 successfully in notebook environment to test partial of cylinder_flow dataset in order to fit the memory footprint there. However, once I rearrange it to OOP typed Python scripts (like the code developed here) and test on hpc, it always complains about retracting, especially the training loop (l use tf.function to decorate single batch update and call it in the training loop like tf.train.MonitoredTrainSeesion in the run_model.py). I am curious do you have some general suggestion to avoid this happen? Because I have tried all the official TF tutorials about using tf.function, but all of them are dealing with much easier cases than here.
Thanks for you reply,
ZY

I am still confused to generate the tfrecord data files, can anyone provide any advice? Thanks very much!

Hey, I want to use this model for my own data, but can someone explain the NodeTypes and why specifically their size is set to 9 when only 7 of them are listed?? More if someone is aware of successful implementation of the model on dynamic or quasi-static data plz share the link with me if possible or if someone can answer my queries related to data and architecture in that case.

Thanks for the answer! Did you eventually manage to implement deforming_plate code? I am also trying but I'm having some issues on how to implement the informations about the edge radius for the world_edges (to compute external dynamics in case of collisions)... My goal is to train the model with my datasets that comes from a simple structural case (a simple beam that is bending) and to use this model with my own data

@dufir22 Hello! Do you still keep the code for the deforming_plate dataset? I tried to make it work but failed. May I ask for a little help here?

Yes I did with multiple datasets. The world edges are built based on proximity.

@sebestyenja Hello! Do you still keep the code for the deforming_plate dataset? I tried to make it work but failed. May I ask for a little help here?


chore(main): release 1.0.1

:rocket: New release :bookmark:
1.0.1 (2023-05-03)
:construction_worker: CI/CD

include style, test, refactor commits in changelog (7cc8174)

:recycle: Refactoring

remove space at EOL (3db832c)

:hammer: Miscellaneous

maintenance: update contribution guidelines (c1cf69c)
merge branch 'main' of hugo-sid/hugo-blog-awesome (1e21fce)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/hugo-sid/hugo-blog-awesome/releases/tag/v1.0.1 :sunflower:


Direct3D 12: Avoid terrible leak related to command allocators

Otherwise, Godot keeps eating and eating memory just by being run.

This matches what I've done on my own elsewhere so it makes sense, although I'm surprised I didn't spot it sooner either.

Thanks!


Unknown props warning when using RaisedButton

the warning shows when using the containerElement property while setting linkButton to true.
I reproduced the warning using a div and a react-router Link element.

@ranjomer Please use the issue template.

React version 15.4.2
Material-UI version 0.17.2
Chrome version 57
code that produced the warning:
`<RaisedButton label='Login' style={buttonStyle} primary={true}
containerElement={} linkButton={true}/>
the warning:
Warning: Unknown prop linkButton on  tag.

We have been porting the component on the v1-alpha branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.
Still, we will accept PR fixes until v1-alpha takes over the master branch.
You can find examples on how to use a button as a link on the documentation source.


CLOUDP-112244: [Milestone] Update Makefile

Proposed changes

Jira ticket: CLOUDP-112244

Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[ ] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[x] I have updated e2e/E2E-TESTS.md (if an e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

git:(CLOUDP-112244) make

setupgolangcilint              Install golangci-lint
deps                           Download go module dependencies
setup                          Set up dev env
link-git-hooks                 Install git hooks
fmt                            Format changed go
lint                           Run linter
fix-lint                       Fix linting errors
check                          Run tests and linters
gen-mocks                      Generate mocks
gen-docs                       Generate docs for commands
build                          Generate a binary for both CLIs
build-mongocli                 Generate a mongocli binary in ./bin
build-atlascli                 Generate a atlascli binary in ./bin
build-debug                    Generate binaries in ./bin for debugging both CLIs
build-mongocli-debug           Generate a binary in ./bin for debugging mongocli
build-atlascli-debug           Generate a binary in ./bin for debugging atlascli
integration-test               Run integration tests
unit-test                      Run unit-tests
install                        Install binaries in $GOPATH/bin for both CLIs
install-mongocli               Install mongocli binary in $GOPATH/bin
install-atlascli               Install atlascli binary in $GOPATH/bin
list                           List all make targets

@gssbzn I will leave the build commands as it and define build-all to build both clis. I will remove the build once we have released both clis. Is this a good option for you?

I will leave the build command as it is and define build-all to build both clis. I will update the build once we have released both clis. Is this a good option for you?

Sure that works for me


Gitbook deployment guide

Proposed changes
Deployment Guide (Just the Klaytn IDE section)
GitBook link
Types of changes
Please put an x in the boxes related to your change.

[x] Minor Issues and Typos
[ ] Major Content Contribution
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to reach out. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES
[x] I have signed the CLA
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged and published in downstream modules

Related issues

Please leave the issue numbers or links related to this PR here.

Further comments
If this is a relatively large content contribution, kick off the discussion by explaining why you would suggest the content contribution, etc...

@kjhman21  I added the explanation for the contract button colors :) Please take a look when you have time


Improve List support

Extend the supported bullet types in unordered lists.
Fix the start Value for ordered lists
Handles the margin syntax and attributes for nodes, which fixes indentation provided in lists and other places.

Rebased

Made ticket to fix docx-document.js with the square bullet logic @K-Kumar-01 https://github.com/nicolasiscoding/RapidDocxBackend/issues/418


Failed to activate the Hydrogen package

Prerequisites

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

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

Description
Hi ! I was never able to run Hydrogen, tried a lot but can't manage to find a solution. Have you got any ideas ? Thank you
Versions
Atom: 1.61.0-beta0 x64
Electron: 11.4.12
OS: linux 5.15.32-213.current
Thrown From: Hydrogen package 2.16.3
Stack Trace
Failed to activate the Hydrogen package
At No native build was found for platform=linux arch=x64 runtime=electron abi=85 uv=1 libc=glibc node=12.18.3 electron=11.4.12
    loaded from: /home/pierre/.atom/packages/Hydrogen/node_modules/@aminya/zeromq

Error: No native build was found for platform=linux arch=x64 runtime=electron abi=85 uv=1 libc=glibc node=12.18.3 electron=11.4.12
    loaded from: /home/pierre/.atom/packages/Hydrogen/node_modules/@aminya/zeromq

    at Function.load.path (/packages/Hydrogen/node_modules/node-gyp-build/index.js:60:9)
    at load (/packages/Hydrogen/node_modules/node-gyp-build/index.js:22:30)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/binding.js:1:198)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/binding.js:3:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:149229)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/lib/index.js:6:11)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/lib/index.js:857:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:149229)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/index.js:2:18)
    at /packages/Hydrogen/node_modules/@aminya/zeromq/index.js:3:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:149229)
    at /packages/Hydrogen/node_modules/@aminya/jmp/index.js:37:11)
    at /packages/Hydrogen/node_modules/@aminya/jmp/index.js:451:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:149229)
    at /packages/Hydrogen/dist/zmq-kernel.js:7:15)
    at /packages/Hydrogen/dist/zmq-kernel.js:325:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (/usr/share/atom/resources/app/static/<embedded>:11:149229)
    at /packages/Hydrogen/dist/main.js:34:38)
    at /packages/Hydrogen/dist/main.js:456:3)
    at Module.get_Module._compile (/usr/share/atom/resources/app/static/<embedded>:11:149913)
    at Object.value [as .js] (/usr/share/atom/resources/app/static/<embedded>:11:153507)
    at Module.load (internal/modules/cjs/loader.js:992:32)
    at Module._load (internal/modules/cjs/loader.js:885:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:72:18)
    at customRequire (/usr/share/atom/resources/app/static/<embedded>:1:756277)
    at requireModule (/usr/share/atom/resources/app/static/<embedded>:14:1205795)
    at Package.requireMainModule (/usr/share/atom/resources/app/static/<embedded>:11:3184054)
    at Package.activateNow (/usr/share/atom/resources/app/static/<embedded>:11:3172053)
    at /usr/share/atom/resources/app/static/<embedded>:14:1879
    at Function.simpleDispatch (/usr/share/atom/resources/app/static/<embedded>:11:1187641)
    at Emitter.emit (/usr/share/atom/resources/app/static/<embedded>:11:1189082)
    at CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:352326)
    at KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app/static/<embedded>:11:1228444)
    at KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app/static/<embedded>:11:1224578)
    at WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app/static/<embedded>:11:286682)

Commands
     -7:28.2.0 hydrogen:run (input.hidden-input)

Non-Core Packages
atom-clock 0.1.18
cell-navigation 0.1.0
data-explorer 0.7.0
file-icons 2.1.47
Hydrogen 2.16.3
hydrogen-cell-separator 0.4.1
hydrogen-launcher 1.2.2
hydrogen-python 0.0.8
language-babel 2.85.0
markdown-cell-highlight 1.2.0
project-manager 3.3.8
teletype 0.13.4

same problem, did u fix it?

Same issue here, any ideas?
For me the issue appeared after Hydrogen upgrade from 2.15.3 ->2.16.3
Albeit remain after rollback to 2.15.3

Same here, I managed to fix it once by uninstalling and reinstalling atom again but now the issue is still present

Same here, it happened immediately after updating to atom 1.63.0 so the update definitely broke things.
Atom    : 1.63.0
Electron: 11.5.0
Chrome  : 87.0.4280.141
Node    : 12.18.3
macos: 12.6.1 (21G217)
hydrogen: 2.16.3

Same here, it happened immediately after updating to atom 1.63.0 so the update is most likely responsible for breaking things.
Atom    : 1.63.0
Electron: 11.5.0
Chrome  : 87.0.4280.141
Node    : 12.18.3
macos: 12.6.1 (21G217)
hydrogen: 2.16.3

Same for me as well.

same for me:

Atom    : 1.63.0
Electron: 11.5.0
Chrome  : 107.0.5304.110
Node    : 12.18.3
macos: 13.0.1
hydrogen: 2.16.3

same problem, did u fix it?

Hello @aminya, any news, how to solve this problem? thanks in advance.

the issue. any solution recommended?

same, having this problem appear between this morning and afternoon.

Atom is going to be sunsetted soon.  It is not possible to publish new packages anymore. If you have your Atom working offline locally, it should continue to work, but the servers are down.
You can directly download the code from here, copy it to ~/.atom/packages/hydrogen and run apm install at the root
https://github.com/nteract/hydrogen/archive/refs/tags/v2.16.4.zip
As someone who spent several years developing many of the IDE features for Atom, my recommendation is to use an alternative editor that has an active community around it.
VsCode, Jetbrains IDEs like Pycharm, Webstorm, Clion, and Fleet to name a few.
These have huge communities with officially supported plugins. Most of the programming languages and developer tools have official extensions for VSCode and Jetbrains.
See my recommendation about the Hydrogen alternative:
https://github.com/nteract/hydrogen/issues/2155#issuecomment-1151563694

Thanks alot @aminya!
Atom + Hydrogen is an uncontested winner for anyone wrangling data!
Guess I'll have to make do with moonshine for now..
Cheers!

@aminya What does "run apm install at the root" mean? Which root?

At ~/.atom/packages/hydrogen

@aminya Can you give instructions on how to install the new package on Windows?

The same instructions for all platforms

@aminya What does "run apm install at the root" mean? Which root?

Were any of your able to install Hydrogen patch successfully?
Agree to @vandertilt that Atom shines and especially so for someone working with data.

@aminya What does "run apm install at the root" mean? Which root?

Were any of your able to install Hydrogen patch successfully? Agree to @vandertilt that Atom shines and especially so for someone working with data.

It indeed worked once the zip is extracted and after issuing the command apm install .  Thanks @aminya .
I'm looking forward to using VSCode provided they have light table implementation for data viewing:
https://nteract.gitbooks.io/hydrogen/content/


Prevent vimpandoc from running on main

closes #11
I'm pretty sure that we don't want this action to run on main, instead we can just let it run in PRs and then the vimdoc changes will be merged like normal.

I tested this in my fork, and it seems to have worked, https://github.com/benlubas/hydra.nvim

I can see the commit from it. Seems good to me, though time will tell :) Nice work!


Max Privacy UI

In the Receive dialog there is a single toggle switch between: 'Regular' and 'Max Privacy'
In the Regular mode, on the right there are three panes:

Online address (for wallets)
Online address (for pools and exchanges)
Offline address

There are no QR codes on the panes. QR codes should be moved inside the show address dialog
In the 'Max Privacy' mode there is a single pane on the right saying 'Max Privacy Address'

Receive screens: https://app.zeplin.io/project/5b379c2c38cb39e73e5f8889/dashboard?seid=5f7f40a75591dd5918d39ed8

Transaction info rename to "Address Type" https://zpl.io/aRelvBK
Regular/Permanent (no need word "address" here) move to "Online address" block https://zpl.io/aRelvBK
Add "Copy" and "QR Code" icons near the addresses
"Show address" rename to 'More details"
Regular | one-time use https://zpl.io/aRelvBK
Regular | Permanent https://zpl.io/2j6Bn7A
Max privacy https://zpl.io/bJeowvK
Make text "Min transaction fee to send Max privacy coins is 0.01 BEAM." grey, not white
Regular address details (open when click on more details) https://zpl.io/Vkd4xEM . Please use the same text/fields as here
Max privacy address details https://zpl.io/2jDNoWx

In the Receiver screen for each Address details window, the button 'copy address' should be changed to 'copy and close' as it's done in the design. https://zpl.io/Vkd4xEM. The button should copy the address and close the Receiver screen, which activates an address. Now, there are several methods to copy an address: by the icon, by clicking on the right-button and copy, by click on the 'copy address' button.

@VladislavKulyba @anatolse
updated screen for address details

online for exchanges https://zpl.io/a8L63Yx
online for wallets https://zpl.io/bl9yn9X

Any comment can't be saved for sections Online Address (for exchanges or mining pool) and Offline Address (for wallet). Please, add the ability to save comments to these addresses.

For Online address (for wallet) one-time use|permanent and Max privacy address comments are saved.
Video: bug_comments.zip
Build version: 5.2.9715.3278

Checked on master 5.2.9721.3292.


CUDA out of memory

Your team has done an excellent job. I would like to know that when I use four NVIDIA RTX 2080 and the batch_size is set to the minimum of 4, the output is always ' CUDA out of memory' when I run it.  I would like to know if there are any parameters in the model that can be reduced to solve this problem. Thank you very much.

During training, you can reduce the parameter here and here to save memory.

During training, you can reduce the parameter here and here to save memory.

during test, how to save memory? Thank you.

limited performance decrease if you are not reducing it extremely; for inference, you can refer to here

I reduce both limit from 30 to 10 , but still cuda out of memory on ti2080 12G


Add Russian version

@RomuloOliveira thank you too for your work!
I'm new user in GitHub and still don't have colleagues who can help me with translations.
I just reviewed previous commit and correct some words.
This is the last revision and hope that I fixed all errors. (but I still need help with translating one line)
Please merge it when you are done with the review.

@RomuloOliveira I did a review with the suggestions, after accepted them, this PR can be merged!
@Dmitriy-Vas вы можете применить мои предложения одним коммитом, посмотрите эту статью https://help.github.com/en/articles/incorporating-feedback-in-your-pull-request#applying-a-suggested-change

Mhm, didn't know this works from "files" tab, added 1 excess commit.


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 6196d63:
:clock10: Pending: waiting for processors (22 builds ahead of you)
:warning: Docs Build is busy, currently there are 22 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 6196d63:
:clock10: Full build: the average full build time is 5 min(s) 9 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 6196d63:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:warning:Warning
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.
[Warning] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Warning] Missing attribute: title.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Allow debugging synthetic generation inside the sandbox

Previously, debugging was disabled cause it would conflict with
the generation of the dataset on standard output. But we can
generate the dataset in a different file descriptor and still
get debug output.

Pull Request Test Coverage Report for Build 2374

4 of 5 (80.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 69.104%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

training/sandboxed_synthetic_gen.js
4
5
80.0%

Totals

Change from base Build 2372:
0.002%

Covered Lines:
7857

Relevant Lines:
10702

💛  - Coveralls


Currency formatter with negative numbers should use non-breaking hyphen

I am using NumberFormat to format currency. The formatter is initialised as such:
final NumberFormat currencyFormatter = NumberFormat.simpleCurrency(locale: 'en_GB', name: 'GBP', decimalDigits: 2);
Negative numbers are formatted with normal hyphens -, but I think instead should be formatted with non-breaking hyphens.
For example, using the formatted string -£10,000.00 in Flutter in a Text widget results in the widget wrapping the text after the hyphen, which is incorrect. Manually replacing it with a non-breaking hyphen solves the problem.
So inside NumberFormat.dart, line 50, instead of
class NumberFormat {
  /// Variables to determine how number printing behaves.
  // TODO(alanknight): If these remain as variables and are set based on the
  // pattern, can we make them final?
  String _negativePrefix = '-';

I believe it should use the Unicode character for non-breaking hyphen, \u2011.

We get those values from CLDR, so we can't really change them. So it isn't so much the variable you reference there as the locale data, e.g. https://github.com/dart-lang/intl/blob/master/lib/number_symbols_data.dart#L33
If ICU or someone else authoritative formats with the non-breaking hyphen that would be a reason to re-examine, but I don't think we want to diverge from those.


RT-1233:(hypertension) Draw labels behind the encounter icons in enco…

…unter graph.
Overview
Draw labels behind the encounter icons in encounter graph.
How it was tested
Tested by running the showcase app on locally.
Checklist

[x] The title contains a short meaningful summary
[x] I have added a link to this PR in the Jira issue
[x] I have described how this was tested
[x] I have included screen shots for changes that affect the user interface
[] I have updated unit tests
[x] I have run unit tests locally
[x] I have updated documentation (including README)


Dashboard widget titles

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I have searched the existing issues and I am convinced that mine is new.

Describe the bug
Since update 21.1.3 the dashboard widget titles seem to be not translating to their "pretty title". Also the link behind the dashboard widget titles is incorrect and widget title "system_information_title_link" directs to "https://x.x.x.x/system_information_title_link".
To Reproduce
Updated from OPNsense 21.1.2-amd64 to OPNsense 21.1.3-amd64.
Expected behavior
Dashboard widget title placeholders should be replaced by their clean variant on the selected UI language.
Describe alternatives you considered
Reboot did not fix the issue. Same for a fresh cache-less and cookie-less browser.
Screenshots

Relevant log files
None
Additional context
None
Environment
OPNsense 21.1.3-amd64
FreeBSD 12.1-RELEASE-p14-HBSD
OpenSSL 1.1.1j 16 Feb 2021
Intel(R) Core(TM) i3-5005U CPU @ 2.00GHz

duplicate https://github.com/opnsense/core/issues/4795


Sort items first by availability, then by name

Is your feature request related to a problem? Please describe.
When searching for an item in my inventory using Quick Item Search, I find it frustrating that items which are present in my inventory do not take priority over items which are not present in my inventory.
For example, if I have reached mid-game and decided to switch to using fast transport belts by default, most likely I will have the regular transport belts trashed automatically, and instead have only fast transport belts in my inventory. When I try to search for word "belt", however, the list will show the regular transport belts at top (with 0 items available in my inventory) in preference to fast transport belts. This means that I need to perform that one extra key stroke for picking the correct belt type from inventory.
Describe the solution you'd like
The quick item search list should favour listing matching items present in inventory before items available in logistics network and items that are not available in either.
Additional context
This is related primarily to new GUI change starting with version 2.0.0. The belt description is somewhat artificial - but I think it provides a good example. Maybe a better example would be searching for "Wood" - especially early game when you want to insert it into furnaces and miners. Or perhaps rocket fuel - if you type "Rocket", first two items in the list would be "Rocket silo" and "Rocket control unit" - items which are rarely being requested or used (while you might have rocket fuel on you all the time when placing new trains and such).
I could potentially see that the way new implementation lists items is beneficial in terms of being more consistent in the listing. E.g. every time you type in a new term, you get the same ordering. For me personally it was always useful to quickly locate item and just press "Enter" twice in succession to pick the correct item.
Perhaps it would be possible to introduce an option to pick sorting order instead to cater for both variants?

I can do this, but it will significantly degrade the performance of searching. I changed it to be the way it is right now because it turns what was previously three separate loops into a single loop of all items. It more than doubles search performance. Prioritizing inventory items means iterating them all first, then iterating all items again to get the ones that were missed.

Hm... Perhaps it could be an optional (off by default) feature in that case?
I would assume that the biggest problem could come in case of public(ish) multiplayer servers?
While I understand small numbers can add-up to quite a bit in the end, is it a heavy performance hit relative to the rest of processing that happens in the game?

I think I've decided not to do this, because like I said before, it would be convoluted and require two separate search loops. I like the way it is now. Sorry!

Hey, no worries, thanks for looking into it at least :)
Would you be interested at all in a pull request that would make this an optional behavior, though?
Or, if not, would you have any interest in creating a common base/library that would be decoupled from the GUI?
I ask because my intention would be to avoid potential forking if I would ever come around to making the tweaks that work at least for me better, or at the very least to avoid having essentially duplicated code (not to mention I would probably base changes off of your code in either case).
Just to emphasize - this is not a knee-jerk reaction, even in case of a fork I would prefer it to be considered a "friendly" fork with fixes etc flowing upstream - I consider Quick Item Search one of the best usability improvement mods out there :)

I'm just confused why you really want it. When I use the mod, I usually only end up with two or three results when I'm done typing, if that. I only did it the original way because I was distinctly separating inventory items and logistic items, but now they're combined. Is it really that much of a hassle to type a few extra letters to avoid the problem altogether?

Probably just got used to the way it worked before, and when the change came in, it threw me off. Muscle memory and all. As for the extra typing, it kinda depends on how often it would happen - if you end-up skipping certain items all the time in searches, that's probably a good indicator some of the sorting could be improved.
Here's what I'll do, though - I'll try to give this particular change another chance, and see how it works out. Although I might need to roll-out at least locally a fix for #17, because that one actually does throw me off and keeps me going back to older release :)
And if it turns out to be an actual hassle, I'll first make sure to put my foot where my mouth is, and come up with a PR first :)
P.S.
Just getting back into Factorio 1.1 after a long break from it, so haven't really had a chance to do any serious playthroughs.

Sorry if I came off as rude, it wasn't my intention. I'm glad you're giving the update another chance.
I will be implementing #17, but it's less straightforward than I thought it would be, so it'll take a bit of time. Thanks for using the mod!


Tks for your brilliant works! Have you try to parallel 'DAB' and 'SAB' instead of putting them in sequence?

It is very sharp of you to discover the potential of sparse attention mechanism and purpose the DAB in your paper~ I'd like to know have you try to put the 'DAB' and 'SAB' in parallel when constructing the arch of the model instead of putting them in sequence?

I have not tried this. It may be nice to design a parallel structure to use DAB and SAB once you find a good motivation.


ThreadContextElements are lost in compute function of Caches

Hello there, I've been migrating away from caffeine with blocking functions to this lovely library with non-blocking ones, but ran into an issue around ThreadContextElements.
We use some libraries that rely on thread locals (boo) but also use Kotlin Coroutines with ThreadContextElements (yay) to keep everything working. The issue I've run into is when using an instance of com.sksamuel.aedile.core.Cache, the ThreadContextElement is lost and so the compute function that worked with blocking functions don't work (without the workaround shown below).
Hopefully the following illustrates the situation sufficiently:
package com.example

import com.sksamuel.aedile.core.caffeineBuilder
import kotlinx.coroutines.ThreadContextElement
import kotlinx.coroutines.withContext
import kotlin.coroutines.CoroutineContext

val helloThreadLocal: ThreadLocal<String?> = ThreadLocal.withInitial { null }

class Hello: ThreadContextElement<String?> {
    companion object HelloKey : CoroutineContext.Key<Hello>
    override val key : CoroutineContext.Key<Hello> = HelloKey

    override fun updateThreadContext(context: CoroutineContext): String? {
        return helloThreadLocal.get().also {
            helloThreadLocal.set("hello")
        }
    }

    override fun restoreThreadContext(context: CoroutineContext, oldState: String?) {
        helloThreadLocal.set(oldState)
    }
}

suspend fun main() {
    val cache = caffeineBuilder<String, String?>().build()

    //begin coroutine with thread local context "hello" set
    withContext(Hello()) {

        //try to retrieve the hello thread local using cache
        val result = cache.get("Hello") {
            helloThreadLocal.get()
        }

        //this prints null because context is lost inside compute function :(
        println(result)

        //however, if we capture the context now and use it inside the cache's compute function...
        val callingContext = coroutineContext
        val resultUsingCallingContext = cache.get("Hello") {
            withContext(callingContext) {
                helloThreadLocal.get()
            }
        }

        //hello there!
        println(resultUsingCallingContext)
    }
}

The result printed is null, then hello. As you can see we are able to get around this by capturing the context of the caller and then use it inside the compute function, which seems to work!
I've noticed scope and dispatcher are configurable, I wanted to ask if it would be possible to either configure the cache to use the caller context (e.g. useCallingContext = true or something), or do it by default?
As a further note - I don't know if such a suggestion would make sense for compute functions provided when the cache is built (i.e when loading cache is used)? I am specifically asking about when you supply the compute function at the call site.
Thanks!
Edit: Oh and to clarify, if this is something you'd agree to add into this library I'm more than happy to submit a PR for it!

Hi.
The underlying library expects the compute function to return a CompletableFuture. So inside Aedile, we do this:
   suspend fun get(key: K, compute: suspend (K) -> V): V {
      return cache.get(key) { k, _ -> scope.async { compute(k) }.asCompletableFuture() }.await()
   }

I'm not sure how we can have the compute function use the same context as the caller. Perhaps something like this would work:
   suspend fun get(key: K, compute: suspend (K) -> V): V {
      val context = coroutineContext
      return cache.get(key) { k, _ -> CoroutineScope(context).async { compute(k) }.asCompletableFuture() }.await()
   }

Yes I did see a scope is created at build time of the cache, so it would require deferring scope creation to the get in order to work I believe!
I think it does add some complexity in that the scope used for loading caches would necessarily be different from the one in these get functions? And I'm not sure if I'm tunnel visioning my use that is preventing me from seeing how that might trip up how someone else would expect this library to behave? Like does it have any impact on structured concurrency? I'm a user of coroutines by no means an expert!
At the very least I imagine a middle ground might be a section in the readme, or an example which just highlights these ThreadContextElements get lost, and here's how you get around this?
Or just thinking out loud, an extension function that is explicit getInUsingCurrentContext? Actually thinking about it might do that for our code anyway 😂 .
Anyway thank you for your response!

I think we can add a config parameter to the cache builder to allow for the use of the calling coroutine context, using the code I pasted up.
I think that would solve your problem.

So I've had a stab at it in https://github.com/sksamuel/aedile/pull/12, went for any function where compute is passed at the call site and made use of the + operator  with the scope created from the configuration (so I think this preserves things like the choice of dispatcher. Give me a shout either way, and if you think a section in the readme would be wanted? Have a nice weekend!

I took your PR and adapted it, and released 1.3.0-RC1 if you want to give it a go.!

I took your PR and adapted it, and released 1.3.0-RC1 if you want to give it a go.!

Oh wow, I've been so busy lately this dropped right off my radar, I am very sorry for the radio silence.
I'll give it a go this week hopefully!

Managed to try this out, with 1.3.0-RC1:

Just upgrading and leaving the workaround in still works
Taking out the workaround still breaks (no contextual information on the coroutine)
Changing from caffeineBuilder to cacheBuilder works

So all good as far as my initial problem is concerned.
One thing worth mentioning is the upgrade from kotlinx.coroutines from 1.6 -> 1.7 that 1.3.0-RC1 comes with did cause my tests to fail unexpectedly. I think this is because we use the Gradle test suite plugin which only adds the main classpath to the testRuntimeClasspath. Upgrading to 1.3.0-RC1 on the main source set (but not on my test source set as it doesn't use aedile) caused my test to use 1.6 coroutines to compile, but 1.7 when running.
This resulted in the runTest from the coroutines-test library to report tests had failed as there was "still an active scope after 0ms", when the default is 60000ms, just a little bit confusing!
I'm aware this isn't anything that's wrong with 1.3.0-RC1, just mentioning is more in case anyone else experiences this and reaches out.

Ok so I'll release 1.3.0 final then !


Persistence volume data

What is the problem you're trying to solve
Allow volume data to be persistent in AWS ECS cluster. For example, I would like to set up a docker registry in ECS cluster and I would like images to remain persistent even after ECS cluster is destroyed / recreated
Describe the solution you'd like
"Docker for AWS" had a volume plugin called Cloudstor which helped with persisting volume data.
Below is an extract of a compose file I have used in the past for docker swarm mode in Docker4AWS:
version: "3.7"

volumes:
  gitlabPostgresql_data:
    driver: "cloudstor:aws"
    driver_opts:
      ebstype: gp2
      size: 25
      iops: 1000
      backing: relocatable

Is it possible to have something similar sort of volume plugin when creating an AWS ECS cluster with docker compose please?

I also have this issue.

Fargate does not support any volume type but EFS, see https://github.com/docker/ecs-plugin/issues/220

@ndeloof Any idea if EFS support will make it in for beta 2?

EFS support implemented in docker/compose-cli


Relieved node 0 mapper test is using the wrong mapper

https://github.com/uzh/triplerush/blob/master/src/test/scala/com/signalcollect/triplerush/TripleMapperSpec.scala#L113
Thanks @rampalli-github for reporting this.

@rampalli-github: According to the fixed and improved tests the relieved node 0 triple mapper is working correctly. Would appreciate any help with recreating a problematic scenario locally.


includedSuggestionSets contains duplicates

I noticed I was seeing dupes in the completion list, and it seems like the server can include suggestion sets multiple times in a completion response.
The libraries here are all in my local workspace alongside the workfile.dart file.
{
	"id": "1",
	"replacementOffset": 11,
	"replacementLength": 11,
	"results": [/*...*/],
	"isLast": true,
	"libraryFile": "/Users/dantup/Desktop/import_test_completion/lib/workfile.dart",
	"includedSuggestionSets": [
		{
			"id": 169, // <----------
			"relevance": 5
		},
		{
			"id": 168, // <----------
			"relevance": 5
		},
		{
			"id": 167, // <----------
			"relevance": 5
		},
		{
			"id": 169, // <----------
			"relevance": 5
		},
		{
			"id": 168, // <----------
			"relevance": 5
		},
		{
			"id": 167, // <----------
			"relevance": 5
		},
		{
			"id": 91,
			"relevance": 3
		},/*...*/
	],
	"includedElementKinds": [
		"CONSTRUCTOR",
		"CLASS",
		"CLASS_TYPE_ALIAS",
		"ENUM",
		"FUNCTION_TYPE_ALIAS",
		"MIXIN",
		"ENUM_CONSTANT",
		"FUNCTION",
		"TOP_LEVEL_VARIABLE"
	],
	"includedSuggestionRelevanceTags": []
}

Source project is like:
lib/proxy1.dart
export 'real_def.dart';

lib/proxy2.dart
export 'real_def.dart';

lib/real_def.dart
class DannyRealClass {}

lib/workfile.dart
main() {
  DannyRealCl // invoke completion here
}

pubspec.yaml
name: danny

I use using the latest nightly build of the Dart SDK.
@scheglov I can add code to skip these, but it seems like it might be better done in the server so that each client doesn't need to know to do it?

I was not able to reproduce this.

Hmm, I tested it a few times and it seems to be intermittent on the same project (I can restart the analyzer, then sometimes I'll see it and sometimes I won't). I'll do some more digging tomorrow to see if I can understand it better.

Ok, I'm failing to understand what's going on here, but I seem to be able to reliably reproduce it in one folder, and reliably not reproduce it in another folder. The folders are identical (just copy/pasted) except for their paths.
Could this be related to something in ~/.dartServer? Is anything cached by path?
Here are the logs:
analyzer_with_dupes.txt
analyzer_without_dupes.txt
The logs have some requests in different orders, but I don't think that should matter. One has duplicates in includedSuggestionSets and the other does not.
The exact repo I'm using (though I commented out the SDK path in .vscode/settings.json) is here:
https://github.com/DanTup/dart_repro_37211

Saw this again in Flutter. I updated to master (91213e2ed) and then opened lib/src/emulator.dart and when I typed PlatformType I get it four times:

Next version of VS Code filters them out, however LSP probably doesn't, so worth getting to the bottom of it (I'll try and do some more digging later).

Seems to be related to this code here in available_declarations.dart / DeclarationsContext / getLibraries... Seems like _contextPathsList might contain dupes (though I haven't tracked down where from yet):

Ok, it seems like the dupes already exist in _analysisContext.contextRoot.analyzedFiles():

@scheglov is it expected that there may be dupes here? If so, then I think the bug is in _scheduleContextFiles which adds all the dupes to _contextPathList. If not, the bug is somewhere earlier.
I thought this might be confused because I'm working in the Flutter repo (so I have types in the loaded SDK, as well as in my current project), however my original repro above was with my own local types, so I don't think that's related.

No, _analysisContext.contextRoot.analyzedFiles() should not have duplicates. It should be a subset of files in a directory. So, it might exclude some files, but should not add duplicates. @bwilkerson to confirm and maybe explain why it might happen.

Correct; analyzedFiles should not return the same file more than once. It walks the directory structure, starting at the root of the context (typically a directory) and skipping any files that have been excluded (either directly or by excluding a parent directory).
The only thing I can think of off the top of my head that would cause it to return the same file more than once is if there is a symbolic link inside the context root. Under the covers we're using directory.listSync(recursive: false) to get the children of a directory. I can't easily check at the moment whether that's the right way to protect against links.

I can only repro this in Flutter right now (using the changeset above), but here's what I found...
If I hack some logging into ContextRootImpl that prints the folders in _includedFilesInFolder, like this:

It just prints the folder and all of its children when it gets to the lib folder, it outputs this:
1561539496144:Info:enumerating children of      /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib
1561539496145:Info:     /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib/runner.dart
1561539496145:Info:     /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib/executable.dart
1561539496145:Info:     /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib/src
1561539496145:Info:     /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib/src

So it seems like Folder.getChildren() has dupes in it. On the context, includedPaths was just /Users/dantup/Dev/Google/flutter/packages/flutter_tools.
The only symlinks in the tree (assuming this command works as I expect) appear to only point further down their own trees:
dantup-macbookpro:flutter dantup$ pwd
/Users/dantup/Dev/Google/flutter
dantup-macbookpro:flutter dantup$ find . -type l -ls
4344687092        0 lrwxr-xr-x    1 dantup           5762                   26 26 Jun 09:22 ./bin/cache/artifacts/engine/darwin-x64/FlutterMacOS.framework/Resources -> Versions/Current/Resources
4344687093        0 lrwxr-xr-x    1 dantup           5762                    1 26 Jun 09:22 ./bin/cache/artifacts/engine/darwin-x64/FlutterMacOS.framework/Versions/Current -> A
4344687094        0 lrwxr-xr-x    1 dantup           5762                   24 26 Jun 09:22 ./bin/cache/artifacts/engine/darwin-x64/FlutterMacOS.framework/Headers -> Versions/Current/Headers
4344687095        0 lrwxr-xr-x    1 dantup           5762                   24 26 Jun 09:22 ./bin/cache/artifacts/engine/darwin-x64/FlutterMacOS.framework/Modules -> Versions/Current/Modules
4344687096        0 lrwxr-xr-x    1 dantup           5762                   29 26 Jun 09:22 ./bin/cache/artifacts/engine/darwin-x64/FlutterMacOS.framework/FlutterMacOS -> Versions/Current/FlutterMacOS
dantup-macbookpro:flutter dantup$

But to eliminate them, I deleted the darwin-x64 folder and there was no change.
I'll see if I can attach a debugger and do some more digging later (and if you have any ideas about what it could be in the meantime, do lmk!).

Ok, I had another look at this, and I found the first place the duplicates show up here:
https://github.com/dart-lang/sdk/blob/7acecda2cc220965d4129e1794e933514aad56c8/pkg/analyzer/lib/file_system/overlay_file_system.dart#L343-L365
For my Flutter example above (where /Users/dantup/Dev/Google/flutter/packages/flutter_tools/lib/src shows up twice), it's being returned in _folder.getChildren on line 346, and then it's also being added into children on line 360.
If I'm understanding the code correctly, this is loading children from the file system and then adding the overlay ones on top? If so, shouldn't there be some logic to handle when things are already in children when adding the overlays?

@bwilkerson if my understanding above is correct, I think this is a test (added to overlay_file_system_test.dart) that may illustrate it:
@soloTest
test_getChildren_existing_withOverlay() {
  Folder folder = _folder(exists: true);
  Folder child1 = _folder(
      exists: true, path: provider.pathContext.join(folder.path, 'lib'));
  _file(
      exists: true,
      path: provider.pathContext.join(child1.path, 'a.dart'),
      withOverlay: true);
  List<Resource> children = folder.getChildren();
  children.forEach((r) => print(r.path));
  expect(children, hasLength(1));
}

Output looks like this:
00:00 +0: FolderTest | test_getChildren_existing_withOverlay
/foo/bar/lib
/foo/bar/lib

Is the answer to change the list in the code above to use a Map so that the overlays overwrite the file system ones, then return only the unique (by-path) values?

If I'm understanding the code correctly, this is loading children from the file system and then adding the overlay ones on top? If so, shouldn't there be some logic to handle when things are already in children when adding the overlays?

Yes, the returned list should not contain duplicates.

Is the answer to change the list in the code above to use a Map so that the overlays overwrite the file system ones, then return only the unique (by-path) values?

If by "code above" you mean the implementation of OverlayFileSystem.getChildren(), then yes, a map from path to Resource seems like a reasonable approach for removing the duplication. I don't believe, however, that there's any reason to "overwrite" the resources provided for the files and directories from the base provider. IIRC, the objects we create all look the same whether they represent real files or overlaid files, so we could reduce the number of short-lived objects we create by only creating one resource per path.

Ok great, I've opened a fix:
https://dart-review.googlesource.com/c/sdk/+/108600/
There was another path that resulted in dupes - multiple descendant overlays (the overlay loop would add their containing folders one-per-file). I think that one might've been a bigger impact because instead of getting just one extra dupe (file + overlay file), you could get folders repeated for every descendant overlay file at each level of the tree it (eg. five overlays down in /a/b/c/d would result in 5x b in the result of getChildren('a'), 5x c in the result of getChildren('b'), etc.).
Both issues should be fixed by the CL above and have tests.


There is a vulnerability in  Apache Commons Collections 4.0 ,upgrade recommended

https://github.com/apache/iotdb/blob/d951e82f9509b3772ff9a9fe3bf1444f406d4afc/pom.xml#L117
CVE-2015-7501 CVE-2015-6420
Recommended upgrade version：
4.1

https://github.com/apache/iotdb/blob/db717011e076b1119036eab7c093d78ac476ea9d/pom.xml#L124
Upgraded.


vinyl-fs fixed

I believe you should be able to close #147 as I just released version 2.3.1 of vinyl-fs that fixes the regression introduced in 2.3.0.  Sorry about letting that slip through.

Thanks, @phated and other gulp dev members.
I unlocked https://github.com/imagemin/imagemin/issues/147 and will close it after I confirmed the problem is fixed.

Sorry about letting that slip through.

No problem. Shit happens.


decibels not supported, temperatures not documented

It seems that decibels are not supported while documentation list it in supported units.
I can understand why because I work on similar library myself.
There is also no mention that Celsius or Farenheit needs to be converted to Kelvin before use.
I can understand why this but I think general public would like to convert between these two.

It seems that decibels are not supported while documentation list it in supported units.

Oops. That is a leftover from Insect, which actually supported decibel/bel — to a certain extent.
You can get back a similar behavior by adding
@metric_prefixes
unit bel

to your ~/.config/numbat/init.nbt file. But I doubt that its very helpful. See https://github.com/sharkdp/insect/issues/279 for a related discussion.
How would you ideally like to use the bel/decibel units in Numbat?

There is also no mention that Celsius or Farenheit needs to be converted to Kelvin before use.

Please see #184

I can understand why this but I think general public would like to convert between these two.

I agree.

It seems that decibels are not supported while documentation list it in supported units.

This is now fixed.

How would you ideally like to use the bel/decibel units in Numbat?

This is what I am not sure about. This is why I asked in this comment.
But approach described in #279 sounds interesting, maybe I will try this in my library (even though I am not sure if this is actually usable).

Ok, I'll close this for now. Please feel free to open a new ticket if you have a concrete feature request.


Handles comments from #9

Updating to handle case with missing code in result.

Lets up the CHANGELOG.md for each release. I have created a Github action that will create a new rpm package after the merge.


Displayed Stream only triggers for the latest notification if the app is in background on Ios

So whenever a notification arrives to the ios  device if the application is either in background or terminated if there is only 1 notification whenever the app is opened createdStream (or displayedStream both behave identically) triggers with that notification.
But if there is more than one notification only the latest one triggers the streams the prior ones are discarded.
Example: app is terminated I first send notification with title NOTIFICATION1 then 10 seconds later I send NOTIFICATION2 if I open the app I only see it triggers for NOTIFICATION2.

@rafaelsetragni do you know what might cause this? I tried to investigate the notification service extension but I wasn't able to find anything

I don't inspect it yet, but could be the save manager classes or their data shared between the target extensions and the main app.
This shared is only possible if you configure it with the correct name in your capabilities.

Is this expected behavior what you think is right? This plugin is still in development and details like this can be changed.

I think my error is the notification id's i forgot about that but unfortunately i can't build the app right now the extensions throw 'Could not find or use auto-linked framework 'Flutter' ' errors
I will take a deeper look once im able to build the app
Again thank you for the response

@ahmetakil if you think this substitution behaviour is not the correct one we still can change this, this plugin is not in final release.
i've been thinking about it and now i starting to thing the replacement behaviour is not the correct one.

Changing the ids to random values fixed the issue for us but right now we need help with the #69


Make the originGroup in OriginGroupOverride a resourcereference inste…

This version of API is still not public(we are yet to do public preview) - so it is not a breaking change.I just added that property in the last PR which was checked in 2 days back(#8532) and I did not realize I had the wrong type.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

This version of API is still not public(we are yet to do public preview) - so it is not a breaking change.I just added that property in the last PR which was checked in 2 days back(https://github.com/Azure/azure-rest-api-specs/pull/8532) and I did not realize I had the wrong type.

@NullMDR @akning-ms please check the above comment about the breaking change and it may need your permission to force merge.

/azp run


Add AQL function requests

Adds support for /_api/aqlfunction requests for manipulating AQL user functions (https://docs.arangodb.com/3.2/HTTP/AqlUserFunctions/).
GET /_api/aqlfunction for some reason returns an array instead of the usual wrapper object, so I added a check in senders.go to prevent it from trying to unmarshal the raw response when it's an array (raw[0] != '[' seems like a bit of a hack, but I don't feel like it will cause any problems in practice).

Coverage remained the same at 83.986% when pulling 53b2c8bc433a0b1a2b18a94f7bb2689aa98f2c83 on stephanwilliams:aqlfunctions into 4ab0d3fcf1c543611faa96e6c93b808661a31f68 on solher:master.

Coverage remained the same at 83.986% when pulling 89a2bc2e41aa76b02258908065ab3ab06e7d17ff on stephanwilliams:aqlfunctions into 4ab0d3fcf1c543611faa96e6c93b808661a31f68 on solher:master.

First of all, thanks a lot for all your work! I'm less using ArangoDB these days and it's really great when people contribute with the requests they use. That's actually why I tried to make it easy to add new requests in the first place :)

About this one, the array check certainly feels hacky but let's keep it until we encounter this issue more frequently. Just one thing, could you add a comment line on it precising that we did it to support the AQL user functions?

No problem! This library has been a great help to me so it's nice to be able to contribute back to it.
I came up with some ways of checking the response that are probably more robust:

With json.Decoder we can parse juuust enough of raw to determine whether it's an object before calling json.Unmarshal:

func isJSONObject(data []byte) (bool, error) {
	r := bytes.NewReader(data)
	d := json.NewDecoder(r)

	if !d.More() {
	 	 return false, nil
	}

	tok, err := d.Token()
	if err != nil {
		return false, errors.WithStack(err)
	}

	return tok == json.Delim('{'), nil
}

Or we can check the error when json.Unmarshal fails - the ute.Struct == "" && ute.Field == "" condition ensures that only errors unmarshaling the top-level object are ignored, and not errors parsing e.g. struct fields.

if err := json.Unmarshal(raw, &parsed); err != nil {
	if ute, ok := err.(*json.UnmarshalTypeError); ok && ute.Struct == "" && ute.Field == "" {
		// Some API calls such as /_api/aqlfunction return arrays instead of objects, so
		// we ignore any *top-level* type errors.
	} else {
		return nil, errors.Wrap(err, "could not decode the json database response")
	}
}

Either of these look more appealing?

I'm not totally sure to understand the first solution. What is the difference between this or simply check if the first byte is {?
I don't particularly like the aesthetic of the second solution (looks a bit exotic :)) but it is definitely interesting.
Maybe we could just check if the first byte is {.

Coverage decreased (-6.9%) to 77.095% when pulling 29c4a7d3700c7b0b7d0e66db009c086395bc299e on stephanwilliams:aqlfunctions into 4ab0d3fcf1c543611faa96e6c93b808661a31f68 on solher:master.

Theoretically, the first solution would work in the case where there was leading whitespace in the response, but I don't suppose that that's something we really need to worry about ;)
Changed to raw[0] == '{' and added a comment.

LGTM! And thanks to https://github.com/solher/arangolite/pull/31 you'll be able to get the result directly from the Run() method!


Added pie chart for tweets

I have added the pie chart using matplotlib pyplot in python, can you check is it fine to be merged or any other change in required. I am new so need your guidance..

@vinitshahdeo thanks for merging isn't this pr Hacktoberfest accepted?


Cellpose results better online

Hi,
when I try out cellpose online, I get better results

than when I run the segmentation in the jupyter notebook with cellpose 1.0

or
2.0.:

Where do these differences in performance come from? I used the very same image

and settings both online:
-What to segment: nuclei
-channel to segment: gray
-nuclear channel: none
-avg cell diameter: 7
and in the notebook:
img = cv2.resize(img_full, dsize=(512,375))
model = models.Cellpose(gpu=False, model_type='nuclei')
channels = [0,0]
masks, flows, styles, diams = model.eval(img, diameter=7, channels=channels)
Is some kind of preprocessing done on the image in the online version?
Do you have any other advice on how to improve the segmentation of these neutrophils?
Thanks a lot for all your effort, great work!

the diameter online is a minimum of 7.5; also online the mxnet models are used not the pytorch models, so that will cause differences.
to my eye, all the outputs look similar, you can find more cells by turning off the quality control step model.eval(img, flow_threshold=0, ...)
also sometimes the 'cyto' model works better than the nuclei model, particularly if the nuclei are inhomogeneous
going to close this issue but let us know if there are still issues

Thank you so much for your advice! The cyto model really performs better on the segmenation of those c-shaped nuclei and we are also able to detect more cells! This helped us a lot.
What we are still struggling with is that

The neutrophils are often split up into two cells as can be seen in the image below. Is there some "fill-holes" post-processing parameter that could fix this? Or could the flows be used to improve the segmentation, as it looks like they are correctly merging such cells.

Raw image:

Corresponding mask:

Corresponding flows:

Cells with a donut-shaped nucleus don't have holes in their masks. Again our question is whether this can be changed based on some post-processing parameters. Otherwise we would try to improve this by threshold-based post-processing of the masks outside of cellpose.

Raw image:

Corresponding mask:

Thank you for your help!


replace invalid video link for nadlinger and add one for sechet

i was checking out 2015 videos and the link for the talk by nadlinger was invalid and the link for the talk by sechet was missing. i've corrected the former and added the latter.
also, i think the website needs a re-generation because andrei and some other speakers have links for youtube but they are not visible on the website. feel free to ignore the PR if that is intentional.

@andralex please update the web site.

@andralex @WalterBright seems nothing is updated on the dconf.org.


Write a Java program to calculate the permutation of n objects taken r at a time

Description
Write a Java program to calculate the permutation of n objects taken r at a time
Permutation is an arrangement of objects in a particular order. The number of permutations on n objects taken r at a time is given by the formula n!/(n-r)!
Input  : 5, 2
Output : 20

How to contribute

Save the solution in program/CalculateThePermutationOfNObjectsTakenRAtATime.java file
Add CalculateThePermutationOfNObjectsTakenRAtATime.java file in calculate-the-permutation-of-n-objects-taken-r-at-a-time folder

!assign


Recursive proto causes cue cycle when generationg openapi schemas

What version of CUE are you using (cue version)?

v0.3.2

Does this issue reproduce with the latest release?
There is an 0.4.0 alpha release that I haven't tried this with yet
What did you do?

When generating openapi v3 schema from a protobuf definition, if the definition is recursive, the schema is never generated because cue enters a cycle.
The following proto definition causes this:
message RecursiveMessage {
    string state = 1;
    map<string, RecursiveMessage> subresource_messages = 2;
}

What did you expect to see?
I would expect that this proto can be converted into an openapi schema
What did you see instead?
This function (https://github.com/cuelang/cue/blob/master/encoding/openapi/openapi.go#L219) enters an infinite loop.

Can you describe the steps to reproduce this? Did you use the API, the command line? Which options?

As far as I can see, this only happens with the ExpandReferences option of OpenAPI, which then causes a hang.
This of course still should not hang, but a solution would probably involve returning an error saying that ExpandReferences cannot be used with recursive structures.
So the workaround for now is to not use ExpandReferences.

This issue has been migrated to https://github.com/cue-lang/cue/issues/915.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


lens UI becomes unresponsive is master is slow

When for example kubectl get pod takes 10s+ then all UI elements lock up sometimes.

Sounds like some api call is blocking.

This is especially noticeable on the deployments tab when looking at a deployment that has a lot of pods.
We have one deployment with over 1k pods and its not usable.
Interestingly, the pods tab view seems to do fine even when I have over 3k pods.


add support for custom llm with configuration file

add support for custom llm as configuation as below
[openai]
secret_key=your_api_key_here
api_base=https://api.openai.com/v1
model=gpt-4-turbo-preview

Thank you for adding this! Makes a lot of sense


Plugins: improve getPluginsDirectory to point to folder of plugin

Currently getPluginsDirectory only returns the base path to the plugins folder. Therefore things like renaming the folder of a plugin or nesting it in another folder will break paths to assets that are requested like
var img = document.createElement('img');
img.src = getPluginsDirectory() + '/camunda-modeler-plugin-example/logo.png';

We decided to go for logical path to retrieve plug-in assets instead.
Plugin authors may use urls of the style app-plugins://{name}/{path-to-asset} and we figure out the actual file system location for her.


[BUG] Misleading NIO URI format documentation

Describe the bug
Not really a bug.  More a documentation issue, although some additional validation of azb: URI's might help.
The README for NIO documents the URI format as azb://?endpoint=storage-account-name.blob.core.windows.net.  It's very easy to think you should create a URI of the form azb://container-name:/path/to/file?endpoint=...  This is technically wrong because the container name is in the host name spot and not the first element of the path.  However, this works, but only if the file being referenced is in the first container in the list of containers passed to the newFileSystem call when the Azure file system is initialized.  The file system will happily create azb://second-container-name:/path/to/another/file?endpoint=... as a path, but that path won't work.  It only works if the URI is of the form azb:/second-container-name:/path/to/another/file?endpoint=...
Code Snippet
Add the code snippet that causes the issue.
                    StorageSharedKeyCredential creds = new StorageSharedKeyCredential(keyconfig.get("accountname"),
                                                                                keyconfig.get("accountkey"));
                    HashMap config = new HashMap();
                    config.put(AzureFileSystem.AZURE_STORAGE_SHARED_KEY_CREDENTIAL, creds);
                    config.put(AzureFileSystem.AZURE_STORAGE_FILE_STORES, azure_containers);
                    FileSystems.newFileSystem(new URI(String.format("azb://?endpoint=%s", azure_endpoint)),

where azure_containers is something like `"container1,container2"
Then:
path1 = Paths.get(new URI("azb://container1:/path/to/existing-file-in-container1"))
path1.exists() => true

but
path2 = Paths.get(new URI("azb://container2:/path/to/existing-file-in-container2"))
path2.exists() => false

whereas:
path2a = Paths.get(new URI("azb:/container2:/path/to/existing-file-in-container2"))
path2a.exists() => true

Expected behavior
Naively reading the docs for NIO, I'd expect both .exists tests to return true.  If I use a single slash after the scheme, it works as expected, but the docs example shows 2 slashes.  It does say that the container name has to be the first element of the URI path, but that's a little bit subtle.  Some warning that double slashes after the azb: scheme are not needed, and could be harmful would be helpful.
Setup (please complete the following information):

OS: Linux
IDE: None
Library/Libraries: azure-storage-blob-nio
Java version: [e.g. 8] 8
App Server/Environment: Clojure
Frameworks: [None

I

Thanks for filing this issue @ejschoen, could you provide a runnable code snippet so we can verify this behavior with the container path creations?

I did provide a code snippet in my submission above.  Maybe I misunderstood what you need--is there a reference to what you expect for code snippets somewhere?  Do I need to set up a couple of publicly readable storage containers, or do you maintain some that I can assume exist in a snippet?

Hi @ejschoen
We tried to reproduce the issue using what you gave us but we were unable to do so since the snippet you provided did not have a Path.exist() method. How are you checking the existence of the path? Can you provide us a working sample for us to directly run and reproduce?
Thanks!


Climsoft test database: wind speed and direction

In the short term, we need an example of wind speed and wind direction data in a tabular format similar to how it is stored in Climsoft's observationFinal table.

recordedFrom
describedBy
year
month
day
hour
obsValue

...
..
...
...
...
...
...

Ideally, we would also have the SQL commands to:
a) create the minimal set of required table(s) and insert the test data
b) select the wind speed and wind direction data (see an old, unparameterised, example here) :flushed:
Overtime, we will build up the Climsoft test database to include related station, element, instrument metadata etc.
See also #2, #3

An example SQL select statement from @martin_schweitzer for selecting wind speed and wind direction data from a table hourlyobs in wide format.
SELECT 0, 0, count(*)
  FROM hourlyobs
  WHERE wnd_spd = 0
    AND wnd_dir = 0
    AND stn_num = 1234
    AND lsd BETWEEN ’01-JAN-1960’ and ’31-DEC-1990’
    AND to_char(lsd, ’HH24’) = ’09’
  UNION
    SELECT trunc((wnd_dir + 22.5)/45) * 45 xdir, decode(trunc(wnd_spd * 3.6 /10), 1, 1, 2, 2, 3, 3, 4) xspd, count(*)
      FROM houlyobs
      WHERE stn_num= 1234
        AND wnd_spd > 0
        AND lsd BETWEEN ’01-JAN-1960’ and ’31-DEC-1990’
        AND to_char(lsd, ’HH24’) = ’09’
        AND wnd_dir is not null
      GROUP BY trunc((wnd_dir + 22.5)/45) * 45, decode(trunc(wnd_spd * 3.6 /10), 1, 1, 2, 2, 3, 3, 4)
      ORDER BY 1, 2

Wind direction (deg) and speed (m/s) in a script file for loading into Climsoft 'observationfinal' table. The data is from two stations (IDs = '00301AWS' and 'TA00019') for the period 2013-20218. Station metadata with at least the IDs must be created before loading the data.
SQL_Climsoft_observationfinal_wind_dat.txt


CSF's issue

When the number of csf is large, such as in the millions, the performance of the computer is difficult to meet. Is there any way to continue calculating?

You can refer to the GRASP2018 manual in the zip package. In this manual, program 'rcsfinteract' will reduce the number of CSFs by retaining only CSFs that interact with CSFs in MR. The chapter 14 may also be useful, although I have not read it in detail.
Hope these can help you!
Sincerely.


Catch up on yaml stuff

This has some late things along with my final presentation and repo keys

lgtm :+1:

:clock1130: :checkered_flag:


sparkapi and sparklyr

should we include these two or wait and see how things go?
if we include where should these go? Should we add these separately?

@eliasah

I'd rather that we wait. I'm not very certain about them.

Well, these have much stronger support than quite a few projects on the list.

if so, we should add them.

SparkAPI has been dropped so part of the problem resolved itself :)

@eliasah Just a friendly reminder that you committed to handle this :)

LGTM, I'll work on it. :)

@eliasah ping :)

Yes I saw it. :)

@eliasah Friendly reminder :)


Just a test

Just a test to trigger CI for the original version of #68 (since the AI is in azure I'm not sure how to restart CI for that commit). Just to see if test reports can be sent (see obspy/reporter#26)
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Larger test result reports are getting sent properly again, see obspy/reporter#26


[Enhancement] Choose which fields HE's table shows to users.

Some resources have a very large amount of properties. Some of which aren't relevant and only aid in the unreadability of HE's table output. In addition, property fields are sent as is, meaning that titles in the form of backlog_item_id are all over the place.
Provide a way to specify which properties you wish to show and under what title.
Something like this...
robot.makeTable data, [{title: "ID", property: "id"}, {title: "Backlog Item", property: "backlog_item"}]

This gives the developer complete control over how and what gets published.

https://github.com/eedevops/hubot-enterprise/issues/44


How to add the charging record which before the teslamate has installed?

Hi @tony06077,
This is a telegram bot which uses the MQTT topic of TeslaMate, but does not belong to TeslaMate. Your question needs to be raised here: https://github.com/adriankumpf/teslamate


PANIC: Broken AVD system path - incorrectly reporting when just one emulator is missing

@DanTup
Danny,
Thank you for all your hard work.
As you can see from the trace, one of my emulators is somehow messed up (problem for another day), but the error I got was very misleading. Just by chance I tried another emulator and it worked.
baseline$ flutter emulators
5 available emulators:

Android_ARMv7a
Android_Accelerated_x86
Nexus_5X_API_25_x86     • Nexus 5X      • Google • Nexus 5X API 25 x86
Pixel_2_XL_API_28       • pixel_2_xl    • Google • Pixel 2 XL API 28
apple_ios_simulator     • iOS Simulator • Apple

To run an emulator, run 'flutter emulators --launch <emulator id>'.
To create a new emulator, run 'flutter emulators --create [--name xyz]'.

You can find more information on managing emulators at the links below:
  https://developer.android.com/studio/run/managing-avds
  https://developer.android.com/studio/command-line/avdmanager

baseline$ flutter emulators --launch Android_Accelerated_x86

PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value
[/Users/baseline/Library/Android/sdk]!
baseline$ flutter emulators --launch Nexus_5X_API_25_x86
baseline$ WORKS!!

@anuhanovic Unfortunately this message comes from the Android SDK so it's hard for us to provide a better one (we could easily detect it, but we don't know what to replace it with, because we don't know what the underlying issue is).
You can probably confirm this by calling emulator directly:
emulator -avd Android_Accelerated_x86

In which case, I think the message would really need improving in the Android SDK.


feat(spinner): Added a spinner gif splash page

PR related to this trello task --> https://trello.com/c/8Rde76zI

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: