Fine-tuning export of recalcitrant ORCID

Dear @MrPike, thank you for this tool! I wonder when ORCID will make BibTex downloads available to everyone. They definitely have the capacity but not the interest.
Fine-tuning the export:
@GrazingScientist detected a recalcitrant ID which is not producing the expected result:
https://orcid.org/0000-0003-3466-5038
Could this be fixed?

What @Archilegt is referencing, is that the returned list only contains 1 BibTeX entry, although the publication list of the referenced ORCID member is by far longer. We have expected that the script would return all publications.
However, it seems that due to filtering for "bibtex" formatted citations many publications are sorted out.
Do you have an idea why ORCID is not returning proper data?

Thanks @Archilegt and @GrazingScientist for raising this. I'm sorry, but I'm currently very busy. I will try to find time to look into this issue over the weekend.
One suspicion I have is that items are being filtered out because they are missing required attributes (on ORCID) in order to be valid BibTeX. This could be why ORCID is not returning BibTeX for these entries: it can't make valid BibTeX with the details provided. It's just a thought, I haven't investigated yet.

I had a chance to look at the responses we're getting from ORCID for the "recalcitrant ID" mentioned here. I can confirm that ORCID is not returning the expected “bibtex” citation-type, instead returning “formatted-unspecified”. What's strange is that, in most cases, the fields needed to make a BibTeX entry are in the JSON that is returned, but BibTeX is not being returned.
I've introduced additional safeguards with abcad98 to ensure that the tool runs without error when encountering these unexpected citation-types.
It is possible that in the future, orcid-to-bibtex will be able to generate BibTeX entries from the available information. Before I add this, I would like to better understand how widespread this issue is. You are welcome to report your experience of this issue, via this thread.

Thank you for your feedback, @MrPike . @Archilegt is more in need of this tool, so he could give more insights.

This issue may have been addressed in the most recent commit - assuming the entry has a DOI specified. Closing this issue for now, but happy to revisit if there's room for improving support for this.


crd-install apiextensions.k8s.io/v1 does not work

After upgrade to 2.16.1 bug is still here :(
Helm version: 2.16.1
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}

Kubernetes version: 1.16.2
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:18:23Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:09:08Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes distribution: Canonical Microk8s
I've tried to deploy CRD with new apiextensions.k8s.io/v1 API but once I add "helm.sh/hook": crd-install installation failed with error "unable to convert to CRD type...".
Error: unable to convert to CRD type: no kind "CustomResourceDefinition" is registered for version "apiextensions.k8s.io/v1" in scheme "k8s.io/client-go/kubernetes/scheme/register.go:67"

Actually, CRD got installed but there is no helm release.

I'm hitting this too. What can I do to help get this fixed?

It's likely that the new CRD api needs to be registered with the schema like we had to with the apiextensions.k8s.io/v1beta1 API.
https://github.com/helm/helm/blob/0ca95341c19fcaf9cecdf50caef1693568835a84/pkg/kube/client.go#L84-L87

slating for Helm 3.1.0 because this issue appears to be present there as well.


Z-index

I do have problems with the z-index. A panel is shown behind other screen elements. Any idea how to fix this?

That's a issue of the bootstrap-tour library itself, you can use the backdropContainer option: http://bootstraptour.com/api/


如何动态去设置temperature，top_p和repeat_penalty

如何动态去设置temperature，top_p和repeat_penalty等参数，就是每次生成结果的时候，可以动态去调整这些参数的值
model = Llama(model_path="./llama-ggml-q4_0.bin")
result = model(input, max_tokens=max_tokens, stop=[], echo=True, temperature=temperature, top_p=top_p, top_k=top_k, repeat_penalty=repeat_penalty, stream=stream)
这样用的话，会显示result是 'generator' object，正常生成的应该是一个字典

Hi @yuxuan2015 one approach is to generate a single token at a time using max_tokens and changing the temperature with each (you'll need to concatenate the new tokens to your prompt). The new changes to the Llama class allow it to pick up where it left off so it shouldn't be very inefficient.


System.Drawing.Common is targeted at Windows only

This is related to forward support for .net 6 as added in #636.
The issue is that System.Drawing.Common isn't fully cross platform supported so while it won't break on every system its not stable for all use-cases.  The issue is described by Microsoft here
This issue doesn't really present within the .net 5 ecosystem but will likely cause issues going forward.  Microsoft recommends the following alternatives.

ImageSharp
SkiaSharp
Microsoft.Maui.Graphics

We need to use one of these repos or a suitable equivalent as appropriate and update usages within NativeImage.cs as appropriate.
Feedback on replacements welcome.

I spent a bit of time looking into this and it appears that ImageSharp doesn't support bitmaps. Maui is in prerelease and doesn't really have any documentation. SkiaSharp seems pretty good but it won't be a drop in replacement and will break compatibility.

Maui has been prerelease for 10 years and still gets regularly updated.  According to the Maui docs it's used internally in MS many places.  I think I would be ok with it.

PBM is a very special and rare format being implemented as a community contribution in the mentioned PR. Otherwise, ImageSharp is pretty much feature feature complete and stable.
The optimal choice depends on the services implemented by the NativeImage infrastructure. To me it looks like it mostly deals with encoding/decoding, offscreen resize/crop, serialization/deserialization (for clipboard services?). ImageSharp is good and performant at those things when targeting Desktop platforms powered by coreclr. I can help with potential adaption.


Battery protection

If your car battery voltage is lower than 0% switch off charging to stop the Eon from damaging the 12v car battery. Leaving you with a car that can not start but has a fully charged eon ;-)
Choose one of the templates below:
Fingerprint
This pull requests adds a fingerprint for <Make - Model - Year - Trim>.
This is an explorer link to a drive with the stock system enabled: ...
Car support
This pull requests adds support for <Make - Model - Year - Trim>.
This is an explorer link to a drive with the stock system enabled: ...
This is an explorer link to a drive with openpilot system enabled: ...
Feature
This pull requests adds feature X
Description
Explain what the feature does
Testing
Explain how the feature was tested. Either by the added unit tests, or what tests were performed while driving.

Assuming "10500" is 10.5V, I'd actually feel better if it was a higher value like 11000.

@ErichMoraga The voltage does fluctuate a bit. having it at 11000 will also trip it when the car is switched off. Especially if your battery is not fully charged.

I tested it at 11200 and that was not so nice to have the eon off but the car still able to start. But from the graph above I should only have had 10% or less in my auxilary battery. I would be all for a warning at 11500 but definitely cut the power only if really needed.

Maybe another question. The measured voltage is that through the comma power cable? I assume there must be some voltage loss through the cable that could be accounted for. How many cables are being used for the power transmition?

I'd think the measured voltage is whatever eventually hits the Panda.  Observed voltage will vary around the car.  That said, I will test this out with it set to 13V so it only charges the EON when my alternator/generator is running.  In the Prius Prime, it actually doesn't always run when the car is on... something I monitor using various gauges.  Anyway, I really prefer not to charge external devices when the car is off.

I support this conservative threshold.

For smoothing, on could use high/low hysterisis as seen in thermald.py for the temperature thresholds that trigger different fan speeds.

It is not hysterisis it is more a pulsing of current. That makes the voltage drop and rise. From my measurements between 0.5V and 1V we could also average the max and min values over the last second or two? But as it is now it is working. Any current draw that would cause the battery voltage to drop below the critical voltage will switch off the charging

Since were talking about refining the last sentence, how about dodging it to...
"Start vehicle to resume charging."

I support this conservative threshold. Not sure if we need some smoothing on that input signal to prevent false positives.

Yes. It's completely normal to have quick hits of higher battery load and thus lower Vbatt. For example, it'll happen directly after shutdown (although less so with battery surface charge) and definitely right after opening the car. Or, interactions with Telematics services will wake things up. Instantaneous battery state can't really be relied on.
As an example, if you come back to the car 10 minutes after parking it because you forgot something, unlocking it turns on a lot of external lights, and opening the door typically turns on a bunch of internal lights, the instrument cluster and infotainment system, blips the in-tank fuel pump to prime fuel pressure for starting, etc etc. It's totally normal to see a large Vbatt dip here, and for it to return to near-resting levels after you've locked things back up and the car's electronics have gone back to sleep.
EON can and should recover from these situations like this, and with the proper code, we could set a much higher and safer resting-state Vbatt cutoff while auto-recovering from temporary dips. Some pseudo-code:
VBATT_START_CHARGING = 12.0
VBATT_PAUSE_CHARGING = 11.8

if ignition or (Vbatt > VBATT_START_CHARGING for 60 seconds):
  enable charging if disabled
else if Vbatt < VBATT_PAUSE_CHARGING for 60 seconds:
  disable charging if enabled

I am not married to those particular VBATT_START_CHARGING and VBATT_PAUSE_CHARGING values, except to say we can set them relatively high with this design, and they just need enough spread between them to control hysteresis when EON adds its ~11W (5V/2.2A, 12V/0.9A) of load.

@jyoung8607 We're on the same wavelength.

ok, let's implement a non-temporal hysteresis, while still being very conservative (at least for now). This is what I propose
diff --git a/selfdrive/boardd/boardd.cc b/selfdrive/boardd/boardd.cc
index 96d57b1da..fa8073985 100644
--- a/selfdrive/boardd/boardd.cc
+++ b/selfdrive/boardd/boardd.cc
@@ -62,6 +62,8 @@ bool loopback_can = false;
 cereal::HealthData::HwType hw_type = cereal::HealthData::HwType::UNKNOWN;
 bool is_pigeon = false;
 const uint32_t NO_IGNITION_CNT_MAX = 2 * 60 * 60 * 30;  // turn off charge after 30 hrs
+const uint32_t VBATT_START_CHARGING = 11000;
+const uint32_t VBATT_PAUSE_CHARGING = 10500;
 uint32_t no_ignition_cnt = 0;
 bool connected_once = false;
 bool ignition_last = false;
@@ -368,12 +370,20 @@ void can_health(PubSocket *publisher) {
   }

 #ifndef __x86_64__
