Match Huggingface implementation exactly

Description
I'm opening this to follow-up on #570 / #641, discuss a bit of work I did, and discuss next steps.
I think there's a decent amount of evidence that TL's implementation of (at least) Mixtral differs from the "official" Hugginface implementation. If this is a crux, I think it might be worthwhile to try to generate stronger evidence than the plots in #570.
My best guess at what's happening is that we're seeing these small differences in outputs, which may compound across layers (and tokens). Again, if this is a crux, I might try to collect evidence for or against.
einops and F.linear are almost, but not quite in agreement
Here's a snippet of code:
batch = 2
pos = 5
d_model = 768
d_head = 64
n_heads = 12

w = torch.normal(0, 0.02, size=(n_heads, d_model, d_head))
b = torch.normal(0, 0.1, size=(n_heads, d_head))
input = torch.normal(0, 1, size=(batch, pos, d_model))

w_ = einops.rearrange(w, "head_index d_model d_head -> (head_index d_head) d_model")
b_ = einops.rearrange(b, "head_index d_head -> (head_index d_head)")
result1 = F.linear(input, w_, b_).reshape(input.shape[0], input.shape[1], b.shape[0], b.shape[1])

result2 = einops.einsum(
    input,
    w,
    "batch pos d_model, head_index d_model d_head -> batch pos head_index d_head",
) + b

And a plot of the difference between result1 and result2:

Ideally, there would be no difference, but it turns out that there is, probably due to floating-point operations happening in different orders.
This PR
This is intended as a demonstration that by avoiding einsum it is possible to match the canonical implementation exactly. The added test failed before but passes now.
You'll note that simple_attn_linear is implemented using F.linear but I haven't worked out how to do this for complex_attn_linear yet, or if this is even possible.
Behind the scenes, the Huggingface implementation of GPT2 uses Conv1D (which calls addmm). Mixtral uses torch.nn.Linear, which calls F.linear.
Tests and Questions
Getting the new test to pass for just GPT2 was a lot of effort and it raises some questions:

Is it even worth it? I think this is somewhat of an empirical question and may require some more research to answer well. The answer might differ depending on the size and type of the model. For example, it may matter for Mixtral but not GPT2.
Does this imply a ton of bespoke work for each model? Do some models in their canonical implementation use addmm / F.linear while some use einsum? My guess is that addmm / F.linear are more common.
I haven't added a test for Mixtral yet, because it would either (a) require a beefy machine to run or (b) require a way to load a single layer (for both the TL and HF models), which will be a bit of work.

Overall my take is that using addmm / F.linear is slightly less readable, but likely to more closely match the implementation of most models so is probably worth using as a default. I also like the idea of testing that the TL implementation exactly matches HF, but I'm not sure if this type of test would be flaky.
Type of change
Discussion, possibly bug fix.
Checklist:

[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] I have not rewritten tests relating to key interfaces which would affect backward compatibility

OK, so first off I think getting these tests to pass is really worth it. We need to accept a certain amount of inaccuracy, but at the moment it is unacceptable.
My hypothesis is that every model supported in TransformerLens is slightly inaccurate from the implementation in HuggingFace. This inaccuracy, which may actually have been bigger on GPT2 than it was on Mixtral has not been obvious on smaller models, since the accumulative error is not significant enough to impact smaller models on a limited amount of passes. To test this, my idea is to run a small model on a massive amount of generation loops. I believe that it will eventually begin deteriorating due to the accumulation of error.
Going forward, all model implementations introduced to TransformerLens should match huggingface. I have spent quite a bit of time in the last couple of weeks reading through the transformers code base, and so far I have not seen a use of einsum. Not to say that they don't exist, but there's probably a reason why HuggingFace are not relying on it. In our case, accuracy is 100 times more important than readability, so removing einsum may be a very important task across the whole codebase.
Improving this accuracy is going to require a ton of work for each model, and probably a community initiative to help identify where it is most needed. It is absolutely vital though to be able to solve this inaccuracy as quickly as possible, and then put systems in place that will track accuracy, and identify when we need to work on improving it. This work will lay the groundwork for supporting more complicated models into the future, and without finding a solution for it now, our ability to support larger models will be limited.
It is not feasible that we have test suites for the full model of every model we support, but when we can have that, we should. As for slicing a layer, and using that, this idea has been discussed in great detail, and it will happen at some point. The most difficult thing at this moment is identifying what we can do, which will have the most impact on solving the underlying issue. When I was debugging mixtral in depth last week, there were quite a few moments when all of a sudden I changed something and accuracy improved. A lot of those changes were really small, with the biggest being when I synced the MoE component with HuggingFace. I think we are going to find a lot of little problems across the board, and a few larger problems.
What I think we should do is focus on improving accuracy in smaller models. I believe that if we do that, the improved accuracy will ripple out into the more complicated models. What you have done here is a really good move into that direction. I would like to wrap up a few tasks, and put up a release within the next couple days. I would really like to include this in that release. Is there anything I can do to help that?

Is there anything I can do to help that?

A few ideas:

General code review

