WIP: Merkle Tree

Implementation of Merkle Tree in Aiken, ported from: https://github.com/input-output-hk/hydra/blob/master/plutus-merkle-tree/src/Plutus/MerkleTree.hs
      Testing ...

    ┍━ aiken/trees/bst ━━━━━━━━━━━━━━━━━━━━━━━━━━
    │ PASS [mem:  62079, cpu:  23418373] insert_1
    │ PASS [mem:  41757, cpu:  16044585] find_1
    │ PASS [mem:  44691, cpu:  17073924] find_2
    ┕━━━━━━━━━━━━━━ 3 tests | 3 passed | 0 failed

    ┍━ aiken/trees/mt ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    │ PASS [mem: 146664, cpu:  55514093] to_list_1
    │ PASS [mem:  24829, cpu:   8856638] root_hash_1
    │ PASS [mem: 110451, cpu:  46088740] root_hash_3
    │ PASS [mem:  14063, cpu:   4233405] root_hash_2
    │ PASS [mem:  14963, cpu:   4432503] size_1
    │ PASS [mem: 134219, cpu:  53869091] size_2
    │ PASS [mem: 134519, cpu:  53938091] size_3
    │ PASS [mem: 316728, cpu: 128723394] size_4
    │ PASS [mem:   4098, cpu:   1388862] is_empty_1
    │ PASS [mem:   7878, cpu:   3391925] is_empty_2
    │ PASS [mem: 428361, cpu: 169440698] get_proof_1
    │ PASS [mem:  32119, cpu:  12164063] get_proof_2
    │ PASS [mem: 172317, cpu:  67606991] get_proof_3
    │ PASS [mem: 313300, cpu: 122002875] get_proof_4
    │ PASS [mem:  12931, cpu:   4767278] from_1
    │ PASS [mem:  20629, cpu:   8178444] from_2
    │ PASS [mem:  68528, cpu:  28960206] from_3
    │ PASS [mem: 115831, cpu:  49661292] from_4
    │ PASS [mem: 172298, cpu:  73968272] from_5
    │ PASS [mem:  40783, cpu:  14180999] member_1
    │ PASS [mem: 296592, cpu: 116367480] member_2
    │ PASS [mem: 125620, cpu:  48151755] member_3
    │ PASS [mem: 210161, cpu:  82110835] member_4
    │ PASS [mem: 465830, cpu: 183892632] member_5
    ┕━━━━━━━━━━━━━━━ 24 tests | 24 passed | 0 failed

Summary
    0 errors, 0 warnings

Some feedback:

There's not much value in defining Hash<Sha2_256, ByteArray>. The current type-alias Hash and its phantom types is meant to carry extra information about what's being hash. Because here it operates with plain ByteArrays, this alias only hinder readability IMO. I'd suggest to simply define:
type Hash = ByteArray
// Or more accurately
type Digest = ByteArray

Using choice as currently done in do_proof will likely induce a higher cost than necessary. Remember that the language is strict. Thus, both go_left and go_right ends up being evaluated here, even if go_left already returns a result. This is relatively minor though because the construction of the proof will likely never happen on-chain.

do_proof is also semantically wrong, the Leaf case at least is adding an extra unnecessary hash to the proof. There's no need to include the element itself in the proof. Also, the do_proof and the do_member functions outlined in the PR works from Hash directly, which is weird.

 alist.prepend(es, e)

can simply (and should rather -- more idiomatic) be written as:
[e, ..es]

Thank You @KtorZ . I will have a look through your comments but in the mean time I managed to successfully pass all tests. I found the issue with member function. Now I will try to optimise it and apply your comments.

@matiwinnetou thanks for pushing this, I added some more suggestions. I haven't quite reviewed the tests and examples yet but it'd be nice to keep some high-level documentation for such a module. I'll probably add that at the end on top so don't bother unless you feel inspired.
Note that there's one thing crucially missing at the moment: the Merkle tree doesn't hold any value! Which defies a bit its primary purpose.


Should this file be empty

I wanted to check that this is OK, because I expected to have accumulated some  error and it's empty:
https://curation.pombase.org/dumps/latest_build/logs/log.2023-08-03-23-59-32.chado_checks.canto_annotations
Also this file is empty:
https://curation.pombase.org/dumps/latest_build/logs/log.2023-08-03-23-59-32.chado_checks.go_annotation_count

Both those are checking for serious failures so should always be empty.
canto_annotations checks that there are a reasonable number of annotations from Canto.  This is a last-resort check so we can spot if the Canto annotation loading goes completely wrong.
And go_annotation_count checks that we don't have too many GO annotations, as would happen if the GO filtering failed.
My original plan for the chado checks was that if any failed we would exit the load script and not do a release.  We haven't got to that point yet so the release goes ahead even if a check fails.

OK! thats good, I could,t remember


