Depth image is not clear when picturing it at a far distance

Hello,I use the python code as follows to get aligned depth and rgb images, The problem is that  when I was near to the object in one meters, the depth image is clear, like figure1, but when I was about 2 to 3 meters to the object, the depth image was not clear, like figure2, why? is it mean that when I want to get depth image of something, I should not be far from it? I should take the depth image of it in 1 meter or so? or is it the setting's problem? how to set the sensor(D435) to get a more clear depth image of the object in a more far distance?
import pyrealsense2 as rs
import numpy as np
import cv2
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
profile = pipeline.start(config)
depth_sensor = profile.get_device().first_depth_sensor()
if depth_sensor.supports(rs.option.depth_units):
depth_sensor.set_option(rs.option.depth_units,0.001)
if depth_sensor.supports(rs.option.emitter_enabled):
depth_sensor.set_option(rs.option.emitter_enabled, 1.0)
depth_scale = depth_sensor.get_depth_scale()
print("Depth Scale is: " , depth_scale)
clipping_distance_in_meters = 1 #1 meter
clipping_distance = clipping_distance_in_meters / depth_scale
align_to = rs.stream.color
align = rs.align(align_to)
i=1
j=1
try:
while True:
frames = pipeline.wait_for_frames()
aligned_frames = align.process(frames)
aligned_depth_frame = aligned_frames.get_depth_frame() # aligned_depth_frame is a 640x480 depth image
color_frame = aligned_frames.get_color_frame()

if not aligned_depth_frame or not color_frame:
    continue

depth_image = np.asanyarray(aligned_depth_frame.get_data())
color_image = np.asanyarray(color_frame.get_data())

grey_color = 153
depth_image_3d = np.dstack((depth_image,depth_image,depth_image)) #depth image is 1 channel, color is 3 channels
bg_removed = np.where((depth_image_3d > clipping_distance) | (depth_image_3d <= 0), grey_color, color_image)

depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
images = np.hstack((bg_removed, depth_colormap))
cv2.namedWindow('Align Example', cv2.WINDOW_AUTOSIZE)
cv2.imshow('Align Example', images)
cv2.imwrite("//home//cindy//emitter_enabled//depth//"+str(i)+".png",depth_image)  #保存到指定目录
cv2.imwrite("//home//cindy//emitter_enabled//rgb//"+str(i)+".png",color_image)
i = i+1
j = j+1
key = cv2.waitKey(1)
if key & 0xFF == ord('q') or key == 27:
    cv2.destroyAllWindows()
    break

finally:
pipeline.stop()
figure1(in a close distance), the depth image is clear

figure2(in a far distance), the depth image of the object is not clear especially the outlier

Thanks very much

As the distance from the camera increases, depth noise increases.  This is called RMS Error, and becomes particularly noticeable after 3 meters away or further.  This effects the D435 model particularly due to how its hardware is designed - the D415 has less RMS error at distance.

Intel's illustrated camera tuning guide may help you to improve the quality of the image.
https://realsense.intel.com/wp-content/uploads/sites/63/BKM-For-Tuning-D435-and-D415-Cameras-Webinar_Rev3.pdf

[Realsense Customer Engineering Team Comment]
Closing this now.
Feel free to reopen if the problem hasn't been addressed.
Thank you.


Use the default store loader when an upgrade doesn't need a custom one.

Description
This fixes an issue in app/app.go#New where the store loader could end up being nil, which leads to an NPE when we it's being called.

While testing the tournaline-rc2 upgrade, I ran into the following panic:
11:45AM INF Managing upgrade lastHeight=56 plan=tourmaline-rc2 upgradeHeight=57
11:45AM INF No store upgrades required height=57 plan=tourmaline-rc2
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x1024362e8]

goroutine 10 [running]:
github.com/provenance-io/provenance/app.ValidateWrapper.func1({0x104a41b50, 0x14001168fd0})
	github.com/provenance-io/provenance/app/store_loader.go:29 +0x58
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).LoadLatestVersion(0x14000e45680)
	github.com/cosmos/cosmos-sdk@v0.46.13/baseapp/baseapp.go:306 +0x34
github.com/provenance-io/provenance/app.New({0x104a1ec30, 0x14001540690}, {0x104a34aa8, 0x14000010028}, {0x0, 0x0}, 0x1, 0x140011d52f0, {0x16f8310a6, 0x37}, ...)
	github.com/provenance-io/provenance/app/app.go:1086 +0xc9ec
github.com/provenance-io/provenance/cmd/provenanced/cmd.newApp({0x104a1ec30, 0x14001540690}, {0x104a34aa8, 0x14000010028}, {0x0, 0x0}, {0x1049f3ba0?, 0x140016f6000?})
	github.com/provenance-io/provenance/cmd/provenanced/cmd/root.go:318 +0x6c8
github.com/cosmos/cosmos-sdk/server.startInProcess(_, {{0x0, 0x0, 0x0}, {0x104a42168, 0x14001179110}, 0x0, {0x1400012b750, 0x7}, {0x104a3a8f8, ...}, ...}, ...)
	github.com/cosmos/cosmos-sdk@v0.46.13/server/start.go:281 +0x278
github.com/cosmos/cosmos-sdk/server.StartCmd.func2.2()
	github.com/cosmos/cosmos-sdk@v0.46.13/server/start.go:147 +0x48
github.com/cosmos/cosmos-sdk/server.wrapCPUProfile.func2()
	github.com/cosmos/cosmos-sdk@v0.46.13/server/start.go:537 +0x30
created by github.com/cosmos/cosmos-sdk/server.wrapCPUProfile
	github.com/cosmos/cosmos-sdk@v0.46.13/server/start.go:536 +0x1dc
make: *** [run] Error 2

