Support different isolation levels

In this PR, I attempt to introduce different isolation levels, i.e., READ_ONLY, SERIALIZABLE, REPEATABLE_READS, READ_COMMITTED, into Peloton.
Please note that, for now, our SERIALIZABLE is equivalent to REPEATABLE_READS, as we do not solve phantom problem. We do not support READ_UNCOMMITTED as it is too trival. Following Oracle's article, I treat READ_ONLY as a special isolation level.
I think @jessesleeping is the best person for reviewing this PR, but as he's enjoying life at Facebook, we need to find another person to review it.

Coverage increased (+0.2%) to 66.519% when pulling 568fb4885b6db57e5ccc235866bee5ac8290472e on yingjunwu:snapshot_isolation into d3cd3386f5432ce7ada691679d241a7ae74f69fd on cmu-db:master.

This PR requires careful code review. In addition to implementing all isolation levels, I refactored the epoch manager code to make it easier to understand. I removed all the old logging code and prepared APIs for the new logging component. I commented out the storage manager code because it is tightly coupled with the old logging code. According to our plan, we will refactor the storage management component in May. As discussed before, I also temporarily commented out some logging-related test cases.

Coverage increased (+0.1%) to 66.406% when pulling 66972e70defab17600d5ee39feb9b184cdccc943 on yingjunwu:snapshot_isolation into d3cd3386f5432ce7ada691679d241a7ae74f69fd on cmu-db:master.

My dear Yingjun, how can I review a PR of +3,912/−9,540.....

Please add more test cases for different isolation levels.

@jessesleeping I think you could skip the logging part, because it's just some function declarations. You may start from reviewing epoch manager as well as the GC manager. I refactored them and unified API. I think we need to rewrite all the related test cases as the current test cases do not really test different isolation levels...

@jessesleeping I agree with you that we need to spend more time testing the system backend, including transaction manager, epoch manager, GC, and logging. It's not that easy and we should review the code carefully.

Coverage decreased (-1.3%) to 66.421% when pulling db4a28c1599d0d065a2e0e1b8eb16f82f0fac04e on yingjunwu:snapshot_isolation into 642bef950e0fbaedd73e81c09eab624d95446de3 on cmu-db:master.

Coverage decreased (-1.6%) to 66.171% when pulling e6780d3594653cc1d8a5957500065b0d921ec1a6 on yingjunwu:snapshot_isolation into 7a3483e137f454602bda918d3932604f1f34bf77 on cmu-db:master.

Coverage decreased (-1.4%) to 66.428% when pulling e6780d3594653cc1d8a5957500065b0d921ec1a6 on yingjunwu:snapshot_isolation into 7a3483e137f454602bda918d3932604f1f34bf77 on cmu-db:master.

Coverage decreased (-1.3%) to 66.465% when pulling e6780d3594653cc1d8a5957500065b0d921ec1a6 on yingjunwu:snapshot_isolation into 7a3483e137f454602bda918d3932604f1f34bf77 on cmu-db:master.

Coverage decreased (-2.5%) to 65.276% when pulling 5e6abd3348991d0cf83ff6e801e33086b803e6b4 on yingjunwu:snapshot_isolation into 004c892feff222497c8d21df914449ad6db704a9 on cmu-db:master.

Coverage decreased (-2.5%) to 65.264% when pulling 5e6abd3348991d0cf83ff6e801e33086b803e6b4 on yingjunwu:snapshot_isolation into 004c892feff222497c8d21df914449ad6db704a9 on cmu-db:master.

Coverage decreased (-1.5%) to 66.287% when pulling 7ba2f0e7176b049e483b89594cc34adade950065 on yingjunwu:snapshot_isolation into 004c892feff222497c8d21df914449ad6db704a9 on cmu-db:master.

Disable logger :-1:

Coverage decreased (-1.5%) to 66.305% when pulling 9c9b7fe8dc1ba5314f18e7ff14928fade8487d49 on yingjunwu:snapshot_isolation into 004c892feff222497c8d21df914449ad6db704a9 on cmu-db:master.

Coverage decreased (-2.1%) to 65.658% when pulling 24a774ae542f200189ca00abd6c692a2fa42fbdc on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

Coverage decreased (-1.1%) to 66.651% when pulling 24a774ae542f200189ca00abd6c692a2fa42fbdc on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

Coverage decreased (-1.1%) to 66.674% when pulling c56d335840c0c8a60dfdb25f38a864f107cc0cdb on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

Coverage decreased (-1.2%) to 66.613% when pulling c56d335840c0c8a60dfdb25f38a864f107cc0cdb on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

@jessesleeping I have finished implementing REPEATABLE_READS and SNAPSHOT_ISOLATION. Please perform another round of code review. Thanks.

Coverage decreased (-67.8%) to 0.0% when pulling 6e13ca34c4975018e1ed15cc1350d6236ec1826a on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

Coverage decreased (-1.05%) to 66.744% when pulling 84dbbb6b618a298ab1ba2b1c5cb463347d1ce70c on yingjunwu:snapshot_isolation into 48f515127d7458bf055b43d2441686273f65869a on cmu-db:master.

Coverage decreased (-67.2%) to 0.0% when pulling 38085983f75bbc98d79abc6064c424a76eae8a48 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-1.3%) to 65.939% when pulling 38085983f75bbc98d79abc6064c424a76eae8a48 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-0.9%) to 66.341% when pulling 79f0f94f1b28080105e43d1fc244f16f8d176360 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-0.8%) to 66.421% when pulling 79f0f94f1b28080105e43d1fc244f16f8d176360 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-67.2%) to 0.0% when pulling 91074ed45e64e684edfaa5df2465d9892edaee38 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-1.0%) to 66.24% when pulling d1f4ace2c28ceaf66e49c0c097dc25a84a223ad5 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-1.0%) to 66.269% when pulling 1bd104970566a36cf8c178ad5db8da8868827159 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-0.9%) to 66.339% when pulling 1bd104970566a36cf8c178ad5db8da8868827159 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-0.8%) to 66.446% when pulling aa6b2b14f1d40b2a3cb30b0f324c54c27abf4844 on yingjunwu:snapshot_isolation into a05b5c134802a522ff00e135350cb44838546dff on cmu-db:master.

Coverage decreased (-0.3%) to 66.833% when pulling 79f24513ba0c943a6691dd20dd01b028af175564 on yingjunwu:snapshot_isolation into 2b56468c5482034462d3f8b8d2115769416298c3 on cmu-db:master.

Coverage decreased (-71.5%) to 0.0% when pulling aee6278d1bc40eb5f0bb1dc435d61383bcdacca0 on yingjunwu:snapshot_isolation into f9238733916b3f42c0ed7e947b4a1c3ce24f846e on cmu-db:master.

@apavlo I've talked to @pmenon before making this change. The reason is that the original design of storage manager is heavily dependent on the logging component, which is unreasonable. I think that the storage manager requires a complete redesign. As sorter only needs memory, we can safely replace it with malloc and free.

Only the core parts of the storage system should be calling malloc/free directly. I don't see why this change is necessary.

Coverage increased (+0.2%) to 71.66% when pulling e5ec75d80cb44735aafe5c3e5be72b5b205c02ee on yingjunwu:snapshot_isolation into f9238733916b3f42c0ed7e947b4a1c3ce24f846e on cmu-db:master.

@apavlo I understand. But anyway we have to completely refactor the storage manager code. It depends on logging stuff, which is wired. Meanwhile, it also assumes the underlying NVRAM is an emulated one, which is unreasonable for a real-world DBMS. I think we can have a discussion on the storage manager part after SIGMOD.

Coverage increased (+0.02%) to 71.474% when pulling be7df476455859f8f74e0c478b590bf0dfddc1a7 on yingjunwu:snapshot_isolation into f9238733916b3f42c0ed7e947b4a1c3ce24f846e on cmu-db:master.

@apavlo So I have revised the code based on the review comments. The snapshot isolation part is done. However, the logging component is still unfinished, as it depends on the PR #577. Also, the storage management component should be redesigned.

@yingjunwu Let's discuss in person. I need to figure out what PRs we are going to need to merge.

Coverage increased (+0.01%) to 71.476% when pulling 904bfd8ebb7fe38c0d67251ba75e438f4f24a249 on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

Coverage increased (+0.04%) to 71.507% when pulling 2a275d330f7312eccba2aa274880327594393cec on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

Coverage increased (+0.06%) to 71.525% when pulling 07ce3d4ebe01663bea9af9f57491932dda3fe8c1 on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

Coverage increased (+0.04%) to 71.507% when pulling 010b07cf4f66e0653ad25b935f42be85b49cc2a6 on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

Coverage increased (+0.06%) to 71.525% when pulling 010b07cf4f66e0653ad25b935f42be85b49cc2a6 on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

I think once @seojungmin fixed the optimizer_sql_test bug, the PR can be merged.

Coverage increased (+0.05%) to 71.511% when pulling 856ad2b127347da39c2ec4c9d5effa52951f2c47 on yingjunwu:snapshot_isolation into 134a645844621121be19f8c6a2f18a7486c929bc on cmu-db:master.

Coverage decreased (-0.04%) to 71.532% when pulling f5ec56f1c7f6e95f6e19a2409857f05e7ed6bb61 on yingjunwu:snapshot_isolation into d3fd0a5d986302d795f074b95e8f0d068d00c004 on cmu-db:master.

Coverage decreased (-0.04%) to 71.528% when pulling f5ec56f1c7f6e95f6e19a2409857f05e7ed6bb61 on yingjunwu:snapshot_isolation into d3fd0a5d986302d795f074b95e8f0d068d00c004 on cmu-db:master.

Coverage decreased (-0.03%) to 71.541% when pulling 233728f55f59c12f0518f1c94e920c755e049b1e on yingjunwu:snapshot_isolation into d3fd0a5d986302d795f074b95e8f0d068d00c004 on cmu-db:master.

Other than @Michael-Tieying-Zhang's comment, is everything else ready to go in this PR?
If so, then @yingjunwu can rebase and I will merge.

@apavlo I suggest we should perform a performance test before or after merging the PR. Now we can support different isolation levels. We can test whether varying the isolation levels help improve the performance.

@yingjunwu I don't think we should worry about performance at this point. We should worry about correctness and stability. Can you rebase?
@ChTimTsubasa What test are you referring to? If you mean OLTP-Bench, then it will crash because of the bug that's fixed in #672. We can't run OLTP-Bench without that.

Please refer to PR #691.


Events table - take out date fields from addinfo_json to seperate columns

Proposed solution
Create db columns for created_at, start_date, end_date.
Will make it easier closing issues like #723 (default event id), query the db by first created, starting soonest, etc.
Tradeoffs

Testing Done
Yep. Manual testing on local instance, running data migrations back and forth, making sure events CRUD works as expected.

@amotenko


Fix meta-data glightbox: false being ignored in on_post_page

This markdown metadata is properly ignored in on_page_content but not in on_post_page. This fix will make mkdocs build faster for projects with lots of pages that contain such metadata.

Thanks! LGTM.


fix typo in file name