bosh deploy fails with error: undefined method `[]' for nil:NilClass (NoMethodError)

Hi,
In the process of deploying a bosh release using the command "bosh deploy" after uploading the release along with the manifest, I get the error stack below,
-------------------------------------------------------------------

Processing deployment manifest
------------------------------
Getting deployment properties from director...
Unable to get properties list from director, trying without it...
Compiling deployment manifest...
/usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:215:in `block in latest_release_versions': undefined method `[]' for nil:NilClass (NoMethodError)
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:206:in `each'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:206:in `inject'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:206:in `latest_release_versions'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:229:in `block in resolve_release_aliases'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:227:in `each'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:227:in `resolve_release_aliases'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/deployment_helper.rb:59:in `prepare_deployment_manifest'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/commands/deployment.rb:90:in `perform'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/command_handler.rb:57:in `run'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/runner.rb:56:in `run'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/lib/cli/runner.rb:16:in `run'
        from /usr/local/lib/ruby/gems/2.1.0/gems/bosh_cli-1.2807.0/bin/bosh:7:in `<top (required)>'
        from /usr/local/bin/bosh:23:in `load'
        from /usr/local/bin/bosh:23:in `<main>'
r
-------------------------------------------------------------------

My server runs ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] as what ruby -v tells me.
Any idea if a different ruby version can fix this or some problem in any portion of my deployment.
Thanks and Regards,
Pradyut.

Any resolution on this. I am getting this error now too. I just changed a couple of passwords on my deployment manifest. When I did bosh deploy, I get the errors above.

Which bosh release were you working upon?

@asanramon what is the output of bosh releases?

Hi drnic/cppforlife,
For some reason I am able to deploy bosh now from microbosh. I didn't change anything on my manifest. The only reason I can think of that cause the issue was that someone else was deploying something when I deploy bosh.
Off topic, is it possible to enable resurrector on microbosh? All our deployments are deployed through microbosh, and we would like to automatically rebuild instances when it goes down.
Thanks for all the reply.

There is a page on the resurrector in docs.cloudfoundry.org and how to enable/configure it.
On Fri, Mar 13, 2015 at 10:11 AM, asanramon<EMAIL_ADDRESS>wrote:

Hi drnic/cppforlife,
For some reason I am able to deploy bosh now from microbosh. I didn't change anything on my manifest. The only reason I can think of that cause the issue was that someone else was deploying something when I deploy bosh.
Off topic, is it possible to enable resurrector on microbosh? All our deployments are deployed through microbosh, and we would like to automatically rebuild instances when it goes down.
Thanks for all the reply.
Reply to this email directly or view it on GitHub:
https://github.com/cloudfoundry/bosh/issues/723#issuecomment-79145106

Closing - this scenario now shows a more descriptive error as of v255.4 via #114891805.


cleanup: Use NCPU consistently in all scripts.

Fixes https://github.com/googleapis/google-cloud-cpp/issues/2912
NCPU was only used in a few places. The rule of thumb is: wherever there's
docker build, we pass NCPU as a build-arg; for docker run, we pass it as an
environment variable. The former is useful for install builds in
ci/kokoro/docker/install and the readme/install builds. The latter is useful
for ci/kokoro/docker/build.sh where the builds are not run as part of the build
process itself, but after the image is already built.
Setting NCPU is moved to define-docker-variables.sh to make it consistent
across all build scripts.
cc: @billyjacobson so he can test it works on Mac

This change is

I reverted the refdocs changes as there's little reason to make NCPU configurable there.

Not sure why the CheckABI build is failing, but interesting error message:

ccache: error: /h/.ccache/ccache.conf: No such file or directory


chore: upgrade failure to check caches to a warning

I'm not partial to this one, I think I even remember that it was moved to debug for a reason at some point. Closing!


Raise errors instead of returning null

If you pass a time zone that doesn't exist, most of the functions return null.  Instead they should raise an error.

Additionally, as mentioned in the readme, the LocalToUtc and ConvertZone functions will return null if SkipOnSpringForwardGap = 0 and the local value falls into the gap.  This should also raise an error instead of returning null, and the readme should be updated.


Make field 'gloss in other language' non-obligatory

When specifying a relation to a sign in another language, the field 'gloss in other language' should not be obligatory: we often don't know, or there is no alternative gloss.

Fixed.


[Feature] Add Harshad Number Calculator

Description
A number that is divisible by the sum of its digits. Example: 18 (1 + 8 = 9; 18 is divisible by 9).
I can add an harshad number calculator

It can tell if a number is an harshad number or not
It can print all the harshad numbers in a given range

Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

We already have Niven Number Calculator which is same @debangi29


escape pattern-matching chars on $prefix for match_prev_cmd strategy

this should fix issues #247 and #258 where pattern-matching characters in the buffer are not escaped before matching against history when using the match_prev_cmd strategy.

note I had to use ${(b)prefix}, not ${(q)prefix} as previously submitted.

Thanks @isaacwhanson! :+1:


Roll Flutter Engine from 516235e4456b to 66595a12f0ac (2 revisions)

https://github.com/flutter/engine/compare/516235e4456b...66595a12f0ac
2024-08-03<EMAIL_ADDRESS>Roll Dart SDK from ff56a84f7661 to c4c9a84c3532 (1 revision) (flutter/engine#54332)
2024-08-03<EMAIL_ADDRESS>Delete //flutter/fml/compiler_specific.h (flutter/engine#54330)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


training error about KeyError: 'Tr'

Thanks for sharing your excellent work. When i trianed the model,  i met the error: './2DPASS-main/dataloader/pc_dataset.py", line 94, in read_calib    calib_out['Tr'][:3, :4] = calib_all['Tr'].reshape(3, 4)'. how could i solve this problem.

Make sure your calibration txt files include the "Tr" line. You can download them here: http://www.cvlibs.net/download.php?file=data_odometry_calib.zip

Traceback (most recent call last):
File "main.py", line 23, in
from dataloader.dataset import get_model_class, get_collate_class
File "/content/drive/MyDrive/2DPASS-main/dataloader/dataset.py", line 11, in
from nuscenes.utils.geometry_utils import view_points
ModuleNotFoundError: No module named 'nuscenes'
Hello, I am getting this error while i am trying to do the repo of 2Dpass and run the testing code given . Please help

thx for ur help. it works


[Enhancement]: Whack a Mole : Game's start button's style should be modified and there should be a  message after starting the game

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
-I want to modify the button's style
-I want to add some messages so that user can understand when the game has been started and when it's over
Describe the solution you'd like

Go to the css file and change the button's style
-Go to the js file and change the functionality of the page

Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Tasnuva12 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @Tasnuva12 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


[BUG REPORT]Systematic missing of interjections from AfD

Describe the bug
When looking into the interjection patterns of the different parties in the Bundestag in the last two legislation periods (19,20), I noticed that for the AfD only those interjections appear in the dataset that are linked to a specific politician.
This means that while for every other party there are multiple instances of interjections (be it "Beifall" or any other type) that are only linked to the interjecting party, this is not the case for interjections coming from the AfD. This results in a much lower total of interjections overall coming from AfD and a systematic bias.
Why is it that general interjections from the AfD party (without reference to a specific politician) are systematically missing?
Is there a way to fix this problem?
I would very much appreciate any kind of tips or help.
Thanks in advance!

Thanks for the report!
The main codebase was written with a focus on the 1st to 18th election period when the AfD was not in the Bundestag.
We seem to have missed to add the AfD to the parties list when adding support for the 19th election period.
This should be an easy fix by just adding a pattern for the AfD to the parties dictionary here: https://github.com/open-discourse/open-discourse/blob/develop/python/src/od_lib/helper_functions/extract_contributions.py#L6-L29
However creating an updated dataset/database might be difficult atm because of other issues (see #138) and changes to the Bundestags' API.


[SPARK-7954] [SPARKR] Create SparkContext in sparkRSQL init

cc @davies

Merged build triggered.

Merged build started.

Test build #33769 has started for   PR 6507 at commit 6fdd169.

LGTM, waiting for tests.

Test build #33769 has finished for   PR 6507 at commit 6fdd169.

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

Merged build finished. Test PASSed.


crd: regenerate with v1alpha2

Followup to #25 regenerate the CRD including v1alpha2.
We will evaluate if we want to also offer version-specific CRDs alongside the all-in-one manifests/crd.yaml.

Hi @ffromani
I see that TopologyManager constants are still in API definitions (in v1alpha2), what's the plan of moving them out from NRT API?

Hi @ffromani I see that TopologyManager constants are still in API definitions (in v1alpha2), what's the plan of moving them out from NRT API?

The constants (and the TopologyPolicies field) are being deprecated starting v1alpha2 and they will be removed as soon as we can break compatbility, so v1beta1 (pending final review of the API graduation process standards)

testbed for the new CRD version: https://github.com/k8stopologyawareschedwg/resource-topology-exporter/pull/157


doc: release notes: fix spelling and formatting

Fixed spelling and formatting issues (a blank line is required before
the first item in a list, or sublist).
Signed-off-by: David B. Kinder<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #6509   +/-   ##
=======================================
  Coverage   53.36%   53.36%
=======================================
  Files         435      435
  Lines       41308    41308
  Branches     7922     7922
=======================================
  Hits        22046    22046
  Misses      16044    16044
  Partials     3218     3218

Continue to review full report at Codecov.

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


Apply page

First draft of apply page as defined here:
https://preview.uxpin.com/caa88476cd276574336265c7ba31f80595e10942#/pages/91321555/simulate/no-panels?mode=i

👍

Yeah noticed that too... Stashed them and will merge it.


fix(userspace/libsinsp): solve fdtables 'type' field returning random data

What type of PR is this?
/kind bug
/kind feature
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
I discovered that the type field exposed by the fd tables through the state & plugin API is returning wrong/unrelated data since it's been available. Unfortunately, IMO the safest fix is to turn its type into uint8, which is essentially a breaking change for whoever was accessing it (the type change will cause errors to be returned). However, considering the information returned has never been valid I think this is something we can afford, specially considering that the latest libs version has been released just few weeks ago.
I also noted that we're not exporting the fd field, which I just added being very trivial.
Which issue(s) this PR fixes:
Special notes for your reviewer:
/milestone 0.18.0
Does this PR introduce a user-facing change?:
fix(userspace/libsinsp): solve fdtables 'type' field returning random data

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: b1e549cabc346af3d5ca9b3590a3211b37115c6c

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, incertum, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,incertum,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Set up SSH in CI containers

For the record, two specific issues we had in this #1514:

Fabric does not play well with pytest (ref https://github.com/fabric/fabric/issues/1979, https://github.com/fabric/fabric/issues/2005#issuecomment-525664468).
In the GitHub CI (as opposed to local CI), the SSH service from within the container took a bit longer to startup, which was eventually fixed with the additional ssh_alive fixture that waits for docker exec ... service ssh status to return running.


freeze when alarm rings, app doesnt open

Error in Uhr 2c6fcfd12cac.txt
GrapheneOS, Pixel 6a
Version 2.10.
When the alarm rings the fullscreen menu doesnt react.
There is no notification in the swipe-down-menu
Clicking the clock icon it doesnt open
I rebooted to turn the alarm off, the same happened a few minutes later.
The logs repeat this over and over
com.best.deskclock.alarms.AlarmStateManager.registerInstance(AlarmStateManager.java:634)
  at com.best.deskclock.alarms.AlarmStateManager.updateParentAlarm(AlarmStateManager.java:227)
  at com.best.deskclock.alarms.AlarmStateManager.setMissedState(AlarmStateManager.java:447)
  at com.best.deskclock.alarms.AlarmStateManager.registerInstance(AlarmStateManager.java:634)
  at com.best.deskclock.alarms.AlarmStateManager.updateParentAlarm(AlarmStateManager.java:227)

@secretmango
Really sorry for this inconvenience; I am closing this topic because it is a duplicate of #136.
You can download the new version here, where I unfortunately had to disable the "Set an alarm for a specific date" feature because it was at the root of this major bug.
I hope to find the solution soon.


Improve the drop-in-replacement engine aspect

Context
This engine is intended to be used as a drop-in replacement to Three.js’s WebGLRenderer.
Problem
It tends not to work as a drop-in replacement out-of-the-box, because the renderer crashes when:

Meshes contain a THREE.Geometry instead of a THREE.BufferGeometry.
It uses materials for which the texture images are not loaded yet.

This might cause people who try to replace the WebGLRenderer with RayTracingRenderer to drop out early, because 'it does not work as promised' out-of-the box.
This would be a shame, because if you get it up and running, it works great.
Solution
In my engine I have provided a few simple workarounds for these issues by pre-processing the THREE.Object3D before I attach it to the scene; this is an excerpt from the code:
    public placeholderMaterial = new THREE.MeshStandardMaterial({color: 0xccffcc, emissive: 0xccffcc, emissiveIntensity: 0.5});

    materialHasUnloadedMaps(m:THREE.MeshStandardMaterial) {
        return (m.map && !m.map.image) ||
            (m.normalMap && !m.normalMap.image) ||
            (m.roughnessMap && !m.roughnessMap.image) ||
            (m.metalnessMap && ! m.metalnessMap.image);
    }

    adaptModelForRenderer(model: THREE.Object3D) {
        model.traverse(o => {
            const mesh = o as THREE.Mesh;
            const mm = mesh.material as THREE.MeshStandardMaterial;
            const mg = mesh.geometry as THREE.BufferGeometry;
            const mgg = mesh.geometry as THREE.Geometry;

            // Convert  THREE.Geometry to THREE.BufferGeometry
            if (mgg && mgg.vertices) {
                mesh.geometry = new THREE.BufferGeometry().fromGeometry(mgg)
            }

            // Convert non-MeshStandardMaterial and Materials that are still loading
            // images with the placeholderMaterial
            if (mm) {
                if (mm.type !== "MeshStandardMaterial" || this.materialHasUnloadedMaps(mm)) {
                    mesh.material = this.placeholderMaterial;
                }
            }

            // rtRenderer does not support Texture.repeat and -.offset, so update uvs instead

            // ... and lots of other adjustments, removed for brevity
        });
    }

Proposal
As I can imagine that I am not the only one experiencing these issues, and intercepting these cases is probably not rocket science, I wonder if you would be open to intercept any THREE.Geometry instances and convert these to THREE.BufferGeometry.
As for the invalid materials, I would suggest to replace invalid instances with a placeholderMaterial, which could be specified in the params upon startup.

Wonderful suggestions! Converting Three.Geometry to THREE.BufferGeometry sounds like an obvious idea, and having a placeholder material makes sense to me. I can come up with a PR for it.
Textures are only loaded to the GPU on initialization of the renderer, so async loading of textures aren't easy to support with the current implementation. I think it's a good idea to get full async texture support. I'll look into it and see what it'll take, but I was having difficulties with it because of how we're packing textures inside a WebGL Array Texture.
Texture repeating also isn't supported yet (https://github.com/hoverinc/ray-tracing-renderer/issues/59) since it's a little tricky to implement in the ray tracing shader. But there is a way to do it. I suppose this is a high priority?

Texture repeating also isn't supported yet (#59) since it's a little tricky to implement in the ray tracing shader. But there is a way to do it. I suppose this is a high priority?

Not for me ATm; it would be nice, but it is not urgent; I can mirror textures myself and use these...

In the meantime, as long as there are missing features from the renderer, I created a wiki page which lists what's supported.
https://github.com/hoverinc/ray-tracing-renderer/wiki/Three.js-Compatibility
This should serve as a reference to what should currently work, so there's less confusion about what's supported and what's not.  We could link to this page in the readme in the Limitations section. Does it look okay to you? Is there something you'd change or add?

And also, I'll be working on the PR in the next week that fixes anything that crashes the renderer. You mentioned

Three.Geometry
Non-loaded textures

Are there any other cases you discovered that flat-out crash the renderer?

Great news!
If I remember it correctly, there were no other issues that caused a crash.
However, if you do make an update, I can imagine 2 things that might be easy to add as well:

Support for uv offset & repeat
Support for Object3D.visible and Object3D.scale

In the meantime, as long as there are missing features from the renderer, I created a wiki page which lists what's supported.

Somehow I managed to miss this message; great idea! Looks good....


flat, flatMap is inferred incorrectly when iterable is nested

Bug Report
The result of flatMap inferred incorrectly when iterable is type of AsyncIterableIterator[].
💻 Code
import { pipe, flatMap, toArray, toAsync, flat } from "@fxts/core";

async function* asyncGen(seed: number) {
  let i = 0;
  yield seed + i++;
  yield seed + i++;
  yield seed + i++;
}

(async () => {
  const asyncA = asyncGen(1);
  const asyncB = asyncGen(10);
  const asyncC = asyncGen(100);

  const flatMapResult = pipe(
    [asyncA, asyncB, asyncC],
    flatMap((v) => v),
    toArray
  );
  // flatMapResult is inferred as number[]
  // but actually flatMapResult is AsyncGenerator<number>[]
  console.log("flatMapResult", flatMapResult);
  console.log(
    "awaited first element of flatMapResult",
    await ((flatMapResult[0] as unknown) as AsyncIterator<number>).next()
  );

  const asyncFlatMapResult = pipe(
    [asyncA, asyncB, asyncC],
    toAsync,
    flatMap((v) => v),
    toArray
  );
  // asyncFlatMapResult is inferred as Promise<number[]>
  // but actually asyncFlatMapResult is Promise<AsyncGenerator<number>[]>
  console.log("asyncFlatMapResult", asyncFlatMapResult);
  console.log("awaited asyncFlatMapResult", await asyncFlatMapResult);

  const flatIterator = flat([asyncA, asyncB, asyncC]);
  const flatResultArray = [...flatIterator];
  console.log("flatResultArray", flatResultArray); // expected: number[] ,actual result: AsyncGenerator<number>[]
})();

you can run code at https://codesandbox.io/s/fxts-flatmap-issue-n0sw9?file=/src/index.ts

Thanks for reporting. I'll check this out.


Install fails

I used the command shown for installation. I got a prompt asking if I want to install and import the NuGet provider now. I responded Yes. Here is the contents of the command and output:
PS C:\Windows\system32> install-module -Name "Send-MailKitMessage" -scope AllUsers
WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409'
to ''.
WARNING: Unable to download the list of available providers. Check your internet connection.
PackageManagement\Install-PackageProvider : No match was found for the specified search criteria
for the provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags.
Please check if the specified package has the tags.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:7405 char:21

...     $null = PackageManagement\Install-PackageProvider -Name $script:N ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidArgument: (Microsoft.Power...PackageProvider:InstallPackage
Provider) [Install-PackageProvider], Exception
FullyQualifiedErrorId : NoMatchFoundForProvider,Microsoft.PowerShell.PackageManagement.Cmd
lets.InstallPackageProvider

PackageManagement\Import-PackageProvider : No match was found for the specified search criteria
and provider name 'NuGet'. Try 'Get-PackageProvider -ListAvailable' to see if the provider
exists on the system.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:7411 char:21

...     $null = PackageManagement\Import-PackageProvider -Name $script:Nu ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (NuGet:String) [Import-PackageProvider], Exception
FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmd
lets.ImportPackageProvider

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409'
to ''.
WARNING: Unable to download the list of available providers. Check your internet connection.
PackageManagement\Get-PackageProvider : Unable to find package provider 'NuGet'. It may not be
imported yet. Try 'Get-PackageProvider -ListAvailable'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\<IP_ADDRESS>\PSModule.psm1:7415 char:30

... tProvider = PackageManagement\Get-PackageProvider -Name $script:NuGet ...

            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (Microsoft.Power...PackageProvider:GetPackageProvi
der) [Get-PackageProvider], Exception
FullyQualifiedErrorId : UnknownProviderFromActivatedList,Microsoft.PowerShell.PackageManag
ement.Cmdlets.GetPackageProvider

install-module : NuGet provider is required to interact with NuGet-based repositories. Please
ensure that '<IP_ADDRESS>' or newer version of NuGet provider is installed.
At line:1 char:1

install-module -Name "Send-MailKitMessage" -scope AllUsers

  + CategoryInfo          : InvalidOperation: (:) [Install-Module], InvalidOperationException
  + FullyQualifiedErrorId : CouldNotInstallNuGetProvider,Install-Module

Hi @MihaIvan,
That isn't a Send-MailKitMessage error, that is a PowerShell error message.
There is lots of information out there on possible resolutions if you do a search on "Unable to download the list of available providers. Check your internet connection.".
One thing to note: are you running an updated version of PowerShell (currently 7.2.6)? If not you can install it from here: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2#installing-the-msi-package
Send-MailKitMessage is designed to work with PowerShell 6+, if you need to use it with Windows PowerShell there is a preview version of the module available which adds support for Windows PowerShell: https://www.powershellgallery.com/packages/Send-MailKitMessage/3.2.0-preview1


Invisible Card Using HTML and CSS Only

Because

This PR

Issue

Closes #XXXXX
Additional Information

Pull Request Requirements

[ ] I have thoroughly read and understand The Odin Project Contributing Guide
[ ] The title of this PR follows the location of change: brief description of change format, e.g. 01-flex-center: Update self check
[ ] The Because section summarizes the reason for this PR
[ ] The This PR section has a bullet point list describing the changes in this PR
[ ] If this PR addresses an open issue, it is linked in the Issue section
[ ] If applicable, I have ensured that the TOP solution files match the Desired Outcome image

Gonna close this out due to inactivity and lack of clarity on the benefit of the addition.


Remove unused CSS classes.

@joariasl I think that if we filter the unused CSS classed of bootstrap, instead of retrieving the whole library from CDN, then we will have a better performance gain. Are you interested in investigating this? :smile: I had a look at it in the past, and it seems like it's very easy to filter out all the bootstrap classes that your website is not using.

Performance is increase, this increases the positioning of sites on search engines.
Using CDN currently makes the cache for common resources between sites is used, it is a good option for now.
I will review it when I have time.
Regards.
A link: http://getbootstrap.com/getting-started/#grunt-commands

I agree, but this is an assumption until we actually do a perf test! :smile:
As they say, "You don't know performance until you measure it" :wink:

@njaremko Any feedback on this enhancement?

Couldn't we just use this?
http://getbootstrap.com/customize/
Github puts all assets for Github Pages sites onto their CDN, so no need to worry about the lack of CDN.

Nice, I will have a look on the link.
I'm concerned about what is more efficient:

Fetching the whole bootstrap from a CDN (probably)
or
Minimize the library in order to get a file with only the needed classes

Of course this cannot be answered without an investigation but this issue is low priority so I keep deprioritizing :cry:

Very good idea.
Not only because of performance, but also ... I actually had a bit of a hard time trying to figure out which style does what.
Are really all styles in grayscale.scss being used? (Perhaps some comments in the CSS might help?)
Perhaps I am simply not using the fanciest design tools yet. Is there a way to figure out which CSS classes get applied to an element, e.g. by pointing to it in the browser (some browser extension perhaps)?
Thanks a lot, and sorry for my slightly off-topic question.
:-)

@PanosSakkos We don't need to worry about our customized version not being on a CDN. Github puts all page assets on their Fastly CDN.

I applied a complete refactor for grayscale.scss. I removed the definitions of original Grayscale theme that are not used in { Personal } theme.

Style color is now configurable:
For example, to emulate @chipset95 theme configure this:
_config.yml:
background-img: False

_sass/_variables.scss:
// Variables

$primary: #444;
$dark: #fff;
$light: #000;

$header-text-shadow: false;
$header-background-color: #3f51b5;
$navbar-color: #fff;
$navbar-lg-background: #303f9f;
$navbar-lg-collapse-background-color: #303f9f;
$navbar-sm-background-color: $navbar-lg-collapse-background-color;

$social-buttons-color: #fff;

@joariasl Great initiative! Usability++! :smiley: :+1: :+1:

I actually did not provide any background image, wrote new sass variables using Material Pallete and used them in grayscale.scss, nothing very fancy! :stuck_out_tongue_winking_eye:


data-turbo-preload does not work inside shadow DOM

I have a custom lit element that looks like:
<my-tab href="/some-link">
  # shadow-root
  <a data-turbo-preload href="/some-link">
     ...
  </a>
</my-tab>

the link is not getting preloaded when it is inside the shadow dom
turbo version: 7.3.0

I think this is expected behavior, shadow DOM is hidden from the JS running in the page.

I think this is expected behavior, shadow DOM is hidden from the JS running in the page.

I have seen other issues talking about turbo frames working under shadow dom, like https://github.com/hotwired/turbo/pull/1022
Does that not make sense to apply to preload?


New Ellipsoid Solid

Implementation of the basic shape: Ellipsoid.
Might be later uselfull the the creation of realistic tissues.
Inherits from Sphere() solid. Ellipsoid coordinates are too complicated to get a deep dive for now and would be a surplus. For now the unit sphere is stretched to look like the desired ellipsoid.
Benefits:

Simple Ellipsoid class without complicated coordinate system.

Known Limitations:

Is built ontop of Sphere, which is not entirely coherent.
Vertex density is not uniform across all the solid
Ellipsoid approximation will decrease in quality the more the ellipsoid is stretched
for algorithm orders >= 6, the generation and computation time exceeds 200ms.

merge conflicts appeared because of a rebase a long time ago. Lead to a detached head, which now does weird things. It doesn't even see files that are similar.

Merge conflicts corrected.


Enable CLI export of decoder-only models without present outputs

Feature request
Currently optimum-cli export onnx only supports exporting text-generation models with present outputs (--task text-generation) or with past+present outputs (``--task text-generation-with-past`). It would be useful to be able to export a variant without any caching structures if they will not be used.
Example of how --task text-generation is not sufficient for this usecase:

