python310Packages.paddleocr: init

Description of changes
This pull request builds off #243583 in an attempt to get PaddleOCR packaged. My understanding is that PaddleOCR can be used for multiple purposes:

It provides tooling for data scientists to create OCR models.
It provides an SDK for running pre-created OCR models.

My efforts have gone towards getting the 2nd feature to work, and I haven't tested any of the functionality for the 1st. As it stands, this 2nd feature is working (on the CPU without CUDA):
$ # Assuming you're in this nixpkgs fork:
$ NIXPKGS_ALLOW_INSECURE=1 nix-shell -I nixpkgs=. -p wget -p 'python310.withPackages (p: [p.paddleocr])'
$ wget https://media.makeameme.org/created/one-does-not-732d600cca.jpg
$ python
Python 3.10.12 (main, Jun  6 2023, 22:43:10) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from paddleocr import PaddleOCR
>>> ocr = PaddleOCR(use_angle_cls=True, lang='en', show_log=False)
>>> ocr.ocr('./one-does-not-732d600cca.jpg', cls=True)
[[[[[80.0, 23.0], [518.0, 23.0], [518.0, 61.0], [80.0, 61.0]], ('ONEDOESNOTSIMPY', 0.953844428062439)], [[[78.0, 404.0], [518.0, 404.0], [518.0, 435.0], [78.0, 435.0]], ('MAKES OCR PRECISION 9O%', 0.9581981897354126)], [[[458.0, 441.0], [583.0, 443.0], [583.0, 458.0], [458.0, 456.0]], ('makeameme.org', 0.9980811476707458)]]]

Remaining work