Thanks for catching this @schiller-manuel 🙋🏼♂ We removed this file part of #264 but doesn't hurt to merge this fix in the meantime :)


missing package metadata in boost_1_75_0.tar.gz

I was trying to use boost libraries,
I downloaded the boost_1_75_0.tar.gz package from the official website of boost.org.
When i tried to install the package it gives error:

I am using Endeavour OS (Arch Based).

That link downloads the source of boost. To install it using pacman you need to write a PKGBUILD.
A lot more easier method should be to install it from package repos.
For runtime, install boost-libs
sudo pacman -S boost-libs

For development, install boost
sudo pacman -S boost


Support background index

An interesting usecase for background ddl is that we can use it for transient errors.
Typically in foreground ddl, if there's some transient error, the entire stream job will fail.
But with background ddl, since the stream job is persisted, after recovery it can continue execution.
Mentioned by @zwang28

Waiting for sql backend recovery tests. https://github.com/risingwavelabs/risingwave/issues/12802


Fix range filter issue

In previous pr#5, fix vulnerability issue in a wrong way. Lead to some queried failed due to A range filter must have  a lower or upper  bound

cc @xieqi

LGTM.
BTW, we should bring more CI coverage now as mail discussed :) I forgot to figure this out in PR#5.


local image/font

Hi,
Is it possible to load images/font/css by loadHTML if file html is not in Bundle but just loaded by user, for example in Document folder of Application?
Thanks

Hi @edon2005,
I think I'll need some additional info. How would your setup be different from the current one? If that Document folder is in your app then it has to be a part of your Bundle right? Feel free to send me your app's structure so we can figure this out :)
Cheers

Hi @tech4242,
For example - I download zip archive from server and unzip it in Documents. The zip archive has file.html, file.css, file.jpg, file.ttf.
So Documents contain:
Sub Folder 1 /
and in Subfolder contain:
file.html
file.css
file.jpg
file.ttf
and WKWebView did not see it at all...

Ok, got it. Will have to try this one out. Will keep you posted!

Thanks a lot! :)

@edon2005 added the functionality as you requested. Took me longer than expected tbh :) will add it to my StackOverflow answer as well. Now is as good a time as any to star the repo ;)

@tech4242  did you get success in it????

@edon2005 yup just read the README

@tech4242 It work in simulator, but on real device nope :(

@edon2005 aaand fixed for my iPhone X :) The magic is using webView.loadFileURL(htmlURL, allowingReadAccessTo: folderURL!) instead and setting allowingReadAccessTo to the whole folder and not just your html file - found that out in the last second before giving up haha

@tech4242 But you do
                    webView.loadFileURL(htmlURL, allowingReadAccessTo: folderURL!)

instaed of
                webView.loadHTMLString(htmlString as String, baseURL: baseUrl)

It is a little different

LOC 79: webView.loadFileURL(htmlURL, allowingReadAccessTo: folderURL!) ViewController.swift

@tech4242  Correctly, but the question is how to use webView.loadHTMLString. Because for exmaple you need to do some js injections.

won't work with loadHTMLString because baseUrl doesn't seem to work on devices like it does in the Simulator. That one I can't solve. Why not just add another JS file that has your JS code as a workaround?

@tech4242 because html files in zip are around the internet. They are not mine. And here is 2 decision I see:

Use GDWebServer.
Rewrite content of that files with injections and opened them again.

Depends on your usecase I guess. What I meant was that you could just add a


feat(RepresentationTheory/GroupCohomology/LowDegree): H¹(G, A) ≃ Hom(G, A) for a trivial representation

Given a trivial representation of a group G on a k-module A, this PR defines the isom H¹(G, A) ≃ₗ[k] Additive G →+ A.
It also adds a predicate for when a representation is trivial, isTrivial.

bors r+

maintainer merge

Sorry, this was a bors d+ that went into the void followed by a bors r+ caught by the revived bot.
bors merge


chore: Bump version to 3.0.0-beta.1

Bump version. The PR also has a commit which removes the need to update version manually.

Merged without review because this is trivial.


Please add the direction feature and rendering of routes.

This widget is deprecated and no features will be added to it. Please follow the new repo https://github.com/mendix/widgets-resources


chore(package): update execa to version 3.3.0

:tada: This PR is included in version 1.5.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Better feedback when an example's start rule is deleted

If an example has an explicit start rule set (e.g., 'Foo') and that rule is later delete from the grammar, we should improve the feedback that we give. Currently, the example will turn red, but we don't show much feedback about what the problem is.
Here's what I'm thinking:

We keep an entry in the start rule dropdown, e.g. "Foo (undeclared rule)", and
We show a regular error in the example editor saying "Rule Foo is not declared in grammar Arithmetic"

Thoughts, @mroeder and @sakekasi?

We automatically change the attached rule to null so that it picks whatever rule is first (implicit start rule) again.

I think that either 3. or 2. are good ways to go. I don't really like the idea of keeping a reference to a non-existing rule anymore.

I'm worried about what happens if -- intentionally or accidentally -- you change the name of a rule that several examples use as their start rule. Say you accidentally delete a character from the rule name, I think it could be pretty annoying if that silently updated a dozen examples and then you had to go and manually fix them again.

I see. It wouldn't break anything when it is still the first rule and therefore the implicit start rule.
However, it makes a difference for a rule somewhere in between. So, 2.?

This has already been fixed.


Add abstract eloquent casts

Sometimes you have an abstract parent data object with multiple child data objects, for example:
abstract class RecordConfig extends Data
{
    public function __construct(
        public int $tracks,
    ) {}
}

class CdRecordConfig extends RecordConfig
{
    public function __construct(
        int $tracks
        public int $bytes,
    ) {
        parent::__construct($tracks);
    }
}

class VinylRecord extends RecordConfig
{
    public function __construct(
        int $tracks
        public int $rpm,
    ) {
        parent::__construct($tracks);
    }
}

A model can have a JSON field which is either one of these data objects:
class Record extends Model
{
    protected $casts = [
        'config' => RecordConfig::class,
    ];
}

You can then store either a CdRecordConfig or a VinylRecord in the config field:
$cdRecord = Record::create([
    'config' => new CdRecordConfig(tracks: 12, bytes: 1000),
]);

$vinylRecord = Record::create([
    'config' => new VinylRecord(tracks: 12, rpm: 33),
]);

$cdRecord->config; // CdRecordConfig object
$vinylRecord->config; // VinylRecord object

When a data object class is abstract and used as an Eloquent cast then this feature will work out of the box.
The child data object value of the model will be stored in the database as a JSON string with the class name as the key:
{
    "type": "\\App\\Data\\CdRecordConfig",
    "value": {
        "tracks": 12,
        "bytes": 1000
    }
}

When retrieving the model, the data object will be instantiated based on the type key in the JSON string.
Abstract data class morphs
By default, the type key in the JSON string will be the fully qualified class name of the child data object. This can break your application quite easily when you refactor your code. To prevent this, you can add a morph map like with Eloquent models. Within your AppServiceProvivder you can add the following mapping:
use Spatie\LaravelData\Support\DataConfig;

app(DataConfig::class)->enforceMorphMap([
    'cd_record_config' => CdRecordConfig::class,
    'vinyl_record_config' => VinylRecordConfig::class,
]);

Why no DataCollection support?
At this point in type a DataCollection can only be of one type only, so no use to make a cast for abstract child classes for now.

@rubenvanassche this is really cool, I like the approach you took!
Is the plan to extend this functionality in the future so it can be used with collections etc.?
Just checking as we're currently using a trait to handle some dynamic data class functionality and it would be great if there was built-in support for this in the package!

I really want to implement such a thing, but am not sure at the moment how we're going to do it. Especially since validation of such collections for example will not work due to the different types.
This was really a simple fix for a problem we we're having in one of ours projects.
But as soon as v4 is out I'll start taking a look at these types of collections.