optimum-cli export onnx --model facebook/opt-125m --task text-generation TEST
...
Validating ONNX model TEST/decoder_model.onnx...
        -[✓] ONNX model output names match reference model (present.7.key, present.2.key, present.3.key, present.2.value, present.3.value, present.10.value, logits, present.8.key, present.0.value, present.10.key, present.1.key, present.1.value, present.11.key, present.9.value, present.6.value, present.4.value, present.7.value, present.5.value, present.5.key, present.8.value, present.9.key, present.4.key, present.6.key, present.0.key, present.11.value)
        - Validating ONNX Model output "logits":
                -[✓] (2, 16, 50272) matches (2, 16, 50272)
                -[x] values not close enough, max diff: 3.719329833984375e-05 (atol: 1e-05)
        - Validating ONNX Model output "present.0.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.0.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.1.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.1.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.2.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.2.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.3.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.3.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.4.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[x] values not close enough, max diff: 1.8358230590820312e-05 (atol: 1e-05)
        - Validating ONNX Model output "present.4.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.5.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.5.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.6.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.6.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.7.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.7.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.8.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.8.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.9.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.9.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.10.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.10.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.11.key":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)
        - Validating ONNX Model output "present.11.value":
                -[✓] (2, 12, 16, 64) matches (2, 12, 16, 64)
                -[✓] all values close (atol: 1e-05)

