Kvl example ok meuse

Addition of an example how to use the PyKrige package, using the spatial dataset http://spatial-analyst.net/book/meusegrids

@kvanlombeek , these is a nice example. I quite like it.
A few suggestions:

It adds 10MB+ to the git. May be you can write a python/shell script to download the data rather than add to git.
Clarify that this needs shapely, pandas and whatever else. These are rather large packages, and should not be part of the main package, or at least not yet.
Use the examples directory to commit just the notebook and any associated scripts? In fact, consider making gridsampler.py part of the notebook as well.

Hi @basaks
Thanks for your positive feedback. I have a few questions about your suggestions:

I will do.
What do you mean with clarifying and that the packages pandas and shapely should not be part of the main package? Are you opposed to importing them in this example notebook?
Ok.

hi @kvanlombeek ,
on no 2, I meant to say that pandas and shapely are not required for PyKrige, but may be you want to clarify that these are required to be installed for this notebook example.

hi @basaks ,

The meuse.zip file is now dowloaded and unzipped by python
The meuse data files folder, meuse_example_data, is added to the .gitignore file
The code to sample a grid is placed in a notebook cell

I don't understand your request to clarify why I need pandas and shapely however. Some interpretations that I see:

Clarify here on github to you why I import the packages? Would you rather have me finding ways around so I would not have to import these packages?
Clarify inside the code with comments to new users why I import these packages?

I am a bit surprised by this request, as when I follow data science tutorials with notebooks, I have never seen anybody explaining why they import pandas for example.
But I probably just don't understand your request, and am happy to implement it once I understand it.

@kvanlombeek That's a great example, thanks for contributing!

I don't understand your request to clarify why I need pandas and shapely however.
I am a bit surprised by this request, as when I follow data science tutorials with notebooks, I have never seen anybody explaining why they import pandas for example.

Yeah, it's just that for libraries the general assumption is that once you install the library, you can run the examples without installing anything else (see for instance scikit-learn's examples/ folder, and because PyKrige aims to be  a lightweight library we can't just add new dependencies easily.
This notebook however is indeed closer to a tutorial (and it's great) so if you just add in the introduction of the notebook something along the lines that this notebook requires PyKrige 1.4 with additional packages that can be installed with,
     pip install geopandas folium seaborn

(this will also install pandas, pyproj, descartes, click), that should work. Maybe also specify the versions of those dependencies that you are using? just in case they have some backward incompatible updates in the future, and it's not clear which version should be used.
Just a comment regarding PEP8 code style; for functions, the usual code style is f(x=2, y=3, ..) (i.e. no space around = and space after ,). This applies to cells  no 8, 12,  13, 15, 17, 20.
Also the person who is going to merge this should use "Squash and merge" button (I think), otherwise the deleted 10MB of files will still end up in the git history of the master branch.
Besides the main notebook is 400kB in size (mostly, I imagine due to images).  As far as I understand, after running it on your computer, git will detect it as different, and will try to add the new generated images with the next commit (adding 400kB to the repo size), so care must be taken not to update this notebook (particularly with minor changes) too often. Or maybe we should adapt some ideas from this post in the future... cc @bsmurphy , @basaks

@rth Ok clear, thanks for the great feedback.
Regarding the last point, I can clear all notebook outputs just before saving, this will significantly reduce the size of the file. The downside is that I believe you can't view the notebook and its output in the browser in the github repo, which is a nice feature to convince new users to use this repo. I will ask a git expert if there is a way to have the benefits of both options.

The downside is that I believe you can't view the notebook and its output in the browser in the github repo, which is a nice feature to convince new users to use this repo.

yes, it's quite nice to have the preview on github (though the map plots don't seem to render)...
Also maybe it would be best rename the example to meuse_kriging.ipynb (or something more explicit than "Example kriging")?

@rth It is good that we talk about this:

If we leave the notebook with the outputs:
-- Downside: Takes around 400 kb every time it is updated. I plan to do some more commits, as I have opened a few issues and I would like to illustrate some of these kriging options in the notebook. So this can make the github repo indeed heavy.
-- Upside: we can use something like http://nbviewer.jupyter.org/github/kvanlombeek/PyKrige/blob/kvl_example_ok_meuse/examples/Example kriging.ipynb to show an render of the latest version of the notebook

We clear all the outputs:
-- Downside: you don't get to see the notebook rendered. In that case I will make myself a repo with the rendered example. This link can then be posted inside this repo, but it has the disadvantage that the rendered example might be out of sync with the latest version of the original package
-- Upside: filesize is a lot smaller.

Hope this is clear, up to you guys!

I went for the second option, let me know if there are still issues.

LGTM @kvanlombeek .
Would you simply squash all your commits into one commit? Makes it easier to merge :)

LGTM as well.
We can always go with option A with full figures later, once you add all the kriging options you wanted to add.
We can squash this at merge, so it's OK (particularly since it's on a separate branch on your fork not on master).


It should be possible to open a group by clicking on the text

Now you need to click on the ">" icon. This is not very suitable for mobile devices where the icon is small.
The group should open and the user should be redirected to the location at the same time. This should be a default behaviour. I'm not sure if this should be the only option available or whether people should have a possibility to change the behaviour.

Desired behaviour:
Closed group

when text clicked => open group
when toggle clicked => open group

Opened group

when text clicked => let the group opened
when toggle clicked => close the group

prepared in dev, will be released in 3.0.0

@MisRob is this now possible?

@patie Hi
When a group is already opened and a user clicks its parent text it would not be very intuitive to close the group because obviously, the user needs to visit the group again (so he would need to click it three times actually if he was already there and needed to visit some of the group child links again).
From the technical point of view, it can be configurable, it's nothing hard to implement indeed :) So I am not against opening an issue for this. But before doing so, I would like to see some use case when this behavior is desirable, do you have an example? Thank you.


Access tokens in service worker mode

Issue and Steps to Reproduce
When using service worker, tokens are not accessible to client code. This is great from security perspective, but we have some use cases in which we need to have access to tokens and still want to utilise service workers (to take advantage of tokens synchronisation between tabs, etc.):

micro frontends rendered inside and iframe, which rely on parent app for authentication and use its tokens for requests
internal tools that need to display access token in dev environments.

Configuration option to turn off tokens hiding would be great for us and tokens would still be hidden by service worker by default.
Versions
6.16.14
Expected
There is boolean configuration option (in OidcConfiguration, could be named service_worker_hide_tokens, true by default) to turn off hiding tokens by service worker.
Actual
Tokens are always hidden when using service workers.

Hi @krzempekk, thank you for your issue.
you can disable service worker mode in development just by not configuring the serviceworker file in development you will have the behavior you need.

Hi @guillaume-chervet!
Thank you for response. Yes, I understand that service worker can be not configured for this behaviour, but in our case we need to use service worker (to have token synchronisation, synchronised renewal, etc.) and still have access to tokens.
As I have said, we have production use cases for that, so it's not only development.

Hi @krzempekk , I am not sure but does localStorage mode do the job you need? It is the same behavior than Service worker (except you need to inject accessToken manually in each fetch) and you have access token not offuscated.

Hi @guillaume-chervet!
Unfortunately localStorage is not an option for us - we have requirement to store tokens only in-memory, as service worker does.

Thank you @krzempekk , i think i understand your need.
This is possible to add, but the configuration will able to be set from trusteddomains.js for security readon.

That would be perfectly fine for us to set this configuration from OidcTrustedDomains.js. Thank you @guillaume-chervet, looking forward to this :)

@guillaume-chervet just to be clear: in case we decide to use this library (which will probably happen), we will be willing to help resolve the issues we are raising :) I hope you are open to collaboration and enhancements propositions like this one :)

Hi @darkowic thank you for your message.
How much time do you have?
I am in holiday until 2 of may.
I have many nice issues and enhancements to resolve :)
I will start by blocking issue like yours.

No rush here ;) we are still evaluating this and checking options and limitations. Probably in month we will be working on productizing this.

Hi @guillaume-chervet we also need to pass the access token, because of roles that are only provided via access token and not via id token.

Hi @HSULGIT , it is implemented in the lastest version.
The trustedDomains.js is updated in the readme.
I also need it for some use case to retrieve accesstoken  in a webpage to be used as a cli token once copied by user.

Hi @guillaume-chervet , thank you for implementing it.
It seem to be configured in the react example but the access token on the profile page is secured by service worker anyway. In my own project i got the same problem. Serviceworker is updated and the dependency also. What could be wrong?

hi @HSULGIT ,
did you try this page?

I see, thank you. But actually i got Errors in Browser when using 'configurationName="config_show_access_token"' in the OidcProvider.
caught Error: OIDC library does seem initialized.
Please checkout that you are using OIDC hook inside a  compoment.
It seems that it doesnt take this configuration name and i dont understand why atb the moment.

I got the fix. It was because of wrong configured OidcServiceWorker.js. Blame on me, wow that took me 3 days.

Hi @guillaume-chervet, that's fine by me.

Hi @krzempekk , i close the issue  Feel free to reopen it if needed.


Get Code Climate to commit to supporting this format

See https://github.com/codeclimate/spec/issues/31

Code Climate can worry about their own problems. Closing.


Patch 16

Fixed Crafty.loader skip loading on not supported audio files. call different event on audio rather than image

addEventListener is not supported by IE


v2.3.0

Your commit for the application_surface introduced a bug in the example project for split-screen

Your commit for the application_surface introduced a bug in the example project for split-screen

is it still there or did you fix it. I can't see any issues with splitscreen on this branch


Grant credhub bot access to homebrew-tap.

Credhub used to have access to homebrew-tap before it moved to Admin WG from Foundational Infrastructure WG

We need a second approval to merge this. @gururajsh could you pls approve or put thumps up or someone else, so that I can merge.


update MAINTAINERS.md

Quick update to MAINTAINERS.md, removing extraneous info.
closes #390

 [spec] update maintainers document


OTC node driver fails to be activated

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
In a fresh rancher installation activate the Open Telecom Cloud node driver
Result:
Results in a hanging status of "Activating" in the UI and throws the following error in the logs:
[ERROR] NodeDriverController otc [node-driver-controller] failed with : hash does not match, got 3f793ebb0ebd9477b9166ec542f77e25, expected b4c05f6598dcfac7a8f10899aaac3d42

Other details that may be helpful:
Note there has been recent releases of the driver: https://github.com/Huawei/DockerMachineDriver4OTC
Also see the hashes here: https://dockermachinedriver.obs.eu-de.otc.t-systems.com/
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): I have reproduced the error in both v2.2.0 and v2.1.8
Installation option (single install/HA): single node