Help fix tests/acceptance/test_activation_cache.py::test_logit_attrs_matches_reference_code which is failing CI (though it's passing for me locally)

complex_attn_linear is kind of implemented as a placeholder at the moment. You could help figure out the best way to implement this without einsum. (Though it's probably fine if we merge this as-is for now).

Implement tests for more models.

I can work on all of these tasks as well, though with limited bandwidth in the next few days.


Update concept-private-endpoint.md

The private endpoint is GA in Central India region too now.

@zhenlan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off
(@lisaguthrie is oof)

@zhenlan: I'm sorry - only the author of this article, @lisaguthrie, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Hi @zhenlan - This pull request was created in the public repository. Would you submit this update in the private repository? In the private repo, you can sign off directly, and many PRs qualify for auto-merge.
To edit an article in the private repo from within the documentation, after you select Edit on an article page,  add “-pr” to the repo name in the URL.
We'll close this PR. Thanks.

Related links in the internal Microsoft Docs contributor guide:
Public vs. private repos | Move a commit to a different repo (public -> private) | GitHub for content reviews
Quick reference for contributing to the docs | Make changes to a Docs article | PR review quality criteria

@ktoliver do you mind doing the same for this PR?

@zhenlan Yes, that would make sense. :)

@ktoliver, thanks!


Errors occurred while attempting to load the app

I got the following exception when loading the app for the first time:
The following errors occurred while attempting to load the app.
The OwinStartupAttribute.FriendlyName value 'AspNetIdentity' does not match the given value 'Standard' in Assembly 'ScottBrady91.IdentityServer3.Example, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
The OwinStartupAttribute.FriendlyName value 'InMemory' does not match the given value 'Standard' in Assembly 'ScottBrady91.IdentityServer3.Example, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.
The given type or method 'Standard' was not found. Try specifying the Assembly.
To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.
To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.
Suggest: I found that owin:AppStartup app setting value doesn't match what exists in Startup.cs.
Firas

Good spot. Switched to InMemory


create PouchDB table for routes

create routes table and save into app folder

[x] find a tool to create PouchDB table

[ ] create routes table

[ ] link to app

We are going to use that: https://pouchdb.com/2016/04/28/prebuilt-databases-with-pouchdb.html
As our primary goal now is web application, we gonna use number 2.


fix(core): use ng $zindex variables

Description

use existing $zindex variables with appropriate classes
angular sidebar and angularjs nav-side-admin used different z-index
which caused angular modals to be overlayed by nav-side-admin

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots:
Before (If applicable):

After:

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Not sure what percy test is a result of. See the same result in other momentum-ui PRs.


Ignore errors after .end() is called instead of causing an uncaught exception

Currently, it is possible for an error to occur on the stream after .end() is called, which clears event listeners.  This results in an uncaught exception.  In particular, if a connection is pending while .end() is called, then fails (with something like ECONNREFUSED), it triggers an uncaught exception.  This commit causes it to ignore errors after .end() is called.

@crispy1989 could you please add a test for this?

Seems like this issue was at least partly fixed. We should check if this fix is actually better than the one in place.

The original issue this pull request fixes was fixed by 1c983a11 and c7dbfec8.  However, it looks like these may actually introduce another issue where callbacks for pending requests may not be called on end (flush_and_error isn't called).


Dataset conversion pipeline for ALOHA/A. Koch arm

first commit: make push_to_hub less hardcoded (cf https://discord.com/channels/1216765309076115607/1245029082266206251/12450445273839739590
second commit: adapt aloha_dora to be able to use more general camera setups

I can cherry pick them if better

This change is

regarding the staggering issue of the robot arm as in the recorded episode that can be watched as follows: python lerobot/scripts/visualize_dataset.py --repo-id radek/place_in_bowl2 --episode-index 0 (while recording, the arm staggers and doesn't move smoothly, in recording it moves instantaneously)

I updated firmware on all the dynamixel servos and went through the config to align positions using homing offset
tested this directly with teleop from Alex's repo, no issue
ran with lower fps -- 10 fps, issue persists
removed camera from config -- issue goes away, but recording happens extremely fast! according to the progress bar, the recording happens at 90 - 130 fps, the episode doesn't last the usual 12+ seconds (400/30) but the recording completes much quicker
when running with camera, the reported fps was < 30, around 28.4


locking aws gems to their latest minor version

Description
Locking aws gems to their latest minor version. This should make it so that only newly released patches for the respective aws gems are installed by default. This is because aws has a bunch of gems that release daily, this causes hundreds of versions of the same gems to be installed. In our scenerio at work just including the cookbook and making a single ssm call resulted in installing hundreds of gems (which some of the versions left it non functional and looking for shared object files that did not exist. We tried rebuilding the gems via --pristine and only after going a gem --cleanup did we see any improvement. After doing a cleaned our converge time went from 6 min 04 sec to 18 sec.
Issues Resolved
none, can open if needed.
Check List

[x] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

We can do that as well to some extent, would you be good with just the aws-* dependencies or are you looking for all dependencies?

Yeah, I think that would be fine otherwise that dependency count could continue to grow.
It'd be great if there was some way to generate a gemlock file for all of your cookbooks so you had confidence that something I ran today runs the same in 6 months if there were no other changes to the cookbooks.

I ran the first commit for several hours today in multiple environments today and it seems to be working. I can't say we use all the resources but we use ssm, elb, and some iam resources.

We only use the s3_file resource which is why we ended up forking and stripping so we don't have all those additional dependencies for such a small fraction of functionality.

Ya that makes sense.

It'd be great if there was some way to generate a gemlock file for all of your cookbooks so you had confidence that something I ran today runs the same in 6 months if there were no other changes to the cookbooks.

You could create a Gemfile and then as part of your release process you could do a bundle and upsert the dependencies based on that. Agreed there should probably be a cleaner solution just thinking outside the box. In your metadata.rb you can actually execute ruby code so you could call bundler and dynamically build the list. The code executed in metadata.rb is evaluated at upload to the chef server. I know that it used to create a metadata.json for you but don't quote me on that, chef has changed a lot since I started using it.


Add LiveHelper.now

Feature Summary
This feature provides interface to POST /api/live/happening_now which gets currently featured live thread.
This commit doesn't contain test for 200 OK (the endpoint returns 200 if there is a featured live thread, 204 no content if there is no featured). So the test for latter should be added in the future.
References

#676 - feature request for reddit live
https://www.reddit.com/dev/api#GET_api_live_happening_now
nmtake@e147a37 - API design discussion

Updated. Besides of adding None handling for objetify(),

fix cassette naming scheme
add unittest for objectify()

Maybe the latter is unnecessary. Also, I didn't add CHANGES entry for the objectify() because I thought it's too internal to add. Please tell me if I'm wrong.

Perfect! Thanks. While objectify is a public method, I don't see any reason to include its non-breaking changes in the changelog.


why unsup_loss is 0.000

It is 0 at the beginning as no pseudo box is generated.  However, it should be greater than 0 after several iterations.

box
About how many iterations will there be greater than 0

另外，我感觉是不是加载一个预训练模型会加速模型的收敛？感觉很多轮依然是0

box
About how many iterations will there be greater than 0

If you are using ms coco, it should increase quickly and be greater than 0 after about 1000~2000 iterations. For other datasets, I am not sure.

另外，我感觉是不是加载一个预训练模型会加速模型的收敛？感觉很多轮依然是0

Yes. adding load_from='{YOUR_MODEL_PATH}' in your config file should be ok.

谢谢，我尝试一下

Noticed same problem while training on custom dataset even after large number of iterations. Have you figured what was the issue?

Maybe you can try to train a supervised model to see the supervised performance and have an impression of how the predictions look like.

Same I get 0 unsup_loss bbox even though I used load_from with pretrained model. Sometimes it starts at a small value but eventually goes to zero and during evaluation there are no boxes. I had to set by_probto zero false according to #62 to fix the assert len(indices) == len(self).

I am not sure what the problem is. Could you try to train a supervised model and test it on your images to see whether the dataset and model are ready?

Yes I trained a model using the a config in config/baseline/ and it seems to do well:
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.691                                                                                Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.938                                                                                Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.843                                                                                Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.610                                                                                Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.683                                                                                Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.797                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.737                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.737                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.737                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.658                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.732                                                                                Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.835
When I try with soft teacher it is all zero (i.e. no boxes)

Is it possible for you to upload the log and the config file here?

Yes I trained a model using the a config in config/baseline/ and it seems to do well:
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.938
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.843
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.610
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.683
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.797
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.658
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.732
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.835

When I try with soft teacher it is all zero (i.e. no boxes)

do you solve this problem?I've been stuck with the same problem for days.

Yes I trained a model using the a config in config/baseline/ and it seems to do well:
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=1000 ] = 0.938
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=1000 ] = 0.843
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.610
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.683
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.797
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=300 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=1000 ] = 0.737
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.658
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.732
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.835

When I try with soft teacher it is all zero (i.e. no boxes)

do you solve this problem？

I also encountered a similar problem, and I find that the bbox score of the teacher model will soon decrease to below the pseudo label threshold within a few iterations, which is strange.

I also encountered a similar problem, and I find that the bbox score of the teacher model will soon decrease to below the pseudo label threshold within a few iterations, which is strange.

Maybe it's because the threshold is set too high. The loss is zero because there's no pseudo label. For different datasets and models, the pseudo label thresholds are different.


Check nginx.conf exists before creating the backup

The make start command failed the first time since the ningx.conf file did not exist and could therefore not be moved.
Add just a small check before moving it so that the make start will work the first time as well 🚀
I haven't tried the tool out much yet but it looks great and perfect for my use case! Ty Gurra

Nice one 👌 🎉


#20 - Do Not Persist Credentials - Workflows

Release Notes:

Disabled saving of credential in all checkout actions.

Closes #20

Release Notes:
Disabled saving of credential in all checkout actions.


Potentially better lef handling

Prompt
Openlane merges multiple lefs into a single lef to be used in multiple step in the flow.
Proposal
I believe today openroad handles properly reading separate lef files. On the one hand avoiding merging would save space during development, on the other hand there is an effort to convert merging into reading multiple lefs in the source code and there are other tools that might need a lef merge.
This is a low priority. It is merely for tracking a potential enhancement.

Fixed in OpenLane 2.


[PE-D][Tester B] Grade does not reset when assignments are overwritten

Grade does not reset when assignments are overwritten

Labels: type.FeatureFlaw severity.Low
original: ShummyOwnzYou/ped#5

Student#SetAssignments to reset overallGrade

resolved, thank you!


pants の install で Too many open files

https://www.pantsbuild.org/install.html
$ ./pants generate-pants-ini
...
Exception caught: (builtins.Exception) (backtrace omitted)
Exception message: Could not initialize store for process cache: "Error making env for store at \"/Users/shunsuke/.cache/pants/lmdb_store/processes/f\": Too many open files"

https://qiita.com/sou_lab/items/1ca051a1f3b906a23dc8
を参考に maxfiles を増やしたが変わらない

PC 再起動したら直った
./pants generate-pants-ini
Adding sensible defaults to /Users/shunsuke/repos/src/github.com/suzuki-shunsuke/example/pants/pants.ini:
* Pinning `pants_version` to `1.21.0`.

You may modify these values directly in the file at any time. The ./pants script will detect any changes the next time you run it.

You are now ready to use Pants!


Make a function to open napari with every layer shown

We should make a function that opens napari-spatialdata with every layer shown (and ideally showing the first gene from var and first column from obs). This function would be used during automatic notebook testing, since if we open napari it doesn't show any element by default, so an eventual bug would less likely be caught.

@LucaMarconato you think this can be closed now?


Prevent users from joining VC until room is ready

I have added a "conference room created" event as suggested by @superdump. However, we might not need to use it for the time being as we can use the react lifecycle to monitor the roomId property instead.
We can use the even to trigger audio / visual feedback that the conf. room is ready at a later date, if needed. However for the time being there isn't an easy way to do this as it would clash with the existing ringback video.
Fixes #20.

It's a good point that this didn't do anything for users navigating between scenes @superdump.
I've added some further fixes to handle that case too, and to give some visual feedback when the conference isn't ready.


Comments in parameter file

Is there someway the parameter file can be generated with comments for each parameter? Ideally parameters are named well enough so this isn't necessary and everything is obvious. We need to avoid a UX where you have to go back through the template to understand what the parameter is. But in some cases params may be more complex or ambiguous, so maybe some annotation in the contract can be copied into the params file as a comment?

related to #85 and also as has been discussed, extracting the params from template is not a simple task

related to #85 and also as has been discussed, extracting the params from template is not a simple task


[SPARK-35707][ML] optimize sparse GEMM by skipping bound checking

What changes were proposed in this pull request?
Sparse gemm use mothod DenseMatrix.apply to access the values, which can be optimized by skipping checking the bound and isTransposed
  override def apply(i: Int, j: Int): Double = values(index(i, j))

  private[ml] def index(i: Int, j: Int): Int = {
    require(i >= 0 && i < numRows, s"Expected 0 <= i < $numRows, got i = $i.")
    require(j >= 0 && j < numCols, s"Expected 0 <= j < $numCols, got j = $j.")
    if (!isTransposed) i + numRows * j else j + numCols * i
  }

Why are the changes needed?
to improve performance, about 15% faster in the designed case
Does this PR introduce any user-facing change?
No
How was this patch tested?
existing testsuite and additional performance test

test :
  test("sparse gemm") {
    val rng = new scala.util.Random(0)
    val m = 1e3.toInt
    val n = 1e3.toInt
    val k = 1e3.toInt
    val alpha = rng.nextDouble
    val beta = rng.nextDouble

    val a = Array.tabulate(m * k) { _ =>
      if (rng.nextDouble < 0.9) 0.0 else rng.nextDouble
    }
    val A = Matrices.dense(m, k, a).toSparse

    val B = Matrices.dense(k, n, Array.fill(k * n)(rng.nextDouble)).toDense

    val C = Matrices.dense(m, n, Array.fill(k * n)(rng.nextDouble)).toDense

    val tic1 = System.nanoTime
    Iterator.range(0, 1000).foreach { i => BLAS.gemm(alpha, A, B, beta, C) }
    val toc1 = System.nanoTime

    // scalastyle:off println
    println(f"new sparse gemm duration: ${(toc1 - tic1) * 1e-9}%.3f")
    // scalastyle:on println
  }

results:  master: 92.080;          this pr: 79.319

Test build #139622 has started for PR 32857 at commit 7e8f195.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44149/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44149/

Test build #139622 has finished for PR 32857 at commit 7e8f195.

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

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139622/

friendly ping @srowen

retest this please

Test build #139823 has started for PR 32857 at commit 7e8f195.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44351/

Test build #139823 has finished for PR 32857 at commit 7e8f195.

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

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44351/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44351/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139823/

Merged to master, thanks @srowen for reviewing!


Fix reference to ApplicationController that doesn't always exist

In situations where foundation-rails is loaded without the rails application (e.g. when sidekiq shares the same Gemfile with an app), and ApplicationController doesn't exist it barfs with an 'uninitialized constant ApplicationController'.
As noted in rails engine guide "The ApplicationController class being inherited from here is the
Blorgh::ApplicationController, not an application's ApplicationController." I think we probably mean to refer to ActionController::Base in this controller. Everything loading correctly now :smiley:

:+1: from me!
This should be documented though in the changelog for people who relied on their ApplicationController for authenticating the whole app, even the style guide.
Upgrading foundation-rails version could break it.
Any thoughts @zurb/team-foundation-rails

:+1:
Ran into this problem because I don't have a root ApplicationController defined.
All my controllers are namespaced:
app/controllers:
├── admin
│   ├── application_controller.rb # Admin::ApplicationController
│   └── ...
└── api
    ├── application_controller.rb # Api::ApplicationController
    └── ...

Since this fix is still in master, my current workaround is to just define an empty ::ApplicationController...


Custom allocators

I've been working on a specialized fork of async_executor focused on prioritized execution high performance CPU bound tasks for bevy. Thus far I've made a number of optimizations that definitely have helped out with overhead, but spawning tasks remains one of the primary bottlenecks, which is coming from spawn_unchecked.
One of the primary use cases is a lifetime limited scoped batch of tasks that we know the inner tasks cannot outlive. As we know that futures and tasks cannot outlive the scope, one of the more appealing options is to use bumpalo or some thread safe wrapper around it to speed up allocation.
It'd be super helpful to be able to provide a version of the API that allows specifying your own allocator or a callback for allocating memory for use in non-nightly environments.

Has there been any high-level work to integrate custom allocators into other crates in the Rust ecosystem? I support this idea in theory, but I think some finesse will be needed in practice to ensure it works with past, present and future Rust versions.


Steps to reproduce the issue:

Added qtbase_git.bbappend with packages "accessibility eglfs fontconfig gles2 linuxfb tslib" and depend on userland
added a generic qt project to be built in the image (this for instance)
qtbase fails, compile log attached ('EGLStreamKHR' has not been declared)

log.do_compile.zip

We need some more information to be able to help here. Could you let us know which layers and branches you're using, what modifications you've made (including modifications in local.conf), the full bitbake command you ran and the full output.

My mistake. In retrospective, I think the define guard I used (EGL_KHR_stream) is causing this problem.
I backported that from upstream Khronos for the typdef, but it is not actually backporting the full EGL_KHR_stream feature from Khronos.
By using that define guard as-is, gtbase seems to be trying to compile against this non-existing feature in the outdated userland Khronos. I think the right thing to do is instead to use a non-clashing define guard name specific for this patch (bringing the typedef).
What do you think @betafive?

Sure, I will post the result as soon as finished.
Thanks !

@hhromic : compiled and succeeded. I'm not able to try it on a device in this moment, but I think is going to be fine.

Thanks for the feedback. I will review this patch then to account for this issue and the original issue being patched. Sorry for the inconvenience!

No problem, thanks for looking immediately !

Looks good to me @hhromic . Merged to master.


Is a Fine-Tuning Example for RT-1-X Available?

Hello,
Thank you for making RT-1-X available. We are grateful for the chance to apply its impressive capabilities to our research. We read Question #23 asking about the fine-tuning process to apply the model in a new setting using our own dataset, and we were wondering if you have released code of a fine-tuning example or if this is planned to be released soon. Thank you in advance for your help.
Thank you again,
Sofia

The training example code is already released. See this colab . You can adapt this code for fine-tuning on your dataset. For understanding how the data is stored and loaded for the model, you can look at this colab. PLMK if you still have questions!

Thank you for your help!


bump components to CAPI 1.6.0

This issue tracks bumping cspo to cluster API 1.6.0 version.
/kind proposal

We already have it in go.mod.
Only Tiltfile needs to be updated.

This was already implemented, see PR #88


Courthouse locator flow to call for copy of judgment

if all courthouse locations have phone numbers we can build a flow in that helps them find a clerk to call to get a copy of their judgement.


Hydrogen React - Add Language to CartProvider

WHY are these changes introduced?
CartProvider doesn't take translations into account
Fixes https://github.com/Shopify/hydrogen/discussions/1403
WHAT is this pull request doing?
Adds language to the graphql queries. E.g. This will fetch the product titles in the correct language.

I have signed the CLA!

Hi @Qubica, thanks for this great PR!
Considering that this is not a breaking change (languageCode defaults to EN), we feel this should a minor rather than a major change.
Could you please update the changeset to minor?


Sign in Loop

I changed my corporate password while teams was signed in.  eventually, it kicked me out with a helpful screen telling me to sign in.  It then signs me automatically in, and out asking me to sign in again.
https://1drv.ms/v/s!An4snZT1mSRu1zUIw77DBiLAIiXs
#groundhogday

@lucidqdreams This issue should have been resolved in some time. Are you still facing this issue? If yes, Could you please share logs from:

%appdata%\Microsoft\Teams\logs.txt

The issue was resolved simply by starting the windowsazureguestagent
manually after each reboot.
On Tue., Jul. 9, 2019, 10:03 Gousia-MSFT<EMAIL_ADDRESS>wrote:

@lucidqdreams https://github.com/lucidqdreams This issue should have
been resolved in some time. Are you still facing this issue? If yes, Could
you please share logs from:
%appdata%\Microsoft\Teams\logs.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/msteams-docs/issues/771?email_source=notifications&email_token=ABON7SSVMUMEFYUQ54A4KXLP6TAEZA5CNFSM4H6NOLJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZQ4T7Y#issuecomment-509725183,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABON7SQSDRM4U3VLK4U3OBDP6TAEZANCNFSM4H6NOLJA
.


Feat/multi arch images

Description

Changelog

Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] The light- and dark-theme are both supported and tested
[x] The design was implemented and is responsive for all devices and screen sizes
[x] The application was tested in the most commonly used browsers (e.g. Chrome, Firefox, Safari)

(Optional) Visual Changes

Does this mean we will not get multi-arch support?

Does this mean we will not get multi-arch support?

It will be supported with our next release. We just opened a new PR for it.  See here #4339
Sorry for closing this PR without a comment/link.


Increase overall data visibility

As a user of clearlydefined.io I would love to see components with pending curations, understand what components have curations etc. This helps me understand the nature of the work that has happened and is happening. Some examples:

In /definitions, entries highlight whether or not they have merged or pending curations
in a full details view users see curations and easily navigate to the curations
in /definitions I can filter by merged curation or pending curation

I guess this is related to #149 , #187 , #162 ?

this also depends on https://github.com/clearlydefined/service/issues/226 for the actual data

Hello @jeffmcaffer , we've prepared a mockup related to the requirements of this issue.
Please take a look and feel free to comment.

Nice start.  thoughts

This detail should go on the details page (there is already a curations section)
The expanded panel should have two indicator icons/badges: "curated" and "pending" (names may change). The first indicates that the definition being shown has had curations applied. The second indicates that there are pending curations.
With the list on the details page, we have more room. The list there should have the info you already have plus the title of the PR (this will be more interesting going forward). Probably is two lines per entry.

@jeffmcaffer this is the actual implementation on the FullDetailsPage:

Looks good @storrisi . For the list of curations, might we better sort by status (pending vs curated).
Actually, if we sort by merge date that will get us part way there and make sense for the user. could put pending at the top (no merge date) and then sort by most recently merged first.
In general the list will be short but for some it may be long. will it scroll or just get longer and longer?

In general the list will be short but for some it may be long. will it scroll or just get longer and longer?

That's a good point, scrolling it's definitely the best way for the user to look at the data


Set repositoryPath to protected

Setting the repository path to protected will allow people that extend this class read and write the repositoryPath parameter.
This will allow one instance of the class to manage multiple instances of a repository by updating the repositoryPath variable prior to executing commands.

The right solution would be to implement public function getRepositoryPath() to return $repositoryPath. This could then be used from the outside of the class.

Comfortable with a setter as well?

No.


Refactor/clean up 'agent' related logic on Job model

Concept of agents for smart state analysis was simplified and now agent is instance of MiqServer. We can refactor code related to concept of 'agents' by removing not used/redundant attributes from Job model. It will simplify code, allow to drop agent_...columns from jobs table and will make future merging of Job and MiqTask models simpler.
in this PR:

remove code related to jobs.agent_state.  This attribute  is not shown in UI, not used anywhere and concept of another state (in addition to job state and job status) is confusing
remove code related to jobs.agent_class - all instances of agents(or proxy) are instance of MiqServer and we can use use MiqServer directly
rename methods dealing with agent_state and agent_message to reflect removal of agent_state attribute
refactor code to use use jobs.miq_server_id instead of jobs.agent_id.
make job belongs_to :miq_server. miq_server_id column is already present on jobs table but was not used before
migration to copy data from jobs.agent_id to jobs_miq_server_id
update Job.yaml to join jobs and miq_server tables) and show miq_server.name instead of jobs.agent_name in UI