If you want to export a text-generation model without any kv-cache structures, it requires something a bit more manual. Note the explicit argument to the OPTOnnxConfig of use_present_in_outputs=False
from optimum.exporters.onnx import main_export
from optimum.exporters.onnx.model_configs import OPTOnnxConfig
from transformers import AutoConfig

model_id = "facebook/opt-125m"
config = AutoConfig.from_pretrained(model_id)

onnx_config = OPTOnnxConfig(
    config,
    task="text-generation",
    use_past=False,
    use_past_in_inputs=False,
    use_present_in_outputs=False,
)

custom_onnx_configs = {
    "decoder_model": onnx_config,
}

main_export(
    model_id,
    output="TEST",
    task="text-generation",
    custom_onnx_configs=custom_onnx_configs,
    no_post_process=True,
)

Output:
Framework not specified. Using pt to export to ONNX.
The task `text-generation` was manually specified, and past key values will not be reused in the decoding. if needed, please pass `--task text-generation-with-past` to export using the past key values.
use_past = False is different than use_present_in_outputs = True, the value of use_present_in_outputs value will be used for the outputs.
Using framework PyTorch: 2.0.1+cu118
Overriding 1 configuration item(s)
	- use_cache -> False
============= Diagnostic Run torch.onnx.export version 2.0.1+cu118 =============
verbose: False, log level: Level.ERROR
======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================