Hi @loganhz - Can I ask what's the criteria to place an issue in one milestone or another? It is mere curiosity.
Thanks

@hvpareja as a workaround, you can edit the node driver and update the hash to 3f793ebb0ebd9477b9166ec542f77e25.
Usually, We will fix an issue in the master branch (now master is for 2.3) and create an issue to backport it if it is important.

Maybe the right thing is uploading the binary to another place... instead of using https://dockermachinedriver.obs.eu-de.otc.t-systems.com/docker-machine-driver-otc

@loganhz, I suggested them to provide a fixed URL for each of their releases

@hvpareja Thanks for your help!

We need to either update the URL or checksum:
https://github.com/rancher/rancher/blob/master/app/machinedriver_data.go#L65

We should consider opting out of the checksum verification. Otherwise it would be hard to maintain the checksum as we don't control the machine driver binary and can't ensure it won't change.

That's like the opposite of what we should be considering?  Every driver we include in the default config (enabled or not) should have a fixed URL for a non-floating version and a matching checksum for it.

Maybe we should upload the binary somewhere instead of using their kind of latest binary. @alena1108 Can I use my own github repo ?

I don't think using a personal one makes sense, but we could put it into the rancher-plugins org?
https://github.com/rancher-plugins

@loganhz at a minimum, we should update the hash to match for the latest release.
Can you open a new ticket on how to handle OTC releases if they keep updating it without versioned numbers?

