Make @cache.invalidate() idempotent

Problem: invalidate() raises KeyError if the key is missing.
That leads to a nasty behavior: code works under unit tests,
but raises the error in production (because of the timeout).
An especially nasty case is when some concurrency is involved,
where two writer threads execute some write operation simultaneously,
and then one thread wins the race, while another gets KeyError.
In practice, it is almost impossible to write any deterministic logic
that will do something like:
"I know I mutated this specific thing, so invalidate the old value"
so I always have to do this:
try:
    function_decorated_with_cache.invalidate(key)
except KeyError:
    pass

And I guess everyone who faced this issue has to do the same,
so it looks to me more a bug than a feature.
So here I decided to fix it.
Now invalidate() just doesn't raise KeyError if the key is
missing.
Also, I've added a separate test dedicated to invalidation,
where I also added invalidate_all() (that wasn't covered by tests
previously).

Thanks


A bit of NumPy

I played around with a profiler, picked out one of the slowest functions and took a look at what could be improved - I found a couple of smaller things, but nothing major. I then proceeded to see what numpy could do - but it actually doesn't do much. Speed improvements are within the margin of error, memory improvements weren't measurable due to me not knowing how to properly use memory_profiler.
The generated maps are 100% the same as before, result of the tests hasn't changed either.
Here some more information, not very useful and quite boring: http://pastebin.com/8p1vwaV1

Sh**, I accidentally added the World_pb2.py I got from @psi29a . Could somebody tell me how I can undo that?

Oh, the build failed. When I return that numpy-array for the irrigation, it causes problems whenever something like "world1 == world2" is called since that array seemingly differs from a standard array more than expected.
I will think about it.

I pushed another commit, now it hopefully works. I tried to test the addition to the protobuf-code (in world.py) but I am not sure what triggers it. "worldengine --protocol-buffer" ran fine.
I also did some testing regarding the memory consumption of a numpy array vs. a standard array. Outputs are read off of the Ubuntu Task Manager. Imprecise for small arrays. And for some reason there are two values - private and (virtual). The number on the left is the size of the array (e.g. 1000*1000).
old:
1000^2: 5 (40) MB ->   14 (  48) MB
4000^2: 5 (40) MB ->  135 ( 169) MB
10000^2: 5 (40) MB ->  808 ( 876) MB
20000^2: 5 (40) MB -> 3134 (3466) MB
new:
1000^2: 5 (40) MB ->   17 (  93) MB
4000^2: 5 (40) MB ->   17 ( 207) MB
10000^2: 5 (40) MB ->   17 ( 848) MB
20000^2: 5 (40) MB ->   17 (3137) MB
Creation and destruction are a lot faster for the numpy arrays. Memory consumption in comparison to standard arrays is slightly better for large arrays. As far as I understand it's the iteration that isn't much faster - but there are some optimized iteration possibilities, maybe they prove useful in other places of worldengine.
It was certainly worth a try, and depending on what you guys think about this and if the tests will start going through at some point, I might start looking at some of the other code-files and add in some numpy-code - hints on where it might be most profitable are welcome. (I don't have to go all out as with this commit, I just wanted to give it a fair shot.)

Yippie, the tests are passed! :) (Except for the lottery-test...)

Nice work! We've had this on our todo list for awhile. :)
I think there are more places in the code where the 2d arrays should be numpy.

Yes, there are. It would be great if all of them were, that might eliminate some overhead converting between the two types and give a very clean memory-footprint and small speed improvements.
When I started editing the function I just wanted to exchange the array for a numpy array, due to the TODO-remark. When I then dug into the documentation I noticed that there is a lot more that could be done with numpy - sadly the improvements are pretty minor, I was hoping for at least a factor of two in speed.

I'm still polishing this, so please nobody merge it. numpy is kind of insane. :)

I'm a little worried about your revert of World_pb2.py, since what was in master was compatible with python2 and python3.
Did it not work with your version of protobuf?

Oh, no! It worked perfectly. I guess I used "commit -a" when I should have used "commit". I'm sorry. :(
I will remove it. Again.

No worries, nothing that can't be undone. I was just reading through your change-set and noticed it. :)
When you are ready for us to really look at it (and merge), just say so. We'll likely have you do a:
rebase master -i

which will allow you to squash all your commits into one. This makes your commit changes super clean as a result. :)

