jax.jit(ravel_pytree) broken by omnistaging

Dear JAX team,
I've found that omnistaging breaks jit'ing of jax.flatten_util.ravel_pytree. Without jit, ravel_pytree it is 3-5 times slower.
Background: I am calling it inside a wrapper around scipy LBFGS to be able to optimize on a tuple of arguments and automate the flattening/unflattening of multiple arguments. I am calling ravel_pytree and the corresponding unravel on each iteration.
I assume the performance influence overall is not large, but I wondered whether the error was intentional? Mainly because the unravel function can be jit'ed.
Repro:
import jax
from jax.flatten_util import ravel_pytree
ravel_pytree_jit = jax.jit(ravel_pytree)

ravel_pytree(1.)
ravel_pytree_jit(1.)  # with omnistaging: TypeError: <class 'function'> is not a valid JAX type

%timeit ravel_pytree(1.)[0].block_until_ready() # 1 ms (with/without omnistaging)
%timeit ravel_pytree_jit(1.)[0].block_until_ready() # 200-300 µs (without omnistaging)

I found a solution for my usecase: since the tree structure does not change, I can jit on the returned raveled tree output only during the optimizaton:
ravel_pytree_jit = jax.jit(lambda tree: ravel_pytree(tree)[0])

I can execute the full ravel_pytree once at the initialization to obtain the unravel function, but from there I only ever need the raveled current tree from ravel_pytree.

Thanks for raising this!
I hadn't thought of this case, but it was in a way intentional: I wanted to tighten up the constraints that jitted functions must return pytrees of valid jax types (i.e. pytrees of arrays), and not other Python objects. It'd be possible to allow arbitrary Python objects again, but it's a recipe for trouble, because those Python objects could be smuggling tracers, and if so those'll lead to very confusing downstream errors.
Hmm...

Thank you for your thoughts @mattjj!
FWIW, I think if I had noticed that the returned unravel function itself is the problem (rather than some very internal JAX error), I would not have been confused. In this context it is also not surprising at all that unravel can be jit'ed, as it only returns a pytree.
As my specific problem is solved and the general rule of "jit only for pytree outputs" is clear for me, I'll close.


body macro issues

We probably shouldn't default to having the column vars in the body macro be special. I gather there is a use case for this, but i haven't seen it yet.
Apparently there is a thread safety issue with the body macro. Not sure if that's using different instances of body or the same instance in multiple threads. Either way, this should probably be fixed.
Do we really want to call this "body"? What about something like "rows"? I'm OK with shadowing CL names but &body body is such a common idiom in macros that I'm reluctant to have such a prominent macro be named "body".

Agreed.
There is, and after thinking about it, I know how to properly handle it. You see, it boils down to the header and indexes of the columns. Indexes are cached in let above the lambda to skip hash table lookups (and generic function calls). However, this is kinda stupid, because vellum:body is used mostly in transform so instead of let over lambda i can simply turn it into lambda over lambda which would ensure that closure instance actually used in the transform is unique. The drawback of doing it this way is that It would force user to write (funcall (body (...) ...) (or something in that vein) when using cl-ds.alg:group-by or cl-ds.alg:on-each but I guess it is worth it.
I am bad at naming things. Better name is welcome. "Rows" does not work for me, "columns" or "bind-row" sound better.

Ok, so I implemented the new design of the body macro and renamed it into bind-row. The new macro can, technically, still be used in an unsafe manner but it is by far more difficult. Sadly, this complicated postmodern example in the readme significantly, but I am convinced that it is worth it (especially since I actually already have (vellum:copy-from :postmodern ...) in the integration module (which needs to be moved out of the vellum system)). As for the CL-DS, I plan to slightly redesign how the function is accepted and that would make changes I made at least slightly less annoying.
I did not introduce bind-row*/bind-rowv or anything like that. Perhaps in the future, I will simply make lambda form that bind-row expands into return secondary value (or something like that). I don't know if this is a good idea yet, but when I started this project, I decided to favor multipurpose tools instead of specialized functions.
Anyway, thanks for bringing out this issue.

The new macro seems to be working. You'll have to explain to me the remaining unsafe issue some other time but I'm closing this for now. Thanks!

@slyrus I can explain this right away. So now, you are supposed to occasionally call BIND-ROW-CLOSURE to extract inner function. All of the vellum functions handle this so when you are passing bind-row into them, it is a guarantee that they will work on the separate instance of the function closed over the column-name -> column-position mapping. However, when used outside of the vellum, you are forced to extract BIND-ROW-CLOSURE manually. This is a problem because then you can store it and occasionally pass it to a wrong function call.
I think that this is relatively easy to solve, though. I can simply change BIND-ROW to expand into form constructing funcallable object. Directly calling this object will result in a slow, unoptimized, but safe behavior while vellum functions will continue to use the fast route with BIND-ROW-CLOSURE. This will also remove the need for ugliness around postmodern example.


Downloads are left around when moving them across drives

If the drive is full, this will actually cause the application to enter an infinite loop.
We need to:

[ ] Make a timeout on the loop
[x] Detect if the destination is a different drive to delete successfully copied files

We don't detect.  If a file create event happens and we're going to move it, then we check if the file still exists (and delete it) after trying to move it.  If the file was moved, it won't be there to begin with.  If the file was copied, then it will be removed.

Test Results

Test got through two resourcepacks (with +s in them) and one mod (skylorlib.jar) and then remained in an infinite loop.
The files were copied over, as expected.
The copied files were not deleted.
Many more jars that were not copied over remained in the Downloads directory

So the real issue is with Firefox's implementation.  I sloppily added some code to make sure everything got where it is supposed to, but then Firefox leaves around 0KB files in the downloads folder (usually one or two depending on any file events that come in after I've closed the processing loop and finished cleaning up 0KBs).
As it stands, the fix still has stragglers, but I think I should try a short delay between the main action and the cleanup loop.


Converting PDF Validation Form to Django

Converting PDF Validation Form to Django
Additions

Converting PDF Validation Form to Django

Testing

Visit  http://localhost:8000/the-bureau/leadership-calendar/.

Review

@anselmbradford
@KimberlyMunoz
@jimmynotjim
@kave
@kurtw

Screenshots
Desktop:

Notes
The server side validation is currently broken and I'm in the process of fixing it.

This conflicts with the implementation of #1314. Should have a developer meeting about how we integrate/choose.

I'm closing this and will integrate into Kurts PR


Prometheus ServiceMonitor

The chart is adding label to ServiceMonitor
release: [release-name]
there is no way to add an additional label.
My kube-prometheus-stack setup requires a label on the ServiceMonitor
release: kube-prom-stack
Would it be possible for the chart to add an additionalLabels:  feature ?

Sure. Can you create a PR?

i am afraid currently my skillset doesn't include yet templating with helm

Hi, please don't get me wrong - i really appreciate the effort and time you guys put in helping the dev community.
but this PR doesn't solve the previously described issue: the issue is on the ServiceMonitor not on the Deployment.
While this could help somebody else it doesn't solve the requirement for kube-prometheus-stack multi release installs: to differentiate multiple prometheus installs running on the same cluster. The differentiation is done on the label release: exactly as follows:
A) release: kube-prom-stack
B) release: kube-prom-stack2
Bitnami charts and others enable usually on the ServiceMonitor an additionalLabels property
Example:
https://artifacthub.io/packages/helm/bitnami/redis?modal=template&template=servicemonitor.yaml - Line 13
https://artifacthub.io/packages/helm/bitnami/redis?modal=values&path=metrics.serviceMonitor.additionalLabels

Yeah ok, reopening. Just need to do the same thing for service monitor.

Ok - see https://github.com/docker-mailserver/docker-mailserver-helm/pull/110. Hopefully that does the trick.


Add a unit testing framework for direct translations

The idea is to pull existing example Apidoc definitions (though we can also
manually add service.json files to the directory too) and map those to
an expected swagger.json. If either changes, we simply edit the JSON on
either end and the test doesn't change.
Please note that the existing swagger.json examples are not valid Swagger
2.0 documents; I will follow up this commit with more commits to address
those problems.

lgtm


docs: add empty support channel section to help page

PR updates the /help page w/ 3 main parts:

Main Support Channels: Added key channels like Telegram (Near Dev), Discord, Zulip, X, and Dev Hub.
Telegram Folder (21 chats): Grouped 21 NEAR-related TG chats into 1 table w/ a folder link.
NearBuilders Groups (15 chats): Picked 15 unique groups from the 31 on nearbuilders.com. where 14 were already in the TG folder and 2 were dropped:
https://t.me/near_sdk_js: links to a no longer exists personal acct.
https://t.me/+lf7vb2MAEgdjOGQx: bio links to a sus/external group, now expired.

Live preview: New Help Page.
Fixes #2328

@race-of-sloths

@goffxnca Thank you for your contribution! Your pull request is now a part of the Race of Sloths!
New Sloth joined the Race! Welcome!

Current status: waiting for scoring
We're waiting for maintainer to score this pull request with @race-of-sloths score [0,1,2,3,5,8,13] command. Alternatively, autoscoring [1,2] will be applied for this pull request
What is the Race of Sloths