Thanks for replying @rubenvanassche! In our situation it was fine for us to have a property on the abstract class that identified which concrete version of the class to use (and that's the approach we took with the trait I linked above), but I can see how that might not be a solution everyone would be happy with.
In some ways I feel like having a piece of data on the abstract data class and having it determine which concrete version of the class to validate against / instantiate makes sense. Without the identifying data in the abstract class it was really awkward to work with because we'd always need to pass in the type / class name of the data object to use externally - especially awkward when working with collections of the same abstract type.
There's probably better ways to solve that issue, but for us it felt like a reasonable trade-off requiring some piece of variant-identifying data in the objects themselves.
Cheers mate!


Evaluate control modules in Universe

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
Investigate performance of control pipeline in universe.
Purpose
Evaluate current control pipeline and confirm that it has enough features for Bus ODD.
Possible approaches
Create benchmark tools to test control modules (e.g. calculate offsets from trajectory) and evaluate control moduels
Definition of done

[x] Design a benchmark tool to evaluate control modules (also check with Sim WG)
[ ] Run benchmark tools against control modules
[ ] Create issues for missing features or bugs found from the results.

@mitsudome-r There is a package called control_performance_analysis in Control. I am confused, is purpose of this issue develop this package? Or, this package is not going to be used anymore so we need to develop a new package?
Mentioned package: https://github.com/autowarefoundation/autoware.universe/tree/main/control/control_performance_analysis

@TakaHoribe Could you explain what control_performance_analysis is used for, and what kind of metrics are used to generate the result.

This package computes;
tracking error outputs:

lateral error ey
heading error eyaw

The tracking errors are computed by projecting current vehicle location on the current trajectory. In addition, the generated control vector u us used to compute an quadratic energy like value similar to we use in the MPC computations; uRu^T. We use the same kind of energy for the tracking’s errors; xPx^T.
The cost matrices R and P can simply be taken as unity matrices. However in the package we use an R and P matrices computed from stability LMI equations for a kinematic feedback controller.
In addition in the package we compute an approximate curvature for each waypoint on the trajectory.

We decided to modify the  control_performance_analysis package. I will add new functionalities to this package. Current design is here:

I will create PR for this design. If you have any comment, please feel free to share with us.

Example usage of control performance analysis tool: https://github.com/orgs/autowarefoundation/discussions/412#discussioncomment-2947841

@brkay54 Thank you for running the test.
Discussion from ASWG:

@brkay54 to try more tests in different map with different path (e.g., with more curves)
Also, providing screenshots of the tests might help us imagine what is causing the larger error in mpc_follower

There are same updates about testing.
There were two blockers for me.

Firstly, I realized that heading and lateral error were increasing so much in straight road. So I investigated that and I found that control_performance_analysis tool sometimes choose wrong nearest trajectory point. It was fixed with this PR.

Secondly, I tried run the evaluation tool in different maps and with long time range. But PlotJuggler's buffer size is not enough to record all data. I opened issue for this.

For now, I am currently run this test on kashiwanoha_map because of second blocker (I can not collect the all data for long time period). I collected data in kashiwanoha_map, after some processes, I am going to share here.

Both MPC and pure_pursuit were tested in three different environment:

sample_vehicle + kashiwanoha_map
sample_vehicle + gebze_map
isuzu_vehicle + gebze_map

Driving status

Test - 1 sample_vehicle + kashiwanoha_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

lateral_acceleration
-0.403416
-0.547744
0.481827
0.618049
0.020227
0.017232

lateral_jerk
-1.983906
-4.221178
2.424854
2.450203
-0.013859
-0.002141

Test - 2 sample_vehicle + gebze_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

lateral_acceleration
-0.502603
-0.517804
0.18027
0.215238
-0.040143
-0.040282

lateral_jerk
-1.276513
-1.565028
0.913313
1.330014
-0.000146
-0.000129

Test - 3 isuzu_vehicle + gebze_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

lateral_acceleration
-0.779351
-0.82164
0.271746
0.308302
-0.062338
-0.062065

lateral_jerk
-1.985067
-2.340564
1.413154
1.961581
-0.00036
-0.000516

MPC has higher lateral acceleration and jerk peak value than pure_pursuit

Performance variables

Test - 1 sample_vehicle + kashiwanoha_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

heading_error
-0.443751
-0.579112
0.402318
0.421394
0.002471
-0.007

heading_error_velocity
-0.191558
-0.203922
0.248491
0.376283
0.001939
-0.000965

lateral_error
-0.381273
-0.22516
0.439361
0.439361
0.009929
0.046452

lateral_error_acceleration
-0.424266
-0.586141
0.674285
1.010908
0.011949
0.008286

lateral_error_velocity
-0.887937
-0.905332
0.882841
0.917043
0.006962
0.007918

Test - 2 sample_vehicle + gebze_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

heading_error
-0.355129
-0.290287
0.152418
0.063587
-0.005227
-0.003886

heading_error_velocity
-0.102993
-0.092189
0.111945
0.126462
-0.000953
-6.2E-05

lateral_error
-0.280567
-0.289781
0.220632
0.222301
-0.014059
-0.00631

lateral_error_acceleration
-0.318318
-0.268501
0.319817
0.354164
-0.002302
-0.002464

lateral_error_velocity
-0.819191
-1.08276
1.149198
0.27054
-0.014403
-0.015096

Test - 3 isuzu_vehicle + gebze_map

Series
PP Min
MPC Min
PP Max
MPC Max
PP Average
MPC Average

heading_error
-0.604754
-0.188215
0.175775
0.04927
-0.00514
-0.004605

heading_error_velocity
-0.338885
-0.397858
0.109483
0.12697
-0.022434
-0.021345

lateral_error
-0.30969
-0.351939
0.231677
0.233544
-0.014029
-0.012137

lateral_error_acceleration
-0.915756
-1.127259
0.489062
0.571718
-0.078175
-0.076123

lateral_error_velocity
-0.945196
-1.023388
0.740805
0.217162
-0.014718
-0.018148

Performance variables total error (RMS)

Test - 1 sample_vehicle + kashiwanoha_map

Series
PP
MPC

rms_heading_error
555.11382
589.214804

rms_heading_velocity_error
758.785943
862.506255

rms_lateral_acceleration_error
1795.123815
1991.941973

rms_lateral_error
1592.406027
1766.117106

rms_lateral_velocity_error
1273.025241
1214.16156

rms_tracking_curvature_discontinuity_ability
40.785818
40.586663

Test - 2 sample_vehicle + gebze_map

Series
PP
MPC

rms_heading_error
288.937329
196.057345

rms_heading_velocity_error
272.279047
258.74408

rms_lateral_acceleration_error
1154.30252
1120.854012

rms_lateral_error
1261.378532
1106.977478

rms_lateral_velocity_error
1194.883565
824.382134

rms_tracking_curvature_discontinuity_ability
15.148316
15.160162

Test - 3 isuzu_vehicle + gebze_map

Series
PP
MPC

rms_heading_error
270.866384
210.666686

rms_heading_velocity_error
687.926264
742.115233

rms_lateral_acceleration_error
2811.365921
3094.668373

rms_lateral_error
1249.054939
1289.547955

rms_lateral_velocity_error
1103.374622
890.818035

rms_tracking_curvature_discontinuity_ability
15.135825
15.161382

Results Plotted (Lateral Error - Heading Error - XY Pose of vehicle)

Test - 1 sample_vehicle + kashiwanoha_map

Test - 2 sample_vehicle + gebze_map

To visualize the results

Download the data: alltests.tar.gz
Open PlotJuggler and import the data
Now, you can see the series at left side of window. You can plot the data.
To plot vehicle position for debugging, Select two curves x and y from vehicle kinematic state (keeping the CTRL key pressed) and Drag & Drop them using the RIGHT Mouse button.

My opinion
There is no big performance difference I think. Pure Pursuit has better performance in kashiwanoha_map than MPC. However, MPC has better performance in Gebze map. I think Pure Pursuit can better handle the sharp turns than MPC but generally MPC has better performance.

@mitsudome-r I added instruction documentation in PR. We can close the issue now.

@brkay54 Thanks for all your work! I'm closing this issue.


Attach final URL of the Response after redirect

Follow-up from #69 / #70
I used to follow the redirects manually then I updated this lib to its latest and everything broke in my crawler ;]
Example:
package main

import (
    "log"

    "github.com/franela/goreq"
)

func main() {
    // this is explicit redirect but many websites are broken and have less obvious redirects
    u := "http://httpbin.org/redirect-to?url=http://golang.org/"

    res, err := goreq.Request{
        Uri:          u,
        MaxRedirects: 2,
    }.Do()

    if err != nil {
        log.Print(err)
        return
    }

    // further investigation of the URL is needed
    // above url was a redirect and doesn't reflect the current URL we're dealing with
    log.Print("What's the response's URL?!?")
}

So this PR keeps the final URL (but only after redirecting) and makes it available on Response
        ...
        log.Printf("Here's the current URL: %s", res.Uri)

I am little Gopher noob TBH so let me know if this PR is rubbish!

@mattack108 first of all thanks for contributing!. Secondly, we're very sorry that we broke your code by updating the lib. We take changes very seriously and we usually make sure we're as much as backwards compatible as possible by adding all the unit tests we can so we minimize the impact of new changes.
Having a look at your example code I've realized that indeed we made a mistake by returning an error if MaxRedirects is not specified. I've fixed that in the follow commit 133d94f1acc8041a142d4b09dc2f98164cf9f433 as we should only return errors when some limit is exceeded (such as MaxRedirects for example) or there's something wrong with the request. That's why if you don't specify a MaxRedirect now you won't receive any errors unless there's  something really wrong in the request itself.
Regarding your PR, I'm not sure if that is the way I'd keep URLs during redirects. That's why we don't follow redirects automatically so in the case of multiple redirections you can handle them yourself and  track of the redirected Urls by looking at the response.Header["Location"] value.
I'm not closing this PR yet though, I'll ask @xetorthio what he thinks and try to decide what's the best for the library and our users.

@marcosnils thanks for replying :-)
It's ok with my code and defo not your fault - Go lacks package management and every software has some bugs (ha, joyful statement). It's more about how we can deal with it.
Have you considered http://labix.org/gopkg.in or similar (if any) approach to versioning?
Nice find with the MaxRedirects bug - I was probably too tired to recognize it.. just specified the /new/ param and moved along.
I could look into Location header, but the thing is my code is more complex than the above example - custom function takes an url and returns response/error only (not a fan of returning too many things), then in the main program I need to parse the /current/ url hence this PR.
And thanks for merging :cake:


Replace importlib_metadata with stdlib importlib.metadata

importlib.metadata is in the standard lib since 3.8, although some features are not available before 3.10, so at least for all python versions >=3.10 it should be possible to get rid of the dependency importlib_metadata.