Thanks for the hint. :)
The code as is is in a state of readiness. But numpy seems to be very powerful and I am currently trying to find a way to get rid of most of the iterations in the modified file. It would be nice to have a really polished example of numpy-usage in the code, maybe somebody else decides to put more numpy into worldengine and needs a reference. I, for one, had no idea that numpy would prove to be such a deep pond.
(It's a shame I will have to throw away my coverage-lottery ticket with the next commit, though.^^)

I might be done. Offline-tests ran fine, result of the generation is exactly the same as with the old algorithm and the code now looks quite beautiful to me.^^
I desperately have to run some performance tests on this because this now needs two orders of magnitude less iterations and the things that are done should be doable very efficiently. The old "new" method saved about 10% of time, hopefully the current one is at least as good.

Yippie, cProfile reports about 90% less time spent in irrigation.py - which is about 25% less time overall! :dancers:

Python unlike C/C++ (compiled languages) is an interpreted language. It will write bytecode out when the file is first run into *.pyc files. Python is smart enough to invalidate pyc files when the py files are changed but will only actually run the pyc files.
So I'm not really sure what you mean by compiled master-build and uncompiled test-build.
If you mean our one file things found in our github releases page, that is a whole other ball of yarn having to do with pyinstaller black-magic. That assembles all the different libraries and Python bytecode into one file that resembles a self-extracting zip file.

I meant: I properly installed the master-build. Then uninstalled, removed all traces of .pyc (I don't trust Python because of some mishap in the past) and then reran the script.
But it might not be important if there is any more time that can be shaved off of the 0.2 seconds that are left. :P

For sake of nailing down definitions... let us just call it based on the branch.
How about just master vs. perf_opt
or if you are talking about a release, use the tag name like  0.18 vs. perf_opt
it is safe to say your branch or tag vs. another branch and tag because they are unique. :)

That seems more clear, I will remember it.^^
Meanwhile I am looking through the profiler-output to find some more timesinks. There are some that might be worth looking into, but nothing really prominent.
This one is interesting, though:
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
1000    8.378    0.008    8.378    0.008 {built-in method step}

Is that what is done when iterating through a range? I have never seen a step()-method - and a quick look into the Python documentation didn't help either.

Looks great, merging.


wrap HttpJsonTranscodingService with GrpcDecoratingService

Motivation:
NPE in HttpJsonTranscodingService if GrpcDecoratingService returns Response without grpc-status header
Modifications:

Change service wrap order in GrpcServiceBuilder: Wrap HttpJsonTranscodingService with GrpcDecoratingService

Result:

Closes #4337

(WIP) I'm also looking to add test cases for the fix similar to the one provided in the linked issue(with HttpJsonTranscoding & an annotated Decorator).
Please Recommend a Test file to put it in (or a name for a new test file)

Should I add a new Test file ( maybe HttpJsonTranscodingServiceAnnotatedDecoratorTest or something? 😅 ) for it?
Also, should there be some safegaurd around the line that Threw the NPE? (AbstractUnframedGrpcService:L185)
maybe assume 14 unavailable or at least throw a readable exception message? 🤔

Should I add a new Test file ( maybe HttpJsonTranscodingServiceAnnotatedDecoratorTest or something? 😅 ) for it?

I don't think you have to worry too much about this.
It seems like the test will look similar to GrpcDecoratingServiceSupportHttpJsonTranscodingTest so you may want to try adding it there. Otherwise, I think it's fine to add another test class.

safegaurd around the line that Threw the NPE?

Sounds like a good idea. Perhaps we can close the response using res.completeExceptionally(e)

Integration test is added 😄 . Though this behavior is not specific to AuthService, I used it in the test case since it seemed to be the only armeria-provided decorator that could alter the response from framed to unframed, and is likely the most common way to encounter this problem(Which was also my case)

Let me merge this PR after the CI builds pass.


Training Notes and Issues

remove /api link (you can't click on it, throws an error)
if you've never setup github before, you need to use https.  Maybe we should just show https.
readme is missing two backticks `.

Fixed in #812


Problem of converting cityscapesSoTA onnx model

Issue Type
Support
OS
Ubuntu
OS architecture
x86_64, aarch64
Programming Language
Python
Framework
PyTorch, ONNX, PaddlePaddle
Model name and Weights/Checkpoints URL
CityscapesSOTA
Description
Hi,
Thank you  for sharing this greate work. I saw in this repository you have sucessfully converted the CityscapesSOTA to onnx model and runing in the tensorrt. I'm also tring to convert the  model to onnx and then to tensorrt. I have converted the model to onnx, but when I converted the onnx to tensorrt there's error
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] [symbolicDims.cpp::ndGetC::124] Error Code 2: Internal Error (Assertion d.nbDims >= nbSpatialDims + 1 failed. )
[05/30/2022-11:06:21] [TRT] [E] 4: Resize_0: Number of scale factors must equal to the number of input dimensions.
[05/30/2022-11:06:21] [TRT] [E] 4: [network.cpp::validate::2871] Error Code 4: Internal Error (Layer Resize_0 failed validation)
I think there's must be some problem in the onnx model, can you help find what's wrong with the model? The onnx model is uploaded in this link CityscapesSOTA onnx.
Did you do any optimization based on the paddle implementation?  And if possible could you share the code for optimization?
Thanks
Relevant Log Output
No response
URL or source code for simple inference testing code
No response

I don't understand why you don't read the resources that are committed.
https://github.com/PINTO0309/PINTO_model_zoo/tree/main/201_CityscapesSOTA

Sorry, I'm new to the onnx conversion and I think I should use the replace_xxx.json file to do the optimization, but I don't  know how to use it. And I look through the onnx file with netron and din't find layer id like 2140 defined in the json file. Could you explain a bit more?
Thank you very much

https://zenn.dev/pinto0309/scraps/cf319db8fea4c3
https://github.com/PINTO0309/PINTO_model_zoo/blob/main/201_CityscapesSOTA/convert_script.txt

However, since the versions of the various frameworks are likely to have been upgraded during the past six months, an error may occur if the program is executed as is. In that case, fine-tuning is necessary.

As an alternative, this tool may be used to directly correct problem areas in ONNX.
https://github.com/PINTO0309/simple-onnx-processing-tools

I have conveted the onnx to tensorrt model sucessfully following the link https://zenn.dev/pinto0309/scraps/cf319db8fea4c3 and onnxsim, But the onnx model inference is completely wrong and the tensorrt engine has size about 2 G. Did you do any extra thing except for the process in the link when converting the onnx model? And did you follow the pricess paddle->onnx->tensorrt? This is the onnx model I use  https://drive.google.com/file/d/1nGLlsX6KqbtS3EyEivncQ_SXeO_nRg02/view?usp=sharing

But the onnx model inference is completely wrong

I don't know.

the tensorrt engine has size about 2 G

paddleseg_cityscapessota_180x320_opt.onnx

Did you modify/optimize the paddle implementation before converting to onnx

I have only done what is written here. onnxsim has been run 5 times.
https://zenn.dev/pinto0309/scraps/cf319db8fea4c3


App Installation Instructions are badly out of date

The instructions on this page https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/appinstaller haven't been updated since 2017 and many things have changed since then so some of the instructions and images are no longer valid. Additionally, installing apps the ways described in this page doesn't allow you to start them if the package is a .msix file which is the only supported package version in the latest version of Visual Studio so the instructions are now obsolete.

Thank you @scout208 - you're absolutely right. I will raise this internally and ask this to be prioritized.

These have been updated.


align output keys with terraform backend keys.

small improvement but would make copy paste possible.

This can solved easily with having an output in the code like this which creates the backend.tf block.
output "backend_output" {
  value = {
    bucket         = module.terraform_remote_state.state_bucket.bucket
    key            = "ADDYOURKEYPATHHERE"
    dynamodb_table = module.terraform_remote_state.dynamodb_table.name
    region         = data.aws_region.current.name
    profile        = var.profile
  }
}

in addition, I'd recommend to create a local_file that contains the output.
I'm keeping all my backends to a dedicated folder.
A side note: I'm using an empty variable (var.env) and terraform apply prompt the user for input. this var is also the file name in my case.


Save fuzzer logs, even on success.

Previous CI logic deleted logs files along with intermediate outputs
from fuzzers.  This makes debugging issues like #661 harder.

Looks like the issue on CI was around keeping non-log files.
Just FYI - The artifact collection regexs are at https://github.com/SymbiFlow/prjxray/blob/52fbb756656dc0a7907263f882d53f1de59a9222/.github/kokoro/kokoro-cfg.py#L10-L25


External v Local code/asset source

Foundation (CSS/JS) delivered via CDN; fonts delivered by Google fonts;
Please move into the project.

As a follow-up, we'll need to license the font for the web, so @lmullen if you can let me know which fonts specifically we need, I can get that process started and even download the fonts to add to the repo. Then you'll just need to link them into the stylesheet once it's pulled in as well.

@jmulliken The only font is IBM Plex Serif which is open source.

I have done this for external JS and CSS. I am not going to do this for the Google Fonts. The likelihood of Google Fonts being the first thing to break is incredibly remote. If that were to happen, the site would gracefully degrade to a different font, and it would be easily fixed. The performance implications for changing the font are not worth this change.


zappa certify results in "No module named 'letsencrypt'" (with fix)

When I type zappa certify I get the stack trace below.
Context

You need to update your template--it should be OK to use python 3 now! And in fact I am. I wonder if that is what flushed this bug out.
Expected Behavior

No stack trace
Actual Behavior

(Werkzeug 0.12.1 (/Users/dtenenba/envs/lambdagoodies/lib/python3.5/site-packages), Requirement.parse('Werkzeug==0.12'), {'zappa'})
Calling certify for environment dev..
Are you sure you want to certify? [y/n] y
Certifying domain sub.domain.tld [ACTUAL DOMAIN CENSORED]..
Oh no! An error occurred! :(

==============

Traceback (most recent call last):
  File "/Users/dtenenba/envs/lambdagoodies/lib/python3.5/site-packages/zappa/cli.py", line 2333, in handle
    sys.exit(cli.handle())
  File "/Users/dtenenba/envs/lambdagoodies/lib/python3.5/site-packages/zappa/cli.py", line 450, in handle
    self.dispatch_command(self.command, environment)
  File "/Users/dtenenba/envs/lambdagoodies/lib/python3.5/site-packages/zappa/cli.py", line 545, in dispatch_command
    manual=self.vargs['manual']
  File "/Users/dtenenba/envs/lambdagoodies/lib/python3.5/site-packages/zappa/cli.py", line 1565, in certify
    from letsencrypt import get_cert_and_update_domain, cleanup
ImportError: No module named 'letsencrypt'

==============

Need help? Found a bug? Let us know! :D
File bug reports on GitHub here: https://github.com/Miserlou/Zappa
And join our Slack channel here: https://slack.zappa.io
Love!,
 ~ Team Zappa!

Possible Fix

diff --git a/zappa/cli.py b/zappa/cli.py
index 68da8f9..01a6e20 100644
--- a/zappa/cli.py
+++ b/zappa/cli.py
@@ -1435,7 +1435,7 @@ class ZappaCLI(object):

         # Let's Encrypt
         if not cert_location and not cert_arn:
-            from letsencrypt import get_cert_and_update_domain, cleanup
+            from zappa.letsencrypt import get_cert_and_update_domain, cleanup
             cert_success = get_cert_and_update_domain(
                     self.zappa,
                     self.lambda_name,

Not sure if this would have unwanted side effects since I assume things work as they are for most people.
Steps to Reproduce

Create a virtualenv and activate it
pip install flask zappa ipython pylint
create app.py with these contents:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

create a zappa_settings.json like this:

{
    "dev": {
        "app_function": "app.app",
        "domain": "[CENSORED]",
        "lets_encrypt_key": "s3://lambda-letsencrypt-account-key/account.key",
        "aws_region": "us-west-2",
        "profile_name": "[CENSORED]",
        "s3_bucket": "[CENSORED]"
    }
}

create an account key as in step 2 here and upload it to S3 bucket referenced in json file
zappa deploy
zappa certify

Your Environment

Zappa version used: 0.41.1
Operating System and Python version: macOS 10.12.2 / python 3.5.3
Link to your project (optional):
Your zappa_settings.py:
None

getting the inverse of this (assumedly) on python 2.7.9
(mycoolapp) ba@nebula42:~/workspace/mycoolapp/mycoolapp$ zappa certify
Calling certify for stage dev..
Are you sure you want to certify? [y/n] y
Certifying domain mycoolapp.mycompany.com..
Oh no! An error occurred! :(

==============

Traceback (most recent call last):
  File "/home/ba/.virtualenvs/mycoolapp/local/lib/python2.7/site-packages/zappa/cli.py", line 2353, in handle
    sys.exit(cli.handle())
  File "/home/ba/.virtualenvs/mycoolapp/local/lib/python2.7/site-packages/zappa/cli.py", line 456, in handle
    self.dispatch_command(self.command, stage)
  File "/home/ba/.virtualenvs/mycoolapp/local/lib/python2.7/site-packages/zappa/cli.py", line 552, in dispatch_command
    manual=self.vargs['manual']
  File "/home/ba/.virtualenvs/mycoolapp/local/lib/python2.7/site-packages/zappa/cli.py", line 1576, in certify
    from zappa.letsencrypt import get_cert_and_update_domain, cleanup
ImportError: No module named letsencrypt

==============

Need help? Found a bug? Let us know! :D
File bug reports on GitHub here: https://github.com/Miserlou/Zappa
And join our Slack channel here: https://slack.zappa.io
Love!,
 ~ Team Zappa!
(mycoolapp) ba@nebula42:~/workspace/mycoolapp/mycoolapp$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from zappa.letsencrypt import get_cert_and_update_domain, cleanup
>>>
(mycoolapp) ba@nebula42:~/workspace/mycoolapp/mycoolapp$ which zappa
/home/ba/.virtualenvs/mycoolapp/bin/zappa
(mycoolapp) ba@nebula42:~/workspace/mycoolapp/mycoolapp$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from zappa.letsencrypt import get_cert_and_update_domain, cleanup
>>> get_cert_and_update_domain
<function get_cert_and_update_domain at 0x7f873dd41b18>
>>> cleanup
<function cleanup at 0x7f873dd43230>
>>>

from .letsencrypt import get_cert_and_update_domain, cleanup did it for me. 👍 Python 2.7.12, Zappa 0.42.0


NoSquint addon breaks browser's media playback page

This is how audio stream playback page in Pale Moon browser is displayed without/turned off NoSquint addon:

And this is how it behaves when the addon is active (for videos too):

It was hard to find the culprit of that, but I did it, and I couldn't find any settings in the addon that would fix that...

Is this not a duplicate of my #11 issue?

It was hard to find the culprit of that, but I did it, and I couldn't find any settings in the addon that would fix that...

You should post your findings, and perhaps someone else might pick them up find the fix.

You should post your findings, and perhaps someone else might pick them up find the fix.

I think they just might have meant that figuring out tha NoSquint was at fault was difficult.

I think you are correct. My hope for a solution caused a hasty reply.


[oom-kill check] Support kernel older than 4.9

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe how to test your changes
Write here in detail how you have tested your changes
and instructions on how this should be tested in QA.
Checklist

[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] The need-change/operator and need-change/helm labels has been applied if applicable.
[ ] The config template has been updated if applicable.

Note: Adding GitHub labels is only possible for contributors with write access.

Thanks @celenechang for validating this change!
Unfortunately, there are other issues with kernel 4.9 than the ones addressed in this PR.
In the end, oom-kill check requires a kernel 4.11 and with kernel 4.11, this PR change isn’t needed.


feat: add support for basic codeowners-like file configuration

To ease the migration from CODEOWNERS, this PR adds support for reading configuration from basic CODEOWNERS files.
It only supports affirmative (no !).

Closing since the two formats are decently different in terms of evaluation procedure. That being said, it could still be an interesting thing to investigate in the future.


unable to list or publish the packages using NPE with Nuget Server version <IP_ADDRESS>

@cmreddyv commented on Thu Dec 14 2017
unable to publish/list the packages in Nuget Package Explorer for the latest version of New Nuget server version <IP_ADDRESS>
FY!, this a plain nuget server using to host the packages, created using the approach creating a empty asp.net web application and then installed the nuget server in that solution using manage nuget package sources and then host the applciation on IIS.
We are able to list the packages using the nuget.exe and VS but not with the Nuget package explorer.
Nuget package explorer is working with the previous version of Nuget server after upgrading to the latest version it stopped working
Can find the details at https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/275#issuecomment-351087962

@emgarten commented on Thu Dec 14 2017
@joelverhagen any ideas why this would have changed on NuGet.Server?
NPE is using very old 2.x NuGet libraries.

@joelverhagen commented on Fri Dec 15 2017
Moving to NuGetGallery repository, as this is a server-side issue.

The root cause is that $select does not work on NuGet.Server 3.x. This is not impacting the official NuGet client (since it does not use projection) but is affecting other clients, like NuGet Package Explorer (https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/275).

I've released a 3.0.2 version of NuGet.Server which fixes this.


Details: Safari renders additional icon

See screenshot:

https://github.com/tailwindlabs/tailwindcss/issues/924 talks about this problem. I need to figure out how to add details > summary::-webkit-details-marker {   display: none; } to tailwind

It looks like that'd be a good candidate to add to our base styles here: https://github.com/osuresearch/ui/blob/alpha/src/theme/index.css


adding badges to readme

adding badges to readme & documentation
updating link to security policy in readme and documentation
removing code of conduct (using centralized one instead)
update version to 0.3.2
changelog updated

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


VS 2017 Pro (version 15.6.1) ResXManager 1.12.976 caused 705 seconds of unresponsiveness while building solution

I'm having troubles when building my solutions. The new version of ResXResourceManager caused 705 seconds of unresponsiveness when I tried to rebuild my solution.

Duplicate of #97


Expose more fields via CP API

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

Customer's automation can be improved by exposing more fields from CP API. Currently TGW attachments to GS cluster/VPC are manual once the cluster is created.
Describe the solution you'd like

Example of this is that subnet information and more VPC networking fields would be able to automate TGW attachments and reduce toil.
Describe alternatives you've considered

Currently this can be worked around by pulling certain values after cluster creation but would be better to do all in one.
Additional context

More specific examples to come shortly.

Is this about having more info in status fields or actual have it in spec fields to be able to set them on cluster creation?
Also, this sounds like you're talking about AWS (or at least a cloud setting) here, right? Once you get to add more context, also remember adding some labels and maybe already a team in case it is clear.

@snizhana-dynnyk will add the internal issue that's we have for this.

@alex-dabija @T-Kukawka this an old issue still labeled with firecracker? To phoenix or close?

Old issue, it applies to Vintage. Closing for now.


[proof of concept] new docs layout

https://qiskit-docs-preview-pr-1294.1799mxdls7qz.us-south.codeengine.appdomain.cloud/guides
TODOs:

Validate that we aren't missing any existing guides in the Entries list
Use the Entries to get a flat list of redirect rules
Add git migration, probably by simply deleting the existing file
figure out 404s. Should we dynamically rewrite links with this script? If so, that should be a standalone commit probably. Is there any prep work we can do?

~/guides/index -> /guides/intro-to-qiskit~
some pages giving 404s: guides/hello-world, circuit-library etc.
guides/patterns-index -> guides/intro-to-patterns
guides/pattern -> remove "index"
"synthesizing unitary operators" -> "synthesize unitary operators"
"bit ordering in qiskit" -> "Bit-ordering in the Qiskit SDK"
"configure runtiem options" -> "configure runtime options"
flatten execution modes sub-heading and move "manage jobs" above FAQs in list. rename FAQs  to "Execution modes FAQs". Also can drop "qiskit runtime" from sidebar titles (but keep in main page title)
"retrieve and save results" page should go in the "manage jobs" section
new visualization dropdown in tools that includes: visualize results, plot quantum states and visualize circuits.
flatten qiskit serverless dropdown


Add popup modal window to portfolio website

Add popup  modal window after refactoring to works section of portfolio website mobile first

hello my last review , no extra reviews
plz check
On Wed, Feb 8, 2023 at 8:15 PM Toma John Musa @.***>
wrote:

@.**** requested changes on this pull request.
Hi @codeWithHyder https://github.com/codeWithHyder,
Great work on making the changes requested by a previous reviewer 👏!👏👏
👏!👏👏👏!👏👏👏!👏👏👏!👏👏👏!👏👏👏
You've done well implementing some of the requested changes, but there are
still some which aren't addressed yet.
Highlights

Great use of Github workflow!👏👏👏
All linters passed!👏👏👏

Required Changes ♻
Check the comments under the review.
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this
PR. However, I strongly recommend you to take them into account as they can
make your code better. Some of them were simply missed by the previous
reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me in your question so I can receive the
notification.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In script.js
https://github.com/codeWithHyder/portfolionew/pull/8#discussion_r1100232000
:

+//workinfo object

+const workInfo={

myRecentPr: 'My Recent Projects',

seeProject: 'See Project',

bgImg: './images/Img Placeholder (1).png',

prTitle1:'Profesional Art Printing Data More',

prTitle2:'Multi-Post Stories',

prDesc: 'A daily selection of privately personalized reads; no accounts or sign-ups required. This has  been the industry standard dummy text ever since the 1500s, when an unknown printer took a standard dummy text.',

techList: ['HTML','CSS','Javascript']

+};

+// markup work section from the wworkinfo array object
+var mainElmnt=document.querySelector('main');
+const divSection=document.createElement('div');

mainElmnt.insertBefore(divSection,aboutMeSection);

Your work section is not displaying on your webpage. Kindly fix this
please. I suggest you add an empty section element in your index.html and
then call it in your js file and add contents to it using.
[image: image]
https://user-images.githubusercontent.com/94551484/217561828-c684c2a6-2042-4065-b521-d24a36450bbc.png

In script.js
https://github.com/codeWithHyder/portfolionew/pull/8#discussion_r1100237178
:

divSection.innerHTML=`

${workInfo.myRecentPr}

${workInfo.prTitle2}

${workInfo.prDesc}

${workInfo.techList[0]}

${workInfo.techList[1]}

${workInfo.techList[2]}

               <button class="btn" type="button" id="seeProject-1">${workInfo.seeProject}</button>

${workInfo.prTitle1}

${workInfo.prDesc}

${workInfo.techList[0]}

${workInfo.techList[1]}

${workInfo.techList[2]}

I suggest you add the details of each work as objects in an array
and loop through the array to create each card of the work section. THis
will make your code follow DRY princiiple
https://en.wikipedia.org/wiki/Don't_repeat_yourself.

—
Reply to this email directly, view it on GitHub
https://github.com/codeWithHyder/portfolionew/pull/8#pullrequestreview-1289319263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZE2WDDHJODJP6KPZEXBRMLWWOWRNANCNFSM6AAAAAAUUOC3HQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Very regards
Ghulam Hyder
email #1   * @.**** @.***>


'libcompose-cli up' creates project with undefined links

With reference to docker compose file as below.
web:
  image: ubuntu
  links:
   - redis
   - kk
redis:
  image: redis

libcompose-cli up should fail, as kk is undefined. But it creates the project.
This behaviour is not similar to docker-compose which prints error and stop.

Closing the Bug, since its fix is merged.


Update install for existing Powershell profiles

Made changes to allow the install to update existing Powershell profiles instead of only working when creating a new profile.
One thing to note is that I removed the comments from Profile.ps1 to simplify the update process.

Hi @goronmon,
Thanks for your request.
Regards,
Régis


Accept function for dic and/or file type or provide other means to set buffer-specific dictionaries

I have the following configuration:
require('cmp_dictionary').setup {
  dic = {
    ['*'] = '/usr/share/dict/words',
    ledger = '<secret location>/accounting/accounts.txt'
  }
}

While it mostly works there are a number of issues with this configuration.

This is a static configuration that can't be customized in the runtime. Think set dictionary+=asd.txt so one can set dictionaries specific to the particular buffer.
The configuration is "global", i.e. you can't customize the configuration per buffer.
All the configuration made using 'dictionary and 'thesaurus is ignored :(

I've been using a lot of dictionaries and have quite a few configurations for file types, frameworks, and so forth. It would be great to see the support of 'dictionary and/or 'thesaurus in cmp-dictionary. If that's too much work then at least accept a function instead of the string for specifying the dictionary would be very appreciated.

To allow more user flexibility, I plan to eliminate the dic in setup and refer to the value of the dictionary option. I have been busy lately and the work has been slow, but I will do it soon, so please be patient for a while.

I have merged v2. Can you do what you wanted to do?

From what I see in the help and the Wiki, there are no changes related to this task. No function can be set for the dictionaries, and the 'dictionary setting is not handled.
Am I missing something?

Please see them.
https://github.com/uga-rosa/cmp-dictionary/blob/main/doc/cmp-dictionary.txt#L23-L28
https://github.com/uga-rosa/cmp-dictionary/blob/main/doc/cmp-dictionary.txt#L186-L193

Ah, now I see, thank you for the clarification. My experiment has shown that after set dictionary=path/to/some/dict.txt a call to :CmpDictionaryUpdate is still required, even when using the switcher despite the docs. Is that correct?

Ah, thank you for the clarification, now I got it. Although, after some testing, it seems that I still have to call :CmpDictionaryUpdate even when the switcher is used, despite what the docs say. Is that correct?
Demo:
P. S. Previous message demo link is broken, please ignore it.

It's not a bug (only FileType, BufEnter, and OptionSet spelllang have been registered), but it sure would be nice to have automatic updates in the OptionSet dictionary.

Added automatic update function in OptionSet dictionary.

Works great! Thank you :)


Extend health check duration from 5mins to 10 mins

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

@bors-libra r+
Thank you!

:pushpin: Commit d0b888d has been approved by andll

:hourglass: Testing commit d0b888da6e9c1e01915d648092a590be53ec6d60 with merge ae781f14efec91b65425688cf9f06c7468dbab26...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: andll
Pushing ae781f14efec91b65425688cf9f06c7468dbab26 to master...


Referencing LinkedRelationSet from a third table

Is it even possible?
I would like to access the ListField of a LinkedRelationSet from a third table - a table that joins the table, that actually uses the Set.

Closing due to inactivity.


Be quiet for symlink walking errors

Intent
This PR aims to not pollute VSCode with notification errors about symlinks that do not exist.
When a directory being watched by the Publisher extension is being modified by other software, there's the chance for symbolic links to be created to files that do not exist, like Emacs which creates symbolic files for unsaved modifications.
With this PR changes, we'll log the behavior and errors for symbolic links but won't show error notifications.

Fixes #2267
Approach
Log symbolic link walking errors, do not bubble them up to the extension code as errors.
Automated Tests
Updated unit tests accordingly.
Directions for Reviewers
Creating a symbolic link to a file that does not exist should show the "Error following symlink" ... "no such file or directory"  debug log but not notification error should show up.
E.g:
ln -s foo bar should show something like
time=2024-10-01T14:45:03.224-06:00 level=DEBUG msg="Error following symlink, ignoring file" filepath=/Users/mn/Posit/_ide/top-5-income-share-streamlit/bar error="lstat /Users/mn/Posit/_ide/top-5-income-share-streamlit/foo: no such file or directory"

Checklist

[ ] I have updated CHANGELOG.md to cover notable changes.

I'm not opposed to this PR itself, but we need something broader to prevent errors like these from bubbling up in front of people and making them believe things are wrong. We know about symlinks today, but there will be some other issue / file type that causes these tomorrow.

I'm not opposed to this PR itself, but we need something broader to prevent errors like these from bubbling up in front of people and making them believe things are wrong. We know about symlinks today, but there will be some other issue / file type that causes these tomorrow.

@jonkeane perhaps we can discuss this tomorrow in sync? I'd like to discuss further any ideas you have for solving this challenging problem.

I'm not opposed to this PR itself, but we need something broader to prevent errors like these from bubbling up in front of people and making them believe things are wrong. We know about symlinks today, but there will be some other issue / file type that causes these tomorrow.

If we want to avoid showing users these types of errors unilaterally we could fail silently when our GET /api/configurations/$name/files endpoint responds with an error. We could log the error rather than using window.showErrorMessage like we are here.
Unfortunately that means the Project Files view will not be responsive, and inaccurate since we aren't getting the files response from the API. Do you think that is the right trade of @jonkeane?
The other option would be avoiding sending back errors on the API side whenever possible, like this PR does for the symlink case.

@jonkeane I agree.
@marcosnav I'm thinking that the solution to the issue (#2267) should cast a wider net. You've identifed one location where an error is returned from a called function, and we're suppressing it. I'd recommend that you walk through the code which walks directories and files, and suppress the errors which we don't care about. For example, right below the code you modified is call to lstat which could fail (https://github.com/posit-dev/publisher/blob/96c67e8552b246f478a62543d6a977519ae6954c/internal/util/symlink_walker.go#L53). If it does return an error, its not one we want to both the user with. (The current code will return a nasty error to be displayed to the user.) This is another case where we should ignore the file and move on.
I think this approach is most applicable to our agent code which is walking and examining files. If we encounter any issue accessing a file or directory as we walk, let's log it and move on. It doesn't have to be a big deal (I don't know that I'd place large comments in the codebase describing why, but we can certainly document it to show we are ignoring it.).
I'll add a topic to the agenda for tomorrow's sync meeting, so we can discuss it.

Thanks folks! All these arguments make sense, I like @sagerb's idea of scoping the changes to the agent code, specially because aside from the symlink walker there is only one more doing the same.
Happy to chat the details in our next sync.

I believe the general consensus was to increase the scope to suppress all ignorable errors within the walkers. Let me know if I have this wrong

Is there a reason we can't do this across multiple PRs? Or is the "Changes requested" to expand the issue?

I believe the general consensus was to increase the scope to suppress all ignorable errors within the walkers. Let me know if I have this wrong. Thanks!

I thought the opposite. I think we should ship what's here (so long as there aren't glaring issues, of course) and we will do more work in the future to be better about not erroring loudly when we shouldn't be.

I have no qualms with merging this as a stepping stone though other than the CI failure on Windows. That looks like it needs some investigation.
https://github.com/posit-dev/publisher/pull/2335#pullrequestreview-2341616578

I'm not opposed to this PR itself, but we need something broader to prevent errors like these from bubbling up in front of people and making them believe things are wrong. We know about symlinks today, but there will be some other issue / file type that causes these tomorrow.
https://github.com/posit-dev/publisher/pull/2335#issuecomment-2387061447

I already have some more work around this, new changes are small enough to be pushed within this PR and will cover more areas as @sagerb suggests, early this Friday the changes will be up 👍
Sorry for the lack of clarity and thanks for the patience 🙇

New commit to prevent errors or scary warnings that block the user when a file presents a failure while inspecting directories. Still, logging all the failures.


[Slideshow | indicators fade] features

Do cardview has auto-slide and pause on hover?

What exactly do you mean?
This plugin has got autosliding, just try to change CurrentIndex property from code.

yep, but I'm looking for in-box solution without handling timer on my side

I think, it can be interesting enhancement. But now - there is no such opportunity

Hey, I thought, that it would be great to have opportunity to fade out indicator if there is no any interactions)