Validating ONNX model opt-125m_onnx/decoder_model.onnx...
	-[✓] ONNX model output names match reference model (logits)
	- Validating ONNX Model output "logits":
		-[✓] (2, 16, 50272) matches (2, 16, 50272)
		-[x] values not close enough, max diff: 2.002716064453125e-05 (atol: 1e-05)
The ONNX export succeeded with the warning: The maximum absolute difference between the output of the reference model and the ONNX exported model is not within the set tolerance 1e-05:
- logits: max diff = 2.002716064453125e-05.
 The exported model was saved at: opt-125m_onnx

Motivation
If you're measuring the perplexity of a model over a given dataset, there's typically no need to use the kv cache because you're not autoregressively generating tokens. Instead, you're computing the model's likelihood on an existing dataset. The kv cache is mainly for speeding up generation tasks.
Your contribution
I would gladly submit a PR but I'm not sure what the right external interface is as the current behavior is just controlled by setting use_past, which obviously is not sufficient control to use_present_in_outputs as well. Personally I would like to have text-generation, text-generation-with-present, and text-generation-with-present-past but I'm not sure how that would affect other users.
cc @fxmarty as your variants issue seems closely related https://github.com/huggingface/optimum/issues/1299

@mgoin Yes after discussing internally this is probably a bug.