I believe we needed the importlib_metadata  backport for more complicated version selection that was difficult to support in our conda builds (xref https://github.com/dask/dask/pull/10070#discussion_r1137061257). We decided it wasn't worth the added complexity. Is this actually problematic, or more about only installing the backport when absolutely necessary?
cc @graingert

It's not a problem, just a matter of trying to clean up transitive dependencies :)

importlib.metadata has bugs in 3.10.8 and 3.11.0 and so we still need the backport for those versions

Thanks @graingert. I'm suggesting we add a note over in https://github.com/dask/dask/pull/10207 to close out this issue


feature detection (particularly drag and drop)

Regarding feature support: https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support
Is it possible to detect which features are present?
In particular, I don't want to tell users to drag and drop their files if the plugin does not support this feature on their browser.
Thanks!

You'll find the internal check of the plugin here:
https://github.com/blueimp/jQuery-File-Upload/blob/master/jquery.fileupload.js#L152
You can either copy the code or you can call this internal method, like this:
var xhrUploadEnabled = $('#fileupload').data('fileupload')._isXHRUpload({multipart: true});


Talker and Listener can't communicate on the same device

I installed the 2 APKs to the same device and run them together. I expected to see listener can receive the messages sent from talker, but nothing happended, even in logcat. Did I miss anything?

I think it's because when either app is sent to the background, the nodes are removed from the executor https://github.com/esteve/ros2_android_examples/blob/master/ros2_listener_android/src/main/java/org/ros2/examples/android/listener/ROS2ListenerActivity.java#L108-L113 so if you disable that code, you should be able to run ROS2 apps in the background.


CSS conflicts

First of all: thanks for this component!
This library introduces visual changes in other parts of our webapp. I would suggest to prefix all classes with notify- to avoid this. Especially the .close and .alert classes.

Thanks for posting the issue. I think it's a good idea. I will try to wrap everything in a class and place the css under that class

In case you're going full BEM the resulting css would look like:
.notifyjs {
  position: fixed; ...
}
.notifyjs-notification {
  display: inline-block; ...
}
.notifyjs-close {
  float: right;
}

// Variants for position
.notifyjs--top {
  top: 0
}
.notifyjs--right {
  right: 0
}
...

// Variants for themes
.notifyjs--material {
  .notifyjs-notification {
    color:; box-shadow:; border-radius:;
  }
}

I consider making a PR if I find the time.

As much as I would like to go with BEM, I don't think I will do that.
I mainly created this component in order to use it in some of my projects which override the css for notifications.
I think making a wrapper should be sufficient so it doesn't interfere with other items.
.notifyjs{
 .close{....}
.alert{...}
}

There can be a chance that these elements can be affected by other styles though. If that happens, I will have to use BEM in the end.
PS: Any PR is welcome

0.2.0 will have all css wrapped in a .vue-notifyjs class for now. This will avoid elements being affected by vue-notifyjs. Will add BEM support later on so other css libraries don't affect the plugin as well.


feat: betterdiscord plugins through bdcompat

The ability to use BetterDiscord plugins would be a nice addition as there are some plugins which Powercord is missing.

First, thanks @LavaDesu for the overlay, it works like a charm.
I also wanted to invesitgate if this could be possible, and thought about these two options:

Adding a new inputs to themes and plugins, along the lines of bdPlugins. The behaviour should be the same to plugins: passing a list of derivations for each plugin. Just by having 1 or more, would also pull bd compat into plugins, and set the subdirectories accordingly.
Passing as a plugin a derivation that has bdcompat + any BD plugins installed. Something like:discord-plugged.override {
plugins = [
  (fetchFromGitHub { }) # powercord plugin X
  ( bdCompat.withPlugins (_: [
    (fetchFromGitHub {  }) # bd plugin Y
    (fetchFromGitHub {  }) # bd plugin Z
  ]))
];

};

Superceeded by #5


readme for branches and pull request best practise

@OlushoreOdude what's the update with this ticket? Is this one done now?
Also is the output shared and its clear to everyone on the team to follow through?

@kahei-li , I think this was linked to a team decision, i'll review if it is still needed and update or close ticket .

issue cancelled and closed


Refactoring

Cleaning up the very overgrown home.component.html 😅 by moving template stuff to newly-created & dedicated components:

shortcut component
ribbon component
sort-order component
tag-tray component
wizard component 😅

Reducing the length of home.component.html template from 1,872 lines of code to 1,340 😓
A later css cleanup is in order 😓 - will do after PR merges

@cal2195 -- no need to review -- adding you just FYI -- creating a bunch of component files and moving code away from home.component.html since it's overgrown 🌱 🌱 🌱
I should have done this from before version 2.0.0 but kept being lazy 😜


Prevent deletion of board when it still has posts or topics.

Closes #2872

Could you please move the query to a function and move the function to... for example Boards.subs.php?
Queries should not be present in controllers. :wink:

Found a function I could use >_> Though I think the naming convention is a bit confusing.

Though I think the naming convention is a bit confusing.

Strangely enough it was not my doing in case. :laughing:


auro-input: [default disabled value in input field]

Is your feature request related to a problem? Please describe.
Auro-input does not currently support default disabled characters in the input field.
Describe the solution you'd like
The payments team would like to enable default disabled characters to be auto-filled in an input field. In our use-case guests are asked to enter the same four numbers every time they use this specific input field. Auto-populating these numbers in a disabled state will save our guests time, reduce user error, and expedite the payments process.
Describe alternatives you've considered
We have considered the following:

Instructing the guest to enter the specific numbers in the helper text.
Placing the numbers before the input field
set value as 4 digits but backspace removes the number
set placeholder but typing in the number overwrites the placeholder

Additional context

@poorninaik is the developer supporting this ask.

We've got some changes coming for more robust autofill support that will touch cleaveJS (which is where we think we need to make the change to support this), so we'll plan on tacking this change with those other changes in the near future.


Consistent Method Card Style

This is the first pass through the Method Cards, making sure they meet the specifications as listed here. I was able to implement most fixes myself, but I assigned a few larger issues (e.g. example images, working code) to the method cards owners.
The following are not addressed in this PR:

update method cards to have links to the API ([Jira](https://mosaicml.atlassian.net/browse/CO-787))
update method cards with warnings if they may have different behavior on different GPUs of a multi-GPU workload ([Jira](https://mosaicml.atlassian.net/browse/CO-409))
adding new method cards

Are we going with Mathematically Equivalent ? Can't think of a better short name but something like convergence preserving would be more accurate.

Let's stick with mathematically equivalent for now as a placeholder for
something better as we come up with more ideas.
On Fri, Aug 12, 2022 at 7:23 PM Daya Khudia @.***>
wrote:

Are we going with Mathematically Equivalent ? Can't think of a better
short name but something like convergence preserving would be more
accurate.
—
Reply to this email directly, view it on GitHub
https://github.com/mosaicml/composer/pull/1407#issuecomment-1213585902,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMZ24ADIPRENNKEJKRT2XLVY3MILANCNFSM56MOHWZQ
.
You are receiving this because your review was requested.Message ID:
@.***>

Are we going with Mathematically Equivalent ? Can't think of a better short name but something like convergence preserving would be more accurate.

Good question. I feel like Convergence Preserving is more accurate but slightly more jargony.  Do people have strong preferences from {Convergence, Math, Mathematically}, {Preserving, Equivalent}?
@hanlint @jfrankle

I think MathEq is fine, we can just define it somewhere (e.g. in the algorithms table). Favor readability / accessibility over technical accuracy here.

I don't like "Changes the Training Algorithm" though, that's pretty vague and hard to understand.

I don't like "Changes the Training Algorithm" though, that's wordy, vague, and hard to understand. Can we just exclude that tag? Anything that doesn't have the MathEq tag is by default changing the math?

Sounds good to me!

nit: could we add a comment to the Scale Schedule Ratio that it is only required on the vision models?

@moinnadeem, don't the chinchilla results contradict this? Or really, would it be safer to just make the more specific statement that this isn't necessary when using a constant LR?

When looking at the API Reference I see this:

This isn't right, right?

Since others have already reviewed, I am just rubber stamping it.


CI: bump Rust to 1.77.1

1.77.1 seem to be a Windows-only fix, but let's keep up to date anyway.

coverage: 59.829%. remained the same
when pulling 9fd5aae5cb3f0b6b312468f538b37c78a4c9a9e0 on feature/ci-bump-rust
into 4c4e925961bf39ebf49528b2bd4668c4858cfa8a on master.


Sample is missing .sln file and doesn't build

https://github.com/aspnet/Docs/tree/master/aspnetcore/signalr/dotnet-client/sample

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

ID: c9bc1072-be2c-94f6-49bf-daa9e97dff2d
Version Independent ID: 36052173-7061-6d01-8aed-915685cd7cf6
Content: ASP.NET Core SignalR .NET Client
Content Source: aspnetcore/signalr/dotnet-client.md
Product: aspnet-core
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

@anurse  can you get this sample working? cc @tdykstra

I don't have the bandwidth to look at it right now

@BrennanConroy @mikaelm12 do you know who can get the sample download working? It's not urgent but we'd like to have a working sample.

5 K PV last month. Customer comment

it dos not test yet because url address wrong and its deffrent in dot net core 2.1

@Rick-Anderson I see the problem. Working on it right now.


Update how-to-troubleshoot-replication-latency.md

"Waiting for dependent transaction to commit" is to wait for other worker threads to commit dependent transactions in the commit group.

@VandhanaMehta
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


created a cheat sheet for Minikube

Since there wasn't a Minikube cheatsheet , I have added few of the basic commands, will be adding more of them if this got accepted .
Checklist
If you haven't fulfilled the below requirements or even delete the entire checklist, your PR won't be reviewed and will be closed without notice.
General

[x] This Pull Request is all my own work. (You'll be blacklisted if you are caught for plagiarism.)
[x] I've read CONTRIBUTING.md
[x] I've made some valid changes to the CheatSheet, and they are not just minor changes.

Changes

[x] I've read and followed the Solution Template

Note: To mark the checkbox, put an x inside the [ ] (like this: [x]).

It Looks Amazing 🍁


As an admin, when I reject an event, I should optionally be able to provide a reason for rejection, so that the organiser knows how to correct their submission next time

At the moment, when you reject an even no notification is sent. Often this is fine, as they are spam/junk submissions. However sometimes rejections are for specific reasons for an event that we'd otherwise accept - e.g. No English translation for the description or other issues with the submission - in this situation a notification plus some notes on how to correct the issue would be useful.

Good call, given that event submission that came across today.

Dupe of #593. Closing the old issue.


Update README.md

So JDK is still a prerequisite? I thought we're past that.

It seems so. Today @idogi had this issue when running the project on windows and couple of weeks ago @OmerSchechter had the same issue on his mac.


Merge staging2 branch

This PR is to ensure that CI is completing properly on the staging branch

Everything from staging has been merged.


Match Profile Value Type ("matchProfile" --> "matchProfiles")

Type of issue
Typo
Feedback
When I attempted to use the "Match Profile" option like this:
{ "type": "matchProfile", "source": "Microsoft.Terminal.Wsl" }
I received the following error:

I noted that the error adds an 's' to the end of "matchProfile". This worked correctly:
{ "type": "matchProfiles", "source": "Microsoft.Terminal.Wsl" }
This typo appears five times @ https://learn.microsoft.com/en-us/windows/terminal/customize-settings/appearance
Thank you!
Page URL
https://learn.microsoft.com/en-us/windows/terminal/customize-settings/appearance
Content source URL
https://github.com/MicrosoftDocs/terminal/blob/main/TerminalDocs/customize-settings/appearance.md
Author
@cinnamon-msft
Document Id
7df17a2d-a108-ef6f-fc93-9f2c6100dc7a

AH! Thanks for catching this!

Looks like @wcruz-br caught this as well and filed this PR with a fix: https://github.com/MicrosoftDocs/terminal/pull/745
Just merged it. Thank you both!


add OnFinished to gitlab.Client

In this PR, a hook function OnFinished is added in gitlab client. It will be invoked at the end of each HTTP request, whether the result succeeds or fails. This feature will be very useful, which allows users to do some extra thing with the response and error. By the way, our team really needs this feature urgently. We want to monitor the request for gitlab server, and alarm when the call failure rate is greater than the threshold.

Hmm... I understand what you are trying to do, but I doubt that this kind of logic should be inside of the GitLab client. I try to keep the client in sync with the functionality described in the docs and not add any custom logic.
I'm pretty sure you can achieve something like this by either wrapping or embedding the client or by configuring the client with a custom HTTP client that has some extra logic for something like this.
I'll think about it during the weekend, but I don't think I'm wiling to merge this. Sorry...

Thank you very much for your reply~  In my opinion, this feature has no intrusion into the original code logic, but enhance the functionality.

You can embed the client is a struct of your own and then "overwrite" the Do() method with a custom method which then in turn calls the clients' Do() method.

In my opinion, this feature has no intrusion into the original code logic, but enhance the functionality.

That is true, but it adds non-GitLab logic/functionality to the client which I like to prevent. If you open the door for something additional/custom, then where do you draw the line when the next PR comes in? So I like to draw the line by only trying to support all GitLab API documented functionality.

OK，I know your concerns. Thank you for your reply and your suggestions. Thank you very much!

Sorry, I still have some questions.

You can embed the client is a struct of your own and then "overwrite" the Do() method with a custom method which then in turn calls the clients' Do() method.
I don't understand what this mean?  I can define a client struct that wraps the gitlab client, and "overwrite" Do() method which then in turn calls gitlab clients' Do() method. However, in the existing API, it calls gitlab client's Do() method. Where to call the "overwrite" Do() method?

I don't know how to use this project(go-gitlab) directly, or do you mean I should modify this project first, and then use it.
I would appreciate it if you could answer my questions!

Not tested, but something like this should work:
package main

import (
	"log"

	"github.com/hashicorp/go-retryablehttp"
	"github.com/xanzy/go-gitlab"
)

type myClient struct {
	*gitlab.Client
}

func (c *myClient) Do(req *retryablehttp.Request, v interface{}) (response *gitlab.Response, err error) {
	defer func() {
		// Do something after the request
	}()
	return c.Client.Do(req, v)
}

// This example shows how to create a client with username and password.
func main() {
	client, err := gitlab.NewClient("yourtokengoeshere")
	if err != nil {
		log.Fatal(err)
	}

	git := myClient{client}

	// List all projects
	projects, _, err := git.Projects.ListProjects(nil)
	if err != nil {
		log.Fatal(err)
	}

	log.Printf("Found %d projects", len(projects))
}

Hmm... No that will not work as the calls to Do() are made from within the client itself. So that will call the Do() method of the client and not the custom one of your wrapper... So you probably want another solution...

You can use your own custom HTTP client... We use the go-retryablehttp client, so maybe you can use this: https://pkg.go.dev/github.com/hashicorp/go-retryablehttp#ResponseLogHook

I noticed ResponseLogHook, but it is invoked when the request is successful, so it doesn't help. Hmm... maybe I have to find other solutions.  Anyway, thank you very much for your time!

Yeah, sorry I don't have an off-the-shelf solution but as already discussed I would like to limit the functionality we add to what is described in the GitLab docs. So I'm going to close this PR as it introduces custom logic that is not part of the API specs. Hope you can find a good solution for your usecase!


Loop unroll; avoid bounds checks

@benaadams Before after numbers?

Will benchmark

Turns out the cost of fixed is too high vs straight array.
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i5-3470S CPU @ 2.90GHz, ProcessorCount=4
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit
Type=AsciiToString  Mode=Throughput  .NET=HostFramework

              Method | Platform |       Jit |   AvrTime |    StdDev |           op/s |

------------------------ |--------- |---------- |---------- |---------- |--------------- |
SequentialArray |      X64 | LegacyJit | 1.5266 ns | 0.0029 ns | 655,062,947.42 |
SequentialPointer |      X64 | LegacyJit | 1.9622 ns | 0.0277 ns | 509,629,020.56 |
UnrolledParallelPointer |      X64 | LegacyJit | 2.1806 ns | 0.0645 ns | 458,579,769.91 |
UnrolledPointer |      X64 | LegacyJit | 2.1801 ns | 0.0276 ns | 458,692,301.62 |
SequentialArray |      X64 |    RyuJit | 1.4125 ns | 0.0224 ns | 707,981,977.98 |
SequentialPointer |      X64 |    RyuJit | 1.6971 ns | 0.0238 ns | 589,249,356.03 |
UnrolledParallelPointer |      X64 |    RyuJit | 1.8363 ns | 0.0261 ns | 544,580,446.84 |
UnrolledPointer |      X64 |    RyuJit | 1.8825 ns | 0.0235 ns | 531,199,310.82 |
SequentialArray |      X86 | LegacyJit | 1.2736 ns | 0.0173 ns | 785,193,458.26 |
SequentialPointer |      X86 | LegacyJit | 1.5600 ns | 0.0227 ns | 641,014,201.10 |
UnrolledParallelPointer |      X86 | LegacyJit | 1.5364 ns | 0.0208 ns | 650,892,834.97 |
UnrolledPointer |      X86 | LegacyJit | 1.5262 ns | 0.0598 ns | 655,234,541.43 |
Closing this

Test code: https://gist.github.com/benaadams/43407df97c69a4ae86e8

Retesting this was will a length always of 0

Fixed test cases https://gist.github.com/benaadams/079a1ded2e14bc243fd5

BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz, ProcessorCount=8
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit  [RyuJIT]
Type=AsciiToString  Mode=Throughput  Platform=X64  Jit=RyuJit  .NET=HostFramework

              Method | Param |       AvrTime |     StdDev |           op/s |

------------------------ |------ |-------------- |----------- |--------------- |
SequentialArray |     1 |     1.8446 ns |  0.0359 ns | 542,130,112.58 |
SequentialArray |     2 |     1.8347 ns |  0.0301 ns | 545,041,308.79 |
SequentialArray |     8 |     2.6034 ns |  0.0473 ns | 384,119,102.12 |
SequentialArray |    64 |    15.5845 ns |  1.2281 ns |  64,166,181.67 |
SequentialArray |   512 |   109.1622 ns |  3.9246 ns |   9,160,708.35 |
SequentialArray |  1024 |   216.8628 ns |  4.3980 ns |   4,611,210.56 |
SequentialArray |  4096 |   838.0113 ns |  8.0319 ns |   1,193,301.35 |
SequentialArray |  8192 | 1,665.9055 ns | 17.9379 ns |     600,274.20 |
SequentialArray | 16384 | 3,331.0892 ns | 31.2668 ns |     300,202.12 |
SequentialPointer |     1 |     1.4709 ns |  0.0290 ns | 679,872,918.30 |
SequentialPointer |     2 |     1.7573 ns |  0.0055 ns | 569,058,870.74 |
SequentialPointer |     8 |     2.7821 ns |  0.0495 ns | 359,435,697.96 |
SequentialPointer |    64 |    12.2456 ns |  0.2320 ns |  81,662,055.86 |
SequentialPointer |   512 |    77.9059 ns |  1.3984 ns |  12,836,002.73 |
SequentialPointer |  1024 |   147.6454 ns |  2.6145 ns |   6,772,985.46 |
SequentialPointer |  4096 |   603.3346 ns | 10.7317 ns |   1,657,455.03 |
SequentialPointer |  8192 | 1,203.2110 ns | 20.8846 ns |     831,109.43 |
SequentialPointer | 16384 | 2,404.2652 ns |  1.2482 ns |     415,927.49 |
UnrolledParallelPointer |     1 |     1.4456 ns |  0.0280 ns | 691,731,058.85 |
UnrolledParallelPointer |     2 |     1.6387 ns |  0.0255 ns | 610,257,762.49 |
UnrolledParallelPointer |     8 |     1.9083 ns |  0.0923 ns | 524,037,000.21 |
UnrolledParallelPointer |    64 |     5.8002 ns |  0.1617 ns | 172,408,326.49 |
UnrolledParallelPointer |   512 |    39.9602 ns |  1.6196 ns |  25,024,919.12 |
UnrolledParallelPointer |  1024 |    77.5874 ns |  1.8344 ns |  12,888,690.04 |
UnrolledParallelPointer |  4096 |   306.2025 ns |  4.9520 ns |   3,265,812.70 |
UnrolledParallelPointer |  8192 |   606.6170 ns | 10.3170 ns |   1,648,486.66 |
UnrolledParallelPointer | 16384 | 1,447.2493 ns | 25.6027 ns |     690,965.98 |
UnrolledPointer |     1 |     1.5475 ns |  0.0068 ns | 646,184,034.29 |
UnrolledPointer |     2 |     1.7582 ns |  0.0302 ns | 568,748,690.53 |
UnrolledPointer |     8 |     2.3780 ns |  0.0419 ns | 420,515,824.62 |
UnrolledPointer |    64 |     9.5331 ns |  0.1572 ns | 104,897,218.65 |
UnrolledPointer |   512 |    68.6465 ns |  1.2514 ns |  14,567,379.93 |
UnrolledPointer |  1024 |   134.3055 ns |  2.3314 ns |   7,445,713.61 |
UnrolledPointer |  4096 |   528.5438 ns |  8.8499 ns |   1,891,990.90 |
UnrolledPointer |  8192 | 1,054.4902 ns |  0.7537 ns |     948,325.53 |
UnrolledPointer | 16384 | 2,105.9399 ns |  2.7216 ns |     474,847.36 |

@davidfowl new implemenation is
x 1.36 for 8 byte string
x 2 for 64 byte string
x 2.7 for 512 byte string

Will come back to this


Fix landingpage

[FIX] Changing font size of landing page #42

please resolve conflicts :)

please resolve conflicts :)

all conflicts resolved

Hey @aapetsi
I will go ahead and merge the PR, because its important you are accredited for your work, however I cant approve it for Hacktoberfest. Please don't be discouraged by this, but I have to mark this PR as invalid for hacktoberfest.
Whilst adding your name to a Contributors.md file is perfectly acceptable and often encouraged, its not something we can accept as a contribution to Hacktoberfest. If we allow PRs like this to count towards Hacktoberfest they can blacklist the repo:

Thanks for your understanding.

Hey
Thanks for the clarification. I actually didn’t do that for a PR. It was a
commit I made on an existing pr.
Thanks for the clarification anyways
On Thu, 1 Oct 2020 at 7:30 PM, Matt Smith<EMAIL_ADDRESS>wrote:

Hey @aapetsi https://github.com/aapetsi
I will go ahead and merge the PR, because its important you are accredited
for your work, however I cant approve it for Hacktoberfest. Please don't be
discouraged by this, but I have to mark this PR as invalid for
hacktoberfest.
Whilst adding your name to a Contributors.md file is perfectly acceptable
and often encouraged, its not something we can accept as a contribution to
Hacktoberfest. If we allow PRs like this to count towards Hacktoberfest
they can blacklist the repo:
[image: image]
https://user-images.githubusercontent.com/6190356/94827937-e4332400-0400-11eb-8e19-c8f7035a720a.png
Thanks for your understanding.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zero-to-mastery/Keiko-Corp/pull/45#issuecomment-702351111,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIRLZO75QYG6ZDWEHUEF5W3SITKG3ANCNFSM4SAUZMRQ
.
--
Apetsi Ampiah


New files are not added to workbench tree when creating folder requiring manual tree refresh

Issue Type: Bug

At the root folder, right click -> New File (folder doesn't actually matter)
Enter the path where/is/my/file.txt
Observe the tab is open to where/is/my/file.txt.
Observe the file exists in a file browser.
Observe the file is not in the workbench tree.
Hit the workbench's refresh button.
Observe the file is now in the workbench tree.

Expected:
Created files should show in the workbench tree.
I tend to create new files fairly often, this appears to be a recent regression.


AtHomeCrisisCommunity Hackaton

Roadmap
Open Source project that builds mobile applications that organizes the distribution of food and mental health for people affected by events that require strict quarantine at home. In many cases, people are isolated and struggling to find help without contact.
How this works
Volunteers distributing leaflets in communities that can be scanned using the phone (google forms) to answer a couple of basic questions about their current situation and any personal or medical needs. The same leaflet can be used to gather possible volunteers. The form is dynamically processed using Data acquisition techniques to match people that might need help, seeking someone to talk or need critical resources to survive.
AtHomeCrisisCommunity is a Mobile Application (PWA) that can be used by volunteers to collaborate work and connect with vulnerable people.

Closing
@craicoverflow @kingsleyzissou awesome work on the project.
Thank you!


Network permissions

Could you please explain what your PDF Viewer requires network permission for? The app description does not tell, neither does your Readme here. Thanks in advance!

@IzzySoft
Look at the code:
https://github.com/JavaCafe01/PdfViewer/blob/master/app/src/main/java/com/gsnathan/pdfviewer/DownloadPDFFile.java

Well, I'm no Java developer. Yes, I assumed that a network connection is normally used to upload or, in this case, download things. But I cannot see the context, so I was hoping for a short explanation, @deroke. Like, what is downloaded from where and why. OK, going by the names some PDF is downloaded. When does that happen? Where does the URL come from?
When an app I assume working "locally only" requests INTERNET permission, it raises an eyebrow for me. So it would be much appreciated to transparently mention the background – so that very same eyebrow can easily be lowered again – which I assume will be the case here :wink:

If you open a PDF file on web (e.g. https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf) PDF Viewer Plus will be opened and need to download the passed URL:
https://github.com/JavaCafe01/PdfViewer/blob/0ae811394ce0c68ab04fab43eac90d7658b4ea35/app/src/main/java/com/gsnathan/pdfviewer/MainActivity.java#L322-L326
This happens because there is an <intent-filter>
https://github.com/JavaCafe01/PdfViewer/blob/0ae811394ce0c68ab04fab43eac90d7658b4ea35/app/src/main/AndroidManifest.xml#L22-L33
which opens PDF Viewer Plus

Thanks! For the end-user: could that be added to the app description and/or Readme, like:

Permissions required:

INTERNET: can open PDFs from links passed to it (e.g. when you tap an URL pointing to a PDF)
Storage: save downloaded PDFs, open stored PDFs

Further, the app declares android.permission.WRITE_INTERNAL_STORAGE – are you sure there even is such a permission? I've saw that pop up here and there for years, but never found it in any reference. AFAIK the opposite to *_EXTERNAL_STORAGE is *_MEDIA_STORAGE.

Further, the app declares android.permission.WRITE_INTERNAL_STORAGE – are you sure there even is such a permission?

You're right, that permission does not exist. It does not even make sense because an app is free to read and write whatever it wants from its internal storage space inside /data/data folder.
I've pushed a commit to #114 to remove it.

Updated README with permissions

Thanks a lot! That should definitely solve the issue (to give some background: I've stumbled on this during one of our reviews at F-Droid; disclosure: I'm one of the F-Droid maintainers).


add structured logging to setup logs

Description
adds structured logging to our setup logs.

/ok-to-test sha=b2acf40


Add a vector_calculus class

This PR moves the vector calculus operations currently implemented inside solver class out to a dedicated new class. This new structure should allow accessing vector calculus operations outside the solver class. Examples include the laplacian operation iterative Poisson solver needs and curl/divergence for postprocessing/monitoring.

looks good to me, I just think it would be good to properly define what is expected from the input variables in terms of direction and dataloc.

Thanks! Changed the namings from velocity/pressure grid to data_loc based VERT/CELL. Also added a bit more explanation in subroutine headers to explain expected DIRs and data_locs for input and output arrays.

Nanoseb: is it worth checking that u is in DIR_X before doing that? or at least add a comment in the header to explain that it is expected
semi-h: tds_solve is doing a check based on directions so added a comment in the laplacian subroutine header to explain

I think it might be worth checking the conditions at the start of the curl/div/grad/xxx subroutines. A "invalid field locations passed to curl" will be easier to debug than "invalid fields in tdsops" (which you then need to figure out where it came from). Having the tdsops perform this last level check is good to ensure we catch everything, but a higher-level check might ultimately be beneficial in my opinion.


Refs IQE-2748: Revert old sel testing image backend

New sel image is failing the test pipeline because it does not have a controlled shutdown command, making the pod stuck and resulting into timeout.

https://issues.redhat.com/browse/HMS-IQE-2748


Use full date for the year

This simply changes the present year to be in the full year format.
I think this is a better way because if you set the starting year to 1999 then the license will show 1999-16 which isn't correct!

@davisonio Thanks! But maybe, can we make this smarter: if the prefix is the same, then show it like YYYY-YY otherwise YYYY-YYYY? :thought_balloon:

@davisonio :bell:

@davisonio This is now possible using year-range. If you can integrate it here, that's fine, otherwise I will take care of it. :smile:

@davisonio This is now possible using year-range. If you can integrate it here, that's fine, otherwise I will take care of it.

Awesome, feel free to take care of it :)

@davisonio Well, I will continue your work and merge this.
:gift: Bonus, you'll get a shiny green square on your contributions calendar. :grin:

I'm on it. :crystal_ball:

Thank you 😃

@davisonio This is now landed on production (/cc #9). :rocket: Thanks again for heads-up!
:ship: Also, npm published 1.1.2 :tada:

@davisonio And there you go! :smile:


Adds new translated files from CrowdIn (manually)

Description:
Adds translations downloaded from CrowdIn (from nonexistent "develop" branch) so that CrowdIn can point them to main branch

Looks good to me. Happy to approve as-is, it's a 10000% percent improvement to how it was previously. We can get that thing I commented on fixed on the Crowdin side or here, whatever makes sense from your end


KeyVault: Reference documentation for SecretBundle.Id Property unclear

Hi there! I'm the docs author at the Azure .NET SDK docs site, and a customer submitted the following issue with documentation generated from the /// comments in your API. Please be sure to @ them in your response. Thanks!
@lukos commented on Thu Jun 07 2018
Is this referring to the "version" as displayed on the portal or the entire URL that is displayed as the "Secret Identifier" in the portal when you click on a secret?

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

ID: 2452c2e7-52f7-592d-2752-054c6e31c817
Version Independent ID: c81ed9e3-5d8e-6fcf-7655-3cefa0cfd592
Content: SecretBundle.Id Property (Microsoft.Azure.KeyVault.Models)
Content Source: xml/Microsoft.Azure.KeyVault.Models/SecretBundle.xml
Service: key-vault
GitHub Login: @erickson-doug
Microsoft Alias: douge

These packages are deprecated. Please update to Azure.Security.KeyVault.* packages, which have migration guides available next to our README.md files as MigrationGuide.md.


AttributeError: 'range' object has no attribute 'pop'

Dear Author,
I tried g.observe('x2', 2) and it produces an error AttributeError: 'range' object has no attribute 'pop'.
Is it currently a limitation of the code?
Thank you very much

Pull the latest master branch. You’ll find it was recently fixed in #6
On Fri, May 11, 2018 at 7:12 PM qillbel<EMAIL_ADDRESS>wrote:

Dear Author,
I tried g.observe('x2', 2) and it produces an error
AttributeError: 'range' object has no attribute 'pop'. Is it currently a
limitation of the code?
Thank you very much
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ilyakava/sumproduct/issues/8, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEMI5xtWDjTnLzF7O4LRBRSot1ClBNLhks5txcaFgaJpZM4T7yFO
.


Add v1.30 package streams

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Adding the package streams for v1.30 releases.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

@haircommander PTAL

@cri-o/cri-o-maintainers PTAL

/lgtm


Cannot find distribution for lets-plot upon installing in Python 3.12

I have recently upgraded to Python 3.12 given that it's stable enough.
But upon trying to install lets-plot via pip install lets-plot, I get the following error:

ERROR: Could not find a version that satisfies the requirement lets-plot (from versions: none)
ERROR: No matching distribution found for lets-plot

Specs:
OS Name:                   Microsoft Windows 10 Enterprise
OS Version:                10.0.19045 N/A Build 19045
System Type:               x64-based PC
Python Version: Python 3.12.0

Python 3.12 support added in v4.1.0


Magic Links are invalidated by corporate link scanning software

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
We have a customer using the Barracuda SafeLinks platform, and apparently Office 365 offers something similar, which scans all links before opening them via a wrapper link it puts on all incoming email. This invalidates Magic Links as the link scanning platform triggers expiration when the user opens the link.
Next Auth has a similar scenario and seems to recommend responding to HEAD requests with a 200 without invalidating the link as a fix. See this https://next-auth.js.org/tutorials/avoid-corporate-link-checking-email-provider for more.
To Reproduce
This is a bit difficult as you likely have to configure MS Defender on Office 365 at the least to test a relevant scenario.
Expected behavior
Ideally the user doesn't see a link expired error and is able to use the link successfully.
Additional context
For those with access to IT security policy the organization can disable scanning of supabase links via https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/safe-links-about?view=o365-worldwide#do-not-rewrite-the-following-urls-lists-in-safe-links-policies for the MS platform at least

That's not a bug. I do find the solution helpful, but it still does not make this a bug IMO but a Feature Request.
The given solution however would still not solve other Crawlers that do visit the page without just a HEAD request.
In either case you can just build your own Magic Link system to solve it. Via generateLink you get the token you need to call verifyOTP and hence log in the user, so there's no specific need to use the Supabase links.

Hi,
HTTP safe calls  (get/head)should be idempotent, ie. the effect on the server (login in) of a single request is the same as the effect of making several identical requests.
Arguably, a "single use" link (http get) is a bug, it should be implemented by requiring a second action (eg a click or js) on the page of that url.
By allowing multiple http head calls, this could be seen as fixing a bug (http head would be indempotent) and solve the problem for users of office 365
Would you see any potential issues to changing the way head is handled? it feels safe, but I might be missing something.
I'm aware it would "only" be fixing office 365 crawler and not others, but given the market share, it would solve the pain for a lot of users AND the odds of other crawlers following how 365 works (head not get) are rather high.

We switched to email codes and a prefilled form when you click the link. It's a bit less convenient for users as they have to submit the page they land on but since it requires the one extra step it doesn't break with link scanners. Link scanners are becoming more prevalent with our users at at least so this is likely to become a bigger problem for folks.

Hi @kav,
we did almost the same, but with a bit of javascript to submit (click on the button) automatically and it seems to work fine so far, none of the bots are running js.
Last time I checked, the bots seems to do a HEAD not GET call, so that would be another reason they do not automatically click on the button.
I still hope that the magic links will discard the HEAD commands instead of processing them as a GET and invalidate the link, but the email code + javascript seems to be a fine replacement


Add TravisCI badge.

Added RST badge to a markdown document - shouldn't merge my own PRs it seems :smile:.


Unable to recover password

When attempting to go reset a password via the 'I forgot my password' process, it is possible to receive the following error:
"Unable to recover password: error"
The user seems valid and I'm not sure what is causing the problem.

From my testing, the usual password recovery seems to work fine. That is, a user created via mail registration can recover the password, successfully.
However, if a user was created directly (using the user page, by-passing the e-mail registration), I observe a failure during the password recovery.  The underlying issue is that there is no verified e-mail address associated with this user.
Although the server is reporting the source of the error to the client, this information is not presented to the user. I have just updated master (commit above) to improve error reporting.

Can you please provide me with information as to which atlas and which user is failing?

On the Thule atlas, the following error is returned by the server: {error: "Password recovery URL is not provided"}
The first problem is that the client is not passing this information to the user. The changes committed above should deal with this.
The second problem is that the server should not report that user registration is available unless the recovery URL can be computed. Looking into this.


added dates for cofest

ya gotta say the dates, not just the days of the week...

I made a conflict and fixed it.


tool preference can't open

<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>
When I was design my own Preference in Tools, but suddenly it has response no more. How? .........

My problem is well-solved.  Just input 'spyder --reset'' in cmd. Thanks for the mighty Troubleshooting.

Glad to hear @xioajiumi!!


Why runlevel when you can telinit?

Adding mapping of runlevel (query for the current run level) with "telinit 0" (going down.)

A bit too destructive.


Feature/add same as terms

@paltusplintus Thanks for all the feedback. I have introduced a number of changes based on your recommendations.


Memory leak from serial_controller #5

https://github.com/rbonghi/roboteq_control/issues/5

Thank you! I will merge soon!! :fireworks:

I have some questions for you :-)
In your pull request and I notice you comment or remove all parts about the dynamic reconfigure. This part is useful to setup the roboteq board, and when the node works doesn't leak the memory.
I also see you enable the motor controller without pass the parameters from urdf. I think in my package there is not a nice example to setup the URDF the board and run this package.
I'm making an example :+1:

@rbonghi
The truth is this was a long time ago, and I'm no longer work with Roboteq HW. But, I do remember that when I tried to use dynamic reconfigure it caused dynamic reconfigure GUI to crash, so I had to remove it in order to be able to use it along with other nodes.
About the second part - you are right. This is just customization I did for my purposes, and should not be included in your library.
Sorry for not filtering some of those things out, as I mentioned - this was a long time ago and I no longer have access to the HW for testing.

Hi @elhayra ,
I completely update my repository adding a example to show how it's work, and I hope now is more clear.
If there are more issues keep me posted.
I apologize for my delay


Engine API: remove separate port for WebSocket protocol

Removes a port for WebSocket protocol as the same port can be used by both, HTTP and WebSocket, protocols (and others):

https://localhost:8550
wss://localhost:8550

cc @holiman @MicahZoltu

Testing...

Ok, couldn't attach image via file. Tried to show a discord convo. Micah wrote: > Could have been an issue with the http server library used by Geth at the time, or perhaps the HTTP server they use doesn't support WS so they had to run two servers side by side (and thus bind to two ports).I answered> I think that's it, yes. @Rene Lubov (renaynay) helped align that later on, so it's (afaik) possible to run both (or all three - graphql too) on the same port. $ geth --dev --http --http.port 8545 --ws --ws.port 8545 2>&1 | grep "enabled|started"INFO [11-23|08:44:26.563] WebSocket enabled                        url=ws://<IP_ADDRESS>:8545INFO [11-23|08:44:26.563] HTTP server started                      endpoint=<IP_ADDRESS>:8545 prefix= cors= vhosts=localhost

@holiman thank you for the additional context. In that case, if this change is okay with you, I will go ahead and merge.


Use of deprecated Jax APIs/behavior

Trajax uses deprecated Jax APIs/behavior which result in warnings being emitted in two locations.

The first instance is at
https://github.com/google/trajax/blob/a14d248294e9c8f74f10a10e787af24ac6be1ad7/trajax/optimizers.py#L755
where argnum 9 is specified although the function only has 8 arguments. This results in the warning:

jax/_src/api_util.py:165: SyntaxWarning: Jitted function has static_argnums=(0, 1, 9), but only accepts 8 positional arguments.
This warning will be replaced by an error after 2022-08-20 at the earliest.

The second warning is at
https://github.com/google/trajax/blob/a14d248294e9c8f74f10a10e787af24ac6be1ad7/trajax/tvlqr.py#L98
which raises the following warning

trajax/tvlqr.py:98: FutureWarning: The sym_pos argument to solve() is deprecated and will be removed in a future JAX release. Use assume_a='pos' instead.

The second warning should be fixed in #10.


Add Exponential Toggle on the Charts

Append a mechanism to view the difference (and thereby, exponentiation in growth) in the number of cases in comparison to the day preceding the one over which the user hovers.
This presents a 'trend spread,' which makes the content more informative and useful.

Added! #363


adds VL cache to VVVV gitignore template

Reasons for making this change:
VVVV now uses VL, a visual real-time programming language, that compiles dlls on the fly. Those dlls are added to .vl/ folders and should not be versioned.
Links to documentation supporting these rule changes:
This feature is not explicitly mentioned in the documentation. For more information on what VL is, see :

VL in VVVV beta's documentation

Would be helpful to have this merged.


[Feature Request] SSO Authentication via the CLI

Is your feature request related to a problem? Please describe.
It is time consuming to distribute certificates to developers so they can use temporal CLI. It is also a potential security concern as these are long lived credentials stored on developers laptops.
Describe the solution you'd like
Ideally you would be able to authenticate using the browser SSO to collect a short term token that would allow authentication to the Temporal Server. This would make the user experience much smoother. Similar to how gcloud auth or aws sso works.
Additional context

ty for the request, discussing with the team

Hey @feedmeapples just was having a look at this again. I am curious as to why it would be unwanted to facilitate OAuth via the CLI within pipelines or not?
In my mind running tctl auth would trigger an OAuth flow from the CLI client to get the user to authenticate to cloud.temporal.io, the CLI would then get a token it could use as a JWT to authenticate to the server endpoint. This would be a really easy user experience for developers and reduce the burden of maintain TLS keys.
I took a look through the JWT option you mentioned above a) doesn't seem possible for use with Temporal Cloud and b) is rather complex operationally.
Perhaps I should have clarified as well is that we are using Temporal Cloud with Google SSO.
Thanks :)

Re-opening for consideration.

+1 for the request
A perfect example of this would be aws cli, which has aws sso login
The user is redirected to the web browser and granted a temporary token.
It's not possible to run this in CI, as it uses an OTP through the web UI

Could you explain a bit more what type of solution you're expecting? Is this for Temporal Cloud or self-hosted?


Update Flipper::UI to Bootstrap 4

In general I'm pretty happy how this turned out. I'm still not crazy about some of the colors, but I'll leave that up to discussion in this PR. I am happy to tweak any colors, spacing, etc.
Closes https://github.com/jnunemaker/flipper/issues/276
Purpose
Update the Bootstrap CSS framework to the latest version. This will help make stylistic updates easier moving forward and this will give responsiveness out of the box (mobile friendly now!).
Notable Changes

Updated Boostrap to version 4
Removed Primer CSS dependency (and tooltips)
Default colors (green, yellow, red, grays, etc) are a little different. These can be tweaked to match the existing colors if needed. With the exception of the light color, I left these the defaults.
Fixed coffeescript guard watcher
Main change was using card over panel

Screenshots

Default Home page

Default Home Page Mobile

Add Feature

Add Feature Mobile

Features

Features Mobile

Feature

Feature Mobile

Add Actor

Add Group

@thetimbanks ❤ ❤ ❤


led_test changes 3 led's instead of 1

i have set
N_PIXELS = 48 in config.py and #define NUM_LEDS 48
in ws2812_controller.ino however the test led.py program causes 9 led's to be lit up rather than 3.
each group of 3 shares the same colour.
running on osx if that helps
you can see from the udp packet here that the packet sent looks correct but this results in led's 1 2 and 3 being red. 4,5 and 6 blue and 7 8 and 9 bing green!
00:ff:00:00:01:00:ff:00:02:00:00:ff:03:00:00:00:04:00:00:00:05:00:00:00:06:00:00:00:07:00:00:00:08:00:00:00:09:00:00:00:0a:00:00:00:0b:00:00:00:0c:00:00:00:0d:00:00:00:0e:00:00:00:0f:00:00:00:10:00:00:00:11:00:00:00:12:00:00:00:13:00:00:00:14:00:00:00:15:00:00:00:16:00:00:00:17:00:00:00:18:00:00:00:19:00:00:00:1a:00:00:00:1b:00:00:00:1c:00:00:00:1d:00:00:00:1e:00:00:00:1f:00:00:00:20:00:00:00:21:00:00:00:22:00:00:00:23:00:00:00:24:00:00:00:25:00:00:00:26:00:00:00:27:00:00:00:28:00:00:00:29:00:00:00:2a:00:00:00:2b:00:00:00:2c:00:00:00:2d:00:00:00:2e:00:00:00:2f:00:00:00

Some LED strips are just made this way and only do 3 LEDs at once. Check with your led strip data specs. This is not a fault with the code


Build error on Arch Linux

Getting a build error when compiling on Arch.  Using the unofficial PKGBUILD from the AUR.  In summary:
make prefix=/usr
...
/usr/bin/ld: <artificial>:(.text.startup+0x189): undefined reference to `newsboat::history::bridged::create()'
/usr/bin/ld: /build/newsboat-git/src/newsboat/target/release/libnewsboat.a(cxx-065766230acf237e.cxx.5e075b39-cgu.11.rcgu.o): in function `cxx::result::to_c_error':
cxx.5e075b39-cgu.11:(.text._ZN3cxx6result10to_c_error17h91969f785c2851e9E+0x4d): undefined reference to `cxxbridge1$error'
collect2: error: ld returned 1 exit status
make: *** [Makefile:145: newsboat] Error 1

Full build log.

Hi, sorry for the late reply! Perhaps LTO is the issue? Could you try compiling without -flto=auto? Some people reported LTO build success on IRC, but I never tried it myself.

Yes, disabling lto indeed fixes the build.

Cool! I'm not too interested in LTO at the moment, so I won't dig deeper into that yet, but let's keep this open and collect more info and ideas. E.g. maybe we have to enable LTO on the Rust side to for it all to work out?


gpio: gpio_keys_zephyr: add missing gpio initialization

The driver is missing the GPIO initialization entirely, meaning that flags like PULL_UP are not currently being applied. Add the missing call.

Technically fixes a bug - I'll leave it to you if you want to file an issue.

Technically fixes a bug - I'll leave it to you if you want to file an issue.

I don't think we want to start flooding the issue queue with bugs that don't need triaging, maybe let's pick the conversation back up tomorrow.


Significant performance degradation between 1.0.3 and 1.1.3 to Verify and Convert large SPDX TAG value file

It was observed that compare to tools-java-1.0.3, latest tools-java-1.1.3 has significant performance degradation when performing Verify and Convert operations on large SPDX TAG Value file.
Input File SPDX TAG Value around 55M in size
$ ls -alh ~/Documents/ | grep Big
-rw-rw-r--   1 rliu rliu  55M Jan 18 10:41 Big-Valid-SPDX-TAG-File.spdx
Compare Timing of Verify Operation
$ date && java -jar ~/Documents/tools-1.0.3/tools-java-1.0.3-jar-with-dependencies.jar Verify ~/Documents/Big-Valid-SPDX-TAG-File.spdx && date
Wed 18 Jan 2023 10:43:13 AM EST
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.
This SPDX Document is valid.
Wed 18 Jan 2023 10:43:29 AM EST
Comment: With tools-java-1.0.3-jar-with-dependencies.jar, the Verify operation finished in almost 16 seconds
$ date && java -jar ~/Documents/tools-1.1.3/tools-java-1.1.3-jar-with-dependencies.jar Verify ~/Documents/Big-Valid-SPDX-TAG-File.spdx && date
Wed 18 Jan 2023 10:43:52 AM EST
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
10:43:57.777 [main] ERROR org.spdx.library.model.license.ListedLicenses - Unable to access the most current listed licenses from https://spdx.org/licenses - using locally cached licenses: I/O error reading license TOC
This SPDX Document is valid.
Wed 18 Jan 2023 10:49:36 AM EST
Comment: With tools-java-1.1.3-jar-with-dependencies.jar, the Verify operation took 5 minutes 44 seconds to finish
Compare Timing of Convert Operation
$ date && java -jar ~/Documents/tools-1.0.3/tools-java-1.0.3-jar-with-dependencies.jar Convert ~/Documents/Big-Valid-SPDX-TAG-File.spdx ~/Documents/Big-Valid-SPDX-TAG-File-1.0.3.spdx.json && date
Wed 18 Jan 2023 10:51:50 AM EST
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.
Wed 18 Jan 2023 10:52:04 AM EST
Comment: Convert took 14 seconds with tools-java-1.0.3-jar-with-dependencies.jar
$ date && ./java -jar ~/Documents/tools-1.1.3/tools-java-1.1.3-jar-with-dependencies.jar Convert ~/Documents/Big-Valid-SPDX-TAG-File.spdx ~/Documents/Big-Valid-SPDX-TAG-File-1.1.3.spdx.json && date
Wed 18 Jan 2023 10:53:42 AM EST
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
10:53:47.996 [main] ERROR org.spdx.library.model.license.ListedLicenses - Unable to access the most current listed licenses from https://spdx.org/licenses - using locally cached licenses: I/O error reading license TOC
Wed 18 Jan 2023 10:59:29 AM EST
Comment: Covert took 5 minutes 47 seconds with tools-java-1.1.3-jar-with-dependencies.jar

@hliu168 Thanks for submitting the very detailed issue.  I'll look into the issue.  I do recall a previous performance issue with the tag/value parser - I wonder if this might be related.

@hliu168 I noticed in your description above the following warning:

10:53:47.996 [main] ERROR org.spdx.library.model.license.ListedLicenses - Unable to access the most current listed licenses from https://spdx.org/licenses - using locally cached licenses: I/O error reading license TOC

This may partially explain the difference.  This warning indicates there was a timeout on an HTTP request to the SPDX listed license website which would slow down the app by about 30 seconds or so.
Is it possible to attach the file you're testing with?  I can try it on my machine/network and see what results I get.

@goneall Hello Sir,
Thank you very much for your prompt reply. Please review the following observations I had with the issue.

Regarding the "I/O error reading license TOC timeout", it happens only in a few seconds after the tool started the Verify procedure however the whole Verify process took more than 5 minutes to finish with the tool 1.1.3.

So far the long time elapsed on Verify and Convert only happen if the input file is TAG Value. Even though the "I/O error reading license TOC timeout" happens on my local also for SPDX JSON format input file, the process finishes very quickly for the large input JSON file (the JSON file was converted from the TAG Value file, but the process of Verify JSON input finishes very fast).

Unfortunately the ~55M input file is private and I couldn't upload it here. However, I managed to find a 1M+ SPDX TAG Value file where the 1.0.3 tool took ~7 seconds to verify but the 1.1.3 tool took ~40 seconds to verify on my local.

$ date && java -jar tools-1.0.3/tools-java-1.0.3-jar-with-dependencies.jar Verify osquery-1.0.0.manifest.spdx && date
Fri 20 Jan 2023 12:53:55 PM EST
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.
This SPDX Document is valid.
Fri 20 Jan 2023 12:54:02 PM EST

$ date && java -jar tools-1.1.3/tools-java-1.1.3-jar-with-dependencies.jar Verify osquery-1.0.0.manifest.spdx && date
Fri 20 Jan 2023 12:52:06 PM EST
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
12:52:11.694 [main] ERROR org.spdx.library.model.license.ListedLicenses - Unable to access the most current listed licenses from https://spdx.org/licenses - using locally cached licenses: I/O error reading license TOC
This SPDX Document is valid.
Fri 20 Jan 2023 12:52:45 PM EST

manifest.spdx.zip
Hello Sir,
Thank you for reading this additional message.
I was able to find this SPDX TAG Value file zipped and attached (11M zipped, ~44M unzipped) which shows a big performance difference between the old tool version 1.0.3 and the new tool version 1.1.3.
Running Verify operation with old tools-java version 1.0.3 on my local, it took around 5 minutes to finish.
Running Verify operation with new tools-java version 1.1.3 on my local, it runs for 2 hours 30 minutes without finishing and is still running.
Please feel free to use this file on your local and check the performance difference. Thank you and have a great day!

@hliu168 Thanks for uploading the file.  I'm able to reproduce the problem.  I'll look into the cause over the next couple days.

Still analyzing, but here's an update:

The problem was introduced in version 1.0.4 - this is likely due to a check for duplicate relationships added to the tag value parser is is known to have created a performance problem
Running verify on the above attached 44MB tag/value file took 13 minutes for version 1.0.3, 824 minutes for version 1.1.3 on my machine - a 63 fold performance degradation
Running on version 1.0.4 exceeds 3 hours (it's still running) - long enough to confirm the issue was introduced in 1.0.4

The algorithm for checking for duplicate relationships does not look very efficient.  Once I confirm this is the issue I'll look into a more efficient approach.

I've narrowed down the problem - in the changes for version 1.0.4, RelatedElementCollection.add is now used rather extensively.  There is a defensive coding check for duplicates which is rather expensive when the collections gets very large.
Now that the problem is isolated, I'll work on a solution.  It is may involve some design changes or removing the defensive check.

I've created to PR's which significantly improve the performance:

https://github.com/spdx/Spdx-Java-Library/pull/144 improves the performance of collections for all serializations that use the in memory store
https://github.com/spdx/spdx-java-tagvalue-store/pull/32 dramatically reduces the time to identify and remove duplicate relationships in the tag/value store

The combination of these PR's reduce the time it takes to verify the above attached tag/value file from 824 minutes to less than 15 seconds - a 2 order of magnitude improvement.
They are rather substantial changes, so any review of the code would be appreciated.

That's great news! Is there an upcoming release of the tool with the optimization?

That's great news! Is there an upcoming release of the tool with the optimization?

We should be able to get a new release out this week.

Resolved with improvements to the tag/value and Java libraries mentioned in the above comment.


Multi-platform prebuilds?

Is it expectable that I only generated tarballs on platform of running system?
For prebuild -t 12.0.0 -t 14.0.0 -t 16.0.0 --strip it only generated node-v72/v83/v93-win32-x64.tar.gz.
Are they able to be used on other platforms?
It's very weird since prebuildify has provide platform option.

Are they able to be used on other platforms?

They're only suitable for the platform you're building on. Most folks use CI to build for other platforms.

It's very weird since prebuildify has provide platform option.

It's the same for prebuildify; the platform option by itself isn't enough to cross-compile.

Thank you for answering that.
I tried to build both windows and linux using prebuildify on the same machine on CI before I see your reply.
And it not work, files on win32-x64 are exactly same with files on linux-x64.
I searched the web and it seems that node-gyp doesn't support cross-compiling.
If it's no possible to cross-compile, what's the use of platform option of prebuildify since there is a default value of  os.platform()?
If it's possible, what should I do to cross-compile? Such as replace compile toolchain on the PATH with mingw, modifying binding.gyp, or whatever.

@vweevers what's the purpose of the platform option? It gives the impression that cross compiling is supported.

It defaults to process.platform; in cross-compiling scenario's that may not match the target platform so that's why you can specify a different value.


SPY-1407: Ask DagScheduler to clean up executors that has never been used

What changes were proposed in this pull request?
When an executor is removed but no tasks has ever been launched on it, we need to ask DagScheduler to clean it up. Please refer to https://unlockdata.jira.com/browse/SPY-1407 for more details about this issue.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

JMWG

Saw merge directive 'JMWG'. CSD Jenkins auto merging


[Suggestion] Crafttweaker Crafting Table Support

I use a lot of custom crafting recipes in my modpack, and I have several different types of crafting tables that I input recipes into. I was wondering if there was a way to implement crafttweaker support into this mod so that the crafting table can have recipes unique to it (like the gem cutter table has), so that I can lock some recipes behind needing the radiant crafting table.

I think it's already there... ;)
https://crafttweaker.readthedocs.io/en/latest/#Mods/Arcane_Archives/gct/

They're not asking for CT support for the gem cutter's table, they're asking for a way to make a recipe only craftable on the Radiant Crafting Table.

Yeah, it's not the Gem Cutter's Table. I'm specifically interested in the radiant crafting table.

Currently the Radiant Crafting table is simply a wrapper around a normal crafting table, it's not a unique system and (from experience) implementing recipes specifically for it while also allowing you to craft IRecipes while also preventing these other recipes from being registered in a normal crafting table... So, basically, it's not going to happen due to difficulty and support issues, and a lack of time to do it.
I'd recommend you check out Artisan Worktables by CodeTaylor as an alternative.


Feature enhancement (Logger): automatically intercept Runtime exceptions, and log information

Is your feature request related to a problem? Please describe.

When using the Powertools Logger, log lines are annotated with a number of useful fields such as function_request_id.
However, if a Runtime exception is thrown, Powertools Logger isn't used to log the exception. Instead the exception is printed using the System.err by the JVM, and the log lines do not contain any information relating to the function execution.
Describe the solution you'd like

I would like the RuntimeExceptions to be printed, so when exceptions are raised in my code, I can identify the function_request_id for further debugging
Describe alternatives you've considered

It is possible for Powertools users to define their own catching mechanism, however it would be nice if Powertools Logger printed this information by default
Additional context

The logger aspect could:

Catch and log at an appropriate level in a structured fashion
Rethrow

We'll get the error twice in the logs - once structured once stdout, but i'd be hesitant to interfere with the runtime itself seeing the exception too.

we can't avoid the runtime to log, unless we catch the exception completely, but we cannot do that, if the function is in error the caller must be aware, so just catch / log (fatal) / rethrow

Do we add this to v1 or v2? While I'm working on logging v2, I can do it, but if we do in v1, I let @mriccia.

@mriccia if you feel especially attached to it lets add it in v1, otherwise I don't think we should push new features there as discussed.

@mriccia do you know what you want to do with this?


Test against specific versions; more stable

Codecov Report

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

@@           Coverage Diff           @@
##           master      #45   +/-   ##
=======================================
  Coverage   96.04%   96.04%
=======================================
  Files          20       20
  Lines        1389     1389
=======================================
  Hits         1334     1334
  Misses         43       43
  Partials       12       12

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 1658572...066b465. Read the comment docs.


Add code lens to scrape prometheus data from file

As per https://github.com/dynatrace-extensions/dynatrace-extensions-vscode/issues/109

Add code lens to scrape Prometheus metrics from file
Slightly change logic - when connecting to an endpoint that didn't exist, you could not re-configure the endpoint
Add doc for the new fucntionality (very limited as the whole docs are being re-written)

Oh, and final request, and I know this is a pain but... Please change the PR to be pulled into "rebranding" instead of "main".
Essentially "main" is closed until rebranding happens. So all incoming code changes will go into the new project rather than copilot. This ensures that once official docs are released we can also simultaneously release the new project by pulling "rebranding" into "main".


When will the code be released?

When will the code be released?

Thanks for your interest. The code will be released after the paper is accepted.

Thanks for your interest. The code will be released after the paper is accepted.

大佬还有计划开源嘛

Thanks for your interest. The code will be released after the paper is accepted.

大佬还有计划开源嘛

Yes, this paper is still in submission and will be open-sourced when accepted.

恭喜大佬中了NeurIPS，请问有后续的开源计划吗。