As for slideshow, you can adjust it through setting next property SlideShowDuration (milliseconds of course)

Oh boy!! it's great, I did it with timer on my side. With pleasure, delete my code :)

looks like it does not start automatically without pan it once

@JTOne123 what platform do you use?

tested only on iOS

    <cards:CarouselView
        Items="{Binding Items}"
        SlideShowDuration="3000"
        CurrentIndex="{Binding CurrentIndex}">
        <cards:CarouselView.ItemTemplate>
            <DataTemplate>
                <ContentView>
                    <Frame
                        VerticalOptions="Center"
                        HorizontalOptions="Center"
                        HeightRequest="300"
                        WidthRequest="300"
                        Padding="0"
                        HasShadow="false"
                        IsClippedToBounds="true"
                        CornerRadius="10"
                        BackgroundColor="{Binding Color}">

                        <ffimage:CachedImage Source="{Binding Source}"/>

                    </Frame>
                </ContentView>
            </DataTemplate>
        </cards:CarouselView.ItemTemplate>

        <controls:IndicatorsControl ToFadeDuration="1500"/>
    </cards:CarouselView>

Check the sample (CarouselView Xaml)

I've just tested it and it works fine

maybe magic in at CurrentIndex because I do not set it

yes, it is! with currentindex it works

no, i see another reason
https://github.com/AndreiMisiukevich/CardView/blob/master/PanCardView/CardsView.cs#L509
ItemsCount can be 0, because you can initialize Slideshow before setting items.. hmm.. or no)