The problem was that GetUpgradeStoreLoader returns nil in some instances (e.g. tourmaline-rc2 that doesn't have any store changes). So when we tried to use that function, we got this NPE.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

I verified that this fix worked by locally doing a tourmaline-rc2 upgrade.


Update Parse templates

The Templates are "blue"
The Reset Password has not password validation

Parse.com is dead


Smart Versions Based on Talents?

First I'd like to say I'm not a fan of the "Versions" description. To me they are not versions in the traditional coding sense. Instead they are more Alternate Models. To archive previous iterations with this method bloats the macro, and for me I find it cleaner to just manage my versions in Notepad. I'd love to see a better system for storing and naming versions, but that's not really the topic of this.
One of the things that I struggle with when I write a macro is how to handle Talent swaps and or Legendary swaps. Often times for Talent swaps I can write in conditionals to account for the swaps, but it gets very murky on some class/builds when the rotation becomes alltogether different (I'm looking at you BoS Deathknight vs Oblit). It would be cleaner if I could just write a new version for each build/legendary combination and then have front end conditionals that swaps versions much like you do with the "Default/Dungeon/Raid/PVP" conditionals.
Is this possible or something that you would be interested in considering?

In GSE1 versions were like you described but people were not actively cleaning up and one case there were 184 iterative versions of the same macro.  I wanted to simplify this but also allow for different configurable versions.
It is something that I have been thinking about.  The move to swap the Help Line to a structured Talents line in 2.0 was a step towards this.  I think in the future I need to move the talents or at least allow the MacroVersion to overwrite these.  The issue isn't here. the issue is that swapping talents requires a consumable so should the macro initiate the talent swap or should it passively monitor talent changes and change the macro configuration version based on the talent set active.
If its the first case of using the consumable that can be costly but is easy to implement.  The latter is a lot harder to implement but is a better experience for the player as they are still making the choice to change their talents but they need to know what they are changing their talents into first hence back to the first case.
In short it is something I ma considering but I want to make sure the user experience isnt more complicated than what we have now.
I have achieved this with a bar swap.  On one bar i have the macros for Oblit (and the other spells for keys 3 to = ) and on the other bar I have BoS.  When I swap talents I also just rotate the bottom bar and my macros are in the same places as their alternatives.

I am happy yo hear that you have already put thought into this. Your comments make alot of sense and seem very well thought out. For me personally I'd like to see it just monitor the talents and allow the user to manually choose. But I also understand the pit falls that you described. One of my factors for requesting such a feature is that I am running out of "in-game" available macro slots on my Druid. I have 4-5 (sometimes more) macros per spec and it starts becoming an issue along with my already existing in game macros that are not related to GSE. I am to the point where I need to Delete icons or disable them frequently to make room.

Unrelated but may be of help - You have 120 "Account" macro slots and 16 per character.  If you are not playing a ton of Alts, GSE has the option to overflow from Character slots to use Account slots to assist in freeing up some slots.
Timothy Minahan
M 0406 413 680  |  E<EMAIL_ADDRESS>
On 15 Aug 2017, at 12:07 am, Darkmanz<EMAIL_ADDRESS>wrote:
I am happy yo hear that you have already put thought into this. Your comments make alot of sense and seem very well thought out. For me personally I'd like to see it just monitor the talents and allow the user to manually choose. But I also understand the pit falls that you described. One of my factors for requesting such a feature is that I am running out of "in-game" available macro slots on my Druid. I have 4-5 (sometimes more) macros per spec and it starts becoming an issue along with my already existing in game macros that are not related to GSE. I am to the point where I need to Delete icons or disable them frequently to make room.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I think perhaps you underestimate my love for creating macros! :P Between my own in game macros and other addons like Vuhdu needing macro slots I tend to run low. especially on classes like Druid with 4 specs. Really though I'd just really like to be able to write a new "model/version" based on a specifc talent selection without having to through the pain of needing to add conditions to nearly every other line in the macro to get the sequencing correct. as it stands now I generally go through and write a section for a specific spec and attach [talent:x/x] conditions and separate that section with a --comment this is for X Talent. and then write a new section again separated by --comment for a different talent selection. it gets messy sometimes. It would be really cool if you could put a check in that checks for a specific talent selection and then automatically paths the macro to the related version. again similar to the way you have it toggle to different versions based on group, nogroup, default and PVP.
I'm not exactly sure how to pull this off. The user/or author of the macro would need to map out the pathing somehow based on what Version they want it to go to depending on a specific talent.
I don't know if all of this is coming across the way I want it explained but maybe this example will help. If you take a Frost Death Knight there are basically 3 very distinct and very different builds. Oblit/Howling Blast, Oblit/Frost Scythe, and Breath of sindragosa. There are variations of each but those variations could easily be handled within one model but it would be nice to have 3 distinctly different models driven by a single talent selected i.e. [notalent:6/1, notalent:7/2]=Oblit/Howling Blast, [talent:6/1]=Oblit/Frost Scythe, and [talent:7/2]=Breath of Sindragosa

Thinking through this a bit further this the idea is achievable.  I can hook talent changes and rebuild the macro based on the change.  I can add a talent override to a version but  would that be enough?  The question is how would the user configure this? How do we present this without overcomplicating and already massive GUI?
In the current set when you zone it looks at the configuration metadata and uses that to determine which version of the macro to execute.  Could we extend this to include multiple "Talent Patterns" i.e. ?,1/3,2,2,2,2,1=2

lets plan this for 2.2 - the next release after the 7.3 release

Other question is should the combination be also talents or PVP/Party/Raid?  i.e. you can be talent based or location based?
SHould it be both talents and location?
Should it look for talents first then location or location then talents?

I admit that this is a deep rabbit hole and the question is how deep should it go. Thinking through the pitfalls one of the problems that I see is as you said "how to present this without complicating it?". The driving Talent for each class and spec is wildly different and in some cases its not the talent chosen as much as the talent not chosen. Using my DK example all talents outside of Frost Scythe and Breath of Sindragosa are irrelevant to the basic way each build works (some talents make slight variants but not so much that I would say to have a separate version for those). in this example it all revolves around those 2 very specific talents. I don;t know exactly how to relay this information and make it simple to be honest but I will put some thought into it and let you know what I come up with.

I'm going to post the Frost DK macro that I am currently using on the forums. Maybe you can take a look at it to come up with some ideas. you should be able to see how I am currently handling various talent selections and why I am asking for this.
Disclaimer though and I will deliver the same message in the thread is that none of the macro is mine, it is a mashup of other authors macros that I have assembled into one usable macro based on talents, the only part that is mine are the conditions added to the beginning lines and maybe a couple of personal preference changes. I've been reluctant to post it because I don;t generally like to republish other others work, but I think that it may open some eyes as to what is really possible.

https://wowlazymacros.com/forums/topic/all-talents-frosty-mash/

Hi TL- Sorry its been awhile since I have commented here. I'm wondering if this is still something that you are thinking about? I am growing increasingly frustrated in maintaining some of the macros that I have written. Especially (currently) my Feral setup. Much like Frost DK  at the time of my original posting of this question, Feral has a ton of viable talent selections based on content, gear, or just personal preference. I am finding myself at a crossroads trying to map out the best way forward in my approach to writing the macro(s). My current effort includes something similar to the example of the frost DK that I mentioned above where I include/exclude /cast lines based on [conditionals] (talent choices), But there are certain hindrances in this approach that affect performance. I know that I can make a more efficient macro if I can just focus on a specific set of talents for that one instance but I don't want a bunch of single macros floating around for each setup, and I'm not sure how efficient it is to make different versions within the macro that the user has to change fight to fight.
I'm contemplating a complete re-write of my Feral macro yet again, but I'm struggling with what I want the foundation of it to look like. If this is still something that you are considering implementing I'll hold off and see what comes.

Hi Dark
Due to the changes in BfA I'm not going to do this.  Its complicated but its achievable within what is currently there.


Executing function when showing or hiding modal as soon as possible

Currently, there is onModalShow and onModalHide that allows to execute function. One of their downsides is that they execute passed function once the animation finishes. This makes it difficult to create synchronous animation.
Here's example below:

The plus button changes colour after the modal is hidden. In my opinion, this doesn't create a smooth animation.
Here's my proposal:

The plus button changes colour almost immediately with the modal creating a seamless effect. This creates a much better UI experience in my opinion.
Here's how I have achieved this effect:
  _close = async () => {
    this.props.onModalHideEarly();
    this.backdropRef.transitionTo({ opacity: 0 }, this.props.backdropTransitionOutTiming);
    this.contentRef[this.props.animationOut](this.props.animationOutTiming).then(() => {
      this.setState({ isVisible: false });
      this.props.onModalHide();
    });
  };

Ps. this is only a part of the commit.
I have forked the repo and can submit a PR request if you think this enhancement is worthwhile.

Hey @alexkuc!
I think I understand what you're trying to achieve, but you should already be able to do your own logic both when the hide animation starts (right before setting the visible prop of the modal to false) and when it ends (in the onModalHide callback).
The following snippet should reproduce the same behaviour you're requesting, let me know if I'm missing something 👍
export default class YouFirstScreen extends Component {
  state = {
    isModalVisible: false
  }

  _showModal = () => this.setState({ isModalVisible: true })

  _hideModal = () => this.setState({ isModalVisible: false })

  _handleClose = () => {
    // First, do the logic you'd  do inside your onModalHideEarly()
   YourLogicBeforeHidingTheModal
    // Then, start the close animation
    this._hideModal();
    // From now on you'll know when the animation has ended thanks to onModalHide()
  }

  _handleModalClosePostAnimation = () => {
    // Here you can safely assume the modal animation has just ended
  }

  render () {
    return (
      <View style={{ flex: 1 }}>
        <TouchableOpacity onPress={this._showModal}>
          <Text>Show the modal</Text>
        </TouchableOpacity>
        <Modal isVisible={this.state.isModalVisible} onModalHide={this._handleModalClosePostAnimation}>
          <View style={{ flex: 1 }}>
            <TouchableOpacity onPress={this._handleClose}>
                <Text>Close</Text>
             </TouchableOpacity>
          </View>
        </Modal>
      </View>
    )
  }

}

Closing, feel free to open another issue/submit the PR if needed 👍


get_order_address

I have seen in the api model info about GetOrderAddressResponse but in current release of your project there's no any call for it.
Do you are planning to develop it ?

I can add it in the next iteration, or would you mind creating a pull request with it. Adding a call is really simple.

I can add it in the next iteration, or would you mind creating a pull request with it. Adding a call is really simple.

I think i just have to add in orders.py

I think i just have to add in orders.py

Exactly, yes. Just look at how the call is implemented for other endpoints, it’s pretty straightforward. I can push it today in the evening if you don’t want to.

Exactly, yes. Just look at how the call is implemented for other endpoints, it’s pretty straightforward. I can push it today in the evening if you don’t want to.

I think there are something of strange. I try to modify the code just coping get_order_items but i receive the following error:
{'errors': [{'code': 'InvalidInput', 'message': 'The input you have submitted is not valid. Please check your input and try again.', 'details': ''}]}
Then i try to call get_order_items with this code but i receive the same error:
print(Orders(marketplace=Marketplaces.IT).get_order_items("306-5946534-9763565").payload)

I think there are something of strange. I try to modify the code just coping get_order_items but i receive the following error:
{'errors': [{'code': 'InvalidInput', 'message': 'The input you have submitted is not valid. Please check your input and try again.', 'details': ''}]}
Then i try to call get_order_items with this code but i receive the same error:
print(Orders(marketplace=Marketplaces.IT).get_order_items("306-5946534-9763565").payload)

I've pushed a version with the endpoint, my tests pass with both get_order_items and get_order_address

I've pushed a version with the endpoint, my tests pass with both get_order_items and get_order_address

Ok thanks a lot. Now it's working to me.

Ok thanks a lot. Now it's working to me.

Ok thanks a lot. Now it's working to me.

Could you please tell the process of setting environmental variables?
Linux or Windows

Ok thanks a lot. Now it's working to me.

Could you please tell the process of setting environmental variables?
Linux or Windows


This page needs content

I am sent here from the action groups page to figure out how to create a App Registration that can be used for a secure webhook. This page provides no content that supports that and the generic app registration pages are not helpful for this use case.

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

ID: 9194b048-5256-685d-8599-5a9ac45d7c9f
Version Independent ID: a32a4569-1ace-2d00-f31a-97e1d06fac21
Content: Protected web API - overview - Microsoft identity platform
Content Source: articles/active-directory/develop/scenario-protected-web-api-overview.md
Service: active-directory
Sub-service: develop
GitHub Login: @jmprieur
Microsoft Alias: jmprieur

@chhatley Thanks for the feedback. We are investigating the issue and will update you shortly.

@chhatley: do you have some documenation about secure web hooks? is it related to Microsoft web hooks? what is it? (i'm not familar with them)

I do not have any specific documentation for it. It is an action for an Action Group that allows you to send notifications or payloads from Azure. The Secure Webhook enables you to use AAD/App Registration to secure the connection. I think the issue is that it generically shoots you to this page which doesn't have content specifically tailored to secure webhooks. Very confusing if you are trying to setup and action group. https://docs.microsoft.com/en-us/azure/azure-monitor/platform/action-groups

Curious if there are any plans to add this content or who would be responsible for authoring it.

@jmprieur, Can you please take a look at this.

@chhatley : I'll try to find who is responsible for secure web hooks.
I'm also updating the web-api articles (to use MIcrosoft.Identity.Web)

#assign  dkamstra

@dkamstra. I've proposed a PR to link directly to the right page in the app registration. I've also provided a more detailed link on how to configure the web API to accept calls from daemon applications


add unitary fund badge

Add unitary fund support badge. Pinging @willzeng before merging. This may be useful for GSoD application.

Looks great to me!


North/South Traffic API monitoring

setup nginx ingress controller and visibility into north-south traffic.
Include egress traffic as well.
With service-mesh.

Phase 1: only envoy based support - Istio/Consul
Phase 2: OpenAPI support
Design Doc WIP
Not sure tagging sensitive assets

Able to send collected telemetry to https server.
Validate consul with plugin.

Validation of plugin WIP

Consul validation: creation works but unable to configure plugin.

Validating Istio Ambient Mesh with Wasm filter

grpc calls

Done w grpc calls and wasm filter. Istio Ambient mesh deprioritized. Next up, nginx.

Proceeding with changes related to nginx.

WIP nginx ingress controller changes.

Using Lua to setup nginx ingress controller changes.

Added support for f5 nginx ingress controller.


Newlines not respected on code blocks

Description:

Environment Information:

Rocket.Chat Server Version: open (so 4.7 I'm guessing)
Rocket.Chat App Version: <IP_ADDRESS>852
Device Name: poco m4
OS Version: android 11

Steps to reproduce:

send a message in triple backticks with a linebreak

\`\`\`
like
this
\`\`\`

(How do I escape backticks in md? :P)
Expected behavior:
like
this

Actual behavior:

Additional context:
web client is working as expected

Rocket.Chat App Version: <IP_ADDRESS>852
web client is working as expected
transferred this issue from RocketChat/Rocket.Chat.ReactNative on 10 May

Since web client is working as expected, this should not be an issue. Also, I think the mobile app still uses the old parser (which is implemented directly into the core app).
Btw, I'm considering you opened this issue here because this is where the repo is where the message-parser lives. Even though that's true, the message-parser project only converts raw text into an AST object, meaning the rendering is detached from the parsing step. This means it's more likely this issue related to rendering than parsing.
I'll close this for now, but if you think it still makes sense for this to be an issue, please, reopen it and add more context.


Bug on update vscode

Hi, I had a problem when my vscode was auto-updating.
The vscode showed a message: "Error... DeleteFile; code 32" (node_modules.asar in use).
I stopped extensions by extensions and the VSCode was updated after I stopped "ui5 tools".
On another notebook that had the same error, I stopped only "ui5-tools" and worked, vscode has been installed.
To Reproduce
Steps to reproduce the behavior:

Install the "ui5-tools" extension
Click to update vscode
If your vscode is not up to date, I think should give error.

Expected behavior
The message appears

Hi, i forgot to reply your issue. I couldn't reproduce your problem, and none of my colleagues have had problems with the extension.
I will close this issue. Feel free to reopen If you still have the problem.


contrib: fix up check-fmt.sh

Set the pipefail option so that the script fails when a piped command fails.
This fixes the issue where gofmt was not actually run in the
make jenkins-precheck target, as the commad to get all files to run gofmt
failed when ./daemon/bindata.go was not found, but the script itself did not
exit with a non-zero return code. Said file was not able to be found in said
target because make had not been ran yet. As a result, the find command
silently failed, which resulted in the contents of the diff variable being
empty, which the script assumed meant that there were no violations of gofmt.
Use bash as the shell for the script to be able to use the pipefail option.

With these changes, the jenkins-precheck target should correctly catch gofmt
violations on Jenkins.
Signed-off by: Ian Vernon<EMAIL_ADDRESS>
This change is

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

Coverage increased (+0.004%) to 41.224% when pulling bbeef881ab6b4e4dc70d9fb0023408b822d7acae on pr/ianvernon/fix-jenkins-precheck into 242de75301237d549078b5a587d4a649abcd794b on master.

test-me-please

test-me-please

test-me-please

test-me-please

Not 100 % sure as to whether this needs backport to 1.3 or 1.4, but we need it for 1.5 for sure.

test-me-please


Update the instructions for use with WSL2 in Windows?

So I am using WSL2 in Windows to have an Ubuntu install without having to deal with dual booting. This has posed certian challenges, such as getting USB devices (an Arty A7 board for example) passed through to the Ubuntu environment. I have figured out most of them and am currently working out how to run these labs on the WSL2 Ubuntu directly because the Docker container is one layer too many I'm afraid.
I was wondering if there is interest in me adding some explanation steps to these labs for people who also want to run it through WSL2? I will need to create a new issue here and there if i can't figure something out, but most of the setup of lab 1 i already got working.

Oh it is great that you got this working! We are definitely interested in your input. For now these labs are very much focussed on the Docker side of things. So I think it may be better to add this to the main demo system repo. Our README file is already a bit bloated (we are planning to split it up in the future). Could I ask you to create a file named something like windows_wsl2_guide.md in the doc directory? You can do this by creating a pull request to the main repository.
Again, thanks so much for your interest and offering to help!

You aren't the only Windows person either around - so won't be a waste of effort! I haven't tried this yet myself either, but having WSL2 support is a definite plus.

Oh it is great that you got this working! We are definitely interested in your input. For now these labs are very much focussed on the Docker side of things. So I think it may be better to add this to the main demo system repo. Our README file is already a bit bloated (we are planning to split it up in the future). Could I ask you to create a file named something like windows_wsl2_guide.md in the doc directory? You can do this by creating a pull request to the main repository.
Again, thanks so much for your interest and offering to help!

Ok great, I'll get to it lab by lab. I'll start by documenting my setup steps for lab 1.


[nfc] Improve consistency of terminology/naming

Here's a first batch of renamings based on the glossary I posted in discord, making sure we consistently use "Collection" in code and comments and renaming EntryMapper/TableMapper to InputMapper (for symmetry/consistency with OutputMapper).  Should be no functional change

Another question is whether "TableCollection" is redundant in the sense that all tables are collections (of rows), so why not just "Table"? Or perhaps "EagerTable" to emphasize that they are EagerCollections.

Another question is whether "TableCollection" is redundant in the sense that all tables are collections (of rows), so why not just "Table"? Or perhaps "EagerTable" to emphasize that they are EagerCollections.

Ahh, this one point had a bunch of discussion between me and Daniel: I wanted to just call this "Table" as you suggest. But there's a different interface "Table" which provides SQL-like select/insert/update/delete/etc. operations. So, in a sense, this is a "read-only" table which can be used in mappers, while that's a "read-write" table which very much can not be used in mappers. This was what I came up with to convey that this is a table-shaped type of collection which can be used like other collections (i.e. in mappers) but I'm open to other versions too. e.g. I considered calling this Table and that WritableTable but couldn't come up with a way to explain that without getting too down in the weeds

Ah ok then, TableCollection makes sense. I will have this naming question in mind, but looks good as is.

Closing, subsumed into #300 .


Works locally, not when built

The datepicker works fine when run locally, but when I build the project (using CLI) and upload it to a server it refuses to work at all.
EXCEPTION: No value accessor for form control with unspecified name attribute
Any ideas? Thanks.
EDIT: It works when I do ng build, but not when I do ng build --prod

Honestly I don't have an idea currently, did you maybe solved this at this point?

Updating both Angular and ng2-datepicker solver the issue


[velox] Table writer 3: Refactor table writer to use write protocol

Refactor TableWriter to use WriteProtocol to configure write
and commit.
Pass WriteProtocol to DataSink that is used by TableWriter.
DataSink uses WriteProtocol to get the required parameters
for the underlying writers, including the write & target directories
& file names in the case of HiveDataSink. DataSink also keeps track
of the WriteParameters and returns them if TableWriter needs it
for commit().
TableWriter getOutputs() also calls on WriteProtocol commit() to perform
protocol particular commit() actions. It would also include
the particular format of outputs that commit() returns.
Make the Velox example ScanAndSort.cpp use HiveNoCommitWriteProtocol,
with no behavior change.

@gggrace14 Have some questions. I'm seeing that HiveTaskCommitWriteProtocol::commit uses default implementation. Who is using the information in the TableWriteWriteInfo?

Offline discussed, and we're going to reword WriteInfo to CommitInfo that is less confusing. I will make CommitInfo a class in the namespace of velox::connector. Different Connector could have different info to commit, so putting it into the individual implementation of CommitInfo in the individual connector namespace. Operators, ex., TableWriter, depends on CommitInfo in the


master: Add support for logback config & Kafka

If a logback-access.xml exists in the master state directory, use that
instead of the included logback-access.xml resource.

Add a logback-kafka-appender dependency so that access logs can be sent
directly to Kafka.

:+1:


Use LoggedIn User Details for New Response/Comment

Description
MA-2762

@salman2013 Ready for review.


WebGPU backend error: Binding size is smaller than the minimum binding size

Hello everyone, Thanks for your great work!
relate to #229 , but this time I use webgpu backend
Now when I use input with 256*258 or 1280*720 size image and inference, it all error with the same error info:
Binding size (68) is smaller than the minimum binding size (72).
 - While validating entries[5] as a Buffer.
Expected entry layout: { binding: 5, visibility: ShaderStage::Compute, buffer: { type: BufferBindingType::Uniform, hasDynamicOffset: 0, minBindingSize: 72 } }
 - While validating [BindGroupDescriptor] against [BindGroupLayout]
 - While calling [Device].CreateBindGroup([BindGroupDescriptor]).

[Invalid BindGroup] is invalid.
 - While encoding [ComputePassEncoder].SetBindGroup(0, [Invalid BindGroup], 0, ...).

[Invalid CommandBuffer] is invalid.
    at ValidateObject (..\..\third_party\dawn\src\dawn\native\Device.cpp:689)
    at ValidateSubmit (..\..\third_party\dawn\src\dawn\native\Queue.cpp:444)

Binding size (124) is smaller than the minimum binding size (128).
 - While validating entries[3] as a Buffer.
Expected entry layout: { binding: 3, visibility: ShaderStage::Compute, buffer: { type: BufferBindingType::Uniform, hasDynamicOffset: 0, minBindingSize: 128 } }
 - While validating [BindGroupDescriptor] against [BindGroupLayout]
 - While calling [Device].CreateBindGroup([BindGroupDescriptor]).

'Chrome':1 Binding size (68) is smaller than the minimum binding size (72).
 - While validating entries[5] as a Buffer.
Expected entry layout: { binding: 5, visibility: ShaderStage::Compute, buffer: { type: BufferBindingType::Uniform, hasDynamicOffset: 0, minBindingSize: 72 } }
 - While validating [BindGroupDescriptor] against [BindGroupLayout]
 - While calling [Device].CreateBindGroup([BindGroupDescriptor]).

'Chrome':1 Binding size (68) is smaller than the minimum binding size (72).
 - While validating entries[5] as a Buffer.
Expected entry layout: { binding: 5, visibility: ShaderStage::Compute, buffer: { type: BufferBindingType::Uniform, hasDynamicOffset: 0, minBindingSize: 72 } }
 - While validating [BindGroupDescriptor] against [BindGroupLayout]
 - While calling [Device].CreateBindGroup([BindGroupDescriptor]).

this time I use webgpu backend

Sorry, current WebNN Polyfill API doesn't support WebGPU backend, we will support later.

Thanks for reply!


Pilot param clusterRegistriesNamespace should default to pilot namespace

use pilot ns if set
use "istio-system" as last resort

/cc @baodongli @gyliu513 @sbezverk

@tiswanso: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
fc2657b36658cccc20818277ca78a638965aca27
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: baodongli, tiswanso
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: baodongli, sbezverk, tiswanso
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: baodongli, gyliu513, sbezverk, tiswanso
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix failing v2 periodic tests

What type of PR is this:
/kind tests
What does this PR do / why we need it:
This PR fixes v2 periodic testing script.
Which issue(s) this PR fixes:
Fixes #
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

How to test changes / Special notes to the reviewer:

/approve

/assign @mohammedzee1000

/approve


Avoid mishandling retain_n of immortal objects where n >= 3

@swift-ci please test

@swift-ci please smoke benchmark

Build failed
Swift Test OS X Platform
Git Sha - eaa51e4ace332bb99bf7c47d82dea9fe30ca84c0

@swift-ci please smoke benchmark

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - eaa51e4ace332bb99bf7c47d82dea9fe30ca84c0

Build failed
Swift Test OS X Platform
Git Sha - eaa51e4ace332bb99bf7c47d82dea9fe30ca84c0

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListLoop
4181
4921
+17.7%
0.85x (?)

FlattenListFlatMap
7094
7896
+11.3%
0.90x (?)

EqualSubstringSubstring
39
42
+7.7%
0.93x (?)

LessSubstringSubstring
39
42
+7.7%
0.93x (?)

EqualSubstringSubstringGenericEquatable
39
42
+7.7%
0.93x (?)

EqualSubstringString
39
42
+7.7%
0.93x (?)

LessSubstringSubstringGenericComparable
39
42
+7.7%
0.93x

Improvement
OLD
NEW
DELTA
RATIO

LazilyFilteredArrayContains
36200
30200
-16.6%
1.20x

ArrayAppendLazyMap
6980
6070
-13.0%
1.15x

String.replaceSubrange.ArrChar
51
47
-7.8%
1.09x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
4595
5185
+12.8%
0.89x (?)

EqualStringSubstring
40
44
+10.0%
0.91x (?)

EqualSubstringString
39
42
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayAppendLazyMap
7900
6990
-11.5%
1.13x (?)

String.replaceSubrange.ArrChar
51
47
-7.8%
1.09x (?)

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

EqualStringSubstring
47
51
+8.5%
0.92x (?)

ArrayOfPOD
1036
1117
+7.8%
0.93x (?)

String.data.Medium
90
97
+7.8%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

StringWordBuilderReservingCapacity
2650
2470
-6.8%
1.07x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - a3c450faaa35b84289abd406ee302ccecde46d73

hm. Interesting… I wonder what I'm missing here.

Build failed
Swift Test OS X Platform
Git Sha - a3c450faaa35b84289abd406ee302ccecde46d73

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - d07b643e366b97fc4eb62f743b93a36f38cc86a8

Build failed
Swift Test Linux Platform
Git Sha - d07b643e366b97fc4eb62f743b93a36f38cc86a8

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 9f1968cb5b84fc0a66d559bca842d3af54d81808

Build failed
Swift Test OS X Platform
Git Sha - 9f1968cb5b84fc0a66d559bca842d3af54d81808

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 9f1968cb5b84fc0a66d559bca842d3af54d81808

Build failed
Swift Test Linux Platform
Git Sha - 9f1968cb5b84fc0a66d559bca842d3af54d81808

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 87a54483a50c4adf004b77b67c35a3e1de11c20b

Build failed
Swift Test OS X Platform
Git Sha - 87a54483a50c4adf004b77b67c35a3e1de11c20b

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 58a0d9dd73f681534f409a83d5eb491d26da15e3

Build failed
Swift Test Linux Platform
Git Sha - 58a0d9dd73f681534f409a83d5eb491d26da15e3

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - eea1a3f9caf5cd36ce8f76c350455e5c07d7f52d

Build failed
Swift Test OS X Platform
Git Sha - eea1a3f9caf5cd36ce8f76c350455e5c07d7f52d

@swift-ci please test

@swift-ci please benchmark

Build failed
Swift Test Linux Platform
Git Sha - eea1a3f9caf5cd36ce8f76c350455e5c07d7f52d

Build failed
Swift Test OS X Platform
Git Sha - eea1a3f9caf5cd36ce8f76c350455e5c07d7f52d

Build failed before running benchmark.

@swift-ci please test

@swift-ci please benchmark

Build failed
Swift Test Linux Platform
Git Sha - f4c53912ac301fa2fb2bd123318520a5315b8d3c

Build failed
Swift Test OS X Platform
Git Sha - f4c53912ac301fa2fb2bd123318520a5315b8d3c

Performance: -O

Improvement
OLD
NEW
DELTA
RATIO

StringToDataEmpty
900
800
-11.1%
1.12x (?)

ObjectiveCBridgeFromNSSetAnyObjectToString
77500
71500
-7.7%
1.08x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubFromNSDateRef
3800
4140
+8.9%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeFromNSArrayAnyObjectForced
4780
4460
-6.7%
1.07x (?)

Code size: -Osize
Performance: -Onone

Improvement
OLD
NEW
DELTA
RATIO

Histogram
8541
7495
-12.2%
1.14x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please test and merge

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 184fa016024441587d6f4aaae8bdf6e90d968337

Build failed
Swift Test OS X Platform
Git Sha - 184fa016024441587d6f4aaae8bdf6e90d968337


Increase Node.js' connection timeout to 5 s.

This hopefully fixes #1546.

Review by @japgolly

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1501/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1933/
Test PASSed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1503/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1935/
Test FAILed.

retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1504/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1936/
Test FAILed.

retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1505/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1937/
Test PASSed.


ValueError: zero-size array to reduction operation minimum which has no identity

On version from master I get following output:
$ python stitch.py -i IMG_20170901_173311.JPG -c calib_data.json
Loaded calibration data..
Projecting fisheye images to equirectangular projection..
Projecting left fisheye image..
Projecting right fisheye image..
Done projecting, starting stitching..
Traceback (most recent call last):
  File "stitch.py", line 108, in <module>
    overlap_y_min = np.where(zero_channel == 0)[0].min()
  File "/home/w/tmp/FishPyPano/lib/python3.6/site-packages/numpy/core/_methods.py", line 29, in _amin
    return umr_minimum(a, axis, None, out, keepdims)
ValueError: zero-size array to reduction operation minimum which has no identity

Attached is archive with calibration points and calib_data
I created points with other tool, not html you provide, but result seems to be sane to me
data.zip

Any update on this issue? I got the exact same problem. I suspect it could be cause by library versions... @rnbguy could you share the version you use (Python, OpenCV, tqdm...). Thank you


os/exec: exec.Cmd fails to cancel with non-*os.File outputs on linux

go1.7, go1.8rc3
When using a Context to cancel an exec.Cmd, if either of the outputs are an io.Writer which isn't an *os.File the command will fail to terminate.
The following panics on amd64 linux
	ctx, cancel := context.WithCancel(context.Background())
	cmd := exec.CommandContext(ctx, "/bin/sh", "-c", "sleep 60")

	var output bytes.Buffer
	cmd.Stdout = &output

	cmd.Start()
	log.Println("started command")

	done := make(chan error)
	go func() {
		done <- cmd.Wait()
	}()

	time.Sleep(50 * time.Millisecond)
	log.Println("canceling command")
	cancel()

	select {
	case err := <-done:
		log.Println("done:", err)
	case <-time.After(time.Second):
		panic("failed to cancel")

The full stack trace is:
main.main()
	/home/user/command_context.go:35 +0x499

goroutine 5 [syscall]:
syscall.Syscall(0x0, 0x4, 0xc420092000, 0x200, 0x7f15a35f4000, 0x19, 0xc420092000)
	/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x4, 0xc420092000, 0x200, 0x200, 0xc420026400, 0x7f15a35f4000, 0x0)
	/usr/local/go/src/syscall/zsyscall_linux_amd64.go:783 +0x55
syscall.Read(0x4, 0xc420092000, 0x200, 0x200, 0x425b5f, 0x4dd550, 0xc420023dc0)
	/usr/local/go/src/syscall/syscall_unix.go:162 +0x49
os.(*File).read(0xc42000c038, 0xc420092000, 0x200, 0x200, 0x4602ab, 0x4b38e0, 0x200)
	/usr/local/go/src/os/file_unix.go:165 +0x4f
os.(*File).Read(0xc42000c038, 0xc420092000, 0x200, 0x200, 0x0, 0x7f15a3598028, 0xc420023e60)
	/usr/local/go/src/os/file.go:101 +0x76
bytes.(*Buffer).ReadFrom(0xc420048070, 0x5381e0, 0xc42000c038, 0x7f15a3598028, 0xc420048070, 0x1)
	/usr/local/go/src/bytes/buffer.go:179 +0x160
io.copyBuffer(0x538120, 0xc420048070, 0x5381e0, 0xc42000c038, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/io/io.go:384 +0x2cb
io.Copy(0x538120, 0xc420048070, 0x5381e0, 0xc42000c038, 0x0, 0x0, 0x0)
	/usr/local/go/src/io/io.go:360 +0x68
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
	/usr/local/go/src/os/exec/exec.go:254 +0x4d
os/exec.(*Cmd).Start.func1(0xc42007e000, 0xc42000a2a0)
	/usr/local/go/src/os/exec/exec.go:371 +0x27
created by os/exec.(*Cmd).Start
	/usr/local/go/src/os/exec/exec.go:372 +0x4e4

goroutine 7 [chan receive]:
os/exec.(*Cmd).Wait(0xc42007e000, 0x0, 0x0)
	/usr/local/go/src/os/exec/exec.go:443 +0x118
main.main.func1(0xc4200681e0, 0xc42007e000)
	/home/user/command_context.go:24 +0x2b
created by main.main
	/home/user/command_context.go:25 +0x1eb
exit status 2

I initially thought that this was caused by Context cancelation, but it turns out to be the same when directly killing the process.
This also hangs/panics
	cmd := exec.Command("/bin/sh", "-c", "sleep 60")
	var output bytes.Buffer
	cmd.Stdout = &output
	cmd.Start()
	log.Println("started command")

	done := make(chan error)
	go func() {
		done <- cmd.Wait()
	}()

	time.Sleep(50 * time.Millisecond)
	log.Println("killing command")
	cmd.Process.Kill()

	select {
	case err := <-done:
		log.Println("done:", err)
	case <-time.After(5 * time.Second):
		panic("failed to cancel")
	}

A second call to wait rightly returns Wait was already called and fails the race detector.

It seems to work fine for me.  Both programs end immediately with done: signal: killed.  I'm on GNU/Linux, Ubuntu Trusty.  I checked both Go 1.7 and Go 1.8rc3.
Can you post a complete program, and post the output of the program?  Thanks.

I reproduce the problem:
$ cat /etc/issue
Linux Mint 17.1 Rebecca \n \l
$ uname -a
Linux carbonite 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ go version
go version go1.7.4 linux/amd64

@dsnet Can you attach your complete program?

It quite literally the program from the original post: https://play.golang.org/p/ovO_hVDW49

Interesting.  I've now tried that program on three different GNU/Linux distros, kernel versions 2.6.32, 2.6.35, 4.2.0.  For me it always completes immediately.
@jbardin Tell us more about the system you are running.

I've tried some.  It reproduce on Ubuntu16.04 kernel 4.4.0-59-generic.

When the context is cancelled we kill the child process, in this case /bin/sh, with SIGKILL.  We don't kill the whole process group, just the immediate child.    If the child process does not die, and if sleep does not close its standard output, then the Go program will hang waiting to copy the child process's standard output into the buffer.
I'm not even sure this is wrong.

If it helps in any way:
Does Panic:
Intel NUC Intel(R) Core(TM) i5-6260U (panics)
Linux medianuc 4.9.3-040903-generic #201701120631 SMP Thu Jan 12 11:33:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue -> Linux Mint 18 Sarah
Does Panic:
Dell Desktop Intel(R) Core(TM) i7-4790 (panics)
Linux silviu-desktop 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue -> Linux Mint 18 Sarah
Does NOT Panic:
Odroid XU4 - ARMv7 Processor rev 3 (v7l)
Linux odroid 3.10.104-4-ARCH #1 SMP PREEMPT Sun Jan 1 18:12:52 MST 2017 armv7l GNU/Linux
$ cat /etc/issue -> Arch Linux

I think I see the difference, I bet all the systems where this fails have /bin/sh linked to /bin/dash.
I'm also note sure what the correct behavior is now, but dash is the only common shell I can find that does this.

confirming the only system where it does not panic is not dash:
ll -a /bin/sh
lrwxrwxrwx 1 root root 4 Jan 25 14:58 /bin/sh -> bash

I'm inclined to close this as working as expected.  You are asking for the processes's standard output to be collected.  That means that the Wait method will block until the process closes its standard output.  In the case that fails, the child process still has standard output open.  If you want something else to happen, you need to ensure that you kill not just the child, but any other process it starts that may keep standard output open.

@ianlancetaylor , I think this is a documentation bug: Wait and context don't work well together.
The problem is

If c.Stdin is not an *os.File, Wait also waits for the I/O loop copying from
c.Stdin into the process's standard input to complete.

Consider this example:
package main

import (
        "context"
        "fmt"
        "io"
        "os/exec"
        "time"
)

type Hanger time.Duration

func (h Hanger) Read(b []byte) (int, error) {
        time.Sleep(time.Duration(h))
        return 0, io.EOF
}

func main() {
        ctx, _ := context.WithTimeout(context.Background(), 5*time.Second)
        cmd := exec.CommandContext(ctx, "/bin/sh", "-c", "sleep 7")
        cmd.Stdin = Hanger(10 * time.Second)
        cmd.Start()
        now := time.Now()
        go func() {
                <-ctx.Done()
                fmt.Printf("context: %v\n", time.Since(now))
        }()
        cmd.Wait()
        fmt.Printf("wait: %v\n", time.Since(now))
}

This prints
context: 4.999701339s
wait: 10.001522024s

I don't see why this has anything to do with Wait and context.  As the second comment above shows, the same issue happens if you use Kill directly.

As the second comment above shows, the same issue happens if you use Kill directly

Yes. And that works as expected.
But the code shouldn't use done <- cmd.Wait() instead of the <- context.Done().

But, yes, you're right. The Wait/context-documentation is another issue. Sorry for the noise

The difference in shell behavior here is that bash, zsh, etc will exec a single command in place, where as dash always executes in a sub process. Giving bash a series of commands causes it to exhibit this behavior too, and I assume it will be the same on all unix platforms.
cmd := exec.CommandContext(ctx, "/bin/zsh", "-c", `sleep 60; sleep 60`)

This explains a number of issues people have asked me about in os/exec, and I didn't make the connection that the io loop for non *os.File stdin/stdout/stderr was the difference. I wonder if this could be cleaned up without having interruptible IO on regular file descriptors. We could poll the output with select, and check if we've killed the process in the meantime. We are killing the first child process, and we can wait on that immediately which is all I would expect. I wouldn't expect to be waiting on an FD passed to another process (which will die as soon as we close it).
Or maybe because this is a particular behavior of shells, we just document it as such.

@evverx:

But the code shouldn't use done <- cmd.Wait() instead of the <- context.Done().

You always need to call Wait on a child process. Waiting on the context doesn't do that for you.

@jbardin , sure.
I mean something like that:
go func() {
    <-ctx.Done
    cancel_input_producers
    cancel_output_producers
}
....
cmd.Wait()

@evverx: That still hangs. The Wait still may never return -- I've only put it in the goroutine to be able to show the timeout and panic.

@jbardin

That still hangs.

It depends. Your example doesn't control output_consumers. So, it can't cancel_output_consumers correctly.
Anyway, that's unrelated to this issue.

I think the underlying issue actually is directly related to that example.
What's causing the hang here is the hidden goroutine (referenced via Cmd.goroutine, communicating over Cmd.errch) that's launched to copy from the process file descriptor to the io.Writer, which equates to the output_consumers. Since we have no visibility to that goroutine, we can't choose to cancel_output_consumers which is why Wait can block indefinitely.
Using an os.Pipe for the output means the process can write directly to the pipe fd, and the blocked Read is lifted into my code where I can choose to stop waiting on it (though I still can't cancel that Read without polling the file descriptor).

My feeling here is that Wait is only expected to call the wait syscall, and has done so at this point. The child process has been terminated and reaped, and now we're blocking on file descriptors which are being used by a new process that we don't intend kill or wait on.
@ianlancetaylor, with the current file io implementation, would polling the FDs or selecting along with a self-pipe be an acceptable solution? (also related to #18507)
Without an immediate solution, I think it would be good to document that setting the process stdin/stdout/stderr to non-*os.Files could cause Wait to block indefinitely.

I don't understand your suggestion about polling.  Right now if you point Stdout at a buffer, exec.Cmd promises that that buffer will hold the program's standard output after you call Wait.  I don't see how we can do anything except wait for the descriptor to be closed.
I agree that the documentation needs to be better.

I guess it depends on the interpretation of "the program's standard output". I was expecting Wait to wait on the process and nothing more, but it's blocked waiting on the output from another process which isn't going to be killed.
By the time Wait is blocked, the process referenced by Cmd.Process is gone and reaped. Short of a delay in the kernel buffering the output, there won't ever be any more data coming from the process that is being waited on. If we're continuing to block there, it must be because another process has taken over the fd.  Some might consider that output part of the "program" launched by exec, which is why I'm not certain that aborting the Read is 100% correct, but it also seems strange that we sent a SIGKILL to a process yet Wait is blocked for some reason.
By polling, I mean syscall.Select with a timeout to check for cancellation, but the self-pipe trick works just as well, in order to not have a blocked Read call.

Would it make sense to have exec.CommandContext send SIGTERM instead of SIGKILL?  Context cancellation in a Go program is normally cooperative and asynchronous, not immediate, so SIGTERM seems like a better mapping.
I'm not sure whether that would actually change the behavior of bash w.r.t. subprocesses, though.

Sending SIGTERM instead of SIGKILL would not affect the problem in this issue.

I can confirm this with go tip ( to consistently reproduce with any shell use 'sleep 60; sleep 60' as suggested above: complete code https://play.golang.org/p/hORl4wxoQk). The backtrace is slightly different (due to c05b06a12d005f50e4776095a60d6bd9c2c91fac I think):   https://gist.github.com/ronin13/16a328dd56846a28d25feb8a2140f858

Quoting @eZanmoto from #20730 :

The problem, in my opinion, is that I expected exec.Cmd.Wait to function like os.Process.Wait and return when the process exited. However, based on #18874, exec.Cmd is additionally "bound" to the FDs it passed to the process, not just its PID, and so cannot exit until they are closed. My proposed solution is to update the exec.Cmd.Wait documentation to reflect this, in a similar way to the current documentation concerning c.Stdin. I would also update the initial line to indicate that Wait doesn't just wait for the command to exit, but may also wait for other events (to be detailed in the body of the documentation) to transpire, which could cause Wait to return later.

The docs have been improved as part of #22610.  It's not clear that there is anything else to do here.


Think about sc.objdict() vs sc.dictobj()

Starsim tends to use sc.objdict(), but in some cases sc.dictobj() would be better. The two are similar, however:

sc.dictobj() has a shorter (more dict-like) repr
sc.dictobj() is slightly faster
sc.objdict() has many more methods

In short, sc.dictobj() should be used in cases where all we want is regular Python dict behavior plus dot notation (e.g., a small collection of parameters). sc.objdict() should be used to contain objects that are larger (e.g. a collection of Result objects).

Before:
    func    cumpct  selfpct  cumtime    selftime  calls             path
_setitem    0.4597   0.4597   0.0098  9.7628e-03   1553  sc_odict.py:122

Less than half a percent of the total time, so can skip.

Script for testing:
import sciris as sc
import starsim as ss

with sc.cprofile(sort='selfpct') as cpr:
    sim = ss.demo(n_agents=100e3, plot=False)


x/tools/cmd/getgo: Various comments on shell assumptions

From browsing the source it uses the expansion of $HOME, but doesn't escape the value.
line := fmt.Sprintf("export %s=%s", strings.ToUpper(name), value)

It appends to .bash_profile, but bash will read .profile if .bash_profile doesn't exist, and some bash users do that so they've one file read by different shells.  Actually, bash uses the first of these it finds: .bash_profile, .bash_login, .profile, so it might be .bash_login that needs modifying.
zsh reads from .zprofile, but zshConfig is .zshrc;  that's for interactive shells, akin to .bashrc, and the wrong place.
Speaking of different shells, `FOO=bar; export FOO' doesn't do any harm.
I don't see why that function uppercases name each time it's used?

curl -LO https://get.golang.org/$(uname)/go_installer && chmod +x
go_installer && ./go_installer && rm go_installer

When presenting this, you might want to consider wrapping it to multiple physical lines so it doesn't break awkwardly, is more readable, and users paste in the break at a harmful place.  No backslashes are required.
curl -LO https://get.golang.org/$(uname)/go_installer &&
chmod +x go_installer &&
./go_installer &&
rm go_installer

Re-running go_installer upgrades go, so I might like to keep it around?  It's going to stay anyway if it fails.

Closing - getgo is deprecated.  #60951


Remove dependency on nose (no explicit dependency on pytest)

Also, clear up a lot of warning and removing deprecated constructs.
Still remaining:

Failing test methods test_abstract_class in
tests/API1/testparameterizedobject.py and
tests/API0/testparameterizedobject.py with:

=================================== FAILURES ===================================
____________________ TestParameterized.test_abstract_class _____________________

self = <tests.API0.testparameterizedobject.TestParameterized testMethod=test_abstract_class>

    def test_abstract_class(self):
        """Check that a class declared abstract actually shows up as abstract."""
>       self.assertEqual(_TestAbstractPO.abstract,True)
E       AssertionError: False != True

tests/API0/testparameterizedobject.py:117: AssertionError
____________________ TestParameterized.test_abstract_class _____________________

self = <tests.API1.testparameterizedobject.TestParameterized testMethod=test_abstract_class>

    def test_abstract_class(self):
        """Check that a class declared abstract actually shows up as abstract."""
>       self.assertEqual(_TestAbstractPO.abstract, True)
E       AssertionError: False != True

tests/API1/testparameterizedobject.py:134: AssertionError

still unresolved use of deprecated method inspect.getargspec() on the
line 2446 of param/parameterized.py.

What's the motivation to avoid nose?

The motivation is that it's unmaintained and no one should use it at this point. I wish all our projects had switched over to pytest years ago so I'm very happy to see this.

What's the motivation to avoid nose?

The motivation is that it's unmaintained and no one should use it at this point. I wish all our projects had switched over to pytest years ago so I'm very happy to see this.

Not only that, but there are rumours that nose1 will stop working with Python 3.9/3.10, and given there is no support for it, it seems easier just to run away from it.

Failing test methods test_abstract_class in tests/API1/testparameterizedobject.py and tests/API0/testparameterizedobject.py with:
   def test_abstract_class(self):
       """Check that a class declared abstract actually shows up as abstract."""
>       self.assertEqual(_TestAbstractPO.abstract,True)
E       AssertionError: False != True

@mcepl I think you'll either need to rename these "test classes" so that they don't have a leading underscore, or fix the (longstanding) assumption in param's abstract class mechanism that abstract classes don't start with a leading underscore.
From e.g. https://docs.python.org/2/tutorial/classes.html:

Any identifier of the form __spam (at least two leading underscores, at most one trailing underscore) is textually replaced with _classname__spam, where classname is the current class name with leading underscore(s) stripped. This mangling is done without regard to the syntactic position of the identifier, as long as it occurs within the definition of a class.

https://github.com/holoviz/param/blob/301b9617e84f3578364393d5ae30c452d1c19cd0/param/parameterized.py#L2074-L2094
(i.e. param does not do the same thing as python)
If you go the renaming route, the test class names are not very good anyway - going from e.g. _TestClass to SomeTestClass or whatever you like wouldn't lose any meaning...

Like this?

#509 removed nose as a dependency and test runner in favor of pytest. Contrary to this PR, #509 focused on that transition, added an explicit dependency on pytest (using e.g. pytest.mark.skipif(...)) and set up the CI to run.
What is in this PR that was not done in #509:

Suppressing deprecation warnings caused by self.assertRaisesRegexp by using self.assertRaisesRegex instead: this would fail for Python 2.7 so I guess we should wait until we drop it
Turned strings into raw strings to fix them when they contain an invalid escape sequence: flake8 would have spotted those if the warning W605 wasn't skipped (and if flake8 would be allowed to run on the tests folder). I'll use that work in a new PR.

What was done differently:

Renamed classes called TestSomething that were not meant to be test classes (previously decorated with nottest provided by the nose framework). In #509 these classes were not renamed, instead a __test__ class variable was added and set to False. this is a feature of pytest.

Thanks @mcepl for the impetus on this work!

* Renamed classes called `TestSomething` that were not meant to be test classes (previously decorated with `nottest` provided by the nose framework). In [Replace nose with pytest #509](https://github.com/holoviz/param/pull/509) these classes were not renamed, instead a `__test__` class variable was added and set to False. this is a feature of pytest.

It seems to me silly to exchange one hard coded dependency on a non-standard library by the hard coded dependency on another non-standard library, but as you wish. I won't fix these problems when pytest goes the way of dodo in few years.


[Feature Request] Different Overlay settings for Wallpaper mode and Screensaver mode

If I use Aerial as Wallpaper, I don't need to have the clock and Battery indicator visible.

This is fair.
I could quickly bring a disable overlays under companion option. Thoughts ?

Yes that would be a quick solution. But maybe someone still wants to display Weather or Location on Desktop Wallpaper but additionally Battery and Clock with Screensaver.
Personally I can't really use the Wallpaper festure because I have an Intel MacBook which struggles enough to drive my 2 4K Display 😄

@daletman this is fixed in 3.1.4beta1 where there's a new setting top right :

Also if you are running macOS 12 or 13 already, I would recommend you try the latest Companion beta here : https://github.com/AerialScreensaver/AerialCompanion/releases/tag/v1.5.0b2


Update Composite Builds Declared Substitutions Sample to using instead of with

I believe these docs were outdated and the new syntax uses using instead of with

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

@vegaro can you please include Signed-off-by: Author Name<EMAIL_ADDRESS>in your commit message. You can also do this automatically by using the -s flag (i.e., git commit -s). That way the DCO check and pass and I can merge into master.

I've triggered a build for you. Click here to see all failures if there's any.


[🐉SY] UI for editing anime/manga metadata

Describe your suggested feature
Instead of manually making an info.json file in the folder of manga/anime the user wants to edit the metadata of, the user can edit info from inside the app like TachiyomiSY or TachiyomiJ2K
This would be useful since now, Local source anime is a viable options
I've been creating a lot of issues/feature requests the past few days, hope it doesn't bother you much + Ty for the app bro(Much appreciation)
Other details
TachiyomiSY's metadata editing screen

TachiyomiJ2K's metadata editing screen

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I will fill out all of the requested information in this form.

It's been open for two years. Did you forget about this dawg? @jmir1


Create paging for search results (US#58)

From @turpu-rakesh on June 5, 2018 12:41
Acceptance Criteria:
Portal User should be able to do pagination for internal resources and web resources.
#58
Copied from original issue: Microsoft/Access2Justice#136

May require additional testing once search enhancements are completed.


[add-resource] AutoSEO Plugin

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details https://github.com/steamlead/grav-plugin-autoseo
AutoSEO is a plugin for Grav with which you can fill automatically the description and keyword metadata of a page using its content.
It's a plugin I created because I haven't time to specify the metadata of all the pages of my blog manually.
By default, all the pages have the same metadata (as specified in the site settings).
And I don't want that (not very good for SEO).

Added to GPM for next update.


PING returns PONG if no argument is provided, otherwise return a copy of the argument as a bulk.

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
unstable
Minimal reproduce step
ping message
What did you expect to see?
message
What did you see instead?
wrong number of arguments
Anything Else?
redis ping
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

wow, it refreshes my knowledge.😃

I haven't used Kvrocks for a long time. I can only do some boring PR first. 😃 However, there are indeed applications that add parameters to ping, such as celery.


datatables-buttons Styling

Datatables Buttons Styling
Thank you so much for your effort.
Moreover, after I saw your demo application styling from:
http://dt54.yajrabox.com/buttons/eloquent
How can I customise my buttons styling like semantic UI, etc
Is there any way to add class or any other methods to do so?
Thank you so much

Yes there is. See this link for quick ref.
Just browse the main datatables.net documentation to find more about buttons styling. Thanks!

Another link for buttons options

Got it, thanks you so much man:) Have a nice day!


Passing Windows checks for parallel on GH Actions

Added a few commands to the R-CMD-check yaml file which needs to be setup for it to run parallel. Copied the yaml file from here: https://github.com/HenrikBengtsson/parallelly/blob/develop/.github/workflows/R-CMD-check.yaml
Added parallel as a dependency
removed printing when reading inflows

Great work!


Reduce docker image size and bump fluentd version

Reduce docker layer sizes
Combining the various RUN layers for install / compile / delete into one
helps reduce the docker layer size. This change reduces the final size of
the image from 329MB to 184MB.
--
Added tag rewrite plugin to allow better output routing functionality. This can come in handy if there is a need to redirect logs as per namespaces to various papertrail endpoints.

Closing in favor of merging with fluentd-deployment


Textfield: remove bullet

In front of each text (created with the text tool) there is a bullet point. It would be nice, if once could remove it.

Could you elaborate why that point is bothering you? The bullet point should point to the feature the text is describing and should be the point where the text can be dragged/selected from.
What is a bug is that the text should be able to overlap other components and only the point should detect collisions.


More meshes via JSON

In some mods, there are equipment tiers past diamond, eg manyleum from tinkers.
Alternatively, someone might want a non-linear progression with their sieves when making a modpack (like making a copper mesh that has the highest chance of getting copper from gravel etc).
By making meshes controlled by JSON as well, including defining what materials they are made from, it gives pack makers even more control over progression.

I did consider this, but ran into implementation troubles for the models of the mesh. I'll keep it in mind, but it is not a trivial fix.

Would it be possible to use the same system used for the chunks, and just change the color to match the source material?


Fix bug introduced by adding windows auth support

When I added windows auth support I actually broke support for the non-windows auth. I have corrected this.
Sorry I screwed up which field is changed when you check the box.

Thanks. I appreciate you fixing it. I should have caught it myself, but I don't really use it myself anymore, and I got lazy and read the code and tested the new feature without testing the old way still worked. :)


Downloaded feature tables not in gene order

It looks like they are downloading sorted as to the peg.id, or something like that.  For those genomes that do not have RefSeq or an old VBI locus tag, it is impossible to sort them in the correct order.  Can't we please, PLEASE either give a column that lists the gene order, or not use peg.ids that end in peg.1, etc.   Here's how it looks....

Harry, can we make the "default" button work to set the table to the default sort order?
which I believe is accession+start.

this is still issue as far as i remember

This is mainly because of this. In order to utilize streaming inside data api, the query needs to be sorted by unique ID (feature_id in this case) and the feature ID is string and does not reflect natural order.
I cannot think of any workaround now.
@dmachi do you have any idea?

@dmachi
Any solution or action here? If not, please comment as such and close the ticket.

As Harry said, this is because solr requires sorting on unique field in order to do the streaming.  I don't currently have another solution.

I think that we need to provide a separate column that gives the number of
the gene.  RAST does this, primarily to allow sorting.  The PATRIC locus
tag makes it extremely difficult to sort.  Yes, you can use the stop codon
location, but if there are a number of contigs, users will have to realize
this and sort accordingly.  It would be so much easier if we just had a
gene order column.
Rebecca
On Thu, Dec 7, 2017 at 12:23 PM, Dustin Machi<EMAIL_ADDRESS>wrote:

As Harry said, this is because solr requires sorting on unique field in
order to do the streaming. I don't currently have another solution.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PATRIC3/patric3_website/issues/490#issuecomment-350036487,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK8ZdMOTOIFoDrnEb7GDgY3VzzKrC4lpks5s-B8HgaJpZM4GHNC9
.[image: Web Bug from
https://github.com/notifications/beacon/AK8ZdP6Bjutny8AlyWih1d9leHx_63N5ks5s-B8HgaJpZM4GHNC9.gif]

From the version of 6.x,  solr has a new feature, named,  streaming expression.
https://lucene.apache.org/solr/guide/6_6/streaming-expressions.html
I think this can be a solution for this issue. I am planning to work on this after Dec release.

@ARWattam this is not a fix per se, but the user can sort the Excel table on "Start" to get the correct syntenic order.

No you can't!!!!!!!!!!  Just try sorting the peg ids.  You have to manually
go in and put them in the proper order.  It is one of the most frustrating
things that I have to do.
On Fri, Jul 13, 2018 at 4:00 PM, rkenyon<EMAIL_ADDRESS>wrote:

@ARWattam https://github.com/ARWattam this is not a fix per se, but the
user can sort the Excel table on "Start" to get the correct syntenic order.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PATRIC3/patric3_website/issues/490#issuecomment-404938452,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK8ZdHp-2KX9RHt-48b-WTxQ8eaFmgH5ks5uGPxVgaJpZM4GHNC9
.[image: Web Bug from
https://github.com/notifications/beacon/AK8ZdO3n-FpB2PwCtA-qnS_vumfsn_UVks5uGPxVgaJpZM4GHNC9.gif]

All PATRIC tables on the website are by default sorted by accession and then start site.
And I agree that, by default, the download table should keep the same sort order as that
in the feature table it is downloaded from.
Harry, is this straight forward or are there any technical challenges?
-Maulik

On Jul 13, 2018, at 3:25 PM, rkenyon<EMAIL_ADDRESS>wrote:
Sort first by strand (+, -) then by Start site, not PegID. A clunky
workaround, but should work.
On Fri, Jul 13, 2018 at 4:04 PM ARWattam<EMAIL_ADDRESS>wrote:

No you can't!!!!!!!!!! Just try sorting the peg ids. You have to manually
go in and put them in the proper order. It is one of the most frustrating
things that I have to do.
On Fri, Jul 13, 2018 at 4:00 PM, rkenyon<EMAIL_ADDRESS>wrote:

@ARWattam https://github.com/ARWattam this is not a fix per se, but
the
user can sort the Excel table on "Start" to get the correct syntenic
order.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/PATRIC3/patric3_website/issues/490#issuecomment-404938452
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AK8ZdHp-2KX9RHt-48b-WTxQ8eaFmgH5ks5uGPxVgaJpZM4GHNC9
.[image: Web Bug from

https://github.com/notifications/beacon/AK8ZdO3n-FpB2PwCtA-qnS_vumfsn_UVks5uGPxVgaJpZM4GHNC9.gif
]

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PATRIC3/patric3_website/issues/490#issuecomment-404939333,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADCnWlIfTvpiLMx2ogPoYg3eB0OJfFtyks5uGP0-gaJpZM4GHNC9
.[image: Web Bug from
https://github.com/notifications/beacon/ADCnWullBWsgCo3IEpV3s4RbfihXlNFMks5uGP0-gaJpZM4GHNC9.gif]

--
Note: My email has changed to<EMAIL_ADDRESS>Ron Kenyon, Project Director
Biocomplexity Institute of Virginia Tech
PATRIC Project Manager www.patricbrc.org
<EMAIL_ADDRESS>—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/PATRIC3/patric3_website/issues/490#issuecomment-404944234, or mute the thread https://github.com/notifications/unsubscribe-auth/ABLd73UcJKaa8NvggLZEYb930e_FGrA9ks5uGQI3gaJpZM4GHNC9.

No. Check the original reason i described above.
I checked streaming expression of solr 6, but this works only on cloud mode. So, we can't use it.

First line of the doc,
"Streaming Expressions provide a simple yet powerful stream processing language for Solr Cloud."


No Default Probe on v2 gateways?

From my experiments, it seems there is no default health probe when using a v2 App Gateway SKU (I was using the WAF v2 SKU).
This is a huge difference in behaviour between the v1 and v2 SKUs. Yet it is not documented here, nor is it mentioned on the Overview doc page (https://docs.microsoft.com/en-us/azure/application-gateway/overview) where the v2 SKU is described, nor on the Autoscaling and zone-redundancy page (https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-autoscaling-zone-redundant).
Is this by design? Or is it a feature gap that will be addressed before the v2 SKU becomes Generally Available? Either way, the docs (this page, and the ones listed above) should mention it.

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

ID: 05a592c5-5d16-e44d-d6c7-5d0b2c0833c4
Version Independent ID: dd9d601c-5d4b-f1bc-01df-7e1d6b57d0da
Content: Health monitoring overview for Azure Application Gateway
Content Source: articles/application-gateway/application-gateway-probe-overview.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

@jtuliani Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Hi,
It has now been two months. Any update? :-)
Regards peter

The PG confirmed to me separately that yes, there's no default probes on App GW v2 and that yes, they will fix that before GA.

Thanks @jtuliani

#please-close


Profiler is not reset after calling trainer.tune() with auto_lr_find=True

🐛 Bug
When using SimpleProfiler together with the Learning Rate Finder, only the timings from the call to train within the Learning Rate Finder are logged. For the actual training, no timings are recorded.
Please reproduce using [the BoringModel and post here]
https://colab.research.google.com/drive/1FUOW-A7gJk1fuR7ODQdMSCQkrkgamtru?usp=sharing
Expected behavior
Profiler is reset after trainer.tune() is called OR the profiler is not active at all during tuning.
Environment

CUDA:

GPU:

Tesla T4

available:         True
version:           10.1

Packages:

numpy:             1.18.5
pyTorch_debug:     False
pyTorch_version:   1.6.0+cu101
pytorch-lightning: 0.10.0
tqdm:              4.41.1

System:

OS:                Linux
architecture:

64bit

processor:         x86_64
python:            3.6.9
version:           #1 SMP Thu Jul 23 08:00:38 PDT 2020

Additional context
Beside this issue, I'm wondering if calling the LR Finder manually like it's suggested here (lr_finder = trainer.tuner.lr_find(model)) might lead to some problems compared to trainer.tune(). In the Trainer class there are several things happening before lr_find is called. However, as far as I know the first method is necessary to obtain e.g. the plot.

Can confirm I can reproduce this, just need some time to fix :) Here is the script that I've built out of the provided colab:
import os

from torch.utils.data import DataLoader, Dataset
import pytorch_lightning as pl
from pytorch_lightning.profiler import SimpleProfiler
import os

from torch.utils.data import DataLoader, Dataset

import pytorch_lightning as pl
from pytorch_lightning.profiler import SimpleProfiler

tmpdir = os.getcwd()

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

import torch
from pytorch_lightning import LightningModule

class BoringModel(LightningModule):

    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)
        self.lr = 0.1

    def forward(self, x):
        return self.layer(x)

    def loss(self, batch, prediction):
        # An arbitrary loss to have a loss that updates the model weights during `Trainer.fit` calls
        return torch.nn.functional.mse_loss(prediction, torch.ones_like(prediction))

    def training_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        return {"loss": loss}

    def training_step_end(self, training_step_outputs):
        return training_step_outputs

    def training_epoch_end(self, outputs) -> None:
        torch.stack([x["loss"] for x in outputs]).mean()

    def validation_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        return {"x": loss}

    def validation_epoch_end(self, outputs) -> None:
        torch.stack([x['x'] for x in outputs]).mean()

    def test_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        self.log('fake_test_acc', loss)
        return {"y": loss}

    def test_epoch_end(self, outputs) -> None:
        torch.stack([x["y"] for x in outputs]).mean()

    def configure_optimizers(self):
        optimizer = torch.optim.SGD(self.layer.parameters(), lr=self.lr)
        lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=1)
        return [optimizer], [lr_scheduler]

def test_x(tmpdir):
    # init model
    num_samples = 10000
    model = BoringModel()
    train = RandomDataset(32, num_samples)
    train = DataLoader(train, batch_size=32)
    val = RandomDataset(32, num_samples)
    val = DataLoader(val, batch_size=32)
    test = RandomDataset(32, num_samples)
    test = DataLoader(test, batch_size=32)
    # Initialize a trainer
    trainer = pl.Trainer(
        max_epochs=1,
        progress_bar_refresh_rate=1,
        auto_lr_find=True,
        profiler=SimpleProfiler()
    )

    # determine best learning rate
    trainer.tune(model, train, val)

    # Train the model ⚡
    trainer.fit(model, train, val)

test_x(tmpdir)

@SkafteNicki mind taking a look?

Reopening this issue for me to check if this is still an issue.

This seems to be fixed. I used the below updated script based on @SeanNaren's and compared the output from the profiler.
The two outputs, for tuning and for the real fit, are different and seem to contain the correct counts and timings.
Note that the profiler always records across several stages of the trainer. Which means the second output contains both the LR finder calls and the actual fit. And if there were .test() etc. it would also contain these. But if I understand correctly, this is expected and wasn't the concern of this issue.

import torch
from torch.utils.data import DataLoader, Dataset

from lightning import LightningModule, Trainer
from lightning.pytorch.profilers import SimpleProfiler
from lightning.pytorch.tuner import Tuner

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class BoringModel(LightningModule):

    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)
        self.lr = 0.1

    def forward(self, x):
        return self.layer(x)

    def loss(self, batch, prediction):
        # An arbitrary loss to have a loss that updates the model weights during `Trainer.fit` calls
        return torch.nn.functional.mse_loss(prediction, torch.ones_like(prediction))

    def training_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        return {"loss": loss}

    def training_step_end(self, training_step_outputs):
        return training_step_outputs

    def on_train_epoch_end(self) -> None:
        # torch.stack([x["loss"] for x in outputs]).mean()
        pass

    def validation_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        return {"x": loss}

    def on_validation_epoch_end(self) -> None:
        pass

    def test_step(self, batch, batch_idx):
        output = self.layer(batch)
        loss = self.loss(batch, output)
        self.log('fake_test_acc', loss)
        return {"y": loss}

    def configure_optimizers(self):
        optimizer = torch.optim.SGD(self.layer.parameters(), lr=self.lr)
        lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=1)
        return [optimizer], [lr_scheduler]

def run():
    # init model
    num_samples = 10000
    model = BoringModel()
    train = RandomDataset(32, num_samples)
    train = DataLoader(train, batch_size=32)
    val = RandomDataset(32, num_samples)
    val = DataLoader(val, batch_size=32)
    test = RandomDataset(32, num_samples)
    test = DataLoader(test, batch_size=32)
    # Initialize a trainer
    trainer = Trainer(
        max_epochs=1,
        # progress_bar_refresh_rate=1,
        # auto_lr_find=True,
        profiler=SimpleProfiler()
    )

    tuner = Tuner(trainer)
    # determine best learning rate
    tuner.lr_find(model, train, val)

    # Train the model ⚡
    trainer.fit(model, train, val)

run()


Cross Contamination X

The current program was cross-contaminating the x where it was possible for entries to be in both the training and testing set.
Need a create unique variables for each X training and testing set.

fixed in commit 1d8290d4420aa0fa30b7f4ffe634bbe94d62e229


Implement TableOfContent #67 with aside toc

Hello I implemented multiple tocMode=navbar|page|aside (as  enhancement #67).
I also added documentation and samples in /exempleSite/content/cont/toc
Can you add it to your very nice theme ?

up
can you finish this pull request plz

@famaridon great work! Looking also forward to have this merged into the main theme. Any blockers on that, @matcornic?

@matcornic This is a cool feature! Are there any updates?

up

one more up

+1

+1
@famaridon Do you have a screenshot or an example website of this feature?

Hi @RobFog,
you can find a sample https://process-sdk-draft.doc.moovapps.com/rest/

Thank you very much!

Is their any problem with the merge request ?

Is their any problem with the merge request ?

Hi @famaridon, been a bit busy with changing jobs and taking some time off. I'll get to this when possible. In the meantime I do notice that it has a conflict that'll need resolving before rebase & merge.
Thanks for the contribution

Ok I understand :)
I have tried to merge it on my fork.
Their is a problem with css. I can try to work on it.
Their is an other problem with scrollspy. I think it's better to remove this feature because it's not mandatory and it can be hard to maintain.
Else all works well.

Thanks @famaridon, this looks pretty slick and I like the idea.
Sadly there are some issues at least with the page on your example page.

using Chrome 85, the page looks broken
using FF 81, the page looks pretty good, but the toc is running vertically off the visible area and there is no scroll bar
long titles are wrapping around into the next line, making the toc hard to read and difficult to discern the structure of the document

I'm sorry but I can't work on it I'm currently too busy


Canvas-lms returning error using kitematic for docker

Expected behavior
Docker container for Canvas-lms (Instructure) would be created
Actual behavior
message returned: (HTTP code 404) unexpected - {"message":"manifest for instructure/canvas-lms:latest not found"}
Information about the Issue
Trying to create a container using Kitematic
Steps to reproduce the behavior

... search for camvas lms in kitematic
...click the create button

Go to https://hub.docker.com/r/instructure/canvas-lms/tags/
Observe no latest tags were created for that image
Select a different tag in Kitematic (if one exists)
🎉  enjoy container running.

Ideally you open an issue with the repo owner to let them know how frustrating it is that they don't have a latest image tagged


Fix typo

What does this PR do?

Checklist

[ ] This is an enhancement of existing features, or a new feature in existing plugins

[ ] I have updated CHANGELOG.asciidoc
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Added an API method or config option? Document in which version this will be introduced
[ ] I have made corresponding changes to the documentation

[ ] This is a bugfix

[ ] I have updated CHANGELOG.asciidoc
[ ] I have added tests that would fail without this fix

[ ] This is a new plugin

[ ] I have updated CHANGELOG.asciidoc
[ ] My code follows the style guidelines of this project
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have updated supported-technologies.asciidoc
[ ] Added an API method or config option? Document in which version this will be introduced
[ ] Added an instrumentation plugin? Describe how you made sure that old, non-supported versions are not instrumented by accident.

[x] This is something else

[ ] I have updated CHANGELOG.asciidoc

@JonasKunz This is an individual contribution, but the CLA check has been green regardless of the email used, probably because it only checks the username? Anyway, I've now also signed the ICLA.

run elasticsearch-ci/docs


Branch synchronization: mrtk_development --> feature/interactive_element

This is a pull request initiated by an automated process to keep mrtk_development and feature/interactive_element in sync

/azp run mrtk_pr_2019

/azp run mrtk_pr_2019

/azp run mrtk_pr_2019

/azp run mrtk_pr_2019


syntax highlighting of float literals in scientific notation

These float literals aren't being correctly syntax-highlighted:
1.23e2
1.23e02
1.23e-2
1.23e+2
1.23e-02
1.23e+02
1.23E02

Although harec doesn't currently (as of this moment) support the capital "E", I got a reply about it on IRC and I think a patch is forthcoming.

Hi, what would be correct to highlight? There is added match that finds and sets color for highlighting floats with small and big letter E
# float
- match: '\b(\+|-)?[0-9]+\.[0-9]+((e|E)?(\+|-)?[0-9]+)(f32|f64)?'
  scope: constant.numeric.hare
# float second
- match: '\b(\+|-)?[0-9]((e|E)(\+|-)?[0-9]+)?(f32|f64)?\b'
  scope: constant.numeric.hare

Hi. I'd expect all parts of the numeric literal (including "e", "E", any plus or minus signs, and suffixes) to all be rendered the same color.
How could I test that snippet you posted here?

What the version of sublime do you use? All of those are highlighted as you described when I run Sublime. Can you add screenshot?

Thanks, for screenshot I cant reproduce this issue. I will try to find what may cause that.

Found it need to add new tag and update package repository

Seems fixed

Thanks! I opened Sublime, went to "Preferences --> Package Control", and chose "Upgrade Package". It worked for a moment, then the display updated (with number literals now syntax highlighted correctly), and a pop-up dialog said there are no packages ready for upgrade.
So, looks good now!


stream_color: Increase contrast of stream icon color and background.

discussion: https://chat.zulip.org/#narrow/stream/101-design/topic/UI.20redesign.3A.20recipient.20bar.20colors
Relevant issues: #25247 [Suggestion B]

before
after

Looking at the screenshots, we might want to skip the dark theme color adjustments.

Yeah, the light theme ones look good to me, but I'm not so sure about dark theme either. @terpimost what do you think? Anyway, we can try on CZO if there's interest.

Updated to only include light theme changes.

Merged, thanks @amanagr!

Yeah, the light theme ones look good to me, but I'm not so sure about dark theme either. @terpimost what do you think? Anyway, we can try on CZO if there's interest.

Yes, intended change was only for Light mode


[FEAT] Discord Bot for playing AI Dungeon 2 together.

🚀 Feature Request
What problem is this feature looking to solve?
As a group, you can play AIDungeon together in a Discord Channel
Describe the solution you'd like
Ability to run AIDungeon as a Discord Bot
Describe alternatives you've considered
I've already written a pexpect wrapper, though my code is terrible as I'm more of a C programmer than a Python programmer. See a diff here of my proposed Discord Bot. (I didn't want to make a pull request because I honestly don't think it's worthy of being merged in yet).
https://github.com/AIDungeon/AIDungeon/compare/develop...ethanspitz:develop
Additional context
Right now the bot I wrote simply uses pexpect to wait for user input to be needed. When new messages come out after user input, it pipes it to the discord channel #ai-adventure (I should probably make that configurable). Right now, it takes anything after "!ai " and feeds that into AI Dungeon 2.
As I've personally had stability issues, I have it so it auto saves after every command, can detect crashes, auto recover, and print the save code to the room in order to allow anyone to reload the game where it crashed.
Ultimately, I'm curious if there are others interested in using this. I'm open to suggestions on how to best manage this.

okay that's a neat idea, I actually was wanting to do something like this with some friends online, though I was going to run the program and then copy and paste the responses the AI gave to them so they could decide what to do

I also really want this in my discord channel!

I made a bot that allows you to play AI Dungeon with your friends.
You can create a session and then add friends to it to play.
Usage:
p!play - Start a new session
p!add @user - Add a friend to play with
p!start - Chose story mode
Invite:
https://discordapp.com/oauth2/authorize?scope=bot&client_id=677143240356397067&permissions=387136

Invite:
https://discordapp.com/oauth2/authorize?scope=bot&client_id=677143240356397067&permissions=387136
@ethanspitz @RyushoYosei @thrik @berries-boop

@kittenswolf Do you have the source for your bot on Github somewhere? I've got a bug report and some feature requests.

@TheFiZi While the code isn't public yet (I want to clean it up before releasing), you can submit issues/feature requests here: https://github.com/kittenswolf/aid-issues

Is this still up?

It's down and the creator won't release the sauce :/

Sorry for the delay. The source is now up:
https://github.com/kittenswolf/aid-bot

Thanks, @kittenswolf. No worries. I'm pressed for time too, but I'll let you know if I tinker and get it working. I've got a decent small Discord community of gamers, so I'm definitely interested in it.

The bot is offline


Fix RowsIndex.query

Found this bug while adding tests

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Update OCM Controllers architecture doc

Description
The https://github.com/open-component-model/ocm-controller/blob/main/docs/architecture.md needs to be updated as several of the controllers have been removed and some CRDs adopted.
Done Criteria

[ ] Internal technical Documentation created/updated
[ ] Enduser Documentation updated (if applicable

@Skarlso, no more web, but documentation :-)

Doing this as part of https://github.com/open-component-model/ocm-project/issues/169