Race of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow
For contributors:

Tag @race-of-sloths inside your pull requests
Wait for the maintainer to review and score your pull request
Check out your position in the Leaderboard
Keep weekly and monthly streaks to reach higher positions
Boast your contributions with a dynamic picture of your Profile

For maintainers:

Score pull requests that participate in the Race of Sloths and receive a reward
Engage contributors with fair scoring and fast responses so they keep their streaks
Promote the Race to the point where the Race starts promoting you
Grow the community of your contributors

Feel free to check our website for additional details!

Bot commands

For contributors

Include a PR: @race-of-sloths include to enter the Race with your PR

For maintainers:

Invite contributor @race-of-sloths invite to invite the contributor to participate in a race or include it, if it's already a runner.
Assign points: @race-of-sloths score [1/2/3/5/8/13] to award points based on your assessment.
Reject this PR: @race-of-sloths exclude to send this PR back to the drawing board.
Exclude repo: @race-of-sloths pause to stop bot activity in this repo until @race-of-sloths unpause command is called

🥁  Score it!
@bucanero, please score the PR with @race-of-sloths score [1/2/3/5/8/13]. The contributor deserves it.
If no scoring is provided within 24 hours, this PR will be scored as 1 🦥

@race-of-sloths score 3


Elevation profile calculation not refreshed for sub-track (regression after latest fixes)

Hello,
after latest fixes (probably yesterday's fix https://github.com/gpxstudio/gpxstudio.github.io/commit/739dd1c6b3564eb0ed23094ecda2256a691c9398) does not update an elevation calculation for a sub-track .. Please see attached screenshot .. distance calculation (green marker) is updating OK
Thank you very much for your support and for GPX studio !!
cheers, ~dan

Thanks for reporting the issue, it's fixed!


Mac: "Pupdate is damaged and can't be opened"

Describe the bug
pupdate will not run on Apple silicone running newest MacOS Sonoma 14.4.1
To Reproduce
Steps to reproduce the behavior:

Download newest 3.10.2 version for Mac ("pupdate_mac.zip"), unzip, and move to ROOT of SD card
Run pupdate (since it's an unknown developer you might have to go to Settings>Security to allow it to run, which I did!)
See ""Pupdate" is damaged and can't be opened"" error:

Expected behavior
I expect pupdate to run on my mac
Screenshots
(above)
Desktop (please complete the following information):

OS: MacOS Sonoma
14.4.1

Contents of settings file
That file isn't created since pupdate won't run, period.

did you try just re-downloading the release from github? it sounds like maybe the file is just corrupted

bump

This is most likely due to the security quarantine that is default on osx. It is easy to bypass and fix.
Workaround
To bypass the security quarantine on macOS, use the xattr command to remove the quarantine attribute from the downloaded file. Here's how:

Open Terminal.

Navigate to the directory containing the file:
cd /Volumes/SDCARDDIR

Remove the quarantine attribute:
xattr -d com.apple.quarantine ./pupdate

Run the updater:
./pupdate

After removing the quarantine attribute, you should be able to run the updater without encountering the "damaged and can't be opened" error.

Late reply to some of these posts I know, but thanks for the replies from all. I simply ran Parallels Desktop with Windows 11 on my Mac and it did everything I needed - haven't tried it on Mac again.

Adding on that after successfully running the command to remove pupdate from quarantine, I also had to run ./pupdate with sudo. Incase any future folks get stuck at upgrading with macos


Fix Yjs docs params not rendering + document new format query param for Get Storage

The parameters were one level too high and subsequently don't show up in the docs. This PR fixes that and also fixes the response of the PUT call which just returns status.

I've fixed the issues here, added documentation for the new ?format=json flag (for GET /rooms/:roomId/storage) and reordered some fields (basically moving "parameters" and "description" fields upward, so they're easier to edit). I think this is now okay to merge.

Thanks for the extra fixes and new docs @nvie, looks good!


Ensure template literals are converted to + instead of concat()

Using loose of template literals transformation from Babel
Description
Using loose of template literals transformation from Babel
Motivation and Context
Using loose template literals transformation to improve performance. The default concat() invocations are adding overhead.
How Has This Been Tested?
By running all the tests
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] I have run the Sandbox successfully.
[x] All new and existing tests passed.

@owenleej please take a look this one removes the concat() thinghy for template literals.

Sweet thanks Artur!

15% faster and 48bytes smaller!


Where are the pose images?

Hi,
I can see that you need to load pose images "_pose.jpg" to train stage 2, but I can't find them in the prepared dataset you provided.
https://github.com/tencent-ailab/PCDMs/blob/8f6fc8195a75717fc9302f5aefee5d278a162dff/src/dataset/stage2_dataset.py#L99
Would you like to upload them to Google Drive later or do we have to generate them from the normalized_pose_txt ourselves?
Extra question: Why are we using pose "images" in stage 2 instead of coordinates as we did in stage 1? I understand that this is borrowed from ControlNet, but I would like to know the motivation behind it.
Thanks

Hi, I can see that you need to load pose images "_pose.jpg" to train stage 2, but I can't find them in the prepared dataset you provided.
https://github.com/tencent-ailab/PCDMs/blob/8f6fc8195a75717fc9302f5aefee5d278a162dff/src/dataset/stage2_dataset.py#L99
Would you like to upload them to Google Drive later or do we have to generate them from the normalized_pose_txt ourselves?
Extra question: Why are we using pose "images" in stage 2 instead of coordinates as we did in stage 1? I understand that this is borrowed from ControlNet, but I would like to know the motivation behind it.
Thanks

Hi，have you solve this problem? I have same question too.

Hi, I can see that you need to load pose images "_pose.jpg" to train stage 2, but I can't find them in the prepared dataset you provided.
https://github.com/tencent-ailab/PCDMs/blob/8f6fc8195a75717fc9302f5aefee5d278a162dff/src/dataset/stage2_dataset.py#L99
Would you like to upload them to Google Drive later or do we have to generate them from the normalized_pose_txt ourselves?
Extra question: Why are we using pose "images" in stage 2 instead of coordinates as we did in stage 1? I understand that this is borrowed from ControlNet, but I would like to know the motivation behind it.
Thanks

Hi，have you solve this problem? I have same question too.

Unfortunately, I have never got any reply from them.
I guess nobody is maintaining this repo anymore.

Hi, I can see that you need to load pose images "_pose.jpg" to train stage 2, but I can't find them in the prepared dataset you provided.您好，我可以看到您需要加载姿势图像“_pose.jpg”来训练第 2 阶段，但我在您提供的准备好的数据集中找不到它们。
https://github.com/tencent-ailab/PCDMs/blob/8f6fc8195a75717fc9302f5aefee5d278a162dff/src/dataset/stage2_dataset.py#L99
Would you like to upload them to Google Drive later or do we have to generate them from the normalized_pose_txt ourselves?您想稍后将它们上传到 Google 云端硬盘还是我们必须自己从 normalized_pose_txt 生成它们？
Extra question: Why are we using pose "images" in stage 2 instead of coordinates as we did in stage 1? I understand that this is borrowed from ControlNet, but I would like to know the motivation behind it.额外问题：为什么我们在阶段 2 中使用姿势“图像”而不是像阶段 1 中那样使用坐标？我知道这是从 ControlNet 借用的，但我想知道其背后的动机。
Thanks 谢谢

Hi，have you solve this problem? I have same question too.你好，这个问题你解决了吗？我也有同样的问题。

Unfortunately, I have never got any reply from them.不幸的是，我从未收到他们的任何回复。 I guess nobody is maintaining this repo anymore.我想没有人再维护这个仓库了。

Hello, I encountered the same issue. How did you finally resolve this problem?

Sorry for the late reply! You can directly use the OpenPose implementation from the repository https://github.com/huggingface/controlnet_aux to generate poses. I will also upload a set of pre-generated pose images in the near future.


there is no multi instance launching

https://github.com/pizzaboxer/bloxstrap?tab=readme-ov-file#frequently-asked-questions


Compress assets in APKs

This patch moves us back to compressing assets in APKs. We lost compression
when we updated Chromium recently. This brings typical Sky APKs down to 7.2MB.

Lgtm.  Fixes https://github.com/domokit/sky_engine/issues/134


zigbee2mqtt: 1.28.0 -> 1.28.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Koenkk/zigbee2mqtt/releases.
meta.description for zigbee2mqtt is: "Zigbee to MQTT bridge using zigbee-shepherd"
meta.homepage for zigbee2mqtt is: "https://github.com/Koenkk/zigbee2mqtt"
meta.changelog for zigbee2mqtt is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 1.28.1 with grep in /nix/store/x3xlmh4dmkcibly2w6h5liampxmqgi99-zigbee2mqtt-1.28.1
found 1.28.1 in filename of file in /nix/store/x3xlmh4dmkcibly2w6h5liampxmqgi99-zigbee2mqtt-1.28.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
zigbee2mqtt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/x3xlmh4dmkcibly2w6h5liampxmqgi99-zigbee2mqtt-1.28.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A zigbee2mqtt https://github.com/r-ryantm/nixpkgs/archive/fb5e2974972a42902be4945c6416382d35152e7b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/x3xlmh4dmkcibly2w6h5liampxmqgi99-zigbee2mqtt-1.28.1
ls -la /nix/store/x3xlmh4dmkcibly2w6h5liampxmqgi99-zigbee2mqtt-1.28.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

