Test data being used for validation data?

Hey there,
In many of your examples you seem to be using the test data as validation data, wouldn't this create an overfitted model that is unable to generalise?
Example: https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py#L80

Validation data is not used for training (or development of the model). Its purpose is to track progress through validation loss and accuracy.

This is just a terminology used, it could also be called X_val and y_val. You would have to use another set of data (often called the test set) if you want to do some hyperparameters optimization.

No, no, no, no. This is incorrect.
The validation data needs to be separate to both the training and test data.
The results that this model gives are false as they are built to over-fit on the data, something that we shouldn't be suggesting is right.
Instead we should opt to use validation_split method in model.fit, before we confuse people further.

I think you are confused about the naming of the datasets. The results of each example are correct and the models are not overfitted since the validation data is not used in the fitting process. You just have less control using validation_split.
Take a look at those lines:
data fed to the _fit method using validation_data
data fed to the _fit method using validation_split
evaluation of the validation data
You could see that it's the same treatment for the data you pass in the _fit method if you choose validation_split or validation_data. Then you also see that this data is not passed to the _train method so the optimizer doesn't update the parameters with respect to this data.

Not quite what I meant, take a look here - this is directly taken from cifar10_cnn in the examples folder.
if not data_augmentation:
    print('Not using data augmentation.')
    model.fit(X_train, Y_train, batch_size=batch_size,
              nb_epoch=nb_epoch, show_accuracy=True,
              validation_data=(X_test, Y_test), shuffle=True)
else:
    print('Using real-time data augmentation.')

Surely this is an incorrect method of training our models, as the entire point is to produce models that are able to generalise in classification tasks - and by validating on the test dataset then the network will have already seen it, making the evaluation of the models incorrect.

Ok I don't think I understand your point, so let's summarize:
Are you saying that the the validation data should be fed to the fit method like this?
if not data_augmentation:
    print('Not using data augmentation.')
    model.fit(X_train, Y_train, batch_size=batch_size,
              nb_epoch=nb_epoch, show_accuracy=True,
              validation_data=(X_val, Y_val), shuffle=True)
else:
    print('Using real-time data augmentation.')

Yes.
The entire point of cross validation is that the network trains on training data, validates the training using a separate validation test set and then evaluates the performance of the model on another separate test set.
These networks are unable to effectively generalise, as they have already seen the test data.

Another comment was made about this here https://github.com/fchollet/keras/issues/916 where Francios stated it was just an example of

real-time monitoring

What on earth does that even mean?

I think this is just a nomenclature issue. The correct way to train a net is to have 3 data sets: train, validation, and test. The training set is obvious. The validation set is checked during training to monitor progress, and possibly for early stopping, but is never used for gradient descent. The test dataset is the best measure of the network accuracy, and should only be used once, once all training is finished.
So I think the issue is that, strictly speaking, the dataset in that cifar example is a validation dataset, not a test dataset.

My point is that it's extremely misleading. Take mnist_cnn.py for example.
model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch,
          show_accuracy=True, verbose=1, validation_data=(X_test, Y_test))
score = model.evaluate(X_test, Y_test, show_accuracy=True, verbose=0)

The header of the python file claims that the model is able to achieve:

99.25% test accuracy after 12 epochs

Well of course its able to, it's badly over-fitted!

You seem really confused. I don't think this discussion is going anywhere. I suggest you to go back to the basics of machine learning, and not to put so much weight on slight discrepancies between naming conventions in your textbook and in the real world.

I think you're missing the point entirely.
The problem is that I believe that a few of the examples are misleading. Look at mnist_cnn.py for example, you perform validation on the test set and then evaluate its performance after the run.
This model has been trained and tested incorrectly, and for people attempting to get to grips with things is a little bit confusing.

I agree with KeironO. The point is that in these examples test data is used as validation data and this is wrong.
For example:

99.25% test accuracy after 12 epochs

How did the number 12 appear? After 12 epochs the model showed a worse performance on the validation data? In this case it literally means "train the model until the performance on test data starts to go down".

The entire point of cross validation ...

@KeironO Those examples do not use cross validation, just a classic train/test data split. Consequently no actual overfitting happened, in the worst case it was used in the sense @neggert or @jgc128 described -- to monitor progress to set the nb_epochs = 12. But maybe this did not happen, the author of the example did not monitor progress to manually tweak nb_epochs and just left it at value 12 from the beginning. Strictly speaking in the first case it is a validation dataset used for manual tweaking and in the second it is a test dataset.

@KeironO  take a close look at what @neggert said : "The validation set is checked during training to monitor progress, and possibly for early stopping, but is never used for gradient descent."
Indeed, the data set fed to the argument "validation_data" of model.fit() in Keras is never used for training. Using test data for this validation is SAFE.

@fchollet, I was wondering why there was no third dataset too. I expected training, validation, and test datasets. As it's currently written, mnist_cnn.py puts the test data into the validation data slot:
model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch,
          verbose=1, validation_data=(X_test, Y_test))

which will confuse some people like @KeironO and risk leading others astray. For example, someone could make a change to mnist_cnn.py, run the program, and decide whether or not to keep their model changes based on the change in the test dataset accuracy. A novice may even be nudged toward that pitfall since the tutorial program explicitly states that "there is still a lot of margin for parameter tuning". As the TensorFlow MNIST tutorial and Yann LeCun suggest (see below), a separate validation dataset should be used for tuning purposes, not the test data.
Tensorflow's MNIST tutorial uses 5,000/60,000 training images as a validation set:

The downloaded data is split into three parts, 55,000 data points of training data (mnist.train), 10,000 points of test data (mnist.test), and 5,000 points of validation data (mnist.validation). This split is very important: it's essential in machine learning that we have separate data which we don't learn from so that we can make sure that what we've learned actually generalizes!

Yann LeCun, who helped to develop the MNSIT dataset, and others came up with a state-of-the-art result on MNIST in the paper What is the Best Multi-Stage Architecture for Object Recognition?, in which they discuss their use of a validation set:

experiments were run on the MNIST dataset, which contains 60,000 gray-scale 28x28 pixel digit images for training and 10,000 images for testing... A validation set of size 10,000 was set apart from the training set to tune the only hyper-parameter: the sparsity constant λ... The system was trained with a form of stochastic gradient descent on the 50,000 non-validation training samples until the best error rate on the validation set was reached (this took 30 epochs). It was then tuned for another 3 epochs on the whole training set.

Granted, mnist_cnn.py does not violate any machine learning principles I'm aware of because it's not tuning a parameter or the model by checking the test data. Nevertheless, the tutorial is currently structured so that someone might adopt that incorrect practice, and the tutorial has clearly confused some people already.
All of this said, I propose modifying the tutorial program to use validation_split, which is described in the Keras documentation as:

validation_split: float (0. < x < 1). Fraction of the data to use as held-out validation data.

I suggest using the same amount of validation data as the TensorFlow tutorial, which is 5,000/60,000 images, or 1/12. I tested the program using this modification and obtained 99.00% test data accuracy. I then ran 3 more epochs using all 60,000 training images, which is the process that LeCun used and described above, and reached 99.09% accuracy. This can be seen in the picture below.

A pull request to incorporate this change is #2899. Please let me know if you have any questions, or if you would like me to make a modification.

The example is technically correct but only until someone starts to optimize hyperparameters manually without reimplementing the fit call to use validation_split. In that case people will overfit to the test data. So why not directly implement the split (like @bbartoldson suggests) as this is guaranteed to confuse absolutely noone and reduce the risk of students/novices adapting bad practices.

I agree with @talpay, i'ts important to make the example didactic for novices, who probably will want to optimize hyperparameters (like the code comments suggests). Just adding the parameter validation_split on fit method will solve the problem, like @fchollet shows.

I think the model.fit method (and documentation) is misleading. It's not that obvious that the "validation_data=(X_test, Y_test)" is used only for documenting progress and none optimization is made using that data. In fact, if you are going to feed a "training" function like fit (i know, its not the training function, but similar) with a train and test set, you should state CLEARLY why are you doing that, and what use is given to this test(or validation) data.