after merging this PR we would be able to drop agent_name, agent_state, agent_class, agent_id columns from jobs table.
There are no changes in UI, however this PR depends on https://github.com/ManageIQ/manageiq-ui-classic/pull/551 which adds table name to generated SQL (to avoid SQL error after joining jobs and miq_server tables for UI).
We are keeping agent_message at this point.
It looks like there are 2 types of messages recorded in agent_message:

mirroring jobs.state messages (like "Initializing Scan", "Synchronization in progress", "Synchronization complete", "Scanning completed.").
message to reflect progress or some details of scanning:
categories.each do |c| ... agent_message = "Scanning #{c}"
... |scan_data| agent_message = scan_data[:msg]

@Fryguy @roliveri Does it make sense to merge 2 message related columns in jobs table - message and agent_message ?
@miq_bot add-label core
\cc @gtanzillo

@miq-bot add-label wip

@miq-bot remove-label wip

@Fryguy @gtanzillo this branch was tested on WMWare and RHEL providers: SmartState Analysis from VM were executed without errors. UI also looks good - no errors and data correct
could you review

@roliveri I was testing this branch by executing SSA manually on VMware and RHEL providers several weeks ago( before creating fine branch)  - worked without errors

@gtanzillo @roliveri after merging https://github.com/ManageIQ/manageiq/pull/14553 and https://github.com/ManageIQ/manageiq/pull/14588 one more commit was added to this PR: replacing agent_id with miq_server_id in vm_scan_spec