zigbee2mqtt

Maintainer pings
cc @sweber83 for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Koenkk/zigbee2mqtt/releases.
meta.description for zigbee2mqtt is: "Zigbee to MQTT bridge using zigbee-shepherd"
meta.homepage for zigbee2mqtt is: "https://github.com/Koenkk/zigbee2mqtt"
meta.changelog for zigbee2mqtt is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 1.28.2 with grep in /nix/store/2xqjy81cb4rc40bqnip1mc0df4c5adb5-zigbee2mqtt-1.28.2
found 1.28.2 in filename of file in /nix/store/2xqjy81cb4rc40bqnip1mc0df4c5adb5-zigbee2mqtt-1.28.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
zigbee2mqtt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2xqjy81cb4rc40bqnip1mc0df4c5adb5-zigbee2mqtt-1.28.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A zigbee2mqtt https://github.com/r-ryantm/nixpkgs/archive/447fc9545c246e29f510fa98d52f25d0aa4d7f1d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2xqjy81cb4rc40bqnip1mc0df4c5adb5-zigbee2mqtt-1.28.2
ls -la /nix/store/2xqjy81cb4rc40bqnip1mc0df4c5adb5-zigbee2mqtt-1.28.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

zigbee2mqtt

Maintainer pings
cc @sweber83 for testing.

Hi @mweinelt ,
you know by any chance, how to tell the bot to run the update script?
This PR only updates revision & hash.

The bot will use it once it is referenced in passthru.updateScript.

@mweinelt
I created a pr, which adds passthru.updateScript to the zigbee2mqtt package.
https://github.com/NixOS/nixpkgs/pull/200075

Let's wait for the bot to retry.

@mweinelt
Thanks for your help 👍


MessageSend

Hello.
How i can use this function https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerAction_MessageSend ?

That particular AMI action is not currently supported (see "Currently Supported Actions" in the project README.md)


inference using pretrained weights

Hi. Can I start with the inference using python test.py --config_file configs/stage2/101a_384.yml MODEL.DEVICE_ID "('0')" TEST.WEIGHT './logs/stage2/resnext101a_384/v1/resnext101_ibn_a_2.pth' OUTPUT_DIR './logs/stage2/resnext101a_384/v1'?
keep getting: File "C:\Users\diva\car_finder\model\make_model.py", line 148, in init
self.state_dict()[i].copy_(param_dict[i])
RuntimeError: The size of tensor a (64) must match the size of tensor b (128) at non-singleton dimension 0
Can someone help?
Thnks

Please use 'resnext101a_384.yml'.


_config.yml

Deprecation: The 'pygments' configuration option has been renamed to 'highlighter'. Please update your config file accordingly. The allowed values are 'rouge', 'pygments' or null.

Looks like this was resolved. Closing.


NECO-101 renamed the test directory and the source directory.

Changes

Renamed the test directory and the source directory.

Tests
For the Source Code
Tested the sample project can run as Xcode workspace by select "RicohAPIMstorage.xcworkspace" file.

Run git clone --recursive https://github.com/hishida/media-storage-swift.git -b feature/NECO-101-rename_directory_name
Run open media-storage-swift/RicohAPIMstorage.xcworkspace
Choose MediaStorageSample scheme at the scheme menu of Xcode and run MediaStorageSample.

For the Test Code
Tested the empty test code can run as Xcode workspace.

Run git clone --recursive https://github.com/hishida/media-storage-swift.git -b feature/NECO-101-rename_directory_name
Run open media-storage-swift/RicohAPIMstorage.xcworkspace
Choose MediaStorage scheme at the scheme menu of Xcode.
Click MediaStorageTests.swift
Click the run button the left side of 9th line: class MediaStorageTests: XCTestCase {.

I reviewed and found no problems. So I will merge this pull request.


Bump tracy to v0.11.0.

This picks up a fix for gpu slices that is needed for
hip and cuda tracing.
https://github.com/wolfpld/tracy/pull/804
It also contains a number of other improvements detailed
here https://github.com/wolfpld/tracy/releases/tag/v0.11.0

Thanks. Looks like this includes much more than a single fix. Can you edit the PR description to include https://github.com/wolfpld/tracy/releases/tag/v0.11.0 ? I scanned through and several features look helpful for our usage.

Done


Added test for enums with defaults

I wasn't sure about how defaults worked with enums so I played around a bit. I thought they may be worth adding to the test suite :)

Thanks! Can you change test.only to test?

Perfect thanks!


usendmii not working

IP is the same but port is not what I selected

Make sure the port number is same in both applications. The default port is 4242, is there a reason to change it?

also another problem the client wants 0.7.0 but I am using 0.8.0

Those two versions should work together.
I guess the message should read: "Remember the program will not work without UsendMii 0.7.0 (or newer) running on your computer."

If you really need to change the port number. There is currently no way to change it in UsendMii Client with the UI. But the settings.ini file can be edited manually.
Simply change the port number to the value you need:
[server]
ipaddress=<IP_ADDRESS>
port=4243

I will close this issue because I consider that UsendMii is working. The only thing I might change is the required version message in UsendMii Client.


[Suggestion] Not the whole lodash as a dependency, use modularized lodash

Main reason:
There are about 300 functions in the full lodash, I think less than 20 of them are used here.
for example:
npm i --save lodash.defaults

var defaults = require('lodash.defaults');
defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });

It shouldn't be a problem to include the whole lodash module because the package size isn't sensitive for the backend side IMO.
ioredis uses about 10 methods of lodash. We would have too many dependencies if we have each lodash method as a single dependency.

I checked the size of the full lodash: about 500kB.
Not only backend, some client programs, for example, electron.js, can use this library too.
I think it may reduce the size about 0.4MB.
An interesting thing is, the node_redis library doesn't use any lodash functions.


Automated cherry pick of #9629: fix(region): optimized disk allocate sched failed log

Cherry pick of #9629 on release/3.5.
#9629: fix(region): optimized disk allocate sched failed log

Codecov Report

Merging #9631 (0624768) into release/3.5 (6a15e02) will decrease coverage by 1.82%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           release/3.5   #9631       +/-   ##
===============================================
- Coverage         5.98%   4.15%    -1.83%
===============================================
  Files              796     164      -632
  Lines           125693   25200   -100493
===============================================
- Hits              7522    1048     -6474
+ Misses          117504   24060    -93444
+ Partials           667      92      -575

Flag
Coverage Δ