I've never raised this issue, but actually, this is something I have just been ignoring in all the Keras examples. There is a reason elaborate cross-validation techniques were developed. If you could just train a model and evaluate it's performance on the test set, all the heaps and bounds of research done should be deemed useless: we have access to both training and test data. Maybe some one just used up the test set itself!!!. Actual test of the model is GENERALIZATION, not accuracy numbers on the train or even validation set to some extent. If the same methodology was adopted in all research work (since the issue arised with CIFAR and MNIST sets in mind, let's take their example), i.e we were continuously updating Network parameters based on the test set acting as a validation set, we aren't training a model that generalizes well, we are creating a model that generalizes well ON THE TEST SET ITSELF. Let's assume that a model you trained on CIFAR10 in this way then encounters new unseen data, which should be the purpose of the model in the first place: I don't believe the performance will be the same.
The reason I have been ignoring this, is because I know that the sole purpose of an example is to demonstrate how the API is capable of training time validation, and I know the difference AND THE NEED for separate validation set. Also, in all the examples ever presented in keras documentation, NO OVERFITTING EVER HAPPENED, since we didn't update the hyperparameters, and the validation data is not used by the network being trained.
So the issue itself is not at all that in vain. It can be misleading. (as it has proven to be for KeironO).

@fchollet  why there is a test folder in keras code..what is the use

@harikrishnavydana You mean unit tests for Keras?
Otherwise, stop posting non-relevant comments to closed issues!!!

yes i was asking for unit tests @gw0

Is monitoring the validation loss to reduce the learning rate when it reaches a plateau not considered tweaking the parameters ? So it that case aren't we peeking into the test data (validation data is the case of keras) which would eventually lead to overfitting?

@bbartoldson and @KeironO  are 100% correct, period. However these small discrepancies should be ignored in the examples as they are just examples to demonstrate how fitting with a validation set works. In real life having access to a test set and using it to inform model architectures and other hyper parameters decisions leads to overfitting guaranteed. This is common ML knowledge and detracting opinions are simply/utterly wrong...the evidence at this point in ML is daunting.
That said I dont think the focus of the examples is to show the pitfalls of overfitting due to improper validations schemes. That should be well understood prior to building any models, nevermind powerful function approximators that can memorize noise in data.

The reason @fchollet used test data in validation is correct in a way. If we look into the basics of machine learning "Validation is a process of tracking record of loss and accuracy" which will help us tuning and choosing better hyper parameters. So in a way in the mnist_cnn.py example for validation calculation test set passed and used.
The only confusion that occurs is to the beginners. As it has been taught and is usually correct that test data should not be used in case of measuring anything as the real problem arises when you adjust hyperparameters such as learning rate based on the validation scores. By doing this you have incorporated validation data into your model and the scores are no longer independent.
Therefore, If you want an unbiased estimate of the final score you would need a separate test set.
Also @bbartoldson @gw0 's opinion about the subject matter is correct.

So, after this long discussion... If I have 3 datasets: (train, valid and test) how can I explicitly tell to Keras to use those?  Is it right the below snippet? I've been using this kind of approach for several months.  @fchollet @mohapatras
model.fit(x_train, y_train,
          batch_size=batch_size,
          epochs=15,
          validation_data=(x_valid, y_valid))

score, acc = model.evaluate(x_test, y_test,
                            batch_size=batch_size)

@Rafael,
Nothing wrong with that at all. As long as you don't use score,acc to
update your hyper-parameters. I mean you can but it may give you an overly
optimistic view.
On Tue, Aug 15, 2017 at 5:52 PM, Rafael Antonio Ribeiro Gomes <
<EMAIL_ADDRESS>wrote:

So, after this long discussion... If I have 3 datasets: (train, valid and
test) how can I explicitly tell to Keras to use those? Is it right the
below snippet? I've been using this kind of approach for several months.
@fchollet https://github.com/fchollet @mohapatras
https://github.com/mohapatras
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=15,
validation_data=(x_valid, y_valid))
score, acc = model.evaluate(x_test, y_test,
batch_size=batch_size)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/1753#issuecomment-322600069,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANU-SsXh9zCoWEnix_aE8jv3Nljp7lq_ks5sYhMJgaJpZM4HdAj4
.

Improper use of test set is improper. I think using that validation_split parameter is also easier for beginners to learn than using test data set as validation set. Beginners will really be confused at that misuse of test set as validation set, especially when they dive into hyper parameter. Please update the code before it misleads more people.

My vote is with @TohnoYukine, would be a best approach for beginners to use validation_split.

Instructive discussion as I am resolving the same kind of issue with a project I'm on. Using [testX, testY] in the validation set does not affect the gradient descent (it is only done on the training set). And I get the same results for gradient descent if I don't provide a validation_data argument, assuming I choose to run the model past the test sets separately.

Good discussion on a often misunderstood topic.  These example programs like MNIST are important because many developers new to ML use them as the basis of their actual applications, so we should strive to reflect best practices as space/time permits.
@AnanyaKumar makes a good point about the splits being used at different time scales.  The best practice here is to use your train and validation (aka dev) sets for running all of your experiments, trying different hyperparameters, architectures, etc.  Then, when you are done experimenting and have chosen a model and all its hyperparmeters, and you are ready to "spend" your holdout test set on a single, one-time evaluation, you combine your train and validation set into a single training set and do a final training and then, you evaluation of your test set and report it's accuracy.
To support the above, I propose that the majority of Keras examples like MNIST be focused on running training experiments with train and validation data splits, reporting their final results as "validation accuracy" (or whatever metric is being reported).  In addition, maybe there can be 1 or more examples that show how to do the final training and test evaluation, clearly labeled as such.

The best practice here is to use your train and validation (aka dev) sets for running all of your experiments, trying different hyperparameters, architectures, etc. Then, when you are done experimenting and have chosen a model and all its hyperparmeters, and you are ready to "spend" your holdout test set on a single, one-time evaluation, you combine your train and validation set into a single training set and do a final training and then, you do an evaluation of your test set and report it's accuracy as such.

I think this sums up pretty well the confusion generated by the keras examples. For model development and hyperparameter tuning, train on train set and validate on validation set. For the final model, train on train+validation set and validate on test set.

Any training based on a validation set is deeply corrupt and fails both rudimentary and practical 101 principles.
The number of people calling this a nomenclature issue is bewildering.  This is basic practice.  Under no circumstance is including a validation set a "best practice."
That defies the core concept of a validation set.  As soon as it has been included in the training in any way, it is no longer a validation set, and you have no correct mechanism for validation.
This is easily tested.  Just do the same job twice, by making two validation sets.  One is your standard validation set.  The other is a set for validating your development approach.
Now, set the second validation set aside.  Do the same training in two batches of ten, once with the first validation set included, the second time without.
Let those run with whatever automatic hyperparameter tuning you want, as long as it's the same kind for both batches.  No manual hyperparameter tuning, because then you might accidentally be doing a better job on one than the other, without intent.
Next, when both batches have given the same amount of work to every item inside, call a stop.
Now, use the second validation set to see which items in the batches did a better job: the ones with the first validation set included, or the ones without?
You're going to see dramatically, embarrassingly more overfitting in the batch including validation than the batch not.
I'm really pretty horrified that, years later, this is still closed incorrectly.  Someone should have stepped in by now.  Students have been making decisions on the basis of the names in this thread for years, and if you go to any college professor worth their salt and ask this question carefully to not imply either answer, 95% of them are going to disagree with the way this thread plays out.
It is not the case that this thread has it right.

Edit: there are apparently many more people who are confused about the purpose and usage of validation data and test data in machine learning. If you need a textbook to learn about these concepts, please see my book Deep Learning with Python.

Every single person in this thread understands how the split process works. Around half of the people in this thread understand the intention behind the code and are saying that it is misleading and can lead to incorrect usage very easily (evidenced by the other half being confused about the code). Even after 4 years, you still seem to be reading this as people saying the code is technically incorrect and people therefore not understanding the basics. With many posts going so much into depth as to explain their position and you still misconstruing their positions and giving condescending arguments like "git gud, read my book", it really feels like you're just acting in bad faith and are more concerned with "being right" than maximizing the amount of people that benefit from the code.


Post Caption at the top of a post missing on Desktop Version

Describe the bug
"Post" caption at the top of a post missing on Desktop Version
Screenshots

Details

Platform version: Web App
App version: 1.80.0

AFAIK this is entirely intended as the back button is in a different place, and therefore there isn't much of a need to have a bar there.


Markdown links to markdown files will be broken if the file name does not contain space but is surrounded by <>

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
Per CommonMark, [Haha](../hehe.mdx) and [Haha](<../hehe.mdx>) should be the same (if the path to file contains space only the latter will work, nevertheless.)
In Docusaurus 3, if the file path contains space only the latter syntax will work; however, if the file path does not contain space, only the former syntax will work and the latter will result in broken link.

Reproducible demo
No response
Steps to reproduce

Open docusaurus.new
In docs/tutorial-basics/congratulations.md,

- Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
+ Have **5 more minutes**? Take a look at **[versioning](<../tutorial-extras/manage-docs-versions.md>)** and **[i18n](<../tutorial-extras/translate-your-site.md>)**.

yarn build

Expected behavior
As if nothing has changed
Actual behavior
Broken links found
Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4): NodeJS 20
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[ ] I'd be willing to fix this bug myself.

I've tried to create a repro here
Indeed link surrounded by <> will be broken, however I could not get the link with space to work with <>

I've tried to create a repro here
Indeed link surrounded by <> will be broken, however I could not get the link with space to work with <>

I checked this reproduction and these two links work on my end, which is the expected behaviour? The second link looks weird in the editor though.
[page](./page.md)
[page](./page.md)
[space](./page space.md)
[space](<./page space.md>) <-
[space](page space.md)
[space](<page space.md>) <-
[space](./pagespace.md)

hmmm 🤔 I thought we fixed this bug in https://github.com/facebook/docusaurus/issues/8867 but apparently it's back despite unit tests? Need to be investigated

I think the regex only matches links with both <> and spaces... Not sure exactly how

hmmm 🤔 I thought we fixed this bug in #8867 but apparently it's back despite unit tests? Need to be investigated

It was replaced by a plethora of big regexps which I found it powerful enough by looking at it while realising at the same time I am too stupid to comprehend it
https://github.com/facebook/docusaurus/blob/8dd1e13f2aceffcd82e2dcf1f409082fa99c2eff/packages/docusaurus-utils/src/markdownLinks.ts#L123-L137

@axmmisaka I've submitted a PR: https://github.com/facebook/docusaurus/pull/9617
The regex evolved over time. Now it's probably not a good idea to reason it from scratch😅


Layout examples

Porting SUI layouts examples

@levithomason Would like your thoughts on current implementation before i continue with the porting
issues