oh.. so, you just set it 0, didn't you?

yes, you are right, I did it

Hello, I just want to know, how to stop slideshow programmatically.
Need Help.

@shreyans-wakekar you can handle index changed (with event or via viewModel) and if your index equals last index, set SlideShowDuration to 0

Is SlideShowDuration bindable?

@JTOne123 yes, of course


refactor hip-iGEMM solvers

Simplify IsApplicable(): only depends on blockwise GEMM size
Refactor functions that calculate tuning parameters to avoid re-calculation if possible
Simplify EurisiticInit(): choose a blockwise GEMM size, then calculate the rest of tuning parameter, which should be guaranteed to be IsReallyValid
For tuning, use default and  "spare" set of tuning range. If generic_search fails to find parameter that is in default set, then fall back to "spare" set.
Some reviewers' comments:
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/595#pullrequestreview-531881874
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/568#discussion_r517806880
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/568#discussion_r518227026
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/553#discussion_r514432002
https://github.com/ROCmSoftwarePlatform/MIOpen/pull/553#discussion_r514253178

@atamazov Feel free to give suggestions, we will use this chance to improve hip iGEMM solver quality

Please resolve this soon: https://github.com/ROCmSoftwarePlatform/MIOpen/pull/595#discussion_r525427847


Windows 10 Build Issue: no such target '//mediapipe_api:mediapipe_proto_srcs'

System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.04, WSL2): Windows 10
Target (e.g. desktop cpu, android arm64): Desktop CPU, Android
Bazel version: 3.7.2
Python version: 3.9.4
GCC/G++ version: -
Unity version: 2019.4.24f1
Android NDK version (if building for Android): -
Xcode version (if building for iOS): -

Describe the problem
When building on Win10 for desktop CPU and android, I encountered the error below:
python build.py build --desktop cpu --android arm64 -v
ERROR: Skipping '//mediapipe_api:mediapipe_proto_srcs': no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
WARNING: Target pattern parsing failed.
Steps to reproduce the issue
Successful Build:

bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe" mediapipe/examples/desktop/hello_world

