1-Phase Charching

Hi,
Thanks für this code!
How exactly does changing from 3-Phase charging to 1-Phase Charging and the other way work?
Is it like this:?
1.: Car is Charging with three phases
2.: You have to stop the charging over the API
3.: You switch to Singlephase-Charging with the API
4.: You start charging again over the API
5.: The car now is charging with only one Phase.
Or is stopping and starting the charge unnecessary because the Easee Wallbox does it itself if the number of phases is changed?
Or do I even have to replug the charging cable into my car after changing the number of phases?
Maybe an example Script for this procedure would be very helpful.
Thanks in advance!

There is a way to limit to single phase charging. But the best option would set it to auto and let the chargebot figure it out.
Why limit the charger to single phase as long as it supports 3 phase (and the car supports it too) I dont see the usecase. Its good to spread the load. What are you trying to do and what is your goal? Maybe its better way to do it.

There is a way to limit to single phase charging. But the best option would set it to auto and let the chargebot figure it out.
Why limit the charger to single phase as long as it supports 3 phase (and the car supports it too) I dont see the usecase. Its good to spread the load. What are you trying to do and what is your goal? Maybe its better way to do it.

Hi,
1-Phase Charging is important for charging only my PV-Excess.
With 3 Phases the minimum Power to charge is 230Vx6Ax3=4.1kW.
But if I instead charge with only 1 Phase I can start charging at 1.4kW. My PV isn't that big that I often have a excess of 4.1kW, that's the reason why starting charging with 1 Phase and 1.4kW would be really important for me.
Off course I also could us a 1-Phase Typ-2 Kabel, but then I would have to replace the cable if I want to charge fast with 11kW.

Hi,
1-Phase Charging is important for charging only my PV-Excess.
With 3 Phases the minimum Power to charge is 230Vx6Ax3=4.1kW.
But if I instead charge with only 1 Phase I can start charging at 1.4kW. My PV isn't that big that I often have a excess of 4.1kW, that's the reason why starting charging with 1 Phase and 1.4kW would be really important for me.
Off course I also could us a 1-Phase Typ-2 Kabel, but then I would have to replace the cable if I want to charge fast with 11kW.

I’m not sure what you mean by pv-excess but I assume you have solar and you produce more energy that use use so you have a excess energy that you use to charge up your car instead of sending it back to the grid.
I think you can just change the phases on the fly with out doing anything (I havnt tested this)
Your can use:
Charger.limitToSinglePhaseCharging(True)
Charger.limitToSinglePhaseCharging(False)
to turn on and off.

I’m not sure what you mean by pv-excess but I assume you have solar and you produce more energy that use use so you have a excess energy that you use to charge up your car instead of sending it back to the grid.
I think you can just change the phases on the fly with out doing anything (I havnt tested this)
Your can use:
Charger.limitToSinglePhaseCharging(True)
Charger.limitToSinglePhaseCharging(False)
to turn on and off.

I’m not sure what you mean by pv-excess but I assume you have solar and you produce more energy that use use so you have a excess energy that you use to charge up your car instead of sending it back to the grid.

Yes that's what I meant, Thanks for the answer!
I also think it should work this way, but I'm not 100% sure, and this isn't safe enough for me to buy a 600€ Wallbox...
Because if you have to replug the car charging cable, which was the answer of the Easee support, it wouldn't be very useful for me.

I’m not sure what you mean by pv-excess but I assume you have solar and you produce more energy that use use so you have a excess energy that you use to charge up your car instead of sending it back to the grid.

Yes that's what I meant, Thanks for the answer!
I also think it should work this way, but I'm not 100% sure, and this isn't safe enough for me to buy a 600€ Wallbox...
Because if you have to replug the car charging cable, which was the answer of the Easee support, it wouldn't be very useful for me.

It is hard to answer this question since we are not the ones developing the charger and the could API.
This library is a wrapper for the could API, the logic of what happens when you call the API is in the cloud and/or the charger, so the only way to know how it behaves is usually to test. Unless it is documented in detail and it usually is not.
But have a look at http://api.easee.cloud and check if that helps.

It is hard to answer this question since we are not the ones developing the charger and the could API.
This library is a wrapper for the could API, the logic of what happens when you call the API is in the cloud and/or the charger, so the only way to know how it behaves is usually to test. Unless it is documented in detail and it usually is not.
But have a look at http://api.easee.cloud and check if that helps.

I have already looked there, and as you said, it isn't documented that well that you exactly know what the charger does.
If I had to stop and start the charge with the API before and after editing the "limitToSinglePhaseCharging" value that wouldn't be a big deal, but If I had to replug the charging cable it wouldn't be really practicable.
Since this is a big reason for me wether to buy an Easee-Wallbox or not, I hoped that someone here maybe already tried it - which it doesn't look like.
But thanks for all your answers!

I have already looked there, and as you said, it isn't documented that well that you exactly know what the charger does.
If I had to stop and start the charge with the API before and after editing the "limitToSinglePhaseCharging" value that wouldn't be a big deal, but If I had to replug the charging cable it wouldn't be really practicable.
Since this is a big reason for me wether to buy an Easee-Wallbox or not, I hoped that someone here maybe already tried it - which it doesn't look like.
But thanks for all your answers!

Well, perhaps I can test with my car and charger sometime later this week. But there is no guarantee that it behaves the same way with all combinations of car and charger.
It is an interesting question to me also as I too have solar panels on my house and it could be interesting to know if this is a way to limit power to less than 62303 W.

Well, perhaps I can test with my car and charger sometime later this week. But there is no guarantee that it behaves the same way with all combinations of car and charger.
It is an interesting question to me also as I too have solar panels on my house and it could be interesting to know if this is a way to limit power to less than 62303 W.

Yes, for this purpose 1-Phase Charging is really useful.
I don't know how you got to 62303 W, but I think it depends from country to country.
In Germany for example we have 230V, and most cars can charge from 6A to 16A.
That means, with three Phases you can charge from 6Ax230Vx3=4140W to 16Ax230Vx3=11040W, and with only one phase you can charge from 6Ax230Vx1=1380W to 16Ax230Vx1=3680W.
Here in Germany there is also a in the meantime quite big Open-Source Projekt called "openWB" for Solar-Plant Charging. They have own closed-source hardware with the ability to change the number of phases, but they are really expensive (but also good!). The Software is Open-Source, working with almost all inverters and evu-meters, and some third party charges like the Go-e are also implemented yet, but not the Easee-Wallbox.

Yes, for this purpose 1-Phase Charging is really useful.
I don't know how you got to 62303 W, but I think it depends from country to country.
In Germany for example we have 230V, and most cars can charge from 6A to 16A.
That means, with three Phases you can charge from 6Ax230Vx3=4140W to 16Ax230Vx3=11040W, and with only one phase you can charge from 6Ax230Vx1=1380W to 16Ax230Vx1=3680W.
Here in Germany there is also a in the meantime quite big Open-Source Projekt called "openWB" for Solar-Plant Charging. They have own closed-source hardware with the ability to change the number of phases, but they are really expensive (but also good!). The Software is Open-Source, working with almost all inverters and evu-meters, and some third party charges like the Go-e are also implemented yet, but not the Easee-Wallbox.

My text was supposed to say 6 x 230 x 3 W, the formatting was screwed up so that it became 62303 :)
I did right now test with the easee app, and my car switches from 3-phase to 1-phase charging when I switch the setting there from 3 to 1-phase. But I can not be sure exactly what APIs the easee app calls to accomplish that. So to test it fully I need to write a small program to call specifically that API.

My text was supposed to say 6 x 230 x 3 W, the formatting was screwed up so that it became 62303 :)
I did right now test with the easee app, and my car switches from 3-phase to 1-phase charging when I switch the setting there from 3 to 1-phase. But I can not be sure exactly what APIs the easee app calls to accomplish that. So to test it fully I need to write a small program to call specifically that API.

Ok, so the answer to the question if Charger.limitToSinglePhaseCharging(True) will make the charger reconfigure itself to 1-phase mode when charging is already taking place is no.
However, I tried changing the phaseMode setting (as I did in the easee app) and if I change that to forced 1-phase mode, the charger will on the fly force the car to switch to 1-phase charging mode, and the other way around, if I switch it back to auto or 3-phase mode it will switch back to 3-phase.
We do not currently have support for changing that setting in the lib so we need to create a new version for this.
Note that changing settings like this is potentially going to write to flash memory in the charger and there is a limit of how many times that can be done before it is worn out. So doing it every day back and forth is maybe not a god idea either...
There may be a different and perhaps better way by using the set_dynamic_charger_circuit_current function. If you set 2 of the phase currents to 0, the charger should limit itself to 1-phase charging, on that phase. But I am not sure if it works.
My car has finished charging for today so I can not test more today.
To be continued...

Ok, so the answer to the question if Charger.limitToSinglePhaseCharging(True) will make the charger reconfigure itself to 1-phase mode when charging is already taking place is no.
However, I tried changing the phaseMode setting (as I did in the easee app) and if I change that to forced 1-phase mode, the charger will on the fly force the car to switch to 1-phase charging mode, and the other way around, if I switch it back to auto or 3-phase mode it will switch back to 3-phase.
We do not currently have support for changing that setting in the lib so we need to create a new version for this.
Note that changing settings like this is potentially going to write to flash memory in the charger and there is a limit of how many times that can be done before it is worn out. So doing it every day back and forth is maybe not a god idea either...
There may be a different and perhaps better way by using the set_dynamic_charger_circuit_current function. If you set 2 of the phase currents to 0, the charger should limit itself to 1-phase charging, on that phase. But I am not sure if it works.
My car has finished charging for today so I can not test more today.
To be continued...

I have now tested and it looks like it works just fine ot change the circuit dynamic current to control if the charger uses 1 or 3 phases.
So if you call the circuit.set_dynamic_current(p1, p2, p3) with for instance (20, 0, 0) the charger will switch to using 1 phase charging with phase 1. If you call it with (0, 20, 0) it will switch to 1 phase charging on phase 2 etc. If you set it to (20, 20, 20) it will use all 3 phases.
20 is just an example of course, and the other limits (max circuit current, dynamic charger current, max charger current) will take precedence if they are lower.
It is probably a requirement that the charger is set to auto phase mode for this to work.
I will probably add the possibility to change the phase mode to the lib as well, but it is not recommended to use that for this functionality (even though it works as described above) since it will probably write to flash and risk wearing it out if called often.