@fxmarty Thanks for the careful consideration! This sounds like a nice solution for my issue. I also don't know a reason for text-generation to have KV cache in the output.


Add since_following option to user stream

Closes #411

Sorry - this doesn't work if the user is following multiple instances of the same type.


Saving a content file changes format

Hi @hacdias
1. What are you trying to do?
Save a content file, specifically content/buildingprojects/_index.md
2. What is your entire Caddyfile?
http://localhost:4000 {
  tls<EMAIL_ADDRESS>  root public
  gzip
  basicauth /admin<EMAIL_ADDRESS>davav
  hugo /home/jeremy/Source/sites/simonchurchelectrical /admin {
    flag destination public
    allow_new true
    allow_edit true
  }
}

3. What did you expect to see?
A TOML content file like this:
+++
date = "2017-01-18T16:29:00"
title = "Building Projects"
+++

4. What did you see instead (give full error messages and/or log)?
A file formatted differently:
date: 2017-01-18T16:29:00
title: Building Projects
...

Thanks for reporting this. I'll have a look! 😄 Though, this is related with FileManager code eheh. Don't need to move though.

Done @AstonDavies!


Reword homepage opportunities link

We’ve decided that the 'view opportunities' page would be more helpful if the page title said 'Digital Outcomes and Specialists opportunities' because suppliers think about lots'. The link to this page should reflect this.
https://www.pivotaltracker.com/story/show/118280489
Old version

New version

👍


Seems difficult to get a minimal set of features working

I am trying to reduce the dependencies of our project and I tried to use the minimal set of features for it.
I get this error:
error[E0425]: cannot find function `block_on` in module `task`
  --> src/gstreamer.rs:18:15
   |
