License

What's the license for the code here?

Since I derived this from @phil-opp 's code, which is apache2 licensed, it should also be apache2. https://github.com/phil-opp/blog_os/blob/printing_to_screen/LICENSE
Thanks for pointing this out, I'm really good about it usually, but forgot in this case. Phil, is it just apache2 or dual licensed?

Well, honestly I don't know much about licenses. What would be the advantages of dual licensing?

Well, the only reason I ask is because Rust itself is dual licensed apache2/MIT, and so a lot of rust projects are as well.
The advantage is that if someone prefers one license over the other, they can create derived works under just the one they prefer. People do dual apache2/MIT because MIT is simpler, but has no patent clauses, and apache2 is more complex, but has protection for them. So some people don't like the extra complexity.
Really, it doesn't matter to me personally, I just want to make sure I do right by you, and anyone else who I happen to take a peek at their code :).

Ok thanks for the overview. I'm too tired to think about licenses right now but I will consider dual licensing (any drawbacks?).

I've pushed up the Apache2 license. Thanks again @dpen2000 !

I've updated the license of blog_os. It's now apache2/MIT dual licensed.

Cool, I will follow suit.


Error when starting local dev env

Bug Description
When starting local dev environment I get the following error message.
STATUS: Import default set of media assets...
Imported file '/var/www/html/wp-content/e2e-assets/example-1.jpg' as attachment ID 1965.
Success: Imported 1 of 1 items.
Imported file '/var/www/html/wp-content/e2e-assets/example-2.jpg' as attachment ID 1966.
Success: Imported 1 of 1 items.
Imported file '/var/www/html/wp-content/e2e-assets/example-3.png' as attachment ID 1967.
Success: Imported 1 of 1 items.
STATUS: Current WordPress version: 5.6-alpha-49085...
STATUS: Updating WordPress to the latest version...
[05-Oct-2020 11:25:06 UTC] PHP Warning:  Declaration of WP_CLI\Core\CoreUpgrader::download_package($package, $check_signatures = true) should be compatible with WP_Upgrader::download_package($package, $check_signatures = false, $hook_extra = Array) in phar:///usr/local/bin/wp/vendor/wp-cli/core-command/src/WP_CLI/Core/CoreUpgrader.php on line 30
Warning: Declaration of WP_CLI\Core\CoreUpgrader::download_package($package, $check_signatures = true) should be compatible with WP_Upgrader::download_package($package, $check_signatures = false, $hook_extra = Array) in phar:///usr/local/bin/wp/vendor/wp-cli/core-command/src/WP_CLI/Core/CoreUpgrader.php on line 30

Expected Behaviour
It works.
Steps to Reproduce
Type npm run env:start
Screenshots

Additional Context

Plugin Version: 1-RC1-1.0.0
Operating System: Mac OS 10.15.7

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

WP-CLI is not compatible yet with the changes in WordPress 5.5.
A new release of WP-CLI will be out soon though.
No change required on our side.

Closing as the new WP-CLI release should be out soon

Reopening, as I am still seeing this issue.

Found as part of #7269

@schlessera Can you provide any advice here?

If you need an immediate solution here, you'll need to use an image that uses WP-CLI nightly instead of stable.
A new stable is in the works and we're finally working on the last blocker: https://github.com/WordPress/Requests/pull/471. As soon as that release of Requests is published, I'll prepare a WP-CLI v2.5.0 release as well.

Perhaps we can simply run wp cli update --nightly in our script. If not, I'm inclined to just close this issue (again) as this will be resolved with the upcoming release.

Just as a heads-up, the Requests library has finally had its v1.8.0 release, and I'm working on a release of WP-CLI now.

I tried using wp cli update --nightly but the container doesn't let me update.
Error: /usr/local/bin/wp is not writable by current user.

I think might be best to wait until WP CLI 2.5.0 comes out. We can then set WORDPRESS_CLI_VERSION as a env variable.

I don't think that's how ENV directives work in Dockerfiles. You can't just override them from the outside.
Let's wait for WP-CLI  2.5 to be released and the Docker images to be updated.
Don't want to spend any more time on this.


How to use code to infer in my own data set? My own data set is not labeled, just want to see the actual application effect of HOI algorithm

thank you  for your work!
How to use code to infer in my own data set? My own data set is not labeled, just want to see the actual application effect of HOI algorithm.
thank you very much.

Hi @ahong007007,
If you are only trying to run inference, it should be fairly simple. You can find the inference code here. In particular, the data was loaded at line 125. Replace the three variables with your data, it should work.
125    image, detection, target = dataset[args.index]

In terms of the format, if I remember correctly, image is a 3d tensor with shape [3, H, W], detection is a dictionary with detected bounding boxes, labels and scores. Since your custom data is not labelled, you can set target to None.
Try printing out those three variables to see the detailed data format.
Fred.


Fixed plane rendering

Now planes are correctly highlighted when you look at them not from the initial point.

Thanks a lot !!!!!
I have to admit that I'm very bad on material development and here you save the life of a lot developers from this community.
I you see overs wrong things in the materials or java code, I gave you the contributor role.

Thank you for accepting my pull request!
Initially I planed to use Filament for my ARCore project since there was no version of Sceneform updated to the latest libraries. However, after creating a simple application I understood that I would have to implement many things from scratch that were available in Sceneform. Also, working with the Sceneform source code appeared to be less scary than I thought!
Thank you for maintaining Sceneform! If I find any problems or add new things, I will definitely contribute to this repository.

You well understood the main AR problem on Android.
ARCore with Filament direct integration is not so simple at all. Some people (even in Filament team) view it as a simple Filament sample to copy/paste from the Filament repo.
This could be the case if considering that sceneform is only a bridge between ARCore Camera transformation applied to a Filament camera.
BUT here will come some questions:
"How can I place my model not only at the camera center?"
"Where are the shadows ?"
"Why does the model seems lighten while the real environnement is dark ?
"How can I place some objects depending on other ?"
...
Sceneform suffer from the fact that they originally made their own 3D render engine and model loading.
And from the complexity they introduced by enabling to much features.
In most usage case developers just want to have a glb placing in the AR environment, augmented image, video texture,...
THAT'S WHY
I'm currently working on a complete new framework more like Apple RealityCore and I really need help mostly on the material part. If you are interested in helping, I can give you the repo access on PM.

I have used AR Foundation for Unity and I like how it provides access to the AR functionality. The developer is still responsible for processing hit results and placing objects. However, it is not difficult since the objects can be added to the scene the same way it is done in other Unity applications. Planes are added to the scene by AR Foundation as normal game objects so it is simple to change their appearance by providing a custom material. Finally, the ray casting in Unity can be used to interact with object and UI elements in 3D.
AR Foundation provides abstraction for native AR frameworks (camera image rendering, virtual camera control and access to the AR functionality) but it doesn't change the way you work with the game engine. I think it would be great to have something similar for Android, for example for Filament.
Thank you for asking me to collaborate on the new framework. Unfortunately, I am working on my project so I will be able to help in the summer.


ISPN-14514 SIFS results in "Too many records for this key" exception

https://issues.redhat.com/browse/ISPN-14514

Looks like a related failure, looking rq.

Okay, found another missing reference that was reading a short instead of an int and was causing index to not rebuild properly. Updated.

Test failures unrelated now, so should be good 👍

merged! thanks @wburns !


Add Dependency to Rizin.Cutter

Related to #109817
Related to microsoft/winget-cli#3345

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/109857&drop=dogfoodAlpha

@wingetbot waivers Add Validation-Executable-Error


add example data-fetch-with-cookie

add support for cookie pass through in fetching both server side and client side rendering in next.js
Security, now all your logic are available by the browser (even if you use uglify), one logic for both server side and browser make your easier to maintain your logic while cheating become more easier. You must keep your data api work with user identity closely, to make your data safe, cookie is the most basical method.

I'm going to close this as it's not how we want to advertise doing auth in next.js. Also the readme is not in english. Thanks for your contribution!


[Question] How to implement a controlled component contains multiple fields?

Hi there, I'm trying to implement a Captcha component in my project.
the captcha component has two fields, captcha_id and captcha_answer, and the captcha_id field will be filled automatically when captcha challenge is fetched from server. There are many forms that require captcha protect, so I implement the get and refresh captcha challenge logic inside the component. It looks like this:
export default function (
  props: TextInputProps &
    ComponentProps<'input'> & {
      idFieldValue: Maybe<string>
      idFieldError: string | undefined
      answerFieldValue: Maybe<string>
      answerFieldError: string | undefined
    }
) {
  const [fieldProps, inputProps] = splitProps(props, ['idFieldValue', 'answerFieldValue'])
  const [captcha, setCaptcha] = createSignal<Captcha | null>(null)
  const [loading, setLoading] = createSignal(true)

  function reload() {
    setLoading(true)
    // getCaptcha is the API request method.
    getCaptcha()
      .then(resp => {
        setCaptcha(resp)
      })
      .catch(() => {
        setCaptcha(null)
      })
      .finally(() => {
        setLoading(false)
      })
  }
  reload()

  return (
    <>
      <input class="hidden" name="captcha_id" value={captcha()?.id || fieldProps.idFieldValue}></input>
      <Input
        value={fieldProps.answerFieldValue}
        {...inputProps}
        error={props.idFieldError || props.answerFieldError}
        extraBtn={
          <Button class="!rounded-l-none" loading={loading()} onClick={reload}>
            {loading() ? t('captcha.loading') : captcha() ? getCaptchaContent(captcha()!) : t('captcha.loadFailed')}
          </Button>
        }
      ></Input>
    </>
  )
}

And use it outside:
            <Field name="captcha_id">
              {idField => (
                <Field name="captcha_answer">
                  {(answerField, props) => (
                    <Captcha
                      {...props}
                      idFieldValue={idField.value}
                      idFieldError={idField.error}
                      answerFieldValue={answerField.value}
                      answerFieldError={answerField.error}
                    />
                  )}
                </Field>
              )}
            </Field>

but the captcha_id is always undefined when the form been submitted.
I have also tried pass the form to the component, but different forms have different form types. I'm new to typescript and don't know how to declare a generic type to adapt it.
export type CaptchaFormReq = {
  captcha_id: string
  captcha_answer: string
}