any jail i try to make using nat options gives error

buckbucks% appjail makejail -f  gh+AppJail-makejails/badwolf -j badwolf1 \                          /usr/src
-o virtualnet="ajnet:badwolf default"
-o nat
-o copydir=/tmp/files
-o file=/etc/rc.conf
-o x11 \
[00:00:00] [ info  ] [badwolf1] Building ...
[00:00:00] [ debug ] [badwolf1] Main Makejail: gh+AppJail-makejails/badwolf
[00:00:01] [ debug ] [badwolf1] Using method:github (args:AppJail-makejails/badwolf) from gh+AppJail-makejails/badwolf.
[00:00:01] [ debug ] [badwolf1] Using global cache directory (git): /usr/local/appjail/cache/git
[00:00:01] [ debug ] [badwolf1] Updating /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072 ...
[00:00:01] [ debug ] [badwolf1] Including /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail ...
[00:00:01] [ debug ] [badwolf1] Using method:file (args:options/options.makejail) from options/options.makejail.
[00:00:01] [ debug ] [badwolf1] Including /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options/options.makejail ...
[00:00:02] [ debug ] [badwolf1] Makejail generated:
[00:00:02] [ debug ] [badwolf1]     RAW cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail
[00:00:02] [ debug ] [badwolf1]     RAW cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options/options.makejail
[00:00:02] [ debug ] [badwolf1]     OPTION resolv_conf
[00:00:02] [ debug ] [badwolf1]     OPTION tzdata
[00:00:02] [ debug ] [badwolf1]     OPTION overwrite=force
[00:00:02] [ debug ] [badwolf1]     OPTION start
[00:00:02] [ debug ] [badwolf1]     RAW cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail
[00:00:02] [ debug ] [badwolf1]     ARG badwolf_tag=13.3
[00:00:02] [ debug ] [badwolf1]     FROM --entrypoint gh+AppJail-makejails/badwolf badwolf:${badwolf_tag}
[00:00:02] [ debug ] [badwolf1]     CMD pw useradd -n badwolf -c "Minimalist and privacy-oriented WebKitGTK+ browser" -d /home/badwolf -s /bin/sh
[00:00:02] [ debug ] [badwolf1]     CMD mkdir -p /home/badwolf/.local/share/badwolf/webkit-web-extension
[00:00:02] [ debug ] [badwolf1]     CMD mkdir -p /home/badwolf/.config/badwolf
[00:00:02] [ debug ] [badwolf1]     CMD chown -R badwolf:badwolf /home/badwolf
[00:00:02] [ debug ] [badwolf1]     COPY usr
[00:00:02] [ debug ] [badwolf1]     STOP
[00:00:02] [ debug ] [badwolf1]     STAGE custom:badwolf_open
[00:00:02] [ debug ] [badwolf1]     ENV DISPLAY=:0
[00:00:02] [ debug ] [badwolf1]     USER badwolf
[00:00:02] [ debug ] [badwolf1]     RUN badwolf.sh
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/RAW (args:cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/RAW (args:cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options/options.makejail)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/OPTION (args:resolv_conf)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/OPTION (args:tzdata)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/OPTION (args:overwrite=force)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/OPTION (args:start)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/RAW (args:cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail)
[00:00:02] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/ARG (args:badwolf_tag=13.3)
[00:00:03] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/FROM (args:--entrypoint gh+AppJail-makejails/badwolf badwolf:${badwolf_tag})
[00:00:03] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/CMD (args:pw useradd -n badwolf -c "Minimalist and privacy-oriented WebKitGTK+ browser" -d /home/badwolf -s /bin/sh)
[00:00:03] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/CMD (args:mkdir -p /home/badwolf/.local/share/badwolf/webkit-web-extension)
[00:00:03] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/CMD (args:mkdir -p /home/badwolf/.config/badwolf)
[00:00:03] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/CMD (args:chown -R badwolf:badwolf /home/badwolf)
[00:00:04] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/COPY (args:usr)
[00:00:04] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/build/STOP (args:)
[00:00:04] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/ENV (args:DISPLAY=:0)
[00:00:04] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/USER (args:badwolf)
[00:00:04] [ debug ] [badwolf1] Running makejail command (cmd): /usr/local/share/appjail/makejail/cmd/all/RUN (args:badwolf.sh)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/ARG (input:/usr/local/appjail/cache/tmp/.appjail/appjail.ZIY2LP6IPL)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/build/FROM (input:/usr/local/appjail/cache/tmp/.appjail/appjail.k8HQvrHx6o)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/build/OPTION (input:/usr/local/appjail/cache/tmp/.appjail/appjail.446F8Cgkh7)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/RAW (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/0.RAW)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/RAW (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/1.RAW)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/RAW (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/6.RAW)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/CMD (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/9.CMD)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/CMD (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/10.CMD)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/CMD (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/11.CMD)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/CMD (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/12.CMD)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/all/COPY (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/13.COPY)
[00:00:05] [ debug ] [badwolf1] Running makejail command (write): /usr/local/share/appjail/makejail/write/build/STOP (input:/usr/local/appjail/cache/tmp/.appjail/appjail.FLvI6quf1Y/stages/build/14.STOP)
[00:00:05] [ debug ] [badwolf1] Buildscript generated:
[00:00:05] [ debug ] [badwolf1]     set -T
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     . "${APPJAIL_CONFIG}"
[00:00:05] [ debug ] [badwolf1]     . "${LIBDIR}/load"
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     lib_load "${LIBDIR}/sysexits"
[00:00:05] [ debug ] [badwolf1]     lib_load "${LIBDIR}/atexit"
[00:00:05] [ debug ] [badwolf1]     lib_load "${LIBDIR}/log"
[00:00:05] [ debug ] [badwolf1]     lib_load "${LIBDIR}/check_func"
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     lib_atexit_init
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     trap '' SIGINT
[00:00:05] [ debug ] [badwolf1]     set -e
[00:00:05] [ debug ] [badwolf1]     badwolf_tag="13.3"
[00:00:05] [ debug ] [badwolf1]     lib_load "${LIBDIR}/check_func"
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     while [ $# -gt 0 ]; do
[00:00:05] [ debug ] [badwolf1]     	case "$1" in
[00:00:05] [ debug ] [badwolf1]     		--badwolf_tag)
[00:00:05] [ debug ] [badwolf1]     			badwolf_tag="$2"; shift
[00:00:05] [ debug ] [badwolf1]     			;;
[00:00:05] [ debug ] [badwolf1]     		--)
[00:00:05] [ debug ] [badwolf1]     			shift
[00:00:05] [ debug ] [badwolf1]     			break
[00:00:05] [ debug ] [badwolf1]     			;;
[00:00:05] [ debug ] [badwolf1]     		--)
[00:00:05] [ debug ] [badwolf1]     			lib_err ${EX_USAGE} -- "$1: Invalid option."
[00:00:05] [ debug ] [badwolf1]     			;;
[00:00:05] [ debug ] [badwolf1]     		)
[00:00:05] [ debug ] [badwolf1]     			break
[00:00:05] [ debug ] [badwolf1]     			;;
[00:00:05] [ debug ] [badwolf1]     	esac
[00:00:05] [ debug ] [badwolf1]
[00:00:05] [ debug ] [badwolf1]     	shift
[00:00:05] [ debug ] [badwolf1]     done
[00:00:05] [ debug ] [badwolf1]     if lib_check_empty "$badwolf_tag"; then
[00:00:05] [ debug ] [badwolf1]     	lib_err ${EX_DATAERR} "option requires an argument -- badwolf_tag"
[00:00:05] [ debug ] [badwolf1]     fi
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" image import -a "amd64" -N .ajspec -n "badwolf" -t "${badwolf_tag}" -- "gh+AppJail-makejails/badwolf"
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" image jail -a "amd64" -i "badwolf" -t "${badwolf_tag}" -- "${APPJAIL_JAILNAME}" "resolv_conf" "tzdata" "overwrite=force" "start" "virtualnet=ajnet:badwolf default" "nat" "copydir=/tmp/files" "file=/etc/rc.conf" "x11"
[00:00:05] [ debug ] [badwolf1]     cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail
[00:00:05] [ debug ] [badwolf1]     cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/options/options.makejail
[00:00:05] [ debug ] [badwolf1]     cd -- "/usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072" # Makejail: /usr/local/appjail/cache/git/064c3e3f57c6b08e7a2892ed7cc20a5f8bd0aacfd20e04923099afe576a7c072/Makejail
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" cmd jexec "${APPJAIL_JAILNAME}"  env "badwolf_tag=${badwolf_tag}"  sh -c "pw useradd -n badwolf -c "Minimalist and privacy-oriented WebKitGTK+ browser" -d /home/badwolf -s /bin/sh"
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" cmd jexec "${APPJAIL_JAILNAME}"  env "badwolf_tag=${badwolf_tag}"  sh -c "mkdir -p /home/badwolf/.local/share/badwolf/webkit-web-extension"
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" cmd jexec "${APPJAIL_JAILNAME}"  env "badwolf_tag=${badwolf_tag}"  sh -c "mkdir -p /home/badwolf/.config/badwolf"
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" cmd jexec "${APPJAIL_JAILNAME}"  env "badwolf_tag=${badwolf_tag}"  sh -c "chown -R badwolf:badwolf /home/badwolf"
[00:00:05] [ debug ] [badwolf1]     cp  -a -- "usr" "${APPJAIL_JAILDIR}/"
[00:00:05] [ debug ] [badwolf1]     "${APPJAIL_SCRIPT}" stop -- "${APPJAIL_JAILNAME}"
[00:00:06] [ debug ] [badwolf1] Cloning https://github.com/AppJail-makejails/badwolf as /usr/local/appjail/cache/tmp/.appjail/appjail.N2sXFepwFz ...
[00:00:06] [ info  ] [badwolf] badwolf (arch:amd64, tag:13.3): already up to date.
[00:00:07] [ debug ] [badwolf1] quick parameters: import+root="input:/usr/local/appjail/cache/images/badwolf/13.3-amd64-image.appjail" portable resolv_conf tzdata overwrite=force start virtualnet=ajnet:badwolf default nat copydir=/tmp/files file=/etc/rc.conf x11
[00:00:07] [ warn  ] [badwolf1] Trying to remove badwolf1 ...
[00:00:07] [ warn  ] [badwolf1] badwolf1 is not running.
[00:00:07] [ debug ] [badwolf1] Destroy flags:
[00:00:08] [ debug ] [badwolf1] Removing badwolf1 jail...
[00:00:08] [ debug ] [badwolf1] Using zfs-destroy(8) ...
[00:00:09] [ debug ] [badwolf1] Removing files...
[00:00:09] [ debug ] [badwolf1] badwolf1 was removed.
[00:00:09] [ info  ] [badwolf1] Creating an empty jail ...
[00:00:09] [ info  ] [badwolf1] Importing /usr/local/appjail/cache/images/badwolf/13.3-amd64-image.appjail as badwolf1 ...
[00:00:28] [ info  ] [badwolf1] Done.
[00:00:28] [ debug ] [badwolf1] Adding files ("/etc/rc.conf") to the list of files to copy ...
[00:00:28] [ debug ] [badwolf1] (1/1): Checking /etc/rc.conf ...
[00:00:28] [ debug ] [badwolf1] (1/1): Copying etc/rc.conf ...
[00:00:28] [ debug ] [badwolf1] Copying /etc/localtime as /usr/local/appjail/jails/badwolf1/jail/etc/localtime
[00:00:28] [ debug ] [badwolf1] Copying /usr/local/etc/appjail/resolv.conf as /usr/local/appjail/jails/badwolf1/jail/etc/resolv.conf
[00:00:28] [ debug ] [badwolf1] Reserving an IPv4 address for badwolf1 in ajnet ...
[00:00:29] [ debug ] [badwolf1] VNET Interface:e[ab]_badwolf Description:
[00:00:29] [ debug ] [badwolf1] ajnet is the default router.
[00:00:29] [ debug ] [badwolf1] Creating NAT rules ...
[00:00:29] [ debug ] [badwolf1] Setting NAT rule: network:ajnet ext_if:wlan0 logopts:0 () on_if:wlan0
[00:00:30] [ error ] [badwolf1] The nat command requires appjail-nat/jail/ and appjail-nat/network/ anchors to work.
buckbucks%
I have the anchors in my pf.conf:
buckbucks% cat /etc/pf.conf                                                                         /usr/src
nat-anchor "appjail-nat/jail/"
nat-anchor "appjail-nat/network/"
rdr-anchor "appjail-rdr/*"
anchor "appjail-nat/jail/"
anchor "appjail-nat/network/"
anchor "appjail-rdr/*"
buckbucks%                                                                                /usr/src
buckbucks%
pf is running i dont know why i keep getting the errors.