aFlag
4.15% <0.00%> (-1.83%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/cloudcommon/db/jointbase.go
0.00% <ø> (ø)

pkg/cloudcommon/db/sharablebase.go
6.01% <0.00%> (-0.06%)
:arrow_down:

pkg/cloudprovider/instance.go
0.00% <ø> (ø)

pkg/cloudprovider/objectstore.go
2.06% <0.00%> (-0.51%)
:arrow_down:

pkg/cloudprovider/route_table.go
0.00% <0.00%> (ø)

pkg/cloudprovider/securitygroup.go
0.00% <0.00%> (ø)

pkg/compute/regiondrivers/aliyun.go
0.33% <0.00%> (-0.01%)
:arrow_down:

pkg/compute/regiondrivers/aws.go
1.05% <0.00%> (-0.05%)
:arrow_down:

pkg/compute/regiondrivers/azure.go
44.44% <0.00%> (-22.23%)
:arrow_down:

pkg/compute/regiondrivers/base.go
1.02% <ø> (ø)

... and 549 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 53b4755...0624768. Read the comment docs.


Can't perform 'git push' on house-organiser' project

Hi,
I'm trying to update the code of 'house-organiser' project.
opened a new branch and everything but whenever i try to run 'git push' I get this message:

remote: Permission to zero-to-mastery/house-organiser.git denied to eranseg74.
fatal: unable to access 'https://github.com/zero-to-mastery/house-organiser.git/': The requested URL returned error: 403

I added myself to the contributors list on the 'start-guidelines' project.
What am I doing wrong?

Hi @eranseg74,
You haven't forked the repo to your own account and therefore you are trying to write to somewhere you dont have write access.
You will need to fork the repo, then make the changes to that fork. push to that fork and then create a pull request so that the changes between your fork and the original repo can be merged.
Hope that helps

Hey Matt,
thanx for the answer.
I thought that creating a new branch and making there all the changes is enough. according to the tutorial, when I am setting a new branch I can make all the changes there and then make the pull request in order to merge it with the master branch

Hey,
Forking is different from Branching.
The following guide, should explain why branching is done.
https://www.atlassian.com/git/tutorials/using-branches
Although it's worth noting, if you aren't the repo author or have admin rights to the repo you will need to fork before making a commit. Imagine a large company having a millions of people being able to commit all sorts of code without it being checked first.
Forking and making a pull request, is the way to say "hey I have made a change, can it be integrated into the main code base?"

Great! Success. now the PullRequest is on the main repo. thanx, Matt! you're the man! :1st_place_medal:


Troubles with certain youtube links.

Hi,
I am using #61 to download about 180 youtube videos.
For some reason however I get errors with the following youtube videos:
24-Feb-17 00:08:18	iHNKroqw2qQ	Crystal Lake - Handzup Motherfuckers - Video Edit
Path: D:\Users\sommmen\Music\clipjes-downloader-dump\Crystal Lake - Handzup Motherfuckers - Video Edit
System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at sommmen.clipjes_downloader.Program.DownloadVid(String id, String title)

24-Feb-17 00:08:26	5zCy3EWs9Q0	Calvin Harris, Ne-Yo - Let's Go
Path: D:\Users\sommmen\Music\clipjes-downloader-dump\Calvin Harris, Ne-Yo - Let's Go
System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at sommmen.clipjes_downloader.Program.DownloadVid(String id, String title)

24-Feb-17 00:08:50	foE1mO2yM04	Mike Posner - I Took A Pill In Ibiza
Path: D:\Users\sommmen\Music\clipjes-downloader-dump\Mike Posner - I Took A Pill In Ibiza
System.InvalidOperationException: Sequence contains no elements
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at sommmen.clipjes_downloader.Program.DownloadVid(String id, String title)

Code:
var allVideos = YouTube.Default.GetAllVideos(uri);
                video = allVideos.Where(_ => _.Format == VideoFormat.Mp4).OrderByDescending(_ => _.AudioBitrate).First(); //TODO try to get vid as mp3 here first.
                Console.WriteLine("Writing to: " + path + ".");
                File.WriteAllBytes(path + video.FileExtension, video.GetBytes());
                Console.WriteLine("Done writing.");

Ofcourse the error occurs in allvideos as getAllVideos couldn't retrieve the video data somehow.
I haven't the slightest clue why. Videolib just returns an InvalidOperationException which points out that my allvideos is empty; thus something goes wrong with the web request or something.
Occurs at the following links:
https://youtube.com/watch?v=iHNKroqw2qQ
https://youtube.com/watch?v=5zCy3EWs9Q0
https://youtube.com/watch?v=foE1mO2yM04

some videos unavaible so use custom ex

"use custom ex" i'm afraid i do not know what you mean.
The second one is indeed unavailable in my country but the first and third i can acces just fine...

https://github.com/hig-dev/libvideo this works

@omansak was already using that :)
(forking and rebuilding works better btw)
still issues with these out of like 300 links or something. Quite peculiar.

They are age-restricted videos. Check out YoutubeExplode to download those.

Age restricted it is. if you're having the same issue;

check if you can acces the underlying http requests and give it some logged in cookies on a 18+ yt/google+ account
as @Tyrrrz said youtubeExplode
find some other way to circumvent this.

I will be using the first method since i am already doing some stuff with google+ cookies etc. We need a fix for this library though. i'm closing this issue for now.