-  if ((no_ignition_cnt > NO_IGNITION_CNT_MAX) && (health.usb_power_mode == (uint8_t)(cereal::HealthData::UsbPowerMode::CDP))) {
+  bool cdp_mode = health.usb_power_mode == (uint8_t)(cereal::HealthData::UsbPowerMode::CDP);
+  bool no_ignition_exp = no_ignition_cnt > NO_IGNITION_CNT_MAX;
+  if ((no_ignition_exp || (health.voltage <  VBATT_PAUSE_CHARGING)) && cdp_mode && !ignition) {
     printf("TURN OFF CHARGING!\n");
     pthread_mutex_lock(&usb_lock);
     libusb_control_transfer(dev_handle, 0xc0, 0xe6, (uint16_t)(cereal::HealthData::UsbPowerMode::CLIENT), 0, NULL, 0, TIMEOUT);
     pthread_mutex_unlock(&usb_lock);
   }
+  if (!no_ignition_exp && (health.voltage >  VBATT_START_CHARGING) && !cdp_mode) {
+     printf("TURN ON CHARGING!\n");
+     pthread_mutex_lock(&usb_lock);
+     libusb_control_transfer(dev_handle, 0xc0, 0xe6, (uint16_t)(cereal::HealthData::UsbPowerMode::CDP), 0, NULL, 0, TIMEOUT);
+     pthread_mutex_unlock(&usb_lock);
+  }
   // set power save state enabled when car is off and viceversa when it's on
   if (ignition && (health.power_save_enabled == 1)) {
     pthread_mutex_lock(&usb_lock);

@arne182 et al.,  what do you think? Due to conflicts, the diff might not be applied directly, but you get the sense.

@arne182 et al., what do you think? Due to conflicts, the diff might not be applied directly, but you get the sense.

If I'm reading this correctly, the logic is sound. And it's okay if you want to skip the temporal component for now. But I don't think those proposed thresholds are good.
Panda/EON drawing ~12V/0.9A alone is too light a load to change Vbatt very much on an automotive-sized battery, so the OCV table @arne182 posted above is still reasonably applicable as a safety floor. Comparing your patch to the table, you can see 11.0 is near-dead and 10.5 is D-E-D dead.
I believe VBATT_PAUSE_CHARGING should be no lower than 11.8 and we might consider a touch higher. I had proposed VBATT_START_CHARGING = 12.0 and I still think that's okay but am willing to discuss. I have not tested to find a minimum spread between PAUSE and START for good hysteresis control but I think 0.2V isn't likely to cause trouble.

I'll add two more comments in defense of my higher VBATT_PAUSE_CHARGING:

Normal (non-AGM) lead acid automotive batteries DO NOT like to be cycled deeply, 30% is about as low as you should go on any kind of regular basis.

When below 30-40% state of charge, lead acid batteries are subject to electrolyte freezing at winter temperatures commonly reached in the northern continental USA and other places openpilot is used.

@jyoung8607 and I are still on the same wavelength.  I prefer 12V as the threshold, as a vehicle's health should be prioritized over the EON's, and is what I've been testing internally with the original, basic logic.  That said, the driver still certainly see the alert often, which could be alarming to people.
I understand Comma's POV, trying to be conservative, but 10.5V is too low IMHO.  I'm fine if that means we settle on values ~11.5V.

From my measurements with a 1v fluctuation it actually is at 11500. 12282-11334 measured in panda where battery is at a constant 12.18. So no need to worry there. There is a test script in the panda tests to get the health information. And a simple multimeter will tell you the actual voltage.

From personal test the code is working well. Is there anything else needed for this merge @rbiasini ?

@arne182 two comments. Other than that it's good to be merged.

Got another chance to test this and it is working perfectly.

Yes, I agree it works, although I'm not s fan of the thresholds.  I experimented with them at the edge (12.4V and .5V hysteresis), for example, and could see the code in action, switching back/forth, so gave it a higher hysteresis value to prevent that.
BTW - 12.4V came from a battery mfg. recommendation to not let the battery discharge below 12.4V on a regular basis... which I agree with.
FYI - The day this PR was committed, I decided to make an LVD hardware solution (as seen in #hw-unofficial and #toyota-lexus) which works perfectly, since I wanted similar protection for anything using power from the CPv2.  Works great.

Yes, I agree it works, although I'm not a fan of the thresholds. I experimented with them at the edge (12.4V and .5V hysteresis), for example, and could see the code in action, switching back/forth, so gave it a higher hysteresis value to prevent that.

Arne observed a pretty big difference between VBatt measured with a multimeter at the battery and what Panda sees. Depending on where in the car it's hooked up, there could be enough small-gauge wire between the battery and Panda for meaningful voltage drop, so I think that's a valid observation.
As an example, Panda/EON at full rate charging will draw about 1A@12V, which according to an online calculator, could produce a drop of ~0.3V over 8-10 feet of 22AWG (0.35mm2) wire, and that's not including any extra crimps or connectors along the way. Couple that with additional slight voltage drop at the battery itself when it's placed under a bit of load, and perhaps 0.5V swings measured by Panda are plausible when charging load is applied or removed.
So I think we're all in raging agreement about the need for battery preservation, but ISTM the exact thresholds and on/off activity will need to be watched for how they perform in the real world on a variety of cars.
Other considerations:

Earlier unconditional charging shutoff will help, I believe a 30 hour shutoff is already in the works
Next NEOS with commaai/android_frameworks_opt_net_wifi#1 already cuts sleep power usage by nearly a third, and there are further improvements that could be made in EON sleep efficiency
If raw VBatt monitoring turns out unworkable, a simple Coulumb counter (e.g., integrate charge current over time and shut off charging after drawing 3-5Ah@12v, after a certain amount of confirmed vehicle runtime to verify battery was charged to start with) would be pretty robust and insensitive to bouncy VBatt.

Maybe we can have a "learner" to determine each car's unique voltage characteristics...

@rbiasini I'm sure you've already thought of this, but I'd like to minimize the chance of data corruption with how this PR affect the impending Comma Two release.  I know you can differentiate between an EON and Comma Two, so one should incorporate a controlled, automatic shutdown for the Two when the low voltage threshold is hit.


Added Weight On The Moon Calculator

Fixes Issue🛠
#1166
Closes #1166
Description👨💻
I added the weight on the moon calculator.
Type of Change📄

[ ] Bug fix (non-breaking change which fixes a bug)
[x] New feature (non-breaking change which adds functionality)
[ ] Style (non-breaking change which improves website style or formatting)
[ ] Documentation (non-breaking change which updates or adds documentation)
[ ] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

Pls work on these by making the new commits in this same PR @Ajita369

Rename your folder to Weight-On-The-Moon-Calculator and make the necessary changes.
Also, add your calculator part in the main index.html file to display it on the website.

Pls work on these by making the new commits in this same PR @Ajita369

Rename your folder to Weight-On-The-Moon-Calculator and make the necessary changes.
Add your calculator part in the main index.html file to display it on the website.

I have completed the necessary changes.


Query bindings for update type queries

Hi,
at the moment it is not possible to use query bindings with update type queries, when your data cointains a question mark:
{{{
#!php
$sql = "UPDATE some_table SET some_column = 'Where do you want to go today?' WHERE id = ?";
}}}
After binding with query($sql, array($id)), the resulting statement will be (e.g. $id was 1):
{{{
#!sql
UPDATE some_table SET some_column = 'Where do you want to go today'1'' WHERE id = ?
}}}
I don't think this is a bug, so maybe it should be noted in the documentation that only queries other than update are supported.

I have sent a pull request with a fix for this:
https://github.com/EllisLab/CodeIgniter/pull/848


Typography Improvements

This is a proposal to change our font stack for better readability.
Had been thinking of this myself and a comment from the recent hacker news discussion made me go forward with this PR.

dismantlethesun 1 day ago [-]
Wow. This documentation is so much better than what was previously available. Thank you from the bottom of my heart.
The one thing I will point out is that from a UX perspective the font you are using "Cabin", is naturally smaller and more compact than more common sans fonts (e.g. Open Sans, Century Gothic).
Because of this, even though your site is font-size 16, everything appears smaller than it would normally be.

By smaller, I think the author meant letter spacing, which is a problem with Cabin.
Changes

Simplified font stack to use Source Sans for body and Source Code Profor code.
Requests for fonts are now non-blocking.
Reduction in time to paint and load time.

According to me this has better readability especially when there are large paragraphs of text.

Thanks, this font as body font is way easier to read. I'm not sure on using it for the headings. @jhnns said that he would still like to use Geomanist as heading font (https://github.com/webpack/webpack.js.org/issues/291#issuecomment-262286202).

Will update headings to use Geomanist.

That looks gorgeous. Thx @pastelsky!
I'm not completely happy with the font colors (especially the contrast) and vertical rhythm, but it's definitely an improvement.
I'd love to pull this in, but what's wrong with tests?

@jhnns glad you liked it. We can discuss the contrast and rhythm issues if you'd like to. As for the tests, it seems that the lint check for the hyperlink to the font files are failing. Although it seems yo be working just fine in development. How do I simulate a production build locally?

@pastelsky, the font files seem to be really failing, I'm getting 404's on my local production build. You can make a production build with npm run build-test.

I had hacked this before with the url-loader to inline the fonts. For some reason, antwar is able to copy certain imported assets over while excluding others -- thus causing the errors. If you want to use the file-loader, which I agree would be the better solution, I would talk to @bebraw. (I know he still has some plans for updating antwar's asset management although I'm sure for when)

@pastelsky, perhaps an idea to revert the change in webpack.config.js for now, and make an issue to look into it later?

Reverted those changes for now and have created a separate issue ( #443 ) since it requires some more exploration.

All right, nice work again @pastelsky :).

@skipjack I'm currently redoing the asset pipeline. The problem is that it emits the assets below ./antwar/build on the initial pass. I'll change it to emit to /build directly. That will fix the problem. Still a little bit to go but I hope to have the fix out there in a few days.
I also sorted out the CSS situation (single CSS file instead of multiple) already but I need to fix asset handling to make this nice.

@bebraw sounds good! As we finish up the major parts of the design/interface it would be nice to clean up some of the temporary hacks we added so implementing new features and fixing bugs is easier. Speaking of which, I'm working on some cleanup and fixes that I should be opening PRs for soon.
Unfortunately I'm super busy this month but I'll still be helping out whenever I can. It's awesome that @pastelsky and @NejcZdovc have been picking up a lot. By the new year I should be able to dive into things again.

@skipjack Ok, cool. Any thoughts on pushing bits like navigation to a component of its own? Those are useful bits beyond this project.


short trained ViT-L/16 model, PCA visualization background foreground reverse problem

I use the visualzation tools: https://github.com/MartinBurian/dinov2/blob/experiments/experiments/fg_segmantation.ipynb,  visulize the features.
(1) official ViT-L/14 model, the result is as I expected.

(2) i use "Fast setup: training DINOv2 ViT-L/16 on ImageNet-1k" config retrained ViT-L/16 model, the result is opposite to expected..

Is the number of iterations too few? Or is there too little training data? Does anyone have a similar phenomenon? Does anyone know why?

I found the pattern. Saving some models during the training process is as expected, but the final model is contrary to expectations.

The number is iteration.

i think thresholding with the PCA can be done either by zeroing all values above some threshold, or all values below some threshold, maybe try both and check if you get something


share: implement full service discovery

The simplest discovery mechanism for finding full nodes can be:

Full nodes advertise themselves on the full node topic/namespace
Light clients run a component that ensures they are connected to N amount of full nodes and, if not, discover more by the namespace

Full nodes have to be prioritized through a connection manager tagging

Light clients run a component that ensures they are connected to N amount of full nodes

What would be N here?

4/8 at the start? There won't be a lot of Full nodes in foreseeable testnet, but only bridge nodes which I would count as Full ones.

What would be N here?

cc @musalbas

I also see a problem that the above simple discovery doesn't count for. Every new Full Node joining the network won't be able to get enough light clients to reconstruct the block reliably, as light clients keep connections to discovered full nodes and don't change them over time.(Besides light nodes that often go offline and back)
Discovering light nodes by fulls can potentially fix this. Even though I consider this solution the best, it is not practical, assuming that most of the light nodes will be behind the NAT, and libp2p’s NAT Hole Punching is not battle-tested enough to rely on it.
Another aspect is GossipSub which keeps the number of connections per topic within some threshold. So new Full Node that connects to the bootstrappers will receive more peers from the bootstrappers once they disconnect the full node due to several connections being more than the threshold(PeX on disconnect). The problem here is that light nodes can potentially be connected to other light nodes only, while full nodes to full nodes only. So even though GossipSub can mitigate the problem by giving more light nodes to the new fulls, it also introduces an unhealthy network topology edge case which we should avoid.
The solution I see is for light nodes to introduce some refresh timeout(~1h) on which light nodes rediscover full nodes and try to connect to a different set of full nodes with some overlap with the former one. This way, new full nodes will be connected to some light nodes less than the timeout time. The downside here might be the constantly changing topology of the network, but I don't see why this can be an issue in practice, as long as peers maintain the required amount of connections to wanted node types to function correctly.

I think you're overthinking this, and the effects of a slightly unbalanced network topology. You should check how Bitcoin deals with this issue (I'm not sure that it does at all, by default), or any other blockchain network with full and light nodes. Let's see what happens first with the simple implementation.
Light nodes being connected to 4-8 full nodes sounds right to me.

Every new Full Node joining the network won't be able to get enough light clients to reconstruct the block reliably, as light clients keep connections to discovered full nodes and don't change them over time.

It doesn't actually matter if a single full node isn't connected to any light clients (i.e. there are too many honest full nodes from light clients to pick from). What matters, is that there are enough light clients connected to the full node network, and those full nodes are connected to each other. The full nodes should be able to cover the blocks by sharing the block among themselves as per https://github.com/celestiaorg/celestia-node/pull/598.

The problem here is that light nodes can potentially be connected to other light nodes only, while full nodes to full nodes only.

Isn't it possible to simply add a check in the light client that if it is not connected to at least 5 full nodes, it will keep trying to connect to full nodes until it's connected to enough of them?

But isn't it possible to make it so that only full nodes advertise themselves into a topic?

Full nodes advertise themselves on the full node topic/namespace

I guess we'd have to spin up a separate topic for full nodes to advertise themselves as full nodes? @Wondertan

@musalbas, okay, swap from my message discover of light clients to the discovery of full nodes, and the problem still persists in some way. Full nodes should also discover other node types(not necessary light) for block reconstruction guarantees and connect to them to form the network you refer to. Otherwise, new full nodes won't necessarily end up connected to the Full node network as only GossipSub manages network topology shaping.

It doesn't actually matter if a single full node isn't connected to any light clients (i.e. there are too many honest full nodes from light clients to pick from). What matters, is that there are enough light clients connected to the full node network, and those full nodes are connected to each other. The full nodes should be able to cover the blocks by sharing the block among themselves as per https://github.com/celestiaorg/celestia-node/pull/598.

It is possible, and this is what the issue is describing in the first place. The GossipSub reference is mostly about tracking the fact that it manages the existing connections without understanding what type of a node it is connected to. So we have to do our own topology shaper which has higher priority than GossipSub decisions, so we any node is always connected to N amount of Full nodes.

The problem here is that light nodes can potentially be connected to other light nodes only, while full nodes to full nodes only.

Isn't it possible to simply add a check in the light client that if it is not connected to at least 5 full nodes, it will keep trying to connect to full nodes until it's connected to enough of them?


Enable rack 2.0 and test against rack master on travis

Copied the approach from omniauth

BTW: travis is pretty broken

I added a separate PR to fix travis
https://github.com/intridea/oauth2/pull/227
I can rebase this one on top of that to make it easier to merge

+1 after merging #227

Looking forward to this change for Rails5/Rack2 compatibility.


Make the project generic

Overview
This project is tailored to my specific use case and at the time of writing I wasn't planning to make it generic. You can use this placeholder to kick-off the conversation if you are interested on it.

Closed with latest changes


Loading from internal bitbucket repository

Was wondering if its possible to set the search path to an internal bitbucket repository cause I can't access github at work. Or if there was any other recommended method to manage packages from an internally hosted vim plugin library, thanks :)

dein.vim supports gitbucket git repository.
call dein#add('https://bitbucket.org/mortonfox/twitvim.git')


Add muon analysis on calibrated data

Modified the analysis function to work in this case and added a dedicated script.
Related to #19

I applied the proposed changes.


Add support for bastion hosts

This PR implements support for bastion hosts.

I've got mixed feelings here. When I used a bastion host in a previous incarnation, I simply had this info in my ~/.ssh/config file. Forcing users into a specific SSH config file that is enabled by an ansible var seems to wedge a user into your narrow use case.
I would much rather create a blog post on how to set this up. Nothing is actually changing on target machines and this really seems out of scope for Kargo project.

The problem with manually modifying ~/.ssh/config is that it does not work well when you have multiple clusters to maintain. You'd have to change the config every time you switch cluster. This is extremely error prone as you could easily provision the wrong cluster due to the internal IP being the same.

@mattymo I'm failing to see how this narrowing users' usecases. The custom ./foo.conf is good to go, IMO. It shouldn't conflict with any of the users files, AFAIKT

Should CI probably be triggered for this one?

On the terraform setup we use bastion hosts by adding ansible connection config to the inventory folder (ansible-group-name.yml). This doesn't fiddle with the user's SSH config in any way, while achieving the same result IMHO.

We use on terraform:
provisioner "local-exec" {
         command = "sed s/USER/${var.ssh_user}/ contrib/terraform/openstack/ansible_bastion_template.txt | sed s/BASTION_ADDRESS/${element(openstack_networking_floatingip_v2.k8s_master.*.address, 0)}/ > contrib/terraform/openstack/group_vars/k8s-cluster.yml"

@pcm32 Hmm using facts could be an alternative. Maybe we can even set the ansible_ssh_common_args fact globally instead of creating the ssh-bastion.conf SSH config file.
There is however one advantage I would miss. Currently I can easily reuse the generated ssh config to ssh onto the nodes:
$ ssh -F ssh-bastion.conf<EMAIL_ADDRESS>
I can even use port forwarding easily for debugging purposes.


Fix use mTLS settings from config.yaml when flag not defined

Description
Add sentryAddress for mtls config. Use enableMTLS and sentryAddress from config.yaml when not supplying  from flags.
Issue reference
Please reference the issue this PR will close: dapr/dapr#4012
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@Taction Could you please have a look at failing PR check so that we can proceed further. Thanks

@Taction please fix conflicts then we can make it land.

I ran into this same issue this week when trying to setup sentry in docker-compose

Since there are several conflicts, which is a bit complicated to solve, moved the code to #6347


Convert all toString() methods to Json

Hello, i would like to ask you if it is OK to change all the toString() functions to convert the POJO to json format instead of just plain text. Thanks

toString should turn an object to a human friendly string is possible (like CurrencyPair::toString where it results to "BTC/USD") or a developer friendly string for debuging.
JSON is usually used for integration and you have libraries like Jackson with more control over that and they do not expect you classes to to serialization in toString methods.
Because of this I would be against it.

Thanks a lot for your response! So,i will find more options on the Jackson library in order to manipulate POJO to Json.


shortcuts can access off screen results

When the number of results returned do not fit on screen, Clink pages them (correct). What is unexpected though, is that shortcuts for options that lie beyond the current page will still work. E.g. if the last result on the page ends at E, it's still possible to use F to open the first result of the next page.
I guess this is kind of handy, but also sort of useless. We should probably make the hot keys do nothing in this situation.

This was fixed in cc6b1c68290523f998be90b5f6d9925d0f36b5b9.


Need to create the private directory - otherwise images and documents can not be uploaded

We could use the following for self hosting - https://hub.docker.com/r/minio/minio
We have created the ticket Card 225

Closing issue - as the private documentation will be using the following solutions;

AWS S3
Cloudflare R2 (using S3 credentials)
Minio (using S3 credentials)
Azure Blob Storage


DB RandomFill

RandomFill method in DataBase Test does not work. Or cleaning after it...

Nope, the problem was that it happens that somebody follow someone twice


[AppleBug] UICollectionView reload displaced section crashes in batch update

Summary:
When reloading a section that is displaced/shifted inside -[UICollectionView performBatchUpdates:completion:], it is possible to hit an NSInternalInconsistencyException stating "attempt to perform an insert and a move to the same section (i)" when the sections used in insertSections:, deleteSections:, reloadSections: , and moveSection:toSection: do not intersect.
For instance, a collection view who's data source is updated to reflect the following section mutations will crash:
[self.collectionView performBatchUpdates:^{
  [self.collectionView moveSection:2 toSection:4];
  [self.collectionView reloadSections:[NSIndexSet indexSetWithIndex:3]];
  [self.collectionView deleteSections:[NSIndexSet indexSetWithIndex:4]];
  [self.collectionView insertSections:[NSIndexSet indexSetWithIndex:2]];
} completion:nil];

Steps to Reproduce:

Open attached UICollectionViewReloadDisplacement sample app
Hit "Play" bar button
Crash

Expected Results:

Section 2 moves to section 4
Section 3 is reloaded
Section 4 is deleted
A new section is inserted into section 2

Actual Results:
Crash with exception:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to perform an insert and a move to the same section (4)'

Version:
iOS 9.3.4, 8.4, and 10.0 beta 4
Configuration:
iPhone 6, iPhone 6s simulator
UICollectionViewReloadDisplacement.zip

Please dupe
https://openradar.appspot.com/radar?id=5037608161771520

I think there's something about, deletes and reloads using the index'es of the old-dataset, whereas inserts, uses the index'es of the new-dataset.. so you might want to check up on your relevant indexes as I think this is your issue..

@PeterAntonsen this is actually a confirmed issue
Sent with GitHawk

@rnystrom, fair enough, just stumbled across this, weighing in from memory as it reminded of another thread I saw.. hope it gets solved :)


Class not found

It might be just because I am doing something wrong.
I set up an example by following exactly this README. I see the same test failure messages from //test:test/bazel0.21.0, //test:test/bazel0.22.0, and //test:test/bazel0.23.2.
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //test:test/bazel0.23.2
-----------------------------------------------------------------------------
Class not found: [test.test]

BazelTestRunner exiting with a return value of 2
JVM shutdown hooks (if any) will run now.
The JVM will exit once they complete.

-- JVM shutdown starting at 2019-09-17 22:35:41 --

I have tried Bazel 0.22.0 and 0.29.0.

We need more info. I don't have enough info but my guess is that you have the incorrect target name. java_test has an implicit dependency where it tries to deduce the test class name from the target name.
Can you add an example of your attempt? Btw, see the below example of scala to see how you can decouple it completely.

Thanks for taking a look. I didn't upload to remote, here are more info. If a remote repo makes solving issue easier, I am happy to do so.
WORKSAPCE
workspace(name = "test")

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "build_bazel_integration_testing",
    url = "https://github.com/bazelbuild/bazel-integration-testing/archive/3a6136e8f6287b04043217d94d97ba17edcb7feb.zip",
    type = "zip",
    strip_prefix= "bazel-integration-testing-3a6136e8f6287b04043217d94d97ba17edcb7feb",
    sha256 = "bfc43a94d42e08c89a26a4711ea396a0a594bd5d55394d76aae861b299628dca",
)

load("@build_bazel_integration_testing//tools:bazel_java_integration_test.bzl", "bazel_java_integration_test_deps")
bazel_java_integration_test_deps()

http_archive(
    name = "io_bazel_rules_go",
    sha256 = "f04d2373bcaf8aa09bccb08a98a57e721306c8f6043a2a0ee610fd6853dcde3d",
    urls = [
        "https://github.com/bazelbuild/rules_go/releases/download/0.18.6/rules_go-0.18.6.tar.gz",
    ],
)

http_archive(
    name = "bazel_gazelle",
    sha256 = "7fc87f4170011201b1690326e8c16c5d802836e3a0d617d8f75c3af2b23180c4",
    urls = [
        "https://github.com/bazelbuild/bazel-gazelle/releases/download/0.18.2/bazel-gazelle-0.18.2.tar.gz",
    ],
)

load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies")

go_rules_dependencies()

test/BUILD.bazel
load("@build_bazel_integration_testing//:bazel_integration_test.bzl", "bazel_java_integration_test")

bazel_java_integration_test(
    name = "test",
    srcs = ["ExampleTest.java"],
)

test/ExampleTest.java
package test;

import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;

import build.bazel.tests.integration.BazelCommand;
import build.bazel.tests.integration.WorkspaceDriver;

import java.io.IOException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class ExampleTest {
  private WorkspaceDriver driver = new WorkspaceDriver();

  @BeforeClass
  public static void setUpClass() throws IOException {
    WorkspaceDriver.setUpClass();
  }

  @Before
  public void setUp() throws Exception {
    driver.setUp();
  }

  @Test
  public void bazelFailure() throws Exception {
    driver.scratchFile("foo/BUILD", "sh_test(name = \"bar\",\n" + "srcs = [\"bar.sh\"])");
    driver.scratchExecutableFile("foo/bar.sh", "echo \"boom\"", "exit -1");

    BazelCommand cmd = driver.bazel("test", "//foo:bar").run();

    assertNotEquals("bazel test return code", 0, cmd.exitCode());
    assertTrue(
        "stderr contains boom failure",
        cmd.errorLines().stream().anyMatch(x -> x.contains("boom")));
  }
}

Then I ran bazel test //test.

Change target name to ExampleTest
On Wed, 18 Sep 2019 at 21:19 Bor Kae Hwang<EMAIL_ADDRESS>wrote:

Thanks for taking a look. I didn't upload to remote, here are more info.
If a remote repo makes solving issue easier, I am happy to do so.
WORKSAPCE
workspace(name = "test")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_integration_testing",
url = "https://github.com/bazelbuild/bazel-integration-testing/archive/3a6136e8f6287b04043217d94d97ba17edcb7feb.zip",
type = "zip",
strip_prefix= "bazel-integration-testing-3a6136e8f6287b04043217d94d97ba17edcb7feb",
sha256 = "bfc43a94d42e08c89a26a4711ea396a0a594bd5d55394d76aae861b299628dca",
)
load("@build_bazel_integration_testing//tools:bazel_java_integration_test.bzl", "bazel_java_integration_test_deps")
bazel_java_integration_test_deps()
http_archive(
name = "io_bazel_rules_go",
sha256 = "f04d2373bcaf8aa09bccb08a98a57e721306c8f6043a2a0ee610fd6853dcde3d",
urls = [
"https://github.com/bazelbuild/rules_go/releases/download/0.18.6/rules_go-0.18.6.tar.gz",
],
)
http_archive(
name = "bazel_gazelle",
sha256 = "7fc87f4170011201b1690326e8c16c5d802836e3a0d617d8f75c3af2b23180c4",
urls = [
"https://github.com/bazelbuild/bazel-gazelle/releases/download/0.18.2/bazel-gazelle-0.18.2.tar.gz",
],
)
load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies")
go_rules_dependencies()
test/BUILD.bazel
load("@build_bazel_integration_testing//:bazel_integration_test.bzl", "bazel_java_integration_test")
bazel_java_integration_test(
name = "test",
srcs = ["ExampleTest.java"],
)
test/ExampleTest.java
package test;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import build.bazel.tests.integration.BazelCommand;
import build.bazel.tests.integration.WorkspaceDriver;
import java.io.IOException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class ExampleTest {
private WorkspaceDriver driver = new WorkspaceDriver();
@BeforeClass
public static void setUpClass() throws IOException {
WorkspaceDriver.setUpClass();
}
@Before
public void setUp() throws Exception {
driver.setUp();
}
@Test
public void bazelFailure() throws Exception {
driver.scratchFile("foo/BUILD", "sh_test(name = "bar",\n" + "srcs = ["bar.sh"])");
driver.scratchExecutableFile("foo/bar.sh", "echo "boom"", "exit -1");
BazelCommand cmd = driver.bazel("test", "//foo:bar").run();

assertNotEquals("bazel test return code", 0, cmd.exitCode());
assertTrue(
    "stderr contains boom failure",
    cmd.errorLines().stream().anyMatch(x -> x.contains("boom")));

}
}
Then I ran bazel test //test.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-integration-testing/issues/153?email_source=notifications&email_token=AAKQQF44HGYKKA7YGWM2AY3QKJWKVA5CNFSM4IXV35H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7A7NWQ#issuecomment-532805338,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKQQF2QDNQVI4WJY6LHO2LQKJWKVANCNFSM4IXV35HQ
.