Please use Markdown to format correctly, it is difficult to understand your problem.

pf is running i dont know why i keep getting the errors.

In your /etc/pf.conf:

I have the anchors in my pf.conf:
buckbucks% cat /etc/pf.conf /usr/src
nat-anchor "appjail-nat/jail/"
nat-anchor "appjail-nat/network/"
rdr-anchor "appjail-rdr/*"
anchor "appjail-nat/jail/"
anchor "appjail-nat/network/"
anchor "appjail-rdr/*"

You must use the correct anchor types:
/etc/pf.conf:
nat-anchor "appjail-nat/jail/*"
nat-anchor "appjail-nat/network/*"
rdr-anchor "appjail-rdr/*"

nat-anchor != rdr-anchor, nat-anchor != anchor, rdr-anchor != anchor. See pf.conf(5) for details:
An anchor can reference another anchor attachment point using the following kinds of rules:

nat-anchor ⟨name⟩
        Evaluates the nat rules in the specified anchor.
...
rdr-anchor ⟨name⟩
        Evaluates the rdr rules in the specified anchor.
...
anchor ⟨name⟩
        Evaluates the filter rules in the specified anchor.

Reload pf(4) rules and run the Makejail again:
service pf reload

I have the correct anchor types exactly as you said but when i type pfctl -sn It says:
buckbucks% sudo service pf restart                                                                         ~
Disabling pf.
Enabling pf.
buckbucks% sudo pfctl -sn                                                                                ~
nat-anchor "appjail" all
nat-anchor "appjail" all
rdr-anchor "appjail" all
buckbucks%
I dont understand why its doing that im guessing maybe a bug in pf on freebsd-current??