I have now tested and it looks like it works just fine ot change the circuit dynamic current to control if the charger uses 1 or 3 phases.
So if you call the circuit.set_dynamic_current(p1, p2, p3) with for instance (20, 0, 0) the charger will switch to using 1 phase charging with phase 1. If you call it with (0, 20, 0) it will switch to 1 phase charging on phase 2 etc. If you set it to (20, 20, 20) it will use all 3 phases.
20 is just an example of course, and the other limits (max circuit current, dynamic charger current, max charger current) will take precedence if they are lower.
It is probably a requirement that the charger is set to auto phase mode for this to work.
I will probably add the possibility to change the phase mode to the lib as well, but it is not recommended to use that for this functionality (even though it works as described above) since it will probably write to flash and risk wearing it out if called often.

Wow, Thanks for your works, looks like it's working pretty well!
From which source do you have the information, that changing the phase mode isn't recommended for this functionality, and that there's a risk of wearing it out?
Has someone from Easee confirmed you that you shouldn't use it like this?
Because technically, phase changing don't have to  include the risk of wearing it out - Take a look at for example OpenWB or the SMA-Chargers, that both have this as a feature.

Wow, Thanks for your works, looks like it's working pretty well!
From which source do you have the information, that changing the phase mode isn't recommended for this functionality, and that there's a risk of wearing it out?
Has someone from Easee confirmed you that you shouldn't use it like this?
Because technically, phase changing don't have to  include the risk of wearing it out - Take a look at for example OpenWB or the SMA-Chargers, that both have this as a feature.

I just have found this Website:

They already use the Easee Wallbox and its Phase-Changing.

I just have found this Website:

They already use the Easee Wallbox and its Phase-Changing.

We are in contact with the easee engineers, so they have explained a few things to us that are not obvious.
Among these are the fact that settings are generally stored in flash in the charger and we should not change these to often because it can wear out (which is kind of normal for a flash anyway, but).
For instance a setting like the max charger current will write to flash, while the dynamic charger current and circuit dynamic currents are safe to update as often as you like since they are not stored in flash.
I can ask to confirm if this is true for phaseMode, it is just a suspicion.
But nevertheless, I think using the dynamic circuit current is what easee recommends for user/integrator control and then let the charger do its decisions based on that.
So it is likely that the company you linked to above uses the same approach.

We are in contact with the easee engineers, so they have explained a few things to us that are not obvious.
Among these are the fact that settings are generally stored in flash in the charger and we should not change these to often because it can wear out (which is kind of normal for a flash anyway, but).
For instance a setting like the max charger current will write to flash, while the dynamic charger current and circuit dynamic currents are safe to update as often as you like since they are not stored in flash.
I can ask to confirm if this is true for phaseMode, it is just a suspicion.
But nevertheless, I think using the dynamic circuit current is what easee recommends for user/integrator control and then let the charger do its decisions based on that.
So it is likely that the company you linked to above uses the same approach.

Anyway, using dynamic circuit current also allows you to control which phase to use, not only to switch between 3 and 1 phase.

Anyway, using dynamic circuit current also allows you to control which phase to use, not only to switch between 3 and 1 phase.

Sorry, since my English isn't the best and I'm not familiar with the Easee API names I misunderstood you.
I didn't realize that there are two options to charge with only one phase:
First option: Chance phase mode, but risk of wear the flash out.
Second option: Use circuit.set_dynamic_current(p1,p2,p3)
Have I got this right now?
Are there any reasons for using the option 1 instead of option 2?

Sorry, since my English isn't the best and I'm not familiar with the Easee API names I misunderstood you.
I didn't realize that there are two options to charge with only one phase:
First option: Chance phase mode, but risk of wear the flash out.
Second option: Use circuit.set_dynamic_current(p1,p2,p3)
Have I got this right now?
Are there any reasons for using the option 1 instead of option 2?

Option 2 is definitely better.
I got confirmation now from Easee that changing phaseMode will write to flash. So not recommended.

Option 2 is definitely better.
I got confirmation now from Easee that changing phaseMode will write to flash. So not recommended.

Can we close this issue @JSAnyone ?

Can we close this issue @JSAnyone ?

Yes, thanks for your help!

Yes, thanks for your help!


Hardcoded resolution in UniverseSelection.AddPendingInternalDataFeeds

Hey guys I've been running some backtests with Daily resolution, however, I also noticed that Lean requested Hourly resolution, but I didn't set it anywhere. I have found this piece of code that hardcodes the resolution in a subscription request to be Hourly if it's backtesting and Minute if it's live trading.

Can I ask you guys to help me understand why is this behavior hardcoded there like that? Are there any reasons to that? (my backtest is for Daily resolution and I didn't specify hourly resolution). Also maybe I need to override IDataPermissionManager (which I haven't done yet) but I don't understand why I need to do that? There are also a lot of other places where Resolution is hardcoded as optional parameters in various methods.
Can you guys help me understand this behavior? Is it a bug or an expected feature?
UPD:
Also, it's somewhy requesting candles from like 2019 to the end of 2020 although in my algorithm I specified: from= 2/1/2020 12:00:00 AM to =6/3/2020 11:59:59 PM

I suppose the above should be ok as it's only used for 'internal subscriptions' however this kind-of data does reach my algorithm which is something I don't think is ok, as my algorithm only expected daily resolution. I have found this issue https://github.com/QuantConnect/Lean/issues/4702 and also the internal subscription data does reach the algorithm but in the above issue it's saying that it doesn't.

Hmm turns out this data doesn't affect the data my algorithm is subscribed to, I just double-checked. So I think it's also fine for this to be hardcoded as it's a separate concept from what algorithm is subscribed to


Add room key/value to devices endpoint

When querying the /-/devices endpoint Philips Hue and Sonos devices should all have a new key/value pair, "room": "super-cool-place".
eg.
{
  "id": "001788176885-light-36",
  "type": "philips_hue",
  "name": "Hue color light 2",
  "room": "office 1"
}

This feature will be used in the device selection modal on the frontend and allow a user to easily distinguish which lights are in which Philips Hue "room" the setup from the Philips Hue Official App.

The logic for the same has been implemented in PR #387 . The PR a non-breaking non-interfering code. Can be safely merged, but wont serve any purpose.


Controllers not available (sails.controllers)

Sails version:1.1.0
Node version:10.10.0
NPM version:6.5.0
DB adapter name: sails-mysql
DB adapter version: 1.0.1
Operating system:Mac

0
I have generated controllers and models using sails generate.
I can see all the models are loaded with console.log(sails) but the controllers aren't
sails> console.log(sails)
  |>   [a lifted Sails app on port 1337]
\___/  For help, see: http://sailsjs.com/documentation/concepts/

Tip: Use `sails.config` to access your app's runtime configuration.

4 Models:
Categories,Products,User,Archive

0 Controllers:

22 Hooks:
moduleloader,logger,request,views,blueprints,responses,helpers,pubsub,policies,services,security,i18n,userconfig,http,userhooks,custom,apianalytics,autoreload,grunt,organics,orm,sockets

(node:12301) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated

@raqem, Does this mean for the later versions sails.controllers will not be accessible?


Setting default io_loop

Right now we don't specify any default io_loop for the Motor client.
I think it would be a good idea to add asyncio.get_event_loop if no loop is specified.
https://github.com/aminalaee/mongox/blob/main/mongox/database.py#L47

Closed by #17


Fingerprinting slow on linux

Current Behavior
I use linux CI to run our project (pretty large with 300+ module) and fingerprinting takes around 20m or above for full build.
Some up-to-date task taking 40-60 sec/each to complete. When using gradle benchmark to try compile avoidance (when most task should be up-to-date) 1st and 2nd build fingerprinting super slow, but 3rd and 4th build getting faster.
If im comparing this to our mac OS build, it is only takes 5minutes for fingerprinting on full build, and each task mostly only takes less than 5 sec.
Expected Behavior
Fingerprinting for up-to-date task should fast (< 5sec) on linux, similar to mac os.
Context (optional)
We are changing our CI form mac os to linux and build time increased significantly because fingerprinting issue.
Linux details:

Mac OS details:

Do you have any advice how to debug this issue?
Steps to Reproduce
Unable to repro this on small project.
On our project, we run gradle profiler by changing private method on some modules to trigger compile avoidance. Compile avoidance happen.
Image below showing 4 iteration, the 2nd and

Task execution detail:

Comparing to mac os with same source code:

Gradle version
8.5
Gradle version that used to work

Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for your interest in Gradle!
This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

@oehme could your changes be relevant here?

The issues I've found so far are platform-independent, but any fingerprinting issues are interesting to me. @doniwinata0309 since you are already using gradle-profiler, could you share a profile with the slow fingerprinting time, preferably using the async-profiler option?

Please find attachment for async profiler and chrome trace:
async_profiler.zip
compile_avoidance_app-8.5-trace.json.zip
fingerprinting for this build is around 34m

Appreciate your help

linux.zip
This is the result on linux. for mac not sure why it is become very large like 500mb for 1 stack file. will retry again and send youthe result later

From what I'm seeing in that snapshot, it looks like everything is waiting on the file hash cache, which is a small database on disk that gets lots of tiny reads and writes during a build. What kind of machine are you running this on? For example, on AWS, I'd strongly recommend agents with SSDs instead of EBS volumes.

It is
c7i.4xlarge | Processor: 4th Generation Intel Xeon Scalable | vCPU: 16 | Memory: 32 | EBS-Only | Network badnwidth: Up to 12.5 | EBS bandwith: Up to 10
I will try to benchmark with
c6id.4xlarge with SSD and update you the result.
Thank you, appreciate your help

also wondering, is there any other workaround i can do to optimize it on that machine?

I have a possible fix for you to try out, if you're up for building Gradle from source. You'd have to check out that branch of my fork, run gradlew install -Pgradle_installPath=<where to put the installation> and then run your experiments with that custom installation.

Sure let me try that later, Thank you

The result on AWS using SSD is much faster compared to EBS, and we will consider to use ssd for our CI.

That is my experience as well, glad you're seeing a good speedup.