--
Ittai Zeidman
Cell:<PHONE_NUMBER>
40 Hanamal street, Tel Aviv, Israel
http://www.wix.com

Thanks, it works. What's the principle of naming a target?

 You can override with an explicit test_class
attribute (like the other example shows).
Close this issue?
On Thu, 19 Sep 2019 at 0:19 Bor Kae Hwang<EMAIL_ADDRESS>wrote:

Thanks, it works. What's the principle of naming a target?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/bazel-integration-testing/issues/153?email_source=notifications&email_token=AAKQQF4TJ6EH6WHQVFTW7E3QKKLMFA5CNFSM4IXV35H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7BPPNI#issuecomment-532871093,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKQQF3YSMG3TNAZEDWA3N3QKKLMFANCNFSM4IXV35HQ
.

--
Ittai Zeidman
Cell:<PHONE_NUMBER>
40 Hanamal street, Tel Aviv, Israel
http://www.wix.com

Sounds good, thanks.

I'm running into this same issue in https://github.com/google/dagger. I'm not the most well-versed in Bazel, but what's the "target" in this context? In my case I'm just running a simple test from the IDE via the plugin, but the error log file is unhelpful.
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //javatests/dagger/lint:test
-----------------------------------------------------------------------------
/private/var/tmp/_bazel_zsweers/1825c3febee87f83f0190e5ba08c9307/sandbox/darwin-sandbox/2381/execroot/__main__/bazel-out/darwin-fastbuild/bin/javatests/dagger/lint/test.runfiles/__main__/javatests/dagger/lint/test: line 260: fg: no job control
/private/var/tmp/_bazel_zsweers/1825c3febee87f83f0190e5ba08c9307/sandbox/darwin-sandbox/2381/execroot/__main__/bazel-out/darwin-fastbuild/bin/javatests/dagger/lint/test.runfiles/__main__/javatests/dagger/lint/test: line 261: fg: no job control
/private/var/tmp/_bazel_zsweers/1825c3febee87f83f0190e5ba08c9307/sandbox/darwin-sandbox/2381/execroot/__main__/bazel-out/darwin-fastbuild/bin/javatests/dagger/lint/test.runfiles/__main__/javatests/dagger/lint/test: line 262: fg: no job control
Class not found: []