Not Successful:
3. python build.py build --desktop cpu --android arm64 -v
4. >bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH="C:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe" //mediapipe_api:mediapipe_proto_srcs
Full logs
Log for (3):
python build.py build --desktop cpu --android arm64 -v
INFO (build.py): Building protobuf sources...
DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH=/usr/bin/python3 //mediapipe_api:mediapipe_proto_srcs
DEBUG: Rule 'rules_foreign_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "c2cdcf55ffaf49366725639e45dedd449b8c3fe22b54e31625eb80ce3a240f1e"
DEBUG: Repository rules_foreign_cc instantiated at:
C:/users/asus/mediapipe_repo/mediapipe/WORKSPACE:53:13: in
Repository rule http_archive defined at:
C:/_bzl/f75p3gig/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'rules_cc' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'rules_python' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'bazel_skylib' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'pybind11' because it already exists.
ERROR: Skipping '//mediapipe_api:mediapipe_proto_srcs': no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
WARNING: Target pattern parsing failed.
ERROR: no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
INFO: Elapsed time: 0.196s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
Traceback (most recent call last):
File "C:\Users\ASUS\mediapipe_repo\mediapipe\build.py", line 362, in
Argument().command().run()
File "C:\Users\ASUS\mediapipe_repo\mediapipe\build.py", line 102, in run
self._run_command(self._build_proto_srcs_commands())
File "C:\Users\ASUS\mediapipe_repo\mediapipe\build.py", line 47, in _run_command
return subprocess.run(command_list, check=True)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['bazel', '--output_user_root', 'C:/_bzl', 'build', '-c', 'opt', '--action_env', 'PYTHON_BIN_PATH=/usr/bin/python3', '//mediapipe_api:mediapipe_proto_srcs']' returned non-zero exit status 1.
Log for (4):
bazel --output_user_root C:/_bzl build -c opt --action_env
PYTHON_BIN_PATH="C:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe" //mediapipe_api:mediapipe_proto_srcs
DEBUG: Rule 'rules_foreign_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "c2cdcf55ffaf49366725639e45dedd449b8c3fe22b54e31625eb80ce3a240f1e"
DEBUG: Repository rules_foreign_cc instantiated at:
C:/users/asus/mediapipe_repo/mediapipe/WORKSPACE:53:13: in
Repository rule http_archive defined at:
C:/_bzl/f75p3gig/external/bazel_tools/tools/build_defs/repo/http.bzl:336:31: in
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'rules_cc' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'rules_python' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'bazel_skylib' because it already exists.
DEBUG: C:/_bzl/f75p3gig/external/org_tensorflow/third_party/repo.bzl:108:14:
Warning: skipping import of repository 'pybind11' because it already exists.
ERROR: Skipping '//mediapipe_api:mediapipe_proto_srcs': no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
WARNING: Target pattern parsing failed.
ERROR: no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
INFO: Elapsed time: 0.402s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

It may sound weird, but are you using this repository?

DEBUG: Repository rules_foreign_cc instantiated at:
C:/users/asus/mediapipe_repo/mediapipe/WORKSPACE:53:13: in
Repository rule http_archive defined at:

I cannot get why this log was output, becuase rules_foreign_cc should have been instantiated at WORKSPACE:79:13.

Hi homuler, thank you for your reply! Yes I was using that repository.
Not sure why but there were some differences between the one which I had and the one which you mentioned (https://github.com/homuler/MediaPipeUnityPlugin/blob/master/WORKSPACE#L79).
I've tried replacing my version of WORKSPACE with the one you mentioned but I still have the following error:
python build.py build --desktop cpu --android arm64 -v
INFO (build.py): Building protobuf sources...
DEBUG (build.py): Running bazel --output_user_root C:/_bzl build -c opt --action_env PYTHON_BIN_PATH=C://Users//ASUS//AppData//Local//Programs//Python//Python39//python.exe //mediapipe_api:mediapipe_proto_srcs
ERROR: Skipping '//mediapipe_api:mediapipe_proto_srcs': no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
WARNING: Target pattern parsing failed.
ERROR: no such target '//mediapipe_api:mediapipe_proto_srcs': target 'mediapipe_proto_srcs' not declared in package 'mediapipe_api' defined by C:/users/asus/mediapipe_repo/mediapipe/mediapipe_api/BUILD
INFO: Elapsed time: 0.498s
INFO: 0 processes.

Perhaps I should raise this issue at mediapipe github?

I don't know what you have done exactly, but your local repository is broken, so please clone it again.
git clone https://github.com/homuler/MediaPipeUnityPlugin.git
cd MediaPipeUnityPlugin
python build.py build --desktop cpu -v

Perhaps I should raise this issue at mediapipe github?

This project is independent of https://github.com/google/mediapipe.git , so don't create issues about this repo there.

Thanks. I'll start afresh, reinstall everything and clone again. It should work.
You're right, I'll not create the issue regarding this repo in that github.

It's working now. Thank you!
When building for desktop cpu, I did encounter the same issue with the missing open_world3410.lib as I did when installing mediapipe: Missing input file 'external/windows_opencv/x64/vc15/lib/opencv_world3410.lib'.
I had 3414 but not 3410. It was resolved by editing mediapipeunityplugin/third_party/opencv_windows.BUILD - the value 3410 was changed to 3414.


Organization logo

It would be nice to have a logo for the organization. Call for proposals!

Not bad! Though I'd recommend removing the blue dot to avoid confusion with Julia Computing, the only organization with a logo that includes a fourth dot (AFAIK).

I'm really not a graphic designer so I don't have a better one but I really want to say that 3 circles really look more like a traffic light than something about containers........

Hm. What if the circles were arranged in the iconic triangle?

look more like a traffic light

Ahhh, cannot unsee! I tried adding commas, but that didn't help and was kind of ugly.

What if the circles were arranged in the iconic triangle?

 These only took like 5 seconds to make, so I'm not too attached 😛

Ahhh, cannot unsee!

Here's a few ideas I had for this org's logo.
1: "recursive"

2: "iterative"

3: "arrayed"

I could later post the Julia code to make them, if you promise not to laugh at my strange coding practices... :)

I really like those, @cormullion, nice work! Though I will say that the first reminds me a fair bit of The Legend of Zelda and the JuliaParallel org logo...

@ararslan I thought going a few more levels deeper than JuliaParallel's would be sufficient. :)
The Zelda connection is intriguing...

I did a few more today as I had a bit of spare time and v0.6 work is temporarily stalled...

I absolutely love all three of those, though none of them strike me as really symbolizing collections. Of those I think the third is my favorite.

:) I originally came here because of the iterators, so perhaps I'm torn between repetitive patterns and object groupings... But they're all collections of shapes... :)
Now that you mention it, I see that you sometimes refer to JuliaContainers rather than collections — which is more oriented towards collections than iterator/collecting patterns.
Anyway, more choice is always good.

Come for the iterators, stay for the logos

I like the ones in https://github.com/JuliaCollections/Roadmap/issues/2#issuecomment-279217657 the best. I think #3 "arrayed" is my favourite.

I agree with Eric, I think "arrayed" is a good choice.

Cool. Not sure how a PR would work, so here's a gist of the source.

That version doesn't seem to have the variation in brightness for the [] elements

Oh, yes. I thought it might not show very well when seen at (normal) small size. Perhaps I'll put it back.

I think it's a nice subtle touch that doesn't hurt if you can't see it :)

I put the randomness back. :)

I've set "arrayed" as the org logo. If anyone opposes this, we can always change it. 🙂 Thanks so much for your work here, @cormullion!


Improved repr

Improve the cube __repr__ by showing the extrema in values.  This involves caching the min/max of each dimension the first time it is called.  Since we have treated cubes as immutable, this should be the right approach.
@ChrisBeaumont - not sure you'll have time to check this, but could you lay out somewhere what you had in mind for world_spines?  That would be a more efficient way to check the extrema
@astrofrog, @ChrisBeaumont - any concerns about performance here?  I think it's safe to assume that each axis is small enough for this process in general, though it might not be safe to assume that a full plane is cheap, hence the need for world_spines.

IIRC the intention of world spines was to compute 1D arrays for each of the world coordinates, which could be broadcast to the full world coordinates arrays. This would be more memory efficient in situations where the pix<->world transformation is separable along each axis (like cartesian coordinates). I don't think we implemented it because of the wrinkle of identifying when a particular WCS can be represented via N broadcast 1D arrays, instead of N ND arrays.

Coverage increased (+0.35%) to 67.41% when pulling 3b20c9d6f9a561f12cf5caa1e122180ab5fa5f29 on keflavich:better_repr into 32868c0778f99ab16a9c8c018537190c2ae11ed1 on radio-astro-tools:master.

Coverage increased (+0.35%) to 67.41% when pulling 8763993aebe370f3b03f85c969c5b2ea5f0945ab on keflavich:better_repr into 32868c0778f99ab16a9c8c018537190c2ae11ed1 on radio-astro-tools:master.