export default function (
  props: TextInputProps &
    ComponentProps<'input'> & {
      captchaForm: FormStore<CaptchaFormReq, undefined>
      ...
    }
) {
...
}

// report type errors when I tried pass a FormStore<LoginForm or other form types, undefined> to it

do you have any suggestions? any response will be appreciated!

Sorry I haven't replied yet. I don't have much time at the moment. I will try to answer your question on the weekend.

I think that you need something like a setCaptchaId prop to be able to write code like this:
            <Field name="captcha_id">
              {idField => (
                <Field name="captcha_answer">
                  {(answerField, props) => (
                    <Captcha
                      {...props}
                      setCaptchaId={(id) => setValue(form, 'captcha_id', id)} // <--
                      idFieldValue={idField.value}
                      idFieldError={idField.error}
                      answerFieldValue={answerField.value}
                      answerFieldError={answerField.error}
                    />
                  )}
                </Field>
              )}
            </Field>

that works, thank you!


Change the cover of the Progit book to the second edition

This closes #964

Nice. I had thought about putting a longer blurb there, but I think what you put there is nice and succinct. I'll merge this, and if anybody want to suggest changes for the blurb, they can open a new PR.


Release/1.0.4

Under the hood

Test with Python 3.13 (#365) (Thanks to @edgarrmondragon)
Shorten automatic github release title (#352)

coverage: 96.619%. remained the same
when pulling 9a70fb37146e83e1ab31b96ab4c8e0ac9bb9d696 on release/1.0.4
into 2c381e0146a7ece9866d7331ea3fbaba9cbbc09b on master.


Note about button text

When I was following this tutorial, for me the button did not say "Edit", it said "Transform Data".

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

@IsraelMcCulleyHCL - thanks so much for your feedback. You are correct. The UI for this procedure has changed.
I will update the text and image in a separate PR.
Thanks again for your contributions to the docs.

PR created here: https://github.com/MicrosoftDocs/dataexplorer-docs-pr/pull/1294
@IsraelMcCulleyHCL - thanks again for your feedback!


Get bounds of Graphics

Hi, are there any way to get bounds of Graphics?
i am using Graphics as base library in my framework, i want dynamically to create a canvas, and the canvas size is determined by the bounds of the instance of Graphics.

The short answer is no.
Have a read through the original post about this topic http://blog.createjs.com/width-height-in-easeljs/ and then the update here: http://blog.createjs.com/update-width-height-in-easeljs/
Bounds support was added to most object types (including Containers, which use their children bounds to calculate). Unfortunately, Graphics is much trickier. We are still looking at options, but as of today, there is no automatic support.

You could create a naive solution fairly easily, that would read through the graphics instructions list via Graphics.getInstructions(), and calculate maximal values of all significant points. It would give you rough bounds for most shapes, which you could then pad up slightly to accommodate things like stroke width.
Making this completely accurate is a huge challenge (as outlined in the blog posts above), but you might be able to build something that's good enough for your use case. If you do, feel free to share.

Hi @gskinner and anyone who visits this page in the future,
I created just such a simplistic solution, as I had need of it. Of course, I didn't implement everything, but enough to be interesting:
https://github.com/jcward/EaselJS-Graphics-bounds
Cheers,
-Jeff

Super cool! I'll check it out.


implement list proxies on client

Add command to list proxies in configuration

Thank you very much! First PR for this repo.
This is a very useful feature!
LGTM


added new api version for Tables resource

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
=> new version will be deployed after the freeze is over, early December
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
=>expect to publish swagger during December
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

/azp run

@ArcturusZhang CI is failed for go SDK

@jianyexi Could you help with CI LintDiff issues?

@jianyexi Could you help with CI LintDiff issues?

Please use v2/types.json to void conflict and also it contains correct "ErrorResponse"


production: error when querying lease status

I am unable to query lease status, is there an issue on the provider end?
Error: Get "https://provider.sjc1p0.mainnet.akashian.io:8443/lease//1/1/status": dial tcp <IP_ADDRESS>:8443: connect: connection refused

They used their actual dseq.  it's not clear to me why the deployment owner is not in the url - did they take it out maybe?

provider endpoints are fetching owner from certificate. i'll check why there are double slash

how does it know which cert to look up if it can't uniquely identify the deployment?

client certificate sent during TLS handshake

it wasn't missing - they removed it when reporting

client sends certificate during TLS handshake

the owner address is then looked up by cert hash?

server pulls owner address from CommonName field in the certificate

server pulls owner address from CommonName field in the certificate

Ok.  Then it's looked up from the chain?

Partially, certificate received from TLS handshake is then being validated on chain (serial # exists, valid, not expired, signed by same key etc) then CommonName (containing owner address) extracted

but couldn't someone make a cert with CommonName being someone else's address?

it can be done, but in order to pass they have to be signed bu same key

with error connect: connection refused most probably provider was restarted by us due to maintenance.


Dockerfile

Create a dockerfile that can build an image for running the application. Alpine based jre for java17 looks to be available here now:
https://hub.docker.com/layers/eclipse-temurin/library/eclipse-temurin/17-jre-alpine/images/sha256-839f3208bfc22f17bf57391d5c91d51c627d032d6900a0475228b94e48a8f9b3?context=explore

Would be good if  the dockerfile could be placed in the following directory: .github/workflows/ for dependabot support.

Would be good if the dockerfile could be placed in the following directory: .github/workflows/ for dependabot support.

Why would that be needed for dependabot? dependabot.yml should be in .github folder and then we tell it where to find dockerfile like this.
updates:

package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
Dockerfile should be in the root folder of the project for easy build and folder/file reference.

Another nice thing to have would be a folder that can be mounted from outside the container with files for our server. Like a webroot folder. To achieve that we can use the command VOLUME https://docs.docker.com/engine/reference/builder/#volume


fix: clusterrole-core rbac- watch customresourcedefinitions

Description
Error comes up in EKS 1.31 when running karpenter 1.0.4
karpenter-858865f4dc-rw92v controller {"level":"ERROR","time":"2024-09-30T08:52:19.124Z","logger":"controller","caller":"cache/reflector.go:299","message":"k8s.io/client-go@v0.30.3/tools/cache/reflector.go:232: Failed to watch *v1.CustomResourceDefinition: unknown (get customresourcedefinitions.apiextensions.k8s.io)","commit":"0f8788c"}

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for the contribution, but I'm closing in favor of #7128. We should only include these RBAC permissions if the webhooks / migration controllers are enabled.


stable_baselines3_example script: import error

Referring to the below script,
https://github.com/edbeeching/godot_rl_agents/blob/main/examples/stable_baselines3_example.py
Raises an ImportError:
ImportError: cannot import name 'export_model_as_onnx' from 'godot_rl.wrappers.onnx.stable_baselines_export'

Executing the script after commenting the line works. Assume, this issue is related to,
#84
#105
This script is referred in Train AI in Godot (Tutorial).
While onnx_export gets supported, the line should be ignored. This is a very small change and I can create a pull request. Please let me know.

OK. Found a related response from @Ivan-267 on discord.

The name of the method changed in a GDRL update, you could try installing the latest version of GDRL using:  pip install https://github.com/edbeeching/godot_rl_agents/archive/refs/heads/main.zip
If it doesn't work, you may need to uninstall first using: pip uninstall godot-rl
As an alternative to this, you could try using an older version of the sb3 example script without updating GDRL:
https://github.com/edbeeching/godot_rl_agents/blob/ed8407f1323f9eabff7beef8a2ead5c923d1d6a3/examples/stable_baselines3_example.py

Uninstalling godot-rl and installing again works.


Improve error handling when opening variables in the GUI

Two changes:

Handle the case where the HDF5 file isn't found. This may happen if there are multiple proposals in the same database, then RunVariables will attempt to look for an HDF5 file for the currently configured proposal and not be able to find it. We should fix this properly by adding support to the API for databases with multiple proposals.
Show a status message if there was an error instead of just logging something to the terminal.

LGTM


Allow building docs in Docker containers

We're now mounting the docs folder and installing the pip requirements for building docs.
FYI @kumar-sanjeeev

Noted. Thanks.

One observation before recommending building docs in the Docker container: I mounted the docs inside the container and installed pyrobosim locally using pip install -e .  inside container
The drawback:
Even though the source code is mounted in the container, changes won't reflect until I reinstall  it locally (local installation takes precedence). Previously, local changes reflected immediately in the container.

One observation before recommending building docs in the Docker container: I mounted the docs inside the container and installed pyrobosim locally using pip install -e . inside container
The drawback: Even though the source code is mounted in the container, changes won't reflect until I reinstall  it locally (local installation takes precedence). Previously, local changes reflected immediately in the container.

I think this has to do with mismatch between installing with pip install vs. with colcon build, as those are 2 separate installation targets.
The default container being used is the ROS workflow, so I imagine that the colcon build form of installing takes precedence.

Okay understood.


adding email deliverly v0

@dsshull @sgringwe

@rjnordeen thanks for writing this up.

just a few small changes.


Support implied do loop construct

This seems to be tricky, causing a conflict with the complex literal rule and not being parsed correctly when I fix the conflict.  It is a useful construct so I'll circle back around to figuring it out down the road after I hit some other big ticket items. I may run into similar complexities with FORALL statements.
Proposed rule:
    implied_do_loop_expression: $ => seq(
      '(',
      commaSep1($._expression),
      ',',
      $.loop_control,
      ')'
    ),

Docs on implied loops: https://pages.mtu.edu/~shene/COURSES/cs201/NOTES/chap08/io.html

Initial work done in support-implied-do-loops branch but I don't have it working yet.

@oponkork this is another feature I wasn't able to get figured out, please feel free to take a crack at it. Fortran is quite liberal with the range of stuff allowed in these constructs and I think that is what had me stuck before. I haven't tried to get it working since 2019.


[Tests-Only] Update owncloud/core commit id for oC10APIAcceptanceTests

Includes oC10APIAcceptanceTests changes from:

https://github.com/owncloud/core/pull/37689 issue-49 tag removed for public link tests
https://github.com/owncloud/core/pull/37660 Api test for copying file within a public link folder
https://github.com/owncloud/core/pull/37691 Refactor webdav auth tests
https://github.com/owncloud/core/pull/37701 Add acceptance tests to copy files over folder and vice versa
https://github.com/owncloud/core/pull/37706 Fix replacement usernames
https://github.com/owncloud/core/pull/37668 Reviewed scenarios with tag @issue-ocis-reva-21
https://github.com/owncloud/core/pull/37714 Allow up to 9 seconds delay in setTimeout API tests
https://github.com/owncloud/core/pull/37713 Api tests fix
https://github.com/owncloud/core/pull/37707 Add acceptance tests to copy files/folders in received shares
https://github.com/owncloud/core/pull/37722 Adjust test scenarios for ocis and reva so that they pass

Tests pass, but I  failed the changelog check - https://cloud.drone.io/cs3org/reva/1940/1/5
I put Tests-Only in the commit message and in the PR title. I thought that would allow the changelog check to pass.
What are we supposed to do for Tests-Only changes?
@ishank011 @labkode

@labkode can you merge this?
I want to start from a known-good up-to-date point to do some refactoring of the way the the API test tagging works.

We need to add that check here:
https://github.com/cs3org/reva/blob/master/tools/check-changelog/main.go#L35
Only the bot didn't trigger but the change-log enforce yes.
@ishank011 we should have an option in the tool Ishank that checks for commit messages or PR titles, we can use the go-github package to fetch PR info.

@phil-davis @labkode I think I missed adding that check in the enforcement action. Apologies, will add that.


Bug: sys.stderr.close() throws ValueError bug in WriteGear class

Bug Description:
The use of sys.stderr.close() at line: https://github.com/abhiTronix/vidgear/blob/8d1fd2afec1e42b5583c37d411a29a9f25e0e2fb/vidgear/gears/writegear.py#L230 breaks stderr and throws ValueError: I/O operation on closed file at the output. This also results in hidden tracebacks, since tracebacks are written to stder thereby making it difficult to identify this bug.
Code to reproduce:
from vidgear.gears import WriteGear
import numpy as np
import pytest

try:
	np.random.seed(0)
	# generate random data for 10 frames
	random_data = np.random.random(size=(10, 1080, 1920, 3)) * 255
	input_data = random_data.astype(np.uint8)
	writer = WriteGear("garbage.garbage")
	writer.write(input_data)
	writer.close()
except Exception as e:
        print(e)
finally:
	einfo = sys.exc_info()
	import traceback; print(''.join(traceback.format_exception(*einfo)))
	print('finally?')

This code will result in traceback with ultimately leads to ValueError: I/O operation on closed file at the output.

Successfully resolved in 7d43568cab8661106c0fd287a35bb97f51bad412


[java-exec] set permissions on fatjar

Fixes #1282
If the system running maven has a restrictive umask the generated fatjar may
not be executable inside the container.
Signed-off-by: Thomas Weißschuh<EMAIL_ADDRESS>

Should I do something about the test failures?
I don't think they are related to the changes here.

@t-8ch : No, I don't think so. They don't seem to be related to your change

Thanks


ARROW-12750: [CI] [R] Actually pass parameterized docker options to the templates

@github-actions crossbow submit test-r-rstudio-r-base-3.6-bionic


Fix HOFMRegressor test

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@667b0f5). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #266   +/-   ##
=========================================
  Coverage          ?   89.38%
=========================================
  Files             ?      184
  Lines             ?     6112
  Branches          ?        0
=========================================
  Hits              ?     5463
  Misses            ?      649
  Partials          ?        0

Impacted Files
Coverage Δ

creme/facto/hofm.py
100% <ø> (ø)

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 667b0f5...a1c6499. Read the comment docs.


Use new THT to trigger workflows during deployment steps

The deployment uses https://review.openstack.org/#/c/458058. Try using https://review.openstack.org/#/c/463324 instead. See example: https://review.openstack.org/#/c/465066

This is resolved as the POC is using those new Heat Templates:
https://github.com/fultonj/tripleo-ceph-ansible/tree/master/tht2mistral
The upstream changes will still need to merge but that doesn't need to be tracked here.


Unable to open device

Hi, I'm trying to use pyhidapi to send feature reports. This is a device normally claimed by the Windows operating system (HID mouse).
I needed to apply that patch to the HIDAPI C library: https://github.com/signal11/hidapi/pull/335
With it, I can open the device with C code and send feature reports, however with pyhidapi I can enumerate devices, but trying to create a hid.Device(vid, pid) results in
  File "C:\Python27\lib\site-packages\hid-0.1.1-py2.7.egg\hid\__init__.py", line 91, in __init__
    raise HIDException('unable to open device')
hid.HIDException: unable to open device

I use the DLL with the mentioned patch. Any ideas?

The version on pypi is outdated - it doesn't include the fixes for correct operation on Windows, which I finally merged today. Can you try with the code from master and see if that works?

Also, fwiw, prior to #12/#13 it will still locate and load hidapi.dll on Windows, it just uses the incorrect calling convention and nothing works.

I have Python2.7 [MSC v.1500 32 bit (Intel)] on win32 so I compiled the hidapi.dll with Visual Studio 2008. However, it didn't work with opening the device. When I compiled it with Visual Studio 2017, it works!
Since we are at it, there is no conversion of arrays from Python to C for calls like write() or send_feature_report(). Should I just import ctypes and do something like
arr = (ctypes.c_int * len(pyarr))(*pyarr)

You are expected to pass strings for calls to write or send_feature_report. If you have some structured report you need to build up, the struct module that ships with python is your friend.

I just want to pass an array of bytes. When passing a python string, I get hid.HIDException: <exception str() failed>.
Ended up with ctypes.c_ubyte which works fine for sending reports.


Support PPE profiling

One of requirements in our systems is to be suitable with other tools. As PPE has now Profiling feature, it would be nice if PFIO rides on its use cases, rather than inventing its own.
c.f. https://github.com/pfnet/pytorch-pfn-extras/pull/144
Update: PPE and PyTorch are both not ready for 3.10. https://github.com/pfnet/pytorch-pfn-extras/issues/386

Approach:

Put PPE's decorator onto PFIO
Check if we can get stats by adding current decorator
Check the chrome tracing in outdir once PPE emit happened: c.f. https://github.com/pfnet/pytorch-pfn-extras/issues/729
Save the start/end timing as trace with PPE

All milestones are now completed 🎉
Thank you for working hard with us and your contribution, @KantaTamura!

So it's now ready to ship :congratulations: . It'll be included in 2.9.0 release as the key feature of the new release.


[iOS] Create the Microblink Email Methods

As a developer
I need to link a Email account
So that I can grab the user orders
What it is now
There is no Email account after the microblink sdk is initialized
What it should be
The Email class created in tiki-bar/tiki-capture-receipt-capacitor  should have the method to link a Email account, and handle errors.
Acceptance criteria
The Email class can link an account

note to self: follow the android implementation


[gas] Put cost table behind protocol config and change charging for out of gas during storage charges (from PR 10435)

Description
This adds versioning for the cost table, and the GasStatus no longer holds a reference to the cost table but now owns the cost table -- this then caused a bunch of removals of lifetimes from parts of the codebase.
This then introduces a new protocol version (5) that will then be used to update the cost tables in an upcoming PR later today, and also adds the update from PR #10435 as the top commit and gates this behind protocol version 5 as well.
cc @dariorussi
Test Plan
Added new tests for the gas logic from PR #10435

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Wanted to shill https://github.com/MystenLabs/sui/pull/10682/ as a potentially useful tool for easily writing tests that run the same code across multiple protocol versions!

Wanted to shill #10682 as a potentially useful tool for easily writing tests that run the same code across multiple protocol versions!

show-off....


Rebase ncl-update onto develop to update backend NCL code

Fixes #21 by simply rebasing the new NCL code from the ncl-update branch onto the develop branch. Tested locally on my system for my specific use case, which works, but I don't see a Python 3-specific module in the test directory to run any sanctioned unit/regression tests.

While there is no specific python 3 test scripts, you can run the *.py files in there manually. Can you run the .py files and make sure they don't have any segfaults or other problems? The code that is being merged has a lot of changes to the hdf5 stuff, and this is where there are likely to be problems. If you can run the .py files, then I'll go ahead and merge the PR.  Thanks!

I've run all the *.py files in the test directory with no (obvious) errors. Output is attached.

py3_test_output.txt


InteractiveViewer.builder does not function if built widget is small

Steps to Reproduce
Dartpad: https://dartpad.dev/?id=77e94340a3cc00f254831939b9d0a88e
Expected results:
I expected to be able to move the viewport and receive coordinates
Or, InteractiveViewer throws an error for having a child too small
Actual results:
Viewport does not move on gestures, except for one initial jump (unclear as to why the jump)
Viewport operates fine if size of container is increased

Code sample
Dartpad: https://dartpad.dev/?id=77e94340a3cc00f254831939b9d0a88e
import 'package:flutter/material.dart';
import 'package:vector_math/vector_math_64.dart' show Quad, Vector3;

void main() => runApp(IVWidgetExample());

class IVWidgetExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return InteractiveViewer.builder(
      builder: (BuildContext context, Quad viewport) {
        Vector3 p0 = viewport.point0;
        Vector3 p1 = viewport.point1;
        Vector3 p2 = viewport.point2;
        Vector3 p3 = viewport.point3;

        print("Quad: $p0 $p1 $p2 $p3");
        return Container(
            height: 200,
            width: 300,
            decoration: const BoxDecoration(
              color: Colors.cyan,
              shape: BoxShape.circle,
            ));
      },
    );
  }
}