BazelTestRunner exiting with a return value of 2
JVM shutdown hooks (if any) will run now.
The JVM will exit once they complete.

-- JVM shutdown starting at 2020-04-10 06:30:31 --

load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_test")

package(default_visibility = ["//:src"])

kt_jvm_test(
    name = "test",
    srcs = [
        "DaggerKotlinIssuesDetectorTest.kt",
    ],
    deps = [
        "//java/dagger/lint:dagger_lint",
        "@maven//:org_jetbrains_kotlin_kotlin_stdlib",
        "@maven//:com_android_tools_lint_lint_checks",
        "@maven//:com_android_tools_lint_lint_tests",
        "@maven//:com_android_tools_testutils",
        "@google_bazel_common//third_party/java/junit",
    ]
)

And the logs equally unhelpful
/usr/local/bin/bazel test --tool_tag=ijwb:IDEA:community --curses=no --color=yes --progress_in_terminal_title=no --runs_per_test=1 --flaky_test_attempts=1 --build_event_binary_file=/var/folders/yc/gq1jznyd2hg6q4qgl82m9_z80000gp/T/intellij-bep-7048b81c-22ec-4559-b278-e73c2743fbab --nobuild_event_binary_file_path_conversion --test_filter=dagger.lint.DaggerKotlinIssuesDetectorTest -- //javatests/dagger/lint:test
Loading:
Loading: 0 packages loaded
INFO: Build options --runs_per_test and --test_filter have changed, discarding analysis cache.
Analyzing: target //javatests/dagger/lint:test (0 packages loaded, 0 targets configured)
Analyzing: target //javatests/dagger/lint:test (109 packages loaded, 841 targets configured)
Analyzing: target //javatests/dagger/lint:test (109 packages loaded, 841 targets configured)
INFO: Analyzed target //javatests/dagger/lint:test (110 packages loaded, 1070 targets configured).
INFO: Found 1 test target...
[0 / 2] [Prepa] BazelWorkspaceStatusAction stable-status.txt
FAIL: //javatests/dagger/lint:test (see /private/var/tmp/_bazel_zsweers/1825c3febee87f83f0190e5ba08c9307/execroot/__main__/bazel-out/darwin-fastbuild/testlogs/javatests/dagger/lint/test/test.log)
Target //javatests/dagger/lint:test up-to-date:
  bazel-bin/javatests/dagger/lint/test.jar
