Update free-courses-en.md

Added an online book on Software testing.
It is a complete guide on software testing for beginners.
‘Software crises’ has become a fixture of everyday life with many well-publicized failures that have had not only major economic impact but also have become the cause of loss of life. Hence, software testing is an integral part of any programmers life cycle.
The link is of an online pdf, therefore it is completely free.
Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s) | Remove Resource(s) | Add info | Improve Repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Not a duplicate
[ ] Included author(s) if appropriate
[ ] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Not an authorized distribution. Please see CONTRIBUTING.md guidelines.


Use plural, not datatypes.

This PR
replace datatypes (eg. xxxList) with plurals (eg: xxx's')

This is a breaking change, I'm not sure at this point it makes sense to do breaking changes especially if they do not bear functionality effects.

@rasky this and the others were asked by @ruphy as a reminder ;)


Stratasys Dimension 1200es Firmware Update Safe?

I currently have Version 7.0 Build 1866 firmware running on my Dimension 1200es (firmware circa 2007). I see that the latest available firmware is Version 10.1 Build 3810 (firmware circa the past ~2 years or so I think). I currently use this eeprom programmer to reset/reload both the model and support cartridges (Filling them to 99,999 in^3). Does the latest 10.1 firmware still accept rewritten eeproms on both the cartridges (and to 99,999 in^3)? Can anyone confirm this?

On my machine "Dimension Elite" with 10.1 Build 3810 the rewritten cartridges are not working. "Material Error". I use the daemon mode to refill the cartridge.
@azumi-san  how do you rewrite your eeproms ?

On my machine "Dimension Elite" with 10.1 Build 3810 the rewritten cartridges are not working. "Material Error". I use the daemon mode to refill the cartridge.
@azumi-san how do you rewrite your eeproms ?

I'm using C# version of flashing software for my 1200es.
Select Prodigy machine.
Read it at first, then just change material quantity and serial number.
Try to use quantity less than 60in^3.

Thanks, the arduino/windows workflow works here also.

@CTSchorsch do you know if the issue with the daemon mode was related to the qty of material on the cartridge?

@bvanheu  I dont know. I switched to the windows/arduino version and did not investigate the problems with the linux daemon

Where can I download the latest firmware? Or v10.1 mentioned here?
I just got one of a bst 1200 for free and figured I would update from 5.4 if I can


Add Comprehensive CI Checks and Codecov Integration

Overview
This pull request introduces multiple new CI checks to ensure the quality the github.com/KSpaceer/gobergamot. It also integrates Codecov to keep track of our test coverage. The goal is to automate the validation of new contributions, enforce code style, and maintain high standards for code quality.
Changes

Go Build: A new workflow to build the library across current stable (1.22.0 as of Feb 2024) and oldstable (1.21.0 as of Feb 2024) versions of Go to ensure compatibility.
Go Test: Automated tests are now run to catch any issues early in the development cycle.
Go Generate Check: Validates that generated files are up to date and no changes are needed.
Gofmt: All submitted code will be formatted according to Go's standard formatting guidelines to maintain consistency across the codebase.
Go Tidy Check: Ensures that the go.mod and go.sum files are clean and that all dependencies are tidy.
Lightweight Go Benchmark: Adds a basic benchmarking workflow to measure the performance impact of changes.
Go Vulnerabilities Action: Scans the codebase for known vulnerabilities in Go code and its dependencies to ensure a secure codebase.

Codecov Integration

Codecov Upload: After tests are run, the coverage report is uploaded to Codecov using codecov/codecov-action. This allows us to track test coverage statistics over time and ensure that we maintain or improve our current coverage with each contribution.

Impact
This PR provides a solid foundation for continuous integration and helps you automate the review process to a great extent. It also gives all contributors clear feedback on the state of their changes and the impact on the library's overall health.
I'm looking forward to your feedback and any suggestions on how to further improve our CI/CD pipeline.

There's an issue with the go generate check—it's currently  failing.
It may be necessary to add specific environment variables to the GitHub Actions workflow to enable a feature that seems to be disabled.


ability to import/show hosts configured in ~/.ssh/config

Description of the new feature/enhancement
It would be very handy to be able to import the hosts configured in ~/.ssh/config file as profiles. Or to be imported automatically if it detected that there are hosts configured. I have couple servers where i do remote development on, using vscode. And vscode is using the ~/.ssh/config file for the hosts. Which is very handy. Sometime i only need a terminal. But since Windows Terminal is using its own settigns.json file i need to maintain two different config files for my hosts, which is a little inconvenient.

Proposed technical implementation details (optional)
Maybe a switch in the settings that would scan ~/.ssh/config and import hosts if any are configured. Something like:
"importHostsFromSSHConfigFile": true/false,

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #9031 for more discussion.
/dup #9031

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #9031 for more discussion.
/dup #9031

Hi Thank for the reply. I was searching for an similar issue, but for some reason did not find it... That's why I opened a new one. Thanks!


[2.0.2] *: update release note

What is changed, added, or deleted? (Required)

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v3.0 changes)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Need modification after applied to another branch
[ ] Might cause conflicts after applied to another branch

/label needs-cherry-pick-2.0
/translation no-need
/status PTAL
/cc @GMHDBJD @CharLotteiu

/lgtm

/merge


SelfPAD_eval.py is failing