This looks good to me.
One followup issue (perhaps for another PR): the current implementation of cached will prevent any instance of SpectralCube from being garbage collected (because it's holding self instances in the cache dictionary). We probably want to avoid doing that.

what the heck does this mean?
  File "<stdin>", line 38
    print(darkred('reST markup error:'), file=sys.stderr)
                                             ^
SyntaxError: invalid syntax
Sphinx Documentation subprocess failed with return code 1

python3 print syntax run on python2 by any chance?

umm... interesting thought.  I have no idea where, though.  Certainly not in this PR.

Coverage increased (+0.35%) to 67.41% when pulling f15342e3c697f14a5e42fe17cabfb540a63e2584 on keflavich:better_repr into 32868c0778f99ab16a9c8c018537190c2ae11ed1 on radio-astro-tools:master.

Changes Unknown when pulling 1bc67830114e3d45f6ad28d31e8c81f9747dbd73 on keflavich:better_repr into ** on radio-astro-tools:master**.


[1.10] Train 211

This is train 211. It includes:

#1875 (Bump 1.9 api links to 1.10)
#1873 (test_networking.test_vip test is flaky [2])

@mesosphere-mergebot bump-ee

integration-test/azure failed in https://teamcity.mesosphere.io/viewLog.html?buildId=763133. I re-run this now, but the failure still needs to be inspected.

@mesosphere-mergebot label ship-it

@mesosphere-mergebot bump-ee


JQuery related errors in Word Add-in

On Visual Studio 2019 Community Edition, I started with the C# Word Web Add-in template. The template runs fine directly. Then I followed the steps in this page, except step 13, as step 13 is related to the Excel template.
When I push the Start button on Visual Studio, I get following errors:
Severity	Code	Description	Project	File	Line	Suppression State
Error		Build:Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	27
Error		Build:Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	35
Error		Build:Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	43
Error		Build:Cannot find name 'JQueryStatic'.	WordWebAddIn1Web	jQuery.d.ts	6535
Error		Build:Cannot find name 'JQueryStatic'.	WordWebAddIn1Web	jQuery.d.ts	6536
Error	TS2503	(TS) Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	27	Active
Error	TS2503	(TS) Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	35	Active
Error	TS2503	(TS) Cannot find namespace 'Sizzle'.	WordWebAddIn1Web	jQuery.d.ts	43	Active
Error	TS2304	(TS) Cannot find name 'JQueryStatic'.	WordWebAddIn1Web	jQuery.d.ts	6535	Active
Error	TS2304	(TS) Cannot find name 'JQueryStatic'.	WordWebAddIn1Web	jQuery.d.ts	 6536	 Active

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

ID: b888399c-fe96-0934-00ce-86db8fa8cf5b
Version Independent ID: 2c5d24e8-5639-42b1-4d12-119f89591550
Content: Convert an Office Add-in project in Visual Studio to TypeScript - Office Add-ins
Content Source: docs/develop/convert-javascript-to-typescript.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@oaltun Sorry to hear that you're hitting these errors. We're digging into this and should give you an update soon. Thanks.

@oaltun Unfortunately I'm unable to repro the build errors you reported. While I am seeing the TS errors, on F5 Word is opened and the add-in is working. Can you share some more info about your VS configuration? I installed VS Community 2019 version 16.1.3. Thanks.

@oaltun I'll close this issue now. However, if you're still blocked, let us know and we'll reactivate it. Thanks again for reporting this!


cleanup groups at the start of the tests

Is there any way we can set the user id range in a higher range such as >= 30000?

:+1:


[contracts] Build over max population capacity

Describe the bug You can pass max capacity when spawning a new building at 4/5 or 5/5 pop. Once you pass this cap (6/5), the population checks are correctly being executed though.
To Reproduce Steps to reproduce the behavior:
Checkout at commit 3ac2d3a4f0d015f92fde1735404c36487292b11e (The following commit adds a checker in the UI. However, this should not restrict a user from calling the contract directly afaik.)

Create two ressource buildings (4/5 pop)

Create a third ressource building (6/5 pop)

Create two ressource buildings (4/5 pop)

Create two economic buildings (6/5 pop)

Note: When at 5/5 pop, you can create an economic building but not a ressource building
Screenshots

i belive this is contract error missing a check


Make sure ItemsPresenter is updated before selection change.

What does the pull request do?
Having a separate subscription to Items.CollectionChanged in both ItemsControl and ItemsPresenter meant that the ItemsPresenter sometimes doesn't update itself in time for a selection change, resulting in #3148. Make ItemsControl trigger ItemsPresenter.ItemsChanged rather than both controls listening to the event separately.
Fixed issues
Fixes #3148

Looks like this does not solve the issue after all, when checking I still get exception when typing in the search box.

@MarchingCube yep, you're right. Ok, this time I've got a failing unit test, will work on a proper fix.

@MarchingCube I think I've fixed it this time - could you try again?

@grokys  Thanks! Repro case works great now 👍 . I will test tomorrow in my actual app, but since repro closely mimics our actual scenario I suspect it will work just fine.

I have found a new regression there:
[Fact]
        public void Logical_Parent_Is_Set_Correctly()
        {
            using (UnitTestApplication.Start(TestServices.StyledWindow))
            {
                ListBoxItem item = new ListBoxItem();

                var items = new List<ListBoxItem>
                {
                    item
                };

                var target = new ListBox
                {
                    Items = items,
                    VirtualizationMode = ItemVirtualizationMode.None
                };

                var root = new TestRoot(target)
                {
                    StylingParent = UnitTestApplication.Current
                };
                root.Measure(new Size(100, 100));
                root.Arrange(new Rect(0, 0, 100, 100));

                Assert.Equal(target, item.GetLogicalParent());
            }
        }

In current master it will pass, it fails after your changes. New logical parent is set to VirtualizingStackPanel and I think that it is not correct.

Modified that test slightly, and fixed the problem. Thanks for the repro!


data- can be used as dependencies source

In many cases, data-src,... are used to lazy load images
This is possible detective outputs such attributes by adding a list of html tags to add such attributes.
const dependencies = detective(content, [ 'img', 'source' ]);

I find html-loader do this like https://webpack.js.org/loaders/html-loader/#object .It seems we can transplant it to this project.
https://github.com/webpack-contrib/html-loader/blob/master/src/utils.js#L1095

Thanks for the advise.
I'll look how to bring webpack capabilities in detective.

Abandon this PR. Replaced by #3


Specification of chanis in Markov-chain

Dear Maih,
At firs, thank you for your help about working on rise-toolbox.
I have a question about acceptance rate in Metropolis Hasting algorithm,
1)after estimating and simulating the posterior distributions, in set-upping the options for this algorithm, I want to be able to change the number of chins in Markov chain so that acceptance rate to stand between 0.3 and 0.5 as the same to  dynare ,could you please guide me how I can do that.
actually, results of plot of posteriors are not in the standard shape, and I guess it is because of acceptance rate which can be controlled by changing of chain number.
2) I chose100.000 for "ndraws_mcmc" and I wonder if is there any reasonable number of drawing parameters through MCMC to reach a standard shape of posteriors density?
Best regard
Narmin

Dear Narmin,
If you run "help mh_sampler"  in the command window you should be able to
see the various options you can set in order to change. In your specific
case, the option is called "nchain".
The option for controlling the acceptance rate is called "alpha", which you
should set as an interval. For instance, options.alpha=[.25,.45] . The
sampler will then target the middle of the interval
With respect to results of the posterior plots, they will depend on the
sampler you use, the number of draws you consider and the various options
you set.
There is no standard number of draws one should use. Various people use
different numbers often depending on the time budget at hand and how hard
it is to compute the likelihood.
If you are now doing any thinning I think 100 000 draws is not enough. The
metropolis-hastings algorithm will typically give you highly correlated
draws.
In summary, look up the various options you can set in the help for the
mh_sampler.
Cheers,
J.
On Wed, Nov 24, 2021 at 12:51 PM Narmin davoudi @.***>
wrote:

Dear Maih,
At firs, thank you for your help about working on rise-toolbox.
I have a question about acceptance rate in Metropolis Hasting algorithm,
1)after estimating and simulating the posterior distributions, in
set-upping the options for this algorithm, I want to be able to change the
number of chins in Markov chain so that acceptance rate to stand between
0.3 and 0.5 as the same to dynare ,could you please guide me how I can do
that.
actually, results of plot of posteriors are not in the standard shape, and
I guess it is because of acceptance rate which can be controlled by
changing of chain number.
2) I chose100.000 for "ndraws_mcmc" and I wonder if is there any
reasonable number of drawing parameters through MCMC to reach a standard
shape of posteriors density?
Best regard
Narmin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/167, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AATKBTYBQFEKRUWLX4VW2I3UNTGTXANCNFSM5IV3VU6A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thank you for your help.
best regard
Narmin


Fix permissions error for /sys/class/gpio/export

Replaces first part of #26

Note: This is targeting a new legacy Python 2.7 branch to keep track of any backported fixes from 2.x.x to 1.x.x.


python: support pypy3

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

A follow up to https://github.com/Homebrew/brew/pull/4833, now that Python 2 is soon-to-be end-of-lifed, we can look at supporting PyPy3 a bit better as well. I tested this with a third-party formula that had a gnarly scipy/numpy dependency stack and it worked perfectly.

Thanks again @jonchang!


Cookbook breaks when installing old Tomcat versions due to missing .sha1 files.