But sometimes i can see task like com.android.build.gradle.internal.tasks.DexMergingTask takes 40 sec to just fingerprinting, executing 0.6sec. Is there a way to skip fingerprinting on some task, forcing it to just run without cache/checking up-to-date?

Actually, this is misleading - DexMerging depends on artifact transformations, which are currently counted towards "fingerprinting", but it's actually real work being done by the Android plugin. So disabling fingerprinting in that case won't do anything.

unfortunately i got some error after using this possible fix
Gradle dissapear, probably there some issue with our app when using gradle 8.8.

I'd love to know more - Have you tried with the master branch for comparison?

Ah i see so that may be artifact transform causing issue. I will try later with gradle 8.5 source code and make changes similar to your commit. Will update the result later, thank you for your help.

This is the result from 2 benchmark with 3 iteration (1 warm up)
Gradle 8.5 with possible fix

Gradle 8.5 and 8.2

Looks like it can fix the issue.
To use this on our CI, do i need to copy source --> run build --> point out gradle to use custom installtion path ?
Or do you have advice how we can use custom gradle temporarily like use .jar or something?

@doniwinata0309 What version of the Develocity plugin are you using? Using the Develocity Gradle plugin 3.16+ with Gradle 8.3+ will accurately display the transform execution time and fingerprinting time separately.
Develocity plugin 3.15

Devlocity plugin 3.16

@sorin-florea it is Develocity plugin 3.15.1, i will update it to 3.16 thanks

It looks like @oehme's changes would introduce some improvements in performance on slow disks. However, we have some plans to replace this infrastructure in the foreseeable future completely. See also notes here: https://github.com/gradle/gradle/pull/28344#issuecomment-2018516744

Also, as @oehme recommended above, switching to SSDs could already improve performance significantly.


Closed issue!! sample

Is there some solution for some users that only have access to use FTP, there also users who have no ssh login to install things on the server!
Download ZIP in windows the samples not work, missing files ? ../../dist/Chart.bundle.js not exists

@Theolodewijk the only way to do what you want to do is to install from npm or bower on your own machine and then put it on the server after that. You could also download the built file from the CDN using the links in the documentation.
We made a conscious choice to not have built files checked in to GitHub and we are not going to change that.

I have downloaded the CDN file but still alot of errors!
But maybe we can find something else to use if you don't like us and dont like to help!
Greetings Theo

@Theolodewijk it's not that we don't want to help you, but (personally) I don't understand your issue (why FTP/SSH access should be our concern?). If you just want to use Chart.js locally and also be able to run the samples, you can download the ZIP archive from the release page. Alternatively, you can checkout a specific tag (eg. v2.5.0) and you will get everything you need in the dist folder.
In both cases you don't have to install/build anything!

I was under the impression that I had to install stuff via ssh. it is now managed by the CDN link thank you!


OpenCL support

CUDA doesn't work on many machines, especially Mac. By supporting OpenCL, chanier could be run with various platforms with non-NVIDIA GPUs and even FPGAs.

+1 for supporting the open standard for parallel computing.

Any plan to support OpenCL?

+1 for supporting OpenCL.

Any movement on this? Open standards would be great, it's sad to see so many otherwise great libraries bogged down in a walled garden. :(

These projects try to translate CUDA specific code into portable code:
https://github.com/hughperkins/cuda-on-cl
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP
HIP looks more complete than cuda-on-cl but its target is C++.

I know that hughperkins is using cuda-on-cl right now to translate Tensorflow to OpenCL, which is pretty exciting.


Problem: use of versions.txt file

It helps determine versions of Omnigres components quickly, but it creates unnecessary merge conflicts.
Proposed solution: roll versions back to CMake files
We still have artifacts.txt produced during CMake configuration phase.
Note: We can't simply roll it back as our current extension release technique depends on it. But in the interim, perhaps we can make it use artifacts.txt?