INFO: Elapsed time: 5.485s, Critical Path: 0.57s
INFO: 2 processes: 2 darwin-sandbox.
INFO: Build completed, 1 test FAILED, 2 total actions
//javatests/dagger/lint:test                                             FAILED in 0.3s
  /private/var/tmp/_bazel_zsweers/1825c3febee87f83f0190e5ba08c9307/execroot/__main__/bazel-out/darwin-fastbuild/testlogs/javatests/dagger/lint/test/test.log

Executed 1 out of 1 test: 1 fails locally.
INFO: Build Event Protocol files produced successfully.
INFO: Build completed, 1 test FAILED, 2 total actions
INFO: Build completed, 1 test FAILED, 2 total actions

PR with my case is here: https://github.com/google/dagger/pull/1805

Hi,
Your problem isn't related to this library but rather to rules_kotlin.
You might find a solution in this link but if not I suggest you open an issue over in rules_kotlin.


Fixing trim-source-paths.sh for macos

If developers need to invoke generate-regression-tests.sh on their own machines when adding new regression tests, it seems that we should fix the portability issue discovered earlier in trim-source-paths.sh.  This pull request fixes that issue.
I ran it on my machine (a mac) without issue, it would be nice if someone with a linux machine could run generate-regression-tests.sh just to be sure that everything still works.  I'm still a bit fuzzy on issues concerning the travis CI stuff, but it seems that if it works on someone's linux machine, then the travis pipeline should still work.

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[ ] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[ ] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

@ana-pantilie
I'm looking at what trim-source-paths.sh removes here.  Is it correct to assume that /home/jenkins-slave/workspace/haskell-backend_PR-xxxx/ will always correspond to the KORE environment variable?

@ana-pantilie
I'm looking at what trim-source-paths.sh removes here. Is it correct to assume that /home/jenkins-slave/workspace/haskell-backend_PR-xxxx/ will always correspond to the KORE environment variable?

I'm not sure. Is it possible to just use the KORE env var? The names of the repositories (evm-semantics and wasm-semantics) shouldn't change, so maybe we could search for those inside the KORE string and remove whatever comes before? Would that work or am I oversimplifying things?

There are still some relative paths present e.g. here that for whatever reason this script wasn't set up to handle.  Would it make sense to add something like a K_FRAMEWORK environment variable and remove these in a similar manner?

The link isn't loading for me. I looked for an example and found system-specific-part/include/kframework/builtin/domains.md, we'd probably want to keep just include/kframework/builtin/domains.md. I think there's also include/kframework/builtin/kast.md, right? Are there any other cases? If not, I think we should just do whatever is easiest, IMO this isn't something critical.


add a new BarChart Component

ng-svg is a collection of Angular.io components that demonstrate how to use angular to interact with svgs.
A bar chart component would be a useful example to add to the collection
The exact specifications will be left open for discussion, but as a minimum, the component should take in some data that includes an array of {label:text, value:number}, and generate a bar chart similar to the image below.
Further customization to think about include allowing the user to add/remove data on the fly through a form (similar to the StatComponent),, colors, legend and label placement, axis labels and axis scale

I'd like to implement this one!

Great, its all yours!


Bugfix: don't play theme if music off

Otherwise, it causes Access Violation error.

As requested by the PR author @damianut, the fixes were made by the project maintainers in https://github.com/Silver-Ore-Team/zBassMusic/pull/43


Make badges and error messages contrasts AA compliant

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation content changes

Other information

Closes #140

Looks great! Thanks @EtienneGrall


⚠ Jenkins Plugins Artifactory has degraded performance

In 3608fdb, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1319 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 9af4a9d after 25 minutes.


Fix SliverList scrollOffsetCorrection 0 case

Description
This fixes the offset correction in the performLayout of SliverList to account for 0. In the use cases where the calculated correction is 0, it crashes since SliverGeometry asserts the correction should never be 0. This opportunity presents itself more readily on iOS and Mac platforms due to over scroll.
Related Issues
Fixes https://github.com/flutter/flutter/issues/62198
Tests
Regression test for 0 scrollOffsetCorrection
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.

