logging broken with Python-3.8: findCaller() takes from 1 to 2 positional arguments but 3 were given

System informationSystem information

OS Platform and Distribution: Arch Linux, 5.4.2-arch1-1-ARCH
TensorFlow installed from: binary
TensorFlow version: 2.1.0rc0-1
Keras version: 2.2.4-tf
Python version: 3.8
GPU model and memory: 2x GTX 1080 Ti 11GB"`

Describe the current behavior
execution of MNIST example fails with error:

TypeError: findCaller() takes from 1 to 2 positional arguments but 3 were given

Code to reproduce the issue
import tensorflow as tf
import tensorflow_datasets as tfds

from tensorflow.keras.optimizers import Adam

def scale(image, label):
  image = tf.cast(image, tf.float32)
  image /= 255
  return image, label

def build_model():
    filters = 56
    units = 24
    kernel_size = 5
    learning_rate = 1e-2
    model = tf.keras.Sequential([
      tf.keras.layers.Conv2D(filters=filters, kernel_size=(kernel_size, kernel_size), activation='relu', input_shape=(28, 28, 1)),
      tf.keras.layers.MaxPooling2D(),
      tf.keras.layers.Flatten(),
      tf.keras.layers.Dense(units, activation='relu'),
      tf.keras.layers.Dense(10, activation='softmax')
    ])
    model.compile(loss='sparse_categorical_crossentropy', optimizer=Adam(learning_rate), metrics=['accuracy'])
    return model

datasets, info = tfds.load(name='mnist', with_info=True, as_supervised=True)
mnist_train, mnist_test = datasets['train'], datasets['test']

num_train_examples = info.splits['train'].num_examples
num_test_examples = info.splits['test'].num_examples

BUFFER_SIZE = 10000
BATCH_SIZE = 128

train_dataset = mnist_train.map(scale).shuffle(BUFFER_SIZE).repeat().batch(BATCH_SIZE).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
eval_dataset = mnist_test.map(scale).shuffle(BUFFER_SIZE).repeat().batch(BATCH_SIZE).prefetch(buffer_size=tf.data.experimental.AUTOTUNE)

model = build_model()

epochs=5
model.fit(
        train_dataset,
        validation_data=eval_dataset,
        steps_per_epoch=num_train_examples/epochs,
        validation_steps=num_test_examples/epochs,
        epochs=epochs)