Routing
Showing source for layout examples

Current coverage is 99.73% (diff: 100%)

Merging #1039 into master will increase coverage by 3.62%

@@             master      #1039   diff @@
==========================================
  Files           847        140    -707
  Lines          4710       2304   -2406
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           4527       2298   -2229
+ Misses          183          6    -177
  Partials          0          0

Powered by Codecov. Last update c7fc9d4...4e045f8

Here's what I'm thinking.
Structure
We put layout examples in /docs/app/layouts to keep them separate from the component examples.  Then, we make the routes dynamic by creating a Webpack context of this directory.
I'm thinking the layouts need to render as a full page view without the sidebar in order to be effective.  I'll need to rework some components to make this happen.
Showing source
Again, I think this needs to be done differently that in the current examples.  What if we showed a circular floating button in one of the corners of the every layout, when clicked, we could show the source.  Perhaps we would show source in a modal over the layout itself, or, we could toggle the entire page from the rendered view to the source editor and back.
I think the primary concern here is that the source will be very large so we'll likely need to take up the entire page, or at least most of it.

If you can move the layout to be in the directory structure proposed above, I'll come back to this PR and update it to handle the routes and showing source for layouts as soon as I can.

I agree on the layouts being full page view
I think we can toggle between the view and the source editor for showing source

Great!  If you want to take a stab at any of that, please do.  Otherwise, I'll get to this as soon as I am able.

I'm adding route support for the view ATM, I'll address some of the other issues as well.

OK, I've stubbed out the routes and layout files themselves.  I also included a back button automatically for the layout views.  You should be good to simply update the layout files.  Let me know if you run into any issues 👍

@levithomason thanks alot

No problem, ping me when the other layouts are in and I'll make sure to get the full page source and editor going.

@levithomason the file routes.js has changed quite significantly and I have alot of conflicts on it

Yep, I'll label this issue for assistance and @layershifter or myself will get to it soon.

I've updated to latest master, updated routes and performed some fixes. LGTM.
I will review existing layout examples.

I've updated the start comment with TODO, working on other examples.

@layershifter thank you for fixing the issues. I updated the checklist I had four layout examples left and some styling for the existing ones.

@iamcaleberic Thanks for the follow up. I updated checklist again, I saw that we have some existing examples, however I mark only that I checked.

@layershifter managed to get all the layouts up but without styling

@layershifter thanks for the assist in completing this....

Thank you @iamcaleberic and @layershifter for pushing this one over the finish line!

Released in<EMAIL_ADDRESS>

This is awesome! Thank you so much for this contribution, I've been looking for full blown layout examples. I was wondering, I noticed the "Home Page" example on regular SUI has a responsive hamburger menu, does SUI React not support this?


draft/PYPE-611 build workfile

added initial version of wokrfile build schema for maya (as an example)

I like the schema, it's a bit convoluted, but there isn't many better option if we wanna keep it flexible enough.


Could not load file or assembly 'Xbim.Geometry.Engine.dll' or one of its dependencies. The system cannot find the file specified.

Hi,
We have downloaded the demo source from the below link:
https://github.com/andyward/XbimWebDemo
Currently we have followed the below steps:

Download the given MVC solution.
We have build the given MVC solution in Visual Studio 2017 with Framework 4.7.
Build succeeded.
If we run the solution we have received the below error. (but if we build the solution, it will be succeeded)

We have also tried to download the Xbim.Geometry.Engine.dll from nuget packages - it shows the Xbim.Geometry.Engine.Interop was already installed.
Could you please help us to resolve this issue.
Thank you in advance.

There was a sequencing issue in the build of the master branch. Try getting the latest now.
Basically I added an msbuild step to fix the Geometry Engine deployment issue (where both x86 and x84 were deployed, as raised in XbimGeometry#216) .
To use this approach in your own code, you'd need to apply this same fix in any csproj project you have (by manually editing the csproj). e.g. append this:
<PropertyGroup>
    <XbimCustomBinPath>native\</XbimCustomBinPath>
  </PropertyGroup>
  <Import Project="..\packages\Xbim.Geometry.Engine.Interop.5.1.254\build\net47\Xbim.Geometry.Engine.Interop.targets" Condition="Exists('..\packages\Xbim.Geometry.Engine.Interop.5.1.254\build\net47\Xbim.Geometry.Engine.Interop.targets')" />
  <Target Name="PostXbim">
    <ItemGroup Condition=" '$(Platform)' == 'x86'">
      <GeometryEngineFiles Include="$(OutputPath)$(XbimCustomBinPath)Xbim.Geometry.Engine32.dll">
      </GeometryEngineFiles>
    </ItemGroup>
    <ItemGroup Condition=" '$(Platform)' == 'x64'">
      <GeometryEngineFiles Include="$(OutputPath)$(XbimCustomBinPath)Xbim.Geometry.Engine64.dll">
      </GeometryEngineFiles>
    </ItemGroup>
    <Message Text="PostFix @(GeometryEngineFiles)" Importance="high" />
    <Copy SourceFiles="@(GeometryEngineFiles)" DestinationFiles="@(GeometryEngineFiles -> '$(OutputPath)%(Filename)%(Extension)')" />
  </Target>
  <PropertyGroup>
    <BuildDependsOn>
      $(BuildDependsOn);
      PostXbim;
    </BuildDependsOn>
  </PropertyGroup>

A better solution is to use the code develop branch, where I'm referencing the latest Xbim.Geometry version (5.1.268-develop) from Myget which contains a proper fix, and won't require editing the csproj.
This 5.1.268-develop version of Geometry is not in Nuget yet, but should be published in the next few weeks. Myget is a pre-release Nuget for us. If do you use Myget, the best approach is to add a nuget.config file to the solution root as I've done in the develop branch

Hi,
Thanks for your suggestion.
Already the csproj contains the above mentioned code.
But still we have faced the same issue.

Hi,
Is it possible send us the latest version of dll (5.1.268-develop version of Geometry) ?
Thank you in advance.

No. It won't contain that code. I only wrote it yesterday. (You will have the import line)
Please use the code from the develop branch. That will be easier for all concerned as it'll "just work"
Sorry, I'm not sending dlls about. Use Nuget (Myget in this case). To be really clear:

Switch to the develop branch of this repo.
Clean your bin folder
Make sure it runs - let me know if it doesn't
Use that as the basis for what you're doing
Don't add in arbitrary DLLs from random sources

Hi,

We have taken the latest source from develop branch.
Build the solution and the build was succeeded.

Still we have the same error.

Our main aim is to convert the IFC file to wexbim file. We have already used the DLLs available in the XbimWebUI-master solution. But this is working fine when we have set the enabled 32 bit applications as true in IIS APP pool.
But if we set the enabled 32 bit applications as false - we have received such types of errors.
Below is the code we have used for IFC to wexbim conversion.
protected void ConvertIFCtoWEXBIM(string filePath)
{
var IfcTestFile = filePath;
//using (var model = IfcStore.Open(Server.MapPath(@"SampleHouse.ifc")))
using (var model = IfcStore.Open(IfcTestFile))
{
var context = new Xbim3DModelContext(model);
context.CreateContext();
            var wexBimFilename = Path.ChangeExtension(IfcTestFile, "wexbim");
            using (var wexBiMfile = File.Create(wexBimFilename))
            {
                using (var wexBimBinaryWriter = new BinaryWriter(wexBiMfile))
                {
                    model.SaveAsWexBim(wexBimBinaryWriter);
                    wexBimBinaryWriter.Close();
                }
                wexBiMfile.Close();
            }
        }
    }

We have taken the latest source from develop branch.
Build the solution and the build was succeeded.

Still we have the same error.

What is the error? How are you running this program to get this error? What O/S etc?

But if we set the enabled 32 bit applications as false - we have received such types of errors.
Below is the code we have used for IFC to wexbim conversion.

The code is fine. Nothing to do with your code. It's a deployment issue.
The code behind context.CreateContext invokes a managed C++ library compiled for the given processor type. (x86 = 32 bit. x64 = 64 bit). If you change the App Pool process between 32 & 64 bit you need to switch the correct xbim.geometryengine.dll. 32 bit IIS needs the 32 bit geometry engine.

If there's no geometry engine DLL found in bin it'll fail.
If both 32 & 64 bit are in the web apps's bin folder it'll also fail (because IIS loads all DLLS)

Does that give you enough to go on? Sorry I can't really offer any more problem solving time. It sounds like is has worked before and doesn't now, so hopefully you can work out the differences.

Hi,
We have used Windows 10 enterprise - 64 bit operating system.
We have received the below error if we use the "'Xbim.Geometry.Engine64".
We have not used MVC framework. We have used this code in button click event (aspx.cs file)
We have received the below error.

That's not the code from this repo. I can't debug your code from screenshots, especially if you've been pulling DLLs from random sources (You've got incompatible DLLs. )
My suggestion is you get this repo's code running in 32 bit. Then build for 64 bit and prove you can run that under IIS. Then follow the same approach (using exactly the same nuget packages) in your project. MVC is irrelevant. (It 's not a code problem - it's a deployment/environment problem)


Suggestion register after page loaded

On the service-worker-registration.js
Delay registration until after the page has loaded, to ensure that our precaching requests don't degrade the first visit experience.
See https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/registration they recommend doing this so...
if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/service-worker.js');
  });
}

Ah great, will add this as a strategy when I have time :)

I like that approach! But, as the linked article suggests...