moving cp label to the issue (https://github.com/flutter/flutter/issues/62198) for discussion


Pylance Should Disable Checks for Non-Python Kernels in Jupyter Notebooks

I'm encountering an issue when using the VSCode extension "Jupyter" with non-Python kernels, specifically the Wolfram Language kernel. When I open a Jupyter notebook with a non-Python kernel, Pylance begins checking types and syntax as if the notebook were using Python. This leads to errors such as undefined variables or functions (Plot, Sin, x, etc.) that are actually valid in the Wolfram Language.

Environment data

Pylance version: v2024.8.2
Jupyter version: v2024.7.0
VSCode version: 1.92.2
OS and version: macOS 14.6.1
Python version (& distribution if applicable, e.g. Anaconda): 3.12.5

Code Snippet
Plot[Sin[x], {x, 0, 1}]

Repro Steps

Install the "Jupyter" and "Pylance" extensions in VSCode.
Open a Jupyter notebook in VSCode.
Switch the kernel to "Wolfram Language 14.1" or another non-Python kernel.
Write and execute valid Wolfram Language code, such as Plot[Sin[x], {x, 0, 10}].

Expected behavior
Pylance should detect that the notebook is using a non-Python kernel and automatically disable Python-specific checks.
Actual behavior
Pylance incorrectly applies Python-specific checks, resulting in false errors and warnings for valid code in other languages.
Please consider implementing a feature where Pylance automatically disables its checks whenever a Jupyter notebook is opened with a non-Python kernel. This would prevent unnecessary distractions and errors, improving the experience for users working with other programming languages in VSCode.

I don't think this would be something Pylance would implement. Pylance is the language server here because the language in the notebook cell says 'Python'. If Wolfram Language Kernel isn't python, that cell should be changed to the language Wolfram or something like that. Then VS code would have a Wolfram language server.
I think this would be better as a request on the Jupyter extension. To auto switch the language of each cell when the kernel changes.


Sending uncompressed crash reports is deprecated

[x] Review the documentation: https://docs.sentry.io/platforms/javascript/electron/
[x] Search for existing issues: https://github.com/getsentry/sentry-electron/issues
[x] Use the latest release: https://github.com/getsentry/sentry-electron/releases
[ ] Provide a link to the affected event from your Sentry account n/a

Versions + Platform

[x] SDK version -<EMAIL_ADDRESS>[x] Electron version -<EMAIL_ADDRESS>[x] Platform - Windows

Description
Accordingly in https://github.com/electron/electron/pull/23598 every time I run my app with the newly updated electron (v10.0.0) I get a deprecation warning that sending uncompressed crash reports is deprecated.

Hey @theArina. I am currently using electron v10.1.1 and @sentry/electron v2.0.0 and don't get any crashes. just that deprecation warning I mentioned above.

This will be fixed with https://github.com/getsentry/sentry-electron/pull/260
once released


data: project addition by Ayush

Add a new project to the list
I want to add a new project to the list
Code of Conduct

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

Completed. Thanks for your contributions 🎉 ❤


[Improve][CI]Upgrade maven-wrapper to 3.1.0

Codecov Report

Merging #8557 (cb85dbb) into dev (059650e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #8557   +/-   ##
=========================================
  Coverage     45.23%   45.23%
  Complexity     4039     4039
=========================================
  Files           690      690
  Lines         26873    26873
  Branches       2884     2884
=========================================
  Hits          12157    12157
  Misses        13566    13566
  Partials       1150     1150

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 059650e...cb85dbb. Read the comment docs.


Fix building wheels on python 3.8

Fixes #30.
This has to do with cython/cython#2938 (PyCode_New() signature was changed) so I just recompiled using a newer version of Cython, which fixed the issue.

please merge this!

Bump! Would be awesome if this could be merged so that it's usable with Py3.8

Thanks for this! I followed suit with a newer Cython in #49 and we'll publish an updated package shortly.


WP: Affiliate Programm

Hey,
Is it possible to add an affiliate program?
I would like to promote my site and my users should receive a commission by recruiting customers.
If their friends deposit money or use my site, they should receive a commission.
Is this possible?

Hello, how you see it? (please describe the user expiriance)

Hello, how you see it? (please describe the user expiriance)


Adds support for setting the ra flag

Sets the RA (RecursionAvailable) flag when the RecursiveProvider is used (either directly or through the StackableResolver). Without setting this flag, the nslookup tool simply skips this dns server.

See #29


Index S3 bucket policy statements into graph (Issue #759 part 1)

Ingest, parse, and represent S3 bucket policy statements in graph.
Creating:
(:S3Bucket)-[:POLICY_STATEMENT]->(:S3PolicyStatement)

Looks, good!


Product not visible on storefront if you first inactive the product from product grid and then update the status to Active.

Bug report
Title
Product not visible on storefront if you first inactive the product from product grid and then update the status to Active.
Issue Description
Product not visible on storefront if you first inactive the product from product grid and then update the status to Active.
Preconditions
1. framework Version.-0.1.9

Steps to reproduce
1. step1- Create a product and update the status to inactive
2. step2-Now update the status to active.

Expected result
On updating the status to active product should display on storefront.
Actual result
Product is not visible on storefront.

duplicate - #1806


Adding documentation for how to get started with Matter & iOS/tvOS/macOS

Problem
Documentation doesn't exist
Change overview
Add it
Testing
Documentation changes

Fast tracking documentation changes.
However, please hold off merging, reviews to come, and more updates to come.


Add tests for worker registration

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@1c6d3d1). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #94   +/-   ##
==========================================
  Coverage           ?   88.80%
==========================================
  Files              ?       81
  Lines              ?     1260
  Branches           ?      120
==========================================
  Hits               ?     1119
  Misses             ?      141
  Partials           ?        0

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 1c6d3d1...4bf348c. Read the comment docs.


Update wireshark download's url

After making all changes to the cask:

[X] brew cask audit --download {{cask_file}} is error-free.
[X] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version. (Only update Download's URL, no version changed)

Additionally, if adding a new cask:

[ ] Named the cask according to the token reference.
[ ] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ ] Checked there are no open pull requests for the same cask.
[ ] Checked the cask was not already refused in closed issues.
[ ] Checked the cask is submitted to the correct repo.

Thank you, but the current URLs are correct, and will presumably pick the best CDN. Your change would remove that advantage.


How does Karpenter deal with the new m7i-flex instance type?

Given that the new m7i-flex instance type is now available and breaks the current pattern of burstable instances being in a non m family; how does Karpenter currently treat these instances and allow them to be filtered out? If this isn't a default pattern what plans are there to improve this?
My "two cents" is that the concept of burstable instances is very similar to the spot instance concept and should probably align with that.

Can I join in an also ask when is the "regular" m7i instances will be supported by Karpenter

@yuval-almog I'd assume that they'd be supported as soon as they were supported in EC2 Fleet and I'd expect that to be immediately where constraints are unbounded or general to instance family/generation.

I'm also not sure exactly what Karpenter understands about PVs and the EBS CSI Driver but if that is part of the scheduling logic then there would need to be some code changes to support the new improved attachment limits for m7i instances. If Karpenter is PV & CSI aware I can see some significant cost benefits for scheduling workloads with high PV requirements onto m7i at a higher per CPU cost but a lower total cost.

Discussed with the team. We think we need to make two changes.

Introduce a new well known label for "burstable" compute. This will apply to flex+T instance types
Add a new default requirement that opts out of burstable instance types by default.

After chatting with the EC2 team working on m7i-flex, we've decided to not treat this instance type as "burstable". We think this instance type will fit workloads for the majority of Karpenter users. There may be some edge cases where it's not the right fit, if you are running close to 100% node CPU utilization at all times, but I'd expect this to be a small number, so we'd like to generally treat this just like any other m family instance type. If you're not comfortable with using the m7i-flex, then you can always add a requirement to exclude the m7i-flex instance family like so:
  requirements:
    - key: "karpenter.k8s.aws/instance-family"
      operator: NotIn
      values: ["m7i-flex"]

Here's from the m7i-flex docs page here:

M7i-flex instances efficiently use compute resources to deliver a baseline level of performance with the ability to scale up to the full compute performance a majority of the time.

@bwagner5 I think you're right about m7i-flex instances being generally fine, but semantically I think that there should be a well-known label to differentiate them from other non -flex instances for the use cases where they might be a problem (or more likely, perceived as a problem). This would not only make the distinction in Karpenter as clear as the use of a -flex suffix makes this in the general AWS docs; it would also make the addition of new -flex instances not result in unexpected behaviour.
My suggestion would be to add a label to differentiate between standard, flex (-flex) & burstable (t) instances. This could then be used by a provisioner to change the default behaviour for all new instance types without needing a change for each new one.

I wonder if t, flex, and standard could be considered as QOS classes that share the same label. @jonathan-innis , we'd need to think quickly on this since burstable is a Boolean and would need to evolve to an enum.

@ellistarn can/does Karpenter provision t instances as unlimited? If so is there a discussion about how a t instance set to unlimited should be classified?

By default t3 are unlimited and t2 are not.
There is an account/org wide option to set that, besides the one per launch template.
Karpenter doesn't really handle that, and AFAIK has no native support to set that in the native lc

@ellistarn did this get discussed before the beta changes? I think the principal of a QoS class for burstable instances makes sense and I think all t3 instances (unlimited or not) should be treated the same for simplicity.

First, M7i-flex instances are not T instances.
M7i-flex instances belong to the M family and deliver similar performance as the M7i instances at a lower price.
M7i-flex instances are the easiest way for you to get price performance benefits for a majority of general-purpose workloads. They deliver up to 19% better price performance compared to M6i instances.
M7i-flex instances are designed to deliver a baseline CPU performance with the ability to scale up to the full CPU performance 95% of the time. With M7i-flex instances, you can seamlessly run web and application servers, virtual desktops, batch processing, microservices, enterprise applications, and more.
We have designed M7i-flex to deliver similar performance as M7i for all workloads including production workloads.
Comparison vs. M7i: M7i instances are a great choice for all general-purpose workloads, especially for workloads that need the largest instance sizes or continuous high CPU usage, such as large application servers and databases, gaming servers, CPU-based machine learning (ML), and video streaming.
https://aws.amazon.com/ec2/instance-types/m7i/
https://aws.amazon.com/about-aws/whats-new/2023/08/amazon-ec2-m7i-flex-m7i-instances/
https://aws.amazon.com/blogs/aws/new-seventh-generation-general-purpose-amazon-ec2-instances-m7i-flex-and-m7i/
https://aws.amazon.com/ec2/faqs/
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose-instances.html#general-purpose-performance
Curious to know if you saw any issue or if you are speculating.

@saurabhmodh4 M7i-flex instances aren't explicitly compatible with M7i instances (that's why they're cheaper) so shouldn't be treated the same. Due to how Kubernetes works you would need to have the full context to decide on a case-by-case basis if M7i-flex instances were appropriate or not; it's a classic "it depends..." scenario. Therefore the absolute minimum requirement is that it should be possible to proactively block all current and future flex instances from being resolved by a specific provisioner.

GPT
I agree with what Steve Hipwell said. Why is it cheaper than m7i? It's because of the trade-offs. The basic performance is provided at 40%, but it can burst up to 95% using credits. You mentioned that it is not a T type, but to me, it seems the concept is completely identical to T type, only the name has changed. Am I right? If there is something I am misunderstanding due to lack of information, please explain.
If I am correct, isn't it natural that problems could arise when m7i and m7i-flex are mixed? Imagine an EC2 provisioned in an environment operating on the assumption of 100% usage, facing performance limitations when there are no credits. Pods running on m7i-flex could experience issues such as increased latency due to not being able to use the CPU as needed, while the overall CPU usage remains low. This means that services with pod autoscaling based on CPU usage would not be able to expect autoscaling. This could cause disruptions in users' environments.
Although the name change without maintaining backward compatibility is a bit surprising, it can be understood if it's for the sake of consistency with the same generation/architecture of EC2. However, making it indistinguishable from other m-type instances could be a serious problem. Also, just because it is useful for specific workloads, it does not provide a reasonable basis to limit the karpenter development team from distinguishing it, especially when there is a clear difference.

Sorry, that is wrong. There are no credits in M7i-flex.
Let me clarify in a few steps:

The baseline performance of 40% is a guidance for our customers to easily decide if their workloads are a fit or not. It is derived from the fact that a majority of workloads we see on EC2 do not have more than 40% CPU utilization.
The baseline is not enforced in M7i-flex. However, the baseline is enforced in T instances by leveraging the CPU credit system.
It was designed from the ground up to deliver the performance that majority of the workloads on our M instances need. That's why we call it M7i-flex and that's why we want it to be classified as an M instance in Karpenter.
In your example @ku524 we do not have credits or restrictions so the CPU usage will increase as the Pods need more CPU.
It is useful for a majority of workloads and not specific workloads.
I encourage you to try it out and let me know if you see the things you are mentioning by measuring real-world application performance.
We always provide an --exclude option to exclude a specific instance type if it does not match your workload requirements.

I dont think I got an explicit answer to my question from last time.
"Curious to know if you saw any issue or if you are speculating".

@saurabhmodh4 the documentation specifically states that the M7i-flex instance isn't right for all workloads (emphasis mine).

M7i-flex instances are the easiest way for you to get price performance benefits for a majority of general-purpose workloads.

I'm also pretty sure that what you see in general EC2 instances is significantly different to what is seen Kubernetes, where we're attempting to optimise bin packing and CPU utilisation. Flex looks to be an alternative approach to cost cutting which may work in limited Kubernetes contexts but is likely to reduce performance and introduce not only additional latency but also lack of repeatability.
Can I also point out that both the network and EBS bandwidths are significantly reduced for flex instances. Both of these are significant to the operation of most non-trivial Kubernetes clusters.
The more I think about this the more I think that flex instances shouldn't be treated as general purpose instances in the Kubernetes context. A sub 20% price performance benefit isn't going to make up for the engineering cost of guaranteeing unexpected behaviour isn't caused by the compute platform. It's definitely not going to be worth it where performant networking or storage is involved. So ideally Karpenter makes flex instances explicit opt-in.
Again I'll point out that at the bare minimum there needs to be a documented pattern for blocking current and future flex instances.

Agree on the network and EBS baseline bandwidths and the association to non-trivial clusters that need high baseline network and EBS specs. But I bet you those are not the majority which is what I believe you are also implying.
I would like to understand the requirements and the use cases you are referring to since our data showing a majority of workloads not consuming high CPU includes Kubernetes too. I do not agree with "limited Kubernetes contexts and reduced performance" based on the data I see.
I will work to arrange a meeting with you.

Of course, since we haven't actually encountered a service failure yet, it remains a concern for now. However, it's not necessary to wait for a failure in production to consider its significance. Waiting until then is too late.

Thank you for the explanation, but there are still parts that I don't fully understand. So, what are the trade-offs of the m7i-flex? Is it just cheaper? A clear explanation of the trade-offs is necessary, as merely highlighting the benefits does not suffice for proper information delivery.

To reiterate, regardless of how good the m7i-flex is, it's not justifiable to deprive us of the means to distinguish it. It must be a clearly different type from the m7i, or else AWS wouldn't have named them differently (m7i vs m7i-flex). I understand your point about m7i-flex benefiting most users. I am hard to agree, considering that due to Kubernetes's nature of specifying requests, the benefits of using m7i-flex seem to be an exception. Even if I were to agree, depriving users of the right to distinguish between them is a separate issue. EKS is not serverless, and users should have full control over the node types.

@jonathan-innis should we build a selector for amd/intel? I agree we should have a selector for flex.

I'm supportive of a selector on CPU manufacturer, similar to how we have one for GPU manufacturer. Looks like that particular issue is tracked here: https://github.com/aws/karpenter-provider-aws/issues/3529. We'd definitely be receptive if anyone was wanting to pick that one up and implement it.

@saurabhmodh4 is there any documentation you can point us to that shows how the new flex instances actually work? As you've stated, there's no credit system, but more information on the following would be very helpful:

M7i-flex instances are designed to deliver a baseline CPU performance with the ability to scale up to the full CPU performance 95% of the time.

How long is the instance able to hold the 95% figure? What factors determine whether I can scale my CPU usage on the instance, etc.
For what it's worth I agree with the sentiment that this instance will probably be very useful for a large majority of users, but as a person looking to pack pods and and use spot instances I was surprised to see this instance in my fleet.

For what it's worth I agree with the sentiment that this instance will probably be very useful for a large majority of users, but as a person looking to pack pods and and use spot instances I was surprised to see this instance in my fleet

To chime in on this: I think we're generally supportive of adding additional selectors here (both on cpu manufacturer and also on whether something is a flex instance type or not. Maybe some labels like karpenter.k8s.aws/instance-cpu-manufacturer and karpenter.k8s.aws/instance-flex?
In either case, this isn't something that the maintainers have bandwidth to pull in right now but we'd be supportive of a PR that added this feature in if one was opened.

@bwagner5 did we come up with a proposed label for this?

How do we feel about karpenter.k8s.aws/instance-capability-flex: true/false. EC2 treats the suffix of the instance type name as capabilities: https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html. Long-term (if we had asks for it), we could also consider things like karpenter.k8s.aws/instance-capability-network-optimized, karpenter.k8s.aws/instance-capability-block-storage-optimized.

@jonathan-innis -- re: network-optimized -- Yes, this has been on my mind as an ask on behalf of Twilio.
Ex: Our API Edge has its own EKS clusters, and our preference is to keep them on network-optimized instances.

@tehranian Do you have specific bandwidth requirements or you just want network optimized in general?

@jonathan-innis I think we just want a general selector for "network-optimized":
I imagine if we had a specific bandwidth requirement, one could use a >= selector on karpenter.k8s.aws/instance-network-bandwidth using the values from https://karpenter.sh/docs/reference/instance-types/, right?
I'd probably JOIN that in my head with the table from https://instances.vantage.sh/ and choose instance-network-bandwidth > 12500 -- but that's not very easy or intuitive :) For our API Edge clusters (for example), it'd be simpler to have a boolean selector for "network-optimized".