Putting it back into CMakeLists.txt will make it harder for external tools (like pgpm to read this information out.
How about we add files like VERSION to extensions/NAME and change Versions.cmake to read from there?
We can even go a bit further and list requirements the same way in a REQUIREMENTS file (have to be more careful there to support the scenario of "current version")


Fixing workbook query regarding IcM and repackaging

Required items, please complete
Incident 361952128 : [Pending PG] || # 'Maturity Model For Event Log Management M2131' workbook - Inconsistent Data
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hi @v-amolpatil,
Azure Sentinel keyword is part of workbook query. We can't update it. Can you please add skip validation for this scenario to unblock.
Thanks

Hi @v-amolpatil, can you please have a look at this, Thanks!

Hi @v-vdixit , @v-mchatla, We are working on this and will get back to you in 3-4 days.

Thanks @v-amolpatil for the update.

Hi @v-amolpatil,
Please let us know once you have fixed the issue in the pipeline. Will take latest from master and update.
Thanks

Hi @v-amolpatil,
Please let us know once you have fixed the issue in the pipeline. Will take latest from master and update.
Thanks


[Drawer] Right-anchored persistent drawer intercepts click while closed

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
When a right-anchored persistent drawer is closed, it intercepts clicks in its "area" as if it were open.
https://user-images.githubusercontent.com/6866792/144292008-670da199-0fbf-40a4-9bb8-39cc51c71ca6.mp4
Expected behavior 🤔
Behavior should be the same as it currently is for a left-anchored persistent drawer.
When a right-anchored persistent drawer is closed, I should be able to click on elements or select text that is in the area taken up by the drawer when it is open.
Both behaviors can be seen in the video in "Current behavior".
Steps to reproduce 🕹
Steps:
The documentation page or the default codesandbox for this component is enough to reproduce: https://codesandbox.io/s/n5rze?file=/demo.js

Open the sandbox
Try to highlight text in the right-most 240 pixels of the screen where the drawer would be if it was open
Move your cursor back and forth across the 240-pixels from the right boundary and notice that it switches between and I-beam and a pointer.

Context 🔦
I would like to be able to place components in the area of the drawer when it is closed that can be clicked on to open the drawer.
If this is a z-index issue, then this issue may be similar, but I don't believe it is the same: https://github.com/mui-org/material-ui/issues/29878
Your environment 🌎
Reproduced in both Chrome 96.0.4664.45 (Official Build) (64-bit) and Firefox 94.0 (64-bit) on Ubuntu 20.04.3 LTS (Focal Fossa)

`npx @mui/envinfo`
Server:
  System:
    OS: Linux 3.10 CentOS Linux 7 (Core)
    CPU: (4) x64 Intel Xeon Processor (Skylake, IBRS)
    Memory: 379.38 MB / 7.80 GB
    Container: Yes
    Shell: 4.2.46 - /bin/bash
  Binaries:
    Node: 14.18.1 - /usr/bin/node
    npm: 6.14.15 - /usr/bin/npm
  Managers:
    pip3: 21.3 - /usr/local/bin/pip3
    RubyGems: <IP_ADDRESS> - /usr/bin/gem
    Yum: 3.4.3 - /usr/bin/yum
  Utilities:
    CMake: <IP_ADDRESS> - /usr/bin/cmake
    Make: 3.82 - /usr/bin/make
    GCC: 4.8.5 - /usr/lib64/ccache/gcc
    Git: 2.17.0 - /usr/bin/git
    Subversion: 1.7.14 - /usr/bin/svn
  Servers:
    Apache: 2.4.6 - /usr/sbin/apachectl
  IDEs:
    Nano: 2.3.1 - /usr/bin/nano
    Vim: 7.4 - /usr/bin/vim
  Languages:
    Bash: 4.2.46 - /usr/bin/bash
    Java: 15.0.2 - /usr/bin/javac
    Perl: 5.16.3 - /usr/bin/perl
    Protoc: 3.5.0 - /usr/bin/protoc
    Python: 2.7.5 - /usr/bin/python
    Python3: 3.6.8 - /usr/bin/python3
    Ruby: 2.0.0 - /usr/bin/ruby
  Databases:
    SQLite: 3.7.17 - /usr/bin/sqlite3
  Browsers:
    Firefox: support!
Mozilla Firefox 60.8.0

Client:
  System:
    OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
  Binaries:
    Node: 10.19.0 - /usr/bin/node
    Yarn: Not Found
    npm: 6.14.4 - /usr/bin/npm
  Browsers:
    Chrome: 96.0.4664.45
    Firefox: 94.0

Thanks for the report. I could fix the issue with:
index b1b3bc97f2..e515eb97a0 100644
--- a/packages/mui-material/src/Drawer/Drawer.js
+++ b/packages/mui-material/src/Drawer/Drawer.js
@@ -44,8 +44,11 @@ const DrawerRoot = styled(Modal, {
   name: 'MuiDrawer',
   slot: 'Root',
   overridesResolver,
-})(({ theme }) => ({
+})(({ theme, ownerState }) => ({
   zIndex: theme.zIndex.drawer,
+  ...(!ownerState.open && {
+    zIndex: -1,
+  }),
 }));

 const DrawerDockedRoot = styled('div', {
@@ -54,9 +57,12 @@ const DrawerDockedRoot = styled('div', {
   slot: 'Docked',
   skipVariantsResolver: false,
   overridesResolver,
-})({
+})(({ ownerState }) => ({
   flex: '0 0 auto',
-});
+  ...(!ownerState.open && {
+    zIndex: -1,
+  }),
+}));

Basically adding zIndex: -1 if the drawer is not open. We should test this, but I think it should solve the issue. Would you like to work on a PR?

Looks like that fix works. PR created :+1:

Is the issue resolved or are we still looking for another solution as mentioned in the PR?

Is the issue resolved or are we still looking for another solution as mentioned in the PR?

It haven't been resolved, looks like the proposed solution in https://github.com/mui/material-ui/issues/29997#issuecomment-984396435 breaks something else.

Is it possible to trigger the pipeline checks locally ?

I have a PR for this issue, would it be possible for anyone to review it ? The PR has a green pipeline.
The issue mentioned involves changing the css properties for the right drawer as the drawer component comes after the main tag which ranks higher in the stacking context preventing the user from selecting the text. I can take care of cleaning up of the commit history or anything else that is remaining with the PR.
PR


kubelet must not start the container if volume mounts are not satisfied

I was trying to figure why my podspec with the following volume:
{
  "name": "docker-registry-images",
  "rbd": {
    "monitors": [
      "<IP_ADDRESS>:6789",
      "<IP_ADDRESS>:6789",
      "<IP_ADDRESS>:6789"
    ],
    "pool": "kube-common",
    "image": "docker-registry-images",
    "fsType": "ext4",
    "user": "admin",
    "keyring": "/etc/ceph/ceph.client.admin.keyring"
  }
}

magically transforms into
{
    "name": "docker-registry-images",
    "emptyDir": {}
}

and the container starts with empty dir mounted instead of the rbd volume.
Apparently, given that I run kubelet containerized by hupercube, it can't possibly mount anything. This should be a fail state reported somewhere, mounting an empty dir is not acceptable failsafe as it can lead to data loss.

Actually running both kubelet and apiserver outside of docker doesn't fix anything. Is it an issue with rbd plugin specifically?

Could you post your entire pod json?
cc @rootfs

@farcaller any chance you can paste your kubelet log?

here's the rc: https://gist.github.com/farcaller/0949a79061e1b3956e9e
@rootfs: I'm not sure kubelet log is relevant, the pod description is returned "corrupted" by apiserver.

Also tried on 0.19.0 with the same result.

@farcaller kubelet log will tell how rbd volume failed.

kubelet mounts the emptyDir volume as expected, because that's the volume returned by apiserver:
% kubectl create -f registry-rc.yml
% curl -E farcaller https://kube-master:6443/api/v1beta3/namespaces/default/pods | jq . -
{
  "kind": "PodList",
  "apiVersion": "v1beta3",
  "metadata": {
    "selfLink": "/api/v1beta3/namespaces/default/pods",
    "resourceVersion": "25348"
  },
  "items": [
    {
      "metadata": {
        "name": "docker-registry-m9xg8",
        "generateName": "docker-registry-",
        "namespace": "default",
        "selfLink": "/api/v1beta3/namespaces/default/pods/docker-registry-m9xg8",
        "uid": "1e36a68e-14fa-11e5-9d01-e6a1db081618",
        "resourceVersion": "25345",
        "creationTimestamp": "2015-06-17T14:06:58Z",
        "labels": {
          "name": "docker-registry"
        },
        "annotations": {
          "kubernetes.io/created-by": "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1beta3\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"default\",\"name\":\"docker-registry\",\"uid\":\"1e2270cf-14fa-11e5-9d01-e6a1db081618\",\"apiVersion\":\"v1beta3\",\"resourceVersion\":\"25332\"}}"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "docker-registry-images",
            "emptyDir": {}
          },
          {
            "name": "docker-registry-config",
            "emptyDir": {}
          }
        ],
        "containers": [
          {
            "name": "registry",
            "image": "jonlangemak/docker:web_container_80",
            "ports": [
              {
                "containerPort": 80,
                "protocol": "TCP"
              }
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "docker-registry-images",
                "mountPath": "/registry"
              },
              {
                "name": "docker-registry-config",
                "mountPath": "/config"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "imagePullPolicy": "IfNotPresent",
            "capabilities": {},
            "securityContext": {
              "capabilities": {},
              "privileged": false
            }
          }
        ],
        "restartPolicy": "Always",
        "dnsPolicy": "ClusterFirst",
        "serviceAccount": "",
        "host": "da"
      },
      "status": {
        "phase": "Running",
        "Condition": [
          {
            "type": "Ready",
            "status": "False"
          }
        ],
        "hostIP": "<IP_ADDRESS>",
        "podIP": "<IP_ADDRESS>",
        "startTime": "2015-06-17T14:07:00Z",
        "containerStatuses": [
          {
            "name": "registry",
            "state": {
              "running": {
                "startedAt": "2015-06-17T14:07:00Z"
              }
            },
            "lastState": {},
            "ready": false,
            "restartCount": 0,
            "image": "jonlangemak/docker:web_container_80",
            "imageID": "docker://3ee2cefadf0a7d079a4bbee7101458d7ec5bb18bf32988929f3649145a6a820e",
            "containerID": "docker://d6b76fdc6b5389627ad8ec4e11d14a7815f8715cda47664b09349e02ae81da61"
          }
        ]
      }
    }
  ]
}

Apparently I was using a stale kubectl binary, that didn't have rbd support (as I figured by looking at wireshark). This one can be closed, I broke rbd in a more legit way now: #9952.

@farcaller What version of kubectl worked for you ?
I am using kubernetes 0.19.3 and I'm experiencing very same issue. Just to make sure it's not kubectl issue I've download latest kubectl from 1.0.1 and it behaves in the same way.

Reasonably recent was working for me. Check the network traffic between kubectl and apiserver and see if it does mention rbd mount as expected.


Improvements on load testing to avoid only hitting cache and have mor…

Description:
Improvements on load testing to avoid only hitting cache and have more variable and randomized(ish) test data
Related issue(s):
Fixes #
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 79.48% and project coverage change: +0.23 :tada:

Comparison is base (270877b) 75.40% compared to head (4ac79a7) 75.64%.

:exclamation: Current head 4ac79a7 differs from pull request most recent head 339a14f. Consider uploading reports for the commit 339a14f to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1332      +/-   ##
==========================================
+ Coverage   75.40%   75.64%   +0.23%
==========================================
  Files          32       32
  Lines        2399     2451      +52
  Branches      476      492      +16
==========================================
+ Hits         1809     1854      +45
+ Misses        444      443       -1
- Partials      146      154       +8

Impacted Files
Coverage Δ

packages/relay/src/lib/constants.ts
100.00% <ø> (ø)

packages/relay/src/lib/relay.ts
27.65% <0.00%> (ø)

.../relay/src/lib/services/hapiService/hapiService.ts
83.90% <0.00%> (ø)

packages/server/src/server.ts
73.73% <50.00%> (-0.45%)
:arrow_down:

packages/relay/src/lib/eth.ts
82.49% <77.27%> (-0.33%)
:arrow_down:

packages/relay/src/lib/clients/mirrorNodeClient.ts
88.54% <88.23%> (-0.10%)
:arrow_down:

packages/relay/src/lib/clients/sdkClient.ts
20.83% <100.00%> (+0.36%)
:arrow_up:

packages/relay/src/lib/errors/JsonRpcError.ts
86.11% <100.00%> (+12.77%)
:arrow_up:

packages/relay/src/lib/precheck.ts
87.05% <100.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


当我输入一个错误的标签，也会搜索出来

The more we know about your system and use case, the more easily and likely we can help.
Environment info

OS: mac os
App Version (Command/Ctrl + ,):版本1.9.1 (1.9.1)

Description of the problem / feature request / question:
这个标签 test33是不存在的，但还是搜出了东西

If possible, provide a sample gist or screenshot:
If possible, provide the log files
For Lepton after v1.9.0, the path of the log file can be found at Command/Ctrl + ,

Mac: ~/Library/Application Support/Lepton/logs
Windows: C:\Users\<username>\AppData\Roaming\Lepton\logs
Linux: ~/.cached/Lepton/logs

The debug mode is recommended when producing the logs.
You can send your log file to<EMAIL_ADDRESS>if don't want to post it here.

Lepton uses the fuzzy search backed by fuse.js. Therefore it can return the results which the engine thinks are close enough (with high relevance scores).

Lepton uses the fuzzy search backed by fuse.js. Therefore it can return the results which the engine thinks are close enough (with high relevance scores).


Format constributing to make it look better

The file contributing.md needs to be formatted so that it is more readable and looks more professional. It should be a very simple fix. As well, any helpful additions to this file would be appreciated.

Misspelling in the title. Will reopen another issue.


Observe CSSStyleDeclaration.prototype.*

Progress on https://github.com/HTTPArchive/almanac.httparchive.org/issues/2879
Detect CSS custom property usage via JS
Tests
https://codepen.io/rviscomi/full/vYdpXxK
Results
{
    "call_stacks": {
        "navigator.userAgent": []
    },
    "CSSStyleDeclaration.prototype.getPropertyValue": 2,
    "CSSStyleDeclaration.prototype.setProperty": 1
}

Rick can you send me your email please?
Allen dotty oneill at dottie geemail etc....
Thanks.
On Fri 27 May 2022, 03:12 Rick Viscomi, @.***> wrote:

Merged #27 https://github.com/HTTPArchive/custom-metrics/pull/27 into
inject.
—
Reply to this email directly, view it on GitHub
https://github.com/HTTPArchive/custom-metrics/pull/27#event-6689584195,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADHGWIZSHTIDD6NDGEHH3LVMAVR3ANCNFSM5XCLD7NA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Need to be able to specify message key for output message

The documentation refers to a property which doesn't appear to be available.
Mentioned here: https://github.com/joekiller/logstash-kafka/issues/53

6 months have passed, Has anyone worked on this issue ?

@ScottChapman @jiacai2050 apologies.
looks like this ticket deals with the pre-0.8 producer client for java.
We have upgraded to use the new producer starting with the 2.x version of
this plugin.
One thing that came with this was the ability to set a message_key setting.

Closing this issue since we have upgraded to a new producer client since, which adds this functionality.


unify guest time keeping

Use -rtc base=utc,clock=vm,driftfix=slew for both libvirt and qemu driver.

./hypervisor/libvirt/libvirt.go:385: struct field frequency has xml tag but is not exported


Is this the official React adapter to MCW?

Readme file of MCW does not point to this project as the React adapter. Is this official? Will it be maintained, and is it safe to base production projects on it?

This was announced at I/O.
https://events.google.com/io/schedule/?section=day&sid=49ccebfb-2250-4f0a-86df-dbb5c3f0a594

@abraham yes this is the official Material Design React Wrapper of the MDC Web. We are in alpha similar to MDC Web, and will continue maintain the project. We will try to keep it as up to date with the latest version of React and latest version of MDC Web. Currently an issue open to upgrade to v0.35.0.


Block.slotWithinEpoch is incorrect for shelley

the slotWithinEpoch is calculated by block.slot_no - (block.epoch_no * (10 * (select protocol_const from meta))) This doesn't account for f and could be simplified to just block.slot_no % meta.slots_per_epoch

Thanks @disassembler. This meta column was added in https://github.com/input-output-hk/cardano-db-sync/commit/388226d64347322b5238473d09c203816b89786a, so support for this will require targeting a pre-release version of the dep


Update README.md

Corrected markdown name in example. The proper tag was
, not
.

Merged in v4.1.0


Don't actually start all of Teku in the BeaconNodeCommand unit tests

PR Description
Focus BeaconNodeCommand on just parsing the command line arguments and creating an ArtemisConfiguration instance.  Move actual startup to Artemis class so that tests can check config is parsed correctly without having to start a full artemis instance.

It works this way because of the PicoCli API - it is expecting to execute the command (ie run the program) not just parse the command line options.


Added alpha option for MCA row principal components plots

Added a small feature in the MCA  plot_coordinates function.
Now the alpha value of row principal components is a parameter instead of being hard coded at 0.6.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #80   +/-   ##
=======================================
  Coverage   98.97%   98.97%
=======================================
  Files          11       11
  Lines         486      486
=======================================
  Hits          481      481
  Misses          5        5

Impacted Files
Coverage Δ

prince/mca.py
100% <ø> (ø)
:arrow_up:

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 0e5b220...ea68855. Read the comment docs.

Anything else you'd like me to modify?

Looks good! Sorry I forgot about the issue.


perf(common): estimate hash key serialized sizes

Signed-off-by: Bugen Zhao<EMAIL_ADDRESS>hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
As explained in #9811.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation

[ ] My PR contains user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

Is there some perf improvement expected btw?

Is there some perf improvement expected btw? Since it's labelled perf.
Any bench results to share?

Yes. Here's the micro-benchmark results for KeySerialized.
vec ser 1024 rows, varchar KeySerialized, Pr[null]=0.01
                        time:   [93.552 µs 94.266 µs 95.078 µs]
                        change: [+2.5253% +3.3946% +4.2794%] (p = 0.00 < 0.05)
                        Performance has regressed.

Benchmarking vec ser 1024 rows, composite varchar KeySerialized, Pr[null]=0.01: Collecting 100 samples
vec ser 1024 rows, composite varchar KeySerialized, Pr[null]=0.01
                        time:   [134.40 µs 134.90 µs 135.47 µs]
                        change: [-0.5465% +0.6403% +1.6806%] (p = 0.28 > 0.05)
                        No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe

Benchmarking vec ser 1024 rows, mix fixed and not fixed, case 1 KeySerialized, Pr[null]=0.01: Warming u
Benchmarking vec ser 1024 rows, mix fixed and not fixed, case 1 KeySerialized, Pr[null]=0.01: Collectin
vec ser 1024 rows, mix fixed and not fixed, case 1 KeySerialized, Pr[null]=0.01
                        time:   [111.97 µs 112.46 µs 112.92 µs]
                        change: [-12.460% -11.413% -10.598%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) low mild
  1 (1.00%) high mild

Benchmarking vec ser 1024 rows, mix fixed and not fixed, case 2 KeySerialized, Pr[null]=0.01: Warming u
Benchmarking vec ser 1024 rows, mix fixed and not fixed, case 2 KeySerialized, Pr[null]=0.01: Collectin
vec ser 1024 rows, mix fixed and not fixed, case 2 KeySerialized, Pr[null]=0.01
                        time:   [110.08 µs 110.62 µs 111.15 µs]
                        change: [-11.678% -11.163% -10.657%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 23 outliers among 100 measurements (23.00%)
  8 (8.00%) low mild
  13 (13.00%) high mild
  2 (2.00%) high severe

Benchmarking vec ser 1024 rows, medium fixed KeySerialized, Pr[null]=0.01: Collecting 100 samples in es
vec ser 1024 rows, medium fixed KeySerialized, Pr[null]=0.01
                        time:   [114.87 µs 115.11 µs 115.35 µs]
                        change: [-12.255% -11.822% -11.375%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 6 outliers among 100 measurements (6.00%)
  3 (3.00%) high mild
  3 (3.00%) high severe

Benchmarking vec ser 1024 rows, medium mixed KeySerialized, Pr[null]=0.01: Collecting 100 samples in es
vec ser 1024 rows, medium mixed KeySerialized, Pr[null]=0.01
                        time:   [148.83 µs 149.24 µs 149.65 µs]
                        change: [-11.545% -11.007% -10.508%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe

Benchmarking vec ser 1024 rows, large fixed KeySerialized, Pr[null]=0.01: Collecting 100 samples in est
vec ser 1024 rows, large fixed KeySerialized, Pr[null]=0.01
                        time:   [165.05 µs 165.63 µs 166.19 µs]
                        change: [-12.326% -11.437% -10.647%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe

Benchmarking vec ser 1024 rows, large mixed KeySerialized, Pr[null]=0.01: Collecting 100 samples in est
vec ser 1024 rows, large mixed KeySerialized, Pr[null]=0.01
                        time:   [199.02 µs 199.37 µs 199.70 µs]
                        change: [-8.8517% -8.4510% -8.0364%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high severe

Benchmarking vec ser 1024 rows, unaligned small fixed KeySerialized, Pr[null]=0.01: Warming up for 3.00
Benchmarking vec ser 1024 rows, unaligned small fixed KeySerialized, Pr[null]=0.01: Collecting 100 samp
vec ser 1024 rows, unaligned small fixed KeySerialized, Pr[null]=0.01
                        time:   [98.638 µs 98.812 µs 98.992 µs]
                        change: [-12.895% -12.381% -11.930%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

Benchmarking vec ser 1024 rows, unaligned medium fixed KeySerialized, Pr[null]=0.01: Warming up for 3.0
Benchmarking vec ser 1024 rows, unaligned medium fixed KeySerialized, Pr[null]=0.01: Collecting 100 sam
vec ser 1024 rows, unaligned medium fixed KeySerialized, Pr[null]=0.01
                        time:   [124.82 µs 125.10 µs 125.39 µs]
                        change: [-14.104% -13.282% -12.592%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high mild

Benchmarking vec ser 1024 rows, unaligned large fixed KeySerialized, Pr[null]=0.01: Warming up for 3.00
Benchmarking vec ser 1024 rows, unaligned large fixed KeySerialized, Pr[null]=0.01: Collecting 100 samp
vec ser 1024 rows, unaligned large fixed KeySerialized, Pr[null]=0.01
                        time:   [175.57 µs 175.83 µs 176.08 µs]
                        change: [-7.5430% -6.9485% -6.3872%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 22 outliers among 100 measurements (22.00%)
  1 (1.00%) low severe
  11 (11.00%) low mild
  4 (4.00%) high mild
  6 (6.00%) high severe


Crashes with 0.98.2

Just tried it with the new release. Unfortunately the device crashes with
furi_check failed
as soon as you start a video.

I have just updated it with some fixes 10 hours ago, please try again. If still crashes, please download latest Unleashed firmware e version, and grab fap file from there.

I have just checked for Unleashed 071 version, works just fine

Great work, runs again without problems in 0.98.2, you rock!


Bootstrap is broken (looking for lib2to3 in the wrong places)

Problem
After https://github.com/project-chip/connectedhomeip/pull/19992 bootstrap is broken: it looks for lib2to3, but even installing it with pip3 install 2to3 does not help, because it looks for it in a (hardcoded) wrong place.
For now people are limping along by manually creating the wrong-place directory, but that's really not sane.
Proposed Solution
We need to either roll back #19992 or get this fixed ASAP on the pigweed side.
@woody-apple @andy31415 @mspang @rgoliver

Note that this is currently blocking me from doing some things, by the way, because I don't really want to mess with sudo and my system Python install to placate this broken script...

Hi i met the same problem and pull latest pigweed version does not help either


Not identify the area of the plate, which is the problem

Hi I try to include the image but does not identify the area of the plate.

Hello,
in situations like these, the report generator can often help. You can run it from the executable jar
java -jar javaanpr.jar -recognize -i path_to_your_image.jpg -o report_directory/ or mvn exec:java -Dexec.args="-recognize -i path_to_your_image.jpg -o report_directory/".
From the report

we can see that it (incorrectly) fixates on the brake lights, instead of on the plate in such a sunny and bright image. One solution is to crop them out (see image on the right). JavaANPR then detects the plate "TSZ452" with a correct syntax.xml setting, which is almost correct.
As to what you can do about it generally (without cropping) - you could try some pre-processing, for example lessening the brightness, normalizing the picture, etc... For example, using a threshold filter for brightness 250-255, I got the correct result: (not saying this is what you want to do in general, it depends on the camera, lighning, ...)

Also, I think the plate in the second image is just too small for detection.

Hi Oskoper thanks for  you answer , I try  to include  for   lessening the brightness  this code:
RescaleOp rescaleOp = new RescaleOp(1.2f, 15, null);
rescaleOp.filter( this.image,  this.image);
And this fine  is much better.
I probe  other picture and  the  I identify by T   and 9 for 2,  i think this is for alphabets how train the neural red with other alphabet ?
Or this is because   bad config the sintax.xml
I config this :

3 char and 3 number this is correct?

Thanks.

3 chars and 3 numbers seems ok, although there is no config in your comment.
As to the OCR not working, yes, you probably will have to train a new alphabet, because the current one (in src/main/resources/alphabets) is quite different (notably the 'I' and '9' characters).

Hi
the  config in the sintaxis.xml is:

How to train  the  a new alphabet ?  I need replace  the picture in  .\resources\alphabets\alphabet_10x16_bw\i_10x16_bw.jpg  ?

config  sintaxis.xml is:

Take a look at the bachelor thesis of the original author:
http://javaanpr.sourceforge.net/anpr.pdf
It should be enough to put them in a similar directory and normalize them
via -newalphabet.
See the -help flag.
Best regards,
Ondrej Skopek
On Wed, Dec 30, 2015 at 1:18 PM, walterog19<EMAIL_ADDRESS>wrote:

config sintaxis.xml is:
[image: sintasix]
https://cloud.githubusercontent.com/assets/16470085/12050598/8191b13a-aec5-11e5-864f-7baf0e7a4570.png
—
Reply to this email directly or view it on GitHub
https://github.com/oskopek/javaanpr/issues/22#issuecomment-167988860.

Closing as wontfix.

how to configure number of plates of india to recognize
<type name="india">
        <char content="abcdefghijklmno0pqrstuvwxyz"/>
        <char content="abcdefghijklmno0pqrstuvwxyz"/>
        <char content="abcdefghijklmno0pqrstuvwxyz"/>
        <char content="0123456789"/>
        <char content="0123456789"/>
        <char content="0123456789"/>
    </type>

added this in syntax.xml but not working

Please, do not cross post on old issues and into the mailing list - it won't help in getting your issue resolved quicker. Replied in #79.


Feature/test get rabbit message

Test creation: get_rabbit_message #254
also fixed the return in poseidonMonitor.py + double unpacking

Codecov Report

Merging #266 into master will increase coverage by 1.22%.
The diff coverage is 93.33%.

@@            Coverage Diff             @@
##           master     #266      +/-   ##
==========================================
+ Coverage   57.84%   59.07%   +1.22%
==========================================
  Files          22       22
  Lines         956      970      +14
  Branches       87       88       +1
==========================================
+ Hits          553      573      +20
+ Misses        396      387       -9
- Partials        7       10       +3

Impacted Files
Coverage Δ

poseidon/poseidonMonitor/test_poseidonMonitor.py
100% <100%> (ø)
:arrow_up:

poseidon/poseidonMonitor/poseidonMonitor.py
18.61% <66.66%> (+3.33%)
:arrow_up:

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 318500a...c9732b9. Read the comment docs.

@MShel conflicts need to be resolved before this can be merged.

please merge that on as the last one...

@d-grossman do you mind checking that this is in the intended return value you're expecting?

Hopefully I will check it out Monday or next week because of travel.

I think that it is functionally the same.


[FEATURE] create metrics module

Is your feature request related to a problem? Please describe.
I think users want some basic metrics w.r.t. annotators.
Describe the solution you'd like
Metrics for annotator suggestions vs responses
We should be able to get a single metric or a list of metrics for a question or a list of questions. Depending on the questions, we want to be able to compute different/relevant annotation metrics.

The LabelQuestion and MultiLabelQuestion are good to get started and should cover basic things like:

f1
accuracy
recall
precision
confusion matrix

RatingQuestion might be more difficult but is comparable to the LabelQuestions

a difference between max_rating and min_rating should be considered different from max_rating + 1

RankingQuestion needs to be discussed a bit more because we can have ties in the ranking etc. but can probably align with LabelQuestions
TextQuestion we want to compute text-based metrics like:

BLEU
ROUGE
edit distance like levensthein
also some LLM-specific metrics might have arisen (perhaps something with embeddings and textual entailment but we should not focus on this directly)

Metrics for unified responses and suggestions
We should also be able to do the same thing but instead of an annotator overview, we want to get a unified idea of the metrics, aligned with the unification metrics defined in the docs.

This works for the LabelQuestion and MultiLabelQuestion, RatingQuestion and RankingQuestion but this does not work for the TextQuestion because we cannot unify written texts. However, we can always unify responses using disagreement including each of the responses and average them out during the metric computation.

The code shown below might be easier than the current implementation.
rg.FeedbackDataset.unify_responses(
    "<question_name>",
     "<metric_name>",
)

we want to be able to get record about inter-annotator agreements
These can mostly be inspired from https://github.com/Toloka/crowd-kit.

LabelQuestion and RatingQuestion https://github.com/Toloka/crowd-kit#categorical-responses
MultiLabelQuestion https://github.com/Toloka/crowd-kit#multi-label-responses
RankingQuestion https://github.com/Toloka/crowd-kit#pairwise-comparisons
TextQuestion https://github.com/Toloka/crowd-kit#textual-responses

It could look something like this but is open to discussion.
Integrated in the FeedbackDataset
import argilla as rg

rg.FeedbackDataset.compute_metrics(
    "<question_name>",
     "<metric_name>",
)

As a separate module
from argilla.metrics import Metrics

Metrics(
    ds,
    "<question_name>",
    "<metric_name>",
)

Describe alternatives you've considered
N.A.
Additional context
N.A.

https://github.com/argilla-io/argilla/issues/2134

@dvsrepo did you have anything to add here?

Nothing else than the summary we prepared on Friday

Hi @frascuchon I was thinking on adding a separate module for the metrics as suggested by @davidberenstein1957 but it seems there is already an argilla.metrics module. Does it make sense to include these metrics there, or should we put them in a different place?

Hi @cceyda, we are hard at work on the metrics module but were hoping to limit additional external dependencies, like evaluate.  Feel free to have a look at this active PR here, feedback is very welcome :)

W.r.t. the UI and visual integrations, we expect to allow for some basic support for this but generally, these more advanced functionalities that are aimed at power users and larger scale companies will be part of Argilla cloud.

Closed per #4271


'ConvVAE' object has no attribute 'name'

I am trying to run examples/skewfit/sawyer_push.py but it's fatal with the following error.
Traceback (most recent call last):
  File "/home/hsbk/sawyer_code/rlkit/examples/skewfit/sawyer_push.py", line 158, in <module>
    num_gpu=1,
  File "/home/hsbk/sawyer_code/rlkit/rlkit/launchers/launcher_util.py", line 585, in run_experiment
    **run_experiment_kwargs
  File "/home/hsbk/sawyer_code/rlkit/rlkit/launchers/launcher_util.py", line 141, in run_experiment_here
    **setup_logger_kwargs
  File "/home/hsbk/sawyer_code/rlkit/rlkit/launchers/launcher_util.py", line 260, in setup_logger
    logger.log_variant(variant_log_path, variant)
  File "/home/hsbk/sawyer_code/rlkit/rlkit/core/logging.py", line 232, in log_variant
    json.dump(variant_data, f, indent=2, sort_keys=True, cls=MyEncoder)
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/json/__init__.py", line 179, in dump
    for chunk in iterable:
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/json/encoder.py", line 430, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
    yield from chunks
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
    yield from chunks
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/json/encoder.py", line 437, in _iterencode
    o = _default(o)
  File "/home/hsbk/sawyer_code/rlkit/rlkit/core/logging.py", line 55, in default
    '$function': o.__module__ + "." + o.__name__
  File "/home/hsbk/miniconda3/envs/rlkit/lib/python3.6/site-packages/torch/nn/modules/module.py", line 518, in __getattr__
    type(self).__name__, name))
AttributeError: 'ConvVAE' object has no attribute '__name__'

I am using the following dependencies
Package         Version     Location
boto3           1.9.246
botocore        1.12.246
certifi         2019.9.11
cffi            1.12.3
cloudpickle     1.2.2
cycler          0.10.0
Cython          0.29.13
docutils        0.15.2
future          0.18.0
glfw            1.8.3
gtimer          1.0.0b5
gym             0.15.3
imageio         2.6.1
jmespath        0.9.4
joblib          0.9.4
lockfile        0.12.2
Mako            1.0.6
MarkupSafe      1.1.1
matplotlib      2.0.2
mkl-fft         1.0.14
mkl-random      1.1.0
mkl-service     2.3.0
mujoco-py       <IP_ADDRESS>
multiworld      0.0.0       /home/hsbk/sawyer_code/multiworld
numpy           1.17.2
olefile         0.46
opencv-python   <IP_ADDRESS>
Pillow          6.2.0
pip             19.2.3
pycparser       2.19
pygame          1.9.6
pyglet          1.3.2
pyparsing       2.4.2
python-dateutil 2.8.0
pytz            2019.3
rlkit           0.2.1.dev0  /home/hsbk/sawyer_code/rlkit
s3transfer      0.2.1
scikit-video    1.1.11
scipy           1.3.1
setuptools      41.4.0
six             1.12.0
torch           0.4.1.post2
torchvision     0.2.1
urllib3         1.25.6
wheel           0.33.6

Could you guide me to fix it?

I am getting  the same error and was just about to open an issue.

I am getting the same error and was just about to open an issue.

I am getting the same error and was just about to open an issue.

did you fix it?


"WARN: Your browser does not support the html5 File API"

Hi there!
I am developing an ionic app and mentioned that in my firefox (developer edition) i get this error: "WARN: Your browser does not support the html5 File API".
The images are not displayed.
Any ideas how to fix that?

Happens the same in Safari. My guess is that it's trying to use the Filesystem & FileWriter API which is only supported by chrome http://caniuse.com/#feat=filesystem
No ideia on how to fix it. Decided to implement my own basic solution, storing the base64 of the images on local storage.

imgcache.js is essentially useless for every browser besides Chrome and iOS/Android shimmed with Cordova. Ideally, if there is no FileSystem support, this directive should just display the image using the original URL. The service can do this (see https://github.com/chrisben/imgcache.js#high-level-api), but the directives apparently do not.
@jBenes would you merge a PR with this fallback logic in place?
Or does it make more sense to create the logic externally and have a conditional ng-if on eveywhere img-cache is used?


I am learning your success, thank you for your team, I have a few questions to ask you, I hope you can take time to reply, thank you very much!

Q1 : What does conv4_3_feats regularize by multiplying rescale_factors (20)?

Q2 : Can you provide data interface for LLVIP?
Thank you for your reply！

Hi, @aitangbodan.
Thank you for your interest and kind words.
Q1. We adopt SSD (Single-Shot MultiBox Detector) as a base architecture. In SSD, since lower-level feature map (conv4_3_feats) have considerably larger scales, take the L2 norm for rescaling. The rescale factor is initially set to 20.
Q2. Can you tell us more about the meaning of "data inference"? Do you mean the inference step? or does it mean setting up the data? If the former, the code used for inference is largely consistent with the setup at KAIST.


highpassfilter to delay

would be good to have a highpass filter on delay

You mean low pass filter, right? To make high pitch sounds decay away faster than low pitch sounds? It already has this low-pass filter: it is the damp parameter. 0 = no filtering, 128 = nothing gets through even in the first echo.
If you actually meant high pass filter, what's the audio use case?
It's possible to hack one together from the current units: make a full wet delay with no feedback, highpass filter it, send it to a receive unit earlier, add to the dry signal & feedback to the delay.
WIth these thoughts, do you still think we need one?

@vsariola  usecase for HP is, as always, get rid of low frequencies like <130hz which muddy up the sound.

What's wrong with adding a high pass filter just before the delay / reverb? The general idea in Sointu is that units are limited in their functionality, and it's more like a modular synthesizer where you build the patch just the way you like it. This is also to keep the code size down: the small units are highly reusable and can be implemented with only a few bytes of assembly.

understood, closing


Visitors from visitor-plugin-common incompatible with Visitor from graphql

The second parameter of VisitFn can be undefined (see TS and Flow declarations), but visitors in visitor-plugin-common declare key as number | string only.
If you try to use some of these visitors in a project with "strictNullChecks": true (or "strict": true) configuration, it will results in errors like this one:
TS2345: Argument of type '{ leave: MyVisitor<{}, ParsedTypesConfig>; }' is not assignable to parameter of type 'Visitor<ASTKindToNode, ASTNode>'.
  Type '{ leave: MyVisitor<{}, ParsedTypesConfig>; }' is not assignable to type 'EnterLeave<VisitFn<ASTNode, ASTNode> | { Name?: VisitFn<ASTNode, NameNode> | undefined; Document?: VisitFn<ASTNode, DocumentNode> | undefined; OperationDefinition?: VisitFn<ASTNode, OperationDefinitionNode> | undefined; ... 39 more ...; InputObjectTypeExtension?: VisitFn<...> | undefined; }>'.
    Types of property 'leave' are incompatible.
      Type 'MyVisitor<{}, ParsedTypesConfig>' is not assignable to type 'VisitFn<ASTNode, ASTNode> | { Name?: VisitFn<ASTNode, NameNode> | undefined; Document?: VisitFn<ASTNode, DocumentNode> | undefined; OperationDefinition?: VisitFn<ASTNode, OperationDefinitionNode> | undefined; ... 39 more ...; InputObjectTypeExtension?: VisitFn<...> | undefined; } | undefined'.
        Type 'MyVisitor<{}, ParsedTypesConfig>' is not assignable to type '{ Name?: VisitFn<ASTNode, NameNode> | undefined; Document?: VisitFn<ASTNode, DocumentNode> | undefined; OperationDefinition?: VisitFn<ASTNode, OperationDefinitionNode> | undefined; ... 39 more ...; InputObjectTypeExtension?: VisitFn<...> | undefined; }'.
          Types of property 'ObjectTypeDefinition' are incompatible.
            Type '(node: ObjectTypeDefinitionNode, key: string | number, parent: any) => string' is not assignable to type 'VisitFn<ASTNode, ObjectTypeDefinitionNode>'.
              Types of parameters 'key' and 'key' are incompatible.
                Type 'string | number | undefined' is not assignable to type 'string | number'.
                  Type 'undefined' is not assignable to type 'string | number'.

Exported types should be compatible with graphql package so they can be really reused in other projects.
Also, I think visitor-plugin-common and possibly other (plugin-helpers, ?) packages, which are meant for writing custom extensions, should have "strict": true option to prevent incompatibilities like this one.

Fixed in: https://github.com/dotansimha/graphql-code-generator/pull/2266

Fixed in 1.5.0 🎉


Can't drag in Chrome 37 in Win8.1

Can't drag the panel in Chrome 37 in Win8.1

I see the same issue in Win8.1 and Chrome 3.0.2357.130 m

Okay this is weird.  I just started testing Freeboard yesterday.  Everything was fine, I could drag widgets.  Today I cannot.  In both Chrome 43.0.2357.132 m and Version 46.0.2455.0 canary (64-bit)

Are there any javascript console errors or messages?

On Jul 15, 2015, at 8:33 AM, Scott Beeson<EMAIL_ADDRESS>wrote:
Okay this is weird. I just started testing Freeboard yesterday. Everything was fine, I could drag widgets. Today I cannot. In both Chrome 43.0.2357.132 m and Version 46.0.2455.0 canary (64-bit)
—
Reply to this email directly or view it on GitHub https://github.com/Freeboard/freeboard/issues/60#issuecomment-121618310.

I see the same issue with dragging in chrome 44.0.2403.130 m on win7 64bit; there are no errors in console.
FF changes li class when widget window is dragged:

In chrome the class does not change from "gs_w".

I looks like it's an issue with jquery.gridster library. Freeboard uses old version (v0.1) where similar problem was reported (https://github.com/ducksboard/gridster.js/issues/207). There is a fix in gridster v5.2 however upgrading gridster in freeboard requires refactoring.
A workaround for dragging issue in Chrome is to apply changes from commit https://github.com/ducksboard/gridster.js/commit/021a6c23e851210c1b817bd353a1e5e19ce10b90 to lib/js/thirdparty/jquery.gridster.js


Add i18n and l10n for driver and SQL editor result set filter panel

Only add i18n and l10n for driver and SQL editor result set filter panel（files changed are clear this time）.
Note: I removed unused imports from ResultSetFilterPanel.java .

Looks good.
Thanks!


MWS Stellar Distances VAC Review (DR1)

Contact Person: Wenting Wang / Songting Li
1 catalog file (fits), 5 catalog files (csv), 1 catalog file (npy?), 1 README, 1 jupyter notebook
Initial Checks:

[x] Includes README
[ ] Columns in ALLCAPS
[ ] Extension names in ALLCAPS
[ ] Files include units

Initial Notes (iron-yr1-v1.0.fits):

Please include an extensinon name in the fits file, so that the HDU can be accessed by name instead of index
Some column names are not in ALLCAPS, please update these to be ALLCAPS for consistency and ease of use

Initial notes (external_dist/*.csv):

Please update column names to be in ALLCAPS, if possible

Initial notes (dustapprox-main/*.csv):

Please update column names to be in ALLCAPS, if possible
There's an .ipynb_checkpoints folder in this directory that looks like it got overlooked, can you please remove it?

Initial notes (mask.npy):

We prefer not to release files in unusual or language specific file formats like .npy files. Is there any other file format that would be amenable to the data in this file? e.g. a csv file, an hdf5 archive, or a json dump?

Initial notes (quick_start.ipynb):

This notebook is looking good, but many of the file path references are to private locations (e.g. Songting's private cfs, the current draft directory of the VAC instead of the later public directory). Where possible can you please update these to be to public locations? If there are some that cannot be updated to refer to public locations, then we will have to remove those cells. The reason for this is that on principle we want any released jupyter notebooks to be runnable by the public end user who may download the VAC.

Some other notes:

The file gaia_reddening_law.py is not mentioned in the README, is this file intended to be released as part of the VAC? If so, please include it in the README
When possible, please update the README to have a data model for all data files (if some files share the same data model, it is ok to only include it once in the README, but it is still necessary to have a data model represented for every file)
When you get a chance, please send a paragraph or two summary of the VAC to include in the DR1 paper.

A new version of the SpecDis VAC catalog is at: /global/cfs/cdirs/desicollab/science/mws/value_added/distances/spectro_dist/v2.0 , with the above improvements incorporated.


Intenal cache increases with dynamic html content

Hi there, first of all, thanks for this amazing module I used long time ago.
I found something that may be is happening to other developers.
I use Mustache.render and Mustache.parse, and in my production enviroment (www.hubdelibros.com), I found an important memory leak. After investigating, I found the problem was in Mustache internal cache (this.templateCache). That cache uses the template as a key.
But.... in my system, many templates are dinamically generated with forms elements which Ids are UUIDS, so, 1000 requests generate 1000 different html content (different ids in some elements). Due to this, Mustache internal cache increases ad infinitum.
I solved this calling Mustacle.clearCache() in every request.
Is there a better way to disable that internal cache?
Thanks in advance.

Hi @gomezbl!
Thanks for reporting 👍 Our template cache surely has its limitations, which is why we quite recently made sure it can easily be customized.
And guess what, you're in luck, as one of the things we aimed for was being able to completely disable the cache completely 😸
Have a look at v4.0.0 changelog and shout if that doesn't cover your needs: CHANGELOG/v4.0.0.

Ok, thanks a lot.


Users: update Harmonic logo

Harmonic has a new logo:

Licensing: MIT
Brand Guidelines: Feel free to resize. Don't change the aspect ratio, don't change colors, don't add/remove/modify visual elements, don't crop.
Logo: https://cdn.rawgit.com/es6rocks/harmonic/e391ae462f3b047848f1783315de9edab019e197/harmonic-logo.svg

The project name and URL have not changed.

Should I just send a PR instead?

Oh sorry, I'll do that now

There we are. Sorry I missed this one.

No problem, thanks! :smile:


feat: add subreddits to meme command

no longer posting from 1 subreddit

Thank you for your interest for Remix Bot,
has been added [ 'dankmemes', 'memes', 'HolUp', 'BlackPeopleTwitter', 'comedyhomicide', 'SpecialSnowflake' ]


test action

do not comment. It's used for action test.

recheck

recheck

recheck

recheck

recheck

recheck

recheck

recheck

recheck

recheck


Replace assert_eq! with similar_asserts::assert_eq!

Motivation
similar_asserts::assert_eq! highlights the exact differences between test subjects
Closes #1362

Solution
Replace assert_eq! with similar_asserts::assert_eq! on the "other" component

PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

we def also want this in more tests in the rpc crates

Sure will do that > we def also want this in more tests in the rpc crates

resolved https://github.com/alloy-rs/alloy/pull/1433#discussion_r1788825627


[3.x] Enable zooming in graph_edit with Ctrl + scrollwheel + relevant cherry-picks

cherry-picks of:
#47657
#47156
#46441
#40128
#40112

Thanks!

I prefer not to cherry-pick for 3.3 at this stage.


Use an actual logger

The code saves the log in a file by using plain file open/close for every image downloaded. It can use a real logger for python.

we want to keep the search keyword and the online_chip ( #1) in the log ... as meta data.

we want to keep the search keyword and the online_chip ( #1) in the log ... as meta data.


MINOR: Update Kafka configuration documentation to use kafka-configs.…

…sh, instead of deprecated kafka-topics.sh --alter

@gwenshap would you be able to take a look at this trivial doc improvement.

LGTM. Thank you for contributing.


Created a more concise updated files log

As per issue #95, the init script called after running npm i now shows the output in a concise way.
The major changes made are:

Auto-suggested a library name based on the project root directory (if not typescript-library-starter)
Grouped the output and added relevant colours to it
Rearranged script code flow

Please see the image below for a preview of how it now looks:

Coverage remained the same at 100.0% when pulling b800324609c7e94e433b0495a73dc6b7c68bdfe4 on stuajnht:issue95 into 0b34675414403971143655c6cde094baff5fe269 on alexjoverm:master.


Add codecov to both Paloma and Sparrow

Background
Add support for Paloma and Sparrow so that we can track the coverage.
Done when

[ ] codecov is set for paloma
[ ] codecov is set for sparrow

We forgot to add codecov.

Closing to focus on core functionality.


sudo howdy test give me error

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id:  0x3200010

Try adding
QT_X11_NO_MITSHM=1

to /etc/environment (sudo nano /etc/environment)

Did this one work too?

yes, i was an qt error, i google it and i solved, thanks.


Optional Show/Hide Column Headers

Some people are not a fan of the background images and would rather see column headers.

:+1:

Seriously? Why does everybody hate my background icons? =_=

I don't know about anyone else, but I find that they're distracting and make the text harder to read.

That's the same thing other people have said, yes. For my eyes, though, it's perfect. :P

Done. People are able to show column names and hide the background graphics if they so choose. The column headers are currently available in English, German, and 日本語. I should ask a native Japanese speaker to confirm my horrible translations, as they're all in Katakana ...
Closing ticket either way.


Cache result of pnpm -r compile across build steps

Right now, we re-build the JavaScript code when building the JS packages and also when publishing to NPM. We should find a way to reuse the built output.

Would love to work on this, just one thing...
According to documentation  "By default, GitHub Actions allows multiple jobs within the same workflow, ..., to run concurrently.". Considering this, there is an option to store the build as artifact as you mentioned it, or using caching. But in my opinion both approaches are not a great fit for this case, as build phase I believe should change frequently and there is no point on caching it, and also we don't need the build files after the workflow runs, so also this beats the purpose of using artifacts feature of GitHub actions.
I just wanted to ask, did you find any issue with the current implementation, like degraded performance of the run, or you just don't like it as it it because of its repetitiveness?


collect_derivatives uses incorrect "from" entity while searching for pre-calculated boldref -> fmap coregistrations (orig vs boldref)

What happened?
fMRIPrep generates rigid xfms between the boldref and the fieldmap that have names like sub-{subject}_ses-{session}_task-{task}_run-{run}_from-boldref_to-{fieldmap_id}_mode-image_xfm.txt.
I am trying to supply precalculated xfms with the --derivatives flag, but it doesn't seem like they are being picked up.
  For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#socks-proxies
<EMAIL_ADDRESS>(node:10) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
	1: [WARN] The recommended file /README is very small. Please consider expanding it with additional information about the dataset. (code: 213 - README_FILE_SMALL)
		./README

	Please visit https://neurostars.org/search?q=README_FILE_SMALL for existing conversations about this issue.

        Summary:                  Available Tasks:                     Available Modalities:
        24 Files, 771.34MB        cuff                                 MRI
        1 - Subject               rest
        1 - Session               TODO: full task name for cuff
                                  TODO: full task name for rest

	If you have any questions, please post on https://neurostars.org/tags/bids.
2024-09-27 22:38:57,903 [ WARNING] WARNING: SOCKS support in urllib3 requires the installation of optional dependencies: specifically, PySocks.  For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#socks-proxies
2024-09-27 22:38:58,126 [ WARNING] WARNING: Niworkflows will be deprecating reporting in favor of a standalone library "nireports".
2024-09-27 22:38:58,251 [ WARNING] WARNING: Niworkflows will be deprecating visualizations in favor of a standalone library "nireports".
240927-22:38:59,171 nipype.workflow IMPORTANT:
	 Running fMRIPrep version 24.1.0
[...]

What version of fMRIPrep are you running?
24.1.0
How are you running fMRIPrep?
Docker
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
FreeSurfer
Please copy and paste any relevant log output.
240927-22:38:59,200 nipype.workflow IMPORTANT:
	 Building fMRIPrep's workflow:
           * BIDS dataset path: /Users/psadil/Desktop/nstravel2/rawdata.
           * Participant list: ['travel2'].
           * Run identifier: 20240927-223847_deb204bf-a439-41a5-a8ed-4dda4f38d9b8.
           * Output spaces: MNI152NLin2009cAsym:res-native.
           * Searching for derivatives: [PosixPath('/Users/psadil/Desktop/nstravel2/sourcedata/boldref2fmap')].
           * Pre-run FreeSurfer's SUBJECTS_DIR: /Users/psadil/Desktop/nstravel2/derivatives2/fmriprep/sourcedata/freesurfer.
2024-09-27 22:38:59,200 [IMPORTANT] Building fMRIPrep's workflow:
           * BIDS dataset path: /Users/psadil/Desktop/nstravel2/rawdata.
           * Participant list: ['travel2'].
           * Run identifier: 20240927-223847_deb204bf-a439-41a5-a8ed-4dda4f38d9b8.
           * Output spaces: MNI152NLin2009cAsym:res-native.
           * Searching for derivatives: [PosixPath('/Users/psadil/Desktop/nstravel2/sourcedata/boldref2fmap')].
           * Pre-run FreeSurfer's SUBJECTS_DIR: /Users/psadil/Desktop/nstravel2/derivatives2/fmriprep/sourcedata/freesurfer.

Additional information / screenshots
I guess the issue is that the searched for pattern uses "from": "orig",?
As in, below, I would have expected "boldref" to work but not "orig"
from pathlib import Path
from fmriprep.utils import bids
import tempfile
import json

entities = {"subject": "0", "task": "rest"}

for from_id in ["boldref", "orig"]:
    with tempfile.TemporaryDirectory() as tmpd_:
        tmpd = Path(tmpd_) / "boldref2fmap"
        funcd = tmpd / f"sub-{entities['subject']}" / "func"
        funcd.mkdir(parents=True)
        stem = f"sub-{entities['subject']}_task-{entities['task']}_from-{from_id}_to-auto00000_mode-image_xfm"
        (funcd / f"{stem}").with_suffix(".txt").write_text("placeholder")
        (funcd / f"{stem}").with_suffix(".json").write_text(
            json.dumps(entities)
        )
        derivs = bids.collect_derivatives(
            derivatives_dir=tmpd,
            entities=entities,
            fieldmap_id=None,
        )
        print(f"looking for from-{from_id}")
        print(derivs)

looking for from-boldref
defaultdict(<class 'list'>, {})
looking for from-orig
defaultdict(<class 'list'>, {'boldref2fmap': '/var/folders/v_/kcpb096s1m3_37ctfd2sp2xm0000gn/T/tmp58nmly9z/boldref2fmap/sub-0/func/sub-0_task-rest_from-orig_to-auto00000_mode-image_xfm.txt'})

FWIW, I'm trying to supply these xfms as a way to troubleshoot the issue described here: https://neurostars.org/t/poor-fieldmap-functional-registration-in-fmriprep-highly-variable-step/30397, which I mention shamelessly to get more eyes on it ;)

Unless, perhaps that field aims to pick up a different transformation -- not the boldref-auto##### generated during typical use of pepolar with fmriprep?

Yes, I think you're right. And I think the boldref2anat also needs to be updated.

Would you mind opening a PR against the maint/24.1.x branch?

Yes, can do. Just to make sure I understand how this is supposed to work, is the idea that when I run a command like
fmriprep --derivatives boldref2fmap=sourcedata/boldref2fmap [...] "${INPUT}" "${OUTPUT}" participant

where sourcedata/boldref2fmap looks like
sourcedata
└── boldref2fmap
   └── sub-travel2
      └── ses-NS
         └── func
            ├── sub-travel2_ses-NS_task-rest_run-01_from-boldref_to-auto00000_mode-image_xfm.json
            └── sub-travel2_ses-NS_task-rest_run-01_from-boldref_to-auto00000_mode-image_xfm.txt

then that xfm and json will be copied into ${OUTPUT} and used by the relevant nodes?

Not necessarily that it will be copied into the output, but that its generation will be skipped. I do not think we are 100% consistent on whether a precomputed file will be copied to output or not.

I think there might be a couple of other issues

init_bold_fit_wf expects the precomputed files to be underneath a key "transforms" https://github.com/nipreps/fmriprep/blob/73189de5ee576ffc73ab432b7419304d44ce5776/fmriprep/workflows/bold/fit.py#L249-L252 but collect_derivatives puts them at the top level (e.g., underneath a field called "boldref2fmap": https://github.com/nipreps/fmriprep/blob/73189de5ee576ffc73ab432b7419304d44ce5776/fmriprep/utils/bids.py#L78)
The query for precomputed transforms does not include the entities of the relevant image (**q vs **query)https://github.com/nipreps/fmriprep/blob/73189de5ee576ffc73ab432b7419304d44ce5776/fmriprep/utils/bids.py#L71-L75, and so all xfms are associated with each input bold

Should I break those into separate issues and pull requests, or just do them together?

Feel free to fix together.


Page 4, part 3, 3-5 not populating

This is on the I-765
Applicant's contact information
Telephone/mobile/email address.

from 'email_address' to 'email'


:+1: Gracefully terminate worker

When the cli process traps SIGINT, it will do the following:

Close the port listen.
Perform termination processing in each worker.
Terminate the cli process after all workers have terminated.
(Previously: All workers and the cli process terminated immediately.)

When the connection is disconnected, it will do the following:

Perform termination processing in the worker.
Wait for the worker to terminate. If the timeout expires, it will terminate the worker.
(Previously: Terminate the worker immediately.)

This PR alone does not include any new features. This is because the termination processing of the worker has not been implemented.
This will allow we to implement the termination processing of the worker.

@coderabbitai review


WIP: New writing routine for Parcels

The new writing routine for Parcels, ParticleFile.wirte(), writes one tempory output file each time step using the method np.save() that saves data to a binary pickle format. After the simulation is done, the temporary output files are converted to the output NetCDF file by calling the method ParticleFile.convert_npy() upon deletion of the ParticleFile instance (ParticleFile.del()). The conversion is done by first loading the temporary files into the memory with np.load() and writing them afterward into the ParticleFile.dataset instance.
A fast solution to not exceed the free memory of a system:
I included an option to use batch processing in the ParticleFile.conver_npy() method that will automatically adjust the batch size such that the free memory of the system should not be exceeded and throw a MemoryError if even one output file is larger than the free Memory. For this, the package psutil is used.

PR has been cleaned up and progressed in #497