Hi,
Older Tomcat releases do not have accompanying .sha1 checksum files, only .md5, therefore older versions of Tomcat on the Apache mirrors fail to install. Below is when I was trying to install 7.0.42.
    ------------
    remote_file[apache 7.0.42 tarball] (/var/chef/cache/cookbooks/tomcat/resources/install.rb line 92) had an error: RuntimeError:

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/tomcat/resources/install.rb:53:in `fetch_checksum'
    /var/chef/cache/cookbooks/tomcat/resources/install.rb:64:in `validate_checksum'
    /var/chef/cache/cookbooks/tomcat/resources/install.rb:95:in `block (3 levels) in class_from_file'
    /var/chef/cache/cookbooks/compat_resource/files/lib/chef_compat/copied_from_chef/chef/provider.rb:123:in `compile_and_converge_action'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/vw-tomcat/recipes/default.rb

      8: tomcat_install 'helloworld' do
      9:   version node['tomcat']['version']
     10: end
     11:

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/vw-tomcat/recipes/default.rb:8:in `from_file'

    tomcat_install("helloworld") do
      action [:install]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :tomcat_install
      cookbook_name "vw-tomcat"
      recipe_name "default"
      version "7.0.42"
      tarball_base_path "http://archive.apache.org/dist/tomcat/"
      instance_name "helloworld"
      exclude_examples true
      exclude_docs true
      sha1_base_path "http://archive.apache.org/dist/tomcat/"
    end

Running handlers:
Running handlers complete
Chef Client failed. 1 resources updated in 24 seconds

As you can see there are only .md5 files for this release here: http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.14/bin/
Since current releases are being packaged still with md5 checksums attached is a PR to use md5 vs. sha1 which will ensure that this cookbook will install older versions of Tomcat in addition to still supporting current releases.

Nice catch.  I'm going to update the test recipe to install an older version so we don't regress this later.


Eval config files and expose Builder instance as both SystemJS and System

Yesterday I noticed that the config file reading part must have beend changed in recent versions, because after updating to the latest release, neither my "old" (created early november or so) config files nor those auto-generated by JSPM (even in latest 0.17beta) seem to be apply. This stems from arbitrarily different naming convention used for the global SystemJS/Builder instances.
JSPM is still using SystemJS but since a recent commit (f436a92a5e5ebba6326cc64b07026086adb01ab2) configuration files are evaluated in an isolated sandbox context where the builder isntance is only exposed as global System. In order to stay compatible with (older) configuration files generated by JSPM I added an alias named SystemJS.

Thanks!


[ADAP-912] Support Metadata Freshness

Describe the feature
Support metadata-based freshness by implementing the new macro and feature flag described in https://github.com/dbt-labs/dbt-core/issues/7012.
Who will this benefit?
Everyone who wants faster freshness results from BigQuery!

I understand this won't make 1.7 but is it committed to for 1.8? It would have such a huge impact on us (Medialab)'s use of DBT.
Happy to support with info on where to find this in BQ information schema tables. I submitted the original request which has made it into 1.7 - but just need the BQ support - thanks!

I've done some spiking and rough benchmarking of whether a batch-implementation of metadata-based freshness would lead to performance gains here, and my conclusion is that there isn't currently a way to implementing a batch-strategy that achieves performance improvements for metadata-based source freshness given limitations of BigQuery's Python SDK.
Details
The current implementation of metadata-based source freshness iterates over selected sources, and retrieves the freshness metadata for each source by fetching a BigQuery Table object, and accessing the modified attribute to build a freshness response.
It is significantly faster than using a loaded_at_field because the metadata-based strategy directly interacts with the BigQuery Python SDK instead of waiting for a costly query to finish running. However, it still requires 1 API call per selected source.
Batch Implementation -- Approach 1
A simple implementation would be to iterate over the selected. This works, but is fundamentally the same approach as the current implementation, just called earlier on during execution. It would still require the same 1 API call per selected source, and so does not lead to significant performance improvements. This was roughed-in here: https://github.com/dbt-labs/dbt-bigquery/pull/1232/commits/29e533f33ecdce77b2b97cf43a7dc29728230d76
From my benchmarking (running 10 invocations of each implementation on 6 sources in jaffle-shop), the current (non-batch implementation) took an average of 2.57s while the batch implementation took an average of 2.62s. The fastest non-batch invocation took 2.35s, and the fastest batch invocation took 2.17s. I believe the variability here actually comes from variability in BigQuerys get_table API, and not the difference in implementation strategies.
Batch Implementation -- Approach 2
Another implementation would be to fetch all the datasets available to the client upfront, and for each dataset, fetch all its tables. This would (in theory) only require 2 API calls per dataset the client has access to regardless of the number of sources selected. I've roughed this in here: https://github.com/dbt-labs/dbt-bigquery/pull/1232/commits/b1035e2ec4ac98bfc64f3fb717f88f55e0b85f81
However, the objects (DatasetListItem, TableListItem) returned from these two API calls are limited by design, and do not include critical metadata for this functionality (e.g. no modified). From the BQ docs:

A read-only table resource from a list operation.
For performance reasons, the BigQuery API only includes some of the table properties when listing tables. Notably, xref_schema and xref_num_rows are missing.

We'd end up needing to fetch the Table object for each TableListItem, getting us back to at least 1 API call per source (details).
Additionally, it doesn't seem possible to filter the datasets to fetch tables for upfront due to some inconsistency between dataset_ids returned (more detail here) which means we need to fetch tables for every datasets the client has access to. This could be more than the number of sources and actually be a performance regression compared to the original approach so I wouldn't advise this approach.

If there are other implementation options that would get us to a constant number of API calls for the batch, I'm super open to hearing them but from my exploration so far -- it does not seem worthwhile to implement a naive batch implementation strategy because it is more complex but with negligible performance gains.

@MichelleArk this is a super terrifying conclusion - and it was batch via BQ from my initial feature request that has driven all of this work around source freshness.
In the linked FR, there is correspondence in the comments about how to get this exact information from the INFORMATION_SCHEMA table:

BQ docs are now updated; https://cloud.google.com/bigquery/docs/information-schema-table-storage#schema
Your 2 investigated approaches suffer from the same limitation which is that you're iterating through table metadata - I think that's the antithesis of the batch approach here. The whole point would be to query the single information schema table once.
:(

@adamcunnington-mlg -- thanks for linking the updated docs, and sorry I hadn't been aware of the INFORMATION_SCHEMA.TABLE_STORAGE option. I hear the disappointment re: not having this implemented yet as part of the recent 1.8 releases.
I did some further spiking using the and after some tweaking I think we have a promising path forward in dbt-bigquery, without requiring any changes in the base dbt-adapters spec or dbt-core.
An initial naive implementation of bigquery__get_relation_last_modified (https://github.com/dbt-labs/dbt-bigquery/pull/1234/commits/3b28625102d8ce813f16ab4740c5ba2c7fa0015d), following the same approach we take in dbt-snowflake and dbt-redshift was an improvement on the current SDK-based implementation, however the query time was still to scaling linearly in proportion to the number of selected sources. From some simple testing using a project with 50 sources, the batch implementation took ~9s, while the non-batch SDK took ~20s. With 100 sources, the batch implementation took ~12.5s, while the non-batch SDK took ~28s (thank you @jtcohen6 for setting up the test sources!)
However, filtering within the metadata macro by relation schema name in addition to filtering for exact schema & table name matches (https://github.com/dbt-labs/dbt-bigquery/pull/1234/commits/51243e531e30d204c5c5f8cf83b395ed7d1e90ea#) does the trick in getting the query time constant! Both a project with 50 sources and 100 sources took just under 5s to complete dbt source freshness. I wonder if there are other such optimizations we could make to the query to further improve the query latency...
Note that this was all done while hard-coding the information_schema in the batch macro, and this will probably need to be revisited for correctness to ensure the correct information schema is used for sets of selected sources which may lead to increased latency of the command (one query per information schema).

Based on the benchmarking in this spik, I'd expect that a project with ~1000 sources would take about 3 minutes to compute source freshness using the current implementation (non-batch). @adamcunnington-mlg if you can share, does that line up with what you're seeing in a production project? Would be awesome to get sense of the performance impact these changes would have on some real-world projects.

@MichelleArk thanks for the fast response on this - it's much appreciated - and this sounds promising.
I'm not close to how the source freshness process actually works so please forgive any naivety here in my comments/questions:

I guess you would want to translate the region from the location if specified in https://docs.getdbt.com/docs/core/connect-data-platform/bigquery-setup#dataset-locations - if not, I think it defaults to US - but don't quote me!
How many times would the information schema table be queried? In my mind, it needs to happen only once per region - and I think the assumption behind a dbt command invocation in BigQuery is it would be running in one region only, no? In my mind, you'd query the information schema table once and store the results (specific columns of interest) in some very simple cache (python data structure fine?) which you can then extract times from for each relevant source table. You only care about schema, table name and last modified I think?

Overall, I think I'd expect the source freshness time to be as slow as 1 query of information schema (which may be very loosely correlated with the size of that result but it's going to be relatively flat) plus the time for dbt internals to iterate through the tables and extract freshness information - a linear time but small. Overall, I think 3 minutes for 1000 tables surprises me. I'd be expecting more like 10-20 seconds? 3 minutes is definitely better than our current 15 but not quite what I was expecting. I suspect I'm missing something fundamental here though in how this process could work.

Thank you for the spike and the write-up @MichelleArk!
Other considerations for this approach:

BigQuery has a character length limit for queries, and so templating many thousands of source table names into the query risks hitting this limit. (This is still better than loading tons of metadata into memory about table we don't care about, as a result of not pushing the predicates down into BQ.) We don't have an existing pattern for running parametrized queries.
Querying INFORMATION_SCHEMA.TABLE_STORAGE is not free. In our spike, with a few thousand sources, each query scanned 2GB — not a lot, but potentially more in very large datasets. By comparison, the current approach in main (Python SDK) is free.

@adamcunnington-mlg Seconding Michelle, I would ask that you please try testing these out in your actual project with many many sources:

The current approach in dbt-bigquery==1.8.0 for metadata-based freshness (Python SDK). While this does scale linearly with the number of sources, each source takes ~0.5s to execute, and you can run with very high concurrency (e.g. --threads 50). Simply define freshness on your sources without defining a loaded_at_field, and for each source freshness execution, dbt will make an API call to calculate its freshness.
The approach outlined in batch-metadata-benchmarking, which uses the information schema table and may scale better:

python3 venv env
source env/bin/activate
pip install git+https://github.com/dbt-labs/dbt-bigquery.git@batch-metadata-benchmarking#egg=dbt-bigquery
dbt source freshness

If you could provide us with concrete numbers for both approaches, that would help me a lot in deciding on the appropriate next step here — to switch this behavior for everyone (strictly better), to consider implementing it as another configurable option (with both pros & cons relative to the v1.8 behavior), or to put it down for good ("do nothing").


Has this project been abandoned?

It's totally cool if it has been, just wondering if the contributors have time to maintain this, or is it at risk of falling into obscurity?
There's a few things pointing to the project being abandoned:

The gem is now incompatible with Ruby 3, and two PRs that bring this up to date have been ignored for months.
The Plans API has been deprecated by Stripe, but this repo doesn't support the Prices API, and the PR that brings this up to date has been ignored.
This repo does not support Stripe Connect, and the PR that enables support for it has been ignored.
There are 60 open PRs that haven't been addressed or closed.
There are 140 issues open, and only 5 were closed in the past 12 months
The specs on master don't pass (at least when I run them locally).
Messages on the gitter go unanswered, even by those asking to be contributors.

I feel like this gem was extremely helpful for those using Stripe, but it's becoming useless unless an update happens pretty soon.
No offense intended by any of this - just looking to make progress on my own projects, and build on the great work which is already in this repo.
There seems to be a community of devs who want to contribute and maintain this repo. So I think there's three options:

@alexmamonchik @gilbert or other folks with write access need to address the open PRs/issues.
@alexmamonchik @gilbert or admins need to add some other people with the power to merge into master
The community can fork this repo and maintain it (similar to what happened to the fast_jsonapi gem that was started by Netflix but taken over by the community)

I would love for this to all stay in one repo and not fracture the community.
Is it possible for 1 or 2 to happen?

I agree with @csalvato , if the maintainers are feeling burned or overwork, please let the community take over , thank you for all the hard work folks!

@nimashariatian @csalvato have you read https://github.com/stripe-ruby-mock/stripe-ruby-mock#request-looking-for-more-core-contributors ? I don't have enough time for that and it breaks my hurt. If anybody wants to help - welcome!

@alexmamonchik thanks again for all your work on this library so far.
Yes I've read that link, and followed the instructions:

submit a significant enough pull request and have it merged into master (many of you have already done this). Afterwards, ping @gilbert in chat and I will add you as a collaborator.

But my PRs have been rotting on the vine for a few weeks, as well as several others that would modernize the library.
Is it possible for you to give me or some other people who are potential contributors the right to open and merge PRs into master?

Hey @csalvato, sorry for the bad response times.  I've sent you a collaborator invite.

@gilbert No worries.
I merged in several PRs that fix issues I've been facing personally, and others in the community.
I created a pre-release 3.1.0.rc1 release tag in the repo.
Now, all we need to do is update the gem for people to use it.  Can you publish the gem, or add me as a gem owner so I can do it?
gem owner stripe-ruby-mock --add csalvato should work, to add me, I think.

cc @alexmamonchik  ☝🏼

@csalvato Added.

@csalvato Added.

Sorry @gilbert i was away on vacation when you added me :(
It looks like the token they sent me expired. Possible for you to resend it?

@csalvato Running the command again errored with Adding csalvato: User has already been taken, but I was able to remove and re-add you.

@csalvato Running the command again errored with Adding csalvato: User has already been taken, but I was able to remove and re-add you.

That did the trick, thanks!

Since it's not abandoned, I'm closing this issue.


Automatically decompress files with GCS+gRPC

When using REST the service automatically decompress objects during download.  gRPC does not support this feature, we may need to emulate it in the client library.
There is some complexity because we would not know until the download starts if decompression is needed, and ranged reads (i.e. reading only part of an object) have very quirky behaviors under decompression.  That is to say, we may need a mini design doc or something.

We are not going to implement this for GCS+gRPC.  It will be part of the service release notes.


Add read-pkg-up to dependencies

Fixes #219
Also added a basic integration test and CI workflow to catch this in the future.

@drcmda Could you take a look at this and get this into a release? Thanks!

thanks @bjornstar !


Add type configuration for value range properties

Currently when there is a propertyControl for any value ranged property it is shown as a light-bulb. This allows convenient control of the property, but can be confusing when displaying in Homebridge UI or Home app. Example: fan-speed in an air purifier.
I think it would be nice to be able to set the type of the "device" in propertyControl.

Thanks, will try to think of something!

Now added in version 1.4.0

Hi, thank you so much for adding the feature, it looks great in the Home app.
However if I set the property to fan, it won't allow me to change the speed. In the log I get:
[10/27/2022, 1:07:35 PM] [homebridge-miot] [Mi Air Purifier 3C] Property custom-service:favorite-speed seems to have already the value: 300. Set not needed! Skipping...
If I change it back to lightbulb, it works fine.
I tried to remove the air purifier and add it again, but it doesn't help.
Do you have any idea why this might be happening please?

Will have a look, might be a bug...

Found the issue will be fixed in a bug fixes release in the coming days!

Thank you, it's working perfectly now :))

perfect, thanks for the feedback!


Feature Request: Add a pager to long text output

I like this library since it automatically prints pretty tables with automatic word wrap. I would like if there's way to add a way to a pager to the output for large tables with many rows.

I added paging to the python -m rich.README command which uses the same paging as when you type help(foo), but I have considered making it a more general thing.
It may yet happen, I'll keep this issue open to track it.

After having looked at the paging code, I see it's simple to implement. If I initialize a Console object with a BytesIO object then I can pass that to the pydoc pager.
Is there anything else I should do, or should I use the other attributes as defined in the markdown pager?

You’ll need a StringIO rather than BytesIO. force_terminal is required so Rich won’t strip control codes. Bear in mind that code in pydoc launches the pager provided by your OS, so you can’t guarantee a consistent user experience.

@Dude-X do you have an example snippet of code on how you did that? I cannot seem to get it to work by what you describe. Thanks!

@clay584
This works for me:
from io import StringIO
import pydoc
from rich.console import Console
from rich.table import Table

console = Console(file=StringIO(), force_terminal=True)

data = [
        ('John Glenn', 'M', '07/18/1921'),
        (Sally Ride'', ''F, '5/21/1951'),
        ('Edwin "Buzz" Aldrin", 'M', '1/20/1930')
        ]

table = Table(show_header=True, header_style="bold cyan")
table.add_column("Name")
table.add_column("Sex")
table.add_column("Birthdate", justify="right")
for row in data:
    table.add_row(*row)
console.print(table)
pydoc.pager(console.file.getvalue())
console.file.close()

On MacOS, before I run this script, I tell less to color the output with:
export LESS=-r
then I run the script, and everything looks beautiful.
Only downside is that large blobs of text will take time to process, but hopefully Will will implement a proper pager that can stream large objects.

@Dude-X That works great! Thank you for the assist!

@willmcgugan I would love to take this up, are you willing to incorporate this though?

@amartya-dev Sure. If I like the implementaiton!

+1 for this feature. I have been wanting to use rich for a while and today tried to use it. I have a function implemented to preview markdown files but no paging! I will try to implement a workaround- perhaps with the example above or by using popen and friends.
btw thanks for the hard work. I'm looking forward to using this for future projects.

I've started work on this... https://twitter.com/willmcgugan/status/1314925405040775177

Looks great. It is unfortunate that on macOS an environment variable comes into play.
Implementing your own pager is... in the realm of rich? This is a lot of other functionality. I don't know what you had in mind but I suppose some expected features of that would be the less-like keyboard navigation / exiting. Then there's search. Etc.
Maybe there's way with less? Or heaven forbid another pager?

Linux uses the same env variable. It's probably a good idea to respect the user's wishes as the default. But I am planning on making it easy to change pager functionality, so I could even supply a pager that uses "less -r".
Even "less -r" isn't without its drawbacks. It doesn't appear to support terminal links, at least not on macOS.
For a builtin pager, I was thinking cursor up/down and page up/down and that's it. That's as much as I ever use personally, and at least this would guarantee the same user experience everywhere.

I believe this is now resolved by #373?

I think we can close this issue as far as implementing a pager. Only thing left is to add pager stuff to the docs.
Basically it's:
from rich.console import Console
console = Console()
# create your rich data
with console.pager():
  console.print(my_rich_text)

Yep. Its documented here.


Testing, please ignore. (vxeksr)

This is a bug bounty test.. Please DO NOT APPROVE THIS! (vxeksr)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.vxeksr yaoyr seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Bus Stops: Cross streets not registering

Alexa: "Where do you get on the bus?"
Answer: "Smithfield and Forbes"
does not match "Smithfield" and "Forbes"

Modified CrossStreetBusIntent to only match the second street specified.


Remove optional notes

Fixes #19
Also corrects typo/error in excitation wavelength descriptions (400-->405nm, 480nm --> 470nm).

@CodyCBakerPhD, I thought you fixed the PR Dashboard error...

, I thought you fixed the PR Dashboard error...

Ahhh I think it's because you're contributing from your personal fork - can you try to reopen the PR from a CatalystNeuro fork?


The MudMenu popover does not stay open after touching on touch devices when using MouseOver in ActivationEvent

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudMenu
What happened?
It seems that there is an issue with the MudMenu popover. Specifically, the popover does not remain open after the ActivatorContent is touched on touch devices like smartphones when using MouseOver as the ActivationEvent in the MudMenu component.
It happened in our project after updating the Mudblazor to version 7.0 and afterwards.
Expected behavior
The MudMenu popover must stay open after being touched on touch screens even when using MouseOver as the ActivationEvent in the MudMenu component.
Reproduction link
https://try.mudblazor.com/snippet/wacyYLmPLPFHBIhL
Reproduction steps

Create a MudMenu component in the Blazor WebAssembly application.
Specify a Custom Activator for it.
Specify MouseEvent.MouseOver as ActivationEvent for it.
Run the web page on a touchscreen device like a smartphone.
Hit the MudMenu activator by touching.

Relevant log output
No response
Version (bug)
7.x.x
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Windows, Android
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

Seems to have been introduced in #8492 by inadvertently removing the @ontouchend menu toggle. Will try to fix this after #9458 as I think the toggle behavior makes much more sense than holding the touch down.


Make pino transport inherit global log level

Closes https://github.com/umccr/elsa-data/issues/229.
Pino transport targets have their own log levels which are independent of the global level: setting. This PR causes the transport targets to inherit the global level unless those targets set their own level.

I suspected it might be something like this but pored through all the documentation and couldn't see anything calling this out..