@tehranian Do you mind opening a separate issue requesting karpenter.k8s.aws/instance-capability-network-optimized. If we are able to get the PR merged in, this may get closed out and this request is going to get lost.

Filed https://github.com/aws/karpenter-provider-aws/issues/6122 for a boolean field for network-optimized instances 👍


fix(http/write_handler): propagate context to http request

http.NewRequestWithContext (available since golang 1.13) ensures that the supplied context also controls the entire lifetime of a request and its response. Before this PR, the supplied context was not used at all.

[x] Well-formatted commit messages
[x] Rebased/mergeable
[x] Tests pass
[x] Signed CLA (if not already signed)

The effect of this change is the lifetime of the upstream write request is based on the provided Context. In other words, the write request will fail if the context terminates for any reason (e.g. canceled or times-out).


Clear output before building

Oops, merged too quick for the test to run. Not that it actually tested anything.


Backport 3.x TPM2-Tools

Backport @jetwhiz 's tpm2-tools additions to the 3.0x branch so that @martinezjavier can implement the changes in downstream packaging.

@jetwhiz "it looks like our F30 tpm2-tool changes are in stable now"


Accessibility: cannot tab through the add to project form

The tab key should be able to move past the advanced options link & proceed to the cancel and create buttons.

This may be an upstream issue w/pf-wizard?
@spadgett @jeff-phillips-18

Looks like it. The button is not really a button. It just has button styling and no tabindex.

Close button on the dialog also doesn't have an href, so it's not focusable. (This one is our bug.)

I noticed also you can tab outside of the dialog onto the page below when it's meant to be a modal.

Fixed by https://github.com/openshift/origin-web-console/pull/2103


False positive detection by windows defender

After downloading the last release windows defender detects the zip file as a trojan named Trojan:Script/Wacatac.B!ml with the next mesage:

Thank you for this Keneth @SobusaDriver.
This is a false positive assessment by Windows Defender.  I'm not sure what you should do to report this to Microsoft, but there is certainly not much we can do about that here.
Nonetheless, thank you for the heads-up!
Closing.