I dont understand why its doing that im guessing maybe a bug in pf on freebsd-current??

I don't know, I'm on 14.0-RELEASE. Anyway, see my pfctl(8) output:
# pfctl -sn
nat-anchor "appjail-nat/jail/*" all
nat-anchor "appjail-nat/network/*" all
rdr-anchor "appjail-rdr/*" all

I know a person who is in CURRENT, I will ask him. AFAIK, he has no problems with pf(4).

thankk you please let me know much appreciaed

Any luck finding out from your friend in current?

Yes, I contacted him, but he is busy. He'll probably tell me something this week.
Although, your pf configuration looks really weird, I don't know if it really is, or it's a side effect since you're not using Markdown.
If you can, try your configuration in RELEASE instead of CURRENT.

i should be able to install aa base system of release in a jail or a chroot and that should be enought to check the pf config?

This problem does not seem to be related to AppJail. See your pfctl -sn output and compare it with mine. Maybe it is a problem on your system or a misconfiguration, but these are mere speculations. We need to test from another system to confirm.

Confirmed. I have been informed that pf in CURRENT shows the output in the style you describe. I don't know if this is a bug or a breaking-change.

i believe its possible a pug cause ive noticed alot of work being done on pfctl in the src tree or could be a breaking change and if so then will have to figure out a workaround in your scripts not sure but thnk you

Yes, first of all I need to confirm why pf shows the output like that. If it is a bug, I don't have to change anything, but if it is a breaking change, I will make changes in AppJail to fix this problem.

@buckbucks1111
Reported:

pfctl(8) displays the name of the anchors incompletely - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279225

I recently updated my VM to check if this issue persisted, and it is now fixed!


Reply-To other target when POSSE to Twitter fails

When I try to add POSSE to a blog post after the fact and send a webmention to https://brid.gy/publish/twitter it fails with
{
  "parsed":{
    "type":[
      "h-entry"
    ],
    "properties":{
      "content":[
        {
          "html":"
I'm subscribed to a handful of newsletters. Normally, they're quite marketing-heavy, but help me staying ahead of trends.

But a few of some ar
e quite \u2026 personal. Those I consider nuggets. One of them is written by Derek Sivers.

A couple of weeks, he wrote down how
 to ask your mentors for help. Then he asked his newsletter subscribers for thoughts, so here we go!

Look, I'm preferring written communication whenever possible.
Often you hear, that this is bad, because you're lacking additional input sources like mimics, tone of voice bla bla bla.

But I grew up on the web. I know it i
s possible to communicate effectively online. But you need to prepare more. Reflect more. Think more about a response was meant. It helps if you \u201eassume positi
ve intent\u201c.

Written communication has some major upsides:

It is written. That is, recorded. You can go back and see. You can easily search and anal
yse it.

It is asynchronous. That is, you have more leeway to think about and improve over your words to make sure it carries the message in the way intended. Plu
s, you can deal with it when it fits your schedule best! Not to forget you have time to research so to make a better argument.

We have more tools available. Sure
, rhetorics is trained since thousands of years. But parsing voice and faces etc. with computers is only possible recently. On the other hand, we have quite some experie
nce with estimating understandability, tone etc.

Who says, you can't apply lessons learned from rhetorics to written talk? Here also it is important to tell
a story. That means, stating the audience, providing context (who is acting, what is the problem, what do you want to achieve, what did you try? What are the options?)

Turns our this is exactly what Derek is doing, too. Plus, he experienced something, Atlassian describes
 as Rubber Chicken. I'm quite sure, you have experienced something similiar yourself, too: You're about to ask a friend or colleague for some help. Therefore, you th
ink about what to ask for. How to phrase it. By doing that it suddenly clicks and you found the answer to your question yourself!

Thinking about it, I will likely
put up a cheatsheet about what to keep in mind on writing. I have some links in my backlog for further reading, too ;-) Also
 it could cover some strategic approach about thinking logically.

Share your thoughts! This blog accepts WebMentions ;-)
",
          "value":"I'm subscribed to a handful of newsletters. Normally, they're quite marketing-heavy, but help me staying ahead of trends.\nBut a few of some are quite \u2026 personal. Those I consider nuggets. One of them is written by Derek Sivers.\nA couple of weeks, he wrote down how to ask your mentors for help. Then he asked his newsletter subscribers for thoughts, so here we go!\nLook, I'm preferring written communication whenever possible. Often you hear, that this is bad, because you're lacking additional input sources like mimics, tone of voice bla bla bla.\nBut I grew up on the web. I know it is possible to communicate effectively online. But you need to prepare more. Reflect more. Think more about a response was meant. It helps if you \u201eassume positive intent\u201c.\nWritten communication has some major upsides:It is written. That is, recorded. You can go back and see. You can easily search and analyse it.It is asynchronous. That is, you have more leeway to think about and improve over your words to make sure it carries the message in the way intended. Plus, you can deal with it when it fits your schedule best! Not to forget you have time to research so to make a better argument.We have more tools available. Sure, rhetorics is trained since thousands of years. But parsing voice and faces etc. with computers is only possible recently. On the other hand, we have quite some experience with estimating understandability, tone etc.\nWho says, you can't apply lessons learned from rhetorics to written talk? Here also it is important to tell a story. That means, stating the audience, providing context (who is acting, what is the problem, what do you want to achieve, what did you try? What are the options?)\nTurns our this is exactly what Derek is doing, too. Plus, he experienced something, Atlassian describes as Rubber Chicken. I'm quite sure, you have experienced something similiar yourself, too: You're about to ask a friend or colleague for some help. Therefore, you think about what to ask for. How to phrase it. By doing that it suddenly clicks and you found the answer to your question yourself!\nThinking about it, I will likely put up a cheatsheet about what to keep in mind on writing. I have some links in my backlog for further reading, too ;-) Also it could cover some strategic approach about thinking logically.\nShare your thoughts! This blog accepts WebMentions ;-)"
        }
      ],
      "published":[
        "2019-11-07T16:00:00Z"
      ],
      "name":[
        "About mentors"
      ],
      "in-reply-to":[
        "https://sivers.org/ment"
      ],
      "author":[
        {
          "type":[
            "h-card"
          ],
          "properties":{
            "name":[
              "Andr\u00e9 Jaenisch"
            ]
          },
          "value":"Andr\u00e9 Jaenisch"
        }
      ]
    }
  },
  "error":"Could not find a tweet to reply to."
}

(Unicode is not supported? I guess, my name is this way because Python 2…)
Anyway, it could be related to #221.
I was about to use bridgy to POSSE my blog post to Twitter.
I want also be able to WebMention another blog post (I discovered later on, that Derek has not implemented the API on his website).
I assume, the error message tries to explain me, that it expected to be a reply to a tweet.

hi! yes, that's right. bridgy currently only allows POSSEing a reply if it replies to a post on the same silo. this is intentional; discussion in #362. from that issue:

people also often try to use bridgy publish to POSSE a reply to a tweet but get the in-reply-to link wrong, or accidentally use brid.gy/publish/twitter when they meant to use brid.gy/publish/facebook, etc. this check helps them. i'm not sure yet how to reconcile the two use cases.
...
sadly, there are dozens of bridgy publish attempts every day that are wrong in various ways, and mismatched in-reply-to and bridgy link is one of the most common. (i can tell because invariably the person fixes it and makes another attempt with the right in-reply-to or bridgy link minutes later.)

if we wanted to POSSE this kind of reply to twitter and show the reply context in a reasonable way, we'd need to start inventing our own microsyntax, which would be complicated, and might even end up being silo-specific. discussion in #527.
my overall approach has been to "Keep Bridgy Publish dumb" and avoid all this entirely. i'm open to more ideas though!

oh, also,

(Unicode is not supported? I guess, my name is this way because Python 2…)

no, that's JSON, they're just escaped. still valid. 😎 https://en.wikipedia.org/wiki/JSON#Data_portability_issues

If I got the article to reply-context right it would mean for me to use .h-cite. That would be part of that micro-syntax. How would the markup need to look like?

  Former tweet

  The article I replied to

We should at least not demand the silos to be part of the markup. You would need to parse it from the URL.
The only reference (except tests) I found in your code is https://github.com/snarfed/bridgy/blob/69662a75f36eead25037c7c1c2ed69797b203948/templates/about.html#L927-L943

no, that's JSON, they're just escaped. still valid. :sunglasses: https://en.wikipedia.org/wiki/JSON#Data_portability_issues

I got so used to blame Python2 for it. But yeah, é falls outside of the „safe range”.

ah! if you also include a u-in-reply-to like this that points to a tweet, then yes, bridgy publish should work ok.
having said that, u-in-reply-to needs to go on the  tag. details here. parsing your HTML example ends up with a composite object for the in-reply-to property, which afaik nothing will support, including bridgy.