18 |         task::block_on(async move {
   |               ^^^^^^^^ not found in `task`

error[E0425]: cannot find function `sleep` in module `task`
  --> src/gstreamer.rs:79:11
   |
79 |     task::sleep(std::time::Duration::from_secs(1)).await;
   |           ^^^^^ not found in `task`
   |
help: possible candidate is found in another module, you can import it into scope
   |
6  | use std::thread::sleep;
   |

error[E0425]: cannot find function `spawn` in module `task`
  --> src/gstreamer.rs:93:11
   |
93 |     task::spawn(feed_pipeline(playbin.clone(), manifest));
   |           ^^^^^ not found in `task`
   |
help: possible candidate is found in another module, you can import it into scope
   |
6  | use std::thread::spawn;
   |

error[E0425]: cannot find function `block_on` in module `async_std::task`
  --> src/main.rs:52:1
   |
52 | #[async_std::main]
   | ^^^^^^^^^^^^^^^^^^ not found in `async_std::task`
   |
   = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)

and I am setting it as:
# Cargo.toml
async-std = { version = "1.5.0", default-features = false, features = ["std", "attributes", "unstable"] }

@otavio
Hello. ¿Do you found a solution?

I didn't. I'd love to learn what would be the minimal.


add route to force language

add a route to force language when sharing a link to the site.
i.e. localfoodnodes.org/lang/en to send users to english version of the site

Quickest fix was to append a parameter to the url, so use ?lang=en


[NTR] subclasses of ARDS ?

Should we add subclases of ARDS (MONDO_0006502 'adult respiratory distress syndrome')?
mild ARDS
def: PaO2/FiO2 of 201–300 mmHg
moderate ARDS
def: PaO2/FiO2 of 101–200 mmHg is
severe ARDS
def: PaO2/FiO2 ≤100 mmHg is
Source: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6709677/

this paper divides the subclasses into four groups:
https://www.ncbi.nlm.nih.gov/pubmed/25393701
(from @pnrobinson, thanks!)

Dear @nicolevasilevsky - please note: acute (not adult respiratory distress syndrome).

See related ticket: https://github.com/monarch-initiative/mondo/issues/1360

@pnrobinson @cmungall do we want to add these terms?

There are multiple ways of subclassing ARD. And each of these has a cross product with an etiology. It would be good to discuss and document a strategy for this!


JBallerina Compiler failed to generate BIR for the negate operator testcase.

Description:
While compiling below neg.bal testcase, jballerina compiler failed to produce BIR
-----------------------------------------------neg.bal----------------------------------------------------------------------
public function main () {
int a;
int b = 2;
a = -b;
}
Steps to reproduce:
a. Extract the jballerina distribution - https://drive.google.com/file/d/1Z8t157ddnPFp3nUOn6qjpjUSIkr41BLB/view?usp=sharing
b. Generate BIR from above testcase
Affected Versions:
Ballerina Swan Lake Preview 2
Language specification v2020-06-18
OS, DB, other environment details and versions:
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic
Java version used for setting $JAVA_HOME = java-1.8.0-openjdk-amd64

This is fixed in Swan Lake beta-1

import ballerina/io;
public function main() {
    int a;
    int b = 2;
    a = -b;

    io:println(a);
}

prints -2 as expected

This looks like something to do with generating BIR for nBallerina backend.
Verified that --dump-bir work fine.

The fix was added in later phase of jballerina distribution!

@shubhamnarlawar then is it ok to close this issue?

@shubhamnarlawar then is it ok to close this issue?

Yes Please!


there are difference between code and paper

The paper state "we propose to actively train a set of negative examples as a whole in an adversarial fashion,
in contrast to passively queueing the negative samples over minibatches or simply using the other samples from the current minibatch as negatives." but the code  include samples over minibatches as negative

Thanks a lot for your interest! Actually, when we train the model, it can also work without in-batch negatives. You can simply remove that part and can still yield a similar performance (<=0.5 difference in linear evaluation). We adopt this in code is because with in-batch negative, it's much more stable.


[FormRecognizer] Create test for sending wrong content type to service

If the service returns an error in this scenario, it means we're setting the content type as specified by the user. We currently don't have tests to validate that.

This scenario would only be applicable to the old FormRecognizerClient. Since we haven't received any negative customer feedback related to this and we're encouraging customers to migrate to the new DocumentAnalysisClient, I see no reason to allocate time to write this test. Closing this issue.


Update FinalProject-Docs.md

@VikashPR check this one

@utkarshtambe10 any issues with submission of Flourish Public ?

@VikashPR check this one

got it. Will just confirm with Utkarsh real quick regarding this

@utkarshtambe10 any issues with submission of Flourish Public ?

Utkarsh I'am merging this now. We will discuss regarding flourish public with sir. Seems lot of people have submitted their viz on Flourish Public

@utkarshtambe10 any issues with submission of Flourish Public ?

Utkarsh I'am merging this now. We will discuss regarding flourish public with sir. Seems lot of people have submitted their viz on Flourish Public


Ignore maven prerequisite when invoking display-plugin-updates goal

Since Maven 3.5.0, the prerequisite was deprecated for non plugin project.
This enter in conflict with the version plugin which will base itself on prerequisite to determine the targeted maven version. In case were said prerequisite is not found, the plugin will list all versions from 2.0 to latest as shown below.
This is not practical and I (as an user) would expect the plugin to consider that I'm using Maven 3.5.0 hence my target should be Maven 3.5.0.
$ mvn org.codehaus.mojo:versions-maven-plugin:2.4:display-plugin-updates -N
[INFO] --- versions-maven-plugin:2.4:display-plugin-updates (default-cli) @ parent ---
[INFO]
[INFO] All plugins with a version specified are using the latest versions.
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[WARNING] Project does not define minimum Maven version, default is: 2.0
[INFO] Plugins require minimum Maven version of: 3.0
[INFO]
[ERROR] Project does not define required minimum version of Maven.
[ERROR] Update the pom.xml to contain maven-enforcer-plugin to
[ERROR] force the maven version which is needed to build this project.
[ERROR] See https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
[ERROR] Using the minimum version of Maven: 3.0
[INFO]
[INFO] Require Maven 2.0.2 to use the following plugin updates:
[INFO]   maven-site-plugin ........................................ 2.0-beta-7
[INFO]
[INFO] Require Maven 2.0.6 to use the following plugin updates:
[INFO]   maven-clean-plugin .............................................. 2.5
[INFO]   maven-deploy-plugin ........................................... 2.8.1
[INFO]   maven-install-plugin .......................................... 2.5.1
[INFO]   maven-site-plugin ............................................. 2.0.1
[INFO]
[INFO] Require Maven 2.1.0 to use the following plugin updates:
[INFO]   maven-site-plugin ............................................. 2.1.1
[INFO]
[INFO] Require Maven 2.2.0 to use the following plugin updates:
[INFO]   maven-site-plugin ............................................... 3.0
[INFO]
[INFO] Require Maven 2.2.1 to use the following plugin updates:
[INFO]   maven-clean-plugin ............................................ 2.6.1
[INFO]   maven-deploy-plugin ........................................... 2.8.2
[INFO]   maven-install-plugin .......................................... 2.5.2
[INFO]   maven-site-plugin ............................................... 3.4
[INFO]
[INFO] Require Maven 3.0 to use the following plugin updates:
[INFO]   maven-clean-plugin ............................................ 3.0.0
[INFO]   maven-site-plugin ............................................... 3.6

See PR for a proposed change.
I tested it in local and the result is this one:

The pom.xml build part:

  <build>
    <pluginManagement>
      <plugins>
        <plugin> <artifactId>maven-clean-plugin</artifactId>   <version>2.6.2</version> </plugin>
        <plugin> <artifactId>maven-deploy-plugin</artifactId>  <version>2.8.2</version> </plugin>
        <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin>
        <plugin> <artifactId>maven-site-plugin</artifactId>    <version>3.6</version>   </plugin>
      </plugins>
    </pluginManagement>
  </build>

$ mvn org.codehaus.mojo:versions-maven-plugin:2.5-SNAPSHOT:display-plugin-updates  -N
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building parent 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.5-SNAPSHOT:display-plugin-updates (default-cli) @ parent ---
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.6.2/maven-clean-plugin-2.6.2.pom
[INFO]
[INFO] The following plugin updates are available:
[INFO]   maven-clean-plugin ................................... 2.6.2 -> 3.0.0
[INFO]
[INFO] All plugins have a version specified.
[INFO]
[INFO] Project inherits minimum Maven version as: 3.5.0
[INFO] Plugins require minimum Maven version of: 3.0
[INFO]
[INFO] No plugins require a newer version of Maven than specified by the pom.
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.470 s
[INFO] Finished at: 2017-08-14T19:31:16+02:00
[INFO] Final Memory: 18M/310M

Side note: I don't see maven-compiler-plugin 3.6.2 with child project using that plugin.

I vote for this as well. Makes it very cumbersome to use the display-plugin-updates goal.
It is a bit strange that the plugin is obviously aware that one should use the enforcer plugin (not prerequisites, as the equivalent logged error stated in earlier versions) to set the minimum Maven version, but still are not able to detect that it has indeed been configured as documented.
Does the propsed fix resolve the minimum Maven version if it is configured with the enforcer plugin? I still like the intended behavior that the plugin should warn if one has configured a plugin which requires a newer Maven version than required. The display-plugin-updates should be "all green" only in the case of both

one has configured maven-enforcer-plugin to require a minimum Maven version
all plugins use versions compatible with the minimum Maven version

And then list any updated versions together with, if any, needed updated minimum Maven versions.

My change does not try to read maven-enforcer-plugin (I don't use it and I don't know if that is "simple" to implements): it simply read the maven.version system property, which returns the current maven version.

@glhez The point of the original check was to ensure that the pom.xml is valid regardless of who runs it. Checking maven.version doesn't achieve that goal. We need to add a maven-enforced-plugin check, or remove this check altogether.

The fix is more about: Maven 3.5.0 deprecated the prerequisite for non plugin project, so what's the default value of a prerequisite?  And I think that the current maven version is a pretty good candidate for that.
Using maven-enforcer-plugin requires more work:

prerequisite was one minimum version
The maven-enforcer-plugin is a version range spanning across a myriad of maven version.
I guess that the maven-version-plugin already does that and we should restrict the possible maven version against the enforcer range.

But I personally don't see the problem with using maven.version whenever there are no maven-enforcer-plugin:

maven-enforcer-plugin would fail with an invalid version. Unless you use a range, you are forced to use a specific version of maven which means you should run the maven-version-plugin with this maven.
Do you honestly work with different version of maven on the same repository/branch ? I recon that I work with maven 2 and 3, but they are different branches, different JDK (6/8) and we used the last 3.* baseline. The only case I could see would be a shared parent project across several repositories.
Maven is not often updated: Last version 3.5.0 was released two years after the previous. And that's in 3.5.0 that the prerequisite is deprecated.

There is logic to your insanity ;) I withdraw my objection.

I also agree with the logic 😃
I would like to add that there is a subtlety with the version range specified for maven-enforcer-plugin: Specifying a version enforces a minimum version. I guess this was implemented as a convenience from the standard version range syntax, as this is probably by far the most common use case.
It would be nice to be able to detect if one is requiring a too old Maven version compared to what the configured plugins require, but maybe this is out of scope here? As an example: I use Maven 3.5 on my machine, but the maven-enforcer-plugin specified Maven 3.0 as the minimum version. Using the versions-maven-plugin I discovered that I had configured a plugin which required Maven 3.0.3. If the versions-maven-plugin used maven.version as the minimum Maven version it would not be able to tell me about this configuration discrepancy.
Of course, if one has not configured a required Maven version using maven-enforcer-plugin, the plugin should probably just assume that one does not care to automatically enforce these version consistencies, and as you say, using maven.version is fine to use. Again, detecting the presence of the enforcer plugin may well be out of scope for this fix.
As a final note, I really think it was a bit unfortunate to deprecate the first class use of prerequisites for non-plugin projects, and instead opt for a generic plugin solution for this, as I regard the version requirements of the build tool as an important part of the project definition, and something that is interesting for other tooling (e.g. the versions-maven-plugin) to use.