Similarly, if your web app uses a framework that performs additional setup after the page has loaded, look for a framework-specific event that signals when that work is done.

... shouldn't this be done even after Ember has booted and the first render has happened (e.g. scheduled afterRender in an initializer)?

if it's async, does it matter if ember has finished booting?


Bump to v0.43.0

Guess we'll have to delay this anyways, there's a pretty significant bug to fix before a new release unfortunately

Green

That's a weird looking word if you focus on it. Greeeeeeeeeen. Eeeeeen


Logon is a Sub not a Function

Example for this function shows it returning a boolean success variable but this is a Sub not a Function so nothing is returned.

it should be the case that it should return a success boolean. will have to take a closer look.


Refactor report controller/views to remove local calculations

Summary
Inspired by View::Inventory, let's refactor report controller/views to incorporate all the queries into a single object (or set of objects) that can be passed down in the view. Look for any calculation, including things like sum and count in the view...
Having a view object which we can calculate allows us a) to not have to deal with five or more instance variables and just have one, and b) to centralize all the logic that calculates that one view object.
Things to consider
No response
Criteria for Completion

[ ] Reports controller/views should have minimal calculations
[ ] Unit tests on calculations

It should also make any effort to speed up the things easier -- and a couple of the reports desperately need some speeding up.

@awwaiid does this apply across all the bits we are putting under reports with dashboard, or is it just the annual report?


neighbors.py

@salam99823 I missed the significance of the python file added to the repo recently, neighbors.py would you mind explaining it?

I added it by accident, i check in ipython with it some cases of neighbors when something went wrong.

ah! okay, not a problem at all.


[IntelliJ Plugin] Add support for 1.0.0-beta grammar changes and fix minor plugin grammar issues

Purpose
$subject.
Fixes #17213.
Fixes #17418.
Fixes #17689.
Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #17979   +/-   ##
=======================================
  Coverage   15.16%   15.16%
=======================================
  Files          46       46
  Lines        1213     1213
  Branches      189      189
=======================================
  Hits          184      184
  Misses       1015     1015
  Partials       14       14

Continue to review full report at Codecov.

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


Incorrect request store API

PHP Version
8.2
Shopware Version
<IP_ADDRESS>
Affected area / extension
Platform(Default)
Expected behaviour
We have been able to read the IDs of certain products with a request via the Store API. This also worked until the update to the version mentioned.
Actual behaviour
Now, instead of the ID of the product in the response, we unfortunately only receive the following error. However, we do not use any IDs here and the response is unsettling.
{
    "errors": [
        {
            "status": "500",
            "code": "FRAMEWORK__INVALID_CRITERIA_IDS",
            "title": "Internal Server Error",
            "detail": "Invalid ids provided in criteria. Ids should not be empty. Ids: Array\n(\n)\n.",
            "meta": {
                "parameters": {
                    "ids": "Array\n(\n)\n",
                    "reason": "Ids should not be empty"
                }
            }
        }
    ]
}

How to reproduce
curl --location --request GET 'https://sw6.demo.de/store-api/product' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'sw-access-key: SWS...' \
--data '{
    "filter": [
        {
            "type": "equals",
            "field": "productNumber",
            "value": "77903"
        }
    ],
    "includes": {
        "product": [
            "id"
        ]
    },
    "limit": 1
}'

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-38130
[created from NEXT-38130, comment 492072]


Jenayah: Watch (?i)depo ?fashion

Jenayah requests the watch of the watch_keyword (?i)depo ?fashion. See the MS search here and the Stack Exchange search here.

(?i)depo ?fashion has been seen in 1 true positive, 0 false positives, and 0 NAAs.

This was added as a somewhat different regex: depo[\W_]*+fashion\d*


Wget Update 1.24.5

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_b1mh5x1chi/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:24: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_75g0ku1pzd/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:24: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
===== Final Report: =====
0 Errors and 1 Warning were found


volar.config.js in not read if not in root folder

hi,
We have a project with frontend and backend folder. Volar.config.js is in the frontend folder, but it has no effect when I open the whole project in VS Code. When I open the frontend folder only, it's working.
Is there a way to specify where volar.config.js is located?
thanks,
Kornel

As a workaround: create a volar.config.js in your root folder and re-export the actual config.

Ah, there is a vue.server.configFilePath config. @grofzero Could you try it?

@so1ve Thank you, it's working🎉

Let's close this issue :)


Virt operator: narrow down interfaces

What this PR does
There is no need to hold informers, narrowing down
the interface can decrease the probability of making
a mistake. It also simplifies the controller and unit
tests.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

@xpivarc @0xFelix please have a look, since  you approved https://github.com/kubevirt/kubevirt/pull/12529
This PR looks sane to me, but I'd like to get more eyes on it before approving.
Thanks!


nixos/profiles/minimal: set programs.ssh.setXAuthLocation with mkOptionDefault

Fix https://github.com/NixOS/nixpkgs/pull/341734#issuecomment-2416239664

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This option’s default is set as follows:
    programs.ssh.setXAuthLocation =
      lib.mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11 == true || config.services.openssh.settings.X11Forwarding);

All of those options are set to false by default. If services.xserver.enable is turned on then it is harmless to turn on programs.ssh.setXAuthLocation, and the other two require programs.ssh.setXAuthLocation to be set. Therefore, this line should simply be removed entirely.

@SuperSandro2000 added this in https://github.com/NixOS/nixpkgs/pull/341734, is there any background about why adding it?

I think it was just an oversight. Previously it was set without mkDefault by environment.noXLibs which attempted to enforce the absence of X11 libraries in the system closure, so presumably the hard failure was intentional. Once it became weakened to mkDefault because of my review feedback, it stopped having any useful effect.


[Enhancement]: Upgrade mockserver-client-java and fix MockServerContainerRuleTest

Module
MockServer
Proposal
Context:
MockServerContainerRuleTest fails when upgrading to 5.14.0. It is recommended to use the same server and client version. Currently, MockServerContainerTest uses MockServerClient.class.getPackage().getImplementationVersion() to get the version and use it as a tag in the docker image. This approach is different from MockServerContainerRuleTest and that’s why it fails.
Proposal:
Read MockServerClient.class.getPackage().getImplementationVersion() and use it as a part of the tag in MockServerContainerRuleTest.