I need to think about it.
What I want to have is to be able to „comment” on a blog post of someone else using WebMention + POSSE my blog post to Twitter.
So either I'm sit down and try to come up with something on my own (would share it with you then, of course) or just down apply the approach at all.
Can we keep this issue open for so long? Say, if I haven't come back to you by the end of this year, you can close it.

understood! other people have definitely asked for this too.
do you know what you would want the reply on twitter to look like? have you read the discussion in https://github.com/snarfed/bridgy/issues/362? and https://indieweb.org/Twitter#original_lacks_POSSE_tweet? (cc @tantek) other people have thought about this pretty deeply, and it's trickier than it seems at first.
feel free to join us in https://chat.indieweb.org/chat btw! lots of people there would love to discuss this more.

also, one workaround is to first publish your blog post without the in-reply-to, use Bridgy to POSSE it, then add the in-reply-to afterward. that works now.

Okay, the workaround worked for me:
https://twitter.com/AndreJaenisch/status/1193088778338029569
From what I see, you also have an endpoint at /webmention.
Could I add that one, so that you can tell, that this article of mine is meant to be a reply to someone else's article AND POSSEd to Twitter?
Otherwise, feel free to close it. Will use the workaround for me.
Thanks for the link to the chat (although it should be https://chat.indieweb.org/ ).
I'd prefer IRC and irssi for it :-)

this is a different idea, but are you sure your post https://jaenis.ch/blog/2019/about-mentors/ is actually a reply to https://sivers.org/ment , and not just a mention of it? in-reply-to is usually only meant for direct replies, what we'd usually call "comments." your post seems more like a full length, standalone post that references his post, but is more than just a reply.

From what I see, you also have an endpoint at /webmention.
Could I add that one, so that you can tell, that this article of mine is meant to be a reply to someone else's article AND POSSEd to Twitter?

interesting idea! i'm still not sure we should support this at all, but if we do, that would definitely be one way to know it's intentional. we'd still need a way to allow it in the interactive web UI though.

Thanks for the link to the chat (although it should be https://chat.indieweb.org/ ).
I'd prefer IRC and irssi for it :-)

heh, sorry, yes. i meant https://indieweb.org/discuss .

this is a different idea, but are you sure your post https://jaenis.ch/blog/2019/about-mentors/ is actually a reply to https://sivers.org/ment , and not just a mention of it? in-reply-to is usually only meant for direct replies, what we'd usually call "comments." your post seems more like a full length, standalone post that references his post, but is more than just a reply.

I thought about this for a while now.
My „problem” is, I tend to write „long replies” (if space and time allows it). So, yeah, that's basically what I would have replied as e-mail. I add additional thoughts, which could make it qualify as a comment.
A fuzzy border, I guess :-)

sure! that's all totally ok. one of my favorite things about the indieweb is that we each get to do whatever we want on our own web sites.
having said that, the open questions in https://github.com/snarfed/bridgy/issues/896#issuecomment-552032215 still apply.
you're definitely welcome to POSSE this kind of reply to Twitter manually, or with another tool! Bridgy itself can't right now, though, and based on https://snarfed.org/2015-11-29_keep-bridgy-publish-dumb and similar ideas, i don't really plan to take it in that direction.

tentatively closing. thanks for the discussion! feel free to reopen if anything new comes up.

FYI: Just tried out to use a comment, but I need to adjust my markup somehow, I guess … At least Indiewebify.me does not recognise it.
But I don't want to hijack this post. Thanks for the lessons :-)

ah, yes, comment markup is for other people's replies on your post. i expect you wanted u-in-reply-to instead here.

Now it's getting confusing.
Let me reread the wiki page.
I'd assume you mean the Webmentions I need below my sites to be marked up as comments now.
But that's something the recipient (= target/receiver of Webmention) has control over.

right! specifically u-comment. but that's unrelated to writing (and POSSEing) your own reply to someone else's post.


Document PokemonCreation.md

Closes #502

Template LGTM

Meta-comment: everything that's a code sample should be surrounded by backticks so it gets monospaced.


Problem: We are using "app()" in tests, even though there is already another application var

In our tests we have two versions of the application running, this is obviously not great.
This is an issue with us not calling the "setUp()" method of the parent in every setUp call, we should all this to every tests.
Solution: Remove "app()" method, switch to using "app" protected var.
SuccessCriteria: Our tests pass

Just to ask the question. Why is this a problem? What benefit are we getting? It's not great, I'll admit, but is it actually causing any issues?
The only thing I can think of is that the application is created in each tests that's loaded, which is pretty wasteful. It really only needs to be created once.
Let's run some tests to get data, switch the internal "app" variable to a static one and see how speed is.

Existing:
Time: 2.25 seconds, Memory: 24.00Mb
Time: 2.23 seconds, Memory: 24.00Mb
Time: 2.2 seconds, Memory: 24.00Mb
Time: 2.52 seconds, Memory: 24.00Mb
Ran it four times, got a rough time of 2.23 seconds, with one outlier of 2.5.

Static Application:
Time: 1.53 seconds, Memory: 16.00Mb
Time: 1.37 seconds, Memory: 16.00Mb
Time: 1.45 seconds, Memory: 16.00Mb
Time: 1.46 seconds, Memory: 16.00Mb
Roughly 1.45 seconds. That's a significant improvement.

Properly static application:
Previous one wasn't properly static, now the app is reused across all tests:
Time: 586 ms, Memory: 14.00Mb
Time: 565 ms, Memory: 14.00Mb
Time: 559 ms, Memory: 14.00Mb
Time: 577 ms, Memory: 14.00M
That's an incredible speedup. Rebuilding the app each time was causing massive, unnecessary overhead.
We may get into issues later, when we have default dependencies and we override them between tests. I'm happy to wait for that to become an issue though. It's easy enough to solve.
For now, let's make this change easy to make, so that it won't cause any issues further down the line.

Its only a few seconds, but this will pay off as the test count increases, makes it possible for devs to run the entire test suite, rather then just the part they're working on.

Looks good, tests are passing much faster. Closing the issue.


React native app crashes with react-native versions 0.49

Description
I have been running detox with react-native 0.46.0 and everything works fine. But when I upgraded to react-native version 0.49.1 the build succeeds but the app crashes with no error information on the console.
Note: the app runs fine when I run react-native run-ios.
Steps to Reproduce
N/A
Node, Device, Xcode and macOS Versions

Node: 8.1.4
Device: iPhone 7 Simulator
Xcode: 8.3.2
macOS: 10.3.2 Sierra

@haishee related to #279.

This is tracked in #279.


axis.proto is incomplete

@davelab6 I just tried building the python module for axis.proto however, the file seems to be incomplete:
$  protoc --version
libprotoc 3.12.3

$ protoc -I=Lib/gftools --python_out=Lib/gftools Lib/gftools/axes.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:648] No syntax specified for the proto file: axes.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
axes.proto:26:12: "FallbackProto" is not defined.

As in fonts_public.proto, the first line should perhaps be syntax = "proto2"; (I can do this).
The FallbackProtomessage is missing.