@SobusaDriver
The hosts file would be different from a normal (executable bins) false-positive submission (especially since it's an ever changing text file) I believe, but yeah, it's a pain in the butt to report false-positives to Microsoft.
I do have a feeling that since it's more about the detection of an alteration of a system file and not about a program there's not much that can be done as MS would have to change their system and not white list the file so I don't recommend wasting your time.
If you want to attempt to do so anyway you can follow the instructions found here: https://learn.microsoft.com/en-us/defender-xdr/submission-guide.
I've only ever attempted to submit excutables so I'm not sure how it will go for you. You don't actually submit the file directly, you submit the whole Defender log archive and they analyze everything involved with the detection.

As always, thank you for the assist Ian @Lateralus138!


HUDI insert not working

Attempted:
Insert of a non-duplicate new record into a CoW table from Spark with the following Hudi options:
            'hoodie.database.name': DATABASE_NAME,
            'hoodie.table.name': COW_TABLE_NAME,
            'hoodie.datasource.write.table.name': COW_TABLE_NAME,
            'hoodie.datasource.write.table.type': 'COPY_ON_WRITE',
            'hoodie.datasource.write.keygenerator.class':'org.apache.hudi.keygen.ComplexKeyGenerator',
            'hoodie.datasource.write.recordkey.field': 'taxi_type,trip_year,trip_month,trip_day,vendor_id,pickup_datetime,dropoff_datetime,pickup_location_id,dropoff_location_id',
            'hoodie.datasource.write.partitionpath.field': 'trip_year,trip_month,trip_day',
            'hoodie.datasource.write.precombine.field': 'pickup_datetime',
            'hoodie.datasource.write.hive_style_partitioning': 'true',
            'hoodie.partition.metafile.use.base.format': 'true',
            'hoodie.datasource.write.drop.partition.columns': 'true',
            'hoodie.datasource.write.operation': 'insert'

Issue:
A new parquet file was generated but the new record was not inserted, the record count did not change either.
Error:
None
Environment Description
Dataproc on Google Compute Engine on GCP: 2.1.14-debian11

Hudi version :*
0.12.0

Spark version :*
3.3.0

Hive version :*
3.1.3

Hadoop version :*
3.3.3

Storage (HDFS/S3/GCS..) :*
GCS

Running on Docker? (yes/no) :
no

Upsert did not work either.

Closing the issue, this was related to Hive Metastore - an explicit "refresh table table_name" was needed


Same drug-target pair has different affinities in Davis

Describe the bug
The Davis dataset is assumed to contain a unique affinity value for a drug-target pair. However, in TDC, there are duplicated drug-target pairs with different affinity values.
To Reproduce
from tdc.multi_pred import DTI
data = DTI('DAVIS', path='./data/TDC')
df = data.get_data()
df = df.drop(columns=['Drug', 'Target'])
df = df[(df['Drug_ID'] == 25243800) & (df['Target_ID'] == 'RET(V804M)')]
print(df)

Expected behavior
The expected output is given below. Different Y values were labeled for drug 25243800 and target RET(V804M).
        Drug_ID   Target_ID      Y
18196  25243800  RET(V804M)    4.8
18197  25243800  RET(V804M)    4.0
18198  25243800  RET(V804M)  350.0
18199  25243800  RET(V804M)  340.0

Environment:

TDC version: 0.3.0
davis.tab version on dataverse: 2021-01-09 (UNF:6:x6TTv0Um70rEZT/eL8eCtA==)

Additional context
When compared to the raw data of the Davis et al. paper, it looks like the four affinities values shown above should be assigned to targets RET, RET(M918T), RET(V804L), and RET(V804M), respectively. It seems all target IDs were overwritten by RET(V804M).

Thanks for pointing out the bug. Great catch. I think the issue is that it seems RET(M918T), RET(V804L), and RET(V804M) are three variants of RET target. So the target sequence would all be the same but the target ID is different. So the target sequence-SMILES pair itself is still correct but the naming of the target ID is wrong. We will update the correct target ID of these targets in the next release.

Thanks! But if we use unique IDs (e.g., RET(M918T), RET(V804L), etc.) and the same sequence for those mutants, I think there would still be ambiguity for the ML model? In other words, the same inputs (X) are mapped to different affinity values (y) in the data.
I think there are two potential ways to address the issue:

Use different IDs and their corresponding sequence. For example, for RET(M918T), we change the 918th AA from M to T.
For a protein with multiple mutants, only keep the strongest binding affinity value. This is what the Kiba dataset did when integrating the Davis dataset.

Thank you for the suggestion! I think both solutions make lots of sense. I will discuss this with the team and arrive at a final solution. Will keep you posted here!

Hi, we decide to follow #2. Mainly because #1 has several gene names with no clear gene sequence modification.


Decide on standardized I/O formats

configuration: yaml? json? a table?
time-series or calibratiion data: FITS? HDF5? any astropy.table
format? And what are the requirements for tables?
requirements:

keep units
support storage of CTA core metadata headers (provenance, etc)
support Pandas? (it tends to drop headers, but is nice)
support AstroPy.table?
support hierarchical tables in HDF5?

Event output: hdf5? FITS? H5py vs PyTables vs astropy.table?

I'd like to give my input here. But I am not entirely objected to any of the suggestions.
I typically use YAML for my configuration files. They are easy for a human to read and write.
I typically use HDF5 for storage of data (due to its ease of interaction with pandas). I find Pandas dataframes to be a very powerful tool for analysis.
Metadata can be stored in HDF5 with pandas:
store.get_storer('data').attrs.metadata
store.get_storer('data').attrs.something_else

Does this fix the header problem?
I'm not sure how to best store units in HDF5, and I don't think Pandas supports them in their dataframes (https://github.com/pandas-dev/pandas/issues/10349). But one option is to create our own interface that stores the units in the attrs as above, and restore the units on read...

So far preferences are: yaml for config, hdf5 and fits for outputs. and pytables for hdf5


Feature extraction

Thanks for the library. Is it possible extract features from different layers in the network?

Hi,
Try something like that:
  //Feature extraction
    const shared_ptr<Blob<float> >& features = caffe_net->blob_by_name("fc7");
    LOG(INFO) << "Features size " << features->count();
    vector myfeatures  = vector<float>(features->cpu_data(),features->cpu_data()+features->count());

Change "fc7" to whatever layer you want

I'm also trying to extract features. I need the features before they are passed through the softmax layer, just like in the code snippet above. Where should I add this code? Is it caffe_mobile.cpp?
Thanks

Yes, you can simply add it to predict_top_k function or create a dedicated feature extraction function

You can always modify the prototxt to extract features that are of interest to you. I have been able to extract features from the output of average pooling layer of a GoogLeNet model by simply removing the last three layers from the deploy prototxt file of the same model. You just re-run Forward() as before.

Thanks for your responses. I wasn't familiar with the Java Native Interface. I was able to run it by modifying caffe_jni.cpp and caffe_mobile.cpp files.

isikdogan, can you please share how you modified the caffe_jni.cpp and caffe_mobile.cpp files to be able to extract features from a layer in the network?

Keyurpatel93, I just noticed your message. I no longer work on that project. The development version of OpenCV seems to have caffe-compatible functions. I don't know if those functions are available in the Android version yet, but if so then it could be more convenient to use them:
http://docs.opencv.org/master/d6/d0f/group__dnn.html

Thanks to the discussions above. Feature extraction is integrated in the latest master branch, so I'm gonna close this issue.


Editing Linux files

So from reading through the issues and working with the linux subsystem, I have learned that you cannot edit the files created in linux subsystem with a Windows editor. So my question is, is it expected that I use vim or any other non-gui editors? Or are we suppose to install something like Xming and forward the display and in the linux system install a gui app there? Thanks for any insight you can give

No, just don't edit them in /home/youruser.  Make a folder in Windows, call it
%userprofile%\projects
In Windows subsystem for linux, do the following:
ln -s /mnt/c/Users/[YourWindowsUserName]/projects ~/projects
Any Linux-related file that you want to edit, edit it in ~/projects, and you will be 100% fine.
The problem is that files edited on the Linux Filesystem with a Windows editor deletes important extended attributes that the linux filesystem uses, because Windows editors can't understand them.

Thanks. I will give this a try

@fpqc Is it safe to assume that editing a file this way won't trigger inotify events?

@tjfryan There was an update and supposedly it will now.

@fpqc I've heard that inotify is now implemented, but the way I've always assumed inotify to work is that the operating system sends an update when you edit a file, as you're using that operating system to edit the file.  If you're editing a file from Windows-land (via notepad or vscode or what have you) will inotify trigger in WSL-land?

@tjfryan Yeah, they said they did it somehow on DriveFS. Just try it!

Discussion ran course.


Enforce normalization of line ending to LF

Get Consistent Line Breaks in VS Code for Windows. Unix systems (Linux and Mac) default to the LF (line feed) character for line breaks. Windows on the other hand is “special” and defaults to CRLF
Describe alternatives you've considered
we can use this-https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#per-repository-settings

I'll move this to the backlog for now as we require further information and discussion on the approach for implementation.

@GeorgeApos it will take 10-15 line of code


Reference to external site has issues

Specifically, the references to mssqltips.com for locating the SQL Server error log location.  Also, the code to locate the SQL Server error log location referenced on the site fails with an error:
USE master GO exec xp_readerrorlog 0, 1, N'Logging SQL Server messages in file', NULL, NULL, N'asc'  GO
Msg 22004, Level 15, State 1, Line 2
The format for the date filter is incorrect. Please use a valid SQL Server date or datetime format. For example, valid formats are ‘YYYY-MM-DD' and ‘MM/DD/YYYY’.
The following location may provide a better alternative:
https://docs.microsoft.com/en-us/sql/ssms/tutorials/ssms-tricks?view=sql-server-ver16#find-the-error-log-location-if-youre-connected-to-sql-server

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

ID: fd09d1c1-1abd-4460-3229-3aa243b91bd9
Version Independent ID: e4ecb81a-cb08-e0f3-185d-935f2cc7fcfe
Content: View the SQL Server error log (SSMS) - SQL Server
Content Source: docs/relational-databases/performance/view-the-sql-server-error-log-sql-server-management-studio.md
Product: sql
Technology: performance
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

@sqldude-2021 -- thank you for your clear feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@WilliamDAssafMSFT -- please look into this issue.

Thanks for bringing this to attention, @sqldude-2021. This old article should be updated with a more complete solution. This is tricky as xp_readerrorlog is not document or supported system stored procedure. A doc update is in flight. Thanks for your feedback, this helps make Microsoft Docs better for everyone.


Browser tests timing out with 2.8.0-dev.1.0

See
https://travis-ci.org/dart-lang/fake_async/jobs/636976975
https://travis-ci.org/dart-lang/clock/jobs/636977006
https://travis-ci.org/dart-lang/sample-pop_pop_win/jobs/637003551
CC @grouma @athomas
Not sure the root cause here...

I think this was likely fixed by https://github.com/dart-lang/sdk/commit/12984eee89bbd668574124171ea7a66f03d77113 but that didn't make it into that dev release.

cc @fishythefish

An assert would cause a hang in production?

My understanding is that the assert would cause a failure in the root of the browser bootstrap logic which could cause a hang.

The assert is actually inside of dart2js library code. If asserts are enabled then this would cause the test to fail to load because it happens during the test communication setup between the runner and browser.

@athomas – this is worth doing a +1 dev roll!

I will start 2.8.0-dev.2.0 build based on https://github.com/dart-lang/sdk/commit/d1e11f088108b5ec90fcc2faef7ed1437b018f47 (includes the fix and is the latest that passed the internal roll).

Calling this fixed!


Error when there is only one column in table

When there is only one column in Tr it will throw the following exception.
props.children is not array in this case.
new TrInner
node_modules/react-super-responsive-table/dist/SuperResponsiveTable.js:103
  100 | var headers = props.responsiveTable.headers;
  101 |
  102 | if (headers && props.inHeader) {
> 103 |   props.children.map(function (child, i) {
      | ^  104 |     headers[i] = child.props.children;
  105 |   });
  106 | }

Fix:
https://github.com/ua-oira/react-super-responsive-table/pull/60

Merged #60. This is a great solution for a problem I hadn't thought of. Thank you @NShahri!


Add logarithm function with custom base

log(x, y)

It can be internally converted to:

It will help with calculating partial derivatives by x and y.

closed in #19


Do not show disable adblocker messages to paying customers

Details

Read the Docs project URL: https://scala-native.readthedocs.io/en/latest/
Read the Docs username (if applicable): densh

Problem
Our project supports read the docs with 5/mo payments, but it looks like read the docs still shows this to our users:
Support Read the Docs!

Please help keep us sustainable by allowing our Ethical Ads in your ad blocker or go ad-free by subscribing.

Thank you! ❤

Is there any way to remove this message permanently? The project is in my list of projects under the gold page.

Thanks for support rtd, I think this is a duplicate of #4218


Create posta.txt

added ISISS Guglielmo Marconi

@UrloAlCielo First stage of verification passed, official domain is linkedin.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://it.linkedin.com/in/alberto-lanni-a2492a240/it

@UrloAlCielo Thank you for your patience while waiting for a review and processing your request. Pull request merged.


How to use accelerator keys

I saw the guide for accelerator keys here but would you have some sample codes on how to implement accelerator keys? Do we just use the html 5's labelfor attribute but I'm sure there are other ways that are programatic.

You may search Accelerator in the repo to find all related code. https://github.com/atom/electron/search?p=1&q=Accelerator&utf8=✓
One of the major usage is in global-shortcut API, you can view the usage in https://github.com/atom/electron/blob/master/atom/browser/api/atom_api_global_shortcut.cc

The accelerators are used in menu and global-shortcut modules.


created jenkinsfile refer to @master of library files

From @maxandersen on May 1, 2017 15:23
generated projects refer to @Library('github.com/fabric8io/fabric8-pipeline-library@master') rather than a specific version.
I would have expected a specific version or possibly a branch where only minor issues would be changing ?
Copied from original issue: openshiftio/openshift.io#123

@jstrachan @rawlingsj what do you think?


ref: move prepared files to ~/.cache dir

Moves the prepared files directory to ~/.cache/kaskada/.
The other alternative is to, for now, create a temporary directory that cleans up after use. While the ~/.cache is generally used for application-specific files (which is what the prepared files are), we aren't utilizing them and won't until we have state. But, if it's not a large concern to accumulate prepared files in the cache, we might as well start with it here in anticipation of using them.
Closes #779

Until we start re-using them, we really should delete them. Otherwise, every run of the test creates files that build up over time, eventually leading to out of disk space. And now it's in a hidden cache directory.
I think:

Preparing to a temporary or cache directory and deleting it is the way to go for now.
Soon, we want to re-enable prepare to S3 (more storage) and then (possibly) use the local cache directory for things like the rocksdb and a cache of downloaded files... at which point we should manage it like a cache and limit the size, etc.


I can't bind address on ::2

But ::1 is ok.

listen_addresses = ['<IP_ADDRESS>:53', '[::2]:53']
[2019-06-27 19:51:13] [NOTICE] Network connectivity detected
[2019-06-27 19:51:13] [NOTICE] Source [public-resolvers.md] loaded
[2019-06-27 19:51:13] [NOTICE] dnscrypt-proxy 2.0.25
[2019-06-27 19:51:13] [NOTICE] Now listening to <IP_ADDRESS>:53 [UDP]
[2019-06-27 19:51:13] [NOTICE] Now listening to <IP_ADDRESS>:53 [TCP]
[2019-06-27 19:51:13] [FATAL] listen udp [::2]:53: bind: The requested address i
s not valid in its context.

::2 is not a loopback address.