Version: Master (v2.3) (5/13/19)
I validated the updated binary URL (https://github.com/rancher-plugins/docker-machine-driver-otc/releases/download/v2019.5.7/docker-machine-driver-otc) and that the hash was correctly updated (3f793ebb0ebd9477b9166ec542f77e25).
The driver now activates without any issues in the UI or rancher logs. I can access the OTC cluster config without any issues.


Use Prerelease GRPC

Verify that the prerelease version of GRPC fixes the issues identified with version. 0.13.0.

@murgatroid99 We're excited to give 0.13.1.pre1 a try right now in our CI environment!  (@blowmage reports that it appears to work great in his development environment.)


Using the default default-detekt-config.yml, multiple config properties are reported as invalid

Expected Behavior

The default yml should work with the latest version of detekt
Observed Behavior

When running ./gradlew detekt and adding the default config located here: https://github.com/detekt/detekt/blob/main/detekt-core/src/main/resources/default-detekt-config.yml, multiple config properties are reported as invalid
Execution failed for task ':app:detekt'.
> Run failed with 30 invalid config properties.
        - Property 'complexity>CognitiveComplexMethod>allowedComplexity' is misspelled or does not exist.
        - Property 'complexity>ComplexCondition>allowedConditions' is misspelled or does not exist.
        - Property 'complexity>ComplexInterface>allowedDefinitions' is misspelled or does not exist.
        - Property 'complexity>CyclomaticComplexMethod>allowedComplexity' is misspelled or does not exist.
        - Property 'complexity>CyclomaticComplexMethod>ignoreLocalFunctions' is misspelled or does not exist.
        - Property 'complexity>LargeClass>allowedLines' is misspelled or does not exist.
        - Property 'complexity>LongMethod>allowedLines' is misspelled or does not exist.
        - Property 'complexity>MethodOverloading>allowedOverloads' is misspelled or does not exist.
        - Property 'complexity>NamedArguments>allowedArguments' is misspelled or does not exist.
        - Property 'complexity>NestedBlockDepth>allowedDepth' is misspelled or does not exist.
        - Property 'complexity>NestedScopeFunctions>allowedDepth' is misspelled or does not exist.
        - Property 'complexity>StringLiteralDuplication>allowedDuplications' is misspelled or does not exist.
        - Property 'complexity>StringLiteralDuplication>allowedWithLengthLessThan' is misspelled or does not exist.
        - Property 'complexity>TooManyFunctions>allowedFunctionsPerFile' is misspelled or does not exist.
        - Property 'complexity>TooManyFunctions>allowedFunctionsPerClass' is misspelled or does not exist.
        - Property 'complexity>TooManyFunctions>allowedFunctionsPerInterface' is misspelled or does not exist.
        - Property 'complexity>TooManyFunctions>allowedFunctionsPerObject' is misspelled or does not exist.
        - Property 'complexity>TooManyFunctions>allowedFunctionsPerEnum' is misspelled or does not exist.
        - Property 'empty-blocks>EmptyKotlinFile' is misspelled or does not exist.
        - Property 'naming>FunctionNameMaxLength' is misspelled or does not exist.
        - Property 'naming>FunctionNameMinLength' is misspelled or does not exist.
        - Property 'performance>CouldBeSequence>allowedOperations' is misspelled or does not exist.
        - Property 'potential-bugs>CastNullableToNonNullableType>ignorePlatformTypes' is misspelled or does not exist.
        - Property 'potential-bugs>CharArrayToStringCall' is misspelled or does not exist.
        - Property 'style>AbstractClassCanBeConcreteClass' is misspelled or does not exist.
        - Property 'style>AbstractClassCanBeInterface' is misspelled or does not exist.
        - Property 'style>MayBeConstant' is misspelled or does not exist.
        - Property 'style>RangeUntilInsteadOfRangeTo' is misspelled or does not exist.
        - Property 'style>SpacingAfterPackageDeclaration' is misspelled or does not exist.
        - Property 'style>UnusedImport' is misspelled or does not exist.

Steps to Reproduce

Integrate detekt using guide https://detekt.dev/docs/gettingstarted/gradle
configure detekt as such:
  detekt {
    parallel = true
    allRules = true
    buildUponDefaultConfig = true
    config.setFrom("${project.rootDir}/detekt.yml")
  }

where detekt.yml is the default file listed above
run ./gradlew detekt
see error in console
Context

Integrate detekt using template ruleset
Your Environment

Version of detekt used: 1.23.1

This is not an issue. If you want to use that don't use main. Use the tag of the version that you are using. But, even better the cli and the gradle plugin has options to generate the default configuration.


Resources history how it should be

This pull request is based on ResourcesHistory (with pull request #79 ). I noticed that ResourcesHistory has a commit with the title "Merge branch 'master' of https://github.com/cerner/jwala into ResourcesHistory". The way to update the branch without adding another commit is by doing this
git pull --rebase origin master // one should be in their branch, if there are conflicts it should be resolved in Intellij unless one uses Eclipse then I guess that's a different story

Anyways, the problem that I had with the "Merge branch 'master'..." commit is that the changes that really are of the branch is not reflected in the said commit. One would only see the changes made in master which I think should not be the case.
If reviewers would check the commits in this branch, they would only see changes meant for this branch which makes it easier for them to read. In addition if the pull request is merged to master (squashed or not) then the commit history would look clean.

This pull request is for example purposes


First attempt at fixing 404 issues

Let's try this again :smile: , and then merge your changes into api-develop before doing the final merge.

Looks good to me, some type declarations might be nice, but it's otherwise good to merge!


Fix collections loading

bumped to 0.2.0 because in the middle of developing this i made a bigger change but had already published a 0.1.0


SparseMultillinearExtension::evaluate is slow

It takes time that is linear in the size of the hypercube, as opposed to linear in the number of non-zero coefficients.

Hey @Pratyush, @DimitrisPapac and I have been looking at the SparseMultilinearExtension::evaluate method in poly/src/evaluations/multivariate/multilinear/sparse.rs and we are not sure what you meant by "linear in the size of the hypercube" vs "linear in the number of non-zero coefficients". In SparseMultilinearExtension, the polynomial is represented as a list of non-zero evaluations, which is also the definition of sparsity adopted throughout Arkworks. So, did you mean "linear in the size of the hypercube" vs "linear in the number of non-zero evaluations"?
If that's the case, then the current implementation is already linear in the number of non-zero evaluations. The method fix_variables chooses the window size dynamically as log2 of the number of non-zero evals. When the number of non-zero evals is small/large, it behaves like the naive sparse/dense algorithm. It does so in a pretty optimal way from the looks of it. For reference, We ran some benchmarks using the naive  sparse algorithm, i.e., the following code snippet which is linear in the number of non-zero evaluations and the number of variables:
self.evaluations.iter()
    .map(|(&i, &v): (&usize, &F)| v * (0..self.num_vars)
        .map (|k| (i >> k) & 1)
        .enumerate()
        .map(|(j, bit)| if bit == 1 { point[j] } else { F::ONE - point[j] })
        .product::<F>()
    )
    .sum()

and we observed that the current implementation is much more efficient:
SparseMultilinear/Eval with num_vars = 12/64
                        time:   [27.815 µs 28.005 µs 28.236 µs]
                        change: [+183.54% +187.82% +192.19%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 13/64
                        time:   [31.129 µs 31.659 µs 32.155 µs]
                        change: [+172.20% +179.54% +186.73%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 14/128
                        time:   [67.307 µs 68.197 µs 69.064 µs]
                        change: [+214.55% +222.07% +229.83%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 15/128
                        time:   [69.144 µs 69.678 µs 70.292 µs]
                        change: [+220.91% +226.30% +231.55%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 16/256
                        time:   [153.67 µs 155.13 µs 156.80 µs]
                        change: [+247.99% +260.19% +272.32%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 17/256
                        time:   [168.49 µs 170.16 µs 171.91 µs]
                        change: [+320.87% +326.18% +331.39%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 18/512
                        time:   [361.08 µs 365.49 µs 370.68 µs]
                        change: [+358.08% +369.54% +382.02%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 19/512
                        time:   [387.14 µs 392.74 µs 398.55 µs]
                        change: [+342.45% +354.34% +365.11%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 20/1024
                        time:   [813.39 µs 825.67 µs 838.82 µs]
                        change: [+387.20% +400.18% +415.22%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 21/1024
                        time:   [886.92 µs 898.19 µs 911.98 µs]
                        change: [+413.20% +424.94% +436.74%] (p = 0.00 < 0.05)
                        Performance has regressed.

SparseMultilinear/Eval with num_vars = 22/2048
                        time:   [1.7714 ms 1.7876 ms 1.8048 ms]
                        change: [+424.87% +434.76% +443.92%] (p = 0.00 < 0.05)
                        Performance has regressed.

Did you have any other algorithm in mind? If so, could you please point us to a paper or any other resource where we can read about it? Thanks!


simpleList = null

Hello this is more of a question than an issue.
I was looking at the index.js file inside of your example folder and I noticed that you have
state = {
   simpleList: [1,2,3,4,5,6],....

and you also have
simpleList = null;
and further down inside of your render method in an onclick event you have
const order = this.simpleList.toArray();
                                this.simpleList.sort(order.reverse());

and down inside of the first sortable component you have a ref
ref={c => {
                                    if (c) {
                                        this.simpleList = c.sortable;
                                    }
                                }}

My question is are you setting 'simpleList' to the first array and then setting the list as a refernece
to the sortable component? what is simpleList = null actually doing?

and you also have
simpleList = null;

this initializes the variable name in the component.

const order = this.simpleList.toArray();
this.simpleList.sort(order.reverse());

toArray()is a method on Sortable: https://github.com/SortableJS/Sortable#toarraystring
Should try the new component, which is in the pinned issues.


Default tabbed/grouped layout option

Would love to switch from i3, but I actually use tabbed mode more than tiled (more frequently using GUI applications than consoles, and even then, a lot of the time I prefer full-screen terminals without taking up a lot of workspaces).
It would be great if there was an option like in i3 that let us set whether to use tabbed/grouped or tiled layout by default.
Thanks!

groups exist, wdym groups by default?

duplicate of #1505


DNS service discovery enhancements

Hi,
it would be cool if the service discovery allowed for the following:

create individual A records for every single instance of a service application. For example:

[root@de6efebf6f58 /]# host -t A testapp.rancher.internal
testapp.rancher.internal has address <IP_ADDRESS>
testapp.rancher.internal has address <IP_ADDRESS>

you would then have for every single instance (e.g. 1):
host -t A testapp-1.rancher.internal
testapp-1.rancher.internal has address <IP_ADDRESS>

Provide SRV records too

e.g.
host -t SRV _testapp._tcp.rancher.internal
_testapp._tcp.rancher.internal has SRV record 0 0 9999 testapp-1.rancher.internal.
...

Cheers,
Matteo

Just out of curiosity, how would you use this information?  I know there must be a useful reason because other DNS based service discovery tools do the same.

ibuildthecloud,
now that I know about the rancher-metadata serivice, whatever I wanted to do with DNS I can now do it via that service.
In any case, I would've used it to discover service instances to build up a cluster (e.g. zookeeper)
Cheers,
Matteo

@m4ce FYI, for zookeeper, if you are doing that.  There is one field on the container called create_index that can be used for your zk id.  @cloudnautique Has a pretty cool setup he's been fooling with that uses confd with a custom Rancher Metadata backend that generates the zk conf and myid.
@cloudnautique Do you have any sample of that?  I know it's not complete.

@m4ce here is a WIP compose file that we have been working on for Zookeeper. It is using the Rancher metadata backend with our version of confd (hopefully an official version comes soon). It has a couple of issues that we need to address with the product, but the keys you'll be most interested in are:
/self/container/create_index
/self/service/containers
/containers
You can loop through the /self/service/containers to get the container names, then traverse /containers//primary_ip and /containers//create_index to get the unique ID and ip addresses of your peers.

@ibuildthecloud,
thank you for sharing that, very much appreciated!
Marking the issue as closed.


camel-kura should use the  Kura/Eclipse's jar naming convention

RHIOT, camel and Apache project use project "${project.artifactId}-${project.version}.jar"  for Jar naming
Kura platform uses "${project.groupId}.${project.artifactId}_${project.version}.jar" for Jar naming
we could provide this jar w/ Eclipse's naming convention
we could avoid any pb with camel-kura project form Camel repo

<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>kura</id>
<goals><goal>jar</goal></goals>
<phase>package</phase>
<configuration>
<finalName>${groupId}.${artifactId}_${version}</finalName>
<includes>
<include>**/*</include>
</includes>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>kura</id>
<goals><goal>install-file</goal></goals>
<phase>install</phase>
<configuration>
<file>./target/${groupId}.${project.artifactId}_${project.version}.jar</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.groupId}.${project.artifactId}</artifactId>
<version>${project.version}</version>
</configuration>
</execution>
</executions>
</plugin>

Actually I would prefer to have artifact naming consistent within our project. It doesn't matter from the usability point of view, while consistent naming within Rhiot is important.


[fix][test] Use delta when comparing doubles in checkLoadReportNicSpeed

Motivation
@dave2wave recently encountered this test failure:
20:46:55  [ERROR] Tests run: 2, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 15.301 s <<< FAILURE! - in org.apache.pulsar.broker.loadbalance.LoadReportNetworkLimitTest
20:46:55  [ERROR] checkLoadReportNicSpeed(org.apache.pulsar.broker.loadbalance.LoadReportNetworkLimitTest)  Time elapsed: 0.142 s  <<< FAILURE!
20:46:55  java.lang.AssertionError: expected [1.6200000000000004E7] but found [1.62E7]
20:46:55  	at org.testng.Assert.fail(Assert.java:99)
20:46:55  	at org.testng.Assert.failNotEquals(Assert.java:1037)
20:46:55  	at org.testng.Assert.assertEquals(Assert.java:701)
20:46:55  	at org.testng.Assert.assertEquals(Assert.java:712)
20:46:55  	at org.apache.pulsar.broker.loadbalance.LoadReportNetworkLimitTest.checkLoadReportNicSpeed(LoadReportNetworkLimitTest.java:63)

The test failed because we are not providing an acceptable delta for the equality check.
It looks like there are other tests where we have strict double or float comparisons. I am going to leave those for now to minimize the diff on this PR. I read through all of the open flaky test issues and none appear to be related to this class of flakiness.
Modifications

Add a delta to the assertions in the checkLoadReportNicSpeed test

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Documentation

[x] doc-not-needed

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

Codecov Report

Merging #20343 (0c171af) into master (1a66b64) will increase coverage by 38.34%.
The diff coverage is 93.75%.

@@              Coverage Diff              @@
##             master   #20343       +/-   ##
=============================================
+ Coverage     34.55%   72.89%   +38.34%
- Complexity    12631    31959    +19328
=============================================
  Files          1614     1868      +254
  Lines        126234   138676    +12442
  Branches      13779    15251     +1472
=============================================
+ Hits          43622   101092    +57470
+ Misses        76999    29544    -47455
- Partials       5613     8040     +2427

Flag
Coverage Δ

inttests
24.20% <0.00%> (+0.08%)
:arrow_up:

systests
24.80% <0.00%> (?)

unittests
72.18% <93.75%> (+38.88%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...hentication/oidc/AuthenticationProviderOpenID.java
75.86% <ø> (+75.86%)
:arrow_up:

...e/pulsar/broker/authentication/oidc/JwksCache.java
66.66% <93.75%> (+66.66%)
:arrow_up:

... and 1508 files with indirect coverage changes


Code orginization

According to https://golang.org/doc/code.html
go code needs to go under the src directory. Here it is under the go/ subdirectory. This breaks go IDEs which assume the standard path layout. (notably goclipse has no way to work with this.)

AFAICT, this code satisfies those requirements. Notice that the src directory in the requirements is under $GOPATH. And if you do go get github.com/jlmucb/cloudproxy/go/..., it produces the directory github.com/jlmucb/cloudproxy/ under $GOPATH/src, as expected.


NodeCollector Pod Not starting

What steps did you take and what happened:
When I upgrade trivy to v0.19.1 after this I start seeing nodecollector pods are not running and the status is showing Error. When try to see the logs or describe the pod it is not showing any information.
As far as I can see there is nothing change in the nodecollector module in values.yaml file. It was working before with my old version after the upgrade it is giving this error.
kubectl get pods -n trivy
NAME                                                              READY   STATUS    RESTARTS   AGE
node-collector-8659c6984c-8ddql                                   0/1     Error     0          104s
node-collector-8659c6984c-c6cdk                                   0/1     Error     0          3m8s
node-collector-8659c6984c-crrrr                                   0/1     Error     0          2m53s
node-collector-8659c6984c-ftmjs                                   0/1     Error     0          20s
node-collector-8659c6984c-jc4nr                                   0/1     Error     0          2m28s
ops-k8s-secops-trivy-operator-trivy-operator-shared-dfsdkfl   1/1     Running   0          4d

#kubectl describe node-collector-8659c6984c-jc4nr -n trivy
error: the server doesn't have a resource type "node-collector-8659c6984c-jc4nr"

# kubectl logs node-collector-8659c6984c-jc4nr -n trivy
Error: unknown
Usage:
  node-collector k8s [flags]

Flags:
  -h, --help   help for k8s

Global Flags:
  -n, --node string      node name.  default: minikube (default "minikube")
  -o, --output string    Output format. One of table|json (default "json")
  -s, --spec string       spec name.  default: cis (default "cis")
  -v, --version string   spec version.  default: 1.23 (default "1.23")
unknown

Valus.yaml
nodeCollector:
    # -- useNodeSelector determine if to use nodeSelector (by auto detecting node name) with node-collector scan job
    # useNodeSelector: true
    # -- registry of the node-collector image
    registry: registry.example.com
    # -- repository of the node-collector image
    repository: aquasecurity/node-collector
    # -- tag version of the node-collector image
    tag: 0.1.2
    securityContext:
      runAsUser: 2000
      runAsGroup: 2000
      fsGroup: 2000
      supplementalGroups: [2000]

    # -- imagePullSecret is the secret name to be used when pulling node-collector image from private registries example : reg-secret
    # It is the user responsibility to create the secret for the private registry in `trivy-operator` namespace
    # imagePullSecret: ~
    # -- excludeNodes comma-separated node labels that the node-collector job should exclude from scanning (example kubernetes.io/arch=arm64,team=dev)
    # excludeNodes:
    # -- node-collector pod volume mounts definition for collecting config files information
    volumeMounts:
      - name: var-lib-etcd
        mountPath: /var/lib/etcd
        readOnly: true
      - name: var-lib-kubelet
        mountPath: /var/lib/kubelet
        readOnly: true
      - name: var-lib-kube-scheduler
        mountPath: /var/lib/kube-scheduler
        readOnly: true
      - name: var-lib-kube-controller-manager
        mountPath: /var/lib/kube-controller-manager
        readOnly: true
      - name: etc-systemd
        mountPath: /etc/systemd
        readOnly: true
      - name: lib-systemd
        mountPath: /lib/systemd/
        readOnly: true
      - name: etc-kubernetes
        mountPath: /etc/kubernetes
        readOnly: true
      - name: etc-cni-netd
        mountPath: /etc/cni/net.d/
        readOnly: true

    # -- node-collector pod volumes definition for collecting config files information
    volumes:
      - name: var-lib-etcd
        hostPath:
          path: /var/lib/etcd
      - name: var-lib-kubelet
        hostPath:
          path: /var/lib/kubelet
      - name: var-lib-kube-scheduler
        hostPath:
          path: /var/lib/kube-scheduler
      - name: var-lib-kube-controller-manager
        hostPath:
          path: /var/lib/kube-controller-manager
      - name: etc-systemd
        hostPath:
          path: /etc/systemd
      - name: lib-systemd
        hostPath:
          path: /lib/systemd
      - name: etc-kubernetes
        hostPath:
          path: /etc/kubernetes
      - name: etc-cni-netd
        hostPath:
          path: /etc/cni/net.d/

What did you expect to happen:
Nodecollector pod should run properly and it should not show an error.
Environment:

Trivy-Operator version (use trivy-operator version): v0.19.1
Kubernetes version (use kubectl version): 1.27.9
OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc): Rocky linux 8.5

@rukender configuration looks on are you using helm install ?
if so , can you please completely remove installation via helm and re-install again

@rukender configuration looks on are you using helm install ? if so , can you please completely remove installation via helm and re-install again

I'm using ArgoCD to deploy these helm charts in k8s cluster.

@rukender configuration looks on are you using helm install ? if so , can you please completely remove installation via helm and re-install again

I'm using ArgoCD to deploy these helm charts in k8s cluster.

nothing was changed in term of  node-collector could some kind of corruption.
Are you able to completely uninstall and re-install trivy-operator ?

@rukender configuration looks on are you using helm install ? if so , can you please completely remove installation via helm and re-install again

I'm using ArgoCD to deploy these helm charts in k8s cluster.

nothing was changed in term of  node-collector could some kind of corruption. Are you able to completely uninstall and re-install trivy-operator ?

ok, let me check this once

It looks like the node-collector tag is creating this issue.
  nodeCollector:
    # -- useNodeSelector determine if to use nodeSelector (by auto detecting node name) with node-collector scan job
    # useNodeSelector: true
    # -- registry of the node-collector image
    registry: registry.example.com
    # -- repository of the node-collector image
    repository: aquasecurity/node-collector
    # -- tag version of the node-collector image
    tag: 0.1.2

I changed this tag to the old tag which was 0.0.6 then node-collector pods ran successfully.
Is there any issue with this new tag?
I tried to reply before I changed the tag but it was giving same error.

It looks like the node-collector tag is creating this issue.
  nodeCollector:
    # -- useNodeSelector determine if to use nodeSelector (by auto detecting node name) with node-collector scan job
    # useNodeSelector: true
    # -- registry of the node-collector image
    registry: registry.example.com
    # -- repository of the node-collector image
    repository: aquasecurity/node-collector
    # -- tag version of the node-collector image
    tag: 0.1.2

I changed this tag to the old tag which was 0.0.6 then node-collector pods ran successfully. Is there any issue with this new tag?
I tried to reply before I changed the tag but it was giving same error.

tag should not be an issue, it works for long time already ,the latest 0.1.2 expect to accept node name as argument and  then access /api/v1/nodes/<node name>/proxy/configz  api could be issue with permission to this API, are you customizing operator permissions or its limited in some way

Same issue here. But I do not deploy via helm. I'm using the OLM for the trivy deployment. In case that I try to use an older image I get:
Error: unknown flag: --node
Usage:
  node-collector [flags]

Flags:
  -h, --help            help for node-collector
  -o, --output string   Output format. One of table|json (default "json")
  -s, --spec string      spec version.  default: 1.0 (default "1.0")

unknown flag: --node

@mdalling1990 can you please share your configuration


Frequent S3 Slowdown Error

When processing CommonCrawl, I frequently get SlowDown Errors: {'Error': {'Code': 'SlowDown', 'Message': 'Please reduce your request rate.'}. Is this common? Are there any recommended strategies for alleviating this issue?

The issue here is on CommonCrawl side unfortunately. The s3 bucket is shared resource so there is high demand here. You can monitor the current use here https://status.commoncrawl.org/.
To mitigate the issue you can try:

Reducing number of concurrent downloands (reduce number of workers).
Use the random sleep feature for each worker so they don't all start fetching at the same time
Increase retries for aws fetching (it should be env variable)

Thanks for the response, @hynky1999. I'm sorry for raising an issue. I couldn't find a discussion section where I might ask.
Also, I'm writing output while processing to Azure adlfs but nothing has been written so far. I can see that documents have passed through my filters successfully because I logged details but nothing has been written to adlfs. Is there a minimum size because pushes happen?


[BUG] - MuxError MuxBearerClosed for PastHorizon error

Internal
Area
Plutus    Related to Plutus Scripts (Alonzo).
Summary
In Babbage era, when Plutus transaction is submitted with ttl (invalid_hereafter) too far in the future, submit fails with
MuxError MuxBearerClosed "<socket: 11> closed when reading data, waiting on next header True

This is not indicative of what is the actual issue. In node log files there's following error:

[toolbox:cardano.node.LocalErrorPolicy:Error:64] [2022-05-24 10:01:27.93 UTC] IP LocalAddress "./state-cluster0/bft1.socket@700" ErrorPolicyUnhandledApplicationException (EpochErr "PastHorizon {pastHorizonCallStack = [("runQuery",SrcLoc {srcLocPackage = "ouroboros-consensus-<IP_ADDRESS>-3WJNO431PEsEUwRPtCeeUr", srcLocModule = "Ouroboros.Consensus.HardFork.History.Qry", srcLocFile = "src/Ouroboros/Consensus/HardFork/History/Qry.hs", srcLocStartLine = 430, srcLocStartCol = 44, srcLocEndLine = 430, srcLocEndCol = 64}),("interpretQuery",SrcLoc {srcLocPackage = "ouroboros-consensus-<IP_ADDRESS>-3WJNO431PEsEUwRPtCeeUr", srcLocModule = "Ouroboros.Consensus.HardFork.History.EpochInfo", srcLocFile = "src/Ouroboros/Consensus/HardFork/History/EpochInfo.hs", srcLocStartLine = 45, srcLocStartCol = 50, srcLocEndLine = 45, srcLocEndCol = 68}),("interpretQuery'",SrcLoc {srcLocPackage = "ouroboros-consensus-<IP_ADDRESS>-3WJNO431PEsEUwRPtCeeUr", srcLocModule = "Ouroboros.Consensus.HardFork.History.EpochInfo", srcLocFile = "src/Ouroboros/Consensus/HardFork/History/EpochInfo.hs", srcLocStartLine = 39, srcLocStartCol = 9, srcLocEndLine = 39, srcLocEndCol = 52}),("epochInfoSlotToRelativeTime_",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 62, srcLocStartCol = 9, srcLocEndLine = 62, srcLocEndCol = 37}),("epochInfoSlotToRelativeTime",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 125, srcLocStartCol = 40, srcLocEndLine = 125, srcLocEndCol = 70}),("epochInfoSlotToRelativeTime_",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 62, srcLocStartCol = 9, srcLocEndLine = 62, srcLocEndCol = 37}),("epochInfoSlotToRelativeTime",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 125, srcLocStartCol = 40, srcLocEndLine = 125, srcLocEndCol = 70}),("epochInfoSlotToRelativeTime_",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 62, srcLocStartCol = 9, srcLocEndLine = 62, srcLocEndCol = 37}),("epochInfoSlotToRelativeTime",SrcLoc {srcLocPackage = "cardano-slotting-<IP_ADDRESS>-6VyoKllhKMr9HEkTJGSq3p", srcLocModule = "Cardano.Slotting.EpochInfo.API", srcLocFile = "src/Cardano/Slotting/EpochInfo/API.hs", srcLocStartLine = 91, srcLocStartCol = 30, srcLocEndLine = 91, srcLocEndCol = 63}),("epochInfoSlotToUTCTime",SrcLoc {srcLocPackage = "cardano-ledger-alonzo-<IP_ADDRESS>-LRtxo54eOGQF6sHY5o0360", srcLocModule = "Cardano.Ledger.Alonzo.TxInfo", srcLocFile = "src/Cardano/Ledger/Alonzo/TxInfo.hs", srcLocStartLine = 194, srcLocStartCol = 9, srcLocEndLine = 194, srcLocEndCol = 41})], pastHorizonExpression = Some (EPair (ERelToAbsTime (ERelSlotToTime (EAbsToRelSlot (ELit (SlotNo 37582))))) (ESlotLength (ELit (SlotNo 37582)))), pastHorizonSummary = [EraSummary {eraStart = Bound {boundTime = RelativeTime 0s, boundSlot = SlotNo 0, boundEpoch = EpochNo 0}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 200s, boundSlot = SlotNo 100, boundEpoch = EpochNo 1}), eraParams = EraParams {eraEpochSize = EpochSize 100, eraSlotLength = SlotLength 2s, eraSafeZone = StandardSafeZone 20}},EraSummary {eraStart = Bound {boundTime = RelativeTime 200s, boundSlot = SlotNo 100, boundEpoch = EpochNo 1}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 400s, boundSlot = SlotNo 1100, boundEpoch = EpochNo 2}), eraParams = EraParams {eraEpochSize = EpochSize 1000, eraSlotLength = SlotLength 0.2s, eraSafeZone = StandardSafeZone 300}},EraSummary {eraStart = Bound {boundTime = RelativeTime 400s, boundSlot = SlotNo 1100, boundEpoch = EpochNo 2}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 600s, boundSlot = SlotNo 2100, boundEpoch = EpochNo 3}), eraParams = EraParams {eraEpochSize = EpochSize 1000, eraSlotLength = SlotLength 0.2s, eraSafeZone = StandardSafeZone 300}},EraSummary {eraStart = Bound {boundTime = RelativeTime 600s, boundSlot = SlotNo 2100, boundEpoch = EpochNo 3}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 800s, boundSlot = SlotNo 3100, boundEpoch = EpochNo 4}), eraParams = EraParams {eraEpochSize = EpochSize 1000, eraSlotLength = SlotLength 0.2s, eraSafeZone = StandardSafeZone 300}},EraSummary {eraStart = Bound {boundTime = RelativeTime 800s, boundSlot = SlotNo 3100, boundEpoch = EpochNo 4}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 1200s, boundSlot = SlotNo 5100, boundEpoch = EpochNo 6}), eraParams = EraParams {eraEpochSize = EpochSize 1000, eraSlotLength = SlotLength 0.2s, eraSafeZone = StandardSafeZone 300}},EraSummary {eraStart = Bound {boundTime = RelativeTime 1200s, boundSlot = SlotNo 5100, boundEpoch = EpochNo 6}, eraEnd = EraEnd (Bound {boundTime = RelativeTime 7600s, boundSlot = SlotNo 37100, boundEpoch = EpochNo 38}), eraParams = EraParams {eraEpochSize = EpochSize 1000, eraSlotLength = SlotLength 0.2s, eraSafeZone = StandardSafeZone 300}}]}")

System info (please complete the following information):

OS Name: Fedora 35
Node version: https://github.com/input-output-hk/cardano-node/pull/3882

https://github.com/input-output-hk/ouroboros-network/pull/3770 and https://github.com/input-output-hk/cardano-ledger/pull/2818 both address the unhandled error, and will hopefully make it easier to dig into the details of this.

Obviously something we want to fix, but not an absolute blocker for the hard fork, I think @nc6 ?   As I understand it, it's about poor error reporting?

Well, there are two things here. The first is bad error reporting, and that's handled by the above PRs. But there's also an issue with inconsistent TTL validation, which is absolutely a blocker, and the bad error reporting makes it difficult to diagnose what's happening.

I wrote here that -- as of a couple hours ago -- we think the "inconsistent TTL validation" is better understood now and there is no bug there. https://input-output-rnd.slack.com/archives/C02CHLB0BU4/p1653578190455719?thread_ts=1653388323.364879&cid=C02CHLB0BU4
So: @kevinhammond 's

Obviously something we want to fix, but not an absolute blocker for the hard fork, I think @nc6 ? As I understand it, it's about poor error reporting?

is now true, to my knowledge.

The PRs that Clarke mentioned: input-output-hk/ouroboros-network#3770 and input-output-hk/cardano-ledger#2818 are both merged upstream.
The PR #3924 includes them. So as soon as #3924 merges, I think we can close this, since the error will be properly reported instead of via error and hence Muxerror MuxBearerClosed.
I believe it is the case that the error was happening at all (regardless of how it manifested in the logs/exit status/etc) for reasons we now understand, as explained near the end of this Slack thread https://input-output-rnd.slack.com/archives/C02CHLB0BU4/p1653388323364879
@mkoura do you agree with the above? IE can we close this issue once #3924 since it'll fix the unhelpful reporting?

@nfrisby I agree, we can close this since https://github.com/input-output-hk/cardano-node/pull/3924 is merged.

I'm getting the error when I attempt to query the slot leader calculations


Design and Deploy Your First Integration Flow

Tutorials: https://developers.sap.com/tutorials/cp-starter-integration-cpi-design-iflow.html
Step 9: Deploy the integration flow : 3 point :-- Here after deploying the integration flow, when its in 'Started' state, we can see 'Restart' option and before it comes to 'Started' state there wont be 'Restart' option. Need to change the screenshots accordingly.
Expected :

Actual :
While deploying

After deployment

Also under the Artifact Details section, now one more link 'Navigate to Artifact Editor' is displaying, as shown above.
Note : The same screenshot needs to be updated in Step 2: Get endpoint of the integration flow of Tutorial 3(https://developers.sap.com/tutorials/cp-starter-isuite-api-management.html)

@NidhiMurkute - thanks for the feedback, this issue is fixed now. Will send a PR very soon


About the select of scene landmarks

hey,I'm really interested in your work.
Therefore, I want to experiment on other scenes, but I have not found the program code about how to select the representative landmark in the scene. Can you release the code about how to select the representative landmark in the three-dimensional scene?
I am  looking forward to your reply!

Hi, thank you for your interest. We are working on this and will release it together with the 3D scene reconstructions soon.
Best,
Tien

Thanks for your reply.
I look forward to it！

Hello, I'm sorry to bother you.
do you have any plans to publish 3D scene point cloud models and how to select representative scene landmarks in the near future?
I'm really looking forward to your dataset and algorithms.

The 3D point cloud and landmark selection are now available. Please refer to this PR https://github.com/microsoft/SceneLandmarkLocalization/pull/15


Update readme screenshots for Wear

Preview at https://github.com/joreilly/Confetti/blob/4504148f0dfa3ddcdbca899478e0bc57039c8980/README.md

@joreilly want to try running the debug app with this PR, then land?

I pulled down this PR and not seeing the issue I was seeing before with debug build.


kubectl hns delete command?

While kubectl hns create command exists, hns delete command does not.
We can delete subns with kubectl delete subns command. However, a user using kubectl hns command for the first time will assume that since create exists, delete must exist, but will be confused because it does not.

I'm ok with a pass-through command. We could also add an
--allow-cascading-deletion flag that automatically calls "kubectl hns set
--allow-cascading-deletion" to combine two calls into one.
On Tue, Jun 27, 2023 at 10:27 AM Kazuki Suda @.***>
wrote:

While kubectl hns create command exists, hns delete command does not.
We can delete subns with kubectl delete subns command. However, a user
using kubectl hns command for the first time will assume that since create
exists, delete must exist, but will be confused because it does not.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-sigs/hierarchical-namespaces/issues/307,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZH2GWWXBQQJRBWUMZDXNLUU7ANCNFSM6AAAAAAZVWDHHM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

OK, I will try to implement it.

Thanks!
On Tue, Jun 27, 2023 at 8:04 PM Kazuki Suda @.***>
wrote:

OK, I will try to implement it.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-sigs/hierarchical-namespaces/issues/307#issuecomment-1610385199,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZBIN3YJVDFADX26M3DXNNYJPANCNFSM6AAAAAAZVWDHHM
.
You are receiving this because you commented.Message ID:
@.***>


Pool attribute name is not very descriptive

In my opinion the generated attributes that associate a component with a pool is not very descriptive. Imagine I have a pool called "Core", then the attribute will also be called "Core".
I think it would be better to have a PoolAttribute that takes an enum value and those enum values are generated by the code generator.
i.e. instead of having an attribute [Core] it would be an attribute [Pool(Pools.Core)].

I just tried it and realised that enums cannot be partial, so instead of an enum a class with integer ids could be used like this:
public class PoolIds {
public const int Core = 1;
}

Sounds like a good idea! I'll give it a try.

I agree,  [Pool(Pools.Core)] is more descriptive. On the other hand these attributes are used for a very specific case and only in entitas components. It's a little less code to write with the current impl. which is nice, if you're writing this over and over again.
[Meta, UI, SingleEntity]
public class MyComponent {}

If you don't mind, I'd just leave it like it is for now.


WIP: Docker plugin

This PR provides a script that will generate Docker plugins for cifs, nfs, efs, and ceph.

Where are maintainers?
Are they disappeared?

I stopped working on this PR


DBZ-1656 Blogpost about Debezium Camel component

@gunnarmorling All comments should be addressed

@jpechane, on the architecture overview the Twitter icon is scaled disproportionally. Could you update that visual?

Pushed a commit with a few updates.
Still needs the Docker Compose update once we have it.

@jpechane, pushed one more commit. Image looking good now, thanks! One more question: can you add a sentence towards the end touching on the idea of an offset storage based on the embedded infinispan store? With that, and the Compose update, it's good to go from my PoV. Great stuff, thanks a lot!

@gunnarmorling Docker compose used, Inifinispan based offset store mentioned

Thanks, great work! Will publish it it later in the day 🚀


bug: Cannot render a block

Describe the bug
After creating a block it is not rendered.
To Reproduce
Check the link https://codesandbox.io/s/peaceful-varahamihira-nhs8jl?file=/src/App.js.
Expected behavior
After the issue #412 was solved I tried to add SVG elements and it did not work. Not even to create a block from a div (of course not inside the SVG HTML).
Device (please complete the following information):

OS: Windows
Browser: Chrome
Version: 2.4.9

Describe the bug After creating a block it is not rendered.
To Reproduce Check the link https://codesandbox.io/s/peaceful-varahamihira-nhs8jl?file=/src/App.js.
Expected behavior After the issue #412 was solved I tried to add SVG elements and it did not work. Not even to create a block from a div (of course not inside the SVG HTML).
Device (please complete the following information):

OS: Windows
Browser: Chrome
Version: 2.4.9

Thank you for raising this @vital487!

Will be fixed in a release soon.

Hi @aidenybai,
Is this fixed? Since the first fix (https://github.com/aidenybai/million/issues/412) I could never make it work.


How to hide item in menu left

How to hide and show menu item with role user ? please help me .

Hello, since the Menu Items are configured by an Object (LayoutModule.forRoot), you could create a Service, where for example when entering the system this service would fetch the menus released from the respective user that logged in.

@giquieu  Please give me exmple . im new in angular 2+

If you want to hide items in the left menu, just use the layout service to add items based on roles or what other criteria you chose like so:
import { LayoutStore } from 'angular-admin-lte';
const routeChildren = [];

 const menuItems = [];

routeChildren.push({ label: 'Persons', route: 'cpanel/person', iconClasses: 'fa  fa-group' });
menuItems.push({
      label: 'Control Panel', iconClasses: 'fa  fa-gears', children: routeChildren
    });
 this.layoutStore.setSidebarLeftMenu(menuItems);

Hope this helps

@Mihai-B This is works but after change component...
Items in Layout was updated but not component after this.layoutStore.setSidebarLeftMenu(menuItems);
Could you write any exacple how to use it ?

Yes i need Any exacple how to use it . and where to put this code ?

@nhoctanker my friend, usually a role is assigned to a user and the role has permissions. In order to detect current user's roles he/she should be logged-in right? The answer is yes.
Okay we know current user and roles assigned to him/her and we want dynamically render the menu for him/her. In this process you should hook into app init process of angular. Angular already has this feature. Here is a nice article about it which can give you an idea.
If i were you i would write an APP_INITIALIZER factory method and get roles of current user and detect granted menu items for him/here and set it to a variable in an service. By the way services in angular has singleton lifecycle. It means you can get granted menu items for the current user from everywhere by using that service.
I hope this helps you.


Rollout completion ETA?

When is this rollout expected to be completed?
Is there a corresponding entry in the O365 roadmap?

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

ID: 83c7c32e-6f64-353b-0822-f6c7b4072998
Version Independent ID: 1a0d4ab3-c309-daa2-7855-93257071c29e
Content: Unverified Sender
Content Source: microsoft-365/security/office-365-security/unverified-sender-feature.md
Service: o365-seccomp
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

@MikeDembek  - Thank you for submitting feedback.
I will get this issue over to the Microsoft 365 writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@MSFTTracyP - Can you please share your insights on this issue?
Thank you.
cc: @kenwith

For existing clients called out by the article, this feature is rolled out. But if you use semi-annual updates, this may not appear for you. The feature is not rolled to Mac, or mobile yet. I hope that helps, @MikeDembek!


[split] rcore, drm changes

This applies a few small changes and moves some remaining functions over from rcore.c to rcore_drm.c and some changes to Makefiles.

examples/Makefile - Add the libdrm include path for PLATFORM_DRM specifically
src/Makefile - Add warning for unused functions for PLATFORM_DRM specifically
rcore.c - Add these functions to rcore_drm.c:

InitKeyboard
RestoreKeyboard
ProcessKeyboard
InitEvdevInput
ConfigureEvdevDevice
PollKeyboardEvents
*EventThread
InitGamepad
*GamepadThread
FindMatchingConnectorMode
FindExactConnectorMode
FindNearestConnectorMode
SetExitKey
SetMouseCursor
GetTouchX
GetTouchY
GetTouchPosition

@michaelfiber Thanks for the review! Just added one comment!

@michaelfiber Merging!


PhantomJS Support

What would be necessary? Anything to keep in mind?
If I decided to try and add this, would I be able to just model the Chrome module? Upon looking at the Chrome module, it looks like not much is in there.
Any direction is appreciated.

thanks for this thread, it helped me a lot.
For completeness, here is a small config how to do this, with the most simple settings:
start phantomjs on the default selenium port
$ phantomjs --webdriver=<IP_ADDRESS>:4444

in the haskell code (defaults to localhost on port 444):
myConfig :: WDConfig
myConfig = defaultConfig
main :: IO ()
main = runSession myConfig $ do ...

Alex.


(PUP-3618) Include pkgng provider for FreeBSD

To improve the default state of Puppet on FreeBSD systems, this work
moves the pkgng provider into core.  Previously, users of the provider
would need to install from the forge module zleslie/pkgng.

PR Triage Notes:

The provider relies on facts for confining and defaulting. Need to figure out next steps. @peterhuene @MikaelSmith to comment.

Updated commit to include issue number.

Facts submitter here: https://github.com/puppetlabs/facter/pull/843

@xaque208 re this and puppetlabs/facter#843:
The general consensus on puppet-dev/irc/contrib-summit seems to be toward pulling more types and providers out of puppet/facter core and into modules, and then having distro-specific packaging bundle the desired modules in with the puppet package.
For the distros which PL packages, I see a pretty clear path to how this would work. (E.g. see PUP-1077/PUP-3922.) What I don't know though is how to tie this into the FreeBSD packaging. Could the same/similar model work there?
/cc @ahpook

@kylog The code for the provider as well as the facts has lived in a module on github since this work began, but the consensus around platform specific providers has meandered around a bit.  If the suggestion here is to close this out and leave the code in a module, thats fine, but is not what was suggested when I submitted this PR.
See https://github.com/puppetlabs/puppet/pull/1433 and https://github.com/puppetlabs/puppet/pull/1003 for history.  I just thought we'd try to make FreeBSD a first class citizen in the core of Puppet.
How should we proceed?  If the code is not good enough to make it into core, please point it out.  How else can I help this along?

@xaque208 yeah, I totally get that the consensus has evolved over time. Apologies for that churn.
What I was trying to ask now (but didn't phrase all that well) was the feasibility of modifying the FreeBSD packaging for puppet to include appropriate modules at packaging time. E.g the packaging code could use a Puppetfile describing modules of interest and put them in, say, /opt/share/puppet/modules. That directory could then be in the basemodulepath for puppet and then users would then only need to install the one puppet package (no pmt install step), which is the underlying goal of this PR.
Ultimately, this would still be blocked by https://tickets.puppetlabs.com/browse/PUP-3922 (as it is for other platforms, which is why we should get on it). But for now I'm just wondering if there are FreeBSD-specific obstacles to that general approach.

@xaque208 I've commented on the code diff with a possible alternative to relying on a fact that would allow the provider to enable itself if pkgng is present.  Let me know if that doesn't make sense.

@ahpook do you have comments on the question of whether this should be in core vs in a module at this time? I ask you because of the talk about tiering providers, etc.

if we had the framework in place right now to combine modules into packaging, i'd say module all the way. since we don't, and since we'll have to reckon with this along with the rest of the OS-specific / non-tier-1 types, at some future time, it's a minuscule incremental add. so i'm :+1: to merge as is.

Okey doke, with a green light to add this functionality to puppet core, did we resolve the outstanding review comments above? Including a decision on decoupling this from https://github.com/puppetlabs/facter/pull/843?

@xaque208 one other q: is this now decoupled from facter#843?

@xaque208 Ping. Do you have time to get all this wrapped up soon-ish? If not we're probably going to close this at the next triage meeting (one week) just to clean up clutter and you can re-open when you're ready.

I believe I've addressed all issues raised.  Please let me know if this is not the case.

Thanks @xaque208! I'll go over this once more this afternoon or tomorrow

@xaque208 it looks like we're about ready to merge this.
However, I have another thing for you. We need to verify the sub-contributors listed in your commit message have signed the CLA. From what I can tell, I few of them have, but the majority have not. Since they have contributed code, they should sign. The missing signatures are:
Alex Hornung<EMAIL_ADDRESS>Athanasios Douitsis<EMAIL_ADDRESS>Jiří Kubíček<EMAIL_ADDRESS>Romain Tartière<EMAIL_ADDRESS>Seth Lyons<EMAIL_ADDRESS>I checked the CLA signatures via the github username, so it's possible I found the wrong person. If that is the case, and one of these people has already signed the CLA, let me know. Otherwise, they should be pinged to complete the agreement at https://cla.puppetlabs.com/

I've just mailed the listed contributors to get them to sign the CLA.

All listed sub-contributors have signed the CLA. :+1:  from me.


Bug executor node

[executor-3] Traceback (most recent call last):
[executor-3]   File "/home/gus/exp_metacontrol_ws/install/rosa_execute/lib/rosa_execute/executor", line 33, in <module>
[executor-3]     sys.exit(load_entry_point('rosa-execute', 'console_scripts', 'executor')())
[executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/executor_node.py", line 26, in main
[executor-3]     executor.spin()
[executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 279, in spin
[executor-3]     self.spin_once()
[executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 764, in spin_once
[executor-3]     self._spin_once_impl(timeout_sec)
[executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 745, in _spin_once_impl
[executor-3]     handler, entity, node = self.wait_for_ready_callbacks(
[executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 691, in wait_for_ready_callbacks
[executor-3]     return next(self._cb_iter)
[executor-3] ValueError: generator already executing
[executor-3] The following exception was never retrieved: cannot schedule new futures after shutdown
[executor-3] sys:1: RuntimeWarning: coroutine 'Executor._make_handler.<locals>.handler' was never awaited

[configuration_executor-3] Traceback (most recent call last):
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/install/rosa_execute/lib/rosa_execute/configuration_executor", line 33, in <module>
[configuration_executor-3]     sys.exit(load_entry_point('rosa-execute', 'console_scripts', 'configuration_executor')())
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/configuration_executor_node.py", line 26, in main
[configuration_executor-3]     executor.spin()
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 279, in spin
[configuration_executor-3]     self.spin_once()
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 764, in spin_once
[configuration_executor-3]     self._spin_once_impl(timeout_sec)
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 761, in _spin_once_impl
[configuration_executor-3]     future.result()
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/task.py", line 94, in result
[configuration_executor-3]     raise self.exception()
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/task.py", line 239, in __call__
[configuration_executor-3]     self._handler.send(None)
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 418, in handler
[configuration_executor-3]     await call_coroutine(entity, arg)
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 343, in _execute_subscription
[configuration_executor-3]     await await_or_execute(sub.callback, msg)
[configuration_executor-3]   File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 107, in await_or_execute
[configuration_executor-3]     return callback(*args)
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/configuration_executor.py", line 59, in inner
[configuration_executor-3]     return func(*args, **kwargs)
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/configuration_executor.py", line 168, in event_cb
[configuration_executor-3]     self.execute()
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/configuration_executor.py", line 59, in inner
[configuration_executor-3]     return func(*args, **kwargs)
[configuration_executor-3]   File "/home/gus/exp_metacontrol_ws/build/rosa_execute/rosa_execute/configuration_executor.py", line 174, in execute
[configuration_executor-3]     if reconfig_plan.success is True:
[configuration_executor-3] AttributeError: 'NoneType' object has no attribute 'success'


Sort "Recent entries" for water

Currently the "Recent entries" for water grabs the last 3 unique amounts. But I don't know how it sorts them. I prefer to see them sorted with the lowest amount on the left and the highest on the right.
This requires a fancier query than what is being used right now.

To sort the "Recent entries" by the lowest amount on the left and the highest on the right, you can modify the query like this:
scope :recent, -> { distinct(:amount).order(amount: :asc, created_at: :desc).limit(3) }
This will first order by the amount in ascending order and then by created_at in descending order, giving you the desired sorting for the recent entries.

Hmm, that doesn't seem to work with Postgres.
PG::UndefinedColumn: ERROR:  column "amount" does not exist
LINE 1: ...es" WHERE "water_entries"."user_id" = $1 ORDER BY "amount" A...

The error indicates that the "amount" column is not recognized in the query, and this might be due to the use of distinct(:amount) causing a conflict with the subsequent ordering.
To address this issue, you can try using a subquery to first select distinct amounts and then order the results. Here's an adjusted version:
scope :recent, -> { order(amount: :asc, created_at: :desc).distinct(:amount).limit(3) }
This should order the results by the lowest amount on the left and the highest on the right, without causing the "column does not exist" error.

That doesn't change anything. It generates the same SQL.
[2] pry(main)> WaterEntry.distinct(:amount).order(amount: :asc, created_at: :desc).limit(3).to_sql
=> "SELECT DISTINCT \"water_entries\".* FROM \"water_entries\" ORDER BY \"amount\" ASC, \"water_entries\".\"created_at\" DESC LIMIT 3"

[2] pry(main)> WaterEntry.order(amount: :asc, created_at: :desc).distinct(:amount).limit(3).to_sql
=> "SELECT DISTINCT \"water_entries\".* FROM \"water_entries\" ORDER BY \"amount\" ASC, \"water_entries\".\"created_at\" DESC LIMIT 3"

I appreciate the help but I think it would be easier if you submitted a working PR if possible!

It seems the current approach doesn't alter the SQL as expected. I'll take your feedback to heart and work on a pull request to address this directly. Thanks for your patience and understanding! 🛠


Port to Android/iOS

Main thing that's stopping the port is really Java 8 API, so when core is ready just need to switch back to 7. Lambda syntax is fine, gradle retrofits it during build

Moved to https://github.com/AlmasB/FXGL/wiki/Issue-Feature-Question


Creating environment

this command line:
conda env create -f environment.yml
should be:
conda env create -f environment.yaml

Thanks for your correction.


Allow for configurable component_dirs in auto_registration setup

I thought this was addressing the namespace issue but it looks like it's a whole new feature :) I'm wondering though why and where do we need this?

It was part of the problem @skrypalyk had with rom-rails yesterday, regarding already having a commands directory, plus I think it should be configurable anyway :p

What's the namespace issue BTW?

It was part of the problem @skrypalyk had with rom-rails yesterday, regarding already having a commands directory, plus I think it should be configurable anyway :p

Oh so having that configurable would fix something in rom-rails? I'm not against this feature, just wanted to know where and how it'd be used.

What's the namespace issue BTW?

dis one https://github.com/rom-rb/rom/pull/338

Thank you for doing this @AMHOL! I really appreciate it.

NP, still needs an update in rom-rails after merge


ISPN-11305 Broadcasted queries with projections fail for LAZY iterator

https://issues.redhat.com/browse/ISPN-11305

I'd merge that last 2 commits

Squashed

Tests look good . I'll fix the last nitpicking myself and merge this ASAP

Merged in master. Thanks @gustavonalle !


feat(element): Add getter and setter for value of input elements

This PR tries to solve the inconsistency (referred to in the FAQ) when querying and setting the value of input elements, by adding getValue() and setValue() methods to the element object. This makes working with text-based form fields much easier.
Examples:
var aboutbox = element(by.model('aboutbox'));

// Existing approach
aboutbox.clear().sendKeys('Long comment');
// This doesn't return the value: aboutbox.getText() , so use this instead:
expect(aboutbox.getAttribute('value')).toEqual('Long comment');

// NEW approach
aboutbox.setValue('Long comment');
expect(aboutbox.getValue()).toEqual('Long comment');

// Additionally, setValue() supports an optional boolean parameter, indicating
// whether to send a TAB-key to the control, causing the control to loose focus.
// This behaviour is really helpful when trying to test field validations that are
// triggered by change or blur events.

aboutbox.setValue('Long comment', false);  // default = no tab key sent
expect(aboutbox.getValue()).toEqual('Long comment');
expect(browser.driver.switchTo().activeElement().getAttribute('ng-model')).toEqual('aboutbox');

// Now send a TAB keypress after clearing & setting the value
aboutbox.setValue('Long comment', true);  // true = send tab key
expect(aboutbox.getValue()).toEqual('Long comment');
expect(browser.driver.switchTo().activeElement().getAttribute('ng-model')).not.toEqual('aboutbox');

I've changed my git repo's user.email address to<EMAIL_ADDRESS>but I haven't made another commit yet. What's the best way to fix my CLA status?

Uh, just sign the CLA with both email addresses

Signed CLA with other email address which matches commit's user.email.

I authored this commit
Sent from my iPhone

On 12 Mar 2015, at 2:28 pm, googlebot<EMAIL_ADDRESS>wrote:
We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm.
—
Reply to this email directly or view it on GitHub.

I am the author of this commit
Sent from my iPhone
On 12 Mar 2015, at 2:28 pm, googlebot <notifications<EMAIL_ADDRESS>wrote:
We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else. If that's the case, please add them to this pull request and have them confirm that they're okay with these commits being contributed to Google. If we're mistaken and you did author these commits, just reply here to confirm.
—
Reply to this email directly or view it on GitHubhttps://github.com/angular/protractor/pull/1917#issuecomment-78417758.


add parent_ops_location to ops_locations.txt

This proposal seeks to add an ability to nest ops_location_id's like it is possible to do with stop_id's. This is especially useful when there are multiple groups of chargers at a depot where they may have varying maximum charging speeds or availability periods.
parent_ops_location

When an ops_location_id is present in this field, it is considered the parent of this ops_location_id.

This issue is closed as the functionality in ODS will now be equivalent to the functionality allowing parent-child relationships in GTFS, under proposal #55


regexMatches custom check doesn't work

Describe the bug
For some reason my regular expression custom check is breaking all my other custom checks, and I'm not sure why.
To Reproduce
Using this custom check:
---
checks:
  - code: CUS001
    description: Check to warn that the S3 Bucket does not conform to the naming convention
    impact: By not conforming to the naming convention it will make finding the resources much harder, and prevent systems from classifying them when needed
    resolution: Use the naming convention for S3 Buckets - ${namespace}-${accountId}(-${awsRegion})?
    requiredTypes:
      - resource
    requiredLabels:
      - aws_s3_bucket
    severity: WARNING
    matchSpec:
      name: bucket
      action: regexMatches
      value: "^[a-z\-]*[0-9]{12}(-[a-z]{2}-[a-z]{4}-[0-9])?$"
    errorMessage: The bucket does not conform to the naming convention

and this Terraform:
resource "aws_s3_bucket" "new_bucket" {
  bucket = "dfgdfg"

  versioning {
    enabled = true
  }

  logging {
    target_bucket = aws_s3_bucket.log_bucket.id
    target_prefix = "log/"
  }

  server_side_encryption_configuration {
    rule {
      apply_server_side_encryption_by_default {
        sse_algorithm = "aws:kms"
      }
    }
  }
}

Expected behavior
I expect an warning to show that the S3 bucket does not have the correct naming convention
Screenshots
N/A
Desktop (please complete the following information):

OS: macos

Additional context
Using latest version v0.40.2

Sorry to bother, found the issue as soon as I pasted it into a highlighted yaml code block. Needed to escape the escape.


how to uninstall wasienv

I installed this, but now I dont want to use it anymore. How do I uninstall it?

@spirobel  I did
➜  which wasienv
/Users/xxx/.wasienv/bin/wasienv
➜ rm -rf ~/.wasienv/bin/wasienv
➜ which wasienv
wasienv not found

this repo seems not being maintained for years
fermyon team pointed me towards wasi-sdk


Questions about your theme

Hi @boratanrikulu sorry if it's not the good place (it's not really an issue) but I thought that other people could have the same questions.
I've developped a personnal website with Hugo and your theme. This is the first "initial" deploy of it : https://cys-photographie.netlify.app/
Modifications
First of all, I will tell you the modifications I've made from your theme. Maybe it could give you ideas for improvements :

style.css :

.menu {
    max-width: 1200px;
}
/* I've grown the max-width to prevent navbar to take 2 lines when we add tags in menu */

img.logo {
    border-radius: 0%;
    height: 100%;
}

/* I've removed the border-radius because with 50% (default) it will "cut" the border of non-circle logo */

adding a 404.html file into layout folder to localize the error page (and copying this content into nil/single.html because on rare occasions it loads the default 404 page instead my custom 404 page, I don't know why exactly).

{{ partial "header.html" . }}

{{ partial "navbar.html" . }}

Page non trouvée

404

                    Retour à la case départ

{{ partial "footer.html" . }}

modifying partials/slides/meta.html to have a better "localization" of the format date :

{{ .ctx.Page.Date.Format "2 January 2006" }}

          {{ else }}

{{ with (index $.imgs 0).Exif }}
{{ .Date.Format "2 January 2006" }}
{{ end }}

I've tried to localize perfectly to french "conventions" with this template code but never success.
If I just change 2 January 2006 with :date_full it will literally write ":date_full" on the page.
If I try to use the complete template {{ .Date | time.Format ":date_full" }} or {{ .ctx.Page..Date | time.Format ":date_full" }} it will break all the website.

I've added a html code into partials/slides/slider.html to inform visitors that they can click on the pictures to open the viewer :

            {{ . }}

{{ end }}
N'hésitez pas à cliquer sur les images pour ouvrir la visionneuse

Questions
Now my questions :

does the website loads indefinitively the pictures, for example into the /work page or can we add a maximum pictures loaded ?

how are displayed the pictures ? I've loaded several times and I've done a full reload, but it seems to have always the same order, and the posts with the smallest weight (1 in my case) are not even loaded into the first place on my /work page.
I was hoping the smalles weight will be displayed first, and randomly.

where do you think it's the best place to store the pictures ?
In my case, I've added folders into the "asset" folder and call them from the page with something like this :

images:
  /images/aerien/_CYS0486_.jpg

I've tried to add them into static or ressources but without success or not also easy than this "asset" method.

at the beginning of my coding, I was planned to made one post with several pictures (like an album) but if we add multipleColumn: true all pictures wil be aligned only on one line even if they are 6 or more pictures into the post. I could add multipleColumn: true but I don't find very attractive.
I don't know if we can add a viewer which let use configure the number of max columns et let us navigate to the "album" post with left and right arrows.

Sorry for this long post, but hoping we can discuss about it.
Regards.

For the order, I guess it could be because of this code into colums.html :
{{ $posts = sort $posts ".Params.weight" "desc" }}
It seems coherent with my reports, as the higher weights seem to be displayed fisrt. It seems in contradiction with the docs page of hugo :

Lower weight gets higher precedence. So content with lower weight will come first.

As I understand, random ordering for content with same weight can't be displayed randomly because of Hugo is static site generator. I can deal with this.
But do you know if all the contents are loaded even if I don't scroll the page ? If yes, what do you think about a pagination to have a maximum content loaded in the first page ?
If I check the lighthouse report of my page the recommandation is :

Avoid enormous network payloads - Total size was 5,950 KiB

But do you know if all the contents are loaded even if I don't scroll the page ?

Lazy Load is implemented. So, only visible (a bit more) content will be loaded. You can test it by checking network page in your browser.

Lower weight gets higher precedence. So content with lower weight will come first.

I disagree. If we use "asc, it will be harder for long-term theme usage. Let's say you have 10 posts, they have weights and you want to add a new post and make it most important post; in case we use "asc", you need to update other posts' weights too. In case we use "desc", you can just use higher value for the weight.

Lower weight gets higher precedence. So content with lower weight will come first.

I disagree. If we use "asc", it will be harder for long-term theme usage. Let's say you have 10 posts, they have weights and you want to add a new post and make it most important post; in case we use "asc", you need to update other posts' weights too. In case we use "desc", you can just use higher value for the weight.

As you can use negative weights, it's not really true that we are "blocked" by using "asc" because in your example you could easily go to both directions. But I understand your point of view.

But do you know if all the contents are loaded even if I don't scroll the page ?

Lazy Load is implemented. So, only visible (a bit more) content will be loaded. You can test it by checking network page in your browser.

Checked and yes, I saw that some images are only loaded after the scroll. Thanks for the clarification about this !

at the beginning of my coding, I was planned to made one post with several pictures (like an album) but if we add multipleColumn: true all pictures wil be aligned only on one line even if they are 6 or more pictures into the post. I could add multipleColumn: true but I don't find very attractive.
I don't know if we can add a viewer which let use configure the number of max columns et let us navigate to the "album" post with left and right arrows.

The theme supports using multiple pictures. multipleColumn: true puts them all to a single row. If it's false, all of them will be in a single column. Currently gallery is not supported. Only single-row or single-column is supported. multipleColumn: true is useful for 2-3 pictures, like this one https://cankalay.com/the-man-on-the-wall/

where do you think it's the best place to store the pictures ?
In my case, I've added folders into the "asset" folder and call them from the page with something like this :

Yes I think using assets/ folder is okay for current version. But there's a new approach called Page Bundle by @dgoodwin. If we merge the approach, you will be able to use folders for posts.

.menu {
max-width: 1200px;
}
/* I've grown the max-width to prevent navbar to take 2 lines when we add tags in menu */

I guess this change will lead to a responsive issue.

img.logo {
border-radius: 0%;
height: 100%;
}
/* I've removed the border-radius because with 50% (default) it will "cut" the border of non-circle logo */

Hmm, okay I see. I will think about this and make changes. I don't want to break radius feature but we can make param to disable this radius.

I've developped a personnal website with Hugo and your theme. This is the first "initial" deploy of it : https://cys-photographie.netlify.app/

Great! It's good to see you use the theme. As I see there are some responsive issues on mobile, I guess it's not caused by the theme, maybe some overwrite-changes?

adding a 404.html file into layout folder to localize the error page (and copying this content into nil/single.html because on rare occasions it loads the default 404 page instead my custom 404 page, I don't know why exactly).

Hmm, I don't understand this. So it randomly loads your custom or default 404 page?

modifying partials/slides/meta.html to have a better "localization" of the format date :

Okay, I'll change it to time.Format usage

I've added a html code into partials/slides/slider.html to inform visitors that they can click on the pictures to open the viewer :

I think no need to add this information to Slider. I think it's obvious they're clickable.

does the website loads indefinitively the pictures, for example into the /work page or can we add a maximum pictures loaded ?

There's no a limit. But like I said, https://github.com/boratanrikulu/eternity/issues/5#issuecomment-1279950665
I think post count should not be a problem

how are displayed the pictures ? I've loaded several times and I've done a full reload, but it seems to have always the same order, and the posts with the smallest weight (1 in my case) are not even loaded into the first place on my /work page.
I was hoping the smalles weight will be displayed first, and randomly.

Random is not supported. You can use Hugo's sorting methods https://github.com/boratanrikulu/eternity/blob/main/doc/posts.md#usage-of-posts

I guess I answered all questions.
I'll check later for these;

[ ] time.Format usage
[ ] radius

Thanks for your replies. Yes I need to check it again because I'm surely doing wrong job when trying to customize your theme.
I've find best theme and yours is the only one adapt to a photos' portfolio so hoping you could improve it even if it's already a very good theme for photographer.
I'm happy to help you (if I can) !

Via 1.3.7 version

time.Format usage

":date_long" is used as time format

radius

disableRadius variable is added to disable logo's disable. You can check example config or docs.

Via 1.3.7 version
* time.Format usage

":date_long" is used as time format
* radius

disableRadius variable is added to disable logo's radius. You can check example config or docs.

Thanks for this update.

I can confirm I've revert back the css parameters for img.logo and adding the parameters into my config file is working
I can confirm that revert back the .Date.Format "2 January 2006" to the new template format | time.Format ":date_long" is working (many thanks for this !)


How to measure improviment of Quantization?

Hi, in this paper you reference that improvement of Quantization. How do you measure this improvement?
I mean, how do you measure the improvement of Memory, Inference time and MAC of Quantized model? Is it possible to calculate this improvement? Could you share a reference if it is possible?!

The improvements you mentioned about memory and inference time will vary according to different hardware, and specific cases should be analyzed. The quantization improvement we mentioned in the paper mainly refers to the improvement of accuracy, and the improvement of hardware performance is not within our consideration.


I have the same problem

Hello @Minishlink I have the exact same problem as in #11   and can't find the solution.
I installed all properly, added the podfile and installed it and it is still not working.
It will be very helpful if you can help me.
thank you. :)

Same, even when manually added.. Any update?

Nothing new... I'm stuck on this for too long


Improve follow recommendations in onboarding

Jeff G brought this up in a Nostr Talks interview. The site currently has a very short list of a few people to follow - mostly because I just needed to get the site done and out and haven't come back to this. So here's an official issue now to revisit this aspect to send people off with a more complete home feed as they explore the vast lands of Nostr after onboarding. This could take the form of entering people's names, or choosing a few topics and then seeing people to follow. A question always is whether Nosta is best suited for this, or a use-case focused external service can do this better. Something to look into and consider.
Some example categories and accounts. Nostr.band also has an API for popular accounts.
Could look like this:

This view exists and currently has a short list of 5 or so manually picked accounts. This change would introduce a the tabs at the top to pick categories.

I looked into this a couple of months ago and simply could not find enough people to fill categories. Maybe I need better tools to find good accounts for topics, as I mainly just browsed.
Still a great feature to add, maybe little by little. A starting point could be a trending category powered by the nostr.band API.

Just pushed an improvement to this via #58. No categories yet, but in addition to the 4-5 static follow tips, the site also loads trending profiles from the nostr.band API and shows those. A nice step forward.


Upgrade to ChemDoodle 9

Many changes: https://web.chemdoodle.com/installation/changelog

Recent firefox versions fixed the weird rendering bug, so probably no need to do this anymore.


provide require-styled @imports and @requires for stylus

This pull request allows to write stylus @import and @require statements without the ~ to load from the module and root directory.
This should not break anything because you need to enable this feature it via the query.
So this PR don't force users to use some special syntax for module relative include paths, instead they can use a common way to do that.

updated package.json, you should use stylus as peerDependency, like the jade-loader:
https://github.com/webpack/jade-loader/blob/master/package.json#L10

any feedback?

Thanks for the PR. I don't quite understand the use case for this. Could you provide an example on where this is necessary outside of what this plugin already provides?
Also we don't want to add a peer dependency because they are deprecated.

Also we don't want to add a peer dependency because they are deprecated.

No they aren't. The auto-installation is deprecated, see #6565

Using ~ to tell webpack not to use a relative path is not a perfect solution, because you can't reuse this style of code in another environment.
Use case:
src/
├── feature-a
│   ├── base-styles.styl
│   ├── icon-styles-a.styl
│   ├── index.coffee
│   └── styles.styl
└── feature-b
    ├── foo.styl
    ├── icon-styles-b.styl
    └── index.coffee

Now you can import relative styles in this way
base-styles.styl:
@import './styles.styl'
@import './icon-styles-a.styl'

and if you want to load styles of feature-b form feature-a:
base-styles.styl:
@import 'feature-b/foo.styl'

instead of
@import '~feature-b/foo.styl'

~ isn't a perfect solution like you mention. But @timachew, your solution is to reintroduce the imperfection of css paths?

Whether peerDependencies are supported or not I don't think we want them.

So basically this is a change to how the resolver should work and not how stylus-loader works perhaps? I wonder if you could do a webpack plugin on the resolver that sees transformed ~paths and tries them as you are looking for. Such a plugin could be used independent of stylus-loader then. Maybe there is something we can do in stylus-loader but I'd hope to make a functional change to the generated resolvers instead of an additional option we need to support.

Closing this guy. We'll have something to fulfill this idea soon.


Testing PacketLiveSource in application?

I would like to test sending data through my PacketLiveSource operator listening on eth1. Can someone recommend the easiest way for me send the packets I want to eth1 on my local machine from my local machine? Ideally using Streams, but not necessarily.

Couple options that might work for you:

Use PacketFileSource and just read in the pcap file.
Use a pair of VMs on your local machine, one running the app and reading data off a 2nd virtual NIC, the other using tcpreplay to send the pcap data into a virtual NIC on that VM.  Tie the two NICs together on the same virtual switch that is separate from the normal LAN you are connected to.

I don't think its necessary to use virtual machines if you're running the Streams application containing PacketLiveSource on a real machine. PLS should receive copies of every packet that goes in and out of the eth1 interface; at least, it does on the machines I use for testing PLS. You could verify that by running a web browser. If PLS sees that HTTP traffic, then it should also see whatever traffic you send into eth1 with the 'tcpreplay' utility. Of course, the replayed traffic could be resent to other machines, depending upon how its configured, so you wouldn't want to overdo this.

Excellent. Thank you for the tips.


Startup Failed : input string was not in a correct format

Hello !
I am facing an issue,
I've downloaded the latest version of GAMMA, extracted it on the desktop, and when i open the executable, this pop-up :

Do you know whats the deal ? May i did something wrong ?
Take care,
Sagemo.

I'm not able to recreate this from a fresh download, can you confirm that it is a clean download of version 1.30.01 from the releases?

Yes, absolutely !


Fails to install scylla-tools on RHEL8

Seems like RHEL8 does not provide 'python-yaml' package, it renamed to 'python2-pyyaml' instead.
But RHEL7/CentOS7 does not provide python2-pyyaml, we need to solve the difference in some way.
$ sudo dnf install scylla
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - AppSt 3.1 kB/s | 4.5 kB     00:01
Red Hat Enterprise Linux 8 for x86_64 - BaseO 5.9 kB/s | 4.0 kB     00:00
Scylla for Centos 7 - x86_64                  2.1 kB/s | 3.5 kB     00:01
Scylla for centos 7                           5.1 kB/s | 3.5 kB     00:00
Copr repo for scylla-3rdparty owned by scylla 2.3 kB/s | 3.5 kB     00:01
Error:
 Problem: package scylla-3.1.0.rc1-0.20190609.224f9cee7.el7.x86_64 requires scylla-tools-core = 3.1.0.rc1, but none of the providers can be installed
  - conflicting requests
  - nothing provides python needed by scylla-tools-core-3.1.0.rc1-20190610.0db2d18a47.noarch
  - nothing provides python-yaml needed by scylla-tools-core-3.1.0.rc1-20190610.0db2d18a47.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[vagrant@rhel8 ~]$ sudo dnf search python-yaml
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:24 ago on Mon 17 Jun 2019 05:08:08 PM PDT.
No matches found.
[vagrant@rhel8 ~]$ sudo dnf search python2-pyyaml
Updating Subscription Management repositories.
Last metadata expiration check: 0:29:20 ago on Mon 17 Jun 2019 05:08:08 PM PDT.
==================== Name Exactly Matched: python2-pyyaml ====================
python2-pyyaml.x86_64 : YAML parser and emitter for Python
python2-pyyaml.x86_64 : YAML parser and emitter for Python

Fixed by https://github.com/scylladb/scylla-tools-java/commit/e626c3d14c6cbf4110756e1d37a2546cf838fe28