(related #234)

message FallbackProto {
  required string name = 1;
  required int32 float = 2;
}

I think I can move one with this or something similar. Would be nice though to have the original version.


I would like to know if this algorithm can still work for single frame point clouds synthesized by three mechanical radars

I now want to perform ground removal on the synthesized point cloud, and I am not sure if this algorithm can work in the synthesized point cloud. Mechanical radars are all mounted on cars, with one radar overhead and two radars on the side

I don't think it will work on radars. Even on solid-state LIDAR there are limitations. You can read about the limitations in Conclusions and Future Work section of the paper.

I don't think it will work on radars. Even on solid-state LIDAR there are limitations. You can read about the limitations in Conclusions and Future Work section of the paper.

Sorry, this is my pen mistake. What I mean is a point cloud composed of three rotating mechanical Lidar

That could work theoretically. Try only enabling the star_shaped_method.
x_zero_method and x zero method use channel information of a single LIDAR, which is not relevant if the pointcloud is merged from 3 LIDARS.

So I still have a question is that if I use the point cloud of merged and what the value of channel should I have set?

As mentioned  star_shaped_method does not rely on channel info, so it doesn't matter.
The only problem with this approach is that it uses one method instead of three, so it won't be as accurate.


missing comma in code snippet

missing comma in Workspace.create call after subscription_id='<azure-subscription-id>'

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

ID: 72c6907a-8658-f29b-cce9-6af0a359f26b
Version Independent ID: e41c8c19-d858-9a84-4b89-1b65bdd960a8
Content: Quickstart: Use the Python SDK to create a machine learning service workspace - Azure Machine Learning
Content Source: articles/machine-learning/service/quickstart-create-workspace-with-python.md
Service: machine-learning
GitHub Login: @hning86
Microsoft Alias: haining

@mx-iao Thanks for the feedback! We are currently investigating and will update you shortly.


top-bar fixed

Hello,
I'm trying to egt the topbar fixed
I use this  : http://foundation.zurb.com/sites/docs/v/5.5.3/components/topbar.html
So I wrap the  with
but the menu doesn't get fixed (nothing happens)
I use the last version of foundationPress (FoundationPressVersion : 2.6.1)
This is the only modification I did on the theme
Sorry the website is currently offline
Thnak's per advance for any help

Sorry I didn't understood the terme 'sticky' so the solution is in https://github.com/olefredrik/FoundationPress/issues/653


How can I use it on Android?

Suppose I have detector running on Android already, how can I run HybridSORT on top of it? Any suggestion on approaches?

Hello, as long as you can run the detector on Android, you can certainly implement the tracking algorithm based on the detection results. The specific deployment can be achieved through algorithms such as C++. You can refer to code repositories like this one: https://github.com/yaoyi30/ByteTrack_ncnn_Android

Hello, as long as you can run the detector on Android, you can certainly implement the tracking algorithm based on the detection results. The specific deployment can be achieved through algorithms such as C++. You can refer to code repositories like this one: https://github.com/yaoyi30/ByteTrack_ncnn_Android

Thank you for the reply. So it means that I need to manually convert the python code in this repo to C++, right?

Yes, there is currently no ready-made C++ version of HybridSORT. The main code that needs to be converted is located in trackers/hybrid_sort_tracker/.

Thank you very much for the answer.


[Enhancement] reset system

Do not merge yet, is only for build check

The build pipeline has an issue. Nuget restore is broken somehow :( Not your fault ;)

Thanks for your contribution!
I made some minor improvements at the code and will merge it.
It would be great if this system is somehow configurable. I have to admit, there is currently no other way than extending the DataModel. We probably need an easy system to store plugin configurations independently from that. I have some ideas and need more time to think this through, though. But for now, the current state should be good enough to merge.


six>=1.5 as requirement

With Mac, there is an issue with using streamparse if six version is too low. Not sure if it has to be >=1.5 but the default six from OS X Yosemite, 1.4.1 didn't work with streamparse. The exact problem is with 'from six.moves.socketserver import ..'. It can't import six.moves.socketserver. I can see that pip install six so the problem is that the old one is still being used. Is it the problem everyone should handle themselve or could installation script do something about that?

streamparse should be installed in a virtualenv or conda environment on OS X.  You should basically never pip install things into the default Python installation in /Library as that can break all sorts of things that you might not expect.  See comments on issue #113.
I will update our requirements.txt to make the six >= 1.5 dependency explicit.


Adding optional API authentication

I felt uneasy using the Luigi central scheduler while anyone could connect in and potentially tamper with job data or potentially worse (while it should be run on a private network, if an attacker broke the perimeter, they may have a field day with such an unauthenticated service).  As a quick resolution for security focused individuals such as myself, I have added a very simple API key system, where accepted keys are loaded by default from /etc/luigi/api_keys.lst (configurable path) and the worker API key is set in the worker configuration.  If there are 0 available API keys or they fail to load, the API authentication is disabled on the server.
There is no length/complexity limitations set on API keys aside from they can not start or end with white space (white space is stripped during loading of keys), and they are transported by the LAUTH HTTP header.

Temporarily pulling this PR until I can fix an issue where this negatively impacts the web viewer.


Feat/poly

Polynomial module from gkr project. If most things look good I'll clean up into a proper PR.

@Tabaie I don't understand what does computeLagrangeBasis do ? Also, for multilinear polynomials I don't think that it's necessary to express them in another basis than the Lagrange basis on the hypercube. My understanding was that each time we deal with a vector [a0, .. , a_n], the i-th entry would correspond to the the i-th corner of the cube (i decomposed in base 2)

In the GKR project they do a lot of extrapolations on small domains of the form {0, 1, ..., n-1} into an explicit polynomial (I think, I haven't seen all of the repo yet but I assume that's how it is used). So this function is used to precompute the polynomials p_0 = (X-1)...(X-n)/ ((-1)(-2)...(-n)), p_1 = X(X-2)(X-3)...(X-n)/((1-0)(1-2)...(1-n)) etc so that a function X: {0, 1, ..., n-1} can be easily extrapolated as \sum_{i=0}^{n-1} X(i) p_i.

The multilinear ones are denoted by their values on the hypercube. This Lagrange thing is for univariate functions.

Yes the maximum size is 12. I think that's too small for FFT to pay off. What do you think?

oh ok yes in that case it's better to do it by hands.


502 Bad Gateway when fetch data from Deta Base

Hello,
I have 3 problematic endpoints showing the 502 Bad Gateway message.
<h1> Bad Gateway </h1>
<p> The micro ran into an error while processing the request. </p>
<p> If you are the owner of the micro, please check your logs. </p>
<p> If the response took around 10s, it might be due to the time out limit.</p>

/all-data
/find-passport/:passp
/find-name/:name

Please check the code below since I feel maybe I've coded it the wrong way causing the error.
Kawanua.
PS:
I have another /find-key/:id endpoint that works perfectly following the tutorial.
Source code
Base data
[
  {
    "key": "key-1",
    "name": "Han Solo",
    "passport":<PHONE_NUMBER>8,
    "movie": "Star Wars",
  },
  {
    "key": "key-2",
    "name": "Luke Skywalker",
    "passport":<PHONE_NUMBER>4,
    "movie": "Star Wars",
  },
  {
    "key": "key-3",
    "name": "Doctor Strange",
    "passport":<PHONE_NUMBER>,
    "movie": "Star Trek",
  }
]

index.js
Header
const express = require('express');
const { Deta } = require('deta');

const projectKey = 'myPr0j3cTk3y';
const deta = Deta(projectKey);
const dbName = 'dummyDB';
const db = deta.Base(dbName);

const app = express();
app.use(express.json());

// ...

module.exports = app

Dependencies
  "dependencies": {
    "deta": "^1.0.1",
    "express": "^4.17.1"
  }

Problematic endpoints
/all-data
app.get('/all-data', async () => {
    const fetchData = await db.fetch();
    const allData = fetchData.items;
    return allData;
});

/find-passport/:passp
app.get('/find-passport/:passp', async (req, res) => {
    const { passp } = req.params;
    const items = await db.fetch({'passport': passp});
    return items;
});

/find-name/:name
app.get('/find-name/:name', async (req, res) => {
    const { name } = req.params;
    const items = await db.fetch({'name?contains': name});
    return items;
});

hello @kawanuaid , can you please check your logs from deta visor or with deta logs --follow? The logs should provide more information on why the endpoints are failing.
If the logs don't show anything then you can let us know in this issue thread, slack, discord or email.
Closing this here however as it's not relevant with our docs.


Dynamo DB Reserved Keywords

Reserved Keywords should be blocked in DynamoDB expressions

Won't do.  See http4k-connect for a more in-depth implementation


Immediate Pipeline producer overflow with ros_control

Starting ur_driver with use_ros_control set to True immediately causes continuous  [ERROR] [1515725521.964447833]: Pipeline producer overflowed! <RTPacket> messages. Using upstream works, and setting use_ros_control to False works. I am using a UR3 with <IP_ADDRESS>0.

I came across the same error when switching from vel_based_pos_traj_controller, which is started in ur5_ros_control.launch, to pos_based_pos_traj_controller using the rosservice call mentioned in the readme, as well as switching them around inside the launch-file.

It seems that this only happens when the ros_control position interface is active and the robot is not powered on, i.e. when the robot state is reported as Idle or Power off at the Polyscope initialization screen.
Can you confirm, @mrjogo, @azhural?

I can confirm. Using the velocity interface does not produce an error. For the position interface to work, either by switching or starting in the launch-file, the robot has to be powered on.


Front-end

display diagram
visualize trace

Sketch

Use EmberJS? Or this one?

Shipped :boat:


Add solver examples and export contract

These are copied from https://github.com/ITensor/ITensorTDVP.jl/tree/main/examples.

Nice to have these here

Yeah I realized it is better to point users to these examples instead of pointing them towards ITensorTDVP.jl and in lieu of having proper documentation.


Implement unparse ScalarVariable to String

Which issue does this PR close?

Closes #10518.
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

I took the liberty of merging up from main to resolve the conflicts


fix(conductor): clean up executor tracing events

Summary
Only emit error events at the top most level, warnings otherwise.
Background
Error level tracing events should only be used when an error cannot be recovered from, not during normal operation. Furthermore, the notification that a long lived actor/task shuts down should be restricted to the code that handles the shut down.
Finally, a warn-level event was emitted when a hard error was encountered, which confuses things further.
Changes

Replace error! by warn! in executor where appropriate, and warn! by error!
Clean up error message to not mention shutting down

Testing
No testable changes

Blocked on #620 being merged

Instead of emitting warnings, executor is now returning an error if executing/finalizing blocks failed. This is probably to crass, so I have created https://github.com/astriaorg/astria/issues/624 to at least retry first.