Hello, thanks for the good tool. I had some issues with installing dependencies, but made it work with Docker. Here is a Dockerfile.txt (extension added so upload is allowed) if someone finds it useful to build a tool in a container environment like Docker.
However, when I ran selfpad_eval.py to evaluate humanness I am getting this error:
Building the models for training and evaluation in SubTab framework...
Traceback (most recent call last):
  File "/opt/SelfPAD/selfpad_eval.py", line 250, in <module>
    main()
  File "/opt/SelfPAD/selfpad_eval.py", line 224, in main
    f1, recall, prec, auc, acc, pr_auc = eval(data_loader, config=config)
  File "/opt/SelfPAD/selfpad_eval.py", line 45, in eval
    model = PADFintune(config)
  File "/opt/SelfPAD/src/selfpad_humanness.py", line 47, in __init__
    self.set_autoencoder()
  File "/opt/SelfPAD/src/selfpad_humanness.py", line 53, in set_autoencoder
    self.transformer = PADFT(
  File "/opt/SelfPAD/utils_finetune/model_utils.py", line 49, in __init__
    self.transformer = SelfPAD.load_from_checkpoint(
  File "/usr/local/lib/python3.9/site-packages/pytorch_lightning/utilities/model_helpers.py", line 100, in wrapper
    return self.method(cls, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/pytorch_lightning/core/module.py", line 1561, in load_from_checkpoint
    loaded = _load_from_checkpoint(
  File "/usr/local/lib/python3.9/site-packages/pytorch_lightning/core/saving.py", line 61, in _load_from_checkpoint
    checkpoint = pl_load(checkpoint_path, map_location=map_location)
  File "/usr/local/lib/python3.9/site-packages/lightning_fabric/utilities/cloud_io.py", line 55, in _load
    with fs.open(path_or_url, "rb") as f:
  File "/usr/local/lib/python3.9/site-packages/fsspec/spec.py", line 1293, in open
    f = self._open(
  File "/usr/local/lib/python3.9/site-packages/fsspec/implementations/local.py", line 184, in _open
    return LocalFileOpener(path, mode, fs=self, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/fsspec/implementations/local.py", line 306, in __init__
    self._open()
  File "/usr/local/lib/python3.9/site-packages/fsspec/implementations/local.py", line 311, in _open
    self.f = open(self.path, mode=self.mode)
FileNotFoundError: [Errno 2] No such file or directory: '/opt/SelfPAD/results/pretraining/training/model/pretrained_model.ckpt'

Input file I've used for testing is attached below. And this is the command line I've used:
python3 /opt/SelfPAD/selfpad_eval.py --evaluate therapeutic_ABs.selfpad_input
Can you help me figure out what the issue is?
therapeutic_ABs.selfpad_input.csv
Dockerfile.txt

Hi Luka,
This error is due to the fact that the repo does not include the pre-trained model weights. Since we use proprietary data to train the models, there is no plan to share the model weights. However, you can use the source code to train your own models  using publicly available datasets by framing the problem in the way we framed it in the paper. I will close the issue, but please feel free to re-open it if you have any other question(s).


CausalTree

just came across this package recently, with a fairly simple idea:
After a certain A/B test, the data scientist is often asked about which subset of users is most affected by the new feature. One can actually answer this by building a decision tree (splitting the dataset) to maximize the treatment effect within each node.
In a way, this is kinda like a post-hoc subgroup analysis, but might be more useful. So much for food for thought;-)

looks great, thanks a lot!


[SPARK-26470][CORE] Use ConfigEntry for hardcoded configs for eventLog category

What changes were proposed in this pull request?
The PR makes hardcoded spark.eventLog configs to use ConfigEntry and put them in the config package.
How was this patch tested?
existing tests

cc @dongjoon-hyun @HyukjinKwon @srowen @ueshin @vanzin

Test build #100500 has started for PR 23395 at commit c21fde0.

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/testing-k8s-prb-make-spark-distribution-unified/6446/
Test PASSed.

Test build #100500 has finished for PR 23395 at commit c21fde0.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Could you fix the scalastyle?
[error] /home/jenkins/workspace/SparkPullRequestBuilder/core/src/test/scala/org/apache/spark/scheduler/EventLoggingListenerSuite.scala:36:0: org.apache.spark.internal.Logging is in wrong order relative to org.apache.spark.internal.config._.

sorry, done, thanks @dongjoon-hyun

Test build #100517 has started for PR 23395 at commit 7b7d5df.

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/testing-k8s-prb-make-spark-distribution-unified/6458/
Test PASSed.

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/100517/
Test PASSed.

Test build #100542 has started for PR 23395 at commit a54c241.

Test build #100542 has finished for PR 23395 at commit a54c241.

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

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

Merged build finished. Test PASSed.

Could you resolve the conflicts?

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/testing-k8s-prb-make-spark-distribution-unified/6490/
Test PASSed.

Test build #100555 has started for PR 23395 at commit 0ebcb67.

Test build #100555 has finished for PR 23395 at commit 0ebcb67.

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/100555/
Test PASSed.

Thank you, @mgaido91 , @viirya , @HyukjinKwon .
Merged to master.


primazactl: add shell completions

Story
As a Primaza Administrator, I would like to have completions for primazactl so that it's easier to use {{{}primazactl{}}}.
Background
As described in Primaza's architecture document, primazactl is a Command Line Application for Primaza Administrator.
The tool will help Primaza Administrators installing Primaza on a cluster and configuring Worker clusters.
Out of scope
NA
In Scope

bash shell completions
zsh shell completions

Approach
Introduce a library to auto-generate completions for target shells.
An examples for Go is [cobra](https://github.com/spf13/cobra/blob/main/shell_completions.md] or Argcomplete for python.
The primazactl completion command should require a -s|--shell argument.
Demo requirements
A great demo will show working completion in bash and zsh shells.
Dependencies

primazactl

Acceptance Criteria
Development

[ ] primazactl has a completion command that prints out completions for a given shell

Docs

[ ] There is a section in primazactl docs dedicated to explaining how to generate and source completions

Legend

🔲  To do
☑  Done
🔲  ~Unsatisfied~

Started working on this story to add argcomplete for arg parse


Simplify grammar for f-strings and s-strings

What we have
Currently we allow all these things:
f"Hello my name is {name}"
f"Hello my name is {obj.get('name')}"
f"Hello my name is {obj.get("name")}"
f"Hello my name is {"this is all {just} a string"}"
f"Hello my name is { f"a {nested} f-string" }"
f"Hello my name is { f"a { f"double {nested}" f-string" }"
f"Evaluates to single braces {{name}}"

There is a case that at least some of this is unnecessary, and some languages do agree here. Both Python and Rust parse the string as a string first and thus disallow starting quote to be present in the interpolation.
Why I want the change
My attempt to parse this with chumsky in #1818 was along the lines of:

parse the string char for char and switch to interpolation parsing when { is encountered,
not parse char for char until } is encountered,
repeat.

Result is a vector of strings each of which is either literal string or a interpolation string that still needs to be lexed and parsed separately.
The approach is not clean (we'd have to created a nested lexer and nested parser, because this produces nested streams) and also does not parse nested interpolations and double braces correctly.
How we implement it now
This certainly is possible to parse, because we have a working impl here:
https://github.com/PRQL/prql/blob/main/prql-compiler/src/parser/prql.pest#L115-L128
I think the leading case for why this is possible is that pest parses char by char instead of lexing first. With chumsky, I opted for lexer + parser approach, see https://github.com/PRQL/prql/pull/1818#issuecomment-1427680794
What would I change
My vote here is to simplify our grammar and drop support for having quotes within the interpolations:
name = 'aljaz'
f"Hello {name}"   # ok: Hello aljaz
f"Hello { 'n' }"  # ok: Hello n
f"Hello { "n" }"  # err: unexpected identifier `n` (this is parsed as string ident string)
f"Hello { '"' }"  # err: unterminated string starting at ' }"
f"Hello { '}' }"  # ok: Hello }
f"Hello {{ n }}"  # ok: Hello { n }

Thanks for the very clear issue! I found the examples excellent.
It's worth browsing over https://peps.python.org/pep-0701/, which proposes loosening python's rules here, closer to PRQL's current implementation. Part of their logic is that the current python parser adds more complication to get their current impl, so different from us.
I don't think we'd be giving up much if we went to the stricter rules, so if it makes the compiler's implementation simpler, then I'd support. If we find that the semantics are insufficient for folks, we can always add more functionality back in the future.

Ok, I'll implement the simplified behavior then.


Prioritise building more recent packages

Starting a discussion here about what should happen with building older version of packages. Currently we attempt to build everything in opam-repository which includes a number of older packages that are of questionable usefulness.
For example:

older Tezos releases
older JaneStreet base/core libraries

Prioritise building the more recent versions of packages.
What are the OCaml versions that we support package documentation for?
Can we keep the last successful documentation build for older releases and not rebuild them?
https://github.com/ocaml/opam-repository/pull/23649

After some point, when odoc's lower bound rises, we will most likely want to keep around the old successful documentation build for packages that will no longer build and will have to support the old data format from thereon (or convert the old data to the new format if there's changes on voodoo's output data format). :thinking: While odoc is still in active development, I think that we may want to get the new features also on older documentation that people still use. We currently don't have metrics on what people use. This seems like something we want to collect.
We should determine the exact lower bound on ocaml imposed by voodoo and odoc. The voodoo CI only tests voodoo explicitly down until 4.08, but the real lower bound is earlier than 4.08.
Older Tezos releases seem mostly useless, and I am curious why there are so many Tezos packages on opam in the first place.
I think this discussion is a great one to be had in public, similar to https://discuss.ocaml.org/t/raising-the-minimum-tested-version-of-ocaml-to-4-05-or-4-08-from-4-02/12464.


Incremented version to 1.3.4.

Signed-off-by: Zelin Hao<EMAIL_ADDRESS>Description
Increment version to 1.3.4
Issues Resolved
Part of https://github.com/opensearch-project/opensearch-build/issues/2205
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I will be updating the job-scheduler snapshot once we have it.


fix flex of candlestick stats

Need to fix the padding and flex of candlestick stats, use flex space between instead of padding the right side of the volume dropdown.

fixed, restyled candlestick header


Refresh of editableSchemaMetadata based on schemaMetadata

Describe the bug
On ingestion when schemaMetadata of a dataset is refreshed like removal of columns, the same doesn't get reflected in editableSchemaMetadata and the linkings to the removed columns still exist in editableSchemaMetadata
To Reproduce
Steps to reproduce the behaviour:

Attach glossary terms/business attributes to few columns of a dataset in datahub.
Now delete those columns from source and re-ingest the dataset in datahub.
Click on Related Entities tab of the glossary term which was attached to the now deleted column in dataset.
Find or scroll down to that particular dataset it will still show up in Related Entities tab.
Since the column to which glossary term was attached is now deleted, it should not show up in Related Entities, but it comes up in the list because the column along with its linkings (glossary terms etc.) still exists in editableSchemaMetadata

Expected behaviour
When the schemaMetadata of a dataset is updated (removal of columns), it should also update editableSchemaMetadata as part of its side effect.
Additional context
This problem is bound to occur in all the editable aspects of datahub.

Thanks for reporting the issue. It sounds like we are not properly cleaning up once a column is removed from SchemaMetadata.
We are processing this internally, but as of today this is not an immediate priority.
In terms of the solution: The best way to address would be using a MetadataChangeProposal side effect to update the editableSchemaMetadata aspect when the schemaMetadata aspect changes.


AssertionError when only explaining one image

When I try to explain only one image (a numpy array with the shape (1, x, x, 3), see the example) with shap it will throw the following error:
  File "/.../shap_test/venv/lib/python3.7/site-packages/shap/plots/_image.py", line 73, in image
    assert labels.shape[0] == shap_values[0].shape[0], "Labels must have same row count as shap_values arrays!"
AssertionError: Labels must have same row count as shap_values arrays!

Explaining 2 images works fine as the example below will show. The only difference is the value of the first parameter in the shape of the input, which determines how many images are in the array.
Example: First we run shap with an array filled with 2 images, which works as intended. Next we only use one image, which will fail and throw the mentioned error.
import numpy as np
import shap
import random

def predict(imgs_np):
    rand = random.uniform(0, 1)
    result = [[rand, 1-rand]]
    # result = [[0.6, 0.4]]
    return result

def explain(imgs_np):
    masker = shap.maskers.Image("inpaint_telea", imgs_np[0].shape)
    explainer = shap.Explainer(predict, masker, output_names=["good", "bad"])
    shap_values = explainer(imgs_np, max_evals=4, batch_size=1, outputs=shap.Explanation.argsort.flip[:])
    shap.image_plot(shap_values)

if __name__ == '__main__':
    random.seed(0)
    np.random.seed(0)
    img_np_2 = np.random.rand(2, 5, 5, 3)
    explain(img_np_2)
    img_np_1 = np.random.rand(1, 5, 5, 3)
    explain(img_np_1)

The cause for this seems to be in shap/explainers/_explainer.py line 308-310. Removing these following lines will make the example also run for only one image:
if isinstance(sliced_labels, np.ndarray) and len(sliced_labels.shape) == 2:
    if np.all(sliced_labels[0,:] == sliced_labels):
        sliced_labels = sliced_labels[0]

Removing those lines will also fix another issue. When I uncomment the commented out line in predict it will no longer throw the following error:
  File "/.../shap_test/venv/lib/python3.7/site-packages/shap/plots/_image.py", line 75, in image
    assert labels.shape[1] == len(shap_values), "Labels must have a column for each output in shap_values!"
IndexError: tuple index out of range

It seems like in cases where all predictions are the same, like when I only explain one image, shap will remove one dimension in the explainer, which will later cause errors while plotting.
Libraries installed:
shap 0.39.0
opencv_python <IP_ADDRESS>
matplotlib 3.4.1
ipython 7.22.0

I second this, I had a very similar problem that deleting the mentioned code in _explainer.py fixed.


[WIP] Document preview

Resolves #65
i did not realize this branch name was used already oops

this was never meant to be merged, just stuff to try out box previewing (didn't work)


profanity formula depends on libuuid

Trying to brew install profanity in a fresh linuxbrew environment, first I get a failure on 'libgcrypt'. After working around the issue (see #470) the profanity build system fails because it cannot find 'libuuid'. There is a formula for libuuid, but it conflicts with 'ossp-uuid' which is installed by one of the dependencies.
Full build log:
https://gist.github.com/b47a37d7325eef2e8ed1

I'm on vacation until the new year. If this issue is still a problem for you after then, please bump this thread. Sorry for the delay.


refactor logic

The purpose of this PR is to reduce the size and complexity of the main view controller and start cleaning up some of the logic.
Currently the main view controller is over 500 lines long.  It can be easy to get into the habit of creating extremely large view controllers to handle lots of logic but in the long run this can be detrimental b/c when working with a team, large files that multiple engineers are working on leads to conflict hell.
Suggestions:

break out the networking logic into their own files
break out the location logic into their own files
break out the view styling into their own files
use guards and where to DRY up and reduce the lines of code, this PR has a few examples, in particular the touch logic

It looks good, refactor was supposed to be part of next blog posts. But I'm more than happy to merge your changes. Thanks! 👍


Improve surface smoothing and other surface operations

Have surface smoothing take subject/surface parameters instead of a SurfaceMeasure object.
Operate on both hemispheres in one call.
Fix segmentation to preserve integer datatype.

Codecov Report

Merging #155 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #155   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines        2109   2113    +4
=====================================
+ Hits         2109   2113    +4

Impacted Files
Coverage Δ

lyman/signals.py
100% <100%> (ø)
:arrow_up:

lyman/workflows/model.py
100% <100%> (ø)
:arrow_up:

lyman/workflows/template.py
100% <100%> (ø)
:arrow_up:

lyman/surface.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


How to integrate Python Enterprise Logging with this solution using APIM

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [ x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Is it possible to have some guidance on how to add the API management layer for logging to the pyton code for this deployment
https://github.com/Azure-Samples/openai-python-enterprise-logging
For example

import openai
openai.api_type = "azure"
openai.api_base = "https://xxxxxxxxx.azure-api.net/" # APIM Endpoint
openai.api_version = "2023-05-15"
openai.api_key = "APIM SUBSCRIPTION KEY" #DO NOT USE ACTUAL AZURE OPENAI SERVICE KEY
response = openai.Completion.create(engine="modelname",
prompt="prompt text", temperature=1,
max_tokens=200,  top_p=0.5,
frequency_penalty=0,
presence_penalty=0,
stop=None)
When generating text, prompts the API gateway is not called.
Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

azd version?

run azd version and copy paste here.

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

Closing as resolved myself while waiting..

Closing as resolved myself while waiting..

Hi, can you please elaborate on how you got it working

Hi @GLubomirov, thanks for reaching out. Integrating APIM with Open AI was tricky but the break through for me was adding openai URL prefix to the APIM. See screen shot below but navigate to APIM management service, API, click on the openai service and then settings.

The next bit was adding APIM endpoint and subscription key to app.py on the web app. I added them as environment variables to keep them secure.
I had to comment out one of the modules. One thing to bear in mind is we had to take Azure AD out of the equation but I want to add this back at some stage as the web app is only secured by the subscription key so lowers security.
But below are the changes, make sure you add the three parameters too for subscription key, APIM endpoint and API version
Comment out
#comment out below when adding APIM
@bp.before_request
async def ensure_openai_token():
if openai.api_type != "azure_ad":
return
openai_token = current_app.config[CONFIG_OPENAI_TOKEN]
if openai_token.expires_on < time.time() + 60:
openai_token = await current_app.config[CONFIG_CREDENTIAL].get_token(
"https://cognitiveservices.azure.com/.default"
)
current_app.config[CONFIG_OPENAI_TOKEN] = openai_token
openai.api_key = openai_token.token

then add below, this is based on new code from main repo.
So just uncomment and comment out the lower section.
Used by the OpenAI SDK
#uncomment when adding APIM
if OPENAI_HOST == "azure":
    #   openai.api_type = "azure"
    #   openai.api_base = APIM_ENDPOINT
    #   openai.api_version = APIM_VERSION
    #   openai.api_key = APIM_SUBSCRIPTION_KEY
    #   current_app.config[CONFIG_OPENAI_TOKEN] = APIM_SUBSCRIPTION_KEY

#comment out below when adding APIM
openai.api_type = "azure_ad"
openai.api_base = f"https://{AZURE_OPENAI_SERVICE}.openai.azure.com"
openai.api_version = "2023-07-01-preview"
openai_token = await azure_credential.get_token("https://cognitiveservices.azure.com/.default")
openai.api_key = openai_token.token
# Store on app.config for later use inside requests
current_app.config[CONFIG_OPENAI_TOKEN] = openai_token
else:
openai.api_type = "openai"
openai.api_key = OPENAI_API_KEY
openai.organization = OPENAI_ORGANIZATION

Parameters also need adding to application settings on web app in main.bicep
add to main.bicep
// APIM params
param apim_endpoint string = ''
param apim_subscription_key string = ''
param apim_version string = ''
Application settings:

main.parameters.json

Thanks a lot, for the detailed response. I don't think this info is available anywhere else

No it isn't and I struggled figuring it out myself! If you get stuck give us a shout!

Thank you @mattjames1978 for generously sharing your approach with other developers. We're actually considering adding APIM as an optional resource to the infrastructure, given its usefulness.

No worries @pamelafox, happy to help and will keep an eye out when the new feature is added.
I am currently building a new environment into uk south so we can take advantage of 0613.
Cheers
Matt

@GLubomirov @mattjames1978 We're discussing APIM integration in this sample and are wondering how customers are using it. What are your goals in using APIM? Are you using it to monitor token usage? AAD? Rate limiting usage? Load balancing between instances?
We'd love to hear more!

@pamelafox the main use case for us was to improve security and enable enterprise logging to allow us to log what the users were inputting into the chat. To improve the chat completion model.

@pamelafox currently the interest is mainly in providing robust monitoring and auditing. There's a lot of exploration going on, on what the tech is capable of and what options there are to control and improve the model output. There's also demand for ways  to detect inaccurate or suboptimal information provided by the model. However I also get questions about security, scalability and concerns about open ai quotas and limits.

if OPENAI_HOST == "azure":
#   openai.api_type = "azure"
#   openai.api_base = APIM_ENDPOINT
#   openai.api_version = APIM_VERSION
#   openai.api_key = APIM_SUBSCRIPTION_KEY
#   current_app.config[CONFIG_OPENAI_TOKEN] = APIM_SUBSCRIPTION_KEY

Hey mattjames- I'm REALLY struggling to add APIM support. Any thoughts ?

Did you follow the guidance I shared at the top? What error messages are you getting? Any info you can share on the issue will help troubleshoot.

Did you follow the guidance I shared at the top? What error messages are you getting? Any info you can share on the issue will help troubleshoot.

Hey Matt, yes- I'm not getting errors, but there's nothing within the APIManagementGateway Logs. I have logging and byte size up to the level it should be and I'm using a tier of APIM which should allow the logs to be happening.

Ok, are you able share a screen shot of your logging settings on the api management side? There is a test option from memory to generate output


Cca platform provision

not a deep review -- been heavily distracted by random unanticipated rubbish -- some comments inlined nevertheless

No worries. Thanks for a quick look. I will check what is relevant and reply to some of them later today!

Sure thank you so much for the review! Will correct them and update you!


Form factor for 50G QSFP28

Environment

Python version:
NetBox version:

Proposed Functionality
Additon of form factor for 50G QSFP28 for interfaces.
Code line change in file netbox/dcim/constants.py, (only addition of two lines, for example)
# Ethernet
IFACE_FF_50GE_QSFP28 = 1450
...
IFACE_FF_CHOICES = [
'Ethernet (modular)',
        [
         [IFACE_FF_50GE_QSFP28, 'QSFP28 (50GE)'],
...

Use Case
50G is also common like 25G, 40G in Ethernet(modular).
Database Changes
No change in database
External Dependencies
No dependencies

I could be mistaken but I don't think 50GE uses SFP28. I'm also having a hard time tracking down a commercially-available transceiver for reference.

@jeremystretch I did check this out myself, I couldn't find any transceivers and couldn't definitively find out whether it is QSFP28 or SFP56/QSFP56 (which is what it seems to suggests).
Doing a little more digging:
According to this, it looks like it might be:

QSFP28 (2x25g)
SFP56 (1x50g)

http://eoptolink.com/products/qsfp28-pam4-50g
http://www.10gtek.com/QSFP28-to-2x-50G-QSFP28-DAC-283.html
100G QSFP28 is 4 x 25G

Thanks @dnyt84


Support for Canadian provinces, and continental discrepancies

I'm working on a plugin for UltraDNS, supporting dynamic records, and finding that there's a bit more stringent checking of Geo codes for dynamic than there is for geo records.
In particular, UltraDNS geo-targeting to Canadian provinces (whereas R53 does not). Also I've come across some continental categorization differences. For example, Ultra puts Russia in Asia, whereas Octo puts it in Europe. I could handle the continental discrepancies with some static-mapping in the plugin, but curious how you'd suggest I go about supporting the Canadian provinces, where it looks like I'd need to add a 'provinces' key + provinces to geo_data.py.

The format of octoDNS's geo codes are <continent>-<country>-<region>.
There doesn't appear to be an iso standard for continent codes. octoDNS uses https://github.com/jefftune/pycountry-convert to map which maps things with https://github.com/jefftune/pycountry-convert/blob/master/pycountry_convert/country_alpha2_to_continent.py
The country part is an ISO 2-letter country code so that's standard.
The only existing use of region is US states, but conceptually Canadian providences are allowed, it's just that none (to my knowledge) of the existing providers support them, if they do they might just work or may needs some tweaking in the providers to send it down the way they expect.
The details of taking the geo codes and mapping them into the underlying dns service's requirements are the job of the provider. If UltraDNS supports Canadian provinces then it should be possible to send them over to it however it needs. E.g. NA-CA-BC would get translated into whatever UltraDNS expects.
Did anything in particular make you think that it was specific to US states? I know the examples are, but that's mainly b/c it's the only thing supported by providers that I use/has been tested.

I'm looking at octodns/record/geo_data.py which is referenced from _DynamicMixin.validate:
                        print("---- {}".format(geo))
                        reasons.extend(GeoCodes.validate(geo, 'rule {} '
                                                         .format(rule_num)))

In geo_data.py there is a provinces key under 'US':
                   'provinces': {'AK': {'name': 'Alaska'},
                                 'AL': {'name': 'Alabama'},
                                 'AR': {'name': 'Arkansas'},
                                 ...

If I try to create a Dynamic record with Record.new from my provider, with a geo code like NA-CA-BA it dies with a KeyError looking for the province key under Canada.
I'm thinking it might just be a matter of adding that key with the Canadian provinces under CA. Providers that support that level of geo-location in Canada will be able to reference these. Those that don't, will ignore it, as they will just be validating CA , as coming from their respective APIs.
I can whip up a quick PR to add this if you're game.

Ah, didn't/don't remember that setup. Guess the script that builds it needs to figure out a way to include CA provinces. https://github.com/github/octodns/blob/master/script/generate-geo-data. Would happily 👀 at a PR that does that and includes them in the geo_data.

I've written up some changes, just want to get your feedback on how best to submit, @ross.

octodns/record/geo.py, updates to province_to_code() to support CA provinces
script/generate-geo-data, to generate the Canadian provinces in geo_data.py
tests/test_octodns_record_geo.py to test province_to_code()

I've also coded up changes to provider/ns1.py to support CA provinces. I've got all tests passing, and coverage complete, but I'm not super familiar with the NS1 provider code. I'm thinking of submitting the three changes in the list above in one PR, and the changes to the NS1 provider through another PR. I had a look at the Dyn provider, which looks like it uses the methods in octodns/record/geo.py.
Thoughts?

Also - I thought I'd leave it to you to re-gen geo_data.py, as it looks like there's been a couple of country name changes since what's currently in the repo was generated.

I've written up some changes, just want to get your feedback on how best to submit, @ross.

octodns/record/geo.py, updates to province_to_code() to support CA provinces

:cool:, did you have to pass in the country portion to help with that? Guess there may not be overlap between the two, but figure at some point there would be.

script/generate-geo-data, to generate the Canadian provinces in geo_data.py

👍

tests/test_octodns_record_geo.py to test province_to_code()

👍

I'm thinking of submitting the three changes in the list above in one PR, and the changes to the NS1 provider through another PR.

That sounds reasonable. I've done similar changes in multiple pieces like that in the past to lay the foundation and then make use of it.

I had a look at the Dyn provider, which looks like it uses the methods in octodns/record/geo.py, so I don't think any changes would be needed there to support CA provinces.

I wouldn't bother with Dyn. It's a deprecated product that was supposed to already be EOL'd by oracle. They've extended it until next year, but I'm already considering it deprecated as far as octoDNS support goes. Anyway if you specifically need Dyn support I can review that too, but don't worry about it otherwise.

Also - I thought I'd leave it to you to re-gen geo_data.py, as it looks like there's been a couple of country name changes since what's currently in the repo was generated.

I'll re-run it and do a clean PR to just pick up the unrelated changes so that when run for CA stuff it won't have anything unrelated.

Submitted #561. Didn't have to pass in the country code, but it makes the assumption that province will only show up for US or CA. If you're good with that PR, I'll submit one for the NS1 changes.

Looks like I'm dealing with a little bit of chicken and egg in the automated testing for #562 re geo_data.py. I'll just go ahead and add the updated geo_data.py to the PR.

https://github.com/github/octodns/pull/562 was merged.


Encrypt push notifications end-to-end from Zulip server

Currently the private data in a Zulip push notification (sender, stream name, message body) is encrypted over the wire, but handled in plaintext within the Zulip notification forwarder and the Apple or Google notification service.
This is consistent with standard practice until at least last year; but last October Apple introduced in iOS 10 a way to have the app's code run to adjust a received notification, which opens the option of encrypting the data all the way to the app. That'd be neat, and doubly so because for a Zulip server other than zulipchat.com, there are two third parties involved in handling the notification: Apple or Google, and Kandra Labs.
Quoting my comment at https://github.com/zulip/zulip/pull/6364#issuecomment-330380249 (on a PR specifically about iOS):
"""
A bit of web searching tells me that as of 2016 (and iOS 10), there is actually a way to have your app's code invoked when a notification is delivered! Docs here: https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension
It's not well documented. The APNs payload reference @kunall17 linked above doesn't mention the relevant key, and claims that all keys not mentioned "are ignored by Apple". I'm a little dubious of how well-supported it will be, like whether the OS will reliably actually call the extension and how much time it'll give the extension to run. As part of Apple's obsession with battery life for iOS, they've always been stingy with every form of background processing for apps, which is why push notifications without this API have always been self-contained data that the OS would interpret without consulting the app.
I think my inclination would be:

For now, just include the message content like every other app that includes content in notifications must have been doing until last October.
Later, improve on that to keep the data encrypted end-to-end from the Zulip server to the device -- but by including it in the message, encrypted with a key the app has previously exchanged with the server, so that no network fetch is required. That won't make it for 1.7, but I think a natural way of engineering it will allow it to work for any given user as soon as both their client app and their server run a version that supports it.

"""
I believe something similar is also possible for Android, though I haven't read up on it.

Quick supplement:

iOS 10 is now on 89% of iOS devices known to the App Store: https://developer.apple.com/support/app-store/ So almost all iOS devices will be able to enjoy this feature. We'll need to make sure to behave robustly where it's absent, which we might accomplish at the same time as handling the case of old versions of the app.

A couple of SO threads as small cautionary tales where developers are hitting mysterious failures when using this feature -- hard to sort out how much of it is their fault in avoidable ways, and how much is likely to cause frustration for anyone: here, here, here. This one is good for having a list of pitfalls the asker eventually figured out.

I did create a 'Security' project to group all related issues.
This should be a priority area for us, as an open-source project, and as an organization proud of our technology.

A couple of links for reference, as I just ran across them:

Google's Android org offers strong guidance that the plan of including encrypted content in the FCM payload is the right one, and we should avoid any design that would mean making network requests before we can show the notification to the user. So that's in line with our thinking above.

A couple of engineers on a Google privacy team have published a library, Capillary, for managing end-to-end encryption for notifications.

There may be some useful ideas to be had from reading this. Unfortunately I don't think the actual software will be particularly suitable to use, for a few reasons:
It's only for Android, so we'd need something else on the iOS side. OK, it's likely we'll end up settling for that anyway, but...
On the server side it's only for Java, with no guidance on how to write a new server-side implementation to interoperate with the client side.
Also, wait, Java? Literally Java, not Kotlin. For something intended for the Android ecosystem, and newly written in 2018 with no obvious legacy-codebase constraints. That is a real bad sign for the authors'... with-it-ness, and the quality of their implementation.
Then there's just very little sign of anyone using it in the year since it was published -- very little activity on the repo.


Introduce new WATT button

Description
The design for the WATT button was a little off, and a little too complicated, so i have introduced a new button "watt-button-alt", which i think should replace the current buttons.
References
https://app.zenhub.com/workspaces/fenris---team-board-20-616bc40121d71900140955f8/issues/energinet-datahub/energy-origin-issues/454

Looks good, only a few comments :)

I would love to see some specs
It would be nice if we could sort the pages for the button so overview was on top
Regarding the strategy of first having a watt-button-alt I think this should just replace the old button components taken breaking changes and the project current size in consideration. The only breaking change I see is the icon button which should be manageable to just do a search and replace, maybe I've overseen something?

(I'm not a huge fan of temporary stuff merged to main, who knows how long it's going to exist so for me that would be preferable to avoid that if possible).

Will do a SPEC file for this button, no problem!
I will change the sorting so Overview goes on top :)
If you agree that i can change things, i would love to merge this button first, and then do a PR where i change the buttons around all over the place, and then a PR that deletes the old button :) Would that work for you @frontend-specialisten ? :)


[Bug]: habana_main - gpt-neox-20b fail on graph compile failed.

Your current environment
The output of `python collect_env.py`

🐛 Describe the bug
# VLLM_SKIP_WARMUP=true PT_HPU_ENABLE_LAZY_COLLECTIVES=true VLLM_RAY_DISABLE_LOG_TO_DRIVER=1

from vllm import LLM, SamplingParams
from time import sleep
import traceback

def test_llm_model(model):

    tp_size = 1

    llm = LLM(model=model,
              tensor_parallel_size=tp_size,
              block_size=128,
              trust_remote_code=True,
              enforce_eager=True,
             )

    prompts = [
        "The future of AI is",
    ]
    sampling_params = [
        SamplingParams(temperature=0.0, max_tokens=128,)
        for _ in prompts
    ]

    output = llm.generate(prompts, sampling_params=sampling_params, use_tqdm=False)
    del llm
    return output

if __name__ == "__main__":
    model_list = ['THUDM/chatglm3-6b']
    for model in model_list:
        try:
            output = test_llm_model(model=model)
            print(f"- {model} succeed")
            print(f"output is", output)
        except Exception as e:
            print(f" - {model} faied!")
            print(f"Error info: {e}")
            print(traceback.format_exc())

error log
============================= HABANA PT BRIDGE CONFIGURATION ===========================
 PT_HPU_LAZY_MODE = 1
 PT_RECIPE_CACHE_PATH =
 PT_CACHE_FOLDER_DELETE = 0
 PT_HPU_RECIPE_CACHE_CONFIG =
 PT_HPU_MAX_COMPOUND_OP_SIZE =<PHONE_NUMBER>854775807
 PT_HPU_LAZY_ACC_PAR_MODE = 1
 PT_HPU_ENABLE_REFINE_DYNAMIC_SHAPES = 0
---------------------------: System Configuration :---------------------------
Num CPU Cores : 152
CPU RAM       :<PHONE_NUMBER> KB
------------------------------------------------------------------------------
INFO 08-28 23:01:48 selector.py:85] Using HabanaAttention backend.
INFO 08-28 23:01:48 loader.py:284] Loading weights on hpu ...
INFO 08-28 23:01:48 weight_utils.py:224] Using model weights format ['*.safetensors']

Loading safetensors checkpoint shards:   0% Completed | 0/46 [00:00<?, ?it/s]

Loading safetensors checkpoint shards:   2% Completed | 1/46 [00:00<00:19,  2.26it/s]

Loading safetensors checkpoint shards:   4% Completed | 2/46 [00:00<00:13,  3.38it/s]

Loading safetensors checkpoint shards:   7% Completed | 3/46 [00:00<00:10,  4.24it/s]

...

Loading safetensors checkpoint shards: 100% Completed | 46/46 [00:07<00:00,  6.63it/s]

Loading safetensors checkpoint shards: 100% Completed | 46/46 [00:07<00:00,  6.06it/s]

INFO 08-28 23:01:56 habana_model_runner.py:472] Pre-loading model weights on hpu:0 took 38.29 GiB of device memory (38.29 GiB/94.62 GiB used) and 395.7 MiB of host memory (78.09 GiB/1008 GiB used)
INFO 08-28 23:01:57 habana_model_runner.py:517] Wrapping in HPU Graph took 0 B of device memory (38.29 GiB/94.62 GiB used) and 500 KiB of host memory (78.22 GiB/1008 GiB used)
INFO 08-28 23:01:57 habana_model_runner.py:521] Loading model weights took in total 38.29 GiB of device memory (38.29 GiB/94.62 GiB used) and 525.9 MiB of host memory (78.22 GiB/1008 GiB used)
 - EleutherAI/gpt-neox-20b faied!
Error info: Graph compile failed. synStatus=synStatus 26 [Generic failure].
Traceback (most recent call last):
  File "/workspace/script/test_llm_generate_modellist.py", line 49, in <module>
    output = test_llm_model(model=model)
  File "/workspace/script/test_llm_generate_modellist.py", line 14, in test_llm_model
    llm = LLM(model=model,
  File "/workspace/vllm/vllm/entrypoints/llm.py", line 155, in __init__
    self.llm_engine = LLMEngine.from_engine_args(
  File "/workspace/vllm/vllm/engine/llm_engine.py", line 456, in from_engine_args
    engine = cls(
  File "/workspace/vllm/vllm/engine/llm_engine.py", line 266, in __init__
    self._initialize_kv_caches()
  File "/workspace/vllm/vllm/engine/llm_engine.py", line 365, in _initialize_kv_caches
    self.model_executor.determine_num_available_blocks())
  File "/workspace/vllm/vllm/executor/habana_executor.py", line 77, in determine_num_available_blocks
    return self.driver_worker.determine_num_available_blocks()
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/vllm/vllm/worker/habana_worker.py", line 142, in determine_num_available_blocks
    self.model_runner.profile_run()
  File "/workspace/vllm/vllm/worker/habana_model_runner.py", line 1141, in profile_run
    self.warmup_scenario(max_batch_size,
  File "/workspace/vllm/vllm/worker/habana_model_runner.py", line 1203, in warmup_scenario
    self.execute_model(inputs, kv_caches, warmup_mode=True)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/vllm/vllm/worker/habana_model_runner.py", line 1652, in execute_model
    output = self.model.sample(
  File "/workspace/vllm/vllm/worker/habana_model_runner.py", line 241, in sample
    return self.model.sample(*args, **kwargs)
  File "/workspace/vllm/vllm/model_executor/models/gpt_neox.py", line 272, in sample
    next_tokens = self.sampler(logits, sampling_metadata)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1535, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1585, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/workspace/vllm/vllm/model_executor/layers/sampler.py", line 138, in forward
    sample_results, maybe_sampled_tokens_tensor = _sample(
  File "/workspace/vllm/vllm/model_executor/layers/sampler.py", line 711, in _sample
    return _sample_with_torch(
  File "/workspace/vllm/vllm/model_executor/layers/sampler.py", line 592, in _sample_with_torch
    sample_results = _greedy_sample(seq_groups, greedy_samples)
  File "/workspace/vllm/vllm/model_executor/layers/sampler.py", line 336, in _greedy_sample
    samples_lst = samples.tolist()
RuntimeError: Graph compile failed. synStatus=synStatus 26 [Generic failure].

inc shutdown
inc shutdown
inc shutdown
inc shutdown

Fixed with https://github.com/HabanaAI/vllm-fork/pull/245


Fix createKey with uid

Reviewing the PR made me realize we were not using the uid properly neither was the test asserting the value.
This PR fixes it.

bors merge


Doesn't Appear. Failed

Hello!
I'm trying to install it. I try with git and moving the files in the custom node folder. When I open ComfyUI doesn't appear ny tool intros case I want to use the painter node. I try to install via link with the manager but it say "Failed to install". When I go to install custom node say "Import failed".
I'm using a Mac.
I don't know what I did wrong.
Waiting for your help.
Thank u!

Press the try fix button sometimes it fixes the problem.

Hello!
I'm trying to install it. I try with git and moving the files in the custom node folder. When I open ComfyUI doesn't appear ny tool intros case I want to use the painter node. I try to install via link with the manager but it say "Failed to install". When I go to install custom node say "Import failed".
I'm using a Mac.
I don't know what I did wrong.
Waiting for your help.
Thank u!

The manager window does not contain any useful information about the error; the comfyui terminal window is better.  Or here: https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet/issues/43.  Or delete the ArgosTranslate folder in custom_nodes/Comfyu_Alekpet_Nodes/


Allow dots in field names

Problem Statement
CrateDB currently does not allow dots as part of field names:
CREATE TABLE test ("field.name" INT);
CREATE TABLE test ("field" OBJECT AS ("field.name" INT));

InvalidColumnNameException["field.name" contains a dot]

Possible Solutions
Allow dots in field names when identifier names are quoted as in https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
Considered Alternatives
No response

Unfortunately, my previous out come isn't correct. We use the dotted representation of nested object columns, e.g. my_obj.my_inner_column for the sql subscript representation of my_obj[my_inner_column] inside our table metadata if this column is declared as a primary key, routing column or partition column.
Thus we currently have indeed internal blockers and would have to change theses internal representations first.
One solution could be to store a nested object column as a list representation (e.g. ['my_obj', 'my_inner_column'], similar to how our ColumnIdent represent this.

https://github.com/crate/crate/issues/11939 might already affect some of the metadata. Maybe worth re-estimate after it is done.

Just leaving a note here as this is valid opinion and potential outcome of ongoing discussion, but is not mentioned in this ticket yet:
A quite possible alternative is that we are of the opinion that table names, column names nor field names should NOT allow dots. Note that even if MongoDB allows that, their own documentation actually has this as not recommended. (Mongodb compatibility / alignment was used as a justfication.)

I will close this for now, it's ok to reopen if we ever encounter a user with a compelling need for this.
So far everyone we talk to has responded that they are ok with using some other character than a dot, and in some cases the data with a dot in field names was some old data that was ok to discard.


Show text when animation is disabled

Encountered bug where disabling animation hide text & leave a blank space
This change will ensure that static text will always show when animation is disabled

Looks good to me! Will release a new version now.

Looks good to me! Will release a new version now.


Debugger: Call Stack frame duplicate display

From @qian6 on July 20, 2017 9:25
Environment data
dotnet --info  output:

OS Name: Windows
OS Version: 10.0.15063
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\1.0.4

VS Code version: 1.14.1
C# Extension version: https://github.com/OmniSharp/omnisharpvscode/releases/download/v1.12.0-beta3
Steps to reproduce

Run command to create dotnet project as following:
dotnet new console -o hwapp
cd hwapp
dotnet restore
dotnet run

Open hwapp project in vscode.

Press F5 to start debugging.

Observer Call Stack window.

Expected  behavior
It can display normally.
Actual behavior

Copied from original issue: OmniSharp/omnisharp-vscode#1653

From @qian6 on July 20, 2017 9:27
This issue can reproduce in all OS(windows/mac/Linux)

@weinand @isidorn this reproduces with stable VSCode + stable C# extensions.

Please try with vscode insiders tomorrow.
Closing as dup of https://github.com/Microsoft/vscode/issues/30660


Restrict resource hub access

Updated some formatting/text on the "Unlock" messaging block.
401 login required behavior inconsistent with rest of /teachers/* content:
Resource hub: https://www.dropbox.com/s/2kzhtuf4wl07l5d/Screen Shot 2016-09-06 at 4.42.15 PM.png?dl=0
My Classes: https://www.dropbox.com/s/ltd7vchbs22k4wi/Screen Shot 2016-09-06 at 4.42.24 PM.png?dl=0


Draft: Planar Clarity Video Wall

First attempt
Resolves #59
some confusion with options / **options

Having a quick read now. To provide some further reading on **options, that's a use of splatting.
TL;DR it can be used as a continent way to forward an arbitrary set of keyword arguments around. It was used a lot in the previous Ruby drivers, but would recommend avoiding it unless absolutely needed here as it can lead to some sloppy type signatures.

Having a quick read now. To provide some further reading on **options, that's a use of splatting.
TL;DR it can be used as a continent way to forward an arbitrary set of keyword arguments around. It was used a lot in the previous Ruby drivers, but would recommend avoiding it unless absolutely needed here as it can lead to some sloppy type signatures.

Hi Kim, upon going through this comment I thought it'd be a good idea to implement Hash instead of splat. However, this is not allowed since splatting in drivers is mostly used in
queue(**({
      name: command,
    }.merge(options))) do
...
end

and queue's method is defined in placeos-driver/src/placeos-driver.cr as follows (line 114-117)
  # Queuing
  def queue(**opts, &block : Task -> Nil)
    @__queue__.add(**opts, &block)
  end

which disallows anything but splats and NamedTuple in the argument.


[PE-D][Tester B] Other inaccuracies

The findp note seems to be out of placed (copy paste from the find command). The Friday 10am can be replaced with more relevant example for findp usage.

Labels: type.DocumentationBug severity.VeryLow
original: florentianayuwono/ped#16

Thanks, have edited it to make more sense for findp usage.


C++ 20 Module Version

This is already a C++ 20 library so why not have a version of this library that comes as a single C++20 module interface definition file instead of a header, to benefit from faster compile times and other advantages modules have over headers.
Instead of a single header you would have a single .ixx (or whatever extension other compilers use, the extension doesn't matter)

At the time the project was developed, C++20 module support was incomplete in most compilers.

C++20 modules are compatible with header files, but not vice versa.


fix(rosetta): Python translation for implements is wrong

For Python, interface implementation needs to be written as
@jsii.implements(Iface).
Also add a check that people don't put functions in object literals.
Fixes aws/aws-cdk#17928

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

So based on the linked issue the documentation for local bundling should be written as:

Almost:
new assets.Asset(this, 'BundledAsset', {
  path: '/path/to/asset',
  bundling: {
-    local: LocalBundling,
+    local: new LocalBundling(),
  },
});


Implement DOM selection apis

https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection
Even a nonfunctioning shim would go a long way. Currently I just do the following:
window.document.getSelection = function() { return { addRange: function() {}, removeAllRanges:function() { } } };
Just to avoid "cannot call undefined" when running getSelection().

Any ideas on how to bake this into how Jest uses jsdom?

Not sure myself; @Sebmaster is a bit more familiar with jest, but I think the Jest issue tracker will be your best bet.

@domenic thanks, got the shim I needed by adding a version of @tolmasky's code in a Jest helper:
// spec/javascripts/helpers/jest-env.js
// window.getSelection isn't in jsdom
// https://github.com/tmpvar/jsdom/issues/937
window.getSelection = function() {
  return {
    addRange: function() {},
    removeAllRanges:function() {}
  };
};

and linking to the above file via Jest's config.setupEnvScriptFile.


[RFR] Show notification for server error even when the response body is empty

Refs #339

Didn't really work for me. I had to make a similar change in lib/sideEffect/saga/crudResponse.js for "case 22:".
Am I missing something?

what's "case 22:"?


[Bug] datazoom不能通过触发dispatchAction实现自动选中状态

Version
5.2.2
Link to Minimal Reproduction
No response
Steps to Reproduce
let base = +new Date(1988, 9, 3);
let oneDay = 24 * 3600 * 1000;
let data = [[base, Math.random() * 300]];
for (let i = 1; i < 20000; i++) {
let now = new Date((base += oneDay));
data.push([+now, Math.round((Math.random() - 0.5) * 20 + data[i - 1][1])]);
}
option = {
tooltip: {
trigger: 'axis',
position: function (pt) {
return [pt[0], '10%'];
}
},
title: {
left: 'center',
text: 'Large Ara Chart'
},
toolbox: {
feature: {
dataZoom: {
yAxisIndex: 'none'
},
restore: {},
saveAsImage: {}
}
},
xAxis: {
type: 'time',
boundaryGap: false
},
yAxis: {
type: 'value',
boundaryGap: [0, '100%']
},
dataZoom: [
{
type: 'inside',
start: 0,
end: 20
},
{
start: 0,
end: 20
}
],
series: [
{
name: 'Fake Data',
type: 'line',
smooth: true,
symbol: 'none',
areaStyle: {},
data: data
}
]
};
myChart.dispatchAction({
type: 'takeGlobalCursor',
key: 'dataZoomSelect',
// 启动或关闭
dataZoomSelectActive: true
});
Current Behavior
myChart.dispatchAction({
type: 'takeGlobalCursor',
key: 'dataZoomSelect',
// 启动或关闭
dataZoomSelectActive: true
});
Expected Behavior
可以正常通过触发事件来激活datazoom
Environment
- OS:
- Browser:chrome
- Framework:

Any additional comments?
No response

a year. v5.4.1版本同样有这个问题:(

Hi @pissang @Ovilia
As above, dispatching this action:
myChart.dispatchAction({
    type: 'takeGlobalCursor',
    key: 'dataZoomSelect',
    dataZoomSelectActive: true // activate or inactivate
})

Does not activate the zoom select feature of the chart. However, using the toolbox button does work. It is expected that this should work via actions, from the documentation: https://echarts.apache.org/en/api.html#action.dataZoom.takeGlobalCursor
This means that it is broken for anyone using a customised toolbox which triggers the zoom selection via actions. This is broken in each version of ECharts, at least from 5.2.2 onwards, maybe further back.
Are you able to help with this?
Many thanks!

@zac18992 A pull request is appreciated. Please check out the wiki to learn how to contribute.


tispark use 2.1.1 instead of master branch

release-2.0 should depend on tispark-2.1.1 which is tispark's latest stable release, instead of depend on tispark's master branch.

@liubo0127 PTAL


Add section about CPU usage to the README

Fixes #29.
This is mostly intended to the consumers of the /metrics endpoint, as the current notebook extension doesn't show the CPU usage yet.

Thank you so much for this!


[MINOR] remove Hive dependency from delta streamer

What is the purpose of the pull request
This change will remove Hive dependency from the delta streamer if the user don't trigger the hive sync.
Brief change log

Change the configuration type in DeltaStreamer and DeltaSync.

Verify this pull request
This pull request is already covered by existing tests, such as testBulkInsertsAndUpsertsWithSQLBasedTransformerFor2StepPipeline in
TestHoodieDeltaStreamer
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Codecov Report

Merging #1493 into master will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #1493      +/-   ##
============================================
+ Coverage     71.54%   71.58%   +0.03%
+ Complexity      261      260       -1
============================================
  Files           336      336
  Lines         15744    15741       -3
  Branches       1610     1610
============================================
+ Hits          11264    11268       +4
+ Misses         3759     3752       -7
  Partials        721      721

Impacted Files
Coverage Δ
Complexity Δ

...apache/hudi/utilities/deltastreamer/DeltaSync.java
72.00% <100.00%> (ø)
38.00 <0.00> (ø)

...i/utilities/deltastreamer/HoodieDeltaStreamer.java
78.28% <100.00%> (-0.33%)
7.00 <1.00> (-1.00)

...n/java/org/apache/hudi/common/model/HoodieKey.java
88.88% <0.00%> (ø)
0.00% <0.00%> (ø%)

...src/main/java/org/apache/hudi/metrics/Metrics.java
72.22% <0.00%> (+13.88%)
0.00% <0.00%> (ø%)

...g/apache/hudi/metrics/InMemoryMetricsReporter.java
80.00% <0.00%> (+40.00%)
0.00% <0.00%> (ø%)

Continue to review full report at Codecov.

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

combine with https://github.com/apache/incubator-hudi/pull/1486


PolicyListeners are not getting copied during RetryPolicy.copy()

So when onFailed() or onSuccess() are defined, and RetryPolicy.copy() is called,
those handlers are not getting copied over. This fixes that issue, and updates the unit test.

Thanks for this

Released in 2.1.1


Adding page for masterclass links

Change-type: minor
Signed-off-by: Gareth Davies<EMAIL_ADDRESS>

@balena-ci retest

@garethtdavies just dropping this bash snippet to grab all repos based on a topic, then grab their descriptions:
for i in $(curl -H 'Accept: application/vnd.github.mercy-preview+json' 'https://api.github.com/search/topics?q=balena-masterclass' | jq -r ".[]" | jq -r ".[].name"); do curl "https://api.github.com/repos/balena-io-projects/$i" | jq .description; done

if we apply that topic to all repos, we can generate this snippet pretty easily going forward. I would assume we can extend the template used (https://github.com/balena-io-projects/balena-masterclass-skeleton) to prefill that topic as well, eliminating another manual step from the discovery process. just food for thought!

@garethtdavies Heya! Given the approvals, can we get this rebased and merged please? :)

@balena-ci retest

@hedss Done. Wasn't sure if we were waiting on any more before pulling the switch but very happy to get this out there.


Inconsistent comparison between empty string and None/NA

There appears to be a bug in how empty strings, None, and pandas.NA are handled when they are either the first or second argument:
>>> cdist(['example1', '', None, pandas.NA], ['example1', '', None, pandas.NA])
array([[100.,   0.,   0.,   0.],
       [  0., 100.,   0.,   0.],
       [  0., 100.,   0.,   0.],
       [  0., 100.,   0.,   0.]], dtype=float32)

(also tested with DamerauLevenshtein.normalized_similarity as scorer, same inconsistency)
I would expect the result to be symmetric.
Note, when the array is stored in a variable rapidfuzz uses the 'single_list' function which makes the result symmetric, with the result scores that I would expect.
>>> data = ['example1', '', None, pandas.NA]
>>> cdist(data, data)
array([[100.,   0.,   0.,   0.],
       [  0., 100.,   0.,   0.],
       [  0.,   0.,   0.,   0.],
       [  0.,   0.,   0.,   0.]], dtype=float32)

Directly calling a scorer gives the expected results:
>>> DamerauLevenshtein.normalized_similarity(None, '')
0.0
>>> DamerauLevenshtein.normalized_similarity('', None)
0.0

It appears to work fine on my machine:
>>> from rapidfuzz.process import cdist
>>> import pandas
>>> cdist(['example1', '', None, pandas.NA], ['example1', '', None, pandas.NA])
array([[100.,   0.,   0.,   0.],
       [  0., 100.,   0.,   0.],
       [  0.,   0.,   0.,   0.],
       [  0.,   0.,   0.,   0.]], dtype=float32)

Are you using the latest version of rapidfuzz:
>>> rapidfuzz.__version__
'3.9.2'

On my Apple Silicon (ARM) Mac in a Python 3.12 Docker container.
$ python --version
Python 3.12.2
$ pip freeze | grep rapid
rapidfuzz==3.9.1

Just upgraded to Rapidfuzz 3.9.2, and I can still reproduce the same issue.
Let me know if you'd like me to run any other tests.

I had a look into the different code paths. There was a bug in the non SIMD branch. This should be fixed in v3.9.3

Thank you! it works as expected now.


Tagging issues with hacktoberfest to get more help?

Hey :)
Did you ever consider tagging issues with hacktoberfest so that we could get more help?
exercism/java does the same with great success!

Thanks for the idea @beatbrot. We'll try that next year for sure.


CSI acquisition on FTM packets (AEGHB-472)

I am interested in implementing the enhanced FTM techniques mentioned in the Ubilocate and FUSIC papers. So, I am trying to extract CSI on the FTM packets exchanged between two ESP32-S3 modules.
However, I find that the CSI is not acquired on the packets sent by the "Initiator"  consistently by the "Responder". The CSI on the packets sent by the "Responder" is consistently acquired by the "Initiator".
Simply put,
(CSI acquired consistently) Initiator <-------- Responder
Initiator --------> Responder (CSI acquired inconsistently)
What does "consistent" mean? Here is the log of the data acquired at the initiator: initiator_logs.txt
I can measure the CSI on all the packets received by the initiator during the FTM session, 7 in total, which is expected. It is also clear that these packets are from the FTM session: time differences between the packet arrivals time for the CSI measurement match closely with the times reported by FTM.
However, this is the log acquired by the responder: responder_logs.txt
Firstly, I don't receive enough packets from the initiator, and secondly, the packet arrival times do not correspond to the times reported by the FTM session in the "initiator_logs.txt" file.
Finally, I also tested this system by setting up a third ESP32-S3 in monitor mode, filtered the packets from the initiator and responder, and observed the same behavior. This tells me that the issue is not the responder's inability to acquire CSI, but the initiator's packet transmission.
How can I reliably acquire CSI on the reponder for the CSI packets transmitted from the initiator?
Thank you for your support.

Thank you for your feedback. Recently, we have also been researching the application of combining FTM and CSI data. We will try to reproduce your issue and respond to you as soon as possible.

Hello, is there any update on this? I built custom PCBs with multiple ESP chipsets per board. But we need to capture CSI for FTM packets in order to capture the information about CSI quickly enough for our application. Without CSI from FTM, we have no path to implementing our design. Please let us know if this will be possible, if not we will need to abandon our design.
Thank you!

I'm sorry that we were unable to successfully reproduce the issue you reported. Could you please provide the key code snippets for both the initiator and responder? This would greatly assist us in reproducing the issue.

Thank you for checking it out on your end. I have attached the scripts for the initiator and responder. Please change them to *.c files on your end, github does not allow uploading .c files.
init.txt
resp.txt

We have received the code you provided and are about to reproduce the issue. We will keep you informed of any progress.

Hello @a-arun1, in my perspective, addressing your requirements can be achieved by incorporating our CSI repository and the ftm example project (idf/example/wifi/ftm). No modifications are necessary for the codes within these two repositories.
Moreover, considering that your initiator can fulfill your needs, specifically in sending ftm and acquiring csi data from ftm packets, why not utilize your initiator code on the responder device?

Hello, thank you for the response.
-- "in my perspective, addressing your requirements can be achieved by incorporating our CSI repository and the ftm example project (idf/example/wifi/ftm). No modifications are necessary for the codes within these two repositories."
I have done exactly this in the attached code, and it did not work. Please let me know if you observed different results on your end. I am unsure how to debug this problem.
-- "Moreover, considering that your initiator can fulfill your needs, specifically in sending ftm and acquiring csi data from ftm packets, why not utilize your initiator code on the responder device?"
I am using the same CSI-acquisition code on the initiator and responder.


Build on Read the Docs

Hi @pradyunsg! I was experimenting with a new beta feature that we deployed yesterday in Read the Docs to allow setting a version for extra tools, for example, NodeJS (https://github.com/readthedocs/readthedocs-docker-images/issues/107)
This PR makes usage of that beta feature (build.os and build.tools configs from the .readthedocs.yaml file) to use Ubuntu 20.04 LTS and install NodeJS v14. Then, it runs npx gulp build from inside conf.py before building documentation with Sphinx.
I hope you find this useful! Let me know 😄

Can you put the RTD-specific build note inside an if statement, so it only runs on RTD?

Done!

LOL, this is missing the npm install needed to make things work.
https://readthedocs.org/projects/furo/builds/14861254/

Hrm, why that is not required when using nox? Or is it happening behind the scenes? I read this code: https://github.com/pradyunsg/furo/blob/main/noxfile.py#L65 and I didn't find npm install command and I thought npx was all it was needed 😞

Because I run npm install already outside of nox. 😅

Sorry about the inconveniences here, I'll fix this now.

You gog nothing to apologise for! I'm liking forward to having my problem be "How do I migrate URLs" rather than "I can't build in RTD". :)

I opened #275 to add the npm install command --but now is failing because furo.css is not found 🙃 . I'm not sure why, but I think you may know. In any case, I'll come back to this later.

How do I migrate URLs

Let me know if I can be useful here.


Get all products by categories

I can work on this

Please, reserve this for me. I will start work on it this evening.

i can work on this too

Fixed


Add option to purge BuildDirectory on drop

I tried adding an integration test, but I couldn't get the path because build_dir() and all related methods are private. This doesn't really seem like a unit test, but I can add it if you like.
Also, it seems like rustwide runs cargo clean without arguments during tests? I'd really rather it didn't do that, if I use a shared CARGO_TARGET_DIR it means I have to rebuild rustwide (and all other crates) from scratch for every test. Instead it could call cargo clean -p <package>.
use failure::Error;

const WORKSPACE_NAME: &str = "test-drop";

#[test]
fn test_build_dir_drop() -> Result<(), Error> {
    let workspace = crate::utils::init_named_workspace(WORKSPACE_NAME)?;
	let mut build_dir = workspace.build_dir("drop-dir");
	build_dir.purge_on_drop(true);
	let path = build_dir.build_dir();
	drop(build_dir);
	assert!(!path.exists());
	Ok(())
}

Addresses https://github.com/rust-lang/docs.rs/issues/820; docs.rs will need a follow-up PR updating rustwide and using the new API.

We decided not to do this.


Improve $-completion of method-chaining syntax and more

What problem did you solve?
with setting.json
    "r.lsp.debug": true,
    "r.session.useWebServer": true,

vscode-R webserver has a simple regex based isolation of code to eval when using the $/@ to trigger in-session completion. This regex will fail for many but the simplest cases.
Instead I suggest to rely on the R parser and the AST to decide what the left-hand-side of e.g. $ operator is.
This will allow multi-line completion, chained method completion, and potentially anything the R parser accepts.
I'm interested in improving vscode-R similar as this patch for Rstudio completions to support completion for method chaining r-polars (... and also R6 and arrow),
How can I check this pull request?

check out branch with vscode and emulate the extension
"r.session.useWebServer": true

example 1
#$-complete after arbitrary parenthesis
(
    iris |> # |> is supported if the R interpreter supports it
    (\(iris) {
        iris$is_alien = FALSE
        head(iris, 3)
    })()
)$

example 2
#$ complete chained R6 methods
FruitBasket <- R6::R6Class(
  "FruitBasket",
  private = list(content = character()),
  public = list(
    initialize = \() {},
    mutate_content = \(fruit) {
        private$content = c(private$content, fruit)
        self
    },
    add_banana = \() self$clone()$mutate_content("banana"),
    add_apple = \() self$clone()$mutate_content("apple"),
    to_count_list = \() as.list(table(private$content))
  )
)

#$-complete any multiline chain. If it is valid R syntax is works
{
  print("this print statement is not evaluated, because not a child of `$` call in AST");
  FruitBasket$new()$
    add_apple()$
    add_banana(

    )$
    add_apple()$
    to_count_list()$
}

example 3
support r-polars completion ;) (disclaimer I have co-authored the polars bindings for R)
# load polars and disable completion () and <- in suggestions
library(polars) #polars as of https://github.com/pola-rs/r-polars/pull/597
cs = polars:::completion_symbols
cs$method = ""
cs$setter = ""

pl$
  DataFrame(
    a = 1:5,
    b = letters[1:5]
  )$
  lazy()$
  select(
    pl$all()$head(5)
  )

example 4 completion for the arrow package (R6)
library(arrow)

arrow_table(iris[,1:2])$
  Slice(2,10)$
  print()$
  Take(5)$

Thanks for working on this! It is definitely a super useful improvement of the current completion.
I notice that the code in scope has to be evaluated (silently) to provide the completion. I wonder if it is safe to do so in many use cases?
For example:
df <- data.frame(id = 1:10)
obj <- local({
  file.remove("/path/to/something/important")
  df$x <- 1
  df
}$)

If a user writes some critical code that changes some important state, it seems only desirable that the code should only be sent to the terminal to evaluate. However, maybe a typo $ could trigger a completion that evaluates the code in the scope, i.e. the code is silently evaluated in the background.
A less damaging example is that the user code to be evaluated might be too time-consuming before the user realizes it. If the code contains C/C++ impl without caring user interruption, then the session might be blocked.
Evaluting any user code other than simple name1$name2$name3 cases seems to suffer such problem. What do you think?

@renkun-ken
I principally agree with your concern with your concern. I will think in practice it is likely not as problematic. I suggest to add a user option something like "evaluation_level" to control how eager or cautious completion should be.
What do you think of that?
In any case, parsing is a fast first step before evaluation and could likely replace regex at any desired "evaluation_level".
evaluation_level = "super_secure"
If opting for this level. The auto-completion must only extract variables and not run user-defined or package defined function. A malicious developer could sneak in bad side effects disguised as variables via e.g. activeBindings or the generic methods .$, .[, .[[ or .dollarNames. That would also be an issue in the current vscode-R. I think it should be possible to block that.
# sneaky evaluation #1
makeActiveBinding("xyz", f = \() {print("hello there");42L}, env = .GlobalEnv)
xyz
#> [1] "hello there"
#> [1] 42

# sneaky evaluation #2
l = list()
class(l) = "TomatoCan"
"$.TomatoCan" = \(self, name) {print("hi again");self[[name]]}
l$foo = "bar"
l$foo
#> [1] "hi again"
#> [1] "bar"

Created on 2024-01-07 with reprex v2.0.2
evaluation_level = "only_generic_getters"
allow (chained) evaluation generic functions like .[ .[[ and .$, but no function calls ( in the AST which is not explicitly allowed. This is pretty much what rstudio is running with today I think. BTW .[ in many ways behaves just as function call ( and can be used to circumvent rstudio completion limits. But by convention .[ is expected to only index so that is ok.
example of what could work:

example of what would not work

evaluation_level = "only_single_line_scope"
There could be a choice which will only parse the same code line to make a meaningful evaluation.
evaluation_level = "full_evaluation"
Parsing like rstudio, but unlimited evaluation. I will argue if using most package APIs, then there are very few mutable methods out there. The polars and arrow packages is built on immutable structures. Most R objects SEXPs have imuttable behavior, where environment is the central exception. On top of that polars has lazy evaluation (just as dplyrDB) where evaluation does not trigger computation before explicitly calling collect(). A good API should check user interrupts every 100ms 1s or so.
There are exceptions e.g. data.table set-functions, (file)-connections ...

Thanks for the detailed explanation. I think the evaluation_level should be good enough to handle such problem.

Update. I have been away for a while. I failed to make good safe list of functions which could be evaluated by IDE auto completion to avoid side effects. In the end, I think this feature is something a user has to willingly opt in to.


Authentication/Authorization?

We will hold development for this.
Since it's high risk to use https://github.com/OData/WebApiAuthorization.

Will use basic REST for write access.
OData for readonly.


Create external service products

User Story:
As a project manager, I want to create external service products, so that I can make that transparent to the customer, that this service item is performed by an external partner.
Acceptance criteria:
1.) The user of the app can create a new type of service products, that reflect external services.
2.) Taxes are always displayed and accounted for this package type on the offer printout, even if the customer is an internal customer
3.) These taxes are accounted explicitly on the offer printout

 Create external service products #700


Add a Debian package

Hello, i've just created a deb package for linksym. It installs and works without any problem. Can you add it in releases? I'll be maintaining it
Can't upload that sort of files to github, so here is gdrive link: https://drive.google.com/file/d/18nleNcH006mmzQG57KOFfxSmbqLKoxwb/view?usp=sharing

Thanks for the Issue!
Since I use goreleaser to manage my releases, after digging through the documentation I found that it can create linux package for releases. So the newest release should now have .deb and .rpm packages.
Can you try out the releases to see if they work properly or not? Feel free to provide any more feedback you have.


Don't auto reboot the machine

The user should be told why he should reboot, he will know when to reboot.

Already implemented.


Muck fps booster is not working

I copied muck settings.dll and fps booster.dll to plugins file but fps booster mod still doesn't work. I can run other mods but I can't run fps booster.

There is no render settings in graphics settings and I'm sure the mods are up to date.

I've tried to run it from clean state but it runs well for me.

Did you used the one from the release tab?
Could you provide more steps to reproduce?
Could you send LogOutput.log found in BepInEx folder?
The only issue I had with it not running, was when I compiled the mod myself and forgot to tell dotnet to build for  net4.7.2.
But that was already fixed in the release builds of this mod.


Use classes Point and Range to translate between ST and LSP

This PR intents to extend the object oriented approach already used for several things to translate between language-server-protocol's and Sublime Text's text position representations.

Introduce a class Point which represents a (row, col) pair.
Use it to define the existing class Range.
Use both classes to translate between protocol specific locations/ranges and ST.

All protocol specific stuff is packed into these two classes.
By using those objects, the number of required code lines for translation may be reduced.

What's the difference between pyls-mypy and travis-mypy ? Even though I don't get any warnings or errors locally, travis built checks tend to fail.

Sorry about that, I created an issue to investigate it on pyls-mypy but I suspect the plugin doesn't take mypy.ini into account.
You could run mypy main.py to check before pushing, not the greatest workflow :/

You could run mypy main.py to check before pushing, not the greatest workflow :/

Maybe add a .pre-commit bash script at the top level and instruct contributors to do this:
$ ln -s .pre-commit .git/hooks/pre-commit

In .pre-commit, you can put something like this:
root=$(git rev-parse --show-toplevel)
mypy "$root"/main.py

@rwols thanks for the idea, this should be part of contributor documentation
@deathaxe pyls-mypy is reporting these errors for me, would you mind helping troubleshoot?
From the LSP directory, on this branch, can you run:
mypy main.py
and if you have git bash:
mypy --command "$(cat main.py)"
You have no local changes against mypy.ini? What version of mypy do you have?

I think I found the reason. I don't use a dedicated project/workspace for LSP, but use a Project with Data/Packages folder as "root". This way I can quickly jump between multiple packages or look up things quickly.
If I open the LSP package in ST only, mypy shows the error results as well. Seems like an issue with the lookup paths of ini files?
The python-language-server should start searching in document directory and walk up step by step until it finds an ini file. Seems pyls-mypy has some trouble with that.

Rebased the work on the current master

The python-language-server should start searching in document directory and walk up step by step until it finds an ini file. Seems pyls-mypy has some trouble with that.

Glad you found how to get the type checker to work. It's actually mypy that autodetects the ini/cfg files.


fetch sponsors at build time, show ALL non-skeevy sponsors; closes #4271

This is WIP while we sort out the data issues mentioned in #4271.
The data issues have been addressed.
It appears we want to blacklist some sites from appearing on mochajs.org, because they are skeevy.  See mochajs/admin#10
This PR:

adds a blacklist of supporters (mochajs appears on this list, because we somehow donated to ourself) whose links & logos will not appear on our site
fetch supporters via OpenCollective's GraphQL API (adds needle to help with making requests, but open to other ideas)
reorders the sponsors (organizations) to show before the backers (individuals).  generally the sponsors give us more $
renames the default template (default.html) to default.liquid because it's a HTML-based liquid template, which should help with syntax highlighting.  does not affect build
shows ALL supporters otherwise, not just top n
links directly to provided URLs, if they exist.
removes the gray background from the image container (.faded-images)

Coverage remained the same at 93.045% when pulling 8e0ececdb96d5ca371a85c405f906ec5fbf6c2a7 on boneskull/show-all-sponsors into c0137eb698add08f29035467ea1dc230904f82ba on master.

@outsideris @craigtaub @Munter This is ready

(click thru to deploy preview to see the result)

The experience the first time is pretty jarring.  I think we should create a better fallback experience where the images at least have a background color, so I can see that something is supposed to be there. The backer images are easy, because they already have hard coded dimensions of 32x32. lets just put a grey background on there. The sponsors are more difficult, since we don't have the image dimensions as far as I can tell. Can we get those from the opencollective api? I've had a hard time finding their graphql api documentation, or a playground to explore it myself

Found the graphql api (postwoman is awesome), and I can see that we won't be able to get the dimensions that way. I think we should merge the two additions I propose and then I'll see if I can do another optimization pass now that we can post-process data at build time. We could potentially load the images and read their dimensions, so the layout doesn't jump

I opened https://github.com/mochajs/mocha/pull/4295 against this branch, which should contain a lot of further improvements

@Munter are you intending to add any more to this?

@boneskull let's get this in as-is. I have another idea I'm tinkering on to improve performance, but it shouldn't hold up this pr

Once this is merged I will release 7.2.0.

Sounds like we're all calling go on this. I'll merge


Error using a different base path for socialProviders

Describe the bug
I am trying to use a different path for social providers. For what I understand, the default basePath is /api/auth. I am trying to remove the /api portion and just use /auth.
To Reproduce
I am using sveltekit. And my understanding is that using this auth definition would generate an automatic callback for google at /auth/callback/google
export const auth = betterAuth({
	basePath: '/auth',
	database: drizzleAdapter(db, {
		provider: 'sqlite' // or "mysql", "sqlite"
	}),
	emailAndPassword: {
		enabled: true
	},
	socialProviders: {
		google: {
			redirectURI: 'http://localhost:5173/auth/callback/google',
			scope: ['profile', 'email'],
			clientId: process.env.GOOGLE_ID as string,
			clientSecret: process.env.GOOGLE_SECRET as string
		}
	}
});

I am calling it with:
<button
	on:click={async () => {
		await authClient.signIn.social({
			provider: 'google'
		});
	}}
>
	Continue with Google
</button>

Expected behavior
I would expect for the google auth process to run and after the callback, control would return to the root or some defined final destination.
What I am getting is google trying to go to the defined callback http://localhost:5173/auth/callback/google but not finding anything there (404). I would think that by placing basePath: '/auth', would be enough to use that path instead of the default /api/auth

are you sure you have mounted the handler on the correct base path?

feel free to re-open if this isn't fixed.

@Bekacru I've the same issue, but the problem is on the client, because I can set the basePath on the server, but when I call signIn.social({ provider: "google" }) for example, the basePath is the default and I can't set it on the createAuthClient


Move some dependencies into devDependencies

I was using yarn why x to see why I had so many dependencies after building an electron app.
eslint and many other things are listed in dependencies whereas they should be devDependencies.

Doh, just seen #7 😆


[Bug]:Fine-tuned Model Exhibits Worse Predictions for Force and Stress

Email (Optional)
<EMAIL_ADDRESS>Version
v1.1.3
Which OS(es) are you using?

[ ] MacOS
[ ] Windows
[X] Linux

What happened?
When I finished my training process, the fine-tuned model predict the force  worse than universal model. I have no idea how to fix this issue.
job.6184306.txt
run_finetune.txt
Code snippet
No response
Log output
No response
Code of Conduct

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

Hi @GHLau,
I would be very surprised if fine-tuning deep learning models can be completed within 5 epochs for a small dataset with a reasonably large batch size. Please perform training for at least a few hundred epochs. Additionally, please note that this issue is not related to bugs in our implementation, so use labels more appropriately. Thanks!

Hi @GHLau, I would be very surprised if fine-tuning deep learning models can be completed within 5 epochs for a small dataset with a reasonably large batch size. Please perform training for at least a few hundred epochs. Additionally, please note that this issue is not related to bugs in our implementation, so use labels more appropriately. Thanks!

Sorry for any confusion. Actually, after training for 200 epochs, the force predictions still have this issue. Could you please help me to check if there are any issues with my fine-tuned script?


Check capex calculation for offshore wind in 2031

When starting double-deployment for offshore wind from 2031, the new capex number is not very close to the original capex of 2031+capex of 2032.

This approach is on hold, as we have successfully compiled the spreadsheets to Python


Add referer setting

Addresses #139. Summary of changes:

add new referer setting
if set, pass an instance of CurlDispatcher, with CURLOPT_REFERER set to the setting value, when creating the Embed adapter via Embed::create().

I have not tested this with all providers, but quick tests with Youtube, Instagram and Facebook both appear unaffected. And of course, it now works with Vimeo when the video is restricted to the domain.

Thanks!


Data Hub Guide & Studio Pro updates

Thanks for the review - most comments were for the source provided by SDM - who I will alert.


No data is generated

Hello,
I'm not sure when simplecov stopped generating data for my project, the html is generated but no file is mentioned. I'm configuring it this way:
# Setup simplecov.
require "simplecov"
SimpleCov.start "rails"
SimpleCov.command_name # Needed to separate test suits, due to issue https://github.com/colszowka/simplecov/issues/45

and I have this gems installed:

actionmailer (3.1.0)
actionpack (3.1.0)
activemodel (3.1.0)
activerecord (3.1.0)
activeresource (3.1.0)
activesupport (3.1.0)
addressable (2.2.6)
airbrake (3.0.4)
arel (2.2.1)
assert_difference (0.3.1)
bcrypt-ruby (3.0.1)
builder (3.0.0)
bundler (1.0.18)
cancan (1.6.5)
capybara (1.1.1)
childprocess (0.2.2)
coffee-rails (3.1.1)
coffee-script (2.2.0)
coffee-script-source (1.1.2)
daemons (1.1.4)
delayed_job (2.1.4)
devise (1.4.6)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.2.8)
factory_girl (2.1.0)
factory_girl_rails (1.2.0)
ffi (1.0.9)
growl_notify (0.0.1)
guard (0.7.0)
guard-test (0.3.1)
haml (3.1.3)
haml-rails (0.3.4)
heroku (2.8.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.14)
json_pure (1.6.1)
launchy (2.0.5)
mail (2.3.0)
mail_safe (0.3.1)
mime-types (1.16)
multi_json (1.0.3)
multitenant (0.4.0)
newrelic_rpm (3.1.2)
nokogiri (1.5.0)
orm_adapter (0.0.5)
pg (0.11.0)
polyglot (0.3.2)
rack (1.3.3)
rack-cache (1.0.3)
rack-mount (0.8.3)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.1.0)
rails-footnotes (3.7.5.rc4)
rails_admin (0.0.1 8a24737)
railties (3.1.0)
rake (0.9.2)
rb-appscript (0.6.1)
rb-fsevent (<IP_ADDRESS>)
rdiscount (1.6.8)
rdoc (3.9.4)
rest-client (1.6.7)
rubyzip (0.9.4)
sass (3.1.7)
sass-rails (3.1.2)
selenium-webdriver (2.6.0)
sequel (3.20.0)
shoulda (2.11.3)
simple_form (1.5.1)
simplecov (0.5.3)
simplecov-html (0.5.3)
sinatra (1.0)
sprockets (2.0.0)
sqlite3 (1.3.4)
sqlite3-ruby (1.3.3)
stringex (1.3.0)
taps (0.3.23)
term-ansicolor (1.0.6)
test-unit (2.3.2)
thin (1.2.11)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.29)
uglifier (1.0.3)
verbose_factory_girl (0.1.0)
warden (1.0.5)
xpath (0.1.4)

while running ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]

I got the same issue too.

Hi guys, same issue here too.

I have the same issue too

Hey guys. For some reason I'm not getting mails from github on new issues, sorry for being late :)
Actually SimpleCov.command_name will need an argument, like "Unit Tests". Could you please try to go with SimpleCov.command_name 'Unit Tests' and report back if that fixes the problem?

SimpleCov.command_name 'RSpec' not works for me =/

Not worked for me either.

Didn't work for me either.

Hey guys.
I write setting first line on test/test_helper.rb
like this
require 'simplecov'
SimpleCov.start 'rails' do
  add_filter "/gems/"
end

ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)

It work fine.

I did some more investigation and I still can't get simplecov to generate any report data other than on my spec files (which all report 100%).
I tried several permutations of requiring the gem in the Gemfile or in the spec_helper, Simplecov.start with and without 'rails', and also including or not including the command_line calls.
Still no luck. :(

I was requiring simplecov after doing require File.expand_path('../../config/environment', FILE), now I put the require and start for simplecov on top, as instructed by the documentation (doh!) and it worked.

Ahh ha! Pupeno nailed the problem. You must place the require and start calls before File.expand_path... to get it to work. This could definitely be made more clear in the README as several of us have run into this gotcha.

Fix confirmed - same for me: moved the Simplecov.start above file expand and it alls works. Fab stuff!

Guys, I'm glad you managed to figure this one out yourselves. I already went through various permutations of the README to make it superclear that the require should be happening before loading anything else, so obviously I didn't even consider mentioning this here as a possible source for the problem. Great that you've got it to work anyway :)
If you have suggestions on how to improve the README so that your past selfs would have realized this earlier please let me know :)
Also, if someone in here bumps into partially "vanishing" coverage (particularily using rspec) please check out #60.

LOL - yeah, so that's pretty obvious. I read about simplecov elsewhere, and google brought me to this page, not the readme. At least it'll help future selfs figure out the problem quick, plus give them a chance to laugh at us doofuses! :)

I get this issue as well. I am using SimpleCov with RubyMine IDE.

and this what the coverage report looks like:

Really need some help

If someone is not finding a solution. My problem in a Rails project was not having a .rspec file with inside
--color --require spec_helper
Guessed spec_helper was not called right a the beginning and so simplecov registered too late,

I have --require rails_helper in my .rspec so I had to put simplecov in rails_helper