Another solution is to use the fact that the versions-maven-plugin itself use a minimum version.
That would means that people won't be able to get the latest version only if they use a very old maven version (more than two years ?:)).

I started fixing this but do not have time to complete it. I finished implementing a solution but did not have time to test it manually or complete writing unit or integration tests.
Please see my four commits at https://github.com/dje1990/versions-maven-plugin/commits/master
I do not intend to resume working on this anytime soon, but feel free to view the implementation for inspiration/ideas.
The javadoc of implementation:
/**
 * Finds the minimum Maven version required by a Maven project.
 * Checks for the existence of both the prerequisites.maven property and for maven-enforcer-plugin:enforce goal.
 * Returns null if no minimum version is found.
 * Checks project and it's parents recursively.
 *
 * Pros: works with Maven 3.5.0 which throws a warning if prerequisites.maven is set for a non Maven-Plugin project.
 * Cons: tightly coupled with the maven-enforcer-plugin and the Xpp3Dom configuration tag.
 */

Do you honestly work with different version of maven on the same repository/branch ? I recon that I work with maven 2 and 3, but they are different branches, different JDK (6/8) and we used the last 3.* baseline. The only case I could see would be a shared parent project across several repositories.

The CI services that a project I work on uses (AppVeyor and Travis CI) are pre-populated with different versions of maven, and developers are likely to default to using whichever version of maven is available as a package for their chosen platform, so, yes, I know that some projects work with different versions of maven on the same repository.

@rhwood: and I'm now wrong: there is a maven 3.5.2. So my guess 'bout Maven not being updated often falls apart. That said, I still think this would be strange to mix this plugin and maven enforcer rules altogether.
The #230 seems good to me.


Migrate the docs to readthedocs.org

Benefit: Have version control over the docs

Now it is served at https://alab-management.readthedocs.io/en/latest/


Node.js  Performance Team Meeting 2023-03-06

Time
UTC Mon 06-Mar-2023 18:00 (06:00 PM):

Timezone
Date/Time

US / Pacific
Mon 06-Mar-2023 10:00 (10:00 AM)

US / Mountain
Mon 06-Mar-2023 11:00 (11:00 AM)

US / Central
Mon 06-Mar-2023 12:00 (12:00 PM)

US / Eastern
Mon 06-Mar-2023 13:00 (01:00 PM)

EU / Western
Mon 06-Mar-2023 18:00 (06:00 PM)

EU / Central
Mon 06-Mar-2023 19:00 (07:00 PM)

EU / Eastern
Mon 06-Mar-2023 20:00 (08:00 PM)

Moscow
Mon 06-Mar-2023 21:00 (09:00 PM)

Chennai
Mon 06-Mar-2023 23:30 (11:30 PM)

Hangzhou
Tue 07-Mar-2023 02:00 (02:00 AM)

Tokyo
Tue 07-Mar-2023 03:00 (03:00 AM)

Sydney
Tue 07-Mar-2023 05:00 (05:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Performance Team+Meeting+2023-03-06&iso=20230306T1800
or https://www.wolframalpha.com/input/?i=06PM+UTC%2C+Mar+06%2C+2023+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1LtlgZI2tUTm_qojlgJjab9GYdBte01yJea1-L2pJJW8/edit

Agenda
Extracted from performance-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/performance

add/remove handlers are slow on EventTarget #60
Bun & Deno Comparision #55
AbortSignal pattern is slow #44
Module resolution #39
EventTarget #32
fetch #11

Invited

Performance team: @nodejs/performance

Observers/Guests
Notes
The agenda comes from issues labelled with performance-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/94710602723

We are canceling this week's meeting due to low attendance. @nodejs/performance


Added pinecone pipeline module

Version 1 code for a pipeline to pinecone vector database. Includes basic configuration for input data, (Document, List[Document], String).

Needs some docs

I've updated the class to include documentation and removed exposed api keys.


Consent Management layout is not aligned properly for non-admin users

Consent Management layout is not aligned properly for non-admin users.

duplicate of #2450
@omindu please close this.


Update folderId could upload with original folder

Hi,
The folderId 0 will upload to General folder, so I update it and it will upload to the original folder.

Thanks! That's useful.


fix path casing

When I was trying to run the tests.
Unrelated but I'm getting Error: Cannot find module 'babel/register' even though mocha test lib --recursive --compilers js:babel/register is correct.
Not sure why I had to do ./node_modules/babel-core/register to make it work.

Wow, thank you, did not notice this!

babel dependency was missing. I added and now tests are working, thanks!


Implement easier conversions for Result, Maybe, and combinations

[ ]  IResult<IMaybe<TValue>, TError> -> TValue conversion (or handler)
[ ] IResult<IMaybe<TValue>, TError> -> Nothing conversion (or handler)
[ ] IResult<TAnything, TError> -> TError conversion (or handler)
[ ] IResult<T1, TError> -> IResult<T2, TError> mapper
[ ] IResult<TValue, T1> -> IResult<TValue, T2> mapper

#14 is a start on some of this and might make some of it easier, but even with that refactor in place, these conversions need to be handled.
Currently, to get from IResult<IMaybe<TValue>, TError> to a usable TValue, you have to do something kind of awful like this:
if (result.IsErr())
{
    var error = result.UnsafelyUnwrapErr();
    // do something
}
else
{
    if (result.IsOk())
    {
        var resultMaybe = result.UnsafelyUnwrap();
        if (resultMaybe.IsNothing())
        {
            // handle nothing here
        }
        else
        {
            var value = resultMaybe.UnsafelyUnwrap();
            // do things with value here
        }
    }
}

This can be somewhat improved by using the new type pattern matchers in C♯ which would look more like:
switch (result)
{
    case Ok<IMaybe<TValue>, TError> ok:
        // do something here
        break;
    // ...
}

But even with this, it's still very procedural.  We need to do better than this with a primary goal of leveraging type inference in C♯ (which isn't as strong as in F♯).

Just came across a particular use case that we should be able to address:
IResult<T1, TError> DoAThing()
{
    // result is of type IResult<T2, TError>
    var result = _someService.SomeMethod();
    if (result.IsErr())
    {
        Logger.Error($"error message");
        return Result.Err<T1, TError>(result.UnsafelyUnwrapErr());
    }
}

Could become:
IResult<T1, TError> DoAThing()
{
    // result is of type IResult<T2, TError>
    var result = _someService.SomeMethod();
    return result.ErrorOr(t2Value => {
        // do something with t2Value and return a T1
    });
}

I suspect we should wind up breaking this issue apart into individual operations instead of a big fat checklist like this.

Closing in favor of #14 and #19