Other info / logs
traceback:
Downloading and preparing dataset mnist (11.06 MiB) to /home/graemer/tensorflow_datasets/mnist/1.0.0...
Traceback (most recent call last):
  File "train.py", line 23, in <module>
    datasets, info = tfds.load(name='mnist', with_info=True, as_supervised=True)
  File "/usr/lib/python3.8/site-packages/tensorflow_datasets/core/api_utils.py", line 52, in disallow_positional_args_dec
    return fn(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/tensorflow_datasets/core/registered.py", line 302, in load
    dbuilder.download_and_prepare(**download_and_prepare_kwargs)
  File "/usr/lib/python3.8/site-packages/tensorflow_datasets/core/api_utils.py", line 52, in disallow_positional_args_dec
    return fn(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/tensorflow_datasets/core/dataset_builder.py", line 316, in download_and_prepare
    logging.warning(GCS_HOSTED_MSG, self.name)
  File "/usr/lib/python3.8/site-packages/absl/logging/__init__.py", line 322, in warning
    log(WARNING, msg, *args, **kwargs)
  File "/usr/lib/python3.8/site-packages/absl/logging/__init__.py", line 485, in log
    _absl_logger.log(standard_level, msg, *args, **kwargs)
  File "/usr/lib/python3.8/site-packages/absl/logging/__init__.py", line 1047, in log
    super(ABSLLogger, self).log(level, msg, *args, **kwargs)
  File "/usr/lib/python3.8/logging/__init__.py", line 1500, in log
    self._log(level, msg, args, **kwargs)
  File "/usr/lib/python3.8/logging/__init__.py", line 1565, in _log
    fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel)
TypeError: findCaller() takes from 1 to 2 positional arguments but 3 were given

@olk, Is this still issue!

@gadagashwini yes still an issue

May be issue is with Python 3.8.
It is working without any error message on Colab with Python3.6. Thanks!

@jvishnuvardhan please assign "tensorflow_datasets" / TFDS issue to @rsepassi for triage.

Note that we currently don't release python3.8 pip packages.

should now be fixed by https://github.com/abseil/abseil-py/pull/126

@olk
Is it possible for you to try latest TF versions(!pip install tensorflow==2.2-rc3) and let us know whether the issue persists? .Windows/Linux binaries for py3.8 are available in TF 2.2 .Please verify once and close the issue if the issue was resolved. Thanks!

@olk
Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

This error was reintroduced in the latest release of TensorFlow Metadata.
https://github.com/tensorflow/metadata/pull/10 fixes the problem by loosening the requirements on abseil.
@mihaimaruseac @rsepassi @ravikyram Could you take a look at the PR?

I don't have approval powers over that repo.

I am seeing this issue after installing the TensorFlow Object Detection API following along the instructions on this page:
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2.md
and running the test script:
python object_detection/builders/model_builder_tf2_test.py
This is using python 3.8.5 on MacOS Catalina (10.15.6)
Full error from test script:
ERROR: test_create_ssd_models_from_config (main.ModelBuilderTF2Test)
test_create_ssd_models_from_config (main.ModelBuilderTF2Test)
Traceback (most recent call last):
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/builders/model_builder_test.py", line 212, in test_create_ssd_models_from_config
model = model_builder.build(model_proto, is_training=True)
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/builders/model_builder.py", line 1061, in build
return build_func(getattr(model_config, meta_architecture), is_training,
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/builders/model_builder.py", line 372, in _build_ssd_model
feature_extractor = _build_ssd_feature_extractor(
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/builders/model_builder.py", line 350, in _build_ssd_feature_extractor
return feature_extractor_class(**kwargs)
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/models/ssd_efficientnet_bifpn_feature_extractor.py", line 294, in init
super(SSDEfficientNetB0BiFPNKerasFeatureExtractor, self).init(
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/object_detection/models/ssd_efficientnet_bifpn_feature_extractor.py", line 143, in init
logging.info('EfficientDet EfficientNet backbone version: %s',
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/absl/logging/init.py", line 338, in info
log(INFO, msg, *args, **kwargs)
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/absl/logging/init.py", line 485, in log
_absl_logger.log(standard_level, msg, *args, **kwargs)
File "/Users/matt/workspace/cv/lib/python3.8/site-packages/absl/logging/init.py", line 1047, in log
super(ABSLLogger, self).log(level, msg, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/logging/init.py", line 1500, in log
self._log(level, msg, args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/logging/init.py", line 1565, in _log
fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel)
TypeError: findCaller() takes from 1 to 2 positional arguments but 3 were given

I recently encountered this - the root cause seems to be an incompatibility between absl-py<0.9 and Python 3.8 (see https://github.com/icubam/icubam/pull/2). Upgrading to a newer version of absl-py solved the problem for me.


Turn NoteMate notes into posts expected by Jekyll

Jekyll supports standard markdown the only thing to worry about would be to export it into an acceptable filename as Jekyll only registers files with the following format yyyy-mm-dd-<title> as a post. Some examples would be

2003-01-01-Post-on-Jan
2020-01-01-Post-on-Jan-but-later

If the file is named anything but this, it won't show up as a valid post when the site is built by Jekyll. As for parsing the actual content I'd say the only thing to parse would be the title block mentioned in the OKM post. Since Jekyll does have "title" as valid field when writing front matter.

Oh neat this seems pretty straightforward to support actually! To address this, I would do the following:

Look at the documentation for the Note object within NoteMate.jl: https://github.com/TheCedarPrince/NoteMate/blob/6d7ec382e2a413418d3ea1de01080a43cd4efb63/src/structs.jl#L8
Build a new target file for Jekyll similar to https://github.com/TheCedarPrince/NoteMate/blob/dev/src/targets/franklin.jl that ingests a Note object
Validate the output as a valid Jekyll file

In this case, we don't even need to touch a note but this works on the internals of NoteMate.jl itself. Thanks for opening the issue @AlphabetsAlphabets ! Let me know if you have any questions here!


[Question] About the musicbot

Is there anyway to put this anywhere on a vpn site so its 24/7? i dont wanne run my pc 24/7 for music for my discord server

Yes, you can host this on a VPN. I'd advise an Ubuntu VPN. Use something like DigitalOcean or Amazon Web Services.

vps: What's a VPS you say?!
A virtual private server (VPS) is a virtual machine sold as a service by an Internet hosting service. A VPS runs its own copy of an operating system, and customers have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS. This means that you can run the MusicBot 24/7 and allow yourself to turn off your computer or let it sleep every so often.
Recommended VPS hosts:
AWS: https://aws.amazon.com/free/ While AWS has a free tier, it is only limited data usage under this plan. You may still pay montly for it, and you don't get a any customer support if an issue should arise.
Digital Ocean: https://m.do.co/c/04df8e10578f You can run the MusicBot easily under the $5 per month plan. This is a set monthly payment and can use more data than AWS allows, you will also get customer support at no additional cost. Also if you use the URL in this post you can get a $10 credit to your account when you sign up.

Just a little comment, It's better to use this link when you're gonna sign up: https://blog.codeanywhere.com/announcing-partnership-with-digitalocean/
If you follow those instructions you get $25 instead of $10

My bot is doing pretty amazingly on an Ubuntu VPS for $4/month.  It's running an Ogar (Unofficial Agario) server as well, which further amazes me.  OVH is another good choice.


Added collection config support for complex paths

Restructured collection config generation
Added support for custom verbs, leading wildcards and literals without
corresponding wildcards
Added unit tests

Overview:
Previously we were manipulating collection configs in the form of FieldSegment objects. The FieldSegment object was not sufficient on its own to act as a collection config, as it required additional methods for templatization and name conflict resolution. This functionality was spread between static methods in the Resources class and the NamedWildcard class. The methods in the Resources class were almost exclusively for collection config-related purposes. There were several edge cases that were not handled correctly.
This PR:

Creates a CollectionPattern class which wraps a FieldSegment object and provides the additional functionality required to generate collection configurations
Creates a CollectionPatternsGenerator class which generates the collection config section for services and the field_name_pattern section for methods, and takes responsibility for name conflict resolution
Removes the 4 files which previously contained this functionality
Adds unit tests

PTAL

PTAL

LGTM


Issue21.awinters.1

fixes for issues #21 and #24. this brings the entity detail list information and styling in line with the app.
version bump.

Issue number: #21


Frequent time out errors

Describe the bug
Every few seconds “Driveway Cam: Videoanalysis timed out… killing ffmpeg session”
Then after 5 or 6 times if this it says “Driveway Cam: Prebuffer timed out… killing ffmpeg session”
The restarts homebridge get.
To Reproduce
Steps to reproduce the behavior
No idea
Expected behavior
Live stream when needed, motion detection, HomeKit secure video, and hksv motion video recordings.
Logs
If available, attach the log where the bug is vissible
Environment
Node.js Version: v14.17
Homebridge Version: v1.4.0
Camera UI Version: v5.0.16
Operating System: Windows 10
Browser: Chromium edge

https://github.com/seydx/homebridge-camera-ui/issues/470


404-error downloading 'vccw-team/xenial64'-box from atlas-hashicorps

Operating System: Ubuntu 16.04
Vagrant Version: 1.9.1
Virtual Box Version: 5.14.1
I unpacked a fresh downloaded vccw-3.16.1.zip today and during the 'vagrant up' when he should download a new 'vccw-team/xenial64'-box I will get an 404-error:

The box 'vccw-team/xenial64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
vagrant login. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://atlas.hashicorp.com/vccw-team/xenial64"]
Error: The requested URL returned error: 404 Not Found

When I enter the URL into the Browser I will get the an 404-error as well:
https://atlas.hashicorp.com/vccw-team/xenial64
It would be great when this could be fixed.

++

https://github.com/hashicorp/vagrant/issues/9442#issuecomment-363080565

I updated vagrant to 1.9.8 and then the problem was fixed.
(don't forget to update the metadata_url in already existing boxes)


Don't rerender JobCategorySuggest on no-op props

This avoids re-querying the SEEK API and re-displaying suggestions unless there's a meaningful change to our props.

Best reviewed without whitespace:
https://github.com/seek-oss/wingman/pull/656/files?diff=unified&w=1

I'm actually missing the RadioProps already. I'll just use https://github.com/FormidableLabs/react-fast-compare.


No docs on additionalCodeCoverageFiles input

Documentation of the additionalCodeCoverageFiles optional input is missing

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

ID: c6ac4ff4-9839-6a6d-8d20-a25084d221ef
Version Independent ID: bd09f139-8e69-8ea1-6671-b7bba8e17c23
Content: Publish Code Coverage Results task - Azure Pipelines
Content Source: docs/pipelines/tasks/test/publish-code-coverage-results.md
Product: devops
Technology: devops-cicd-tasks
GitHub Login: @PBoraMSFT
Microsoft Alias: pbora

I tried to use this argument, doesn't impact the result.
It's a pity that there is no option to merge 2 cobertura reports into one and publish the result.
IMHO, the 2 reports are a common use case:

back-end code coverage report (.NET Core tests -> cobertura)
front-end code coverage report (create react app -> jest -> cobertura)

Only one of them can be published though.

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops
Seems like no any updates related to additionalCodeCoverageFiles argument

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/publish-code-coverage-results?view=azure-devops
Seems like no any updates related to additionalCodeCoverageFiles argument


JENKINS-61379 - Run presend script before checking for empty recipient list

When sending emails using the email-ext plugin, I'm manually populating the recipient list using the pre-send script feature. This means that the recipient list is empty at first and gets populated during the pre-send step.
Unfortunately an empty recipient list stops the entire process before the pre-send step is even run, with the message: "An attempt to send an e-mail to empty list of recipients, ignored".
It would make sense to let the pre-send script run before checking if the recipient list is empty.

Turns out there are specific reasons for the current ordering.
Current solution is to simply have a dummy entry, that is removed in the presend script.
https://issues.jenkins-ci.org/browse/JENKINS-61379
Closing

I'm going to reopen this and review it some more.


Fix host used in id site redirect callback

Fixes the host used in the id site redirect callback.
How to verify
Deploy this branch behind a proxy (e.g. on Heroku). Then with ID site enabled, try initiating a logout request and verify that you are redirected back properly.
Fixes #534

Coverage increased (+0.02%) to 69.436% when pulling 57d31ecb9a1b46a90e550b90245b673b626b6a64 on fix-id-site-redirect-host into 23edebd9aac754082a41692fce4503c1074ad7dc on master.


I easily crash the telnet server without a good warning

I should be able to type any question without crashing the server, or at least get a good explanation for why.
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Welcome to the Telnet server!
Hello ::1:61222! Type /quit to disconnect.

You> hello

Bot> Ola
You> hello

Bot> How are you?
You> good

after typing "good", telnet crashes.  Not sure what the issue is, could be mongo or anything else, but appears to be in wordnet if result.pos is undefined.
node_modules/node-wordnet/lib/wordnet.js:431
        exceptions[result.pos] = result.data;

TypeError: Cannot read property 'pos' of undefined
    at /node_modules/node-wordnet/lib/wordnet.js:431:26
    at /node_modules/node-wordnet/node_modules/async/lib/async.js:251:17
    at done (/node_modules/node-wordnet/node_modules/async/lib/async.js:126:15)
    at /node_modules/node-wordnet/node_modules/async/lib/async.js:32:16
    at /node_modules/node-wordnet/node_modules/async/lib/async.js:248:21
    at ReadFileContext.callback (/node_modules/node-wordnet/lib/wordnet.js:406:18)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:359:13)

This is on macosx

I experienced the same issue some time ago. The problem seems to be a path mismatch for the wndb-with-exceptions node module. In my case it expected the exception files (adj, adv, noun and verb) in the dict subfolder but they were located in the data subfolder. My quick workaround was to simply to copy these exception files to the data subfolder. Not sure where this should/could be fixed though.

I can't reproduce this issue, and nothing has changed in the node-wordnet or wndb-with-exceptions module since an unrelated tar issue, so I'm not sure what's going on here!
Steps I took:
yarn global add superscript
bot-init testbot
cd testbot
yarn
parse
yarn run start-telnet
telnet localhost 2000

And then I said a few things including 'hi' and 'good', both work fine.
Are there steps I'm missing here? BTW I did also try with npm just in case postinstall was behaving differently, but in this case it made no difference.

Perhaps the node/npm version plays a part?
I have run it in node versions 6.11.0 and 8.1.4 and it throws the same error.
The wndb-with-exceptions module has the files in the correct folder for me.

I ran it in node 8.1.4, with both npm@5 and<EMAIL_ADDRESS>without error.

Hm, I just run it in 6.11.0 and it didn't throw the error. I tested both a new project and the one I am working on, and it didn't crash.

Spooky! I'll close this issue for now until there's a good repro, feel free to re-open anytime. :+1:

Just logging an instance of this.
Just did a reinstall, ran parse.js, then ran cleanup.js, and in my first telnet message to the bot it crashed.
.../node_modules/node-wordnet/lib/wordnet.js:431
        exceptions[result.pos] = result.data;
                         ^

TypeError: Cannot read property 'pos' of undefined

Ran cleanup.js again, and can no longer produce. Strange indeed.

Confirming the temporary fix suggested by @rensdewolf.

@benhjames I wouldn't be surprised if the issue is with the tar issue - as what is happening is that the files aren't being copied from /data to /dict. Haven't yet solved - or figured out why this is just happening now for me after this reinstall.  It is consistent and repeatable though.


Inject[] does not let the interface show up.

Hello @alecthomas,
first of all let me to say Thank you! for this outstanding package.
I try to utilize the feature of PEP 593 which actually works fine, but let speak the pictures.

As you can see, when I use Inject[], the PyCharm doesn't show the interface's methods.
But it works when I use the Annotated[interface: Type[T], ...].

Thanks for your help in advance!

Hey @mozesa. I'll answer in @alecthomas's stead as I maintain this project right now – I think you need to take this up with the PyCharm folks, I don't use it and I'm afraid I can't help much here, everything seems good on our side.

Hello @jstasiak,
Thanks for your reply.
I will create a ticket on PyCharm's side.
I keep open this issue and later will update.

Sure thing!

issue created.

Yes, the JetBrains folks unfortunately lag very much behind updating their type checker. I could go on another rant, but I'll be civil and leave it at that.
The problem is that the Annotated feature has not been created with "regular" __class_getitem__ classmethods, but instead another one of these _SpecialForms. I just spent 30 minutes trying to come up with a workaround, but I couldn't come up with anything better than def PyCharmCompatibleInject(typ: T) -> T: ... which could somehow patch that missing behavior, but it looks ugly as hell: def foo(bar: PChInject(Bar)). meh.


NavGraphs not found when adding a new destination

When adding a new destination and rebuilding the project the old nav graphs and destinations are not found, so i have to comment them all out and rebuild the project which is alot of work every time i add a new destination

Hi @saff1x!
I've never seen this behaviour. Can you send me version information as well as how you're configuring things on build gradle?

Sure, I use kotlin 1.8.10 and compose 1.3.3
KSP plugin:
id 'com.google.devtools.ksp' version '1.8.10-1.0.9'
and the dependencies:
implementation 'io.github.raamcosta.compose-destinations:core:1.7.33-beta' ksp 'io.github.raamcosta.compose-destinations:ksp:1.7.33-beta'

Check this table:
https://developer.android.com/jetpack/androidx/releases/compose-kotlin
I'm not sure that it's related, but it seems like kotlin 1.8.10 should use compose 1.4.
Also, when you say "are not found" what exactly do you mean? Are imports all red? Can you re-import easily?

I have similiar issue with NavGraphs class.
I started to use this library recently and wanted to add it to the new project that I make. I annotated screens with RootNavGraph and re-build the project. I don't see any destinations, NavGraphs class or something else. Is it possible that root destination has to be in MainActivity file?

@saff1x let me know more details when possible :)
Consider that destinations get generated in the package which has the common parts of all the annotated destinations. So if you add one that doesn't match the current, it will generate Destinations on a different package, so you would need to re-import them.
If that is annoying to you, you can set a fixed package name in the build.gradle file, like this:
ksp {
    arg("compose-destinations.codeGenPackageName", "your.preferred.packagename")
}

REPLACE THE PACKAGE NAME TO YOUR PREFERENCE OFC 😄

This will make it so the package names where the Destinations are being generated never changes anymore :)

@raamcosta I am facing the same issue with kotlin version = 1.8.10, compose version = 1.4.4 and compose destination version = 1.8.42-beta. I have created the srcDir for generated code from the library but NavGraphs.kt is not generated.
 kotlin {     sourceSets {         debug {             kotlin.srcDir("build/generated/ksp/debug/kotlin")         }         release {             kotlin.srcDir("build/generated/ksp/release/kotlin")         }     } }
Tried out your last solution and it says arg is not recognized. Can you help me out with this one?

What ksp version are you using?

@raamcosta
I have just updated the kotlin,ksp and compose destinations versions , the new versions are:
kotlin = "1.9.22"
ksp = "1.9.22-1.0.17"
nav = "1.10.2"
In module build file I tried :
applicationVariants.configureEach {
kotlin.sourceSets {
getByName(name) {
kotlin.srcDir("build/generated/ksp/$name/kotlin")
}
}
}
ksp {
    arg("compose-destinations.codeGenPackageName", "com.cokids.app.destinations")
}

and nothing is generated

Forget about

In module build file I tried :
applicationVariants.configureEach {
kotlin.sourceSets {
getByName(name) {
kotlin.srcDir("build/generated/ksp/$name/kotlin")
}
}
}

You can remove all that.

that was only needed for old kotlin versions

Thanks

For me without setting sourceSets It was generating the code which I can see inside the build folder but  it was still unusable, on adding this I am able to use this inside my :module:build.gradle.kts
android {
 ....
     sourceSets {
        getByName("main") {
            java {
                srcDirs("../main/java")
            }
            kotlin {
                srcDirs("../main/kotlin")
            }
        }
    }
    }
    ```


Task: Finish env-setup

The env-setup branch is intended to complete learning the Gatsby + TypeScript + React + GraphQL environment before working on features.
Gatsby Tutorial Overview
Tutorial Checklist

[X] Part 0: Set Up Your Development Environment
[X] Part 1: Create and Deploy Your First Gatsby Site (Skipped the Gatsby Cloud part)
[x] Part 2: Create a 'page' component

[ ] #7

[ ] Part 3: Add Features with Plugins

Resolved some errors regarding importing classes from .module.css into a Gatsby + TypeScript env.

Required downloading gatsby-plugin-dts-css-modules and updating to version 3.0.0.

Added separate \library page for practice and to understand Gatsby Head API a bit more.

Added stock image of a library to \library with details from gatsby-plugin-image

Still working on Adding SEO Component


bug(mat-selection-list): Configurable multiple input is not working

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
I have a mat-selection-list which has a input property multiple.
I am trying to make the same input property configurable but it is not working.
Reproduction
Steps to reproduce:

Open https://stackblitz.com/edit/angular-smq4le?file=src/app/list-single-selection-example.html
Just check/uncheck Toggle multiple checkbox and see mat-selection-list is not re-rendering to show single/multiple selection

Expected Behavior
Configurable multiple input should work
Actual Behavior
Configurable multiple input is not working
Error
ERROR Error: Cannot change `multiple` mode of mat-selection-list after initialization.
    at MatSelectionList.set multiple [as multiple] (vendor.js:119164:15)
    at Object.ngOnChangesSetInput [as setInput] (vendor.js:52637:25)
    at setInputsForProperty (vendor.js:63880:11)
    at elementPropertyInternal (vendor.js:62743:5)
    at Module.ɵɵproperty (vendor.js:67814:5)
    at ListSingleSelectionExample_Template (main.js:113:65)
    at executeTemplate (vendor.js:62297:5)
    at refreshView (vendor.js:62106:7)
    at refreshComponent (vendor.js:63509:7)
    at refreshChildComponents (vendor.js:61853:5)

Environment
Available in stackblitz demo

Hi, I think everything is working as expected. I'm looking at the comment code, multiple should not change at runtime, if it does, it gives an error.

This is working as expected. The error is there, because changing multiple is also going to change the value of the form control and we can't make an assumption of what the value will look like. E.g. if the control had an array value in single selection mode, would it stay an array in multi-selection mode or would be part of a 2D array?


希望支持一键下载同一AV号下的多P视频

RT，方便补番时快速下载多个视频

just use you-get
set max=(Maximum page number here)
set av=avXXXXXXXX
for /l %i in (1,1,%max%) do you-get http://www.bilibili.com/%av%/index_%i.html

Thanks, but I am no programmer, and I am not clear how to apply what you told me, sorry.

From: myfreeer<EMAIL_ADDRESS>Sent: Wednesday, August 10, 2016 2:06:17 AM
To: zacyu/bilibili-helper
Cc: yfr199209; Author
Subject: Re: [zacyu/bilibili-helper] 希望支持一键下载同一AV号下的多P视频 (#251)
just use you-gethttps://github.com/soimort/you-get
set max=(Maximum page number here)
set av=avXXXXXXXX
for /l %i in (1,1,%max%) do you-get http://www.bilibili.com/%av%/index_%i.html
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/zacyu/bilibili-helper/issues/251#issuecomment-238773969, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AT6_DpOUVhLzRu-WSKzOD4wv2-9CFWawks5qeWpZgaJpZM4JehoN.

@yfr199209
https://github.com/soimort/you-get/releases/latest
https://github.com/soimort/you-get/releases/download/v0.4.523/you-get-0.4.523-win32-full.7z

该功能已经有了~


Feature/update mimikatz

I updated Mimikatz for Invoke-Mimikatz to latest version (2.1.1-20180616) so now it will work and dump credentials on Windows 10 with all the latest updates.

Any plans to merge these changes? Quite useful, thanks!

Will work on @phra's PR, thanks.


Locale prop is expecting a string, not an object

Describe the bug
I'm trying to change the locale settings to fit my need according to this documentation: https://kiarash-z.github.io/react-modern-calendar-datepicker/docs/different-locales
Expected behavior
Be able to set the customLocale object to the locale prop, but locale is expecting a string instead of interface Locale

@simonpal Sorry about that. I fixed it on the latest version. Can you please install the latest version (3.0.3) and check this again?

Closed due to inactivity. This is fixed in the latest version by the way 🎉


jedi version update

jedi is now on version 0.10.0, but spyder's dependency list asks for =0.9.0 rather than >=0.9.0 so I'm getting dependency warnings on startup.  Have you tested and found that there is actually a problem with 0.10.0?  If not, could you change the dependency requirement to >=?

Yes, there are several problems. @bcolsen is trying to fix them in PR #4121.
Our wheels correctly set this requirement to 0.9.0, so I assume you're using conda/conda-forge. Conda-forge has a PR to fix this, so it should be available soon.
However, our conda packages don't have this requirement, so I'll fix that in a couple of days.

thanks, I'll downgrade jedi for now then.  FWIW  I'm not using conda or conda-forge, just system python and python3 bootstrap.py to launch


add support for self hosting

Support for pix2tex docker image as backend. Simply run the container activate and set the url in the Obsidian settings to get started.

Thank you for your submission @Marlon154 !
I will look into the code and test tonight, could you add some information to the README on how you run the docker container for pic2tex or link to their documentation?

I meant change the README.md, not adding a README.md

sorry, selected to wrong file to commit.

@Marlon154 how are you running the docker container? I am getting the error
Traceback (most recent call last):
  File "/usr/local/bin/uvicorn", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 437, in main
    run(app, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/uvicorn/main.py", line 463, in run
    server.run()
  File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/local/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "uvloop/loop.pyx", line 1501, in uvloop.loop.Loop.run_until_complete
  File "/usr/local/lib/python3.8/site-packages/uvicorn/server.py", line 67, in serve
    config.load()
  File "/usr/local/lib/python3.8/site-packages/uvicorn/config.py", line 458, in load
    self.loaded_app = import_from_string(self.app)
  File "/usr/local/lib/python3.8/site-packages/uvicorn/importer.py", line 24, in import_from_string
    raise exc from None
  File "/usr/local/lib/python3.8/site-packages/uvicorn/importer.py", line 21, in import_from_string
    module = importlib.import_module(module_str)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/latexocr/./pix2tex/api/app.py", line 7, in <module>
    from pix2tex.cli import LatexOCR
  File "/latexocr/./pix2tex/cli.py", line 1, in <module>
    from pix2tex.dataset.transforms import test_transform
  File "/latexocr/./pix2tex/dataset/transforms.py", line 2, in <module>
    from albumentations.pytorch import ToTensorV2
  File "/usr/local/lib/python3.8/site-packages/albumentations/pytorch/__init__.py", line 3, in <module>
    from .transforms import *
  File "/usr/local/lib/python3.8/site-packages/albumentations/pytorch/transforms.py", line 6, in <module>
    import torch
  File "/usr/local/lib/python3.8/site-packages/torch/__init__.py", line 199, in <module>
    from torch._C import *  # noqa: F403
ImportError: libtorch_cpu.so: cannot enable executable stack as shared object requires: Invalid argument

I run the container just with
docker pull lukasblecher/pix2tex:api
docker run --rm -p 8502:8502 lukasblecher/pix2tex:api

Are you on a ARM CPU?

Yes I am on M3 pro

I could try Linux later, but would nice to be able to run on my M3 Macbook Pro

@Marlon154 I ran pic2tex directly without docker but I only get
INFO:     <IP_ADDRESS>:61521 - "POST /predict HTTP/1.1" 307 Temporary Redirect

My options look like this:

With the url:
http://<IP_ADDRESS>:8502/predict
How have you configured your settings?

Seems like you have different ports. Also the final '/' is relevant (http://localhost:8502/predict/).

Nice the end / fixed it for me @Marlon154, I am going to add check for it. Great job with the feature, it works great for me!


Collective Page→ Feedback Discover Collective Cards

User story
The purpose of the issue is to receive feedback for the navigation in the cards
Link
https://tafka.d.pr/NundxW

I like this behaviour better than the hover. Are we planning this for both mobile and desktop?
@Betree what do you think with regards to implementation complexity?

@Betree what do you think with regards to implementation complexity?

Should be alright. I'd be careful with keeping the mask with the bubbles for the banner image, it can be quite expensive for performances to have too much of these on the page. The previous version of the cards was more optimized in this regard.
@lindatalu

How do we choose the profiles to show in Last Activity by?
What triggers the effect to show the description?

it can be quite expensive for performances to have too much of these on the page

good catch


CONTRIBUTORS file

During the Wallaroo Labs developer meeting on October 3, we discussed the need to keep a CONTRIBUTORS file to make sure that folks who have contributed code to the project get proper attribution.
This is to track that task.

I think we should try to get this in for 0.5.4 in order to acknowledge the work that @caj-larsson did.

Yes, that would be nice. The way it's presented in the pony project is very appealing, with the github icons and all. Was that hard to put together?

The pony thing is done via the opencollective. For now I think it would be sufficient to include github usernames and perhaps a blurb about what the person did.

@aturley this can be closed, yes?


Misleading dependency information in project quick start guide

In the quick start guide at https://cloud.spring.io/spring-cloud-open-service-broker/#quick-start the Maven and Gradle compile dependencies are listed as:

org.springframework.cloud:spring-cloud-starter-open-service-broker-webmvc:${release}
org.springframework.cloud:spring-cloud-starter-open-service-broker-webflux:${release}

from the https://repo.spring.io/libs-milestone  repository. This is incorrect; the actual dependencies appear to be:

org.springframework.cloud:spring-cloud-open-service-broker-starter-webmvc:${release}
org.springframework.cloud:spring-cloud-open-service-broker-starter-webflux:${release}

Thanks. That is a valid observation! We modified the artifact names after the 2.0.0.M2 release to be more consistent with the nomenclature used in other Spring Cloud projects. The artifacts in the snapshot repo reflect this new name. See #79 for more details. The next milestone release will reflect the name change.


Map View in Contributions

#707 and #708 are first slice stories to working through this feature, this item will likely need updating after learning from and deploying those items.


unique contraints on multiple column

can i create unique constraints on multiple column?
For example:
I have a SugarRecord:
public class Recording extends SugarRecord {
@Unique
String NAME;
String file_path;
boolean has_content;
long duration;

@Unique
int IS_LOCAL_TEMP;

@Unique
String BELONG_TO_PROGRAM;

}
And I want this:
UNIQUE([BELONG_TO_PROGRAM], [IS_LOCAL_TEMP], [NAME]));
Rather than this:
[BELONG_TO_PROGRAM] TEXT UNIQUE,
[IS_LOCAL_TEMP] INTEGER UNIQUE,
[NAME] TEXT UNIQUE,

@chungyiwu I'm not able to use the Unique annotation in any of my models. It says it don't exist. How are you able to make it work on your end.


[FLINK-2582] [docs] Add documentation how to build Flink against different Scala versions

Adds a section to the build instructions how to build against different Scala versions.
In addition, this changes the menu item name for the build instructions from "Get Flink" to "Build Flink".
Minor additional change: Update text to reflect dropped Java 6 support.

Looks good, +1


Allows users to optionally set kagi.com as their default new tab page (new tab page override etc)

What it does
Adds the ability for a user to optionally set kagi.com as their default new tab page, toggling the setting via a checkbox in the popup panel
Why ?
Improves the UX flow of using Kagi as your default search engine. By always opening a new tab to Kagi.com, a user gets a better search experience. Additionally the "Assistants" are more readily accessible via kagi.com
Implementation Details

Added checkbox to popup panel to toggle this option on/off (defaults to off)
Added 2 new required permissions to manifest (storage, tabs)

Storage permission required to store users choice across browser sessions
Tabs permission required to listen for creation of chrome://newtab/ and conditionally perform override

Touches "service_worker.js" to perform the override, and new files "popup.js", "redirect.js", "new-tab.html"

Testing

Tested on Chrome Version 131.0.6778.109 (Official Build) (arm64)
Verified that:

New tab override works when enabled
Setting persists across browser sessions
Setting can be toggled on/off
Original new tab behaviour remains when disabled

Reasons against merging

The normal way to add a new tab page is to override the chrome default new tab. However doing this would opt every Kagi extension user into a new tab experience (bad!)
To make the new tab experience optional, the only way is to use the tabs permission (listen to tab activations) combined with storage permission (perform action based on stored setting.

Screenshots

Hello Kagi team, just checking in :) any chance this would be merged? I’m rocking it locally currently with no issues!
Thank you,
Papillon

Hi there @con-dog, sorry for the wait.
This looks fine, but one thing that I would rather we not do is use the "tabs" permission, at least not as a 'default' permission.
We previously had this permission set on our extensions and it was not received well (https://github.com/kagisearch/browser_extensions/issues/13) & (https://github.com/kagisearch/browser_extensions/issues/17)
There is an optional_permissions field in the manifest which I think we should rather use.
https://developer.chrome.com/docs/extensions/reference/api/permissions
This makes it so that it requires an explicit user confirmation that they want to enable this permission and doesn't always require it and it doesn't show up in the "permissions" section of the extension.
We use this optional permissions in our other repository which hosts the firefox (and old chrome) extension, for activeTab, you can give that a look and see how that works if you're interested.
The above chrome dev docs also have an example on there of doing an optional 'tabs' permission too.
Does that make sense & sound good to you?

Hi @PixeLInc no problem :) Good call on it not being received well. I will play around with optional_permissions for both storage and tabs.
Sounds really good to me, I will post an update tomorrow :)
Cheers,
Papillon

Have made those changes @PixeLInc , managed to get it down to just 1 optional_permission "tabs"

Hey there @con-dog,
Unfortunately after looking into it further, it appears that this feature actually is explicitly not allowed as per chrome store guidelines...

https://developer.chrome.com/docs/webstore/program-policies/api-use
If we were to want to do this, we'd have to always override the new tab page with a markup file and redirect from there (which is how other extensions that do this do it), but at that point it becomes not optional and more complicated (and also, that feels a little dodgy too).
So! Due to that, unfortunately we can't add this as to not break those rules.
(our extension has already been removed once for a fairly minor thing - best not push our luck)
Sorry about all that, I did not realize this was the case originally otherwise I would've mentioned it right away.
Thank you for doing submitting the feature regardless, though!

Hey @PixeLInc no worries, thats a shame that chrome don't allow this functionality. I agree an alternative approach would be too hacky to implement, and its not worth the risk of getting taken down.


random error with postgresql data source

I'm new to blaze, so pardon my ignorance here. I have no idea if I have to report this to odo/datashape or something else.
I'm using blaze.Data on a postgresql table ("postgresql://"). When I try to get some data off the table  with list(head(10)); in 50% of the cases (without any change on the db), I get this error:
  File "/usr/local/lib/python2.7/dist-packages/odo/into.py", line 122, in curried_into
    return into(o, other, **merge(kwargs2, kwargs1))
  File "/usr/local/lib/python2.7/dist-packages/multipledispatch/dispatcher.py", line 164, in __call__
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/blaze/interactive.py", line 309, in into
    return into(a, result, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/multipledispatch/dispatcher.py", line 164, in __call__
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/odo/into.py", line 25, in into_type
    return convert(a, b, dshape=dshape, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/odo/core.py", line 30, in __call__
    return _transform(self.graph, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/odo/core.py", line 46, in _transform
    x = f(x, excluded_edges=excluded_edges, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/odo/convert.py", line 21, in dataframe_to_numpy
    dtype = dshape_to_numpy(dshape or discover(df))
  File "/usr/local/lib/python2.7/dist-packages/odo/numpy_dtype.py", line 55, in dshape_to_numpy
    for name, typ in zip(ds.names, ds.types)])
  File "/usr/local/lib/python2.7/dist-packages/odo/numpy_dtype.py", line 26, in unit_to_dtype
    return unit_to_dtype(str(ds).replace('int', 'float').replace('?', ''))
  File "/usr/local/lib/python2.7/dist-packages/odo/numpy_dtype.py", line 22, in unit_to_dtype
    ds = dshape(ds)
  File "/usr/local/lib/python2.7/dist-packages/datashape/util.py", line 49, in dshape
    ds = parser.parse(o, type_symbol_table.sym)
  File "/usr/local/lib/python2.7/dist-packages/datashape/parser.py", line 575, in parse
    dsp.raise_error('Invalid datashape')
  File "/usr/local/lib/python2.7/dist-packages/datashape/parser.py", line 57, in raise_error
    self.ds_str, errmsg)
datashape.error.DataShapeSyntaxError:

  File <nofile>, line 1
    float16
    ^

DataShapeSyntaxError: Invalid datashape

I actually wonder why this error is not reproducible. Looks like odo is randomly choosing a different conversion/coercion route? In fact, it's so random I cannot even determine whether there's a specific column type that could cause the issue.

Looks like it hasn't be added to the parser.
In [5]: import datashape as ds

In [6]: ds.__version__
Out[6]: '0.4.6+67.ge3431f9'

In [7]: ds.float16
Out[7]: ctype("float16")

In [8]: ds.dshape('float16')
  File "<nofile>", line 1
    float16
DataShapeSyntaxError: Invalid datashape

I'm on it!

On 31/07/15 16:19, Phillip Cloud wrote:

Looks like it hasn't be added to the parser.
|In [5]: import datashape as ds In [6]: ds.version Out[6]:
'0.4.6+67.ge3431f9' In [7]: ds.float16 Out[7]: ctype("float16") In [8]:
ds.dshape('float16') File "", line 1 float16
DataShapeSyntaxError: Invalid datashape |
I'm on it!

Why does it happen randomly though?

@wavexx Can you show
Data('postgresql://your uri here').dshape

On 31/07/15 16:22, Phillip Cloud wrote:

@wavexx https://github.com/wavexx Can you show
Data('postgresql://your uri here').dshape

One example:
shape("""var * {
  aid: ?string[13],
  sid: ?int32,
  date: ?date,
  bdate: ?date,
  gender: ?int16,
  place: ?string[100],
  bplace: ?string[50],
  appointment_type_id: ?int32
  }""")

what is the exact expression you are trying to run? i don't need to see the database connection string, just the actual line of code that randomly giving the error

@wavexx when it doesn't fail, does it show you the correct data?

On 31/07/15 16:33, Phillip Cloud wrote:

@wavexx https://github.com/wavexx when it /doesn't/ fail, does it show
you the correct data?

It seems to, yes.

On 31/07/15 16:33, Phillip Cloud wrote:

what is the exact expression you are trying to run? i don't need to see
the database connection string, just the actual line of code that
randomly giving the error

It's a slice on both columns and rows:
list(data[data.fields[a:b]][c:d])

are a, b, c and d always the same (not equal to each other, but across runs of whatever function these are in)? ie do you get random errors when repeatedly running the exact same expression?

On 31/07/15 16:39, Phillip Cloud wrote:

are |a|, |b|, |c| and |d| always the same (not equal to each other, but
across runs of whatever function these are in)? ie do you get random
errors when repeatedly running the exact same expression?

You can try the full code yourself if you want:
https://github.com/wavexx/gtabview
PYTHONPATH=$PWD ./bin/gtabview postgresql://something/db::table
The slicing occurs in gtabview/models.py:157
For the first query though, it often means always:
list(data[data.fields[0:len(data.fields)][0:min(16384,int(data.nrows)])
So I assume it's constant if int(data.nrows) and len(data.fields) return
the same value. [never checked, but the db is read-only]
Despite being constant, it still fails randomly.

On 31/07/15 16:46, Yuri D'Elia wrote:

On 31/07/15 16:39, Phillip Cloud wrote:

are |a|, |b|, |c| and |d| always the same (not equal to each other, but
across runs of whatever function these are in)? ie do you get random
errors when repeatedly running the exact same expression?

However, do I infer that an empty slice wouldn't be valid?
I do expect data[...][0:0] to return an empty list.

However, do I infer that an empty slice wouldn't be valid?

Yes this is valid.
@wavexx Can you show:
import blaze, odo, datashape

blaze.__version__
odo.__version__
datashape.__version__

FWIW, the only "random" element here is that the order of your result set is undefined without an ORDER BY clause. So, an operation like slicing e.g., table[5:15], is implemented with select * from table limit 10 offset 5 could potentially have a different set of rows. This doesn't strike me as the issue, since the types of the columns will be the same no matter what result set you get back.

@wavexx What do you get when you run the following code? I'm using IPython, but you can use vanilla Python as well
In [30]: from blaze import Data, odo, compute

In [31]: d = Data('postgresql://localhost::table')

In [32]: d.head()

On 31/07/15 17:17, Phillip Cloud wrote:

@wavexx https://github.com/wavexx What do you get when you run the
following code? I'm using IPython, but you can use vanilla Python as well
In [30]: from blaze import Data, odo, compute
In [31]: d = Data('postgresql://localhost::table')
In [32]: d.head()

If I run it on ipython, right now it works all the time.
If I stick it in a file:
from blaze import Data, odo, compute
d = Data('postgresql://host/db::table')
print(list(d.head()))
and run it with:
python test.py
it fails with float16 not being recognized (same error as reported before).
Now it's interesting, if I import os, sys at the beginning, it works:
import os, sys
from blaze import Data, odo, compute
d = Data('postgresql://host/db::table')
print(list(d.head()))
I did that only because that's what I do in the ipython startup.

in both cases can you show the versions of blaze, odo and datashape?

@wavexx also, d.head() and list(d.head()) are doing very different things. It's unrelated to whether it's in a file or not.
In the first case you're seeing something like this
print(repr(odo(compute(d.head()).execute().fetchall(), pd.DataFrame)))

Which works, because sqlalchemy works.
In the second case something like [x for x in odo(d.head(), Iterator)] is called, and the conversion path from sqlalchemy.Selectables to Iterators involves a conversion to a numpy array. This should go directly to an iterator after calling selectable.execute(), so that looks like a bug.
I have no idea why importing os and sys would make this work.

I have no explanation for the randomness. I'd need you to put a halt into a debugger right before the expression is converted to see what the issue is.

I'm pretty sure that https://github.com/ContinuumIO/datashape/pull/163 will fix all of these errors.

On 31/07/15 17:47, Phillip Cloud wrote:

@wavexx https://github.com/wavexx also, |d.head()| and
|list(d.head())| are doing very different things. It's unrelated to
whether it's in a file or not.

Sure, I just noticed now because of the ipython startup I had.

In the first case you're seeing something like this
print(repr(odo(compute(d.head()).execute().fetchall(), pd.DataFrame)))
Which works, because |sqlalchemy| works.

Which is why I explicitly do list().

In the second case something like |[x for x in odo(d.head(), Iterator)]|
is called, and the conversion path from |sqlalchemy.Selectable|s to
|Iterator|s involves a conversion to a numpy array. This /should/ go
directly to an iterator after calling |selectable.execute()|, so that
looks like a bug.
I have no idea why importing |os| and |sys| would make this work.

The source I'm using is:
import blaze, odo, datashape
from blaze import Data
print(blaze.version)
print(odo.version)
print(datashape.version)
d = Data('postgresql://host/db::table')
print(list(d.head()))
When run with python:
$ python test.py
0.8.2
0.3.3
0.4.6
File , line 1
float16
^
[and the rest of the traceback]
You mentioning iterators made me think, it seems that adding
from future import generators
is sufficient:
$ python test.py
0.8.2
0.3.3
0.4.6
[(......
could that be that you expect some builtins to emit generators, somewhere?

On 31/07/15 17:50, Phillip Cloud wrote:

I have no explanation for the randomness. I'd need you to put a halt
into a debugger right before the expression is converted to see what the
issue is.

I need some guidance.
Where exactly would you inspect for differences?
I need at least some functions names and/or things to look for.

what are o and other in this line?
  File "/usr/local/lib/python2.7/dist-packages/odo/into.py", line 122, in curried_into
    return into(o, other, **merge(kwargs2, kwargs1))

@wavexx closing. pls reopen if this is still an issue


⚠ DesiTorrents has degraded performance

In 47d6446, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 8699 ms

Resolved: DesiTorrents performance has improved in 6e3a5ed after 6 minutes.


Setting a Home Page

I have the Orchard CMS Project up and running and this may be a dumb question but I'm having issues getting my content to show up on the home page. I created a page and added some basic text. I tried setting the permalink to "~/", and "/" and just left if blank and it still doesnt render the content on the home page.
I know the Orchard.Demo has an index page, but I don't imagine I have to hook that up to render the content right? Am I missing something?
Thanks.
Tina

You need to go to the type settings of your content item, and in AuroroutePart settings check the option to allow it to be set as the homepage.
You are not the first one to be blocked on it, we might want to make this option a default for the types we create in the recipes.
@agriffard Would you mind doing it? (Page and Blog).

Ok Thanks, found it I was wondering where that checkbox was hiding!

OK, I will modify the setup recipes.

I didn't mention BlogPost on purpose. How often do you see people set a specific blogpost as homepage when you have a blog. Usually it's the blog itself, or another page.


cucumberOpts.require: ['./stepsFolder'] produces module not found error

cucumberOpts: {
    require: ['./stepsFolder']
}

When using the folder of the steps in the require section, and not the individual files, an error is produced: module not found.
Workaround solution: Add a helper at the top of the wdio.conf.js file
const stepsFolder = './stepsFolder';
const fs = require('fs');

var steps = []

fs.readdirSync(stepsFolder).forEach(file => {
    step = stepsFolder + '/' + file;
    steps.push(step);
  });

With config
cucumberOpts: {
    require: steps
}

@FlippieCoetser this is by design (from cucumber.js). I would love to have support for globbing here and I am sure this can be implemented.
PRs welcome!

@christian-bromann, before I start helping develop a more permanent solution, here is the BDD spec to confirm the current and expected behavior:
Background:
Given package.json file exist
And package.json file contains devDependencies "webdriverio": "^4.8.0"
And package.json file contains script "test": "wdio"
And wdio.conf.js file does not exist
When I execute npm test in command line
Then the WDIO Configuration Helper should start
Given WDIO Configuration Helper started
And One my local machine was selected for Where do you want to execute your tests?
And cucumber was selected for Which framework do you want to use?
And Y was entered for Shall I install the framework adapter for you?
And the enter key was pressed to accept the default ./features/**/*.feature for Where are your feature files located?
And the enter key was pressed to accept the default ./features/step-definitions for Where are your step definitions located?
And spec was selected for Which reporter do you want to use?
And Y was entered for Shall I install the reporter library for you?
And selenium-standalone was selected for Do you want to add a service to your test setup?
And Y was entered for Shall I install the services for you?
And silent was selected for Level of logging verbosity
And the enter key was pressed to accept the default ./errorShots/ for In which directory should screenshots gets saved if a command fails?
And the enter key was pressed to accept the default http://localhost for What is the base url?
Then a wdio.conf.js file should exist
And the wdio.conf.js file should contain cucumberOpts.require: ['./features/step-definitions']
Current:
Given the wdio.confs.js file contains cucumberOpts.require: ['./features/step-definitions']
And a step.js file is located in the folder './features/step-definitions'
When I execute npm test in command line
Then an ERROR: Cannot find module is produced
And the step.js is not loaded
Expected:
Given the wdio.confs.js file contains cucumberOpts.require: ['./features/step-definitions']
And a step.js file is located in the folder './features/step-definitions'
When I execute npm test in command line
Then step.js should be loaded
And the relevant tests should be executed

Hello guys,
Can somebody please help me on the following:
I'm getting this error with the environment:
"devDependencies": {
"cucumber": "^3.1.0",
"wdio-cucumber-framework": "^1.0.2",
"wdio-selenium-standalone-service": "0.0.9",
"webdriverio": "^4.9.8"
}
I've tried setting up the step definitions directory without globbing and I continue receiving the './stepsFolder'] produces module not found error.
Is there any workaround to make it work for the moment?
Thanks in advance for your valuable help!

@walternolasco you need to name the complete filename of the step file:
cucumberOpts: {
    require: ['./stepsFolder/stepfile.js']
}

As a workaround to load several stepsfiles in a specific folder, I created a helper function:
const stepsFolder = './stepsFolder';
const fs = require('fs');

var steps = []

fs.readdirSync(stepsFolder).forEach(file => {
    step = stepsFolder + '/' + file;
    steps.push(step);
  });

which then allowed me to just add the newly generated array of filenames by just pointing to the array name.
cucumberOpts: {
    require: steps
}

Thank you very much @FlippieCoetser Got it working now.  👍


L515 accuracy data

Hi everybody,
I would like to know  depth accuracy data for L515 depth camera. On datasheet, depth accuracy is given as <5mm at 1m, for VGA resolution and reflective surface. My object will be at 3meters and has a non reflective surface. I will use XGA resolution. Can you give me an average for depth accuracy? And another question: Is L515 depth camera best for my situation? I need submilimeter accuracy.

Is L515 depth camera best for my situation? I need submilimeter accuracy.

Can you describe your application?

Hi, @ihsanmutlu
You must be aware the accuracy is measured  under specific condition :
1  face a 95% reflective object.
2. no ambient light.
This is the best accuracy L515 can be.

Thanks for input. Based on cdb0y511's comment, L515 isn't for me.

Hi @ihsanmutlu
Many factors influence data accuracy/precision. Can you provide some details on your exact usage model?
Thanks

Hi,
Will you be needing further help with this? If we don’t hear from you in 7 days, this issue will be closed.
Thanks

Thanks. It was helpful. I forgot to close it.


Fixed tfoot or tr:last

Can I use this plugin for fixed tfoot or tr:last child in my table?
What should I modify to get it?

Hey guys, I'd like a similar behavior, is it possible to sticky the footer?


Support HTTP permanent redirects as permanent

See https://www.ctrl.blog/entry/permanent-redirects.html for details.
Currently it looks like newsboat follows 308 redirects, but not cache them. I can tell that because someone is using newsboat to read my blog using a feed URL that has been redirecting to different URLs for the past ten years.

Thanks for the report! I wasn't aware of HTTP code 308.
Newsboat reads feed URLs from a user-provided config. I don't think it'll be appropriate for Newsboat to overwrite user's config without explicit action on user's part. Ideally it'd be making some prompts, but I'm not ready to architecture that.
Right now, users can run a script from contrib/url-maintenance.sh. It queries all feeds and overwrites those URLs that return code 3xx.

Not really knowing much about the architecture of your software, is it at least possible for you to cache the permanent redirect throughout a session, so that only the first fetch incurs the redirection cost?
The specification of 308 would suggest that the bookmarks (and configs) should be updated, but I understand if that's not feasible. But caching the redirect during the session would reduce the fetching costs as well.

I guess our Reloader class could maintain a mapping, yes.

Just realized that instead of auto-editing the urls file (which is a no-no), Newsboat can just store redirect's destination in a new column in the cache.db.


Methods with RequestConditions fail with NRE when called with default values

See, for example, RequestConditionCollapseClient.MissIfMatchIfNoneMatchGetAsync:
public virtual async Task<Response> MissIfMatchIfNoneMatchGetAsync(RequestConditions requestConditions = null, RequestContext context = null)
{
    Argument.AssertNull(requestConditions.IfMatch, nameof(requestConditions), "Service does not support the If-Match header for this operation.");
    Argument.AssertNull(requestConditions.IfNoneMatch, nameof(requestConditions), "Service does not support the If-None-Match header for this operation.");

    using var scope = ClientDiagnostics.CreateScope("RequestConditionCollapseClient.MissIfMatchIfNoneMatchGet");
    scope.Start();
    try
    {
        using HttpMessage message = CreateMissIfMatchIfNoneMatchGetRequest(requestConditions, context);
        return await _pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
    }
    catch (Exception e)
    {
        scope.Failed(e);
        throw;
    }
}

If MissIfMatchIfNoneMatchGetAsync is called with default parameters, requestConditions.IfMatch will cause NRE

See: https://github.com/Azure/autorest.csharp/pull/1798


NFT Public Dataset v2

This work has come to a standstill over the last few weeks, but we would like to publish something ideally by the end of the year.

Initial order of business:

[ ] Check idempotence of crawlers
[ ] Crawl full data from Ethereum mainnet for January 1, 2021 to
[ ] Set up Polygon crawler

Existing documentation for NFT Public Dataset v2: https://www.notion.so/NFT-Crawlers-48f1adb864374d32a5a918d3ada8010e


Sharing my fork of your repo in case some changes might be useful to you

https://github.com/Allaman/nvim/compare/main...partounian:nvim:main
Changes that I think you'd be most interested in:

mini.comment support for multiple languages in a file (notably tsx, tsx, other templating languages)
a few more treesitter libraries

update:
Also these seem cool

https://github.com/mfussenegger/nvim-treehopper
https://github.com/lewis6991/impatient.nvim

Hi @partounian,
apologies for my delayed response! I will have a look at your config. As you might see, my config evolved as well 😆
I knew of both plugins, but I had no use case for treehopper and the impact of impatient was barely measurable.
As I moved from packer to lazy, I do not care that much anymore and let lazy handle the loading with its magic

Hi @partounian
What does nvim-treesitter/nvim-treesitter-context do? I installed it and nothing happens 😆

You use it with mini.comment to correct use comments for filetypes like JSX/TSX. https://github.com/Allaman/nvim/compare/main...partounian:nvim:main#diff-4a5cfe72d46e1123cc73f5d2e3235f3c9af00ca36a3c58132aacde11fdb97069
@Allaman

@partounian Ahh I see! Thanks for clarification!


Open to Pull Request form directly on compare page

When creating a PR on Gitea, there is this useless step where one has to click a button on the compare page. Removed it. Note, I'm not yet sure what the relation to .Flash here is.

Instead, remove this button and show the form directly. This matches GitHub's behaviour as well.

I'm willing to backport this nice enhancement to 1.22.

It depends on whether the repository is archived/mirror and whether the compared are two branches.

It depends on whether the repository is archived/mirror and whether the compared are two branches.

The if condition on the form already includes the two conditions that were previously on the button, so should be fine.

Many show-form classes for <a class="show-form"> should be also removed IMO. They were no-op from beginning.

Removed them and did some minor styling tweaks on that box:

Ready again.

But sometimes, you just want to do a compare but not create a pull request?

But sometimes, you just want to do a compare but not create a pull request?

You always have the diff to compare at bottom. I see GitHub UI features the button on compare page as well, but I think under some circumstances the button is hidden and it opens directly to the form:
https://github.com/go-gitea/gitea/compare/main...release/v1.22
I think we don't need such complications, we can make the form sufficiently compact and then the page will work for both purposes.

But sometimes, you just want to do a compare but not create a pull request?

You always have the diff to compare at bottom. I see GitHub UI features the button on compare page as well, but I think under some circumstances the button is hidden and it opens directly to the form:
main...release/v1.22
I think we don't need such complications, we can make the form sufficiently compact and then the page will work for both purposes.

But that will bothering. The previous design, there is only 1 line as a hint, but know whatever you want to create or not create a pull request, you will always see the creating pull request form.

Maybe we just need a way to skip the button. For example I can open /user/repo/pull/new/branch on github and if there is no PR yet, it will open directly to the form. On gitea, I think it links to the compare page and always required clicking the button.

Checked how github does it:
https://github.com/silverwind/gitea/pull/new/rn

Redirects to
https://github.com/go-gitea/gitea/compare/main...silverwind:gitea:rn?expand=1

So we just need to implement the expand option and use it in places where it makes sense to open directly to the form.


Duplicate link for advanced audit policy

The Account Logon and Logon/Logoff sections both refer to the same Audit Other Logon/Logoff Events page.
A review of the Audit Policy in the group policy manager indicates that the Account Logon category should actually refer to an Audit Other Account Logon Events subcategory that appears to be undocumented in this repository. The Logon/Logoff category actually has the subcategory referred to in both places in the documentation.
A Word document with similar information is found here and corroborates the Group Policy configuration that I reviewed prior to opening this issue.

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

ID: 739bc932-12f0-9595-fbd2-d5b0df73fe93
Version Independent ID: cd1f89ad-34db-bb96-e9ef-2137958c9403
Content: Advanced security audit policy settings (Windows 10)
Content Source: windows/security/threat-protection/auditing/advanced-security-audit-policy-settings.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

It appears that there is a document for Audit Other Account Logon Events that should be added to the Account Logon section in place of the duplicate

@officedocsbot assign @jvsam

@tp-seiso : Just to clarify a detail in your link in comment https://github.com/MicrosoftDocs/windows-itpro-docs/issues/5345#issuecomment-549165105

[ ... ] there is a document for Audit Other Account Logon Events [ ... ]
https://github.com/MicrosoftDocs/windows-itpro-docs/blob/dc357e25809bb2b6a9ac9943b6d0699612d26b81/windows/security/threat-protection/auditing/audit-other-account-logon-events.md

That is basically the same page as
https://github.com/MicrosoftDocs/windows-itpro-docs/blob/public/windows/security/threat-protection/auditing/audit-other-account-logon-events.md
(This auditing subcategory does not contain any events. It is intended for future use.)
I may get back to this later, if needed, because I don't have easy access to my workplace domain environment at this very moment.

@illfated - thanks for the reply! I think you're correct that those links point to the same doc which indicates that there are no events and the category is for future use.
The issue that I'm reporting is that the document you linked to is not linked to from the Advanced security audit policy settings document. Either of the links you posted should be included under the Account Logon section instead of the existing Audit Other Logon/Logoff Events link.

Aha. It took me a while to effectively draw the mental line between them and compare the docs.microsoft.com page with the github.com/MicrosoftDocs/windows-itpro-docs/ page.
https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/audit-other-logonlogoff-events
vs.
https://github.com/MicrosoftDocs/windows-itpro-docs/blob/public/windows/security/threat-protection/auditing/audit-other-account-logon-events.md
These 2 links should in theory have been the same page, minus the web page framework and menu system on docs.microsoft.com .
Some times, there are extra pieces included in the docs.microsoft.com pages, I am not quite sure how it is indicated here on Github.

The thing that confused me the most was how similar the names of the subcategories are. The Account Logon heading should be changed to have an item called Audit Other Account Logon Events. The Logon/Logoff heading should be the only heading to have the item called Audit Other Logon/Logoff Events.

Hi @tp-seiso, thank you for bringing this to our attention. Your feedback is appreciated.
Thanks as well @illfated for engaging with the community.
Are you suggesting that we replace the 'Audit Other Logon/Logoff Events' link under Account Logon with Audit Other Account Logon Events? Thanks for the clarification.

@illfated I'm not quite familiar with this topic so I'll defer to you :-) We can then have the author review it for accuracy. Looking forward to you PR. Thank you.

My weekend did not go quite as planned, so I ended up with far less time left to look into this issue. I will get back to this during the weekdays or as soon as I don't get sidetracked by other activities.

Hi @illfated do you have time to look into this issue again and propose the amendments? Only if you are not busy. Thank you.

Thank you for reminding me. There should be less things occupying my free time now, seeing that most of my existing PRs have been well followed up and merged into the public branch. My conscience is not as good as it should have been when it comes to missing my follow-up on this issue ticket.
I will do my best to get started on this tomorrow. Thank you.

Hi @illfated, do you still have the capacity to create the PR with the suggestions, considering the upcoming holidays? Regards!

Well, I won't be doing much in the holidays, so I should be able to. It is just a matter of getting my mindset back to the state where I remember the back and forth of these pages and the links. I'm sorry for the delay, I just get so easily distracted to concentrate on getting the mental image back in my mind of how it should look. Thank you again for asking. I do want to get it done, I just struggle a bit with keeping my focus on this long enough to complete it.

Closing via merged PR #8447.  Thank you.


v7.0.1: chore(project): update dependencies

What does this PR do?
Updates all the project dependencies to their latest versions.
How should it be tested manually?
yarn test
# or
npm test

Pull Request Test Coverage Report for Build 132

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

Totals

Change from base Build 129:
0.0%

Covered Lines:
355

Relevant Lines:
355

💛  - Coveralls


Service use template inheritance

Refactor the service overview and edit section templates for services and service submissions so that they inherit from common base templates. This means that we have less duplication and can avoid passing configuration variables into the templates. It does add a bit of indirection that may make the templates less obvious.

:+1:


Problem in interface

Version: 1.0.85
Platform: win32 10.0.18362
Plugins: altair, clickable-links, quick-cmds, save-output, scrollbar, shell-selector, theme-windows10, title-control
The interface is not displayed correctly

Tracked here: https://github.com/Domain/terminus-quick-cmds/pull/11


Added digital ocean example

As asked in #146 i created a example for digital ocean. I have not been able to test this because there isn't really any documentation on how to use this.

the digitalocean profile and code is already available, see https://www.nivenly.com/kubernetes-on-digital-ocean-with-encrypted-vpn-service-mesh/

Hmm the Travis build is failing because there are now 2 files with the main function in the same directory.  I can edit the Makefile to exclude the examples but that would mean that the files are never tested so it might not be the best solution. I think it might be a better idea to sub folder the examples (if that fixes it). So it would be something like this:
examples/digitalocean/example1.go
examples/aws/example2.go

What do you think @kris-nova

I vote nested folders examples/$cloud/$example.go


Copy + Paste Image (maybe file too) Feature Please!

For example, in the Hangouts App, you can copy and image from your computer, or the internet, and then just press Cntrl+V (or Paste) into the messenger window and instantly have your picture/file there ready to send!
This would be a really great feature to have :+1:
Honestly, you guys have done a fantastic job with this Messenger app.  Very professional and looks like it belongs to facebook cause it's so nice.  Well done!!

+1

you can copy and image from your computer

It already works for me on Windows. You have to open the image with the built in image viewer (pre Windows 10 or Windows 10 Universal photo app) and press Ctrl + C while the app has focus. After this pressing Ctrl + V in a conversation should insert the image.

Honestly, you guys have done a fantastic job with this Messenger app. Very professional and looks like it belongs to facebook cause it's so nice. Well done!!

Actually it belongs to Facebook, the app is a wrapper around the official messenger.com website.

Would be a nice feature, but its low priority...
Meanwhile please see our latest beta. More information here https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/458

The whole purpose of postimage is to be able to effectively post an image.
Dragging+dropping an image is 1/3rd of the applicable nature of posting an
image.  I believe that it would be incredibly beneficial to retain this
feature.
On Wed, Jun 29, 2016 at 12:43 AM, Émile Fugulin<EMAIL_ADDRESS>wrote:

Would be a nice feature, but its low priority...
Meanwhile please see our latest beta. More information here #458
https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/458
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/236#issuecomment-229254922,
or mute the thread
https://github.com/notifications/unsubscribe/AGwWCH1XGebcKZN30BT2q_fBVu-JkbNjks5qQffagaJpZM4F3l5V
.

So what do you propose really? Drag/drop or Copy/Paste (and where should that copy/paste work, not sure to understand fully your request).

The old version allows you to drag & drop a file from your Windows folder
into the file upload field.  I don't see this feature in the new version;
even though the interface looks cleaner.  Without this feature, users are
forced to click on the upload button and search for their file in the file
system.
Regards
On Wed, Jun 29, 2016 at 8:23 AM, Émile Fugulin<EMAIL_ADDRESS>wrote:

So what do you propose really? Drag/drop or Copy/Paste (and where should
that copy/paste work, not sure to understand fully your request).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Aluxian/Facebook-Messenger-Desktop/issues/236#issuecomment-229340032,
or mute the thread
https://github.com/notifications/unsubscribe/AGwWCMEI_MZAFwzWeBGDxLF_eBE6zRiEks5qQmOkgaJpZM4F3l5V
.

The drag and drop works perfectly here on windows and linux!
Still not understanding your request...


Add Section 5

From @ColCarroll

parametrized models are interesting! could be neat to generate a collection of models with different priors, and use forestplot, waic, loo, plot_compare to see the differences.
Gelman has some good talks about how choice of a prior in a study can change whether it was "significant". I remember it having to do with https://statmodeling.stat.columbia.edu/2006/08/30/more_on_girl_an/ but can't find the precise sentence I'm looking for...


THR320D Device becomes suddenly unavailable in HA

Device: Sonoff THR320D
Error:
"errors": [
      {
        "name": "custom_components.sonoff.core.ewelink.local",
        "message": [
          "100175bc7c => Local4 | {'switch': 'on', 'mainSwitch': 'on', 'deviceType': 'normal'}",
          "100175bc7c => Local4 | {'cmd': 'info'}"
        ],
        "level": "ERROR",
        "source": [
          "custom_components/sonoff/core/ewelink/local.py",
          257
        ],
        "timestamp":<PHONE_NUMBER>.6900187,
        "exception": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.9/site-packages/yarl/_url.py\", line 170, in __new__\n    port = val.port\n  File \"/usr/local/lib/python3.9/urllib/parse.py\", line 178, in port\n    raise ValueError(message) from None\nValueError: Port could not be cast to integer value as ':7a21:84ff:feb9:3e50:8081'\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/usr/local/lib/python3.9/site-packages/aiohttp/client.py\", line 422, in _request\n    url = self._build_url(str_or_url)\n  File \"/usr/local/lib/python3.9/site-packages/aiohttp/client.py\", line 356, in _build_url\n    url = URL(str_or_url)\n  File \"/usr/local/lib/python3.9/site-packages/yarl/_url.py\", line 172, in __new__\n    raise ValueError(\nValueError: Invalid URL: port can't be converted to integer\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n  File \"/config/custom_components/sonoff/core/ewelink/local.py\", line 257, in send\n    r = await self.session.post(\n  File \"/usr/local/lib/python3.9/site-packages/aiohttp/client.py\", line 424, in _request\n    raise InvalidURL(str_or_url) from e\naiohttp.client_exceptions.InvalidURL: http://fe80::7a21:84ff:feb9:3e50:8081/zeroconf/switch\n",
        "count": 2,
        "first_occurred":<PHONE_NUMBER>.6683893
      }
    ],

Full Info attached
sonoff-d1f3f40db64ca7c67e0c59ab1066b2dd-Θερμοσίφωνας-b8ca32dba74e7812395fc029f540a6a6.json.txt

Related to #1000


Difficulties to reproduce CNN/DM results with BART

Thanks for the great effort toward releasing BART 😃
I'm currently having some difficulties reproducing BART results on the CNN/DM dataset.
I followed the README to test bert.large.cnn model.
I obtained following results :

1 ROUGE-1 Average_R: 0.50475 (95%-conf.int. 0.50197 - 0.50743)
1 ROUGE-1 Average_P: 0.39349 (95%-conf.int. 0.39102 - 0.39598)
1 ROUGE-1 Average_F: 0.43093 (95%-conf.int. 0.42857 - 0.43327)
1 ROUGE-2 Average_R: 0.23609 (95%-conf.int. 0.23327 - 0.23884)
1 ROUGE-2 Average_P: 0.18497 (95%-conf.int. 0.18268 - 0.18712)
1 ROUGE-2 Average_F: 0.20195 (95%-conf.int. 0.19956 - 0.20425)
1 ROUGE-L Average_R: 0.46458 (95%-conf.int. 0.46175 - 0.46720)
1 ROUGE-L Average_P: 0.36244 (95%-conf.int. 0.35999 - 0.36480)
1 ROUGE-L Average_F: 0.39678 (95%-conf.int. 0.39445 - 0.39898)

Which is more than 1 point lower than the expected output.
Any advice on how to reproduce the results is welcome.
@ngoyal2707 @yinhanliu

I personally think it comes from the dataset processing.
I think it's honorable to try to use the script from abisee's repository in order to have comparable results, but we still need to modify the script to make it work for BART, as mentioned here.
And these modification are still obscure.

If it can help, this is the 3 first tokenized predictions :

French prosecutor says he is not aware of any video footage from on board the plane . French gendarmerie spokesman says cell phones have been collected at the crash site , but have n't been exploited . Two magazines claim to have found a cell phone video showing the harrowing final seconds of the crash .
Palestine officially becomes the 123rd member of the international criminal court . The move gives the court jurisdiction over alleged crimes in palestinian territories . israel and the united states , neither of which is an icc member , opposed the palestinians ' efforts to join the body .
Amnesty International releases its annual report on the use of the death penalty around the world . The report finds `` positive developments '' worldwide , with most regions seeming to show reductions in the number of executions . It also highlights a marked increase in theNumber of people sentenced to death in 2014 , an increase of 28 % .

And this is the 3 first tokenized gold summaries :

marseille prosecutor says so far no videos were used in the crash investigation '' despite media reports . journalists at bild and paris match are very confident '' the video clip is real , an editor says . andreas lubitz had informed his lufthansa training school of an episode of severe depression , airline says .
membership gives the icc jurisdiction over alleged crimes committed in palestinian territories since last june . israel and the united states opposed the move , which could open the door to war crimes investigations against israelis .
amnesty 's annual death penalty report catalogs encouraging signs , but setbacks in numbers of those sentenced to death . organization claims that governments around the world are using the threat of terrorism to advance executions . the number of executions worldwide has gone down by almost 22 % compared with 2013 , but death sentences up by 28 % .

I finally could reproduce the results :

1 ROUGE-1 Average_R: 0.51378 (95%-conf.int. 0.51119 - 0.51657)
1 ROUGE-1 Average_P: 0.40167 (95%-conf.int. 0.39915 - 0.40421)
1 ROUGE-1 Average_F: 0.44017 (95%-conf.int. 0.43799 - 0.44250)
1 ROUGE-2 Average_R: 0.24613 (95%-conf.int. 0.24322 - 0.24898)
1 ROUGE-2 Average_P: 0.19281 (95%-conf.int. 0.19035 - 0.19519)
1 ROUGE-2 Average_F: 0.21093 (95%-conf.int. 0.20841 - 0.21338)
1 ROUGE-L Average_R: 0.47614 (95%-conf.int. 0.47347 - 0.47884)
1 ROUGE-L Average_P: 0.37256 (95%-conf.int. 0.37004 - 0.37511)
1 ROUGE-L Average_F: 0.40812 (95%-conf.int. 0.40581 - 0.41042)

My mistake was indeed due to the processing of data : I was lowercasing the data but you should not.

Still slightly lower than official results (44.16 / 21.28 / 40.90) for R2 and RL.
@ngoyal2707 @yinhanliu It's normal, right ?

Hi @Colanim ,
Thank you so much for sharing details!
I wonder how long it will take to train BART on CNN/DM dataset.
Would you share some details on the training time and hardware options?
Thanks!!

I didn't train BART : the author didn't release the code for training (yet).
I just ran BART finetuned on CNN/DM and get the results on test dataset ^^
I could run the inference using on a single GPU (8GB)

Thanks Colanim!

@Colanim Thanks for your efforts on reproduction.
Yes we train models with cased data, so having cased input is important during test time.
Some small subtle differences that could make that small gap you are seeing:

Change here to not have space.

We remove '(CNN)' keyword from the article by adding following lines here

if cnn and article[:5] == '(CNN)':
      article = article[5:]

@wonjininfo Training should be around 2 hours.

With the changes pointed out by @ngoyal2707, here is my results :

1 ROUGE-1 Average_R: 0.51395 (95%-conf.int. 0.51137 - 0.51660)
1 ROUGE-1 Average_P: 0.40532 (95%-conf.int. 0.40290 - 0.40792)
1 ROUGE-1 Average_F: 0.44235 (95%-conf.int. 0.44009 - 0.44458)
1 ROUGE-2 Average_R: 0.24649 (95%-conf.int. 0.24376 - 0.24923)
1 ROUGE-2 Average_P: 0.19483 (95%-conf.int. 0.19248 - 0.19710)
1 ROUGE-2 Average_F: 0.21227 (95%-conf.int. 0.20990 - 0.21459)
1 ROUGE-L Average_R: 0.47664 (95%-conf.int. 0.47399 - 0.47927)
1 ROUGE-L Average_P: 0.37619 (95%-conf.int. 0.37373 - 0.37863)
1 ROUGE-L Average_F: 0.41043 (95%-conf.int. 0.40808 - 0.41257)

Results reproduced ! 😄

Hi @Colanim , I have some problem obtaining the output. I wonder whether you can share the BART generated summaries with me (my email: memray0@gmail.com).
Thank you,
Rui

@Colanim Thank you so much for sharing it!
May I inquire some details about how to reproduce the results? I have my own data pipeline implemented with Huggingface tokenizer and I was trying to generate the CNNDM summaries with the released BART checkpoint. But my summary is poor (rouge-1=0.35). So my questions are:

Is the source tensor starting with ? My generated summary often starts with two dots ('. .') and I think it's a bias due to the input.
Is title included in the source? If yes, what's the delimiter between text and title?

Thank you!
Rui

To reproduce the results I used fairseq.
If you also use the code provided in their README, you should have a file test.source containing one article per line, without <s> or </s>.
Inside the method for generating summaries using beam-search, yes they add <s> and </s>.
About file preprocessing, the process is described in #1391.

@Colanim Thanks for sharing your steps to get it to work! I think I got the correct summaries, but I'm having trouble getting the right ROUGE scores.
ROUGE-1:
rouge_1_f_score: 0.4433 with confidence interval (0.4411, 0.4454)
rouge_1_recall: 0.5132 with confidence interval (0.5106, 0.5160)
rouge_1_precision: 0.4063 with confidence interval (0.4040, 0.4086)
ROUGE-2:
rouge_2_f_score: 0.2114 with confidence interval (0.2090, 0.2139)
rouge_2_recall: 0.2447 with confidence interval (0.2418, 0.2475)
rouge_2_precision: 0.1942 with confidence interval (0.1919, 0.1965)
ROUGE-l:
rouge_l_f_score: 0.3077 with confidence interval (0.3054, 0.3099)
rouge_l_recall: 0.3575 with confidence interval (0.3547, 0.3602)
rouge_l_precision: 0.2813 with confidence interval (0.2790, 0.2835)
I'm using the Perl ROUGE-1.5.5 and pyrouge and I feel the problem has to do with the tokenization, since the outputs are all not tokenized. How did you run rouge on the output summaries?

Never mind, I realized I had missed some instructions on https://github.com/pytorch/fairseq/blob/master/examples/bart/README.md. The new ROUGE I got is pretty close to the reported results.
1 ROUGE-1 Average_R: 0.50978 (95%-conf.int. 0.50701 - 0.51246)
1 ROUGE-1 Average_P: 0.40405 (95%-conf.int. 0.40146 - 0.40674)
1 ROUGE-1 Average_F: 0.43987 (95%-conf.int. 0.43759 - 0.44218)

1 ROUGE-2 Average_R: 0.24421 (95%-conf.int. 0.24125 - 0.24706)
1 ROUGE-2 Average_P: 0.19417 (95%-conf.int. 0.19174 - 0.19667)
1 ROUGE-2 Average_F: 0.21090 (95%-conf.int. 0.20840 - 0.21338)

1 ROUGE-L Average_R: 0.47298 (95%-conf.int. 0.47030 - 0.47566)
1 ROUGE-L Average_P: 0.37514 (95%-conf.int. 0.37256 - 0.37772)
1 ROUGE-L Average_F: 0.40828 (95%-conf.int. 0.40600 - 0.41056)

@Colanim , I think I have preprocessed the data just the way in related issues(pytorch/fairseq#1401, pytorch/fairseq#1391, pytorch/fairseq#1364), but somehow the result is just not as high as expected:
---------------------------------------------
1 ROUGE-1 Average_R: 0.49419 (95%-conf.int. 0.49146 - 0.49701)
1 ROUGE-1 Average_P: 0.39219 (95%-conf.int. 0.38966 - 0.39487)
1 ROUGE-1 Average_F: 0.42676 (95%-conf.int. 0.42444 - 0.42909)
---------------------------------------------
1 ROUGE-2 Average_R: 0.23836 (95%-conf.int. 0.23533 - 0.24117)
1 ROUGE-2 Average_P: 0.18979 (95%-conf.int. 0.18733 - 0.19225)
1 ROUGE-2 Average_F: 0.20602 (95%-conf.int. 0.20344 - 0.20846)
---------------------------------------------
1 ROUGE-L Average_R: 0.46045 (95%-conf.int. 0.45774 - 0.46303)
1 ROUGE-L Average_P: 0.36564 (95%-conf.int. 0.36313 - 0.36821)
1 ROUGE-L Average_F: 0.39775 (95%-conf.int. 0.39538 - 0.40009)
Elapsed time: 242.342 seconds

My steps are as follows, I would really appreciate if you could take a glance and maybe find out what detail I might have overlooked

Download and unzip the stories directories from here for both CNN and Daily Mail.
run python make_datafiles.py /path/to/cnn/stories /path/to/dailymail/stories
2.1 do not tokenize
2.2 comment out all the tf code
2.3 do not lower case
2.4 do not add <s> or </s>
2.5 no space before '.'
2.6 remove (CNN)
run

bart = torch.hub.load('pytorch/fairseq', 'bart.large.cnn')
bart.cuda()
bart.eval()
bart.half()
count = 1
bsz = 32
with open('test.source') as source, open('test.hypo', 'w') as fout:
    sline = source.readline().strip()
    slines = [sline]
    for sline in source:
        if count % bsz == 0:
            with torch.no_grad():
                hypotheses_batch = bart.sample(slines, beam=4, lenpen=2.0, max_len_b=140, min_len=55, no_repeat_ngram_size=3)

            for hypothesis in hypotheses_batch:
                fout.write(hypothesis + '\n')
                fout.flush()
            slines = []

        slines.append(sline.strip())
        count += 1
    if slines != []:
        hypotheses_batch = bart.sample(slines, beam=4, lenpen=2.0, max_len_b=140, min_len=55, no_repeat_ngram_size=3)
        for hypothesis in hypotheses_batch:
            fout.write(hypothesis + '\n')
            fout.flush()

run

export CLASSPATH=/path/to/stanford-corenlp-full-2016-10-31/stanford-corenlp-3.7.0.jar

# Tokenize hypothesis and target files.
cat test.hypo | java edu.stanford.nlp.process.PTBTokenizer -ioFileList -preserveLines > test.hypo.tokenized
cat test.target | java edu.stanford.nlp.process.PTBTokenizer -ioFileList -preserveLines > test.hypo.target
files2rouge test.hypo.tokenized test.hypo.target

One more ask, if it's convenient for you, could you please share your test.source with me? I would really want to know if it's my data preprocessing caused the score gap. My email address is<EMAIL_ADDRESS>thanks!

@loganlebanoff
Sorry to bother you. I also use pyrouge and rouge 1.5.5 to evaluate the public BART.LARGE.CNN model on CNN/DM, and I got the strange results like below:
1 ROUGE-1 Average_R: 0.51297 (95%-conf.int. 0.51018 - 0.51576)
1 ROUGE-1 Average_P: 0.40694 (95%-conf.int. 0.40444 - 0.40952)
1 ROUGE-1 Average_F: 0.44288 (95%-conf.int. 0.44063 - 0.44507)
1 ROUGE-2 Average_R: 0.24449 (95%-conf.int. 0.24151 - 0.24725)
1 ROUGE-2 Average_P: 0.19458 (95%-conf.int. 0.19220 - 0.19700)
1 ROUGE-2 Average_F: 0.21127 (95%-conf.int. 0.20876 - 0.21368)
1 ROUGE-L Average_R: 0.35718 (95%-conf.int. 0.35430 - 0.35986)
1 ROUGE-L Average_P: 0.28160 (95%-conf.int. 0.27928 - 0.28400)
1 ROUGE-L Average_F: 0.30727 (95%-conf.int. 0.30490 - 0.30957)
But when I directly use the files2rouge to evaluate the results is :

1 ROUGE-1 Average_R: 0.40390 (95%-conf.int. 0.40134 - 0.40648)
1 ROUGE-1 Average_P: 0.50956 (95%-conf.int. 0.50689 - 0.51227)
1 ROUGE-1 Average_F: 0.43971 (95%-conf.int. 0.43750 - 0.44215)
1 ROUGE-2 Average_R: 0.19393 (95%-conf.int. 0.19147 - 0.19646)
1 ROUGE-2 Average_P: 0.24389 (95%-conf.int. 0.24102 - 0.24680)
1 ROUGE-2 Average_F: 0.21063 (95%-conf.int. 0.20813 - 0.21326)
1 ROUGE-L Average_R: 0.37440 (95%-conf.int. 0.37190 - 0.37693)
1 ROUGE-L Average_P: 0.47246 (95%-conf.int. 0.46979 - 0.47529)
1 ROUGE-L Average_F: 0.40764 (95%-conf.int. 0.40535 - 0.41010)
So I have a question: did you use the pyrouge evaluation package to obtain the 40.82 R-L result ?
Whether I miss something for that?


[FEAT] [SQL] rename anonymous compound expressions in SQL plan

This renames columns of unaliased expressions that are not simple column selections in a manner similar to the way duckdb does. For example, max(n) becomes max(col(n)), max(n+1) becomes max(col(n) + lit(1)). This now allows multiple distinct expressions on the same column, whereas previously they would be named after the column and conflict.

Good point - I was thinking that the dataframe API might be matching behavior of other tools like pandas or polars, but that it would be more natural for SQL this way. But indeed they end up with the same kind of result!

Yeah it does change our column naming quite a bit
The proposed DuckDB semantics are interesting, but potentially confusing I think. If I had a column named x  + 1, I might try to select it like so: SELECT 'x + 1' but this looks really confusing: Am I trying to select a column named x + 1, or trying to use it as an expression? 🤷 For this reason I think I'm not a big fan.

Got it. For the above case though I think the ambiguity is handled by the quoting - but I do see I think I was shortsighted trying to treat the handling of column naming in SQL different from dataframe.
I do find things like x + y -> x confusing since this has become something different from x, especially so considering y+x -> y and 1 + x -> 'literal' but x + 1 -> x. The duckdb-style tells a more complete story. Of course one should probably be explicit anyhow and alias!

some additional tools for comparison
datafusion
datafusion takes a similar approach as duckdb
create table test as select 1 as ints, 'hello' as utf8;

>  select ints + 1 from test;
+----------------------+
| test.ints + Int64(1) |
+----------------------+
| 2                    |
+----------------------+

polars
Similar to daft, polars does not change the root expr name unless explicitly declared
# %%
import polars as pl

df = pl.DataFrame({
    "ints": [1,2,3,None]
})

pl.sql("select 1 + ints, ints + 1 from df").collect()

shape: (4, 2)
┌─────────┬──────┐
│ literal ┆ ints │
│ ---     ┆ ---  │
│ i64     ┆ i64  │
╞═════════╪══════╡
│ 2       ┆ 2    │
│ 3       ┆ 3    │
│ 4       ┆ 4    │
│ null    ┆ null │
└─────────┴──────┘

To add to the list, looks like spark is similar to duckdb as well (or maybe its the other way around 😄 ),
spark.sql('SELECT avg(nanvl(feh_apogee, NULL)) FROM df').show()
+----------------------------+
|avg(nanvl(feh_apogee, NULL))|
+----------------------------+
|        -0.22025159023467286|
+----------------------------+

trino seems familiar to many other RDBMS:
trino:public> select max(calls) from pg_stat_statements;
  _col0
----------
 63611625

I'll close this since I now think it is wrong even if one might consider changing the naming. Sorry for the distraction, but thanks for the comments and consideration!


Detached dialog mouse events on number up/down arrows

When detaching a dialog the mouse events not longer work as expected on number inputs (including vector inputs).
In the following image a dialog was detached and while numbers can be manually entered  clicking the up and down arrows on them doesn't do anything, and the input amount remains the same.
However, If I left click my mouse on one of the up/down arrows, and then click the main browser window and move the mouse (no clicking required), these numbers change.

Yes, detaching windows could be problematic because they bind events to the main window, so events in the secondary window wont be detected. I will fix it by checking which window is the widget on before binding the events.

Ok,  I fixed the bug for updown arrows (dragger), sliders and color pickers. If you see any other problem related to detaching the window let me know, thats a very experimental feature not fully tested.
You need to download jscolor.js again because I had to change some parts.

Awesome thanks!


interface edge_paths of the recipe to user

Hi,
I want to highlight some edges and I find it hard to recalculate the Vector{AbstractPath}
What I want to do is the following:
gc = circular_ladder_graph(5) |> DiGraph
f,a,p = graphplot(gc, elabels = repr.(edges(gc)), nlabels=repr.(vertices(gc)))
edgeplot!(a, p.edge_paths[][4:9], linewidth=15, color=(:red,0.5))

which will draw the following:

It's fairly easy when edge_paths is given available to the user.
Otherwise I must call find_edge_paths which also expects some Attributes value, which is rather complicated.
Is there a more sophisticated way?

something like this is done in a hacky way for the node_pos. Hacky, because adds the observable to the attributes of the plot object from inside the recipe.
https://github.com/JuliaPlots/GraphMakie.jl/blob/a1ab3f931c6c023644fdd1f226b11b9a87eaa941/src/recipes.jl#L176
If i remember correctly, there were some difficulties. I.e it works like this
g[:attr] = @lift ...
local_attr = g[:attr]

but not like this
local_attr = @lift ...
g[:attr] = local_attr

should be fine to use the same strategy here
https://github.com/JuliaPlots/GraphMakie.jl/blob/a1ab3f931c6c023644fdd1f226b11b9a87eaa941/src/recipes.jl#L195-L200

Yes, in order to draw the figure above, I followed the example of node_pos
diff --git a/src/recipes.jl b/src/recipes.jl
index 9714263..2881510 100644
--- a/src/recipes.jl
+++ b/src/recipes.jl
@@ -194,10 +194,11 @@ function Makie.plot!(gp::GraphPlot)

     # create array of pathes triggered by node_pos changes
     # in case of a graph change the node_position will change anyway
-    edge_paths = lift(node_pos, gp.selfedge_size,
+    gp[:edge_paths] = lift(node_pos, gp.selfedge_size,
                       gp.selfedge_direction, gp.selfedge_width) do pos, s, d, w
         find_edge_paths(graph[], gp.attributes, pos)
     end
+    edge_paths = gp[:edge_paths]

     # plot edges
     edge_plot = edgeplot!(gp, edge_paths;

"Hacky" is kind of a scary word.
My impression for "Hacky" stuff is that they tend to go unstable between releases and most of the times do not follow best practices.
Do you know if there is a better way to do it or it is indeed the suggested technique in the Makie ecosystem ?


NeonService methods should return the service instance to be more fluent

Most service implementation will want to pass the program arguments as to the service via NeonService.SetArguments().
It would be nice if this method returned the service so that we can use a more fluent pattern for doing this.

More methods to return the service instance:
SetEnvironmentVariable()
SetConfigFilePath()
SetConfigFile()

More methods to return the service instance:
SetEnvironmentVariable()
SetConfigFilePath()
SetConfigFile()

DONE for v2.11.0

DONE for v2.11.0