[x] Collect feedback from nixpkgs community and improve the quality of this PR.
[ ] Use buildPythonApplication instead of buildPythonPackage for paddleocr to ship executables.
[ ] Add CUDA support to paddlepaddle (wip).
[x] Add aarch64-darwin support to paddlepaddle (wip).
[ ] Wait for imgaug to be removed from PaddleOCR (https://github.com/PaddlePaddle/PaddleOCR/issues/10455), and remove my corresponding patch.
[ ] Enable support for visualdl, which is currently broken / not included. This involves packaging visualdl (wip).

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[x] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

ping @happysalada @natsukium I opened a draft PR to ask some questions, collect feedback, and keep track of tasks. I left my questions as PR comments.

you've got some conflicts with master. Would you mind rebasing ?
(the ofborg eval is failing, there doesn't seem to be anything to it, so I'm hoping the rebase will do it).
Changes look good to me though, I think you can take this PR out of draft.

@happysalada What did you base your branch on? :sweat_smile: I'm trying to rebase on master and that causes git to casually start picking some 150k commits at a pace where that'll take hours.

if you started from my branch, it's probably just very old.
What you can do to go faster is just start a new with latest master and just add your cherry picked commit on top of a new branch.

Oh. That brings new problems. It seems some packages that paddlepaddle depends on have been removed over those 150k commits. :(

Oh nevermind, I'm doing something silly.

Thank you @natsukium. I addressed most of your comments, and left responses on others. I left them for you to mark as resolved as you see fit.

@happysalada I pushed another commit for adding aarch64-darwin support to the paddlepaddle package: https://github.com/NixOS/nixpkgs/pull/249297/commits/1d50f8602a9f5f46d23f9c4c1b139062fb6202f4
This works insofar that it allows my colleague on their m1 mac to install the package via Nix now. I'm not totally sure about the approach, and in particular the optional inclusion of the autoPatchElfHook. What do you think?

Ofborg eval will fail unless you also add the aarch64-linux portion for the binary hashes.
You can use nix-prefetch to compute the hash for that platform by giving it that specific url

@happysalada I don't think there are binary distributions of paddlepaddle for AMD linux: https://pypi.org/project/paddlepaddle/2.5.0/#files, or should I use the win_amd64 family?

By the way, so far I left @happysalada's original commit as is, and added a second commit containing the changes to their files that I had to make. Shall I just squash those commits? I didn't do it in case we want to keep the attribution intact.

No need for attribution at all.
Youll have to follow the contributing guidelines for commits.(so one commit for an introduction of a pakcage, in the format of xxx: init at x.y.z
And a quick title to summarize the modification on commits that change a package
Xxx: add darwin support
If my description is too vague, feel free to post comments about specific questions.

I've also been trying to add CUDA support to paddlepaddle, but I don't really know what I'm doing and need some help.
I'm running into error: auto-patchelf could not satisfy dependency libcudart.so.11.0 wanted by /nix/store/iw4risvq6n70c14wc8qmcam963chysm3-python3.10-paddlepaddle_gpu-2.5.0/lib/python3.10/site-packages/paddle/fluid/libpaddle.so. I've looked at other python packages that respond to nixpkgs.config.cudaSupport, but each seem to respond in their own unique way. I also can't really find any resources to guide me.

I've never worked with cuda in binary, but what about setting rpath like in tensorflow-bin?
https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/tensorflow/bin.nix

@natsukium okay so it seems I got it to build. I removed the autoPatchElfHook and I'm now "manually" patching the elf with a custom rpath that includes the cuda stuff:
https://github.com/Avaq/nixpkgs/compare/Avaq:453b604...Avaq:e8036dd#diff-de631edbfed93fe69bacf62a882c5f859ff7552d63a00171efd0ee4207e9871cR58-R65
I'll be testing this on a gpu machine later. Meanwhile, the non-cuda version seems fine.

@happysalada @natsukium Anything remaining for this PR? I intend to add CUDA support via a separate PR, and leave the rest of the "Remaining work" for later/future contributors.

Not sure what's going on with ofborg.

@ofborg eval

Actually, I've decided to just include the CUDA support in this PR for visibility's sake. The package currently successfully builds with cudaSupport enabled, but at runtime it'll give the following errors:
UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default. and ImportError: /libstdc++.so.6: version 'GLIBCXX_3.4.30' not found (required by /python3.10/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-310-x86_64-linux-gnu.so)
Full trace
/nix/store/frrifv1j7cb9ibp8w88yrng5xkvjvikj-python3.10-paddlepaddle_gpu-2.5.0/lib/python3.10/site-packages/paddle/fluid/framework.py:549: UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.
  warnings.warn(
Traceback (most recent call last):
  [... user space snipped ...]
    from paddleocr import PaddleOCR
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/__init__.py", line 14, in <module>
    from .paddleocr import *
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/paddleocr.py", line 42, in <module>
    from tools.infer import predict_system
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/tools/infer/predict_system.py", line 32, in <module>
    import tools.infer.predict_rec as predict_rec
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/tools/infer/predict_rec.py", line 31, in <module>
    from ppocr.postprocess import build_post_process
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/ppocr/postprocess/__init__.py", line 33, in <module>
    from .pg_postprocess import PGPostProcess
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/ppocr/postprocess/pg_postprocess.py", line 25, in <module>
    from ppocr.utils.e2e_utils.pgnet_pp_utils import PGNet_PostProcess
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/ppocr/utils/e2e_utils/pgnet_pp_utils.py", line 25, in <module>
    from extract_textpoint_slow import *
  File "/nix/store/27s1afr4qypglvkgnidvxs53xz01dv2b-python3.10-paddleocr-<IP_ADDRESS>/lib/python3.10/site-packages/paddleocr/ppocr/utils/e2e_utils/extract_textpoint_slow.py", line 24, in <module>
    from skimage.morphology._skeletonize import thin
  File "/nix/store/lwi165qs62nzd8nnv147hbbdxmb7j853-python3.10-scikit-image-0.19.3/lib/python3.10/site-packages/skimage/morphology/__init__.py", line 8, in <module>
    from ..measure._label import label
  File "/nix/store/lwi165qs62nzd8nnv147hbbdxmb7j853-python3.10-scikit-image-0.19.3/lib/python3.10/site-packages/skimage/measure/__init__.py", line 6, in <module>
    from ._polygon import approximate_polygon, subdivide_polygon
  File "/nix/store/lwi165qs62nzd8nnv147hbbdxmb7j853-python3.10-scikit-image-0.19.3/lib/python3.10/site-packages/skimage/measure/_polygon.py", line 2, in <module>
    from scipy import signal
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/__init__.py", line 189, in __getattr__
    return _importlib.import_module(f'scipy.{name}')
  File "/nix/store/2c7sgx69p6mmp76cvmi5j6c72dj76jj8-python3-3.10.12/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/signal/__init__.py", line 311, in <module>
    from . import _sigtools, windows
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/signal/windows/__init__.py", line 42, in <module>
    from ._windows import *
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/signal/windows/_windows.py", line 7, in <module>
    from scipy import linalg, special, fft as sp_fft
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/__init__.py", line 189, in __getattr__
    return _importlib.import_module(f'scipy.{name}')
  File "/nix/store/2c7sgx69p6mmp76cvmi5j6c72dj76jj8-python3-3.10.12/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/fft/__init__.py", line 92, in <module>
    from ._helper import next_fast_len
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/fft/_helper.py", line 3, in <module>
    from ._pocketfft import helper as _helper
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/fft/_pocketfft/__init__.py", line 3, in <module>
    from .basic import *
  File "/nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/fft/_pocketfft/basic.py", line 6, in <module>
    from . import pypocketfft as pfft
ImportError: /nix/store/f9jd8l1414d5yxs7p00gr0a6yz4qirf0-gcc-11.4.0-lib/lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /nix/store/w31znvp46j9mgmvyh781ajk6fgi13i4f-python3.10-scipy-1.11.1/lib/python3.10/site-packages/scipy/fft/_pocketfft/pypocketfft.cpython-310-x86_64-linux-gnu.so)

I don't really know what to do about this, and personally, I won't have time to continue working on this after today. I'm hoping @happysalada can take it from here, or someone who inherits the project I wanted to use this for at work will take over.

UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.

Are you running NixOS?
You may have already read this page, but this page may be helpful.
https://nixos.wiki/wiki/Nvidia

@Avaq happy to take it from here.
It looks like ofborg is passing on this PR https://github.com/NixOS/nixpkgs/pull/250115 adding just paddlepaddle.
I thought we could split this PR into 2 so that the ofborg eval would be fixed.
@Avaq let me know if that works for you.
@natsukium if you have time to review. (it's essentially just a thinly modified version of the paddlepaddle packaged here).

Why is this not closed?

This was just implemented in a separate PR , @Avaq thanks again for your work on this !


Make brew dependency libraries more obvious

I've totally missed the brew packages needed. Only installed the "optional" ones.

cc @smorimoto

Hmm, this really ignores the fundamental purpose of why we are leading to the workflow file.


GTA III / VC / SA vehicle color and alpha values for materials

All vehicles in GTA San Andreas (as so GTA III and GTA Vice City) have body painted on white instead of using correct car colors from carcols.dat.
I'm going to talk more specifically about GTA San Andreas, but the trilogy work essentially the same or similar.
I have 12 years experience modding GTA SA and I know the inner workings of it. This information that may not be directly related, but may help in case of problems: Just before rendering a car, the game changes the properties of its materials, to apply the body colors, remapping (car paintjobs, changes one texture to other), colors and ambient lighting for light textures etc. Therefore, all vehicles of the same model use the same materials, as well as the same mesh, but the materials are adjusted just before rendering each one.
There is also a second uvmap for a second texture (env map, called "xvehicleenv128" or "vehicleenvmap128" from "vehicle.txd") which is rendered over the top of the body, window and some other parts to simulate chrome reflections. But this, in my view, has nothing to do with the problem at the moment, as the same bug is seen even in parts without this env map, but it's interesting to keep this in mind for future debugging, btw it's also a good way to detect where the car's body painting is to apply the correct shaders, not always the colors of the car is used for bodywork.
Not only the car's body painting, but also materials painted by the game, are also white (example, the original Dodo plane has transparent black faces to simulate fake shadows, but with RTX Remix, the faces are opaque white).
Related to this, vehicle windows do not have opacity. They're still black because the game uses the 1 pixel mapping of the "vehiclegeneric256" texture, but the alpha value is in the material, so it's not transparent.
Another detail is that the game itself or mods can also use painting materials on other models, such as map objects and weapons. This issue is not necessarily about vehicles, but essentially, the issue is only noticeable on them.

Version 0.2.0
RTX 3060
Known bug/limitation in all versions of the game. I use 1.0 US retail version with Essentials Pack (built by me).

this guy knows

I found a temporary fix method described below :
https://discord.com/channels/1028444667789967381/1097105394821759006/1123350155433873419

Hello! Will you please test this on the latest release and let us know if the issue persists? Thank you!

Hello! Will you please test this on the latest release and let us know if the issue persists? Thank you!

Hello, it is still not solved. at least in the default configurations

REMIX-3723 for tracking


Small change to README

Hi,
Just a very minor point, but you may wish to amend the second bullet point so that it doesn't include the IAM role name from your scenario (i.e. make it clear to user where to insert their IAM role name into the URL) such as:
Discovering the contents of the S3 Bucket

On the web application, type the following to get the IAM role name: http://<IP_ADDRESS>/latest/meta-data/iam/security-credentials
Using the IAM role name you got on the previous step, discover the AWS credentials http://<IP_ADDRESS>/latest/meta-data/iam/security-credentials/[IAMRoleName]

Regards, Matt

Thanks @namloc2001 , that's a good suggestion.
Changed on https://github.com/avishayil/caponeme/commit/526e600164b210e4dca0c238e435bd4c2e7b1a66


locon is not working with google colab…

In a recent update
I cannot use locon in google colab.
I am having a hard time.
Does anyone know of a code that works with colab?

!cd /content/stable-diffusion-webui/extensions/a1111-sd-webui-locon && git checkout 04b768b
run it after cloning webui, work for me so far

thank you！
I used the code you gave me
I got this error.
Anyone know the cause?
"loading Lora /content/stable-diffusion-webui/models/Lora/happymeek_loha.safetensors: AssertionError
Traceback (most recent call last):
File "/content/stable-diffusion-webui/extensions-builtin/Lora/lora.py", line 253, in load_loras
lora = load_lora(name, lora_on_disk)
File "/content/stable-diffusion-webui/extensions-builtin/Lora/lora.py", line 220, in load_lora
raise AssertionError(f"Bad Lora layer name: {key_diffusers} - must end in lora_up.weight, lora_down.weight or alpha")
AssertionError: Bad Lora layer name: lora_te_text_model_encoder_layers_0_mlp_fc1.hada_w1_a - must end in lora_up.weight, lora_down.weight or alpha"
It's this error.
please. Help me.

if you're using latests webui, you can try using old commit to make it work since this extension is deprecated, or you can try https://github.com/KohakuBlueleaf/a1111-sd-webui-lycoris instead, idk if its works on normal lora since its lycoris type.

@DEX-1101 lycoris ext can support "normal lora"
Since "normal lora" is subset of locon

hello anyone know what causing this error ?
reading lora /content/bilek/models/LyCORIS/victoricamajonotabitabi.safetensors: AssertionError
Traceback (most recent call last):
File "/content/bilek/extensions/bilek-lycoris/lycoris.py", line 146, in init
self.metadata = sd_models.read_metadata_from_safetensors(filename)
File "/content/bilek/modules/sd_models.py", line 232, in read_metadata_from_safetensors
assert metadata_len > 2 and json_start in (b'{"', b"{'"), f"{filename} is not a safetensors file"
AssertionError: /content/bilek/models/LyCORIS/victoricamajonotabitabi.safetensors is not a safetensors file

where your download the file?
its either wrong extension or corrupted download/uncompleted.

where your download the file? its either wrong extension or corrupted download/uncompleted.

thanks for your reply, i just figure out that was corrupted of uncomplete download because civitai server is kinda meh, ive been try to redownload it and it been works.


Migrate v1beta1 RunResult to Unversioned Package

This commit migrates the v1beta1 RunResult to the unversioned result
package since it is no longer a struct in api used for v1beta1 resource types.
The RunResult struct was previously PipelineResourceResult and it has been renamed
and  moved to an unversioned package because it is no longer used in apis.
follows up: https://github.com/tektoncd/pipeline/pull/6434
fixes: https://github.com/tektoncd/pipeline/issues/6197
/kind misc
Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[n/a] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[n/a] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

Thanks Billy. I thought for this we were aliasing the old struct with PipelineResourceResult in https://github.com/tektoncd/pipeline/blob/cb9976818151b49b2c8303f91b4f7a7821ec4960/pkg/apis/pipeline/v1beta1/resource_types.go#L43

Is there any down side to just freezing the fields in place as deprecated in the current package? (we could also move the deprecated types to a separate file in the same package if you're looking to separate out deprecated fields).

And for this since we are going to swap the storage version as this struct is used in pkg/pod/status we would need to either migrate this to v1 or an unversioned package moving forward 😿
Does it make sense that with the aliased v1beta1.PipelineResourceResult left in v1beta1 for backward compatibility while moving the renamed RunResult struct to an unversioned package for keeping the apis independent yet backward compatible? Happy to move it to a more proper place if there is under the apis 🙏

And for this since we are going to swap the storage version as this struct is used in pkg/pod/status we would need to either migrate this to v1 or an unversioned package moving forward 😿

If it's used in the v1 API, package versioned or not it's still effectively a part of the v1 API. 😥 I'd be careful with how these are referenced across v1.

Does it make sense that with the aliased v1beta1.PipelineResourceResult left in v1beta1 for backward compatibility while moving the renamed RunResult struct to an unversioned package for keeping the apis independent yet backward compatible? Happy to move it to a more proper place if there is under the apis 🙏

Makes sense to me!
You'd need type aliases for each type/field moved to the new package. Otherwise PipelineResourceResult would resolve, but underlying types like ResultType, RunResult, etc. won't.


Quick fix on Node version of the Partner tool

Issue #, if available:
Description of changes:

Remove requirements.txt as it is unnecessary for Node
Remove deprecated environment variables

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM


Add build-and-test script for usage in local dev workflow

Fixes #340
.\build-and-test.ps1 -OSFilter *1903 -VersionFilter 4.8 --> builds all runtime and sdk 4.8 images for windowsservercore-1903
.\build-and-test.ps1 -manifestType wcf -OSFilter *1903 -VersionFilter 4.8 --> builds all wcf 4.8 images for windowsservercore-1903

FYI @HongGit, @StephenBonikowsky

What do you think about renaming the dotnet-framework.yml pipeline file to dotnet-framework-runtime-sdk.yml?

@mthalman  - yes I'll rename the pipeline.


ASE :  Point Clouds Not Aligned After Applying Transformations

Hello,
I've been working with the ASE dataset to process and align point clouds from depth and instance data to obtain a segmented scene. Despite following the recommended steps for undistortion, unprojection and transformations the resulting point cloud appears misaligned when visualized. any help will be appreciated.
Steps to Reproduce:

Read depth and instance data for multiple frames of a scene.
Undistort the depth and instance images using the provided undistortion functions, which work correctly.

def undistort(depth_path,instance_path):
  device = ase.get_ase_rgb_calibration()
  # Define the fisheye camera model type
  model_type = calibration.CameraModelType.FISHEYE624
  # Define the projection parameters for the fisheye model
  projection_params = device.projection_params().astype(np.float64)
  # Get image size
  image_width, image_height = device.get_image_size()
  # Create the fisheye camera calibration instance
  fisheye_calibration = calibration.CameraCalibration(device.get_label(),model_type,projection_params,device.get_transform_device_camera(),image_width,image_height,1415.0 / 4.0,1)

  undistorted_instances = calibration.distort_by_calibration(raw_image, device , device)

  # raw_image = np.array(depth) # Will not work
  raw_image = np.array(Image.open(depth_path)).astype(np.float32) # WILL WORK
  undistorted_depth = calibration.distort_by_calibration(raw_image, device, device)

  return device, undistorted_depth, undistorted_instances

Create individual point clouds for each frame from the undistorted depth and instances.

def unproject(device, undistorted_depth,undistorted_instances):
  # Get the height and width of the depth image
  height, width = undistorted_depth.shape

  # Generate pixel coordinates
  y, x = np.indices((height, width))
  pixel_coords = np.stack((x, y), axis=-1).reshape(-1, 2)

  # Flatten the depth image to create a 1D array of depth values
  depth_values_flat = undistorted_depth.flatten()
  instance_values_flat = undistorted_instances.flatten()

  # Initialize an array to store 3D points
  points_3d = []
  valid_instances = []

  for pixel_coord, depth, instance in zip(pixel_coords, depth_values_flat, instance_values_flat):
      # Ensure the depth value is valid
      if depth > 0:
          # Format the pixel coordinate for unproject (reshape to [2, 1])
          pixel_coord_reshaped = np.array([[pixel_coord[0]], [pixel_coord[1]]], dtype=np.float64)

          # Unproject the pixel to get the direction vector (ray)
          direction_vector = device.unproject(pixel_coord_reshaped)

          if direction_vector is not None:
              # Replace the z-value of the direction vector with the depth value
              # Assuming the direction vector is normalized
              direction_vector_normalized = direction_vector / np.linalg.norm(direction_vector)
              point_3d = direction_vector_normalized * depth

              # Append the computed 3D point and the corresponding instance
              points_3d.append(point_3d.flatten())
              valid_instances.append(instance)

  # Convert the list of 3D points to a numpy array
  points_3d_array = np.array(points_3d)
  points_instances = np.array(valid_instances)
  return points_3d_array,points_instances

# Function to map instance values to colors
def instance_to_color(instance_value):
    np.random.seed(instance_value)  # Ensure consistent color for each instance value
    return np.random.randint(0, 256, 3)  # Random color for each instance

def save_pointcloud(points_3d_array,points_instances,pcd_name):
  # Flatten the instance values array
  instance_values_flat = points_instances.flatten()

  # Check if the number of points matches the number of instance values
  assert points_3d_array.shape[0] == instance_values_flat.shape[0], "The number of points must match the number of instance values"

  # Map each instance value to a color
  colors = np.array([instance_to_color(val) for val in instance_values_flat])

  # Create an Open3D point cloud object
  pcd = o3d.geometry.PointCloud()

  # Assign the 3D points to the point cloud object
  pcd.points = o3d.utility.Vector3dVector(points_3d_array)

  # Assign the colors to the point cloud
  pcd.colors = o3d.utility.Vector3dVector(colors / 255.0)  # Normalize colors to [0, 1]

  # Define the file path where you want to save the point cloud
  output_file_path = pcd_name+'.pcd'

  # Save the point cloud in PCD format
  o3d.io.write_point_cloud(output_file_path, pcd)

  print(f"Point cloud saved to {output_file_path}")

Apply transformations to each point cloud to convert from the camera coordinate frame to the device frame, and then from the device frame to the world frame
def transform_3d_points(transform, points):
    N = len(points)
    points_h = np.concatenate([points, np.ones((N, 1))], axis=1)
    transformed_points_h = (transform @ points_h.T).T
    transformed_points = transformed_points_h[:, :-1]
    return transformed_points

def get_combined_pointcloud(scene_path):
    rgb_dir = scene_path / "rgb"
    depth_dir = scene_path / "depth"
    instance_dir = scene_path / "instances"
    trajectory_path = scene_path / "trajectory.csv"
    trajectory = read_trajectory_file(trajectory_path)

    all_points_3d = []
    all_instances = []

    # Iterate over the first two frames for test
    for frame_idx in range(2):
        print(frame_idx)
        frame_id = str(frame_idx).zfill(7)
        depth_path = depth_dir / f"depth{frame_id}.png"
        instance_path = instance_dir / f"instance{frame_id}.png"

        # Process each frame to get 3D points and instances
        device, undistorted_depth, undistorted_instances = undistort(depth_path, instance_path)
        points_3d_array, points_instances = unproject(device, undistorted_depth, undistorted_instances)

        # Get the transformations
        T_world_from_device = trajectory["Ts_world_from_device"][frame_idx]
        #print('T_world_from_device : ',T_world_from_device)
        T_device_from_camera = device.get_transform_device_camera().to_matrix()
        #print('T_device_from_camera : ',T_device_from_camera)

        # Transform the points from the camera frame to the device frame
        points_3d_device = transform_3d_points(T_device_from_camera, points_3d_array)
        #points_3d_device = transform_3d_points(np.linalg.inv(T_device_from_camera), points_3d_device)

        # Transform the points from the device frame to the world frame
        points_3d_world = transform_3d_points(T_world_from_device, points_3d_device)

        # Append to the combined arrays
        all_points_3d.append(points_3d_world)
        all_instances.append(points_instances)

    # Concatenate all points and instances
    all_points_3d = np.concatenate(all_points_3d, axis=0)
    all_instances = np.concatenate(all_instances, axis=0)

    return all_points_3d, all_instances

# Main execution
scene_path = dataset_path / str(SCENE_ID)
device = ase.get_ase_rgb_calibration()

# Get combined point cloud and instances for all frames
combined_points_3d, combined_instances = get_combined_pointcloud(scene_path)

# Generate the final point cloud
save_pointcloud(combined_points_3d, combined_instances,"0")

Expected Behavior: The combined point cloud should be aligned correctly, representing the scene without any misalignment between frames.

Observed Behavior: The combined point cloud appears misaligned, suggesting that there might be a slight translation or adjustment needed that is not accounted for by the current transformation matrices ( the one redden from trajectory file)

Additional Information
All transformations are applied correctly, and the individual point clouds seem accurate before the combination.
It seems a slight translation or additional transformation might be required to achieve proper alignment.
Visualization of the point cloud shows clear misalignment.

The issue seems to be the depth value being used. As stated in the data format page, the depth value is in mm which needs to be converted to metre before applying the relevant transformations.

So the required change in the above unproject snippet should be:

point_3d = direction_vector_normalized * (depth/1000)

This should align the points correctly.
I have attached an example using your snippet ( my case has just the depth and not instances for simplicity)

My bad, i didn't pay attention to this detail, thanks a lot ! worked just fine :), i'm closing this issue.

Hi, sorry to revive this thread, but I am facing a similar issue.  What I would like to do is avoid using device.unproject, and instead have access to the intrinsic matrix directly.  I'm assuming that after undistortion the calibration will be from a pinhole camera, but I am having trouble finding it, can you help me with that? Many thanks!


"Maximum File Size" Documentation Incorrect?

I am able to set the maximum file size of an audit to 128 MBs without an error.  Is 1024 MB really the minimum value?

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

ID: 233cfefa-453a-5c85-a3f7-e1a6e9a31815
Version Independent ID: 417f38b4-6e46-d326-197d-2afd1a4b7136
Content: Create a Server Audit and Server Audit Specification - SQL Server
Content Source: docs/relational-databases/security/auditing/create-a-server-audit-and-server-audit-specification.md
Product: sql
Technology: security
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@seanwhitepc Thank you for the question, assigning this the author for review.

Hi @seanwhitepc - Thanks for pointing this out. I confirmed that you can create a Server Audit with a maximum size lower than 1024MB.  I will change the doc. Thank you so much for your help on improving our documentation!
https://github.com/MicrosoftDocs/sql-docs-pr/pull/12492


feat: Support CNI Custom Networking

Fixes #2273
Description
Adds a config option to accommodate CNI Custom Networking, wherein one ENI on a node is reserved for a dedicated worker subnet, and additional ENIs are created in a dedicated pod subnet.
How was this change tested?

make test

Does this change impact docs?

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

Release Note
Add option to support CNI Custom Networking

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

Hi !
Waiting for this feature !
Did you know when this will be released ?

Closing in-favor of calculating max-pods on launch until prefix delegation can be utilized as a more general best practice.  Thanks for putting this PR up and continuing discussion on the issue. We can revisit this approach if the workarounds degrade.


Crypto in GUI: Design Changes Pass 2

Makes output text selectable (closes https://keybase.atlassian.net/browse/PICNIC-792)

Signed file icon (closes https://keybase.atlassian.net/browse/PICNIC-793)

Removes email and phone tabs from team building (closes https://keybase.atlassian.net/browse/PICNIC-790)

Team building go button should change from 'Start' to 'Add' (closes https://keybase.atlassian.net/browse/PICNIC-791)

Don't show yourself in the recommended list when team building (only in Crypto team building, still works in the other team buildings as before). (closes https://keybase.atlassian.net/browse/PICNIC-789)

Hides include yourself button if you choose yourself as a recipient

Changes the decrypt & sign input file icons to be icon-file-encrypted and icon-file-signed respectively

Left align file icon and file path

Adds Show in Finder button

Makes all output file paths clickable and also open in finder (same as the button)

Makes output text selectable

cc @cecileboucheron

Lgtm! Added these tweaks:
• Removed placeholder code
• Removed extra dividers
• Always keep "To:"

• New nav icon


again pingpong, send and whereis

executing
-module(pp).

-export([start/0, ping/1, pong/0]).

ping(0) ->
    pong ! finished,
    io:format("ping finished~n");

ping(N) ->
    pong ! {ping, self()},                                  % this does not work
    %   whereis(pong) ! {ping, self()},                         % this works
    io:format("ping sent~n"),
    receive
        pong ->
            io:format("Ping received pong~n")
    end,
    ping(N - 1).

pong() ->
    receive
        finished ->
            io:format("Pong finished~n");
        {ping, Ping_PID} ->
            io:format("Pong received ping~n"),
            Ping_PID ! pong,
            pong()
    end.

start() ->
    register(pong, spawn(pp, pong, [])),
    spawn(pp, ping, [3]),
    receive X -> X end.

results in
Starting application...
ping sent
 -- no more output--

replacing
    pong ! {ping, self()},                                  % this does not work

with
   whereis(pong) ! {ping, self()},                   % this works

results in the expected output:
Starting application...
ping sent
Pong received ping
Ping received pong
ping sent
Pong received ping
Ping received pong
ping sent
Pong received ping
Ping received pong
ping finished

btw:
replacing io:format("..~n") by erlang:display("..) results in
Starting application...
"ping sent""Pong received ping"

"Ping received pong"
"ping sent""Pong received ping"

"Ping received pong"
"ping sent""Pong received ping"

"Ping received pong"
"ping finished"

rgds, g.

Thank you for bringing this up again. The fix has been merged into the release-0.6 branch, and will be forwarded into main soon. We actually found another bug in OP_SEND, so you should get some bonus points for pointing us in that direction.


Support for Class and Class<T> annotations

Currently we can only specify a naive check of Function or Function<T>. If we specify a type of Class the plugin treats it as a variable.
Given:
class A {
  _parent: A
  setParent(p: Parent): void {
    this._parent = p;
    // Do other stuff...
  }
}
class B extends A { }

It would be nice if one could express:
let factoryFn = (type: Class<A>, parent: A): A => {
  let instance = new type();
  instance.setParent(parent); // Some DI stuff happens here (not really important)
  return instance;
}

So factoryFn would:

check that the type argument was a the class definition A or one of it's sub-classes
check the parent argument is an instance of A or one of it's sub-classes

Hope this makes sense, cheers!

@srounce please could you specify what you'd like the compiled code to look like (roughly)? It'll help me figure out if we can do this.

Sure, I'd expect a class hierarchy check (Class<T>) to be something along the lines of:
  if (!(A.isPrototypeOf(type))) throw new TypeError("Value of argument 'type' violates contract: Not a subclass of 'A'");

The issue of whether a class was defined as a class or a function is slightly more complex (Class check). Seeing as the class keyword is just sugar over defining methods on a function's prototype chain, the definition will end up as a function.
However, the class keyword can be detected via the class constructor's toString method and a little bit of string searching to end up with:
if (!(A.prototype.constructor.toString().indexOf('class'))) throw new TypeError("Value of argument 'type' violates contract: Not a class");

As Babel will transpile them all to functions we cannot do this, the above comes rather unstuck (and where my current train of thought on this matter resides).
Only thing that comes to mind (for this work at runtime), is modification of the syntax tree: adding tags to denote classes VS functions (not ideal).
@phpnode - It's been a while since I touched estree related stuff, how feasible does this sound to you?
Tl;dr, Class<T> is pretty solvable Class is a little trickier and needs more thought.

Hmm, right now we don't actually validate type parameters in polymorphic functions, we just recognise that certain identifiers are type parameters and skip their checks. I would like to solve this properly but it can get ridiculously complicated so I'm wary.
As for differentiating between Class and Function, I don't think there's a sensible way to do that because of proliferation of classes which don't use the new syntax. We shouldn't discriminate here, it makes no sense to say that e.g. node's Buffer is not a class because it's not defined with class Buffer {}.
If Class (and therefore Class<T>) is a thing, we could emit a very simplistic check for this, basically typeof thing === 'function' && thing.prototype && thing.prototype.constructor === thing. I think that's the best we're going to get until the type parameters issue gets sorted.


test-branch/execute-job/quoted-authorization/59abedd7-07d1-4279-b6a2-0457cb8818f8

PR for testing 9dbdafa76afdd89af9b7d5a2a088ced9af3910fe

/canonical/self-hosted-runners/run-workflows 9dbdafa76afdd89af9b7d5a2a088ced9af3910fe


Updated Power Apps account URL

Category

[x] Content fix

Contents of the Pull Request
Updated Power Apps account URL and other references.

Docs Build status updates of commit c82c6a5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/microsoft-365-on-social-media.md
:white_check_mark:Succeeded
View

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

Thanks for the updates, @ganesh-sanap!


Updated pagination system

I've updated the pagination system to the current version of filter.js.
As before you have to add two containers to the HTML: One to render the pagination in (default:  '.pagination'), a second one to display if no results are found (default: '#noresults').
There are no required changes in the plugin initialization itself, but you can configure the default options there:
{
    perPage: 12,
    range: 5,
    prevText: '«',
    nextText: '»',
    pagination_container: '.pagination',
    noresults_container: '#noresults'
}

Now pagination is available.
demo: http://jiren.github.io/filter.js/pagination.html


[BUG] Esc within tmux makes dooit unresponsive

Describe the bug 🐛
Pressing Esc in input mode makes dooit unresponsive within tmux.
To Reproduce 🐣
Steps to reproduce the behavior:

Start tmux
Start dooit from within tmux
Go to insert mode, e.g. by adding a task
Press Esc to go back to normal mode

dooit is now unresponsive. Key presses don't have any effect anymore.
When running dooit without tmux, that behavior is not present. Exiting input mode works perfectly.
Desktop (please complete the following information):  🤖

OS: ArchLinux, installed via pip
Version: 0.2.0

Hmm, that seems strange.
Running tmux with my custom configs does not seem to have any problem but It does have a slight lag with vanilla config.
Should this be documented somewhere in dooit, as it has problems with the tmux default config?
vim has a similar issue, but doesn't get unresponsive - it just takes a bit of time to get from input mode to command mode.

Yeah good idea. I'll update the README


[SPARK-7236] [CORE] Fix to prevent AkkaUtils askWithReply from sleeping on final attempt

Added a check so that if AkkaUtils.askWithReply is on the final attempt, it will not sleep for the retryInterval.  This should also prevent the thread from sleeping for Int.Max when using askWithReply with default values for maxAttempts and retryInterval.

Can one of the admins verify this patch?

Good catch. LGTM.

Jenkins, test this please.

Merged build triggered.

Merged build started.

Test build #31794 has started for   PR 5896 at commit 653a07b.

Test build #31794 has finished for   PR 5896 at commit 653a07b.

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

Merged build finished. Test PASSed.

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

Merging this in master & branch-1.4. Thanks for fixing it.


Sorting items

Do you have any way to sort the items called via /rest/site/items on the server before sending them (part of the request I make), or would I need to do it once the proxy script has returned the data from the server?

Sorting is left up to the client side.  Good example of sorting in
JavaScript on this StackOverflow article:
http://stackoverflow.com/questions/5503900/how-to-sort-an-array-of-objects-with-jquery-or-javascript
From: Andrew Minion<EMAIL_ADDRESS>Sent: Friday, January 02, 2015 5:36 PM
To: UltraCart/rest_api
Subject: [rest_api] Sorting items (#11)
Do you have any way to sort the items called via /rest/site/items on the
server before sending them (part of the request I make), or would I need to
do it once the proxy script has returned the data from the server?
—
Reply to this email directly or view it on GitHub
https://github.com/UltraCart/rest_api/issues/11.[image: Image removed by
sender.]


copy text from generated file

Not able to copy text from generated pdf file ...

The pdf is created from a screenshot of the component and therefore is not vectorized, as mentioned in the readme. That means that as being an image, no text is included in the pdf.


[Bug] Travis not validating properly

Environment must be Python 3.5.2
May need to tell python where to look for source code.
PYTHONPATH: /project/tmobile-rbac/addressing:/project/tmobile-rbac/transaction_creation

All the project dependencies must be installed.

How is travis going to run integration tests?

Issue Resolved


add a toggle for disabling review requests

Add a toggle under the Info tab (maybe underneath an "Advanced" page or something) entitled "Don't nag me to review OneBusAway". It is off by default. If it is set to on, then apptentiveTimer on OBAStopViewController never gets created.

I have received a total of four complaints about this out of nearly 70,000 ratings prompts shown. At least two of the complaints were from iOS engineers. I was hoping one of them might fix this, especially since the new OBASettingsViewController should make this nearly trivial to implement. Punting from this release.

Fixed in #921


Compute:  Ddv4 and Ddsv4 VM sizes missing

the latest in stable is missing the Ddv4 and Ddsv4-series
For example, I have those instances type deployed :

Standard_D2ds_v4
Standard_D4ds_v4

but they are missing in the spec :
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
https://docs.microsoft.com/en-us/azure/virtual-machines/ddv4-ddsv4-series
Thank you.

@jrottenberg, are you referring to the list of VM sizes under HardwareProfile in compute.json? New sizes are not going to be added to this file. We are in the process of changing the file going forward to remove the majority of the existing sizes listed in the file in order to be very clear that customers must use the SKUs API to get the list of available sizes for a selected subscription.
The change to the compute.json file is being driven under issue: https://github.com/Azure/azure-rest-api-specs/issues/10033.
I am going to close this issue because it is effectively a duplicate of 10033.

@Drewm3 yes I was, indirectly : https://github.com/terraform-linters/tflint-ruleset-azurerm is using the api spec to derive the machine type terraform can use, without having to actually interact with the api (so before a terraform plan)
but yeah the author created a bug, better to follow up there.

Opening and reclosing this issue to trigger an update to the Microsoft reporting services.


training facilities and more region types

It would be awesome if some or all models used throughout eynollah's workflow could be adapted to other domains by providing the tools for training. Ideally this would be complemented with some documentation – but I assume you will publish academically on this approach sooner or later?
Specifically, it would be great if one could integrate detection of additional types of regions (provided there's some suitable structural GT), like:

vertical text
tables
handwriting
signatures
stamps
music scores
maps
image subclasses (figures, illustrations, photographs)

Or is there perhaps going to be some way of running incremental annotation here (i.e. masking certain areas of the page, so these can be segmented externally)? (Or is this already possible via API?)

Or maybe I should've read the documentation: So training would be via sbb_pixelwise_segmentation, correct?

Or maybe I should've read the documentation: So training would be via sbb_pixelwise_segmentation, correct?

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.
Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML. But of course @vahidrezanezhad will be able to explain details much better than I can.

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.
Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML. But of course @vahidrezanezhad will be able to explain details much better than I can.

It would be awesome if some or all models used throughout eynollah's workflow could be adapted to other domains by providing the tools for training. Ideally this would be complemented with some documentation – but I assume you will publish academically on this approach sooner or later?
Specifically, it would be great if one could integrate detection of additional types of regions (provided there's some suitable structural GT), like:

vertical text
tables
handwriting
signatures
stamps
music scores
maps
image subclasses (figures, illustrations, photographs)

Or is there perhaps going to be some way of running incremental annotation here (i.e. masking certain areas of the page, so these can be segmented externally)? (Or is this already possible via API?)

It would be awesome if some or all models used throughout eynollah's workflow could be adapted to other domains by providing the tools for training. Ideally this would be complemented with some documentation – but I assume you will publish academically on this approach sooner or later?
Specifically, it would be great if one could integrate detection of additional types of regions (provided there's some suitable structural GT), like:

vertical text
tables
handwriting
signatures
stamps
music scores
maps
image subclasses (figures, illustrations, photographs)

Or is there perhaps going to be some way of running incremental annotation here (i.e. masking certain areas of the page, so these can be segmented externally)? (Or is this already possible via API?)

Or maybe I should've read the documentation: So training would be via sbb_pixelwise_segmentation, correct?

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation , we have an image enhancer which is in fact  a pixelwise regressor  so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

Or maybe I should've read the documentation: So training would be via sbb_pixelwise_segmentation, correct?

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation , we have an image enhancer which is in fact  a pixelwise regressor  so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

It would be awesome if some or all models used throughout eynollah's workflow could be adapted to other domains by providing the tools for training. Ideally this would be complemented with some documentation – but I assume you will publish academically on this approach sooner or later?
Specifically, it would be great if one could integrate detection of additional types of regions (provided there's some suitable structural GT), like:

vertical text
tables
handwriting
signatures
stamps
music scores
maps
image subclasses (figures, illustrations, photographs)

Or is there perhaps going to be some way of running incremental annotation here (i.e. masking certain areas of the page, so these can be segmented externally)? (Or is this already possible via API?)

Starting with suggested features, I have to say that  the vertical textlines are already detectable to some extent by eynollah.
Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.
Detecting the rest of mentioned elements is of course possible but we need to have a great GT :)

It would be awesome if some or all models used throughout eynollah's workflow could be adapted to other domains by providing the tools for training. Ideally this would be complemented with some documentation – but I assume you will publish academically on this approach sooner or later?
Specifically, it would be great if one could integrate detection of additional types of regions (provided there's some suitable structural GT), like:

vertical text
tables
handwriting
signatures
stamps
music scores
maps
image subclasses (figures, illustrations, photographs)

Or is there perhaps going to be some way of running incremental annotation here (i.e. masking certain areas of the page, so these can be segmented externally)? (Or is this already possible via API?)

Starting with suggested features, I have to say that  the vertical textlines are already detectable to some extent by eynollah.
Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.
Detecting the rest of mentioned elements is of course possible but we need to have a great GT :)

Thanks @vahidrezanezhad @cneud for getting back to me so quickly!

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.

Fantastic!

Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML.

Oh, thanks! I am beginning to get an understanding...
So when you get to the documentation or publication phase, please don't forget to mention which config_params you did use for what kind of data.

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation ,

Interesting – so you really did stick to dhSegment's idea of using the same paradigm for different sub-tasks. Do these models also get to share some early layer weights, or are used to initialize one another in the training procedure?
For the pixel classifier specific problem of gluing nearby neighbours, especially between columns horizontally during layout and between lines vertically during textline segmentation, do you have any additional tricks to incentivise the network for separation? Like extra classes with larger weights around the contour of objects, or a specialised loss function?

we have an image enhancer which is in fact a pixelwise regressor so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

Fascinating! While I don't think these two components would be candidates for domain adaptation, maybe we could wrap these as separate steps in OCR-D, so one could re-use their intermediate results in combination with other tools and workflows. For example, the enhanced images might help OCR proper, or the scale map could help other segmentation tools. It's probably hard to see the benefit right away, as this is very innovative and one might need to re-train elsewhere. But I would very much welcome the analytical advantage of this sub-tasking...

Starting with suggested features, I have to say that the vertical textlines are already detectable to some extent by eynollah.

Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.

I am not sure I understand this correctly. What I meant by vertical text was text regions that contain text lines which align vertically instead of horizontally. From the visual (non-textual) side, this covers both vertical writing (traditional Chinese / Japanese script) and rotated (90° / 270°) horizontal writing. Identifying this early-on would allow doing text line segmentation in some vertical fashion, too.
But your explanation seems more concerned with reading order detection (order of text regions in page, order of text lines in regions).
Anyway, here's a sample where eynollah does not seem to cope with vertical text yet (except in the 1 line reading Candide ou l'Optimisme):

Thanks @vahidrezanezhad @cneud for getting back to me so quickly!

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.

Fantastic!

Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML.

Oh, thanks! I am beginning to get an understanding...
So when you get to the documentation or publication phase, please don't forget to mention which config_params you did use for what kind of data.

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation ,

Interesting – so you really did stick to dhSegment's idea of using the same paradigm for different sub-tasks. Do these models also get to share some early layer weights, or are used to initialize one another in the training procedure?
For the pixel classifier specific problem of gluing nearby neighbours, especially between columns horizontally during layout and between lines vertically during textline segmentation, do you have any additional tricks to incentivise the network for separation? Like extra classes with larger weights around the contour of objects, or a specialised loss function?

we have an image enhancer which is in fact a pixelwise regressor so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

Fascinating! While I don't think these two components would be candidates for domain adaptation, maybe we could wrap these as separate steps in OCR-D, so one could re-use their intermediate results in combination with other tools and workflows. For example, the enhanced images might help OCR proper, or the scale map could help other segmentation tools. It's probably hard to see the benefit right away, as this is very innovative and one might need to re-train elsewhere. But I would very much welcome the analytical advantage of this sub-tasking...

Starting with suggested features, I have to say that the vertical textlines are already detectable to some extent by eynollah.

Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.

I am not sure I understand this correctly. What I meant by vertical text was text regions that contain text lines which align vertically instead of horizontally. From the visual (non-textual) side, this covers both vertical writing (traditional Chinese / Japanese script) and rotated (90° / 270°) horizontal writing. Identifying this early-on would allow doing text line segmentation in some vertical fashion, too.
But your explanation seems more concerned with reading order detection (order of text regions in page, order of text lines in regions).
Anyway, here's a sample where eynollah does not seem to cope with vertical text yet (except in the 1 line reading Candide ou l'Optimisme):

Thanks @vahidrezanezhad @cneud for getting back to me so quickly!

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.

Fantastic!

Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML.

Oh, thanks! I am beginning to get an understanding...
When you get to the documentation or publication phase, please don't forget to mention which config_params you did use for what kind of data.

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation ,

Interesting – so you really did stick to dhSegment's idea of using the same paradigm for different sub-tasks. Do these models also get to share some early layer weights, or are used to initialize one another in the training procedure?
For the pixel classifier specific problem of gluing nearby neighbours, especially between columns horizontally during layout and between lines vertically during textline segmentation, do you have any additional tricks to incentivise the network for separation? Like extra classes with larger weights around the contour of objects, or a specialised loss function?

we have an image enhancer which is in fact a pixelwise regressor so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

Fascinating! While I don't think these two components would be candidates for domain adaptation, maybe we could wrap these as separate steps in OCR-D, so one could re-use their intermediate results in combination with other tools and workflows. For example, the enhanced images might help OCR proper, or the scale map could help other segmentation tools. It's probably hard to see the benefit right away, as this is very innovative and one might need to re-train elsewhere. But I would very much welcome the analytical advantage of this sub-tasking...

Starting with suggested features, I have to say that the vertical textlines are already detectable to some extent by eynollah.

Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.

I am not sure I understand this correctly. What I meant by vertical text was text regions that contain text lines which align vertically instead of horizontally. From the visual (non-textual) side, this covers both vertical writing (traditional Chinese / Japanese script) and rotated (90° / 270°) horizontal writing. Identifying this early-on would allow doing text line segmentation in some vertical fashion, too.
But your explanation seems more concerned with reading order detection (order of text regions in page, order of text lines in regions).
Anyway, here's a sample where eynollah does not seem to cope with vertical text yet (except in the 1 line reading Candide ou l'Optimisme):

Just clarify that we did have only latin scripted documents, so clearly it will not work for chinese or arabic ones. I meant that if in your document you have a vertical lines (of course visually), they are detectable to some extent :)

Thanks @vahidrezanezhad @cneud for getting back to me so quickly!

Those are fine and valid questions. Our current order of priorities is roughly like this: refactoring codebase -> OCR-D integration -> improve documentation -> publication.

Fantastic!

Training is indeed done via sbb_pixelwise_segmentation and I believe you can e.g. use page2img if you already have accordingly labeled regions as PAGE-XML.

Oh, thanks! I am beginning to get an understanding...
When you get to the documentation or publication phase, please don't forget to mention which config_params you did use for what kind of data.

In eynollah alongside layout, textline and page detection which are pixelwise segmentation and done with https://github.com/qurator-spk/sbb_pixelwise_segmentation ,

Interesting – so you really did stick to dhSegment's idea of using the same paradigm for different sub-tasks. Do these models also get to share some early layer weights, or are used to initialize one another in the training procedure?
For the pixel classifier specific problem of gluing nearby neighbours, especially between columns horizontally during layout and between lines vertically during textline segmentation, do you have any additional tricks to incentivise the network for separation? Like extra classes with larger weights around the contour of objects, or a specialised loss function?

we have an image enhancer which is in fact a pixelwise regressor so I hvae to integrate it in https://github.com/qurator-spk/sbb_pixelwise_segmentation. The other model we have in eynollah is a scale classifier, corresponding model trainer ( which is an encoder with two dense layer at top of it) should be published too.

Fascinating! While I don't think these two components would be candidates for domain adaptation, maybe we could wrap these as separate steps in OCR-D, so one could re-use their intermediate results in combination with other tools and workflows. For example, the enhanced images might help OCR proper, or the scale map could help other segmentation tools. It's probably hard to see the benefit right away, as this is very innovative and one might need to re-train elsewhere. But I would very much welcome the analytical advantage of this sub-tasking...

Starting with suggested features, I have to say that the vertical textlines are already detectable to some extent by eynollah.

Here in SBB and by qurator project we have used or better to say exploited layout in order to get a better OCR with an optimal reading order. So considering this we have tried to first detect text regions and all elements which are needed for OCR.

I am not sure I understand this correctly. What I meant by vertical text was text regions that contain text lines which align vertically instead of horizontally. From the visual (non-textual) side, this covers both vertical writing (traditional Chinese / Japanese script) and rotated (90° / 270°) horizontal writing. Identifying this early-on would allow doing text line segmentation in some vertical fashion, too.
But your explanation seems more concerned with reading order detection (order of text regions in page, order of text lines in regions).
Anyway, here's a sample where eynollah does not seem to cope with vertical text yet (except in the 1 line reading Candide ou l'Optimisme):

Just clarify that we did have only latin scripted documents, so clearly it will not work for chinese or arabic ones. I meant that if in your document you have a vertical lines (of course visually), they are detectable to some extent :)

Just clarify that we did have only latin scripted documents, so clearly it will not work for chinese or arabic ones. I meant that if in your document you have vertical lines (of course visually), they are detectable to some extent :)

Thanks for clarifying and illustrating! So is there any special representation (during training and/or prediction) for vertical text, either in the textline model or the region model? Or would one merely need to mix in some vertical regions/lines, for example from HJDataset?

Just clarify that we did have only latin scripted documents, so clearly it will not work for chinese or arabic ones. I meant that if in your document you have vertical lines (of course visually), they are detectable to some extent :)

Thanks for clarifying and illustrating! So is there any special representation (during training and/or prediction) for vertical text, either in the textline model or the region model? Or would one merely need to mix in some vertical regions/lines, for example from HJDataset?

For the current tool (and of course talking about  latin scripted docs), in order to detect vertical lines we had to first train a textline model which is able to detect vertical lines. This is achieved by feeding model with 90 degree rotated documents too. And then we still needed to calculate the angel of deskewing for region to see is it a vertical or not.
In the case of chinese (orjapanese) documenst ( which are written vertically) of course we have to train model with your mentioned data. But I am not sure that  how would be texttline detector if we mix latin and chinese for training. I mean the quality of mixed trained model in compare to the model trained only with latin scripts. We need to just give a try :)

For the current tool (and of course talking about  latin scripted docs), in order to detect vertical lines we had to first train a textline model which is able to detect vertical lines. This is achieved by feeding model with 90 degree rotated documents too. And then we still needed to calculate the angel of deskewing for region to see is it a vertical or not.
In the case of chinese (orjapanese) documenst ( which are written vertically) of course we have to train model with your mentioned data. But I am not sure that  how would be texttline detector if we mix latin and chinese for training. I mean the quality of mixed trained model in compare to the model trained only with latin scripts.


Fix #5430 set dest tuple to null when src_tuple is NULL

Proposed changes
Fix #5430 set dest tuple to null when src_tuple is NULL.
Types of changes
What types of changes does your code introduce to Doris?
Put an x in the boxes that apply

[] Bugfix (non-breaking change which fixes an issue)
[] New feature (non-breaking change which adds functionality)
[] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[] Documentation Update (if none of the other choices apply)
[] Code refactor (Modify the code structure, format the code, etc...)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[] I have created an issue on (Fix #ISSUE) and described the bug/feature there in detail
[] Compiling and unit tests pass locally with my changes
[] I have added tests that prove my fix is effective or that my feature works
[] If these changes need document changes, I have updated the document
[] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

The PR is not verified.


dynamic link branch supports M1

Description

The dynamic link branch supports M1 Mac.
Types of changes

[ ] Bug fix (changes which fixes an issue)
[ ] New feature (changes which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] ETC (build, ci, docs, perf, refactor, style, test)

Checklist

[x] I followed the contributing guidelines.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] The PR title and commits are followed conventional commit form.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 8 committers have signed the CLA.:white_check_mark: loloicci:white_check_mark: tnasu:white_check_mark: shiki-tak:white_check_mark: da1suk8:x: Deployer:x: Taztingo:x: webmaster128:x: ethanfreyDeployer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@zemyblue
Please tell me your environment of local PC.
$ rustup --version
$ sysctl machdep.cpu.brand_string

@zemyblue Please tell me your environment of local PC.
$ rustup --version
$ sysctl machdep.cpu.brand_string

$ rustup --version
rustup 1.25.1 (bb60b1e89 2022-07-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.64.0 (a55dd71d5 2022-09-19)`

$ sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Apple M1 Pro

@zemyblue
Fixed test. Please check it.
FYI: https://github.com/CosmWasm/wasmvm/pull/351

5b328d9 and bfc9e4b look like cherry picking from CosmWasm/wasmvm. If it is, how about writing about it in commit messages or PR descriptions?


Pytorch lightning upgrades

Pytorch lightning upgrade to version 2.0
Note that this branch also updates the codebase to use CUDA 12, Pytorch 2, and flash-attn2.

Thanks @jnwei, that is certainly a step forward for Issue #403 but my tests suggest we are not there yet. Please see my latest comments in #403.


Fail to call "viewForHeaderInSection, heightForHeaderInSection" with multiple section's

Its issues with HVTableView or Something related to new SDK 8.0, please help on this

I am working on swift, those methods are already comment out, anyway i manage to create my own expand cell, thanks you for the comment.


Upgrade Knative to version 0.15.0

Release Note
NONE

@lburgazzoli @nicolaferraro

Seems ok

With 0.16 we'll need to move to v1 spec it seems


'dynamic-island-sketchybar' terminated by signal SIGSEGV (Address boundary error)

Hey there,
I followed the instructions, and I set P_DYNAMIC_ISLAND_DISPLAY to All.

What do I do?

P_DYNAMIC_ISLAND_DISPLAY needs to be set to all (with small 'a', case sensitive).
Otherwise, do you have notification island feature enabled? If so, could you turn it off and try it? This feature is still experimental.

I have P_DYNAMIC_ISLAND_DISPLAY set to all now, didn't change anything. Tried disabling everything over here:
# Enable/Disable Islands
P_DYNAMIC_ISLAND_MUSIC_ENABLED=1
P_DYNAMIC_ISLAND_APPSWITCH_ENABLED=1
export P_DYNAMIC_ISLAND_NOTIFICATION_ENABLED=0
P_DYNAMIC_ISLAND_VOLUME_ENABLED=1
P_DYNAMIC_ISLAND_BRIGHTNESS_ENABLED=1
P_DYNAMIC_ISLAND_WIFI_ENABLED=1
P_DYNAMIC_ISLAND_POWER_ENABLED=1

That also didn't change anything. I don't have Sketchybar running at the moment.

Interesting, I'm unable to reproduce the issue on my device (clean install). I'll have a look into this issue more in depth this weekend.

Okay, so apparently I just needed to reboot...
I'm sorry. Should have tried before creating the issue!
~Have you tried turning it on and off again?~


Rule: equals sign should be on same line

I would like to enforce this rule

When a property initializer does not fit on a single line, break after the equals sign (=) and use a continuation indent.

Source
Valid example
private val defaultCharset: Charset? =
        EncodingRegistry.getInstance().getDefaultCharsetForPropertiesFiles(file)

Violation example
private val defaultCharset: Charset?
        = EncodingRegistry.getInstance().getDefaultCharsetForPropertiesFiles(file)

I also would like to use same rule with functions.
Valid example
fun sum(a: Int, b: Int) =
        a + b

Violation example
fun sum(a: Int, b: Int)
        = a + b

PS. I'm happy to try implement it, if such PR is welcome.

Hi @MyDogTom. Absolutely. I'm kinda surprised it's not enforced yet so PR is definitely more than welcome.


RDS PostgreSQL template refresh

Issue #, if available:
Description of changes:
RDS PostgreSQL template refresh including addition of RDS Multi AZ cluster. Also contains updates for:
Instance class and DB engine versions
AWS Secrets Manager integration
gp3 storage
performance insights and enhanced monitoring
IAM DB authentication
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-e2e-tests


150 bug in bound calculation for unstranded bound calculation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.81%.  Consider uploading reports for the commit b3a59bb to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           bedrs-2.0     #151   +/-   ##
==========================================
  Coverage      92.81%   92.81%
==========================================
  Files             42       42
  Lines           9533     9533
==========================================
  Hits            8848     8848
  Misses           685      685

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


chore(deps): update dependency enzyme-adapter-react-16 to v1.15.4

This PR contains the following updates:

Package
Type
Update
Change

enzyme-adapter-react-16 (source)
devDependencies
patch
1.15.3 -> 1.15.4

Release Notes

enzymejs/enzyme
v1.15.4
Compare Source

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

:tada: This PR is included in version 5.4.1 :tada:
The release is available on:

v5.4.1
GitHub release

Your semantic-release bot :package::rocket:


[MP Infra Social Media Account] Created

As part of the 2021 Project plan, MP social media will use a portion of the budget to scale its social media and purchase HootSuite subscription to link all MP outlets and enable easier media scheduling that is not painful to own.
The new email group contains the MicroProfilers helping with MP twitter media today, 5/21/21, with ownership status:
@rstjames
@TetianaFTV
@aeiras
INFRA inventory sheet >Tab Mktg_Media  created

@rstjames the hootsuite account is now active. Please play with it and set it up. Ideally you can bring status to next Monday's call.  https://www.hootsuite.com
tetiana and I have access for support and INFRA.
We need ideally documentation on stuff that we ought to know that has nothing to do with access but usage as well.
Using the marketing wiki is the personal location for that document as you navigate the set up on the account.
Thank you,

@rstjames & @@TetianaFTV, please use this ticket if there are any issues with the email with your access you received last Friday.

@aeiras @TetianaFTV
I can not find an email with login information. Who set up the account and set the password and email?

Ryan, I have forwarded you the private email.


Can't open help after closing using :q

Describe the bug
After closing the help menu with :q, trying to open it again will fail.
To Reproduce

Open the help menu using <leader>o?
Close it using :q
Try opening the help menu again
Observe error E5108: Error executing lua ...k/packer/start/orgmode.nvim/lua/orgmode/objects/help.lua:128: Vim:E95: Buffer with this name already exists

Fixed. It was also happening for calendar popup, but now both are fixed. Thanks.


possible bug introduced in latest commit

Hi Andre, thanks for your work. i think there is a bug in version 1.3.11. I keep getting a "header collection could not be modified" errors. In the source code, i see that in the latest commit you've added this line:
// SendAsync removes chunking from the response.
// This removes the header so it ...
context.Response.Headers.Remove("transfer-encoding");

Line 73
after sending the response:
[await responseMessage.Content.CopyToAsync(context.Response.Body);]

Line 68
downgrading to 1.3.10 works as expected

I'm looking into it right now. Thanks for pointing it out :)

Hi @ainglese
Just fixed this. Also added some tests to avoid this in the future ;)


upgrade SurfaceFluxes

Purpose

Upgrade SurfaceFluxes to v0.5.0
To-do

Content

[ ] I have read and checked the items on the review checklist.

bors r+


Supprt cosign.

Investigate  cosign support for releases.

It's just for containers… ¯_(ツ)_/¯ Never mind.


gather ALL.THE.RESOURCES!

use this spreadsheet to gather resources that can be used in documentations:
https://docs.google.com/spreadsheets/d/1KPhLQx_sWjeo5Vn7gvwElVWqbiYCGSRDnBEngNUGb5g/edit#gid=0
This will allow us to reuse instead of trying to build from start

Can we make this sheet publicly viewable or commentable?

its publicly editable now


[Bug] [create data source] Failed to load driver class oracle.jdbc.OracleDriver in either of HikariConfig class loader or Thread context classloader.

Search before asking

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

What happened
Dolphinscheduler 3.0，create Oracle(Oracle version <IP_ADDRESS>) data source failed.
my environment：
jdk version ： jdk1.8_181
jdbc driver :  ojdbc6-<IP_ADDRESS>.jar and  ojdbc8-<IP_ADDRESS>.jar. --many have tried
prompt information ： 2023-03-29 06:29:05.560 +0000 org.apache.dolphinscheduler.api.service.impl.DataSourceServiceImpl:[345] - datasource test connection error, dbType:ORACLE, connectionParam:OracleConnectionParam{user='user', password='*****', address='jdbc:oracle:thin:@xxxxxx:1521', database='xxx', jdbcUrl='jdbc:oracle:thin:@xxxx:1521:wfmdb', driverLocation='null', driverClassName='oracle.jdbc.OracleDriver', validationQuery='select 1 from dual', other='null', connectType=ORACLE_SID}, message:Failed to load driver class oracle.jdbc.OracleDriver in either of HikariConfig class loader or Thread context classloader.
I made some attempts：
1.copy ojdbc6-<IP_ADDRESS>.jar or ojdbc8-<IP_ADDRESS>.jar to /.../api-server/libs and /.../work-server/libs and restart，but not resolved

What you expected to happen
Please help me resolve this issue
How to reproduce
create data source
Anything else
No response
Version
3.0.x
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

此问题已解决，步骤：
1.阅读相应版本的源码，发现pom.xml文件中用的ojdbc版本是 ojdbc8-<IP_ADDRESS>.jar
<mysql.connector.version>8.0.16</mysql.connector.version>         <oracle-jdbc.version><IP_ADDRESS></oracle-jdbc.version>         <slf4j.api.version>1.7.5</slf4j.api.version>         <slf4j.log4j12.version>1.7.5</slf4j.log4j12.version>
2.从Oracle官网（https://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/）下载对应版本的jdbc并拷贝到/.../api-server/libs/ 和/.../worker-server/libs/下
3.重新启动api-server 和 worker-server


Feat: Contact Us page is required

Describe the feature
A Contact Us page is essential for facilitating communication between users and the platform administrators. This feature will provide users with a means to reach out for inquiries, feedback, or support. Implementing the Contact Us page will enhance user engagement and satisfaction by fostering transparent communication channels. Requesting assignment of this task under GSSOC'24
Add ScreenShots

such kind of contact us page can be added for getting feedback and problem from user.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'24 contributor
[X] I want to work on this issue

@hereisSwapnil  can you assign this task to me ?

@Hitesh4278 Done :+1:

@hereisSwapnil  will I have to create frontend as well as backend or only frontend?

@hereisSwapnil will I have to create frontend as well as backend or only frontend?

because nothing is mentioned.

@hereisSwapnil will I have to create frontend as well as backend or only frontend?

because nothing is mentioned.
@hereisSwapnil  can you please confirm?


Get the events from events.rpi.edu

Using the link provided to query a JSON info from events.rpi.edu
Implement get function and format function
Implement the api /rpi-events to perform a test
Implement a automatic update function and set the node-cron update interval

Test event inserted into the DB
Now set the event count be 1
A revision can be made after review

I remove the usage of eventId when creating the Event Object, and getNextSequence('eventId') won't be called when event inserts

The changes in the index.js about delete event by user and database connection is not my work, I believe it is the last change made in main branch.


Makefile changes to include Highlighter Sail

The Sail code in the RISC-V manuals suffers from poor readability and alignment issues. I discovered a repository (https://github.com/Alasdair/asciidoctor-sail) that offers a solution to enhance the presentation of Sail code by aligning it and highlighting keywords with colors.
The benefits of this improvement will become increasingly apparent as new instructions are added to the manual, such as those proposed in Pull Request #1603.

As demonstrated in the images above, the difference is substantial and represents a clear improvement to the manual.
To implement these enhancements, some new files will need to be included in the doc's resources folder, as pointed out in the Pull Request https://github.com/riscv/docs-resources/pull/33 and it will also be necessary to include these files in the "REQUIRES" section of the Makefile.

Alasdair's solution is the preferred method for including SAIL code in asciidoc.  We are working on documenting the way to do this so that any extension author can include SAIL code.  In the PDF for the extension it talks about the ways to reference the SAIL index.  I'd like to see it referenced remotely via a hash amd using include macros to pull in the code vs. adding SAIL code manually.

Are you talking about this PDF “https://github.com/riscv/riscv-isa-manual/blob/main/src/extending.adoc”? Because I saw that you had already had contact with Alasdair's solution, and I found it strange that you weren't using it yet.

This PDF: https://github.com/Alasdair/asciidoctor-sail/blob/master/doc/built/sail_to_asciidoc.pdf  And I'm working on using it but have been busy with other priorities.

What I'd like to see happen is for the :sail-doc: variable to point at a remote version of the SAIL model, perhaps using a hash.  I haven't yet experimented with this yet though.

All you need to do to use Alasdair's asciidoc extension is install it and add it to your toolchain with --require=asciidoctor-sail

for sure, now I already understand it, but think that could more explicit, thanks!

Alasdair's solution is the preferred method for including SAIL code in asciidoc. We are working on documenting the way to do this so that any extension author can include SAIL code. In the PDF for the extension it talks about the ways to reference the SAIL index. I'd like to see it referenced remotely via a hash and using include macros to pull in the code vs. adding SAIL code manually.

Oh, that's nice. But we were not aware of that ongoing development. It was not clear there's work being done on "proper" inclusion of SAIL code for each instruction (is there a GitHub issue for tracking that?) as well as it's not really obvious that https://github.com/Alasdair/asciidoctor-sail is somehow related to the RISC-V ISA manual (we just googled it looking for SAIL highlighting).
That said, there seems to be dome disconnect and it would be good solve it, at least with documenting ongoing activities, their status and also make references between projects where applicable - that will allow us to make sure there's no duplication of development is happening.
Also, it's interesting but looks like even Documentation SIG is not aware of that development related to "proper" SAIL snippets inclusion, at least that's a feeling I have.
Adding @dhower-qc who works on https://github.com/riscv-software-src/riscv-unified-db and clearly is interested in getting SAIL snippets added in the .yaml description of instructions.
But thanks for the hint on how to enable highliting with existing documentation.

I've already updated the Makefile, the goal here was to try to directly add the highlighted sail to the manual by making a simple change, instead of installing it manually, while @wmat  solution is not finished this could be a good solution to improve the layout in the meantime!


Fix startup error with enabled docker alias file

I get an error at startup from the docker aliases file. Enclosed change fixes this so there is no error on startup.

Thanks!


Test-Path -IsValid returns true for invalid path

Steps to reproduce
[Windows]
Test-Path "c:\..\..\test" -IsValid

Expected behavior
False

Actual behavior
test-path : The path 'C:\..\..\test' referred to an item that was outside the base 'C:'.
At line:1 char:1
+ Test-Path "c:\..\..\test" -IsValid
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Test-Path], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.TestPathCommand

True

Environment data
Name                           Value
----                           -----
PSVersion                      6.2.0-preview.1
PSEdition                      Core
GitCommitId                    6.2.0-preview.1
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Tested that just now @iSazonov
It seems you get one error per level you attempt to step above the root, which is very interesting!
#PowerShell 6.1.2
#Copyright (c) Microsoft Corporation. All rights reserved.

#https://aka.ms/pscore6-docs
#Type 'help' to get help.

#Loading personal and system profiles took 1860ms.
PS C:\Program Files\PowerShell\6> Test-Path HKLM:\..\..\..\test
Test-Path : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ Test-Path HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Test-Path], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.TestPathCommand

Test-Path : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ Test-Path HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Test-Path], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.TestPathCommand

Test-Path : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ Test-Path HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Test-Path], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.TestPathCommand

True

I'm even afraid to think what will do New-Item :-)

@iSazonov that amusing comment led me to see the source of the issue. Check this out:
PS C:\Program Files\PowerShell\6> new-item HKLM:\..\..\..\test
new-item : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ new-item HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [New-Item], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.NewItemCommand

new-item : A key in this path already exists.
At line:1 char:1
+ new-item HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ResourceExists: (Microsoft.Power...RegistryWrapper:RegistryWrapper) [New-Item], IOException
+ FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.NewItemCommand

PS C:\Program Files\PowerShell\6> get-item HKLM:\..\..\..\test
get-item : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ get-item HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Get-Item], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.GetItemCommand

get-item : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ get-item HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Get-Item], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.GetItemCommand

get-item : The path 'HKEY_LOCAL_MACHINE\..\..\..\test' referred to an item that was outside the base 'HKEY_LOCAL_MACHINE'.
At line:1 char:1
+ get-item HKLM:\..\..\..\test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Get-Item], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.GetItemCommand

    Hive:

Name                           Property
----                           --------
HKEY_LOCAL_MACHINE

So if you attempt to query a path like this, first it errors on each level above the root (it seems to be checking recursively for some terrible reason!) and then it reaches the root node itself and decides arbitrarily that that is what you were trying to get.
Given the similarities in behaviour, this seems to be a common issue and may trace back to the FileSystem provider itself.

Yeah, it looks like it tries to re-create the root node itself, which is arguably more surprising! 😆

Just stumbled on this as well as it's causing my PowerShell 6+ tests to fail for my PEMEncrypt module: https://dev.azure.com/scrthq/SCRT HQ/_build/results?buildId=352
Easily able to be reproduced with not even a legitimate path string, i.e. Test-Path '----------' -IsValid. Present in 6.2.0 and 7.0.0-preview.1

I think that's a different issue @scrthq.
As with other *-Path cmdlets, a path that doesn't contain a drive qualifier automatically defaults to checking in the current location. The name ---------- is a valid file or folder name, so that passing the test would be expected, I think.

That's a fair point. Maybe a better example is what I'm actually testing against (path string is valid). If I include -IsValid when testing a string that is 100% not a valid path string, PS 5.1.1 returns $false, while 6+ returns $true. My use case here is checking if the string is a valid path, as I am using it to determine if the string provided is a path string or not (regardless if the path itself is actual in the event that the string is a valid path string).
The bug outlined below currently make using Test-Path -IsValid unusable for me in PS 6+, so I have to fall back to .NET static methods directly and shortcut path validation by checking if the path exists (which it will never exist if the path is invalid, at the end of the day), as I can rely on that not throwing an error if the path string isn't valid at all. It will simply return $false, as needed.

Experience
Input
$string = @'
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxeBWfgeKhwp97v4EuFfO
.......
-----END PUBLIC KEY-----
'@
Test-Path $string -IsValid

PS 5.1.1 Output
Returns $false, as expected
False

PS 6+ Output
Returns $true, unexpectedly
True

Comparing results between PS 5.1.1 and 7.3.2 yields curious results, even with more basic tests that just include characters forbidden in Windows path conventions.
Input: Test-Path C:\Wind*ows

PS 5.1.1 Output: False
PS 7.3.2 Output: True

The method IsValid() is also affected :
$PathHelper=$ExecutionContext.SessionState.Path
$PathHelper.isValid("c:\..\..\test")
#MethodInvocationException: Exception calling "IsValid" with "1" argument(s):
# "The path 'C:\..\..\test' referred to an item that was outside the base 'C:'."

$PathHelper.isValid('Registry::..\temp')
# MethodInvocationException: Exception calling "IsValid" with "1" argument(s):
# "Attempting to perform the IsValidPath operation on the 'Registry' provider failed for path '..\temp'.
#  Object reference not set to an instance of an object."

Test-Path "Registry::..\temp" -IsValid
#Test-Path: The path '..\temp' referred to an item that was outside the base ''.
#Test-Path: Object reference not set to an instance of an object.

I have in the past argued that Test-Path should generally return False if there's an error (because in just about every case the error indicates the path is not valid / existent), but in general the committee / pwsh team have decided that is not desirable for some reason or another. I don't fully understand the reasoning myself.