Bump minimist from 1.2.5 to 1.2.6 (#281)

Bumps minimist from 1.2.5 to 1.2.6.

Release notes
Commits

updated-dependencies:

dependency-name: minimist
dependency-type: direct:development
...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>Co-authored-by: dependabot[bot]<EMAIL_ADDRESS>Co-authored-by: Christoph Schlosser<EMAIL_ADDRESS>Fix/Feature/Other
Fix

[ ] Link to issue. If there is no issue please describe it using at least the issue template

[ ] Description of the fix

[ ] Added unit test

Feature

[ ] Description of what's added

[ ] Gif of your feature if appropriate

[ ] Added gif to README

[ ] Added unit test

Other

[ ] Description

Hi,
I think you used the wrong base branch for your change.


allow react-toolbox to be npm-install'ed from GitHub

Addresses #504.

Any love for this @javivelasco ? Would really like to be able to use this on some of my projects

Yeah, but since the next release will be done over the new style approach I don't know if the PR should be done here or we should just wait until the branch is ready

Coming in the next release!


Theme update

PR to cover a complete theme update, posts and such have been updated to match. Hopefully, I was able to copy everything across

Merging into main


Problem with Firefox 129.0.1 (64bit)

Which version of Room Card?
1.08.04
Describe the bug
A view which contains a room_card is closed by Firefox 129.0.1 on Windows11 within 1-2 seconds. A page with button requesting a reload of the UI is shown instead, but without any reaction.
The following warning is shown in the home-assistant.log:
WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [545699161584] XXXX from xxx.xxx.xxx.xxx (Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0): Disconnected: Received non-Text message.
The same dashboard view is shown on Chrome w/o any problem.

This doesn't seem to be related to room-card tbh. The card doesn't do websocket calls. It just uses data it gets from HA.


Chef attribute merging between colons and quotes is still broken when using force_default

Original issue:
#2712
I am now seeing that when using force_default the attributes aren't being overwritten when trying to override solr cookbook attributes.
In the solr cookbook's attributes/default.rb:
default['solr']['version'] = '4.6.1'
default['solr']['data_dir'] = '/etc/solr'

In my cookbook:
force_default[:solr][:version] = '4.10.2'
force_default[:solr][:data_dir] = "/opt/solr-#{node[:solr][:version]}/example/solr"

When I run this, the data_dir is still /etc/solr.
Only when I change to override in my cookbook does it update the data_dir property.  Interestingly enough the version was updated.  Go figure...
There's obviously still something wonky going on with attribute precedence and setting attributes based on other attributes when using force_default.
@tyler-ball suggested it was something broken with force_*:
https://github.com/chef/chef/issues/2712#issuecomment-68566898

I tried to replicate this and couldn't.

does your cookbook correctly specify a dependency on the solr cookbook so that its attribute files will be parsed first?
where are you trying to check the attributes and how are you trying to check them?

You should also not be setting force_default in an attributes file, it won't do anything useful over the use of default.  The force_default level is only useful to set in recipes in order to force setting in the recipe to take precedence.   You probably need to back up and explain how you got to the point of trying to set force_default in an attributes file as well.

Adding the solr dependency to metadata.rb does not make a difference.  I even put an include_attribute line for the solr cookbook inside the attribute file right above my force_default lines and it makes no difference.
At run time, one of my template commands fails because the path does not exist:
template "#{node["solr"][:data_dir]}/collection1/conf/data-config.xml" do

Output:
    Chef::Exceptions::EnclosingDirectoryDoesNotExist
    ------------------------------------------------
    Parent directory /etc/solr/collection1/conf does not exist.

Here is my role run list:
  "run_list": [
    "recipe[base]",
    "recipe[solr]",
    "recipe[my_cookbook]",
    "recipe[my_cookbook::solr_server]"
  ],

I question why you suggest not using force_default in an attribute file:
https://docs.chef.io/attributes.html#attribute-precedence

It's right there that force_default in an attribute file is valid and a higher level than default in an attribute file.  I reserve the use of override for when I actually need something higher than force_default.  My reason for using force_default is in case the attribute files get included more than once because of run lists including other run lists which cause multiple loading of attribute files during convergence.  I want to ensure that the force_default value still wins and is not "overwritten" by the double include of another attribute file setting the values with default.

Doing interpolation with node attributes in an attribute file is also a huge antipattern and often doesn't work like you think it should (although in your example I think it works fine, but there are ways that you can try to use that by wrapping your wrapper cookbook and setting the node[:solr][:version] which will fail to render the data_dir way you might expect.

Yes I know once has to be careful when defining attributes based on other attributes so I attempt to only do it in my "bottom" or wrapper cookbooks.
If it's an antipattern then what is the recommended method?  Attributes defined in recipes?  Or does one need to copy/paste interpolated values everywhere they are needed?

There's no multiple loading of attribute files during convergence.  If its been read before it is skipped.
I'm quite positive that using force_default in an attribute file has zero benefit over using default.  You can use it, but it does nothing particularly useful, which suggests to me that you've got some confusion going on over parse order of the files or of attribute precedence somewhere.

My experience is that the order in which the run lists loads the attribute files will cause default to behave based solely on what is loaded last.
If the run list is:
cookbook1
cookbook2
And you have cookbook1/attributes/default:rb
default[:my_attribute] = 1

cookbook2/attributes/default.rb:
default[:my_attribute] = 2

You end up with node[:my_attribute] = 2
However, if the run list is flipped you end up with the attribute having the value 1.

Best thing to do for interpolated values is to put them in recipe code using actual ruby variables.  When you have library cookbooks that use them, the best thing to do is rewrite the library cookbook to stop using attributes, or to rewrite the library cookbook to stop using interpolation.  Barring that, then copypasta is the best solution.  In this case trying to be DRY is going to ultimately be much more confusing than just copying a version string in a couple places.

Agreed - I've seen hacks to force recalculation of interpolated values such as this:
#This forces re-evaluation of all attributes indexed with "tomcat" that might have been derived from base_version
node.from_file(run_context.resolve_attribute(*parse_attribute_file_spec('tomcat')))

This seems quite hacky from a Chef standpoint though.
If force_default is really that confusing and you're recommending against its usage, perhaps it should have never been introduced into the Chef attribute precedence tree.   Was there really a scenario where override in an attribute file or recipe was not sufficient?

Yes, you've got that correct.   But if you've got multiple cookbooks setting the same attribute you should really have dependencies setup between them so that cookbook2 always comes last.   If you've got multiple app cookbooks setting the same variable and they may not strictly depend on each other, but you always want one to win that sounds like something really badly architected.

Let me clarify an exact scenario I've dealt with.
I write two roles:

Batch server
Web server

Both of these are PHP servers.
Batch server role is something like this:

php (cookbook)
batch server (recipe from app cookbook)

Web server role is something like this:

php
web server (recipe from the same app cookbook)

However, sometimes I make what we call "all in one" servers so my role is:

batch server (role)
web server (role)

This ends up expanding to:

php
batch
php
web

Keep in mind that the batch and web server recipes are from the SAME cookbook.  In that same cookbook the attributes file tries to set PHP attributes to override the php cookbook attributes.
Without using force_default I would often find that the values would not be reliably set, and they would typically remain set with the values from the php cookbook's attribute file and NOT from my attribute file in my app cookbook.
So either I'm doing something "wrong" or force_default makes sense for this scenario.

force_default is in fact evil and probably should never have been invented.
The problem was that back when Chef 11 came out, people were setting node attribute values in cookbook recipes that were considered library cookbooks.  Consumers of those cookbooks wanted a way to override those values with wrapper cookbooks, but the problem is that the recipe code would set the node attr then render it into a template non-lazily (lazy attributes didn't even exist).  So the precedence level of setting default attrs in recipe code was dropped so that roles and attributes had a higher priority, so that a wrapper cookbook could override the recipe code of the wrapped cookbook.
The other users complained about recipe code not taking precedence over attributes and roles but they couldn't use override so force_default was invented solely to restore the old precedence level in recipe code.
The moral of the story, however, is to stop setting attributes in recipe code.   The node object that describes the system being built should be fully built by the time all the attributes files are parsed.  Then the recipe code should use ruby variables to do munging work, and to pass values between cookbooks they should use the node[:run_state] or use plain old ruby libraries.  Recipe code can set data on the node for output to solr but there should be a single 'producer' which sets that attribute and other recipe code should not consume or set that attribute -- its meant for search.
If you don't follow that, its not just that you need to know about force_default and the history of attribute precedence but there's the interpolation problems, there's the hacky re-resolving of attribute files, plus you need to worry about compile/converge mode and you start writing all your templates with lazy {} attributes everyhwere (or getting aggravated that library cookbooks don't use lazy {}).
So attributes are an enormous footgun.  If you think you're smarter than attributes, then usually you keep digging deeper and deeper and there's no light at the end of the tunnel.
Anyway, I'm still not sure that has anything to do with your problem...

So one thing I'd suggest is that your batch and web cookbooks both have depends "php" lines in them.  If you're using recipes out of the php cookbook you should also include_recipe "php::whatever" lines up at the top of the recipes.  Then you can drop the php cookbook out of the explicit run_list.
Also you should probably pull apart the batch and web recipes into different cookbooks.  Are you expecting that attributes/batch.rb and attributes/web.rb only get parsed when you have the associated recipe in the run_list?  That's a fairly common mistake and it doesn't work that way -- every attributes file in a cookbook is parsed in alphanumeric sort order because it doesn't have accurate information about which recipes might or might not be run later without actually executing the recipes to find all the include_recipe statements that actually execute.

Still trying to replicate your actual problem...
Obvious missing question:  which chef-client version?  I'm trying on 12.4.0.rc.0 and can't replicate it.  There were additional patches that went in and I think you may need to be on at least 12.2.0 to get all the patches to attributes.

12.3.0.  The latest from the ChefDK 0.6

That should be good enough.  So, if you switch between force_default and override that doesn't show that you're exercising the bug in question.  The real test is that when you access node[:solr] vs. node['solr'] or switch the setter between strings and symbols that you see different behavior.

Switching between quotes and colons in the recipe does not seem to make a difference.  I tried switching everything to quotes and the behaviour is still present (the attribute isn't set correctly).
Switching between quotes and colons in the recipe does not seem to make a difference.  I tried switching everything to quotes and the behaviour is still present (the attribute isn't set correctly).
This may help clear things up.  I'm using Chef Zero.  Here is my grep against my chef zero repo directory:
/etc/chef/zero/cookbooks/solr/attributes/default.rb:default['solr']['data_dir'] = '/etc/solr'
/etc/chef/zero/cookbooks/solr/recipes/default.rb:directory node['solr']['data_dir'] do
/etc/chef/zero/cookbooks/solr/recipes/default.rb:    :solr_home => node['solr']['data_dir'],
/etc/chef/zero/cookbooks/solr/recipes/default.rb:    :solr_home => node['solr']['data_dir'],
/etc/chef/zero/cookbooks/my_cookbook/attributes/solr_config.rb:force_default["solr"][:data_dir] = "/opt/solr-#{node["solr"][:version]}/example/solr"
/etc/chef/zero/cookbooks/my_cookbook/recipes/solr_server.rb:template "#{node["solr"][:data_dir]}/collection1/conf/data-config.xml" do
/etc/chef/zero/cookbooks/my_cookbook/recipes/solr_server.rb:remote_file "#{node["solr"][:data_dir]}/collection1/conf/schema.xml" do
/etc/chef/zero/cookbooks/my_cookbook/recipes/solr_server.rb:remote_file "#{node["solr"][:data_dir]}/collection1/conf/solrconfig.xml" do

So I'm pretty sure then that you don't have a reoccurrence of the symbols-vs-strings bug.  I still can't seem to replicate it.

Hard to say.  force_default should take precedence regardless of anything else going on.  If override works, force_default should in this case.
However, if you're telling me that force_default is bad to use, then I will agree with that and avoid using it.  I currently have no requirement to use force_default over using override.  I've simply been conservative in my precedence usage in case I needed override to overrule force_default at some point.

I don't see how you should need to use override though either, and I can't replicate the problem.

If you look in the debug logs it'll tell you how its loading the attributes files:
[2015-06-01T11:04:30-07:00] DEBUG: Cookbooks to compile: [:solr, :test]
[2015-06-01T11:04:30-07:00] DEBUG: Loading cookbook test's library file: /home/lamont/.chef/local-mode-cache/cache/cookbooks/test/libraries/default.rb
[2015-06-01T11:04:30-07:00] DEBUG: Node coredump.scriptkiddie.lan loading cookbook solr's attribute file /home/lamont/.chef/local-mode-cache/cache/cookbooks/solr/attributes/default.rb
[2015-06-01T11:04:30-07:00] DEBUG: Loading Attribute solr::default
[2015-06-01T11:04:30-07:00] DEBUG: Node coredump.scriptkiddie.lan loading cookbook test's attribute file /home/lamont/.chef/local-mode-cache/cache/cookbooks/test/attributes/default.rb
[2015-06-01T11:04:30-07:00] DEBUG: Loading Attribute test::default

@lamont-granquist  is right that you probably don't need want override or force_override.
But, the statement "you should never set attributes in recipes" is patently wrong. It is exactly the place to set data in wrapper cookbooks. Doing it in attributes files is absolutely not guaranteed to work.
Please stop telling people that.
The only way to provide a sane ordered API via data is to set let all callers set that data in recipes. There is no other way to do this sanely (other than to not use attributes at all).
The whole idea if people doing
  default['path'] = '/path/'
  default['file'] = 'file'
  default['fullpath'] = node['path'] + node['file']

in an attribute file and expecting to be able to change node['file'] in a role file and have that work was because people wanted unrealistic magic... it didn't work because it shouldn't have worked... and then Chef made it work that way which then required things like force_default to get any sort of wrapper cookbooks to work again.
Setting attributes in recipes is absolutely the way to change things in between attribute-loading time (cookbooks setting up their API) and run-time (data consumption time), and it's absolutely a reasonable thing to do. All of Facebook's published cookbooks require its wrappers to do this, and I hope to release more soon.

@jaymzh you don't need to use an attribute for everything.  Just use fullpath = node['path'] + node['file'] and there's no computed attribute issue.

So, closing this because:

there's workarounds
i couldn't repro
i'm literally rewriting all this code anyway #3721


[Feature Request] skip add firewall rule

Hi,
I have a customer who has very strict access, they don't want to open a firewall every time and they used self-hosted. could you add a parameter like as.
  skipFirewallSetting:
    description: 'Parameters which skip Firewall Setting'
    required: false
    default: 'false'

        let skipFirewallSetting = (core.getInput('skipFirewallSetting') != 'true');

        if(skipFirewallSetting){
            const runnerIPAddress = await SqlUtils.detectIPAddress(inputs.serverName, inputs.connectionString);
            if(runnerIPAddress) {
                let azureResourceAuthorizer = await AuthorizerFactory.getAuthorizer();
                let azureSqlResourceManager = await AzureSqlResourceManager.getResourceManager(inputs.serverName, azureResourceAuthorizer);
                firewallManager = new FirewallManager(azureSqlResourceManager);
                await firewallManager.addFirewallRule(runnerIPAddress);
            }
        }

That’s a not good idea.

sorry @dzsquared  , I thought it was the firewall, but I was wrong. The customer uses the service principal, so the SQLPackage needs to use /AccessToken. The firewall error is a login failure.

temp solution
$token = (az account get-access-token --resource=${{ env.server_name }} --query accessToken --scope=https://database.windows.net/.default)
& "${{ env.sqlpackage_path }}" /Action:Publish "/TargetConnectionString:"${{ env.connection_string}}" /SourceFile:./xxx.dacpac /AccessToken:$token


Add remark plugins

As Markdown usage in our repo increases, I'd like to install more utilities to help writing and generating it. Using Prettier is great for formatting, but we can do more.
The Unified/remark ecosystem is what powers many websites that felt the same need, such as the Prettier and Node.js websites.
For starters, we will need a Markdown parser and plugins that support YAML front matter and GFM (GitHub Flavored Markdown). And a plugin that uses our Prettier configuration and formats it like we are used to. And then the fun begins with more plugins:

remark-reference-links converts [](https://...) links to [][0] refs, this is great for readability.
remark-order-reference-links orders the link refs from the previous plugin, so you don't have to.

This PR also adds a custom plugin:

handleCommentMarkers to make it easy to add functions to replace whatever you want between comment markers (that look like <!--myPlugin [...] -->).

And the first of them is a packageTable function to generate the packages table in the root README.md. This PR also updates that table.
Next step is to make it easier/automate formatting Markdown, but for now we can do with the command that's documented in the README.md of this new remark-plugins in packages/tools.
This tool uses "JSDoc-style TypeScript" so it doesn't require a build step (and most of that ecosystem does the same).

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1204741076546821

already using GFM package, so good to have it general.
wasnt a fan of the handleCommentMarkers because then it could be anything and that is hard to give a specific style I think (maybe using it wrong).

already using GFM package, so good to have it general. wasnt a fan of the handleCommentMarkers because then it could be anything and that is hard to give a specific style I think (maybe using it wrong).

Yet not sure I understand, The "anything" is quite specific: it must not have a space and the name must be an exported function and on the commentMarkers object (<!--myPlugin). Or can you elaborate?

But maybe that is just specific to docs.

Yeah this is actually initially meant for everything outside the docs, although it might be a good idea to use a subset or alternative set of plugins maybe.

Is there a requirement for remark-plugins to have the index.js in the root and not have a src directory? Otherwised I'd like to make it uniform with the other packages and have that.
Also, would it be possible to have it in Typescript?

They're related things. Not using a build step is nice and it's still typed (although with JSDoc). Eventually it's just internal tooling. Any chance we could iterate fast? Because I also didn't want to jump through the Rush hoops for this one just yet.

Not sure what would be faster: discuss or do, so added TypeScript + ESLint


Add tips and copy media under styling

Docs Build status updates of commit 263c402:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/styling/map-style-sheet-entries.md
:white_check_mark:Succeeded
View

BingMaps/styling/map-style-sheet-entry-properties.md
:white_check_mark:Succeeded
View

BingMaps/styling/map-style-sheets.md
:white_check_mark:Succeeded
View

BingMaps/styling/media/bmv8-redbluemapstyle.jpg
:white_check_mark:Succeeded
View

BingMaps/styling/media/mapstylesheeteditor.png
:white_check_mark:Succeeded
View

BingMaps/styling/media/style_sample.png
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fix the font sizes

The font sizes are too small, which makes the docs hard to read. The fonts for the API docs are even smaller.

@neusamir Is this something you could do?

Yes, let me take a look

Should we match the azure.com site and use font size 16px?

Should we match the azure.com site and use font size 16px?

That seems reasonable to me - @danroth27

Yeah. It looks like that is also the default font size for the Read the Docs theme, so let's just use that.

Ok sounds good. The code font is 75% the body font, so that will bump to 12px. Should we update that to 16px also so it's easier to read?
On Jun 6, 2016, at 1:53 PM, Daniel Roth <notifications<EMAIL_ADDRESS>wrote:
Yeah. It looks like that is also the default font size for the Read the Docs theme, so let's just use that.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/aspnet/Docs/issues/1341#issuecomment-224084848, or mute the threadhttps://github.com/notifications/unsubscribe/ARfRG-wqDHeA5eTouJz2LR7jPAQ_Ue3dks5qJIjSgaJpZM4It5-_.
Confidentiality Notice: This email and any attachments are confidential. If you have received this in error, please let us know by email reply and delete the email and all attachments from your system.

No, let's leave the code font at 75% of the body font.


How put an array of objects at Google Cloud Datastore?

OS : Ubuntu 14.04.5
Python: 3.4.3
google-cloud-datastore: 0.24.0
Code example:
from google.cloud import datastore

class GoogleDatastorePipeline(object):

    def __init__(self, settings, stats):
        self.client = datastore.Client()
        self.batch = self.client.batch()

    def open(self):
            self.batch.begin()

    def process(self):
        key = self.client.key('Article')
        entity = datastore.Entity(key)
        entity['name'] = 'A post'
        entity['content'] = ''
        # How I insert this as array of objects? Can be indexed, if no, no problem.
        entity['authors'] = [{
            'name': 'Author 1',
            'type': 'person',
        },{
            'name': 'Author 2',
            'type': 'organization',
        }]

        self.batch.put(entity)

    def close(self):
            self.batch.commit()

Stacktrace:
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/ubuntu/workspace/ze/pipelines/__init__.py", line 215, in process_item
    self.batch.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 199, in put
    _assign_entity_to_pb(entity_pb, entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 319, in _assign_entity_to_pb
    bare_entity_pb = helpers.entity_to_protobuf(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 219, in entity_to_protobuf
    _set_protobuf_value(value_pb, value)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 408, in _set_protobuf_value
    attr, val = _pb_attr_value(val)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 325, in _pb_attr_value
    raise ValueError("Unknown protobuf attr type %s" % type(val))
ValueError: Unknown protobuf attr type <class 'dict'>
2017-05-03 01:30:16 [scrapy.core.engine] INFO: Closing spider (finished)
2017-05-03 01:30:16 [google_auth_httplib2] DEBUG: Making request: POST https://accounts.google.com/o/oauth2/token
2017-05-03 01:30:16 [scrapy.core.engine] ERROR: Scraper close failure
Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/retry.py", line 120, in inner
    return to_call(*args)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/retry.py", line 68, in inner
    return a_func(*updated_args, **kwargs)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/grpc/_channel.py", line 507, in __call__
    return _end_unary_response_blocking(state, call, False, deadline)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/grpc/_channel.py", line 455, in _end_unary_response_blocking
    raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.INVALID_ARGUMENT, Mutation is missing operation.)>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 74, in _catch_remap_gax_error
    yield
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 173, in commit
    return super(GAPICDatastoreAPI, self).commit(*args, **kwargs)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/gapic/datastore/v1/datastore_client.py", line 345, in commit
    return self._commit(request, options)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 419, in inner
    return api_caller(api_call, this_settings, request)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 407, in base_caller
    return api_call(*args)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 368, in inner
    return a_func(*args, **kwargs)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/retry.py", line 126, in inner
    ' classified as transient', exception)
google.gax.errors.RetryError: GaxError(Exception occurred in retry method that was not classified as transient, caused by <_Rendezvous of RPC that terminated with (StatusCode.INVALID_ARGUMENT, Mutation is missing operation.)>)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/ubuntu/workspace/ze/pipelines/__init__.py", line 193, in close_spider
    self.batch.commit()
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 273, in commit
    self._commit()
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 249, in _commit
    self.project, mode, self._mutations, transaction=self._id)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 173, in commit
    return super(GAPICDatastoreAPI, self).commit(*args, **kwargs)
  File "/usr/lib/python3.4/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 82, in _catch_remap_gax_error
    six.reraise(error_class, new_exc, sys.exc_info()[2])
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 74, in _catch_remap_gax_error
    yield
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/_gax.py", line 173, in commit
    return super(GAPICDatastoreAPI, self).commit(*args, **kwargs)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/gapic/datastore/v1/datastore_client.py", line 345, in commit
    return self._commit(request, options)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 419, in inner
    return api_caller(api_call, this_settings, request)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 407, in base_caller
    return api_call(*args)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/api_callable.py", line 368, in inner
    return a_func(*args, **kwargs)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/gax/retry.py", line 126, in inner
    ' classified as transient', exception)
google.cloud.exceptions.BadRequest: 400 Mutation is missing operation.

I tested the JSON below on Datastore Entites on https://console.cloud.google.com/datastore/entities/new and worked!
{
    "values": [
        {
            "entityValue": {
                "properties": {
                    "name": {
                        "stringValue": "NAME1"
                    },
                    "type": {
                        "stringValue": "TYPE1"
                    }
                }
            }
        },
        {
            "entityValue": {
                "properties": {
                    "name": {
                        "stringValue": "NAME2"
                    },
                    "type": {
                        "stringValue": "TYPE2"
                    }
                }
            }
        }
    ]
}

But in python don't
entity['author'] = {
    'values': [
        {
            'entityValue': {
                'properties': {
                    'name': {
                        'stringValue': 'NAME1'
                    },
                   'type': {
                        'stringValue': 'TYPE1'
                    }
                }
            }
        },{
            'entityValue': {
                'properties': {
                    'name': {
                        'stringValue': 'NAME2'
                    },
                   'type': {
                        'stringValue': 'TYPE2'
                    }
                }
            }
        }
    ]
}

Traceback
Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/ubuntu/workspace/ze/pipelines/__init__.py", line 247, in process_item
    self.client.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 384, in put
    self.put_multi(entities=[entity])
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 408, in put_multi
    current.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 199, in put
    _assign_entity_to_pb(entity_pb, entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 319, in _assign_entity_to_pb
    bare_entity_pb = helpers.entity_to_protobuf(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 219, in entity_to_protobuf
    _set_protobuf_value(value_pb, value)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 408, in _set_protobuf_value
    attr, val = _pb_attr_value(val)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 325, in _pb_attr_value
    raise ValueError("Unknown protobuf attr type %s" % type(val))

Thanks for filing @GustavoRPS I'll look into it.

@GustavoRPS Two things:

As your second stacktrace shows, dict is not supported as an entity type. Here is the list of supported types, though we should do a better job surfacing this list / making __setitem__ fail for a bad type. What you want to use there is another Entity, not a dict.
Do you want a Batch or a Transaction? A batch will just accumulate mutations, but won't commit them transactionally.

I am preemptively closing this issue since the dict -> Entity fix covers your two errors (the second error occurs because batch.put() will fail with a bad entity with a dict field and if the put() failed then there will be no mutations to commit).
We can re-open and continue discussion if you think there are more things to discuss.

Thx for fas thet replay @dhermes.
Now i'm using a Entity instead of a dict and try 2 forms to add to array of entityValues and the results is this:
First Form
key = client.key('Article')
entity = datastore.Entity(key)
entity['name'] = 'A post'
entity['content'] = ''

author1 = datastore.Entity('author1')
author1['name'] = 'NAME1'
author1['type'] = 'TYPE1'

author2 = datastore.Entity('author2')
author2['name'] = 'NAME2'
author2['type'] = 'TYPE2'

entity['author'] = [author1, author2]
client.put(entity)

Traceback
Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/ubuntu/workspace/ze/pipelines/__init__.py", line 234, in process_item
    self.client.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 384, in put
    self.put_multi(entities=[entity])
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 408, in put_multi
    current.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 199, in put
    _assign_entity_to_pb(entity_pb, entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 319, in _assign_entity_to_pb
    bare_entity_pb = helpers.entity_to_protobuf(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 219, in entity_to_protobuf
    _set_protobuf_value(value_pb, value)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 420, in _set_protobuf_value
    _set_protobuf_value(i_pb, item)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 414, in _set_protobuf_value
    entity_pb = entity_to_protobuf(val)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 209, in entity_to_protobuf
    key_pb = entity.key.to_protobuf()
AttributeError: 'str' object has no attribute 'to_protobuf'

Second Form
key = client.key('Article')
entity = datastore.Entity(key)
entity['name'] = 'A post'
entity['content'] = ''

author1 = datastore.Entity('author1')
author1['name'] = 'NAME1'
author1['type'] = 'TYPE1'

author2 = datastore.Entity('author2')
author2['name'] = 'NAME2'
author2['type'] = 'TYPE2'

entity['author'] = { 'values': [author1, author2] }
client.put(entity)

Traceback
Traceback (most recent call last):
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/twisted/internet/defer.py", line 653, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/ubuntu/workspace/ze/pipelines/__init__.py", line 234, in process_item
    self.client.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 384, in put
    self.put_multi(entities=[entity])
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/client.py", line 408, in put_multi
    current.put(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 199, in put
    _assign_entity_to_pb(entity_pb, entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/batch.py", line 319, in _assign_entity_to_pb
    bare_entity_pb = helpers.entity_to_protobuf(entity)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 219, in entity_to_protobuf
    _set_protobuf_value(value_pb, value)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 408, in _set_protobuf_value
    attr, val = _pb_attr_value(val)
  File "/home/ubuntu/workspace/env/lib/python3.4/site-packages/google/cloud/datastore/helpers.py", line 325, in _pb_attr_value
    raise ValueError("Unknown protobuf attr type %s" % type(val))
ValueError: Unknown protobuf attr type <class 'dict'>

I decided to use the client instead of a transaction because my code runs for more than 1 minute and only make inserts and batch how you say will just accumulate mutations, but won't commit them transactionally.

datastore.Entity takes a key as the first argument, not a string ('author1' or 'author2') (this is why you saw
AttributeError: 'str' object has no attribute 'to_protobuf'

My bad @dhermes!
Everything is work now. Thx very much for the support.
You can close the issue.

Cheers!


Don't use force when removing containers

Fixes (partially) #828

here's some explanation why using force creates dead containers sometimes: https://github.com/docker/docker/issues/26372


ERROR - stdout is not a tty

Seems to be not working with powershell at windows 10 idk why, but when I run at CMD it works perfectly. Any ideas?

Ok, this is not a Destreamer issue, it's something to do with your node/Powershell.
I can't help you further without any more insight on how is your system setup :/

I've seen this before. It's the terminal not the shell. Use the native Windows one or Windows Terminal (from Store) for best results.

Had the same problem here.
If you are using cmq just omit .sh on the comand
destreamer -i "https://web.microsoftstream.com/video/videocodehere"

Had the same problem here.
If you are using cmd just omit .sh on the comand
destreamer -i "https://web.microsoftstream.com/video/videocodehere"

That work because doing so calls destreamer.cmd, the proper script for cmd on Windows, destreamer.sh is meant for *nix Systems. Just wanted to let you know :)

Closing as inactive


PhantomJS - Undefined is not an object error

I'm stumped as to where to go next. When I run grunt test:client, PhantomJS throws an error saying TypeError: undefined is not an object (evaluating '_react2.default.Component') in graphiql.min.js. When I run the project without running tests, it works fine.
Googling hasn't turned up a solution yet. Any ideas?
I'm using the latest release of graphiql. PhantomJS is 2.1.1, also the latest.

Switching out to the non-min version, the error happens on line 1551 of graphiql.js:
  return ExecuteButton;
}(_react2.default.Component);

Closing as I resolved by having Karma ignore the file.


docs(en): add doubly linked list

PR Checklist:

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is on refer on the language README.md file
[x] My addition does not have a spelling problem
[x] My submission has a proper and user-friendly description of the algorithm
[x] My submission has the time complexity of the algorithm
[ ] My submission has sample input-output of the program (NOT FOR PYTHON)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[x] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR
Add docs(en) for doubly linked list.

Other information:
Addresses #docs(en): doubly-linked-list
Please, review.

The icon has been removed as well. That edit was mistakenly wrapped in the first commit

Thank you @ming-tsai for taking time to review my pull request. I have implemented the suggested changes and waiting for your approval.


feat(*): trim attributes

per discussion in #162

@wmhilton Hi, i added for #165

[x] feat(*): trim attributes
[x] feat(*): remove empty attributes see options

@wmhilton I published, now you need to update the package to 0.1.5


import imutils error in Debian

Hi Jrose,
I am trying to import imutils in Debian distro running on BeagleBone Black. This is what im getting when i import it in the Python Interpreter;
root@beaglebone:~# python
Python 2.7.3 (default, Mar 14 2014, 17:55:54)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import imutils
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/imutils/init.py", line 5, in
from .convenience import translate
File "/usr/local/lib/python2.7/dist-packages/imutils/convenience.py", line 108, in
def url_to_image(url, readFlag=cv2.IMREAD_COLOR):
AttributeError: 'module' object has no attribute 'IMREAD_COLOR'

How can i rectify the problem?

the IMREAD_COLOR is part of the cv2 module which are your OpenCV bindings. Which OpenCV version are you using? I've seen errors like this happen when you install OpenCV via apt-get instead of compiling via source.
Run:
$ python
>>> import cv2
>>> cv2.__version___
And then report back your version.

This is the kernel version i am operating on;
root@beaglebone:~# uname -a
Linux beaglebone 3.8.13-bone79 #1 SMP Tue Oct 13 20:44:55 UTC 2015 armv7l
GNU/Linux
See below for the cv2 version running on the system;
root@beaglebone:~# python
Python 2.7.3 (default, Mar 14 2014, 17:55:54)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

import cv2
cv2.version
'$Rev: 4557 $'

On Mon, Mar 7, 2016 at 1:26 PM, Adrian Rosebrock<EMAIL_ADDRESS>wrote:

the IMREAD_COLOR is part of the cv2 module which are your OpenCV
bindings. Which OpenCV version are you using? I've seen errors like this
happen when you install OpenCV via apt-get instead of compiling via
source.
Run:
$ python

import cv2
cv2.version_

And then report back your version.
—
Reply to this email directly or view it on GitHub
https://github.com/jrosebr1/imutils/issues/7#issuecomment-193213034.

It sounds like you installed OpenCV via apt-get, which normally installs an out-dated version with functionality missing. I would suggest installing OpenCV from source to avoid this issue. The instructions listed below can be used to install OpenCV from source for Debian:
http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
I'm going to go ahead and close this issue now. Re-flash Debian onto your BeagleBone Black and then compile OpenCV from source and it should take care of the issue. Otherwise, it might be a BBB issue, and since I do not have one, I cannot further diagnose the problem.


Scrape the NCCN guidelines page to update nccn guidelines in our DB

https://www.nccn.org/guidelines/category_1#site

https://docs.google.com/spreadsheets/d/1B2Tr6Ne00S-o4aSaMktVHcoAarAbESPBQ5srIUJ5QOw/edit#gid=0 has a list of known guideline-version combinations


Feature request: RSS feeds for the news and recent releases

The title says it all. Newsfeeds would make it so much easier to follow what is going on in the world of Pygame. Thank you.

There are the old feed URLs still... but we don't link to them anywhere anymore. Oops.

http://www.pygame.org/feed/releases.php?format=RSS2.0
http://www.pygame.org/feed/news.php?format=RSS2.0


Linux platform doesn't handle many BleLayer::Handle error conditions

Problem
While looking at:
https://github.com/project-chip/connectedhomeip/issues/3926
I'm cleaning out the ones that are unused by anyone, but a number of them are used in other platforms except linux - to report errors.
Specifically in:
void BLEManagerImpl::HandlePlatformSpecificBLEEvent(const ChipDeviceEvent * apEvent) {
...
}

Proposed Solution
Let's log errors in linux

Moving to post V1.0, not clearly required for V1.0


Add book event count and circulation years to search & detail pages #632

Codecov Report

Merging #644 into develop will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop     #644   +/-   ##
========================================
  Coverage    98.08%   98.09%
========================================
  Files          218      218
  Lines        11568    11572    +4
  Branches        63       63
========================================
+ Hits         11347    11351    +4
  Misses         221      221


Add GetExecutionResultByID endpoint

Add GetExecutionResultByID to the SDK that was implemented for Access API.
Double check as this might have already been added as part of Execution Data API changes in last few months.
Related issue: https://github.com/onflow/flow-go-sdk/issues/752

Closing this issue as completed as we have already added this endpoint to the JVM SDK.


accuracy of metadata.width and metadata.height for SVG input

It seems metadata outputs integers for svg elements which have dimensions with decimals.

Hello, the values reported are the integral pixel dimensions at which the input SVG will be rasterised.

Sure but fraction pixels are also valid and needed for SVG as they do not always use full values without decimals.
An svg can be 34.5px * 38.75px or units in general. And many browsers also support image dimensions with fractions.

The problem is that the values given by metadata are not exact
https://github.com/jkphl/svg-sprite/issues/254#issuecomment-382519476
https://github.com/jkphl/svg-sprite/blob/master/test/fixture/svg/special/without-dims.svg

sharp ultimately relies on librsvg for this, which reports integral pixel dimensions. Perhaps there's an additional library you could use such as https://www.npmjs.com/package/probe-image-size

sharp ultimately relies on librsvg for this, which reports integral pixel dimensions. Perhaps there's an additional library you could use such as https://www.npmjs.com/package/probe-image-size

Unfortunately this does not work with svg files which do not have width, height and viewBox.
In theory I expect the metadata to report the real data of the source file (without any type casting or transformations). I'll check the mentioned dependency and try to find a solution to get more data from it for the use in the metadata function.

Closing as there's not a lot sharp can do here given it simply reports dimensions from the upstream librsvg dependency.
If anyone finds an alternative that does provide more detailed information then please add a comment in case others are looking for a similar solution.

Opened https://github.com/libvips/libvips/issues/1242


Release 2.4.1 is tagged as 2.4.2

Not sure if this was released by mistake, but there's no release information in https://github.com/NagRock/ts-mockito/releases and package.json update shows 2.4.1

2.4.1 has been released but with bug that has been fixed within a one day. So it is missing on releases page. But probably I've forgotten about tag. Thanks for catching this

Thanks, but the point was the version in the package.json doesn't match the version it is tagged as. Ideally 2.4.3 is simply released with the version in the package.json matching the version it is tagged as.


python3Packages: toggl-cli fix pendulum version bounds

Motivation for this change
toggl-cli fails to build with pendulum-2.0.5
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build python3Packages.toggl-cli


Update ibm_catalog.json

Description
"ibm_created" tag is required so tile shows that is IBM and not Community maintained
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline


feat: fetch MR endpoint

In this PR:

New kubernetes client (integrations/k8s.go)
Fetch model registries handler (model_registry_handler.go)

Description

How Has This Been Tested?

Create a few services

kind: Service
apiVersion: v1
metadata:
  labels:
    app: metadata
  name: model-registry
spec:
  selector:
    component: model-registry-server
  type: ClusterIP
  ports:
  - port: 8080
    protocol: TCP
    appProtocol: http
    name: http-api
  - port: 9090
    protocol: TCP
    appProtocol: grpc
    name: grpc-api

Run the app (locally it will use either your logged k8s cluster or your KUBECONFIG

$../model-registry/clients/ui/bff/make run

Fetch model-registry

$curl -i -X GET "http://localhost:4000/api/v1/model-registry/"                                                                       (kind-my-cluster/default)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Thu, 06 Jun 2024 11:12:08 GMT
Content-Length: 109

{
	"model_registry": [
		{
			"name": "model-registry"
		},
		{
			"name": "model-registry-service"
		}
	]
}

Running BFF inside Kubernetes

If you need the role bindings and service to test this, please let me know.
Note: running in docker outside a k8s cluster is currently broken. I'll fix this in a FUP PR.
Merge criteria:

[X] The commits and have meaningful messages; the author will squash them after approval or will ask to merge with squash.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work

I just realized I forgot to update the README on running this. If you don't mind, I'll do together with the next PR (I'll add next consuming MR rest endpoint).


When only space is provided with no schema, the space isn't being created

When a new space is assigned in profiles.yml but no schema is assigned, the view cannot be created because the space isn't created.
Note: it doesn't call create_catalog().

Hi @ArgusLi ,
I am afraid we won't be able to change that behavior, as it seems to be located here in the dbt-core code :
https://github.com/dbt-labs/dbt-core/blob/f02243506df2a9b6851abe6bcfe10af8808d41cc/core/dbt/task/runnable.py#L568
But don't you think space creation should be an administrative task, and that dbt should only operate on already existing "databases" - spaces and data lakes ?
#67 is a related issue.

Hi @fabrice-etanchaud,
Thanks for the additional information. I agree that space creation should be an administrative task. As such, I will update our documentation to make this a pre-condition.
Thanks for your help!


chore: disable /healthz rate limit

Description

#182
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Non-functional change (docs, style, minor refactor)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

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

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 58.999%

Files with Coverage Reduction
New Missed Lines
%

src/factories/web-app-factory.ts
1
52.63%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1167

Relevant Lines:
1951

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at ?%

Totals

Change from base Build<PHONE_NUMBER>:
0%

Covered Lines:

Relevant Lines:
0

💛  - Coveralls


Help on windows

Apologies for this, but I was wondering how exactly you make sure this script runs periodically on windows, and also - where do you add in the new arguments to send it to the preferences XML. I'm trying to understand the readme, but I am horribly confused. Sorry.

This script only works on Linux/Unix-based systems. The only way to run it on Windows would be to install the Windows Subsystem for Linux (WSL).

You just gave me an idea though. Give me an hour or two, I might be able to cook something up.

I rewrote the entire project in go, adding lots of features and improvements.
Try downloading the latest beta release. The file you probably need is update-plex-ipv6-access-url-v0.1.0-beta.2-windows-amd64.zip.
Some brief instructions:

Download and extract the release .zip file
Open a Powershell window
Drag and drop update-plex-ipv6-access-url.exe into Powershell
Hit enter to run the tool
When prompted to enter the server address, enter http://localhost:32400, if you are running the tool on the same machine as your Plex server (otherwise use http://[server-ip]:32400, e.g. http://<IP_ADDRESS>:32400)
Once you entered the server name, hit enter
When prompted to enter the network interface name, enter one of the available options in the settings under Network > Preferred network interface (remember: you need to enter the name of the network adapter that has an IPv6 address)

Once you entered the network interface name, hit enter

Finally, paste/enter a plex token, which you can find by follow these instructions
Press enter once you entered/pasted the token

The tool will automatically detect and configure an IPv6 custom access URL for you. No need to restart the server. You should be able to see the custom access URL appear under Network > Custom server access URLs. If you cannot find that setting, make sure you clicked "Show Advanced" in the top right.

Thank you so much! It works. Apologies for the long wait. Just a question, but is there any way to allow outside internet connections a direct connection? Everything runs perfectly, but now outside internet only receives indirect access. Is this simply due to Ipv6 and outside connections being Ipv4?

Double check your port forwarding/firewall rules. Most routers require you to set up separate rules for IPv4 and IPv6.