Hi @eddumelendez
With 'org.mock-server:mockserver-client-java:5.14.0' dependency the MockServerClient.class.getPackage().getImplementationVersion() returns 5.14.0 but there is no jamesdbloom/mockserver docker image published with 5.14.0 tag yet (https://hub.docker.com/r/jamesdbloom/mockserver/tags).

@sivaprasadreddy thanks! I've updated the description in order to use mockserver/mockserver

@eddumelendez Created a PR https://github.com/testcontainers/testcontainers-java/pull/5977


[5.9] ManifestSourceGeneration incorrectly writes out DriverKit instead of driverKit (#6405)

This is a SwiftPM 5.9 nomination of #6405.
rdar://107795051
(cherry picked from commit 5d83b595f9650c2f477fe757907d80265df6ad33)

@swift-ci please smoke test


📃: Age Calculator Project

:red_circle: Title : Age Calculator
:red_circle: Aim : Maths conecepts using in JS
:red_circle: Tech Stack Used : HTML,CSS and javaScript
The age calculator website accurately computes and displays your current age, providing a comprehensive breakdown in years, months, days, hours, minutes, and seconds. All you need to do is enter your date of birth, and the application will swiftly present the detailed age information. Stay informed and empowered with this intuitive age-tracking tool.
Screenshots 📷

:white_check_mark: To be Mentioned while taking the issue :

Full name :  G Avineshwar
What is your participant role? (Mention the Open Source Program name. Eg. GSSOC, SSOC, JWOC, etc.)GSSOC

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎
@Avdhesh-Varshney , assign me this issue make contribution to the project.
Thank you

@GAVINESHWAR follow the guildeines properly before raising the issue.
No calculators accepted.


Support for default errno of seccomp

opencontainers/runtime-spec#1087

I will fix this. I already made changes to the spec, so this should be easy.


DynamoDb backend

Finishing the work started at https://github.com/pallets-eco/flask-caching/pull/334

fixes https://github.com/pallets-eco/flask-caching/issues/333

Test cases for MAC instance now takes longer to run due to extra time to setup docker (required to run dynamodb local)

Checklist:

[x] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[x] Add or update relevant docs, in the docs folder and in code.
-[x]  Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[x] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[x] Run pytest and tox, no tests failed.

LGTM, thanks for the work @wangsha ! Once dep conflicts are solved this should be good to go


Adding endangered columns rop procedures - DONT MERGE

Left it here so that we can look into why build is failing. I will raising new PR once other ROP/Procedure things are done..


Upgrade scss_lint to 0.49.0

This release includes https://github.com/brigade/scss-lint/pull/807
which resolves https://trello.com/c/X5vm6CGI.

@teoljungberg Does is include your change for backticking @else?
One question, LTGM.

:+1: 🎐

Does is include your change for backticking @else?

@gylaz Damn straight - that's also included in the commit message.

🚢

Merged this as e41adf8047a1648a00a3501b53d1b01bd9943c3d. Thanks @teoljungberg ❤ !


Table: Shift select rows multi selection

Description

Added Multi selection of rows via shift + arrow keys up and down when row selection is enabled
Note: Multiple selection via click is already handled

References
Fixes #2883
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

How Has This Been Tested?

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

@ElishaSamPeterPrabhu Unchecking the checkbox does not deselect the row .

Fixed the issue, Can you have a look?

When multiple is false

@jewel-shajan
Still doesn't work with large dataset, Please carry out the other tests

When multiple is false

@jewel-shajan Still doesn't work with large dataset, Please carry out the other tests

@ElishaSamPeterPrabhu Even when "multiple" is set to false, using Ctrl or Shift + Up/Down arrow still selects multiple items. Additionally, when unchecking the checkbox, the row selection remains.

When multiple is false

@jewel-shajan Still doesn't work with large dataset, Please carry out the other tests

@ElishaSamPeterPrabhu Even when "multiple" is set to false, using Ctrl or Shift + Up/Down arrow still selects multiple items. Additionally, when unchecking the checkbox, the row selection remains.

@jewel-shajan addressed the issues

@jewel-shajan Updated the selections based on this discussion https://github.com/trimble-oss/modus-web-components/issues/2883#issuecomment-2514793896

When pagination is enabled, if we select rows from multiple pages, the selection changes randomly when switching between pages.

@jewel-shajan ,Addressed these issues.

@ElishaSamPeterPrabhu When the expandable row option is enabled and the row selection option is set to multiple: false, the event emission does not behave as expected.

@ElishaSamPeterPrabhu When the expandable row option is enabled and the row selection option is set to multiple: false, the event emission does not behave as expected.

@ElishaSamPeterPrabhu When the expandable row option is enabled and the row selection option is set to multiple: false, the event emission does not behave as expected.

Addressed the issue


feat: adding abstract, readonly and additional public/protected/private groups

Added the additional groups:
'public-abstract-property'
'protected-abstract-property'
'abstract-property'
'public-abstract-method'
'protected-abstract-method'
'abstract-method'
'static-public-property'
'static-private-property'
'static-public-method'
'public-constructor'
'protected-constructor'
'private-constructor'
'public-property'
'public-method'

@azat-io As mentioned in https://github.com/azat-io/eslint-plugin-perfectionist/issues/190,
I am adding abstract groups as well as some other missing groups that I think would be useful. We could also add readonly as per https://github.com/azat-io/eslint-plugin-perfectionist/issues/193.
Do you think the number of official groups would be too much?

@azat-io The number of conditional branches is growing exponentially as we allow new modifiers to be added (in this case, abstract and readonly. We increase that number even more if we choose to allow for other keywords like override or async in the future.
What do you think about instead dynamically building a list of modifiers, and then constructing the list of groups associated?
Example:
private abstract get a() {...
Should generate the modifiers ['private', 'abstract']
Associated to the selectors ['get-method', 'method']
From which we can generate generate:
`['private-abstract-get-method', 'private-abstract-method', 'abstract-get-method', 'abstract-method', 'private-get-method', 'private-method', 'get-method', 'method']

Yes, the growing number of groups looks like a problem.
What should the API for modifiers look like? I don't really understand the idea yet.

I don't think we have to change the API yet. However, in the code, instead of doing
            let memberGroups = []

            ...

            if (isPrivateProperty) {
                    if (isReadonly) {
                      if (decorated) {
                        memberGroups.push('private-readonly-decorated-property')
                      }
                      memberGroups.push('private-readonly-property')
                    }
                }
            }

            // Other complex branches

            for (let memberGroup of memberGroups) {
              defineGroup(memberGroup)
            }

We could do:
    let modifiers = [];
    let selectors = [];
    if (isStaticMethod) {
      improvedMemberGroups.push('static');
    }
    if (isPrivateMethod) {
      modifiers.push('private');
    } else if (isProtectedMethod) {
      modifiers.push('protected');
    } else {
      modifiers.push('public');
    }
    if (isAbstractMethod) {
      modifiers.push('abstract');
    }
    if (decorated) {
      modifiers.push('decorated');
    }
    if (isGetMethod) {
      selectors.push('get-method');
    } else if (isSetMethod) {
      selectors.push('set-method');
    }
    selectors.push('method');
    }

   // Generate memberGroups from modifiers + selectors
   let memberGroups = generateMemberGroups(modifiers, selectors)
    for (let memberGroup of memberGroups) {
          defineGroup(memberGroup)
     }

My idea of the generateMemberGroups function is to iterate over all modifiers union and add selectors at the end, like the following example:
element: private abstract get a();
modifiers: ['private', 'abstract']
selectors: ['get-method', 'method']`
=> ['private-abstract-get-method', 'private-abstract-method', 'abstract-get-method', 'abstract-method', 'private-get-method', 'private-method', 'get-method', 'method']
If we want to be lenient and allow users to enter abstract-private-get-method instead of private-abstract-get-method, we can make it so the generateMemberGroups(modifiers, selectors) generate all the possible combinations possible regardless of order.

I consider https://github.com/azat-io/eslint-plugin-perfectionist/pull/196 to be a superior implementation compared to this.

Closed in favor of #196.


[Proposal] Adding DB::listen doesn't resolve a database connection

I'm adding $this->app['db']->listen(...) in a service provider, but in doing so, it resolves a DB connection.
It would be nice if you could add the event without the DB connection being resolved, it might not be needed in every request.

This works for me:
\DB::listen(function($sql, $bindings, $time, $connection) {
      dump($sql, $bindings, $time, $connection);
});


TypeScript definitions

Is there any interest in a PR to include TypeScript definitions in this project? If so, I'd be glad to make a PR for them.

Duplicate of https://github.com/wooorm/bcp-47-match/issues/2.


Maintaining good scientific practice

I had some discussions about this recently, e.g. with @guijacquemet, also @tischi  is interested in this. I see a couple of options for supporting users in maintaining good scientific practice when using bob:

We could add a prompt to bob internally, that make bob suggest steps for testing code. E.g. if you ask for a segmentation algorithm, bob could automatically say something like "It is good scientific practice to compare automatic segmentation results to manual annotations. Let me know if you want to create code for such a comparison." This might in particular make sense when writing notebooks, because there is space for this.
We could also immediately add code. I would find this a bit annoying, but if a majority thinks it makes sense, I will implement it.
The least annoying could be pointing users to online resources about this topic such as online videos or blog posts. We may have to create those resources to cover good scientific practice in the LLM-context.

Btw. ChatGPT / Claude et al basically support this kind of work. Just currently, users need to actively prompt for it.


activate window num is wrong

Lapce Version
v0.2.1
System information
macOS
Describe the bug
in macOS ,we have close window button.if we click close button, window close, this is normal。but click lapce icon on dock ,the window will not activate again。and if you click icon on dock 4 times ,and press commond+Q to quite app, after this ,you open lapce again ,you will find 4 window activate.it's weird.
Additional information
I guess this bug just because when we click lapce icon once ,the app has new a window in memory or some stored database, but no activate. and press command + Q app don't kill all windows . so this bug appears.

This looks like the NewWindow command is not handled after the ApplicationShouldHandleReopen event is handled.
https://github.com/lapce/lapce/blob/b843959ac10a23ef6ba9f75be65586e24685dac3/lapce-ui/src/app.rs#L314-L323
Citing the doc of druid::DelegateCtx::submit_command :

Submit a Command to be run after this event is handled.
Commands are run in the order they are submitted; all commands submitted during the handling of an event are executed before the update() method is called.

Does this mean the command will never be handled until the widget is updated... 🤔

This rough patch works, but I don't know if it conforms to the spec:
Event::ApplicationShouldHandleReopen(has_visible_windows) => {
    if !has_visible_windows {
        // ctx.submit_command(Command::new(
        //     LAPCE_UI_COMMAND,
        //     LapceUICommand::NewWindow(WindowId::next()),
        //     Target::Global,
        // ));
        let cmd = Command::new(
            LAPCE_UI_COMMAND,
            LapceUICommand::NewWindow(WindowId::next()),
            Target::Global,
        );
        self.command(ctx, Target::Global, &cmd, data, _env);
    }
    return None;
}

This looks like the NewWindow command is not handled after the ApplicationShouldHandleReopen event is handled.
https://github.com/lapce/lapce/blob/b843959ac10a23ef6ba9f75be65586e24685dac3/lapce-ui/src/app.rs#L314-L323
Citing the doc of druid::DelegateCtx::submit_command :

Submit a Command to be run after this event is handled.
Commands are run in the order they are submitted; all commands submitted during the handling of an event are executed before the update() method is called.

Does this mean the command will never be handled until the widget is updated... 🤔

I met the same problem before. Maybe on Mac OS, when all the window is closed but the app is not quit, the app will never call the update function anymore ?

This rough patch works, but I don't know if it conforms to the spec:
Event::ApplicationShouldHandleReopen(has_visible_windows) => {
    if !has_visible_windows {
        // ctx.submit_command(Command::new(
        //     LAPCE_UI_COMMAND,
        //     LapceUICommand::NewWindow(WindowId::next()),
        //     Target::Global,
        // ));
        let cmd = Command::new(
            LAPCE_UI_COMMAND,
            LapceUICommand::NewWindow(WindowId::next()),
            Target::Global,
        );
        self.command(ctx, Target::Global, &cmd, data, _env);
    }
    return None;
}

Wow


Error: You must have nevergrad python library installed (This is actually a reticulate issue)

Issue Description
Cross-posting this in case it's an issue for others.
Related to #173, I get the same issue as this comment: https://github.com/facebookexperimental/Robyn/issues/173#issuecomment-940577095
I'm using "py_install()" per the demo.R instructions. Robyn's telling me I don't have nevergrad installed.
However, the issue is that reticulate isn't properly loading my virtual environment and is loading the wrong environment (one without nevergrad). Full issue documented here: https://github.com/rstudio/reticulate/issues/1314

Issue was solved here: https://github.com/rstudio/reticulate/issues/1314#issuecomment-1371607417


Refactor viewmodels

@nCastle1 please review. This PR refactors duplicate code from viewmodels into a FeatureViewModel and handles all the aftermath from that. If you test this, please only test with WPF as I have not rewired the UWP UI to account for the changes. This PR is large enough as it is, I figured I don't need to add more.

One more note: I noticed that the readme refers to 100.4, since this updates Runtime to 100.5, the readme should also be updated.


Remove skip_transaction opts to match Ecto changes

Following up on elixir-ecto/ecto@47dd10d33.

I would keep them for now because merging this means we would support only
Ecto master. :)
José Valim
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

Fair enough! Closing for now :)

Let me just check something (GitHub actions integration).

Doesn’t work it seems :(


ImageWMS WebGL bug on Retina displays (Macbook Pro)

When using the WebGL renderer and with ImageWMS on retina displays (specifically the Macbook Pro), the requested image dimensions are incorrect (too large). This causes the layer imagery to appear small and "floating" above a tiled basemap.
The issue seems to affect all single image based sources (ImageWMS, ImageVector, etc.).
The jsfiddle included here runs perfectly fine on a non-retina laptop and external monitor, but demonstrates the problem on a MacBook Pro retina display.
http://jsfiddle.net/j2cP4/95

I can confirm this problem:

However I believe it is the content is too small.

Thanks for the report. I hope to be able to look into it.


docker pull/push can work, but curl return 404.

Hello, I have built a docker registry following https://docs.docker.com/registry/deploying/ and the docker pull/push can work.
Now I need to query all of the images in the docker registry, and I found the  HTTP api in  https://docs.docker.com/registry/spec/api/
When I typed:curl http://docker.registry:5000/v2/(the docker.registry is the hostname of my docker registry), it just returned {}.
When I typed:curl http://docker.registry:5000/v2/_catalog, it returned 404 page not found.
The docker registry version message is below:
kubernetes@docker:~$ docker exec 860d69cd9110 registry --version
registry github.com/docker/distribution v2.0.1

Is there anything wrong in my operation?

@qq690388648 _catalog is only available on 2.1. That should be your problem.

Oh, thank you, I will try 2.1 now..
@Trefex

Thank you very much, I change the registry to 2.1 and everything works well.
@Trefex


Fix #689, Align all software bus message definitions

Describe the contribution
Replace uint8[] arrays which reserve space for the header with an instance of the header struct as defined by SB.
Note this structure was the basis for the array size, so it is the same size, but by actually using the structure  the resulting message will have the correct alignment.
Fixes #689
Testing performed
Execute all unit tests and confirm passing
Sanity check on CFE, builds and runs and processes commands
Also Build and run on 32-bit platform with strict alignment and confirm no warnings/issues
Expected behavior changes
No impact to behavior
System(s) tested on
Ubuntu 20.04 LTS (native, little endian 64 bit)
MIPS 32-bit via QEMU (big endian, strict alignment requirements)
Additional context
Just applies the same fix from #678 to all messages.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Initially created as draft to due to baseline issue.    Will rebase after next merge to master.

CCB 20200523 - Approved conceptually on telemetry side, needs rebase
Recommended splitting up since cmd impacts should go into 7.0

@jphickey can you split up this PR and separate the CMD and TLM changes?

Rebase and go forward with this?

The issue with this one is that it does potentially change padding, so we need a consensus on how to deal with that.    Ideas have been tossed around but I don't know of an accepted path forward.  The real solution is a data dictionary/message definition DB of some type, but my understanding is that 7.0 still won't have that, so we should have some sort of steering committee discussion on how to handle changes int he binary formats for this release.

So I've been tripping up on this lately.  Can we be explicit about the impacts?  Since the packets are already 32 bit aligned when set via CFE_SB_SendMsg (after the union with CFE_SB_Msg_t) and the header sizes are already multiples of 32 bits (8 or 12 bytes without extended headers, 12 or 16 bytes with extended headers), what would change relative to the packet structure after the union?  Isn't anything that was going to change already changed with the union?
Any payloads that require more than 32-bit alignment still break CFE_SB_GetUserData either way, since it won't point to the start of the payload due to padding to 64 bits after the header.

Or was the issue with the variable legacy TIME formats, if set to a size of 8 this would have made the CCSDS_TelemetryPacket_t size 14?  But the union with CFE_SB_Msg_t to create CFE_SB_TlmHdr_t would have rounded that to 16 typically anyways...

Commands are (currently) not defined as aligned structures.  In fact they are explicitly UN-aligned.
For instance, consider CFE_ES_Restart_t:
https://github.com/nasa/cFE/blob/a148b97511de3f45f6677c1a3a0b17197f867e28/fsw/cfe-core/src/inc/cfe_es_msg.h#L1152-L1156
The size of this command is "traditionally" 10 bytes, but if defined properly with 32-bit alignment the sizeof() this struct becomes 12 bytes, so it will fail the size check unless the ground system either includes this extra padding OR the system accounts for/adjusts for the padding difference in either CI or within the software bus code itself.

But doesn't the union with CFE_SB_Msg_t already make the resulting structure size 12 for your example above (typical compiler behavior is to pad)?  My point is we already did the union, so in effect we've already changed the sizes of the commands, and this change will not actually change the sizes again.  Confirmed on linux...

the union with CFE_SB_Msg_t

Which union are you referring to, specifically?  sizeof(CFE_ES_Restart_t) is not dependent on sizeof(CFE_SB_Msg_t) -- the header in this struct is defined as uint8 CmdHeader[CFE_SB_CMD_HDR_SIZE]; so it has alignment of 1.  I can confirm that on my system right now sizeof(CFE_ES_Restart_t) is indeed 10, not 12.
Yes - CFE_SB_Msg_t has 32-bit alignment so one can cast from CFE_SB_Msg_t* to CFE_ES_Restart_t* without a warning but not vice-versa.

OK, I'm on the same page again... the issue is with commands for which we didn't already make a typedef union w/ CFE_SB_Msg_t.  I was looking at telemetry, which we did already align.

Right - for packets which are locally generated (TLM) we make a union - so the buffer in memory is aligned even if the actual TLM structure definition isn't aligned - so it in turn can be safely passed to CFE_SB_SendMsg() which accepts a CFE_SB_Msg_t*.  But as a receiver (CMD) we don't make our own buffer, just cast the buffer we get to the correct type -- which should only be of less stringent alignment than CFE_SB_Msg_t (double/long long being the exception/issue).
I believe we've done all we can in 6.8 to make this safe as it can be without a more comprehensive approach to dealing with CPU-specific padding and alignment issues.

Note we expect to receive cmd/tlm structure definitions (potentially platform/compiler specific) from the stakeholder that are generated from a common data model and produced with alignment/padding per their requirements.  The open source community can evaluate use/incorporation of those structures, but the database for CTF automated testing will depend on those definitions.

Latest discussion - stakeholder is going to use the method implemented here (updating both commands and telemetry definitions to use the real headers), for open source to match we should plan to get this merged and update the related ground databases.  For the framework it impacts cFS-GroundSystem and the EDS definitions.  Recommending community notification.

We should get this updated and move forward.  It would simplify some other changes I'm working, and we aren't gaining anything by putting it off.

@skliper can you elaborate on what the issue is that you are facing?
As far as I can tell the earlier concern still exists (why I was holding off on this) in that it WILL change the overall size of any command whose size is not currently a multiple of 4 bytes.  For instance the "Restart" command but others too.  This change in size will effectively break anything sending these commands.

I'm doing the tlm packets now as part of #777.  They don't break and it makes sense with the MSG APIs to do it right.  For command packets, we've got to do it at some point so why not now?  Will it break, yes.  Better to break it now than late in the cycle.

CCB 2020-11-12

We already have telemetry messages
Depends on how we decide to handle the cFE_Msg header
Pending #1009

#689 is OBE, no longer enforcing worst case alignment in all messages per #1009.  This is mostly a duplicate of #1015.


Скласти таймлайн

Скласти список всіх (важливих) життєвих подій, визначних дат, досягнень, періодів, що дали приємний і неприємний досвід, тощо. В цьому конкретному випадку довгих списків не буває, натомість бувають погано згорнуті, тому пакуємо сюди все підряд, а про "лишні" події можна буде промовчати пізніше. Список повинен бути систематизованим і посортованим в такий спосіб, щоб читач швидко зрозумів "паттерн" і міг легко орієнтуватись в просторі і часі цього резюме.

1980
July 31: Harry James Potter born to Lily Evans Potter and James Potter.
1981
October 31: near midnight – Voldemort attempts to kill Harry Potter after murdering his parents, but his spell rebounds. Voldemort loses most of his powers and almost his life.
November 1, late evening: Hagrid delivers baby Harry to Dumbledore, who is waiting in Privet Drive to leave the baby with the Dursleys.
1991-1992
June 23: Harry unexpectedly finds himself coming along on Dudley’s birthday outing to the zoo, where he accidentally releases a boa constrictor – he is locked in his cupboard until the summer holidays have begun.
July 24-30: letters begin arriving via owl post to invite Harry to Hogwarts.
September 1: meets Ron Weasley, the twins, Percy, Ginny, and Molly on Platform Nine and Three Quarters; meets Hermione Granger and Neville Longbottom aboard the Hogwarts Express. Begins first year at Hogwarts, sorted into Gryffindor.
December 25: Harry has the best Christmas of his life and receives his father’s Invisibility Cloak for a gift. Harry discovers the Mirror of Erised and sees his family for the first time in his life.
first week of June: Harry, Hermione, and Ron follow Quirrell after the Stone, overcome the various protections, and defeat Quirrell/Voldemort’s attempt to steal the Stone.
1992-1993
July 31: Harry’s twelfth birthday. Dobby the house-elf visits Harry Potter in Privet Drive; the Dursleys hold a dinner party for the Masons which is disrupted by a falling violet pudding.
September 1: Harry and his friends start their second year at Hogwarts.
late November/early December: at the Dueling Club, Harry publicly speaks Parseltongue for the first time; Ron and Hermione explain the rarity of the ability to him later.
February 14: Harry receives an anonymous singing Valentine, and in the subsequent uproar realizes how to work the diary of T.M. Riddle.
the spirit-form of Voldemort is defeated by Harry Potter in the Chamber of Secrets.
1993-1994
July 31: Harry’s thirteenth birthday. Harry first sees Sirius Black on Muggle television. Aunt Marge comes for a visit to the Dursleys.
September 1: Harry and his friends begin their third year at Hogwarts, which is now surrounded by dementors. Harry suffers his first dementor-induced flashback of his parents’ death.
December: Hogsmeade visit – Fred and George give the Marauder’s Map to Harry as an early Christmas present. In the Three Broomsticks, Harry overhears the conversation between Flitwick, Fudge, Hagrid, McGonagall, and Madam Rosmerta revealing the crime for which Sirius was condemned to Azkaban: the betrayal of Harry’s parents.
January, first week of term: Lupin begins tutoring Harry in the Patronus Charm outside class.
February: Harry notices Cho Chang, Ravenclaw’s Seeker, for the first time during Gryffindor-Ravenclaw.
June 6: at sundown, Buckbeak is scheduled to be executed; Sirius Black is captured that evening and narrowly escapes suffering the Dementor’s Kiss by riding to freeedom on Buckbeak.
1994-1995
July 31: Harry’s fourteenth birthday, for which he receives four birthday cakes, one each from Ron, Hermione, Hagrid, and Sirius.
October 31: Goblet of Fire selects the champions for the Triwizard Tournament – Harry is chosen, and becomes estranged from Ron Weasley as a result.
December 25: Yule Ball, 8 PM until midnight. Rita Skeeter, Ron Weasley, and Harry Potter overhear Hagrid talking about his half-giant ancestry to Madame Maxime. After the ball, Cedric advises Harry to take a bath with the golden egg clue.
February 24, 9:30 AM: Second Task of the Triwizard Tournament.
June 24, at dusk: Third Task of the Triwizard Tournament.
June 24: Voldemort kidnaps Harry Potter and Cedric Diggory. Cedric is killed by Wormtail using Voldemort’s wand. Voldemort is restored to his body in an ancient ceremony. The Death Eaters are called back to him and they gather. Voldemort and Harry duel and Harry manages to escape with Cedric’s body.
1995-1996
August 2: Harry picks a quarrel with Dudley, who retaliates, saying that Harry has been talking in his sleep during his nightmares. The quarrel ends when Harry and Dudley are attacked by dementors; Harry casts a Patronus Charm and saves Dudley from being kissed. Mrs. Figg reveals her identity to Harry. The Ministry expels Harry, then rescinds the expulsion under pressure from Dumbledore.
August 12: Harry’s disciplinary hearing is held before the full court of the Wizengamot, where through Dumbledore’s efforts and Mrs. Figg’s testimony he is cleared.
September 2: Harry’s first clash with Umbridge, who gives him nightly detention for the remainder of the week (Tuesday through Friday).
December, last D.A. meeting of the year: Harry and Cho Chang kiss under the mistletoe. Harry’s dreams are later brutally shattered by his vision of Voldemort’s snake attacking Arthur Weasley outside the Department of Mysteries. Dumbledore sends Harry and the Weasleys to Grimmauld Place.
January: Harry begins Occlumency lessons with Snape.
March: Marietta Edgecombe betrays the D.A. to Umbridge; Dumbledore takes the blame to shield Harry.
June 18, final day of O.W.L.s.: Harry (who’s been pulling all-nighters for days and didn’t get much sleep after the Astronomy fiasco the previous night), falls asleep in the History of Magic exam and has a vision of Sirius being tortured in the Department of Mysteries. The Battle of the Department of Mysteries is fought later that night, and Sirius Black is killed before Harry’s eyes.
June 19, morning after the battle: Dumbledore reveals the contents of Trelawney’s first prediction to Harry
1996-1997
September: On the Hogwarts Express, Harry eavesdrops on Draco using the Invisibility Cloak. However, Draco notices Harry is there, and waits until the train has stopped and everyone has left to petrify Harry and break his nose.
December: Harry uses the “Sectumsempra” curse written by the HBP in his Potions textbook to grievously wound Draco Malfoy.
Ginny and Harry hide the Potions textbook in the Room of Requirement, where they have their first kiss.
Harry uses Felix Felicis potion to improve his luck, and is able to retrieve Slughorn’s memory of his conversation with Tom Riddle, when Tom mentioned wanting to create seven Horcruxes.
Dumbledore tells Harry that two of the Horcruxes have already been destroyed -- the diary, by Harry, and the Gaunt ring, by Dumbledore. He asks Harry to come with him to find and destroy a third Horcrux, Slytherin’s locket, although neither of them realize that the locket being held in the seaside cave is a fake.
Dumbledore drinks the poisoned potion protecting the locket, weakening him severely.
When Harry and Dumbledore return to the top of the Astronomy Tower at Hogwarts, they are greeted by Draco Malfoy and several Death Eaters, including Bellatrix Lestrange, whom Draco has gotten onto school grounds using his repaired Vanishing Cabinet.
Harry hides, observing the confrontation between Dumbledore and the Death Eaters.

The real Harry rides with Hagrid on the sidecar of his motorbike, and releases Hedwig, telling her to meet them at the Burrow.
Not wanting anyone else to get hurt, Harry attempts to sneak out of the Burrow, but Ron convinces him to stay for Bill and Fleur’s wedding.
Rufus Scrimgeour arrives at the Burrow to read the will of Albus Dumbledore, and bestow items he has left to Harry, Ron, and Hermione. Harry receives the Golden Snitch he won in his first Quidditch match, Hermione receives a book called “The Tales of Beedle the Bard,” and Ron receives a Deluminator. Harry was also supposed to receive the sword of Godric Gryffindor, but it has gone missing.
Harry dives in to retrieve the sword, but is dragged down by the locket, but is saved by Ron, who used the Deluminator to return to his friends. Ron also retrieves the sword, and uses it to destroy the locket.
1998-1999
Harry, Hermione, and Ron are captured by a group of Snatchers in the forest. Hermione casts a stinging jinx on Harry to make his face swell so he is unrecognizable as they are taken to Malfoy Manor.
Harry, Ron, and Hermione bury Dobby at Shell Cottage.
Harry, Ron, and Hermione follow Neville through the secret tunnel to the Room of Requirement, where they ask the DA for ideas about the other Horcruxes. Luna Lovegood suggests Rowena Ravenclaw’s lost diadem.
Harry stands in front of Voldemort and the Death Eaters, and waits calmly as Voldemort fires a Killing Curse at him.
Voldemort and Harry duel, and Harry reveals that he is the true master of the Elder Wand, having defeated Draco Malfoy. Because of this, Harry is able to deflect Voldemort’s Killing Curse back on him once more, and Voldemort dies.
The Second Wizarding War ends.
Harry snaps the Elder Wand in two pieces and throws them away.


Tests are being duplicated

#1978 changes the CI conditions to be push and pull_request which seems to be causing the tests to be duplicated. Let's fix that.

Not sure if this is still happening so closing


[Text Translation] Allow users to pass in just string instead of complex object

Description
Allow users to call Text Translation method using just a string instead of a need to create complex objects.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-translation-text


drastic ling changes

About the PR
added biomass to changelings.
now they cannot die normally, as in getting gibbed because of it. (you can still cremate them but whatever)
biomass is now their health instead of the normal one.
biomass will drain once every minute with a max of 30 biomass. (for now i guess)
lings need to absorb people to get biomass back. one absorption regenerates ALL biomass.

after reaching certain thresholds of biomass lacking following things will happen:
ling will get notified
ling will start vomiting blood
ling will start shaking. slightly
at the last 3 minutes ling will go into a frenzy as a last resort, x3 chemicals and constant jittering
when biomass reaches 0 they will take 50 genetic damage each bio cycle until they finally die.
now entering stasis also costs 1 biomass.
now lings have only two objectives - survive and escape to centcom while being person.
survive as in actually manage to keep up with biomass demands
also each time you absorb someone you gain progressively less biomass, so going on an absorption frenzy is not a good idea, or you'll have to store up piles of dead bodies (or phalanx) if you want to live, i guess.
Why / Balance
i saw that one design doc on wizden. i liked it and thought it would be a good idea
this also opens up more strats for security and for getting rid of lings overall, giving perma and exile station grids more chances to be useful in an average round, since i believe the most basic strat will be starving the ling to death.
gameplay Breaking changes
yes
Changelog
:cl:

add: Put tupac into the great flesh rhombiicosedodecahedron once more.

hold on one more commit

ok cool

does absorbing still round remove someone

does absorbing still round remove someone

yes

is the CL referencing the whack ass crystal prison?

is the CL referencing the whack ass crystal prison?

@JoeHammad1844 yes

Simulate how many other players does the changeling player has to consume to stay healthy for 80 minutes

3

Simulate how many other players does the changeling player has to consume to stay healthy for 80 minutes

3

Any way to prove that?

Simulate how many other players does the changeling player has to consume to stay healthy for 80 minutes

3

Any way to prove that?

you have 30 max biomass. you get -1 biomass every minute. if you eat a person once every 25 minutes you'll need to eat 3 people

Simulate how many other players does the changeling player has to consume to stay healthy for 80 minutes

3

Any way to prove that?

you have 30 max biomass. you get -1 biomass every minute. if you eat a person once every 25 minutes you'll need to eat 3 people

So 3 people at bare minimum if we assume ling player kills and absorbs someone almost at max hunger

erm it's the rhombicosidodecahedron not the rhombiicosedodecahedron

make a real changelog before i merge this

make a real changelog before i merge this

@Aidenkrz done

one more commit and it's ready to get merged hold on


Decoding objectId

giving this error: cannot decode objectID into a pmongo.ObjectId

Hi,
I am sorry for the answer delay.
Could you please send me details how I can reproduce error.
Thanks

I got this behavior too, because I did not register your codecs.
Adding this solved my issue:
reg := codecs.Register(bson.NewRegistryBuilder()).Build()
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017").SetRegistry(reg)

Same issue here although i registered the codecs


TCP connection

Hello,
Where do i define the TCP address of the device i need to access?
Exemple: Connect to a master server and read the registers from Slave ID (Slave:<IP_ADDRESS> and ID: 4)
Best regards
RC

Have a look here:
https://github.com/dresende/node-modbus-tcp/issues/5

Thank you very much
On 21 Apr 2016 4:31 p.m., "nono"<EMAIL_ADDRESS>wrote:

Have a look here:
#5 https://github.com/dresende/node-modbus-tcp/issues/5
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/dresende/node-modbus-tcp/issues/16#issuecomment-212944665

ok, thanks, i will try and see if i can connect.
Best Regards


Add Status methods

Includes:

get_status()
retweets()

It seems to me that the dataframe for retweets always has a length one row less than the count. I couldn't figure out why this occurs, nor if it's important, but it seems worth mentioning.

@averagegohard Do you mean that if the count is 5, then there are 4 rows in total?
Or the numbers of the rows only go up to 4? If the latter, it's because DataFrame indices are zero-indexed.

Thanks @FreddieV4 and @averagegohard, agreed regarding retweet() I missed that one when you asked the first time, sorry about that.
The count discrepancy is peculiar.  Where is the count coming from, the twitter API response or the limit you're setting on the call?

@wdm0006 - I only passed the value of count into self.client.retweets; I didn't use count besides that. (In my pr, in client.py, Line 836: data = self.client.retweets(id_, count)).
@FreddieV4 - If the count is 5, there are 4 rows in total. (if data is unaltered and count = 5, len(data) = 4)
Additionally, according to the tweepy API, retweets() should "Return up to 100 of the first retweets of the given tweet." I noticed that the maximum number of rows in the dataframe actually came out to 91 entries, not 100.
PS - The functionality that @FreddieV4 described as retweet() is actually that of get_status(). The function retweet() actually retweets the tweet with the given ID according to tweepy's API.
http://docs.tweepy.org/en/v3.5.0/api.html#API.get_status
http://docs.tweepy.org/en/v3.5.0/api.html#API.retweet

@averagegohard Ah ok Retweets a tweet. Requires the id of the tweet you are retweeting.. I completely glazed over that.

Ok, that makes sense.  Could you add a note in the docstring for retweets about this potential discrepancy, and then I can merge it in for now.  I think we are about to the point (when these two PRs get merged in) where I can clean things up and push the library and docs for a first formal release.

Should I just manually add one to the count as well?

Some really weird stuff is going on.
The limit isn't always 91; I have seen it go down to 89 without changing any code in client.py. The only code I changed was in main. I used different status IDs with >100 retweets.
Another strange behavior I noticed: if count < 1, retweets returns 19 objects. Not sure if 19 is a set number or if it ranges.
Weird.

Very odd.  I would pass through the count the user provides as is, and leave a note in the doc string regarding the discrepancy.  It may be an issue in tweepy itself, we will have to investigate that more deeply I think.

Ok, amended my commit and I listed the discrepancies in retweets(), should be ready for merge now.

If count < 1 OR count > 100 it seems to default to 19 retweets.


Urgent Help Aggregating

I am trying to use this aggregator, but i am getting the error
  File "aggregator.py", line 31, in extract
    assert len(set(all_keys)) == 1, "All runs need to have the same scalar keys. There are mismatches in {}".format(all_keys)
AssertionError: All runs need to have the same scalar keys. There are mismatches in []

my dir structure looks like this
ls ../results/
inference.run63++100  inference.run64  run61  run62  run63  run63++025  run63++050  run63++075  run63++100  run64  run64-inference  run64-nospeed  run64+vision  run65  run65-pure  run66  run67  run68  run68++050  run68++050-inference

I am trying to aggregate all my runs (which have many variables) into a single csv so I don't have to download each one manually and then aggregate it manually... picture example attached:

So i managed to get a script that merges the manually downloaded CSVs into a single csv, for anyone who would need something like this:
import pandas as pd
import glob
from run_name_getter import *

import matplotlib.pyplot as plt

files = glob.glob("movingForward/*.csv")

if len(files) == 0: raise BaseException("no files")

step_column = pd.read_csv(files[0], usecols=['Step'])

all_csvs = [pd.read_csv(p, usecols=['Value']) for p in files]

for i in range(len(all_csvs)):
    csv = all_csvs[i]
    run_name = get_run_name(files[i])
    csv.columns = [run_name]

metric_name = get_metric_name(files[0])

all_csvs = [step_column] + all_csvs

df = pd.concat(all_csvs, axis=1)

df.plot(x="Step", alpha=0.5, title=metric_name)
plt.show()

the only downside now is I have to manually download each CSV for each run for each metric.


Trying to fix  #26

Skip devices that fail to grab and then skip their ungrab attempt.

This breaks the input layer. A lot of time and thought has gone into the trade offs and nuances of the input implementation. Please ensure that we have jointly agreed on any changes before you implement them.


can't install plugin from the app store?

Hi - love the idea of using GPT-3 on logseq but got this image when I tried to install it, is there something that I'm doing wrong or needed to do beforehand?

It seems like it's trying to connect to your localhost (<IP_ADDRESS> on port 7769). Perhaps you have a non-working proxy configured?

Seems like a logseq/github rate limiting issue. Try it again and see if it works

Closing this since it seems like a github rate limiting issue. Try asking in the logseq discord if you keep seeing this


Support multiple independent models.

Not sure how this would work. It could even involve showing two totally separate instances of the interface, each for a given model.

Some more thought (inspired in part by Wekinator): we may want to store all dimensions of training data, but then have a way to select which dimensions apply to which model, e.g. usePipeline() could take additional parameters specifying the input dimensions to feed into the pipeline.


Stuck at "make launch" - make sure you build ShaderCompileWorker.

CARLA version: 12
Platform/OS: windows
Problem you have experienced: can't launch, last thing I did was make PythonAPI
What you expected to happen: to launch
Steps to reproduce: I did everything as documentation told me

I also got an error while making launch.
there are 2 ways to run Carla. If you can't make launch, you can run it directly
https://github.com/carla-simulator/carla/releases

Thank you, I did make it, I had a bug in Visual Studio, So I just did everything from the start and this time I waited for visual to build correctly. I got a new problem now, I can't get past "make import" which says that there is no module name "carla"

Thank you, I did make it, I had a bug in Visual Studio, So I just did everything from the start and this time I waited for visual to build correctly. I got a new problem now, I can't get past "make import" which says that there is no module name "carla"

so I install Carla as u say. but not this happens

I installed Carla

But then I try to "make import" and the error comes again

I see no need to do "make python" or "make launch" commands. After executing the command "pip install carla", run the python files and Carla works

It is just how it is in documentation, and as I told u :) Carla does work fine, I just cant import any fbx or .xodr files, they way documentation states they should be imported

So I don't know. I also get error when executing "make python" and "make launch" commands.  If you can fix it later, please let me know

I can enter with "make launch" what error do u have?

Do you use facebook or something to make communication easier?

Andrej#7032 discord?

Andrej#7032 discord?

is this a nickname or what? I searched but couldn't find it

I have sent u a request on FB

@bernatx can you take a look at this


Adding splitting method, weighting method for federated averaging and accuracy measurement method

fully_specified_splitting :
method to specify amount of data per partner and label repartition
sequential weighting:
method that compute weights for aggregation using formula
old_weight * (1-alpha) + round_accuracy *(alpha) for a parameter alpha
quality averaging (need to change this name):
averaging rule that compute round accuracy using a set of nodes for evaluation

@MrDaiki I tried to review your updated code, but without explanations about the objectives of each piece, and answer to my above comments and questions, that is quite difficult. Could you provide more infos and clarifications please?

Not followed-up anymore -> dismissed


Convert SAPI api to libmarshal

Remove all wrapper macros, and convert all sapi code the libmarshal

This has been resolved with #560