Apologies if I'm just generally doing something wrong, wasn't quite sure if this was an actual issue.

@alelazar
I ran the code sample on latest master and see below:

flutter: Quad: [0.0,0.0,0.0] [428.0,0.0,0.0] [428.0,926.0,0.0] [0.0,926.0,0.0]
What's the expected result you are looking for in this ?

@darshankawar
I expected to be able to move the viewport and receive coordinates
Or, InteractiveViewer throws an error for having a child too small
For example, this is how it handles the same container in child form: 18f6ffc4e5009ad7748c2ecd52cb423b

Thanks for the update. Changing either the width or height to more than 300 and then trying to move the viewport, it receives and returns the coordinates, but anything less than or equal to 300, the viewport doesn't move, as shown below:
https://user-images.githubusercontent.com/67046386/148015205-27540842-f2a8-4ec7-a5cc-b9cf8b573a15.mov

 stable, master flutter doctor -v
[[✓] Flutter (Channel stable, 2.8.1, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-GB)
    • Flutter version 2.8.1 at /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (13 hours ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 93.0.4577.82

• No issues found!

[✓] Flutter (Channel master, 2.9.0-1.0.pre.228, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.9.0-1.0.pre.228 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ad0c95ded2 (6 hours ago), 2022-01-03 18:00:20 -0500
    • Engine revision 02f543f194
    • Dart version 2.16.0 (build 2.16.0-134.0.dev)
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/dhs/Library/Android/sdk
    • Java binary at: /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/dhs/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 93.0.4577.82

• No issues found!

/cc @justinmc

If you add this parameter to your InteractiveViewer then it will allow panning:
boundaryMargin: EdgeInsets.all(double.infinity),

By default, boundaryMargin is zero, meaning that the child is tightly bounded on all sides and won't be able to be panned.
There does seem to be some kind of bug here with the size allowing a little bit of movement, though...  I thought it was just the aspect ratio, but the same aspect ratio doesn't seem to make it work for smaller sizes.

@justinmc I think my confusion here is the difference in behavior of child and builder when both are given the same widget.
As for the movement jump, I just have a knack for finding weird edge cases :)


Add HackerOne as data source

Now that API access is available, it would be great to have HackerOne as a data source
https://api.hackerone.com/hacker-resources/#hacker-resources

@divyeshio do you mean including the blog articles (blog)?

No, I meant Hacktivity like this


Corrected read time to use proper English

See Stack Exchange article below for more information. These nouns are modifying the word read, and thus don't require the plural form.
http://ell.stackexchange.com/questions/14290/shouldnt-five-minute-walk-be-five-minutes-walk-in-this-sentence

Hi !
Thanks you for your PR ! Happy to merge it, and learned something by the way, thanks you.

Thank you for the merge and for this theme!👌🏻


Update to 1.21.1

Update the paper dependency version and API version in paper.yml and test.

At the same time, also need to update java version to 21


Warnings due to Using an external vector in selections was deprecated in tidyselect 1.1.0.

We're getting warnings about tidyselection with vectors, see e.g. checks here: https://github.com/pharmaverse/sdtm.oak/actions/runs/9976393726/job/27568469297.
It is not obvious to me where the tidyselection is happening with vectors. I believe the warning message is also misleading when it suggests select(), as mentioned here: https://github.com/r-lib/tidyselect/issues/334. I think in our case it is more indirect. It is a bit difficult to pinpoint where this is happening because locally I don't get these warnings. Not sure if this has anything to do with different behavior between direct / indirect usage, as explained here: https://www.tidyverse.org/blog/2022/10/tidyselect-1-2-0/.
See also: https://tidyselect.r-lib.org/reference/faq-external-vector.html.

Attempt to suppress the warning and add note to cran-comments.md.

For future reference: it turned out that .before / .after in dplyr::mutate() also require tidyselect verbs, e.g. dplyr::all_of(). So this had nothing to do with arguments passed in the ellipsis or with the NSE being employed. Better this way!
Kudos to Adam (https://github.com/pharmaverse/sdtm.oak/commit/cc5ad17fb1af6745d11f4c9ae4f0f2f2a99f1fc3)!


Added missing parameters from ZCS AZZURRO 3PH inverters

I have reviewed the registry values from the file that ZCS shared and have removed comments from sensors that were removed.
I've added translations for Italian language and edited the documentation to better identify rebranded 3-phase Sofar inverters.
This is the file ZCS shared: ModBus-RTU.Communication.Protocol.3PH.Hybrid.and.Inverter.pdf

@StephanJoubert, tagging you to give visibility of this. Please do let me know if you think this could be merged. Thanks!

Tagging also the top contributors with the highest number of commits according to Github Insihgts: @jmccrohan, @YodaDaCoda, @lukasniemeier. Could you please review if this could be merged? Thanks!


There is possible bug in d3_svg_axisX method

When we use big numbers in data to create histogram by d3.js (v3.5.5) error appears :

Error:  attribute transform: Expected number, "translate(1e+39,40)".

So after read source code I have some question :
Is check isFinite() legally to validate argument for SVG 'translate()' in
in this line ?
Maybe we need check whether it is octaword ? Because translate(1e+38) works fine, but translate(1e+39) failed?
If there is a really problem, was it fixed in version 4, or Is it possible to fix this in the current version?

You've reached the maximum single-precision floating-point value:

(2 − 2−23) × 2127 ≈ 3.402823 × 1038

https://en.wikipedia.org/wiki/Single-precision_floating-point_format
You can see this issue with these example SVGs:
Valid
<svg>
  <g transform="translate(3.402823e+38,0)"></g>
</svg>

Invalid
<svg>
  <g transform="translate(3.402824e+38,0)"></g>
</svg>

If you want me to investigate, please post a live example to reproduce the issue; I can’t speculate as to the cause of this issue from the error message alone. It looks like the scale you are using in conjunction with the axis is returning unreasonably large values. Any value equal or higher than 1e21 (or smaller than 1e-6) will be formatted using exponential notation. If I recall correctly, older browsers didn’t always support parsing exponential notation, but I can’t remember if that problem applied to SVG or CSS. In any case, you probably want to investigate how your scale domains and ranges are defined, and which values you are passing to them; you should also be careful to avoid defining a log scale with a domain that crosses zero, passing zero to a log scale, or trying to transition the axis from a log scale to a non-log scale.
When reporting an issue, please include a link to a live example, preferably on bl.ocks.org or RunKit, or as a pull request in the appropriate repository with new unit tests, that demonstrates that the described behavior is not the expected behavior. Use only the minimum amount of code necessary to reproduce the unexpected behavior.
A good bug report should isolate specific methods that exhibit unexpected behavior and precisely define how expectations were violated. What did you expect the method or methods to do, and how did the observed behavior differ? The more precisely you isolate the issue, the faster I can investigate.
Non-actionable bugs may be temporarily closed until you provide additional information. If you can’t isolate the bug any further, please let me know and I will try to help. However, I beg your patience: I must balance your request against many other responsibilities—fixing other bugs, answering other questions, new features, new documentation, etc. Please also consider asking for help on Stack Overflow.
If you have a question about D3’s behavior and want to discuss it with other users, also consider the d3-js Google Group or joining the d3-js Slack.
Thank you! 🤗

http://jsfiddle.net/fortooon/q5fyae9c/
there is you can see in this live example error in console like in my case.
Please help, how I can avoid it or may be it is a really bug inside d3.js

You might use tickFormat (documentation):
var xAxis = d3.svg.axis()
  .scale(x)
  .tickFormat(d3.format(",.0e"))
  .orient("bottom");

This doesn’t appear in 4.x, but it’s somewhat of a coincidence given that the ticks are now offset by a half-pixel (https://github.com/d3/d3-axis/commit/95e3f54d2655c0d0b99297c63dc2202cdb0b7d67).
The trigger is that the value returned by the scale for is very-nearly but not exactly zero, and thus is formatted in exponential notation with a large negative exponent (9.2e-48), which Chrome then considers as invalid SVG. However, this is a browser bug, because the SVG specification documents that exponential notation is valid for transforms and paths, and indeed it is for other exponents such as 9.2e4. (D3 is not a compatibility layer.)
Here are a few ways to avoid the problem:

Ensure that your range doesn’t include zero. For example, if you use the newer margin convention where the scale range is [margin.left, width - margin.right], and margin.left is positive, the range won’t cross zero so you won’t be at risk of producing a near-zero value.

Enable rounding, e.g., scale.rangeRound.

Here’s an example:
https://bl.ocks.org/mbostock/23c6093cc6f9c8ef50d630f80a054d42


De-experimentalize compression

Removes all docstrings referencing compression as an experimental API.

That flake is addressed by this PR


Update TwoComplement.js

Describe the changes you have made in this PR -
Added a hyperlink to the code after clicking help we directly navigate to that particular document.
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

@neerajbachani Thanks for raising PR
But https://github.com/CircuitVerse/CircuitVerse/issues/3623 issue is assigned to other contributor and you can not work on the issue which is assigned to other contributor before getting assigned!
Closing this...


custom-installs.sh Script to Create Hidden Service Address for remote SSH access

I've been using (and LOVING) my Raspiblitz for less than a week, but I was surprised to see that there's no apparent Tor address for SSHD. This would allow SSH access from outside your home network without opening/forwarding a WAN port on your router.
After watching Rootzoll's great YouTube video on "How to Contribute", I made a simple script to add the SSHD Hidden Address, and tested it. It seems to me to be a feature that should be "ON" by default, so no Menu toggle necessary.
My coding skills are "lower-intermediate", so when I went to add the SSHD Hidden Service hostname to the INFO page, I wasn't confident that I could do it. If someone else wants to take this further and create a PR, go ahead...but my preference would be to learn how to do it myself.
I know how to create a Github branch and a PR, I just don't yet have a grasp of the RaspiBlitz file structure to go much further on my own.
Here is the script:
########################################################
Script to create HiddenService for SSHD
sed -i '$ a\ ' /etc/tor/torrc
sed -i '$ a# Hidden Service for SSH via Tor' /etc/tor/torrc
sed -i '$ a\HiddenServiceDir /mnt/hdd/tor/sshd' /etc/tor/torrc
sed -i '$ a\HiddenServiceVersion 3' /etc/tor/torrc
sed -i '$ a\HiddenServicePort 22 <IP_ADDRESS>:22' /etc/tor/torrc
sudo systemctl restart tor
########################################################

Are you refering to SSH?
https://twitter.com/openoms/status/1361449493015777285
There is this project Shellinabox:
sudo apt install shellinabox
config.scripts/internet.hiddenservice.sh shellinabox 443 4200

Open the https://.onion in the Tor Browser

Disclaimer: it is what you would expect of onion routing, slow but secure. Dont let anyone see this address.
To access from outside home you have to use a service that provide this connection. As VPN Zero Tier is recommended and implemented on the menu, which you can set to route directly from around the globe if you have a machine in each location.
https://www.zerotier.com/

Are you refering to SSH?
https://twitter.com/openoms/status/1361449493015777285
There is this project Shellinabox:
sudo apt install shellinabox
config.scripts/internet.hiddenservice.sh shellinabox 443 4200

Open the https://.onion in the Tor Browser

Disclaimer: it is what you would expect of onion routing, slow but secure. Dont let anyone see this address.
To access from outside home you have to use a service that provide this connection. As VPN Zero Tier is recommended and implemented on the menu, which you can set to route to your machines if you have a machine in each location.
https://www.zerotier.com/
I didnt try ZeroTier yet, still reading the documentation.

Yes, I was referring to the SSHdaemon that is given a hidden address.
The Shellinabox looks interesting. I'd like to hear from anyone who has tried it.

I tried...
It is nice to have this feature, quite dangerous if you cant change the onion address per option. But if you would like to search how to change the onion address if the users choose to, I would like to try it out.
Nothing bad to say about it, just not been developed anymore.

Yeah, I think my needs are met by just the script I wrote. I dont like using privacy software that is no longer being maintained.

Hi @davterra thanks for sharing your script - that is the way :)
First of all there is a config-script of RaspiBlitz you can use to expose the ssh port 22 with tor thru a oneliner:
/home/admin/config.scripts/internet.hiddenservice.sh see here: https://github.com/rootzoll/raspiblitz/blob/v1.6/home.admin/config.scripts/internet.hiddenservice.sh
So it should be '/home.admin/config.scripts/internet.hiddenservice.sh ssh 22 22' (cant test I am on the road)
The script will let you know the created onion-address and the config it will surive an update or migration.
To make this default .. I am not completly convinced, because I think its good practice to just open such important services to the public if needed. But to make izt more easy - for example to add this options to the SETTINGS menu can make much sense.

@Ben10Brasileiro ah OK you already pointed him to the config script :) thx

To make this default .. I am not completly convinced, because I think its good practice to just open such important services to the public if needed. But to make izt more easy - for example to add this options to the SETTINGS menu can make much sense.

I agree with you, just as an option on menu but not default.

Yeah, I'm fine with just an option on the menu.

Useful issue about concerns https://github.com/rootzoll/raspiblitz/issues/2273
Check to persist /mnt/hdd/tor/ssh after update https://github.com/rootzoll/raspiblitz/issues/2306
Important note on the last issue: add client auth (+1 layers of security). This also can be used for the webUI, the key will be entered in the browser.

The tor folder persists, only the torrc file doesn't.
Changing the SDcard needs physical access already so there is no point persisting the remote access (and a security concern also: https://github.com/rootzoll/raspiblitz/issues/2306#issuecomment-843460518)

About security concern, answered on the above mentioned issue. About changing the sd card, correct.


only web start error

Describe the bug
If you try to run it through the web without running Electron, an error will occur.
success
"start": "concurrently "yarn dev:electron" "yarn dev:web"",
error
"dev:web": "vite",
Can't I just run the web alone?
Electron-Vite Version
2.0.0
Electron Version
28.2.0
Vite Version
5.0.12
Validations

[X] Follow the Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

You should add a separate configuration file for vite.

Hello, thank you for your response.
Could you please let me know the link if the docs say what setting to do?
-----Original Message-----
From: @.>
To: @.>;
Cc: @.>; @.>;
Sent: 2024-03-07 (목) 00:24:20 (GMT+09:00)
Subject: Re: [alex8088/electron-vite] only web start error (Issue #438)
You should add a separate configuration file for vite.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

https://vitejs.dev/config/


Blinding/Unblinding [CT/Model]

Part of #119.
This will require the creation of our first implementation of Text Blobs on order to deliver this.

M11 Brainstorm for DDF_Blinding and Unblinding.xlsx

@EMuhlbradt Image I used on scrum call 25th July

@EMuhlbradt @czwickl
Per our discussion this morning I've attached 2 options for modeling these elements.
Option 1 uses the "Section" approach in @dih-cdisc diagram.

Option 2 uses the approach mentioned in the note under "blinding" where it is just a text blob.

Let me know if I have missed anything.  We should discuss if in Option 2, text should be a list of strings.
CC @BSnoeijerCD

Hi all,
We need certainly the content class as indicated above.  Because we need to reuse that for other parts of the model.
What would be stored in the new blinding / unblinding classes? If it is only 1 row per content item then it seems superfluous to create separate classes for it. Then the content class alone is enough for now (like the TS domain of SDTM).
In the content class, we can indicate the contentType and in such way divide the different content areas to the specific domains. Like you did with  scheduledInstance and scheduledInstanceType (activity or decision).
ContentType could then be (unblinding / blinding / etc) .
If we have other more structured information that we want to model then we can link the corresponding content parts to that but for now I think it is not necessary to create a number of almost identical classes.

@BSnoeijerCD, Here is the verbatim text from the M11 template regarding the Emergency Unblinding data element:
"Describe the criteria for breaking the trial blind or participant code. Discuss the circumstances in which the blinding would be broken for an individual or for all participants (for example, for SAEs) and who has responsibility. Include the procedure for emergency unblinding such as via IVRS/IWRS or code envelopes as well as documentation of unblinding. Indicate to whom the intentional and unintentional unblinding should be reported."

@czwickl, I think 'Type' isn't the correct word to use here given our very specific usage of that word 'type' in Phases 1 and 2 of project development. Can we consider a different name to share with the dev team?
'contentParameter'
'parameterName'
'parameterTitle'
Thoughts?
Also, question for the whole group...what is meant to be the value for the 'name' attribute of the Content entity? I'm struggling to define it so that it is distinct from the expected list of value 'names' for the contentType attribute (or whatever we end up calling it) above.

Based on our team discussion yesterday and Mark's updated figure, I think we could call these things either "ContentSubsection" or "ContentSubtopic" instead of "ContentType". I lean more toward the first, as it is more aligned with the idea of the content being associated with particular subsections of a protocol. All major sections could be part of the "subsections" class since they are single pieces of a complete protocol, so the word "subsection" is safe for everything.

@BSnoeijerCD Should ContentParameter be another enumeration like ContentTopic or is a String good enough?

@MarkPAndrews String is good enough for content topic. ContectText should have richText formatting included.

Here is the new partial UML.

Per our conversation in the stand up:  Here is the new model.

Per our conversation in the stand up: Here is the new model.

@BSnoeijerCD @MarkPAndrews Some observations

sectionName -> sectionTitle, I think title is the more obvious label for this, e.g. "1.1.2 Section On Boring Stuff" -> Number = "1.1.2" and Title = "Section On Boring Stuff"
Content should be able to recurse so that subsections can be held
text and the RichText datatype. I think we should not use RichText, not a great standard. [x]html would be better, given it is W3C

Worth looking at
HL7 FHIR compositon resource and the section class. Note they have Narrative type for the text. Slightly more elaborate than we might need but xhtml based.

@dih-cdisc Good points.

Changing sectionName to sectionTitle makes it even more clear. In addition to the above, we also decided to add Name to address the M11 name of the content.
We decided to leave the recurse part for a next iteration when needed. So we can add that later and discuss the implications.
@MarkPAndrews : Can you change this the type for Text as indicated by Dave? And also the SectionName to sectionTitle?

We discussed the contentTypes. We started with that to begin with but we had the issue that this is in a number of cases can overlap and seemed superfluous to the sectionTitles and numbers. So we decided to leave it out for now and see whether it is necessary in the future.
@jared-schreibman-cdisc , @EMuhlbradt @czwickl -> see comment of Dave on SectionTitle

@dih-cdisc @BSnoeijerCD Here is the updated model.  I changed text to a String which should be fine to hold the (X)HTML.  We can note in the CT the intent to have the contents of text be HTML.

CC @EMuhlbradt

As just discussed: Add contentParent in the content class as a self-reference to the content class.
Note: for the API it should be contentParentId !

@jared-schreibman-cdisc : The final following attributes are added for the new content class/entity (as you can see in the scheme above):
id
SectionNumber
SectionTitle
Name
Text
contentChildren
content class needs to be nested in the StudyDesign class.
contentChildren is a reference to itself: so it should be have format text in the API with the addition of "Ids" to the attribute name => contentChildrenIds (as per rules that we defined in the previous sprint).


Video demo with Referring Text

As far as my current understanding. Video demos only support draw on referring image.
Is there any limitation on it? can we use text or audio prompt?

Our video version is also able to support text and audio. But if you would like to use the text prompt for video please checkout X-Decoder that has better performance: https://github.com/microsoft/X-Decoder, and please refer to the video demo: https://youtu.be/nZZTkYM0kd0?t=27


Multilevel table header in the docs not rendering properly.

What we see in the docs:

How it should look like:

I did quick research on my own but couldn't find how to fix that.

I took a look at this, and the problem is that is not easy to convert the multindex result to a table in rst.
I hacked a solution formatting the headers in a custom way. This is the result:

The custom formatting looks like this:
visited = [[], []]
lines = []
for col in results.data.columns.values:
    line = ''

    top = col[0]
    top_not_visited = top not in visited[0]
    if top_not_visited:
        line += '| ' + top.strip()
        visited[0].append(top)
        visited[1] = []
    line += '\n'

    middle = col[1]
    middle_not_visited = middle not in visited[1]
    if middle_not_visited:
        line += '| ' + middle.strip()
        visited[1].append(middle)
    line += '\n'

    line += '| ' + col[2].strip()

    lines.append(line)

single_level_data = results.data.copy(deep=True)
single_level_data.columns = lines

print(single_level_data.to_markdown(tablefmt="grid", stralign='left', numalign='left' ))

This code makes the output of the headers look like this:
+---------------------+---------------------+-----------+------------------------+---------------------+---------------------+-----------+-------------------------+
|                     |                     |           |                        |                     |                     |           | | gas_price_per_litre   |
|                     |                     |           | | kolmogorov_smirnov   |                     |                     |           | | jensen_shannon        |
| | lower_threshold   | | upper_threshold   | | value   | | alert                | | lower_threshold   | | upper_threshold   | | value   | | alert                 |
+=====================+=====================+===========+========================+=====================+=====================+===========+=========================+
+---------------------+---------------------+-----------+------------------------+---------------------+---------------------+-----------+-------------------------+

@nnansters @nikml do you think is worth formatting that table this way?
I feel it makes the docs look cleaner, at the expense of having a weird looking code on the notebook (instead of the usual print(single_level_data.to_markdown(tablefmt="grid")

I like it, the weird looking code is not user facing so not that big of a problem. Assuming we could even make this a function somewhere? and import/call it when needed?

After a refactor we can have 2 functions:
def format_multiindex_columns(df):
    size = len(df.columns.values[0])
    headers = []
    depths = list(range(0, size))
    visited = list(map(lambda _: [], depths))

    for col in df.columns.values:
        if isinstance(col, str):
            headers.append(col)
            continue

        header = ''
        for depth in depths:
            line = col[depth]
            is_visited = line in visited[depth]
            is_last_depth = depth == (len(depths) - 1)
            if not is_visited:
                header += '| ' + line.strip()
                visited[depth].append(line)
                if not is_last_depth:
                    visited[depth + 1] = []
                    header += '\n'
            else:
                header += '\n'

        headers.append(header)

    return headers

def format_multiindex_df(df):
    headers = format_multiindex_columns(df)
    single_level_data = df.copy(deep=True)
    single_level_data.columns = headers
    return single_level_data

This way we can use them to format df of N indexes

Where should this functions live? is there another example of "docs only" functions?

Nice! Seems like a good solution 👍
Not sure about a place to store it though. I guess the easiest approach is to have to go inside the library, which seems like something we'd want to avoid. Alternatively we could store it under docs and add that directory to the path to enable imports. Manipulating sys.path could be done from docs/run_notebooks.py, but it would likely break running the notebook in an editor...

Since this is formatting specifically for the docs I  prefer to have this be a part of the documentation build. This implies we should have a snippet of code that can take the formatted table as is and update the headers. Then we can make this a part of our custom directives we run to import notebook cells.
I'll give it a quick look


As a developer, i want to be aware of Bazel parsing errors that cause the extension to break.

00:45:50.801 [pool-2-thread-1] INFO  server.bazel.cli.Bazel - Getting BuildTargets...
00:45:51.072 [pool-2-thread-1] INFO  server.bazel.cli.Bazel - Parsing Error
00:45:51.072 [pool-2-thread-1] INFO  server.workspace.Workspace - ERROR: /workspaces/dev/playground/examples/intellij/BUILD:54:11: Label '//javascript:integration_tests' is duplicated in the 'tests' attribute of rule 'ijwb_ue_tests'
In this case there was an error the build file that causes the parsing to break and for the Workspace tree to not be populated correctly. Breaking many of our features.
There should be a notification to the user about the parsing error allowing the user to

Navigate to the broken BUILD file,
Restart the language server when fixed

I don't know if restarting the language server would be good. May re-querying would suffice?

Yeah re-querying would be better.
I only suggested restarting the server sine it was the only was we currently have of triggering the re-query.


image_format not set from metadata

I'm not sure but I think this might be wrong..
https://github.com/mapbox/mbutil/blob/bfcd0d5612a7e1e7afbc45b612e3c2d204a807f4/mbutil/util.py#L181-L193
The top line get the command line format argument and defaults to png?
Then further down the image_format is set again from the command line arg without a default making the first line redundant?
Perhaps the second time image_format is set it should be pulling from metadata?
I believe this is why I needed to set the format in https://github.com/mapbox/mbutil/pull/89/files#diff-3eb4d995269f8dd7de58cb236d151d7bR57 rather than letting it default to what it found in metadata.json.

Line 185 looks like a bug to me, I think we could delete it. Can you submit a PR?

Wontfix now, see #94.


Feature - Custom Preset Selection Section

Describe the solution you'd like
add a “custom presets” (Favorites? Name TBD) section, so that you can define your own (not device) presets.
data items can be specified in the configuration itself, or loaded from a file located in the config directory (shared among multiple cards).
data items should be in the form of ContentItem data, so that the ‘play_contentitem’ service can be used to play the content.  This also allows cover art url to be specified.
  - ContentItem:
    is_presetable: false
    name: Veronica
    item_type: stationurl
    location: /v1/playback/station/s6717
    source: TUNEIN
    SourceAccount: xxxxxxxxx
    ContainerArt: /local/xxx. or CDN  link or mid:icon format

added with v1.0.4

From the wiki documentation ...
userPresets User Preset Content Items
Media content item entries that represent the content to play.
type: array of ContentItemParent objects.
required: false
default: none
Omit this parameter to not define any user presets.
YAML Example
The following tries to document the various popular sources that are available to play content from.
This is by no means a complete list.
Substitute your user-specific information in the various items (e.g. "yourSpotifySourceAccount" with your Spotify user-id value, "yourPandoraUserId" with your Pandora user-id value, etc).
userPresets:
  - ContentItem:
      Name: K-Love Radio
      ContainerArt: 'http://cdn-profiles.tunein.com/s33828/images/logog.png?t=637986894890000000'
      Location: '/v1/playback/station/s33828'
      Source: TUNEIN
      TypeValue: stationurl
  - ContentItem:
      Name: Spotify Playlist Daily Mix 1
      ContainerArt: 'https://dailymix-images.scdn.co/v2/img/ab6761610000e5ebcd3f796bd7ea49ed7615a550/1/en/default'
      Location: 'spotify:playlist:37i9dQZF1E39vTG3GurFPW'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Spotify Artist Mercy Me
      ContainerArt: 'https://i.scdn.co/image/ab67616d0000b27316c019c87a927829804caf0b'
      Location: 'spotify:artist:6APm8EjxOHSYM5B4i3vT3q'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Spotify Album Welcome to the New
      ContainerArt: 'https://i.scdn.co/image/ab67616d0000b27316c019c87a927829804caf0b'
      Location: 'spotify:album:6vc9OTcyd3hyzabCmsdnwE'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Track I Still Believe
      ContainerArt: 'https://i.scdn.co/image/ab67616d0000b27391efaaa4c9b4b311ddc428b0'
      Location: 'spotify:track:3EtOah8NqZ1FqpQR837v0z'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Spotify Episode We Can Do Hard Things
      ContainerArt: 'https://i.scdn.co/image/ab6765630000ba8a31936fcc7887c8a10ba9af9d'
      Location: 'spotify:episode:3tWDribcG7X5Q6KBx8xupp'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Spotify Podcast K-Love On The Mic
      ContainerArt: 'https://i.scdn.co/image/206f1a5d5e27e9516a5c0cdb06ee3ae079a78ac9'
      Location: 'spotify:show:39EidgdUzHLZ1Wab01NiGk'
      Source: SPOTIFY
      SourceAccount: yourSpotifySourceAccount
      TypeValue: uri
  - ContentItem:
      Name: Pandora Zach Williams Radio
      ContainerArt: 'https://content-images.p-cdn.com/images/68/88/0d/fb/aed34095a11118d2aa7b02a2/_500W_500H.jpg'
      Location: '126740707481236361'
      Source: PANDORA
      SourceAccount: yourPandoraUserId
  - ContentItem:
      Name: NAS Album
      ContainerArt: http://<IP_ADDRESS>:10243/WMPNSSv4/2050238549/0_N18xMTRlOGRlOS00MDE5.jpg?albumArt=true
      Location: '7_11412345'
      Source: STORED_MUSIC
      SourceAccount: 'd09708a1-5953-44bc-a413-123456789012/0'
  - ContentItem:
      Name: DLNA Album
      ContainerArt: http://<IP_ADDRESS>:8085/v1/albums/983/image?_=1&w=62
      Location: 'album:983'
      Source: LOCAL_MUSIC
      SourceAccount: '3f205110-4a57-4e91-810a-ad949d25abb2'
      TypeValue: album

From the wiki documentation ...
userPresetsFile User Preset Content Items File
Media content item entries that represent the content to play, stored in a JSON file format. Use this option if you wish to share your presets among multiple card definitions.
type: array of ContentItemParent objects in JSON format
required: false
default: none
Omit this parameter to not define any user presets in a file.
YAML Example
This will look for the file in your HA configration directory (e.g. where configuration.yaml resides) www folder: /config/www/soundtouchplus/userpresets.json.
userPresetsFile: /local/soundtouchplus/userpresets.json

JSON File Example
The following tries to document the various popular sources that are available to play content from.
This is by no means a complete list.
Substitute your user-specific information in the various items (e.g. "yourSpotifySourceAccount" with your Spotify user-id value, "yourPandoraUserId" with your Pandora user-id value, etc).
[
  {
    "ContentItem": {
      "Name": "K-Love Radio",
      "ContainerArt": "http://cdn-profiles.tunein.com/s33828/images/logog.png?t=637986894890000000",
      "Location": "/v1/playback/station/s33828",
      "Source": "TUNEIN",
      "TypeValue": "stationurl"
    }
  },
  {
    "ContentItem": {
      "Name": "Playlist Daily Mix 1",
      "ContainerArt": "https://dailymix-images.scdn.co/v2/img/ab6761610000e5ebcd3f796bd7ea49ed7615a550/1/en/default",
      "Location": "spotify:playlist:37i9dQZF1E39vTG3GurFPW",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Artist Mercy Me",
      "ContainerArt": "https://i.scdn.co/image/ab67616d0000b27316c019c87a927829804caf0b",
      "Location": "spotify:artist:6APm8EjxOHSYM5B4i3vT3q",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Album Welcome to the New",
      "ContainerArt": "https://i.scdn.co/image/ab67616d0000b27316c019c87a927829804caf0b",
      "Location": "spotify:album:6vc9OTcyd3hyzabCmsdnwE",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Track I Still Believe",
      "ContainerArt": "https://i.scdn.co/image/ab67616d0000b27391efaaa4c9b4b311ddc428b0",
      "Location": "spotify:track:3EtOah8NqZ1FqpQR837v0z",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Episode We Can Do Hard Things",
      "ContainerArt": "https://i.scdn.co/image/ab6765630000ba8a31936fcc7887c8a10ba9af9d",
      "Location": "spotify:episode:3tWDribcG7X5Q6KBx8xupp",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Podcast K-Love On The Mic",
      "ContainerArt": "https://i.scdn.co/image/206f1a5d5e27e9516a5c0cdb06ee3ae079a78ac9",
      "Location": "spotify:show:39EidgdUzHLZ1Wab01NiGk",
      "Source": "SPOTIFY",
      "SourceAccount": "yourSpotifySourceAccount",
      "TypeValue": "uri"
    }
  },
  {
    "ContentItem": {
      "Name": "Zach Williams Radio",
      "ContainerArt": "https://content-images.p-cdn.com/images/68/88/0d/fb/aed34095a11118d2aa7b02a2/_500W_500H.jpg",
      "Location": "126740707481236361",
      "Source": "PANDORA",
      "SourceAccount": "yourPandoraUserId"
    }
  },
  {
    "ContentItem": {
      "Name": "NAS Album",
      "ContainerArt": "http://<IP_ADDRESS>:10243/WMPNSSv4/2050238549/0_N18xMTRlOGRlOS00MDE5.jpg?albumArt=true",
      "Location": "7_11412345",
      "Source": "STORED_MUSIC",
      "SourceAccount": "d09708a1-5953-44bc-a413-123456789012/0"
    }
  },
  {
    "ContentItem": {
      "Name": "DLNA Album",
      "ContainerArt": "http://<IP_ADDRESS>:8085/v1/albums/983/image?_=1&w=62",
      "Location": "album:983",
      "Source": "LOCAL_MUSIC",
      "SourceAccount": "3f205110-4a57-4e91-810a-ad949d25abb2",
      "TypeValue": "album"
    }
  }
]


Updated docs with Firebase custom loader example

Added FIREBASE_EXAMPLE.MD and added link from README.md (in custom loader section).

Thanks a lot !


Proposed 4.1.0 release

CHANGELOG

Support POST-as-GET from updated ACME spec (RFC 8555) - Let's Encrypt will drop support for plain GET requests in November 2019 (issue #226)
Added explicit Python 3.7 support and fixed continuous integration tests
Added timeout to request polling to prevent infinitely waiting (pull #205)
Added support for critical SAN extensions (issue #216, pull #217)
Started cleaning up challenge files on success (pointed out by @felixfontein in issue #222)

I feel like supporting POST-as-GET, which is a breaking change from Let's Encrypt, warrants a minor version bump.

FYI: I've created a small test setup to test acme-tiny with Pebble: https://github.com/felixfontein/acme-tiny-pebble-tests
So far, it runs only one simple test (create account and create certificate with it for example.com), but it does work, and so acme-tiny should be ready for the upcoming Let's Encrypt changes :)


incorrect details on page

[Enter feedback here]
incorrect details on the page below pages
https://learn.microsoft.com/en-us/sharepoint/dev/spfx/release-1.16
https://learn.microsoft.com/en-us/sharepoint/dev/spfx/release-1.16.1

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

ID: b25cf16e-0169-4690-3143-b28fb8281f2b
Version Independent ID: b25cf16e-0169-4690-3143-b28fb8281f2b
Content: SharePoint Framework v1.16 release notes
Content Source: docs/spfx/release-1.16.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

thx @ag0059985 - fixed now - clearly a miss from our side.


Added AVX support to chunkset functions.

This uses AVX not AVX2, however I have used AVX2 flags. I could add separate tests and flags etc if we want to do AVX CPU detection.

I think we need benchmark between fastest SSE, AVX and AVX2...

It's triggering heap overflow... AVX needs minimum of 32 bytes, but only 17 are allocated...

Oh yeah I forgot to change that. It’s coming back to me now..

In CHUNKCOPY_SAFE there needs to be test len & 16 when size of chunk_t is 32 or more... This is something I already mentioned earlier, but doesn't appear in this patch yet...

HEAD https://github.com/zlib-ng/zlib-ng/commit/6264b5a58d7470333a64d69b247a2bd561bbbe68
 Tool: minigzip-head.exe
 Runs: 70
 Levels: 1-9
 Trimworst: 40

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     47.621%      1.021/1.036/1.043/0.006        0.665/0.679/0.687/0.006      100,931,528
 2     35.523%      1.690/1.706/1.719/0.008        0.682/0.698/0.706/0.005       75,289,388
 3     34.202%      2.008/2.038/2.056/0.011        0.665/0.681/0.690/0.006       72,490,913
 4     32.935%      2.399/2.422/2.444/0.014        0.647/0.664/0.674/0.006       69,804,530
 5     32.667%      2.569/2.600/2.628/0.015        0.647/0.662/0.669/0.006       69,236,504
 6     32.515%      3.000/3.030/3.050/0.014        0.644/0.658/0.665/0.005       68,915,028
 7     32.257%      3.988/4.041/4.067/0.018        0.642/0.651/0.659/0.006       68,367,404
 8     32.172%      6.238/6.271/6.295/0.018        0.639/0.654/0.661/0.006       68,186,811
 9     32.156%      8.666/8.708/8.740/0.025        0.636/0.650/0.656/0.006       68,154,042

 avg1  34.672%                        3.539                          0.667
 tot                                955.568                        179.963      661,376,148

PR https://github.com/zlib-ng/zlib-ng/pull/664/commits/d1771276f8932e4c35a3612759f270a39ffdf5a6
 Tool: minigzip-chunk-avx.exe
 Runs: 70
 Levels: 1-9
 Trimworst: 40

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     47.621%      1.012/1.028/1.037/0.006        0.660/0.669/0.676/0.004      100,931,528
 2     35.523%      1.685/1.706/1.719/0.010        0.685/0.696/0.702/0.004       75,289,388
 3     34.202%      2.018/2.043/2.059/0.010        0.667/0.674/0.680/0.004       72,490,913
 4     32.935%      2.407/2.432/2.460/0.012        0.643/0.655/0.661/0.005       69,804,530
 5     32.667%      2.583/2.606/2.621/0.010        0.642/0.652/0.658/0.004       69,236,504
 6     32.515%      3.003/3.032/3.050/0.011        0.636/0.647/0.653/0.005       68,915,028
 7     32.257%      4.038/4.061/4.080/0.012        0.633/0.644/0.652/0.005       68,367,404
 8     32.172%      6.255/6.294/6.312/0.015        0.632/0.644/0.650/0.004       68,186,811
 9     32.156%      8.692/8.740/8.768/0.022        0.634/0.643/0.648/0.004       68,154,042

 avg1  34.672%                        3.549                          0.658
 tot                                958.214                        177.760      661,376,148

HEAD https://github.com/zlib-ng/zlib-ng/commit/6264b5a58d7470333a64d69b247a2bd561bbbe68
 Tool: minigzip-head.exe
 Runs: 70
 Levels: 1-9
 Trimworst: 40

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     47.621%      1.022/1.033/1.038/0.004        0.667/0.677/0.684/0.005      100,931,528
 2     35.523%      1.693/1.707/1.720/0.008        0.680/0.694/0.703/0.006       75,289,388
 3     34.202%      1.999/2.028/2.043/0.011        0.668/0.681/0.689/0.005       72,490,913
 4     32.935%      2.408/2.424/2.435/0.008        0.645/0.660/0.667/0.005       69,804,530
 5     32.667%      2.565/2.600/2.617/0.013        0.640/0.655/0.662/0.005       69,236,504
 6     32.515%      2.999/3.028/3.040/0.009        0.630/0.651/0.659/0.006       68,915,028
 7     32.257%      3.995/4.026/4.047/0.015        0.639/0.651/0.659/0.006       68,367,404
 8     32.172%      6.215/6.265/6.287/0.016        0.633/0.647/0.653/0.005       68,186,811
 9     32.156%      8.644/8.696/8.730/0.024        0.631/0.645/0.650/0.005       68,154,042

 avg1  34.672%                        3.534                          0.662
 tot                                954.230                        178.799      661,376,148

PR https://github.com/zlib-ng/zlib-ng/commit/d1771276f8932e4c35a3612759f270a39ffdf5a6
 Tool: minigzip-chunk-avx.exe
 Runs: 70
 Levels: 1-9
 Trimworst: 40

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     47.621%      1.006/1.022/1.030/0.007        0.645/0.663/0.672/0.007      100,931,528
 2     35.523%      1.678/1.698/1.712/0.010        0.676/0.690/0.702/0.008       75,289,388
 3     34.202%      2.000/2.031/2.049/0.013        0.652/0.672/0.681/0.008       72,490,913
 4     32.935%      2.397/2.427/2.445/0.011        0.631/0.649/0.656/0.006       69,804,530
 5     32.667%      2.570/2.597/2.617/0.011        0.635/0.651/0.657/0.006       69,236,504
 6     32.515%      2.990/3.025/3.042/0.015        0.623/0.643/0.650/0.007       68,915,028
 7     32.257%      3.998/4.041/4.063/0.017        0.628/0.645/0.652/0.006       68,367,404
 8     32.172%      6.231/6.263/6.287/0.015        0.625/0.640/0.646/0.006       68,186,811
 9     32.156%      8.656/8.703/8.734/0.027        0.631/0.642/0.647/0.004       68,154,042

 avg1  34.672%                        3.534                          0.655
 tot                                954.159                        176.810      661,376,148

Benchmarks for AVX and non-AVX being 100% same suggests the AVX optimized code doesn't get used at all... This worries me...

Are you looking at decompress time?

@nmoinvaz With lower compression levels AVX is somewhat faster, but especially on level 9 the difference is within error margin...

Yeah no difference in level 9 here, probably not enough long copies.
Side note: It is nice to see level 9 has been improving on compression time. Now we are in mid 8 range for time.

@nmoinvaz In my eyes, the logic seems backwards, lower levels get more benefit from using AVX, which is obvious especially if you group the compression levels by actual function that gets used.

The transition of data to and from AVX registers does cost a considerable amount of cycles, so often it is not worth it for short runs.
This is further complicated by the fact that cores clock down to a lower speed when AVX is used (newer models slowly getting better in this regard), and a lot of changes in per-instruction latency/throughput between cpu generations.
AVX is a mess really, so much so that both a prominent ex-Intel cpu engineer and Linus Thorvalds has put forth their dislike for AVX in public.

Linus Torvalds is actually my 4th cousin... lol... I have said previously that ARM did the vector instructions a lot better than Intel... AVX512 is improving the instruction set somewhat but it's still too new for majority of people to actually have support for it...

Yes, AVX is improving luckily.
IMO, it is like AVX is OK on AVX2 processors, and AVX2 is OK on AVX512 processors.
Next-gen Intel cpu is going to be pretty good at giving predictably good performance with AVX, AVX2 and some important parts of AVX512, but many of the advanced AVX512 instructions will still cause the entire core to slow down for a while when any such instruction is in the pipeline.
AVX is great at moving/copying massive amounts of data, but other than that it is in my opinion a real challenge to write code that is always better then its SSE-based alternatives without also being slower on some cpus. At least that is my understanding of things currently. None of my experiments with AVX* optimizations have been a clear win over SSE* so far, although some have come close or have been faster on my main cpu but also much slower on another cpu.
To make the matter even more complex, AVX in laptop/mobile cpus can be much slower than their equivalent desktop/server cpus, so maybe the only reliable way to accurately choose between SSE and AVX is by benchmarking it in runtime and choosing the function based on that result..

A couple of references for those that are interested.
https://www.pcworld.com/article/3569182/whats-wrong-with-intel-and-how-to-fix-it-former-principal-engineer-unloads.html
https://www.phoronix.com/scan.php?page=news_item&px=Linus-Torvalds-On-AVX-512

@Dead2 Reading the news for last year or so, it seems Intel is running out of time as Microsoft, AMD, Apple and others are switching over to solely ARM-based processors.

Baseline 9dd24d85891a2f5d03b537f20bb778320e554df5
   text    data     bss     dec     hex filename
  95547    1232      32   96811   17a2b libz-ng.so.1

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.300/1.323/1.334/0.008        0.859/0.886/0.899/0.010      127,296,397
 2     43.874%      1.258/1.268/1.273/0.005        0.456/0.466/0.472/0.005       48,329,132
 3     42.490%      1.313/1.327/1.333/0.006        0.371/0.387/0.394/0.007       40,118,068
 4     41.472%      1.281/1.298/1.303/0.005        0.300/0.315/0.320/0.006       32,630,864
 5     41.212%      1.386/1.405/1.411/0.006        0.304/0.311/0.318/0.005       32,425,995
 6     41.037%      1.318/1.326/1.332/0.004        0.230/0.250/0.257/0.007       25,831,160
 7     40.784%      1.282/1.291/1.294/0.003        0.175/0.184/0.191/0.005       19,253,737
 8     40.706%      1.097/1.109/1.113/0.004        0.114/0.123/0.127/0.003       12,811,166
 9     40.695%      1.221/1.227/1.232/0.003        0.111/0.121/0.128/0.004       12,807,941

 avg1  43.339%                        1.286                          0.338
 tot                                347.198                         91.274      351,504,460

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.300/1.323/1.335/0.009        0.866/0.887/0.899/0.008      127,296,397
 2     43.874%      1.253/1.267/1.274/0.007        0.446/0.463/0.472/0.007       48,329,132
 3     42.490%      1.312/1.324/1.330/0.005        0.371/0.385/0.391/0.006       40,118,068
 4     41.472%      1.287/1.299/1.304/0.005        0.307/0.316/0.320/0.004       32,630,864
 5     41.212%      1.390/1.401/1.408/0.005        0.299/0.313/0.318/0.004       32,425,995
 6     41.037%      1.318/1.328/1.335/0.005        0.240/0.250/0.253/0.004       25,831,160
 7     40.784%      1.282/1.293/1.298/0.004        0.175/0.185/0.190/0.004       19,253,737
 8     40.706%      1.099/1.110/1.114/0.003        0.115/0.123/0.128/0.004       12,811,166
 9     40.695%      1.218/1.229/1.234/0.004        0.118/0.124/0.128/0.002       12,807,941

 avg1  43.339%                        1.286                          0.338
 tot                                347.210                         91.364      351,504,460

PR #664 d1771276f8932e4c35a3612759f270a39ffdf5a6
   text    data     bss     dec     hex filename
  96987    1232      32   98251   17fcb libz-ng.so.1

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.301/1.323/1.331/0.007        0.865/0.885/0.895/0.009      127,296,397
 2     43.874%      1.255/1.271/1.277/0.005        0.440/0.462/0.474/0.009       48,329,132
 3     42.490%      1.314/1.326/1.333/0.005        0.369/0.385/0.392/0.006       40,118,068
 4     41.472%      1.286/1.300/1.307/0.005        0.305/0.315/0.318/0.004       32,630,864
 5     41.212%      1.389/1.402/1.409/0.005        0.297/0.311/0.316/0.004       32,425,995
 6     41.037%      1.319/1.328/1.333/0.004        0.235/0.246/0.252/0.005       25,831,160
 7     40.784%      1.285/1.297/1.302/0.004        0.177/0.184/0.187/0.003       19,253,737
 8     40.706%      1.110/1.114/1.117/0.002        0.117/0.122/0.127/0.003       12,811,166
 9     40.695%      1.224/1.232/1.235/0.003        0.110/0.121/0.125/0.003       12,807,941

 avg1  43.339%                        1.288                          0.337
 tot                                347.778                         90.936      351,504,460

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.304/1.323/1.332/0.007        0.841/0.881/0.894/0.011      127,296,397
 2     43.874%      1.256/1.269/1.275/0.006        0.441/0.461/0.470/0.007       48,329,132
 3     42.490%      1.306/1.329/1.335/0.006        0.372/0.388/0.396/0.007       40,118,068
 4     41.472%      1.288/1.300/1.306/0.005        0.298/0.312/0.318/0.005       32,630,864
 5     41.212%      1.397/1.411/1.416/0.005        0.296/0.310/0.316/0.005       32,425,995
 6     41.037%      1.316/1.328/1.334/0.005        0.239/0.248/0.255/0.005       25,831,160
 7     40.784%      1.279/1.293/1.299/0.005        0.174/0.183/0.187/0.004       19,253,737
 8     40.706%      1.103/1.111/1.115/0.003        0.113/0.121/0.124/0.003       12,811,166
 9     40.695%      1.222/1.229/1.233/0.003        0.104/0.121/0.127/0.005       12,807,941

 avg1  43.339%                        1.288                          0.336
 tot                                347.759                         90.751      351,504,460

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.306/1.323/1.333/0.007        0.859/0.882/0.895/0.009      127,296,397
 2     43.874%      1.256/1.268/1.275/0.006        0.457/0.466/0.470/0.004       48,329,132
 3     42.490%      1.313/1.329/1.335/0.005        0.372/0.386/0.392/0.005       40,118,068
 4     41.472%      1.287/1.300/1.306/0.005        0.291/0.312/0.318/0.005       32,630,864
 5     41.212%      1.391/1.405/1.411/0.005        0.303/0.314/0.320/0.004       32,425,995
 6     41.037%      1.321/1.329/1.333/0.003        0.235/0.246/0.252/0.004       25,831,160
 7     40.784%      1.277/1.295/1.299/0.005        0.174/0.184/0.187/0.003       19,253,737
 8     40.706%      1.104/1.111/1.116/0.004        0.114/0.121/0.127/0.003       12,811,166
 9     40.695%      1.222/1.229/1.233/0.003        0.114/0.121/0.124/0.003       12,807,941

 avg1  43.339%                        1.288                          0.337
 tot                                347.680                         90.962      351,504,460

 Level   Comp   Comptime min/avg/max/stddev  Decomptime min/avg/max/stddev  Compressed size
 1     57.781%      1.305/1.324/1.335/0.008        0.868/0.885/0.898/0.009      127,296,397
 2     43.874%      1.256/1.270/1.276/0.006        0.447/0.462/0.470/0.007       48,329,132
 3     42.490%      1.304/1.328/1.335/0.007        0.375/0.387/0.395/0.005       40,118,068
 4     41.472%      1.272/1.298/1.305/0.007        0.302/0.313/0.318/0.005       32,630,864
 5     41.212%      1.391/1.403/1.410/0.005        0.300/0.311/0.316/0.004       32,425,995
 6     41.037%      1.310/1.330/1.335/0.006        0.238/0.248/0.252/0.004       25,831,160
 7     40.784%      1.285/1.292/1.299/0.004        0.177/0.184/0.187/0.003       19,253,737
 8     40.706%      1.105/1.111/1.115/0.003        0.110/0.121/0.124/0.003       12,811,166
 9     40.695%      1.216/1.228/1.233/0.004        0.114/0.123/0.127/0.003       12,807,941

 avg1  43.339%                        1.287                          0.337
 tot                                347.522                         90.976      351,504,460

Unfortunately this seems slower on my Haswell cpu.
Perhaps AVX should only be used when the size is above some minimum size?

In my benchmark test I was using silesia.tar on Coffee Lake cpu. I'm not sure how it we would only turn it on for a specified size - that might be difficult. Perhaps some AVX improvements were made between the development of the two cpus.. more benchmarks would be good?

Sorry, I was looking at the deflate speeds only, but this code only gets used by inflate, and inflate is ~0.5% faster with this.
Deflate is a little slower in my tests, but this code does not get used from there, so that is another of those fun cache alignment/placement variance issues.


Added more instructions for the searches + move the notifications

https://www.loom.com/share/2dffb83c57c14a1d8e4f84b95e982a41

Looks good. I won't merge it for now, as I have some conflicting changes on my branch. I'll probably make updates later.

@cyu60 I checked the Loom video and you stated you attempted to move updates to the bottom-left, but they still appeared on the top-right. Were you able to resolve that error?


refactor: Renamed tags and package name

Coverage remained the same at 98.372% when pulling dbe4c4ff016ae4447f693d95b1c6cb8964a891d6 on rkaraivanov/namespace-refactor into 295e41dd981cf17b1fccd273478117ce7c8d3248 on master.