Document using dependency resolution results as task inputs

Update existing general task inputs documentation.
Add dedicated section in the chapter about authoring tasks.
Add sample covering multiple use cases.
Previews:

Release notes
https://builds.gradle.org/repository/download/Gradle_Release_Check_BuildDistributions/51656398:id/distributions/gradle-7.5-docs.zip!/gradle-7.5-20220429115349%2B0000/docs/release-notes.html#dependency-resolution-results-can-be-used-as-task-inputs
Updated general task inputs user manual section
https://builds.gradle.org/repository/download/Gradle_Release_Check_BuildDistributions/51656398:id/distributions/gradle-7.5-docs.zip!/gradle-7.5-20220429115349%2B0000/docs/userguide/more_about_tasks.html#sec:task_input_output_annotations
Dedicated user manual section
https://builds.gradle.org/repository/download/Gradle_Release_Check_BuildDistributions/51656398:id/distributions/gradle-7.5-docs.zip!/gradle-7.5-20220429115349%2B0000/docs/userguide/more_about_tasks.html#sec:task_input_using_dependency_resolution_results
Dedicated sample
https://builds.gradle.org/repository/download/Gradle_Release_Check_BuildDistributions/51656398:id/distributions/gradle-7.5-docs.zip!/gradle-7.5-20220429115349%2B0000/docs/samples/sample_tasks_with_dependency_resolution_result_inputs.html

@bot-gradle test QFL

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle help

Currently, the following commands are supported:
@bot-gradle test <BuildTrigger1> <BuildTrigger2> ... <BuildTriggerN>

A trigger is a special build for this PR on TeamCity, common triggers are:

SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/PullRequestFeedback/ReadyForNightly/ReadyForRelease
Shortcuts: SC/CA/QFL/QF/PRF/RFN/RFR
Specific builds:

PT: PerformanceTest, all performance tests for Ready For Nightly stage.
APT: AllPerformanceTest, all performance tests, including slow performance tests.
AST: AllSmokeTestsPullRequestFeedback
AFT: AllFunctionalTestsPullRequestFeedback
ASB: AllSpecificBuildsPullRequestFeedback
ACC: AllConfigCacheTestsPullRequestFeedback
ACT: AllCrossVersionTestsReadyForNightly
AFTN: AllFunctionalTestsReadyForNightly
ACTR: AllCrossVersionTestsReadyForRelease
AFTR: AllFunctionalTestsReadyForRelease

@bot-gradle test and merge

queues this PR for testing and merges if all tests pass by:

Creating a merge commit from your PR branch HEAD and the target branch
Running a ReadyForNightly build against the merge commit
When it passes, fast-forward the target branch to this merge commit (i.e. merge the PR)

The merge commit is called a pre-tested commit, which means that it fully tests the integration
of your branch HEAD and latest master, instead of only testing your branch HEAD.
@bot-gradle cancel

cancel a running pre-tested commit build or remove it from queue

@bot-gradle clean

clear the conversation history

@bot-gradle help

display this message

To run a command, simply submit a comment.  For detailed instructions see here.

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Very comprehensive sample 👍

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

@bot-gradle cancel

OK, I've already cancelled the pre-tested commit build.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.


fix udfs assignment

Codecov Report

Merging #1791 into dev-1.2.1 will decrease coverage by 0.02%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##           dev-1.2.1    #1791      +/-   ##
=============================================
- Coverage      13.39%   13.36%   -0.03%
=============================================
  Files            282      282
  Lines          13929    13959      +30
  Branches        2251     2260       +9
=============================================
  Hits            1866     1866
- Misses         11857    11887      +30
  Partials         206      206

Impacted Files
Coverage Δ

...cheduler/server/worker/runner/FetchTaskThread.java
0% <0%> (ø)
:arrow_up:

...va/org/apache/dolphinscheduler/dao/ProcessDao.java
0.85% <0%> (-0.02%)
:arrow_down:

...duler/server/worker/runner/TaskScheduleThread.java
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Best way to add a new site in Drupal VM

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 2.2.4
VirtualBox 5.2.18r124319

Your OS
Host OS Mac 10.13.6
Full console output
N/A
Summary
what is the best way to add a new site. I provisioned the vm and the drupal site is not working 'The website encountered an unexpected error. Please try again later.' But I'd rather not spend time debugging an install I'm not going to use. I have pulled my files and db to the synced folder but I am not sure how to make a new site. I amended the vhost file in /nginx/sites-enabled and reloaded nginx but it failed with 'The provided host name is not valid for this server.' Do I need to just create a new host file for nginx or do i need to do something in config.yml and re-provision?
Thanks

You shouldn't need to ever edit any files inside the VM to add sites. You need to add a server to the nginx_hosts list (https://github.com/geerlingguy/drupal-vm/blob/master/default.config.yml#L164) (use the first example there as a template for adding more drupal sites), then you need to add a database for the site to use in mysql_databases (https://github.com/geerlingguy/drupal-vm/blob/master/default.config.yml#L190). And probably a separate database user as well in mysql_users (https://github.com/geerlingguy/drupal-vm/blob/master/default.config.yml#L195).
Then run vagrant provision and Ansible will create the relevant configurations and restart all the services that need to be restarted to get the new site document root up and running.
If you want to share a local codebase into the VM in some place where the nginx server / host can pick it up, you can add more shares to the vagrant_synced_folders list. Otherwise you could log into the VM (vagrant ssh) and do whatever you need to inside too.


Programming Expertise Accessibility Issue

Description

Make sure all input fields are accessible.

Currently, the axe DevTools are showing that

Issue Description
Ensures form field does not have multiple label elements

To reproduce the issue, install the axe DevTools extension and run it.
Screenshots
No response
Additional information
For further instructions on how to make the component accessible, please read the following:

Form field multiple labels
IDs used in ARIA and labels must be unique

@YuriDevAT assign this to me

Please, go ahead @hariscs 🙂


Unsatisfied requirements when upgrading to 1.0.4 from 0.5.0

Hello, I used Pysher==0.5.0. I upgraded to version 1.0.4 but I did not received new messages from websocket. The problem was with unsatisfied version of websocket-client. In requirements.txt is mentioned websocket-client==0.51.0 but I had only 0.48.0. I think, it should be updated properly when installed new version of Pysher or at least, it should informed me about unmatching versions. This is what I received when I installed Pysher version 1.0.4.
pip3 install Pysher==1.0.4
Collecting Pysher==1.0.4
  Using cached https://files.pythonhosted.org/packages/0e/ca/0e4b7d71944e6244da5fdccca51bb49e047fe295925e899776b919f6e638/Pysher-1.0.4-py3-none-any.whl
Requirement already satisfied: websocket-client!=0.49 in /usr/local/lib/python3.6/dist-packages (from Pysher==1.0.4)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from websocket-client!=0.49->Pysher==1.0.4)
Installing collected packages: Pysher
  Found existing installation: Pysher 0.5.0
    Uninstalling Pysher-0.5.0:
      Successfully uninstalled Pysher-0.5.0
Successfully installed Pysher-1.0.4

According to me, it should not print Requirements already satisfied.
When I installed websocket-client=0.51.0, it works without any problem.
When I installed (without upgrade) Pysher==1.0.4 in new virtual env , it works without any problem.

Hey @dorinand !
That looks like an issue with pip --upgrade,  not Pysher - I updated the requirements with the latest release.
But thanks for reaching out!


How to integrate this library with swift using cocoapods

I have been trying all the documented ways to import objective-c code into swift and I keep getting errors.
Have you guys managed to do this?

Sorry to hear you are experiencing problems.
We managed to do this and it was actually pretty straight. Just follow these steps:

Create your pod file and add the following line:

pod 'LSThreadPoolLib'

Run pod install to update your project;
Create a .h file, call it something like Bridge.h and add the following line:

#import <LSThreadPoolLib/LSThreadPoolLib.h>

Set the name of the bridging header in your project settings (pay attention to prefixing the correct folder name):
Objective-C Bridging Header MyProject/Bridge.h

Your project should now be ready to use our library. As an example, the following view controller provides some sample calls to a thread pool and the URL dispatcher:

import UIKit

class ViewController: UIViewController, LSURLDispatchDelegate {
    var _pool : LSThreadPool = LSThreadPool(name: "TestPool", size: 1)

    override func viewDidLoad() {
        super.viewDidLoad()

        _pool.scheduleInvocationForBlock { () -> Void in
            let url = NSURL(string: "http://push.lightstreamer.com/lightstreamer/create_session.txt?LS_user=&LS_adapter_set=DEMO&LS_ios_version=1.0")
            let req = NSURLRequest(URL: url!)
            LSURLDispatcher.sharedDispatcher().dispatchShortRequest(req, delegate: self)

            dispatch_async(dispatch_get_main_queue(), {
                let alert = UIAlertView(
                    title: "Alert",
                    message: "Opening session now...",
                    delegate: nil,
                    cancelButtonTitle: "Ok")

                alert.show()
            })
        }
    }

    func dispatchOperation(operation: LSURLDispatchOperation, didReceiveResponse: NSURLResponse) {
        NSLog("Response: \(didReceiveResponse)")
    }

    func dispatchOperation(operation: LSURLDispatchOperation, didReceiveData: NSData) {
        NSLog("Data: \(didReceiveData)")
    }

    func dispatchOperation(operation: LSURLDispatchOperation, didFailWithError: NSError) {
        NSLog("Error: \(didFailWithError)")
    }

    func dispatchOperationDidFinish(operation: LSURLDispatchOperation) {
        NSLog("Finish")
    }
}

Hope this helps.

Could we anticipate you'd rewrite an implementation in Swift entirely?
Or It doesn't make sense ?

At the moment we are not investing time on this library, since it has reached its objectives and there are no open issues. But should we decide to rewrite our iOS/OS X/tvOS clients to Swift, it would be surely part of the rewrite.


xxx_time: Names for aggregate functions are misleading

The aggregation methods like min_time, max_time, last_time (sic!), first_time, mean_time etc. seem to be confusing names for the methods. During the Hackathon it was proposed to change the naming scheme. Depends also on the outcomes of issue #77 as a aggregate("time", "mean", ...) or aggregate_time("mean", ...) could be introduced, which would solve the problem anyway.
Related to https://github.com/Open-EO/openeo-python-client/issues/21

This is solved by our current proposal. We have first() and last() processes that work on arrays and can be passed as reducers to the reduce process for example. See https://open-eo.github.io/openeo-api/v/0.4.0/processreference/


Steps to reproduce:

Just drive backwards into any wall and you will see what I mean.

Result:

You will go through the collider.

Expected Result:

You shouldn't be able to go through any of the colliders.

Done! yay!


Update Observer component definition

Hi!
Right now we have to wrap observerd value with HTML tag like:
const C => <Observer>{() => <div>{obser.vable}</div>}</Observer>

With this change you can just return observed value
const C => <Observer>{() => obser.vable}</Observer>

Thank you!

Great, thanks!

@FredyC yeah, I want to release if #403 is in. If that is not today, I'll probably cut a release at the end of the day anyway


Adding metadata to openvswitch database.

Pipework doesn't populate the openvswitch database with any information
about the pipework interface creation. This makes it difficult to glean
any information about the container to which an interface is assigned.
This patch adds the bridge, interface name, container ID and vlan to
the database so other tools can query it.
This patch was originally designed to help tools like @dreamcat4's
docker-pipework image clean up these interfaces when the container is started
with something like 'docker run --rm' (with modifications).

Thanks! That seems like an excellent idea. I don't have an OVS setup here to test it, so I'm merging it blindly (I trust you! :)) since it seems to only affect openvswtich setups anyway.
Thanks again!


Travis doesn't fail when snippets are wrong

We shouldn't be able to check in code which breaks snippets. This may be just a matter of running the snippet generator from the Travis build, and letting it fail...

Humbug - looks like docfx fails under Travis, which means we can't build the metadata files that the snippet processor uses.

AppVeyor now fails, so that's good enough.


CDS-93925-CD-RN-1.29.x

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screenshot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f41fee1424ac440c6fdb12--harness-developer.netlify.app

LGTM

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f7f9480df21d2decec303d--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65f81391a5568b439a3c515e--harness-developer.netlify.app


Dashboard Wireframe Done

Dashboard Wireframe

Created wireframe of dashboard using figma

Fixes: #31
Proposed Changes

Total number of blogs user has written
Top featured blog by user
Total stars of that particular user( as blogs have reactions and according to quality stars can be given)
Total views on blogs
Followers
User engagement with content via graph(time spent on read blogs) Avg-time spent

Additional Info

A little bit change in header on user profile dropdown added for dashborad and profile options

Screenshots

Do checkout @Swarnimashukla


Use correct license property in package.json

This license property in package.json should be named license and be a SPDX license expression syntax formated string.
The old style of having an array of licenses are now deprecated by npm and the rcommedations it to use SPDX expressions like this:
{ "license": "ISC" }

{ "license": "(MIT OR Apache-2.0)" }

LGTM 👍


Spring AOP Advices cannot be used together with qbit

It is due to proxy produced by spring, solution can be cast to proxy class and get target class.
Advised advised = (Advised) proxy;
Class<?> cls = advised.getTargetSource().getTargetClass();
Have no idea how to workaround this in boon.
http://docs.spring.io/spring/docs/4.2.x/javadoc-api/org/springframework/aop/support/AopUtils.html#getTargetClass
Exception in thread "main" MESSAGE: name preFiltered setter public abstract void org.springframework.aop.framework.Advised.setPreFiltered(boolean) getter public abstract boolean org.springframework.aop.framework.Advised.isPreFiltered()
CAUSE io.advantageous.boon.core.Exceptions$SoftenedException :: Unable to extract annotation for property preFiltered  of class  interface org.springframework.aop.framework.Advised   useRead  false
io.advantageous.boon.core.Exceptions$SoftenedException: name preFiltered setter public abstract void org.springframework.aop.framework.Advised.setPreFiltered(boolean) getter public abstract boolean org.springframework.aop.framework.Advised.isPreFiltered()
CAUSE io.advantageous.boon.core.Exceptions$SoftenedException :: Unable to extract annotation for property preFiltered  of class  interface org.springframework.aop.framework.Advised   useRead  false
CAUSE io.advantageous.boon.core.Exceptions$SoftenedException :: Required object assertion exception
at io.advantageous.boon.core.Exceptions.handle(Exceptions.java:164)
at io.advantageous.boon.core.reflection.fields.BaseField.(BaseField.java:313)
at io.advantageous.boon.core.reflection.fields.PropertyField.(PropertyField.java:46)
at io.advantageous.boon.core.reflection.Reflection.getPropertyFieldAccessors(Reflection.java:625)
at io.advantageous.boon.core.reflection.ClassMeta.(ClassMeta.java:180)
at io.advantageous.boon.core.reflection.ClassMeta.classMeta(ClassMeta.java:273)
at io.advantageous.qbit.service.impl.BoonServiceMethodCallHandler.init(BoonServiceMethodCallHandler.java:603)
at io.advantageous.qbit.service.impl.BaseServiceQueueImpl.(BaseServiceQueueImpl.java:170)
at io.advantageous.qbit.service.impl.ServiceQueueImpl.(ServiceQueueImpl.java:50)
at io.advantageous.qbit.service.ServiceBuilder.build(ServiceBuilder.java:423)
at io.advantageous.qbit.service.ServiceBuilder.buildAndStart(ServiceBuilder.java:444)
at io.advantageous.qbit.service.impl.ServiceBundleImpl.addServiceObject(ServiceBundleImpl.java:312)
at io.advantageous.qbit.service.impl.ServiceBundleImpl.addService(ServiceBundleImpl.java:249)
at io.advantageous.qbit.server.ServiceEndpointServerImpl.initServices(ServiceEndpointServerImpl.java:365)
at io.advantageous.qbit.server.EndpointServerBuilder.build(EndpointServerBuilder.java:619)
at com.mm.base.Main.main(Main.java:24)
Caused by: io.advantageous.boon.core.Exceptions$SoftenedException: Unable to extract annotation for property preFiltered  of class  interface org.springframework.aop.framework.Advised   useRead  false

one of possible workaround can be load or compile time weaving, still looking for better solution

I need a test case. Some sample code. A unit test. If I can't reproduce it, I can't fix it. Or know even if it is something that I deem worth fixing. So please add more details or I will have to close as wontfix.

https://github.com/alexey-kanashevich/qbit-jwt-auth
Run Main.

I was able to run this and track it down. The code that causes this bug lives here.
https://github.com/advantageous/boon
I will move this report to there.

Moved here:
https://github.com/advantageous/boon/issues/5
(working on a fix)

Fixed.

https://github.com/advantageous/qbit/commit/4273ca22d2871442d605dacd6207dbd13905a9f7

Build snapshot version.

@fadihub can you do a RC release of adv/boon and adv/qbit and cut/paste info here.
Thanks man.

Boon version 0.5.6-RC2 and QBit version 0.9.1-RC13 (depends on boon
0.5.6-RC2) are released.
Regards
On Wed, Oct 28, 2015 at 1:49 PM, Richard Hightower<EMAIL_ADDRESS>
wrote:

@fadihub https://github.com/fadihub can you do a RC release of adv/boon
and adv/qbit and cut/paste info here.
Thanks man.
—
Reply to this email directly or view it on GitHub
https://github.com/advantageous/qbit/issues/488#issuecomment-151986021.

Awesome!

Thanks. Have looked into fix. If I understand correctly I lose swagger support for endpoint controller if I use proxy.

Not that I know of, but report another issue if that is the case.


Particle type changes/fixes.

The ParticleType.Material class should be replaced by one for a Block and Item, to relfect the changes that added a BlockParticle and using a BlockState of always a ItemStack (which should also be replaced by a ItemStackSnapshot).
There should also be a small change in ParticleType.Note to use the NotePitch class instead of a float.

Also a other small change that must be made in SpongeCommon. The block id and data are since 1.8 no longer send as two parameters but as one in the following method: data << 12 | id

@gabizou You forgot to change the return type of getDefaultNote to NotePitch.


I can't install:"Unosquare.PiGpio 0.0.2".

I can install Unosquare.PiGpio 0.0.1. But I can not install "Unosquare.PiGpio 0.0.2".
Error: Unable to install the “Unosquare.PiGpio 0.0.2” package. You are trying to install this package into a project, the required platform version of which is “.NETFramework, Version = v4.6.1”, but the package does not contain references to assemblies or content files compatible with this platform. Additional information can be obtained from the author of the package.

What .NET framework are you using?

I use .NETFramework, Version = v4.6.1.
What am I doing. I created an empty Windows Forms project (.NET Framework) Version = v4.6.1.
Open Package management NuGet and finde Unosquare.PiGpio 0.0.2 and when i install, i get this error.

Sorry, you need to use net462 or better.

Thank you!


Contrast ratio is too low for the element description text.

The grey text on a grey background looks elegant but is hard to read, especially at the smaller font size. The ANSI minimum recommended contrast ratio is 3:1 and the W3 WCAG2.1 guidelines suggest a contrast ratio of 4.5:1 for AA accessibility (accounting for people in old age, those with moderately low visual acuity and those with color blindness).
Love the site btw, looking forward to showing it to my kids later!

Agreed! Made a comment on the reddit thread about the contrast. Hopefully we get less grey on grey!

Thank you for the suggestion! I will improve it now.

I improved it, how does it look now? :)
https://periodic.donghwi.dev


Integrated PowerShell not working properly

VSCode Version: 1.48.2
OS Version: Windows_NT x64 10.0.18362

Steps to Reproduce:
The integrated PowerShell kills the server even after accepting n/N as an input. An image for reference is attached below.

Does this issue occur when all extensions are disabled?: Yes

This issue seems to originate from an upstream component and is not something VSCode can fix by making a change to our code. As such, I will go ahead and close it. Please try to reproduce in Windows Terminal and report to microsoft/terminal with repro steps.
Thanks for understanding.

Sure.


VisUI 1.2.3 features

[x] ScrollableTextArea.
[x] HighlightTextArea, Highlighter.
[x] MultiSplitPane
[x] BusyBar

Additionally to new widgets:

[x] FileChooser#setSorting(FileSorting) and #setSortingOrderAscending
[x] FileChooser.setSaveLastDirectory
[x] FileChooser.focusFileScrollPaneOnShow
Spinner#setTextFieldEventPolicy (Broken in VisUI 1.2.3, TextFieldEventPolicy enum is private.)
[x] MenuBar#setMenuListener

See changes.

FileChooser#setSorting(FileSorting) and #setSortingOrderAscending
FileChooser.setSaveLastDirectory (static)
Spinner#setTextFieldEventPolicy

Widgets:

MultiSplitPane
BusyBar

There wasn't much new stuff added, most changes are just fixes and improvements to existing widgets.

FileChooser.focusFileScrollPaneOnShow
Spinner#setTextFieldEventPolicy
MenuBar#setMenuListener

Implemented in 1.8 branch.


Improve watcher

Expands on #113, fixes the Vim test by debouncing notifications internally (which is easier because we only care about touched paths.)

The upstream notify library has a sister library called https://docs.rs/notify-debouncer-full/latest/notify_debouncer_full/ in its newer versions, so I rewrote some of the filter code to use that instead, and it seems to fix the vim test without any need for manual debouncing on our part! PTAL.

Actually I think the rename_over_vim test is broken on Linux not mac; we are watching the parent dir, so I’d expect it to notify about the creation of bar! Which is the part that fails on Mac.


Channel Profile is Broadcasting even if it is set to Communication

To try this out run the example app. Use basic join channel set it to channelProfileCommunication
Make a call to the REST API https://docs.agora.io/en/video-calling/reference/channel-management-rest-api?platform=android#gets-the-user-list
to query the channel and you will always get mode 2 LIVE_BROADCASTING !
This issue did not exist in version 5

Thanks for reporting, it's a known issue, I will update here if any updates.

any update about this?

This issue should be fixed in the latest version, please try upgrading it to see if it works or not.


Problem With geolocator_android

I am building a flutter application that uses geolocation.
When I run the app on my android device I get the following error.
\AppData\Local\Pub\Cache\hosted[pub.dev](http://pub.dev/)\geolocator_android-2.1.0\android\src\main\java\com\baseflow\geolocator\permission\PermissionUtils.java:28: error: cannot find symbol
context.getUserId()
^
symbol:   method getUserId()
location: variable context of type Context
1 error
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':geolocator_android:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

I have no errors on the code for the app. My pubspec.yaml file has the following packages
geolocator: ^7.7.1
geolocator_android: ^2.0.0
I have been stuck on this problem for days now. Help will be much appreciated. Thanks in advance.

Can you try updating your geolocator dependency? Also you do not need to declare the geolocator_android in your pubspec.yml.
Reference for latest version, installation instruction and usage are always on pub.dev: https://pub.dev/packages/geolocator


Authenticate with multiple OUs

I have this in base_dn previously:
OU=Staff,DC=acme,DC=com
Now I need to limit to either Staff or Manager OUs
I tried this but it's not working
OU=Staff,OU=Manager,DC=acme,DC=com
So please advice!

Hi @ArabAgile, you can't limit with two OU's. See:
http://stackoverflow.com/questions/9184978/ldap-root-query-syntax-to-search-more-than-one-specific-ou
You'll need to create a Group and then add the users you'd like to the specified group.
This way you can enter the group inside the limitation_filter option, which would only allow users from that specific group to authenticate:
'limitation_filter' => '(memberOf=cn=Allowed,dc=acme,dc=com)',


remove using object.keys in iterations

Fixes #
I confirm I have signed the Contributor License Agreement.

remove comments
cache previous key index in eval functions

Would you like me to review and merge this PR yet? 😄

Hi Will,
Sure.  Commission till de9e966 is for removing Object.keys in iterations. Commission till 32debfc is for caching previous key index in curve evaluation. The rest is removing new instances in evaluation.
They are tested with several gltf/glb files with animations (both LINEAR and CUBIC).

OK, I've also tested it and it seems faster with fewer garbage collection events. Impressive. I'll continue profiling to see if there are other opportunities for optimization. Thanks!! 😄

Actually, I did just find a problem. Check out this line:
https://github.com/playcanvas/playcanvas-gltf/blob/master/src/playcanvas-anim.js#L1856
This calls this function with one parameter:
https://github.com/playcanvas/playcanvas-gltf/blob/master/src/playcanvas-anim.js#L1334
Since the cacheValue argument is not supplied, this line throws an exception because snapshot is undefined:
https://github.com/playcanvas/playcanvas-gltf/blob/master/src/playcanvas-anim.js#L1336


The CI check are failing due to go version incompatibility, should we bump those changes?

Hi :hugs:
Thank you for your GitHub actions, they are indeed very helpful and my project uses it extensively. :rocket:
However, from recent changes the CI keeps failing with the warning as follows:
Warning: Docker build failed with exit code 2, back off 9.483 seconds before retry.
And, going through logs I found a note that might be the culprit
note: module requires Go 1.17
For a detailed log, feel free to refer here.
Let me know if I can help in anyways to correct this fix.

Same problem here!

same issue here


Clean up entries for https://github.com/realestate-com-au/pact

Entries for https://github.com/realestate-com-au/pact should be moved to https://github.com/pact-foundation/pact-ruby, there are a few entries and it saves users multiple hops
https://github.com/pact-foundation/pact-mock_service/pull/137#issuecomment-1203881302

should be complete once https://github.com/pact-foundation/pact-jvm/pull/1825 is merged


Quantum physics and python language programming skills

Please:

[ ] Check for duplicate requests.
[ ] Describe your goal, and if possible provide a code snippet with a motivating example.

It's not clear to me what this issue is attempting to ask. Closing.


updated build backend

Proposed changes:

updated pep-517 build backend according to https://python-poetry.org/blog/announcing-poetry-1-1-0.html
change is not strictly necessary, but the old package name is deprecated since poetry moved their pip builder to a separate package. so sooner or later it is necessary

🛑   this can't be merged yet, build system requires the poetry version which isn't mentioned anywhere after switching the builder...https://github.com/python-poetry/poetry/issues/3469


[textStyle] Issues when upgrading to last version of main

Hello,
Due to some flutter upgrades that push us to upgrade also Mix package, we upgraded it from 0.7 to last version in main. We renamed everything according to the deprecated message.
No surprise that we got some issues about these changes and we need some help to understand.
For example with textStyle
We have a base button like this:
import 'package:flutter/widgets.dart';

import 'package:mix/mix.dart';

import 'package:ultrashot_design_system/src/utilities/get_responsive_font_size.dart';
import 'package:ultrashot_design_system/theme.dart';

enum SizeVariantEnum {
  small,
  medium,
  large,
}

enum LeadingPosition { left, center, right }

@immutable
class ButtonSizeVariant<T extends SizeVariantEnum> extends StyleVariant {
  ButtonSizeVariant(T variant) : super(variant.name);
}

class ButtonSizeVariants {
  static final small = ButtonSizeVariant(SizeVariantEnum.small);
  static final medium = ButtonSizeVariant(SizeVariantEnum.medium);
  static final large = ButtonSizeVariant(SizeVariantEnum.large);
}

StyleMix get _baseStyle => StyleMix(
      rounded(4),
      animation(
        curve: Curves.easeIn,
        duration: 100,
      ),
      onPress(
        scale(0.95),
      ),
      mainAxisAlignment(MainAxisAlignment.center),
      textStyle(
        // added because of lack of style parameters (yellow lines)
        decoration: TextDecoration.none,
        fontWeight: FontWeight.w600,
        fontFamily: ultrashotTheme.fontScheme.mainFontFamily,
      ),
      mainAxisSize(MainAxisSize.min), // For flexbox
      ButtonSizeVariants.small(
        paddingHorizontal(ultrashotTheme.spacing.w1),
        paddingVertical(ultrashotTheme.spacing.w1),
        textStyle(
          fontSize: getResponsiveFontSize(ultrashotTheme.typography.small),
        ),
        iconSize(ultrashotTheme.typography.small),
      ),
      ButtonSizeVariants.medium(
        paddingHorizontal(ultrashotTheme.spacing.w4),
        paddingVertical(ultrashotTheme.spacing.w15),
        textStyle(
          fontSize: getResponsiveFontSize(ultrashotTheme.typography.medium),
        ),
        iconSize(ultrashotTheme.typography.medium),
      ),
      ButtonSizeVariants.large(
        paddingHorizontal(ultrashotTheme.spacing.w4),
        paddingVertical(ultrashotTheme.spacing.w2),
        textStyle(
          fontSize: getResponsiveFontSize(ultrashotTheme.typography.medium),
        ),
        iconSize(ultrashotTheme.typography.medium),
      ),
    );

abstract class Button extends StatelessWidget {
  const Button(
    this.text, {
    super.key,
    this.size,
    this.style,
    this.onPressed,
    this.onLongPressed,
    this.leading,
    this.leadingPosition = LeadingPosition.left,
    this.interPadding = 12, // ultrashotTheme.spacing.w15
  });

  final String text;
  final ButtonSizeVariant? size;
  final StyleMix? style;
  final VoidCallback? onPressed;
  final VoidCallback? onLongPressed;
  final Widget? leading;
  final LeadingPosition? leadingPosition;
  final double? interPadding;

  Widget get _leftContent {
    if (leading == null ||
        leading != null && leadingPosition != LeadingPosition.left) {
      return SizedBox.fromSize(size: Size.zero);
    }

    return Padding(
      padding: EdgeInsets.only(right: interPadding!),
      child: leading,
    );
  }

  Widget get _centerContent {
    if (leading != null && leadingPosition == LeadingPosition.center) {
      return leading!;
    }

    return Text(text);
  }

  Widget get _rightContent {
    if (leading == null ||
        leading != null && leadingPosition != LeadingPosition.right) {
      return SizedBox.fromSize(size: Size.zero);
    }

    return Padding(
      padding: EdgeInsets.only(left: interPadding!),
      child: leading,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Pressable(
      onPressed: onPressed,
      onLongPress: onLongPressed,
      child: HBox(
        style: _baseStyle
            .selectVariant(size ?? ButtonSizeVariants.medium)
            .mergeNullable(style),
        children: [
          _leftContent,
          _centerContent,
          _rightContent,
        ],
      ),
    );
  }
}

With an extend Primary button:
StyleMix get _style => StyleMix(
      backgroundColor(ultrashotTheme.colorScheme.light),
      textStyle(
        color: ultrashotTheme.colorScheme.accent,
      ),
      iconColor(ultrashotTheme.colorScheme.onLight),
      onDisabled(
        backgroundColor(ultrashotTheme.colorScheme.inaccessibility),
        textStyle(color: ultrashotTheme.colorScheme.onInaccessibility),
        iconColor(ultrashotTheme.colorScheme.onInaccessibility),
      ),
    );

class PrimaryButton extends Button {
  PrimaryButton(
    String text, {
    super.key,
    super.size,
    super.onPressed,
    super.onLongPressed,
    super.leading,
    super.leadingPosition,
  }) : super(text, style: _style);
}

Everything we put inside textStyle does not work. If we move backgroundColor for example we're losing the background color too. Even using the deprecated textColor does not work either.
We don't understand what we are missing. As the documentation seems to not being updated, we are la little bit lost about what is happening here. We will investigating deeply.
Thank you for your help.
Best regards

@Maus3rSR thank you for the detailed information. Keep in mind that the main is unstable, as we prep for a 1.0 beta. But thank you opening it up and I will check it out

Thank you for your answer.
Did you succeed to use 0.0.7 using lastest version of flutter and dart?

@Maus3rSR Please try the following version https://github.com/conceptadev/mix/pull/140, also I am interested in knowing a bit about the "migration" or the deprecation notes.

I will try to take some time and check! We found a way to keep continue without upgrading dart and then mix. (issue with XCode build)
Thank you very much! The upgraded version of mix looks more clear.

@Maus3rSR, we are closing this as this has been addressed in the next beta release.


⚠ Bofrost.be has degraded performance

In eaf0c5f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1045 ms

Resolved: Bofrost.be performance has improved in 6e44aca after 45 minutes.


Question: frame length field

The annotation shows that the length filed should be 24 bit (3 bytes). Why the implement just use 2 bytes (length = (fields[0] << 8) + fields[1] ) ?
https://github.com/python-hyper/hyperframe/blob/809ffe75b1fe35e7336355ea27b65f2cbbe234d5/hyperframe/frame.py#L112-L115

If you look at the struct above you'll notice fields[0] is 2 bytes long and fields[1] is 1 byte long adding up to 24 bits.


Better support for AMPI/Projections with multiple virtual ranks

Original issue: https://charm.cs.illinois.edu/redmine/issues/1551

Since the tracing framework has no idea about virtual AMPI ranks (specified with +vp), bracketed user events seem to be overlapping in time, leading to an overly nested display in Projections, as well as making it hard to determine which event belongs to which VP. Will need substantial changes in the tracing framework as well as Projections. Followup from Feature #1088.

Original date: 2017-05-08 23:14:33

Two WIP patches:

~~https://charm.cs.illinois.edu/gerrit/2503~~ https://github.com/UIUC-PPL/charm/commit/6581ba7cb55d30d1f7e33ba98c852508c11a1047 (Projections)
~~https://charm.cs.illinois.edu/gerrit/2504~~ https://github.com/UIUC-PPL/charm/commit/f3b3d2e2016fa67282dea698f998a112ad232d4b (Charm)

Original date: 2017-05-09 19:00:13

Related issues:
https://charm.cs.illinois.edu/redmine/issues/1005
https://charm.cs.illinois.edu/redmine/issues/1524


update regex to extract the domain

attempt #2

nvm, already fixed in https://github.com/l-mbert/dns-checker/commit/29ab9330782f1e9f66cb508966949b2b6b4c9b44

@l-mbert maybe you can check the regex anyway. Since it extracts the domain from the string directly.

The Regex isn't wrong, but my current solution also handle URLs like ftp://... (no clue why anyone would ever try it)
But thanks for the effort anyway!


Adapter tests

Added complete test coverage for all adapters based on their buildURL behavior. Also, minor correction to the README per ember-data source code assertion (see reference in commit comment) and added JetBrains files to .gitignore.

LGTM


[bug 1158473] Fix JSONDecodeError problems

The guess_language() method calls request.post() which sometimes gets
back a response from the Gengo API that's not JSON. This handles that
case and throws a different kind of error that has the content of what
actually got returned in it.
r?

Bah. Fixed. ^^^

travis happy r+

Thank you!


Implement CYK?

Hi,
I'm thinking of porting my CNF grammar data structure and CYK parser implementation in C# to JS.
Let me know if interested. You may want to check out the ATIS grammar example / test input, which is the less toy-ish one I've got (working)* so far -- ie, beyond Wikipedia's example, etc.
Cheers,
CJ
* (it parses OK 73% (72 out of 98) of the sample English sentences)

Hey @ysharplanguage sounds good! The algorithm will verify if given string belongs to the language defined by the grammar and produce an AST?

@mgechev yes, of course, and it yelds the parse forest (for ambiguous grammars) by having the matrix's cells filled with the one or more non-terminals that CYK can reduce to. Cf. the call site to the HashSet's UnionWith method in the C#. Just run the thing when you get a chance. Don't miss the notes.txt.
Cheers,
CJ

Please ignore all the so-called "CJ2" related code lines. Those are just my own experimental algo I'm toying with (it has only the CNF grammar data structure usage in common with the CYK classic).

Would love to get a PR with the implementation and the corresponding specs!

@mgechev  Cool, then :) Actually, I'm curious, too, to see what that'd give in JS.
We'll see :)

Lets close the issue for now until there are some updates.


chore(main): release 1.2.0

:robot: I have created a release beep boop
1.2.0 (2024-07-12)
Features

category completions via neorg-se (5fefab9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/benlubas/neorg-interim-ls/releases/tag/v1.2.0 :sunflower:


Fix the servor 500 error and show error message to client

create a bad_request function to handle errors during data processing
put the vectorstore setting , index loading, prompt template creating and answer fetching inside a `try/except block and returning the exception occured to the client
refactor the form submitting function to show an alert when an exception is raised from the backend

Great Job! thank you!


Removed author from package name

This PR is in reference to issue #109. I am honestly not sure if there are other dependencies that would be impacted by this package name change, so feel free to fill me in on any concerns before accepting this. Basically, this makes for a more generic name for those installing via NPM and then importing/requiring it in a module.

Unfortunately can't do that as there is already someone else using that name. I already looked into that and got too late for the name... so basically can't do it, hence why I added username at the end of the package.

If you search for angular-valiation on NPM, you will see the other package available with the name you suggested (which isn't mine and cannot be mine, no duplicate allowed).
Though the only thing that I did today was to actually publish it on NPM, so now it's available on these 3 platforms: NPM / Bower / NuGet.


Empty url issues with Google

I'm currently just testing dex, and I have some trouble to register/login with Google. The local connector works fine. Some logs first:
The overlord:
docker run --name dexoverlord --rm -it -p 5557:5557 quay.io/coreos/dex /opt/dex/bin/dex-overlord --db-url=postgres://postgres:...@<IP_ADDRESS>:5432/dex_db?sslmode=disable --key-secrets=... --log-debug=true
INFO: Performed 7 db migrations
INFO: Binding to <IP_ADDRESS>:5557...

The dex worker

docker run --name dexworker --rm -it -p 5556:5556 quay.io/coreos/dex /opt/dex/bin/dex-worker --db-url=postgres://postgres:...@<IP_ADDRESS>:5432/dex_db?sslmode=disable --key-secrets=... --email-cfg=/opt/dex/email/emailer.json --log-debug=true --listen http://<IP_ADDRESS>:5556
INFO: Debug logging enabled.
DEBUG: Debug logging enabled.
WARN: Running with no limit on: database idle connections
WARN: Running with no limit on: database open connections
INFO: Loaded IdP connector: id=local type=local
INFO: Loaded IdP connector: id=google type=oidc
INFO: Binding to <IP_ADDRESS>:5556...

Saved 2 connector config(s)

Registering my app
docker run -it whitedraft-dex /opt/dex/bin/dexctl -db-url=postgres://postgres:...@<IP_ADDRESS>:5432/dex_db?sslmode=disable new-client http://<IP_ADDRESS>:5555/callback
# Added new client:
<EMAIL_ADDRESS>DEX_APP_CLIENT_SECRET=...
DEX_APP_REDIRECTURL_0=http://<IP_ADDRESS>:5555/callback

Running the app
go run frontend/test.go  --client-id=$DEX_APP_CLIENT_ID --client-secret=$DEX_APP_CLIENT_SECRET --discovery=http://<IP_ADDRESS>:5556 --log-debug=true
INFO: Fetched provider config from http://<IP_ADDRESS>:5556: oidc.ProviderConfig{Issuer:"http://<IP_ADDRESS>:5556", AuthEndpoint:"http://<IP_ADDRESS>:5556/auth", TokenEndpoint:"http://<IP_ADDRESS>:5556/token", KeysEndpoint:"http://<IP_ADDRESS>:5556/keys", ResponseTypesSupported:[]string{"code"}, GrantTypesSupported:[]string{"authorization_code", "client_credentials"}, SubjectTypesSupported:[]string{"public"}, IDTokenAlgValuesSupported:[]string{"RS256"}, TokenEndpointAuthMethodsSupported:[]string{"client_secret_basic"}, ExpiresAt:time.Time{sec:63577872209, nsec:144462959, loc:(*time.Location)(0x90da40)}}
INFO: Binding to :5555...
2015-09-13 17:03:29.145204 I | http: Updating provider config: config=oidc.ProviderConfig{Issuer:"http://<IP_ADDRESS>:5556", AuthEndpoint:"http://<IP_ADDRESS>:5556/auth", TokenEndpoint:"http://<IP_ADDRESS>:5556/token", KeysEndpoint:"http://<IP_ADDRESS>:5556/keys", ResponseTypesSupported:[]string{"code"}, GrantTypesSupported:[]string{"authorization_code", "client_credentials"}, SubjectTypesSupported:[]string{"public"}, IDTokenAlgValuesSupported:[]string{"RS256"}, TokenEndpointAuthMethodsSupported:[]string{"client_secret_basic"}, ExpiresAt:time.Time{sec:63577872209, nsec:145143731, loc:(*time.Location)(0x90da40)}}

Content of wget http://localhost:5556/.well-known/openid-configuration (what test.go printed)
{
  "issuer": "http://<IP_ADDRESS>:5556",
  "authorization_endpoint": "http://<IP_ADDRESS>:5556/auth",
  "token_endpoint": "http://<IP_ADDRESS>:5556/token",
  "jwks_uri": "http://<IP_ADDRESS>:5556/keys",
  "response_types_supported": ["code"],
  "grant_types_supported": ["authorization_code", "client_credentials"],
  "subject_types_supported": ["public"],
  "id_token_alg_values_supported": ["RS256"],
  "token_endpoint_auth_methods_supported": ["client_secret_basic"]
}

So the issue is that the dex worker throws an error when I try to login/register with a Google account
ERROR: Connector.LoginURL failed: url is empty

The connector oidc for Google never gets updated. Is the app supposed to fetched all oidc configurations? Or is the dex worker supposed to?
Or is something else wrong?

Hey @neumino - dex workers don't (yet!) dynamically pick up new configs, so you have to restart your workers if you change the configs. Let me know if that sorts you

Hey @bobbyrullo - I just tried to restart the worker, but still have the same issue.
It's not a browser cache issue too. Just tried in incognito.
Any idea what I could be missing?

neumino: I know this is lame, but you could inspect the database to take a look at the connector configs. I'm guessing that they didnt' get set correctly.

Hum, I have two entries in connector_config
dex_db=# SELECT * FROM connector_config;
   id   | type  |                                                                                config

--------+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------
 local  | local | {"id":"local","passwordInfos":null}
 google | oidc  | {"id":"google","issuerURL":"https://accounts.google.com","clientID":"...","clientSecret":"
...","trustedEmailProvider":true}

Err tracking down the bug, I eventually found out the problem. I wasn't passing the --connectors argument to the worker. It seems to work fine now.
Thanks!

@neumino - that flag should only be used if you are doing --no-db, and if you are using --no-db, there's no database and no overlord.

Never mind, it actually works fine if I don't use a container. Running directly the worker from the source works fine (passing --connectors is indeed irrelevant)

Running on kubernetes with the provided config (contrib/k8s), I'm pretty sure a TLS error is preventing connections to https://accounts.google.com. After mounting a hostPath: /etc/ca-certificates Volume into the container (at /etc/ca-certificates), the worker container works properly again.

Haha, which just got me a bit further until I had to do the same for the overlord container. And enable user registration. I'll probably end up submitting a PR to update the k8s config files so that hopefully a little more works out of the box. Perhaps it'll help somebody else. :-)


feat: add placeholder pages

This pull request will add an empty placeholder page to all sites we need.
This will be the basis for the pages and template. It also has the nice sideeffect that the GatsbyLink will not print errors into the console, when pages do not exists to a link.

cool 👍. guess we will also need impressum and datenschutz pages at some point. we could add those placeholders too?

Yep, will add 💪


ADNI_Brain_Visual_Transformer_47306725

Pull Request: ADNI_Brain_Visual_Transformer_47306725 Readme
Summary:
This pull request aims to enhance the README documentation for the "ADNI_Brain_Visual_Transformer_47306725" project. The improvements include providing a more structured overview of the project, clarifying the Vision Transformer architecture, detailing the dataset, and addressing the challenges faced during model training. Additionally, the pull request incorporates suggestions for improving clarity and readability.
Additional Details:

The revised README is organized into clear sections, such as "Overview," "Vision Transformers," "Setting Parameters," "Build and Train the Model," and "Conclusion."

Detailed explanations have been added to sections like "Architecture of Vision Transformer," providing insights into the alterations made to the original Vision Transformer and how the model functions.

The "Training and Testing Process" section has been expanded to provide a comprehensive understanding of the experimentation process with different hyperparameters and the observed results from multiple models.

Suggestions for potential enhancements, such as considering a larger dataset or leveraging pre-trained models, have been included in the "Conclusion" section to guide future improvements.

Name: Ritika Rana
Student ID: 47306725

i didn't get any feedback till now

Hi Ritika, this PR was created quite late (last week), even though I can see commits were on time. Tutor will look at this ASAP, but there may be penalties for late PR submission.

This is an initial inspection, no action is required at this point
Difficulty: Hard
Readme:

Excellent

Commit messages:

Commit messages are too simple and mostly the same commit messages, needs more details
All commits are finished within two days
there are three screenshot of google colab commit logs

Code:

Uses Vision transformer
Code is submitted in one jupyter notebook
Code comments are okay
Good design

Functionality/Performance:

No patient-level split
Model is overfitting
Test ACC is 64.65% (higher than val ACC about 55%)
Applied data augmentation

General comments:
PR is in the main branch

Solves the problem appropriately although performance is poor
No patient-level split so the model is overfitting.
The code was submitted in one jupyter notebook which does meet the requirement. You will need to keep e.g. model, train, test, data preprocessing in separate files.
The validation loss is not decreasing and sometimes even increasing from the provided three models. There could be bugs in the code which lead the model not trained properly.
Another part needs to be pointed out is that your val ACC is lower than your test ACC which is unusual.
Also, why is your test set so small, we have provide a test set with 4500 images and your confusion matrix only show you used about 150 images.

Marking
Commits on time but late PR -4
Good Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation, only as a notebook -2
Good spacing and comments
Header blocks
Recognition Problem
Solves problem, but has training/validation loss irregularities -1
Driver Script not present -1
File structure not present -2
Shows Usage & Demo & Visualisation & Data usage, didn't use all test images -1
Module present
Commenting
No Data leakage, no patient level split -1
Difficulty: Hard
Commit Log
Meaningful commit messages sometimes -1
Progressive commits used over 2 days -1
Documentation
ReadMe acceptable/good, no usage -1
Model/technical explanation minimal -1
Good Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in InCorrect Branch) -2
Feedback required, update PR to correct branch, move your README into folder and restore repo README -2
Request Description good

Feedback marks possible +2 if the requested changes are made (see above).

Have some feedback attempts but was unsuccessful. So no feedback marks granted.


RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. ...: 1333

Hi @andy-yun ,
I meet this error (the same with #33):
Traceback (most recent call last):
File "train.py", line 385, in
main()
File "train.py", line 160, in main
nsamples = train(epoch)
File "train.py", line 229, in train
for batch_idx, (data, target) in enumerate(train_loader):
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 623, in next
return self._process_next_batch(batch)
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 658, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
RuntimeError: Traceback (most recent call last):
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 138, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 232, in default_collate
return [default_collate(samples) for samples in transposed]
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 232, in
return [default_collate(samples) for samples in transposed]
File "/home/kieumy/anaconda3/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 209, in default_collate
return torch.stack(batch, 0, out=out)
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 480 and 416 in dimension 2 at /pytorch/aten/src/TH/generic/THTensorMoreMath.cpp:1333
I think that the problem cause the get_difference_scale() method, because when I turn of it by setting shape = (img.width,img.height), the error has gone.
I set my image with and height is (544 x 480) because original size is 640x512 and w don't want to scale too small (416x416) so I used 544 x 480 (it still divides for 32)
Do you have any recommendation to fix this error?
Thanks & best regards.

@mrkieumy You can refer the same issue at https://github.com/marvis/pytorch-yolo2/issues/89
Here's the reason.
https://medium.com/@yvanscher/pytorch-tip-yielding-image-sizes-6a776eb4115b

Thanks @andy-yun. I set 64 to self.batch_size, it works.
Another problem come in is that with the mAP score. I don't know what am I wrong:
to calculate the mAP score I run python valid.py and then python scripts/my_eval.py, but the result is 0.0 everything like this:
...
Saving cached annotations to output/annotations_cache/annots.pkl
AP for person     = 0.0001 with 2245 views
Mean AP = 0.0001 with total 2245 views
           Results:
------------------------------
person          0.000
==============================
 Average        0.000

Note that I have only 1 class (person), and this file weight I tested 40% mAP on darknet.
I think the problem is not the annotation, because when I print annotation, it has all annotations.
Attached is my detection result file. Do you have any idea to recommend for me?
comp4_det_test_person.txt
Thank you very much @andy-yun
Best regards.

@mickolka yup. set batch_size=1 is recommended for test environment.
How many GPUs do you use? I wonder the different image sets are used together.

Hi @andy-yun , I have only 1 GPU, for test step the batchsize is always 2 images, when I set 1, it's error. But btw, for training, we don't want to set batch_size=1, right? Because we want to train with as large batchsize as possible. But my GPU on can train V3 with batchsize = 8 is maximum (GTX 1080).
Now, I uncomment the line get_different_scale(), only train with the constant shape (544,480). But the result will be bad comparing to get difference scale. How can I get difference scale without set batchsize=1?
Thanks.

Hi @mrkieumy  Would you change the following 64 to self.batch_size ?
57th line of dataset.py:
if index % 64 == 0:
-->
if index % (self.batch_size * 10) == 0:
After checking the above code, please report me. thanks.

Hi @andy-yun ,
I changed everything as the same you said but it's still error. I also try the crop=True with those sizes but it still errors the same.
Do you know where is the problem? How can you train by the difference_scale without error?
I don't know what I understand correctly is that every 10*batch_size the shape will be random in the get_differnece_scale function (but the same width and height), and the data will load images with that shape. It supposed to be the same shape within the batch_size, in contrast, it raises the error difference dimension in the batch_size.
How to set every batch have the same shape?
Thanks.

@mrkieumy I don't know what the exact problem is. But, in my opinion, the codes are well working with other people thus I am doubting your dataset and environment. Cheers.

@andy-yun ,
Thanks for your reply.
After printed the index I saw that the dataloader loaded images with shuffle so the index not in order. I recognize that self.seen increases in order, so I changed:
if index % (self.batch_size10) == 0:
-->
if self.seen % (self.batch_size10) ==0:
It has been worked until now for 20 epochs.
I hope that was the final case to solve this problem. I don't know it correct or not. I'll let you know if any other thing.
On other thing is that: in your repo, you should replace the line 425 and 427 in darknet.py:
save_fc(fc, model) --> save_fc(fp,model). Because fc was not declared, it must be fp (file).
because yolov3 doesn't have fully connected layer so nobody used it. But in my case, I add more some fully connected.
The new problem is that I can not save weight file of fully connected until now because it said that the fc doesn't have bias and weight properties in save_fc function in cfg.py file. I have been saved model first.
The last is that, can you help me to explain the #59
Thanks.

Thanks @mrkieumy I will update codes now.

my code has modified,but the question already still exist.
Traceback (most recent call last):
File "train.py", line 379, in
main()
File "train.py", line 156, in main
nsamples = train(epoch)
File "train.py", line 222, in train
for batch_idx, (data, target) in enumerate(train_loader):
File "/usr/local/lib/python2.7/dist-packages/torch/utils/data/dataloader.py", line 336, in next
return self._process_next_batch(batch)
File "/usr/local/lib/python2.7/dist-packages/torch/utils/data/dataloader.py", line 357, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
RuntimeError: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/torch/utils/data/dataloader.py", line 106, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/usr/local/lib/python2.7/dist-packages/torch/utils/data/dataloader.py", line 187, in default_collate
return [default_collate(samples) for samples in transposed]
File "/usr/local/lib/python2.7/dist-packages/torch/utils/data/dataloader.py", line 164, in default_collate
return torch.stack(batch, 0, out=out)
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 416 and 480 in dimension 2 at /pytorch/aten/src/TH/generic/THTensorMath.cpp:3616
I train voc dataset,the size of image is 416*416, batch_size = 8, the number of GPU is 1.
Do you have any recommendation to fix this error?

I updated the code dataset.py and train.py.
Try them.

I have same problem and It seems I have downloaded the updated source code.
can you help me with this problem??
I'm having problem after epoch 15

I met the same problem after epoch 15. (pytorch1.0, python 3.6.3, my own data)
through reading previous problems and solutions, I guess the problem is in the dataset.py line53:
def get_different_scale(self):
if self.seen < 4000self.batch_size:
wh = 1332                          # 416
elif self.seen < 8000*self.batch_size:
wh = (random.randint(0,3) + 13)32  # 416, 480
elif self.seen < 12000self.batch_size:
wh = (random.randint(0,5) + 12)*32  # 384, ..., 544
.....
so maybe we get different shape in the same batch(dataset.py line 14):
def custom_collate(batch):
data = torch.stack([item[0] for item in batch], 0)
[X,X,416,X]  and [X,X,317,X]
although shape transfer happended after self.seen < xx*self.batch_size,  maybe the errror  due to multi-gpu?
I just have this guess， but I don't know how to solve it, I found there are many people have same question, maybe the problem is important, looking forward to your reply~

in my case, the problem disappeared when I didn't use savemodel() function. I suppose that the problem appears after cur_model.save_weights(). also in my case i have train dataset that len(train_dataset)%batch_size = 0


Malformed IAM principal does not get caught

CloudFormation Lint Version
cfn-lint 0.64.1
What operating system are you using?
Mac
Describe the bug
Received no warnings from cfn-lint. Deploying the template gives this error:
Invalid principal in policy (Service: Amazon S3; Status Code: 400; Error Code: MalformedPolicy

The template YAML snippet from the policy:
Principal:
  AWS: !Sub "arn:aws:iam::${BetaAccountId}/role/cep-publish-role"

Which should be:
Principal:
  AWS: !Sub "arn:aws:iam::${BetaAccountId}:role/cep-publish-role"

Expected behavior
Expected cfn-lint to fail with a warning about a malformed principal.
Reproduction template
Parameters:

  BetaAccountId:
    Type: String
    Description: AccountId for the beta account, which pushes builds to the PublishBuildBucket

Resources:

  PublishBuildBucket:
    Type: AWS::S3::Bucket

  PublishBuildBucketPolicy:
    Type: AWS::S3::BucketPolicy
    Properties:
      Bucket: !Ref PublishBuildBucket
      PolicyDocument:
        Version: 2012-10-17
        Statement:
          - Sid: BetaAccountPut
            Effect: Allow
            Principal:
              AWS: !Sub "arn:aws:iam::${BetaAccountId}/role/cep-publish-role"
            Action: s3:PutObject
            Resource: !Ref PublishBuildBucket

related: https://github.com/aws-cloudformation/cfn-lint/issues/1985
Since all resource types have different ARN syntax formats, the simplest general ARN check I can think of would be ensuring at least 5 colons:
https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax
or more thoroughly generally checking everything non-resource type specific: arn:partition:service:region:account-id:

Potentially noisy once you're substituting like that though. No way for cfn-lint to definitively know whether references like that contain colons

Possible extension of https://github.com/aws-cloudformation/cfn-lint/blob/main/src/cfnlint/rules/resources/iam/Policy.py since we are talking about IAM policy syntax it is tricky (with Cfn functions). If it is a sub or straight string we could check some of the valid options against it.
Some items that could be possible:
[ ] 5 colons
[ ] if IAM is the service we could check the first slash value  or if its root
[ ] validate no region is provided

v1 gets us closer to this level of validation but only if something like
Parameters:

  BetaAccountId:
    Type: String
    Description: AccountId for the beta account, which pushes builds to the PublishBuildBucket
    Default: '123456789012'

or AllowedValues is used.

This is now caught in v1.  Going to close this and we can add more validation as needed.


Hide underline for public profile pic link

The underline was showing a single character after the image on hover. This removes the underline. See Image:

P.S. - I'm a little OCD...

haha thanks @vmitchell85!


Godot HTML5 games have a really long time to first interaction

Godot version:
Varies (see below)
OS/device including version:
Computer: Linux Manjaro, Intel HD Kaby Lake (UHD Graphics 620), Brave browser (so Chromium-based)
Mobile: LG K61, Chrome
both tested on the same, an LTE (!) connection
Issue description:
Godot HTML5 games have a very long time to first interaction (what is called TTI in web development jargon)
As I couldn't inject any sort of a time() call into already released projects, I used a stopwatch on my mobile to time the computer and a stopwatch website  to time the mobile.

Tanks of Freedom
Computer: ~31 seconds
Mobile: 1 min 31 seconds
(I counted the time to the start of the in-game splash screen, not to main menu)

Faless's textedit demo
Computer: ~10 seconds
Mobile: ~34 seconds

Steps to reproduce:
Follow the links, get a stopwatch ready...
Minimal reproduction project:
Faless's textedit demo probably qualifies? Note that it uses GLES2, which is recommended for web/mobile, AND is just two controls slapped on...
cc'ing @Faless

This is probably due to the large WebAssembly payload. I doubt much can be done about it unless you specifically build an HTML5 export template that disables all the modules you don't need.

The time I counted is both the time it takes for anything vaguely relevant to show up (the loading spinner) and the loading bar/loading text depending on Godot version used. I am not too sure what the difference between the two is (is one the initial payload and the other loading assets/pck?)
BTW the spinner is fairly slow to spin on mobile, leading to impression that the page hanged up.

This is probably due to the large WebAssembly payload. I doubt much can be done about it unless you specifically build an HTML5 export template that disables all the modules you don't need.

Would it be possible to get a "2D" switch in the export window, that would disable 3D modules? I suspect this is unnecessarily bloating many 2D projects (which I expect the majority of web exports to be)
A more involved fix would be to move away from Emscripten in favor of e.g. https://github.com/schellingb/ZillaLib (Zlib license ought to be compatible), except we'd need to add fake filesystem support to it (I believe we are not using any more Emscripten features such as threads...?)

Just for reference:
GDScript online: 7 seconds on computer, 20 seconds on mobile
Looks like gzip compression does indeed shave off a bit.

Would it be possible to get a "2D" switch in the export window, that would disable 3D modules? I suspect this is unnecessarily bloating many 2D projects (which I expect the majority of web exports to be)

This is feasible, but we'd have to compile 2D-only export templates, which means export template bundles would be significantly larger (600-700 MB).

What happened to the idea of being able to download only those export templates that you are interested in (e.g. only Windows, only web)?

@Zireael07 This was requested in https://github.com/godotengine/godot-proposals/issues/647, but keep in mind adding more export templates will require designing a more complex GUI for that feature.

I expect web is the platform that needs 3D excluded the most, desktop doesn't suffer visibly from the added bloat. And putting both versions in the same tpz would be fine, too.

Would it be possible for Godot to automatically cull modules during export that aren't used?

@mindinsomnia That would require a compiler toolchain to be present, in addition to the ability to compile to the target platform on the OS the editor is currently running on. Unfortunately, both of these are far to be guaranteed, so I don't think it's an idea worth pursuing.

Most notably, itch.io doesn't support this as they let the engine itself do it (like Unity). However, this approach is less efficient.

Could Godot then handle it somehow? I imagine gzip doesn't do much for pck, which is already zipped, but it could help with the wasm payload...

I imagine gzip doesn't do much for pck, which is already zipped

gzip or Brotli will help significantly for most PCK files, as a PCK isn't compressed. (PCK files can contain compressed data, but they can also contain uncompressed data.)

Could Godot then handle it somehow?

This was requested here already: https://github.com/godotengine/godot/issues/20996

One more thing I just realized: most Emscripten projects use a loading bar where Godot has a spinner (because the latter Loading... or loading bar is clearly Godot's)
Examples: https://marukrap.github.io/RoguelikeTutorial2020/Demos/Part10.html
https://personal-1094.web.app/gemrb.html (this is Baldur's Gate 2 running in GemRB on Emscripten - I haven't timed the loading but it's fairly fast for such a large game)
A loading bar would make it clearer to the user that the page hasn't hanged...

@Zireael07 Godot uses both a loading bar and spinner depending on the loading state. When downloading the PCK, a loading bar is displayed. When initializing the engine, a spinner is displayed.
We can only display a loading bar if we can know the loading percentage.

@Calinou: As the linked sites show, Emscripten projects show a loading bar when initializing the project. (It literally shows 'initializing' in marukrap's demo) It seems to work both for toy demos and for big projects.

I'll chime in with a couple of remarks:

The Tank of Freedom version linked above do not use WASM, but ASM.js (godot 2.1?), which produces slower, and bigger output size (more than double).
Baldur's Gate 2 is a AAA game from the year 2000 (total size is <90 MiB, although still more than tank of freedom, agreed). And the code base of the 2 engines are clearly not comparable.
@Zireael07 Can you try comparing it with this version?. A regular 3.2 WASM build (but with LTO enabled), and served with compression, although my server has a 100 MiB/s connection, so it might be a bottleneck for you).

Further improvements might include fixes to properly support streaming instantiation of WASM in browsers that supports it (emscripten do it by default, but our custom code that shows the loading bar overrides it for now).

@Faless: The linked version above takes around 11s from click on the link to splash screen (computer).
Haven't tried mobile yet, but I expect it'll be similar to the results from the text edit demo. 10s on computer and 30s on mobile seem to be the lower bound, and neither looks good for a prospective Godot user who wants to target HTML5 (Tanks of Freedom is a small game, nowhere close to an enormous game like Baldur's Gate 2 in terms of hours of content inside or assets...)

Can you try comparing it with this version?. A regular 3.2 WASM build (but with LTO enabled), and served with compression, although my server has a 100 MiB/s connection, so it might be a bottleneck for you).

For me this version loads in ~4 seconds on desktop (Linux, Firefox Nightly) and ~6 seconds on mobile (Android, Firefox Beta) (counting from entering the URL, so includes download time). That's pretty good.

Haven't tried mobile yet, but I expect it'll be similar to the results from the text edit demo. 10s on computer and 30s on mobile seem to be the lower bound,

I'm seeing ~11 sec loading time on my phone (Xiaomi Mi A3, Firefox).

Tanks of Freedom is a small game, nowhere close to an enormous game like Baldur's Gate 2 in terms of hours of content inside or assets...

Yeah, but this has very little to do with initial load times, most of the time is due to WASM loading/instantiation (beside the download of the assets, which is already done in parallel).

Hm, you guys are testing with cache cleared? I do (to make sure we're not seeing fast times due to reusing cache) - if you do too, maybe it's a matter of the browser (Chrome vs Firefox)

Hm, you guys are testing with cache cleared?

Yes, and the cache won't affect timing beside the download time unless you are on a poor connection (12 MiB engine + 12 MiB assets = 24 MiB, but the engine is served compressed < 4 MiB so it's a total of 16 MiB which is ~7 seconds on a poor DSL connection and <2 sec on a regular 100 Mib/s). (I hope I did my maths correctly).
I gave Chrome a try, I get the same result on Linux (actually, slightly better then FF), While on mobile it's a bit slower (~15 secs).
I guess the difference is in phone/PC performances?
Anyway, would be nice if you could try that version on mobile too so we have actual data.
Can you also provide the specs of your PC? And maybe try with FF or Chrome? (not sure which version of chromium brave uses, and if they have some custom patches that might affect performances).

Hi, thanks for replacing XHR with Fetch. But it also breaks my code to preload gzipped file using this script
https://gist.github.com/natrim/1a19f4b7668e0474897f3f28171f3b33
Is there a way to get this to work with Fetch?

@slabgames Can't you rely on the web server serving precompressed files instead?


WIP - Subctl gather - add historical connection data

WIP

Talking to @maayanf24, closing for now and can re-open when it's relevant.


tempFile is not deleted after close

Hi, i'm experimenting with mapdb-3.0.8 and tried tempFileDB()
but one problem is that the file is created with a timestamp, therefore the
file.delete() that is executed right after, won't clean up previous tempFiles.
And then the deleteOnExit() has no effect, because the file is still in use,
even after calling db.close().
My snippet:
def db = DBMaker
  .tempFileDB()
  .fileMmapEnable()
  .make()
addShutdownHook {
  db.close()
}

I also tried to use closeOnJvmShutdownWeakReference and closeOnJvmShutdown instead of the groovy addShutdownHook to no avail.
And fileDeleteAfterClose in combination with fileDB.
Any tip what might be the problem, why the datafile is still locked for changes? I can deleted it manually though, but a new File(...).delete() will return false
--
Windows 10, Groovy 2.5.4

I had the same problem

Me too


Change the DifferentialExpression task schema to support input required for multiple-sample support

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-433
Link to staging deployment URL
N/A
Links to any Pull Requests related to this
N/A
Anything else the reviewers should know about the changes here
Note the two types of special values for compareWith:
(a) rest is all the cells in the same group that is not in cellSet. For example, if cellSet is scratchpad-0 and compareWith is rest, the comparison is made between scratchpad-0 and all other scratchpad clusters (that are also in basis).
(b) background is the direct complement of all cells in cellSet. For example, if cellSet is scratchpad-0 and compareWith is background, the comparison is made between scratchpad-0 and all other cells in the experiment (that are also in basis).
Changes
Code changes
Added an extra field called basis. This should be the cell set that is considered to be the basis for the differential expression. Only cells within basis should be used in the DE calculation.
The names cellSet and compareWith are unchanged. I think changing the names at this point would create a lot more problems than it would solve, and cellSet is not necessarily a bad name still -- metadata is technically a form of cell set.
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[x] Tested locally with Inframock
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[x] Relevant Github READMEs updated
[x] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

I am finding it quite hard to visualise which of the fields would correspond to what in the wireframes -- can you put a slide in the mockups here: https://docs.google.com/presentation/d/1-6mtMrZF14GRAYtLjh3F7FmhyE4o5WRpwyxt5gISGDo/edit#slide=id.gaa794980ac_0_4 noting which entry field in the differential expression tool corresponds to what (eg, menu 1 selection is basic, Menu 2 selection is compareWith), etc. just to make it clear?

I am finding it quite hard to visualise which of the fields would correspond to what in the wireframes -- can you put a slide in the mockups here: https://docs.google.com/presentation/d/1-6mtMrZF14GRAYtLjh3F7FmhyE4o5WRpwyxt5gISGDo/edit#slide=id.gaa794980ac_0_4 noting which entry field in the differential expression tool corresponds to what (eg, menu 1 selection is basic, Menu 2 selection is compareWith), etc. just to make it clear?

Added comments. Essentially, first box is cellSet, second box is compareWith, third is basis.
It is called basis because the first step is to discard all cells not in basis. That is effectively what the "within the following cell set" dropdown does -- we are restricting the cells that we are interested in depending on what the value there is.

Added comments. Essentially, first box is cellSet, second box is compareWith, third is basis.
It is called basis because the first step is to discard all cells not in basis. That is effectively what the "within the following cell set" dropdown does -- we are restricting the cells that we are interested in depending on what the value there is.


pkg/cover: symbolization

Is your feature request related to a problem? Please describe.
First /cover request with lazy symbolization - 19s.
Time to get updated numbers (after 5 seconds) - 17s.
RAM consumption 40G.
Describe the solution you'd like
Full symbolization costs 50 seconds and is comparable with syzkaller startup time (with QEMU).
Symbolizing all callbacks before first /cover call we can reduce its generation time to 3 seconds and memory consumption to 0G.
There are 2 potential solutions:

Symbolize everything in background on syzkaller start.
Symbolize all callbacks after/during the kernel build process and use it as a build artefact. GZIPped data will cost ~30M.

Second approach looks better but will cost more.

@dvyukov proposed third option. Let's remove addr2line dependency and parse DWARF data.
His prototype:
package main

import (
	"debug/dwarf"
	"debug/elf"
	"fmt"
	"io"
	"os"
	"bufio"
	"time"
	"strconv"
)

func main() {
	start := time.Now()
	pcs := make(map[uint64]struct{})
	for s := bufio.NewScanner(os.Stdin); s.Scan(); {
		n, err := strconv.ParseUint(s.Text(), 16, 64)
		if err != nil {
			panic(err)
		}
		pcs[n] = struct{}{}
	}
	fmt.Printf("read %v pcs in %v\n", len(pcs), time.Since(start))

	f, err := elf.Open(os.Args[1])
	if err != nil {
		panic(err)
	}
	data, err := f.DWARF()
	if err != nil {
		panic(err)
	}
	matched, total := 0, 0
	for r := data.Reader(); ; {
		ent, err := r.Next()
		if err != nil {
			panic(err)
		}
		if ent == nil {
			break
		}
		if ent.Tag != dwarf.TagCompileUnit {
			panic(fmt.Errorf("found unexpected tag %v on top level", ent.Tag))
		}
		lr, err := data.LineReader(ent)
		if err != nil {
			panic(err)
		}
		var entry dwarf.LineEntry
		for {
			if err := lr.Next(&entry); err != nil {
				if err == io.EOF {
					break
				}
				panic(err)
			}
			total++
			if _, ok := pcs[entry.Address]; !ok {
				continue
			}
			matched++
			//fmt.Printf("pc %x %v:%v:%v\n", entry.Address, entry.File.Name, entry.Line, entry.Column)
		}
		r.SkipChildren()
	}
	fmt.Printf("total %v, matched %v\n", total, matched)
}

His prototype:

It turns out to be not that easy. LineReader has info about inlined frames, but only file:line, not the function name. And we need inline function names in both pkg/report and pkg/cover.
Inlined function names has something to do with TagInlinedSubroutine, but I have not figure out how exactly these tags should be processed. llvm-addr2line code can be used as a reference source.

File:line to function name looks doable having the source code itself.
Any chances to get the StartLine:StartPos - EndLine:EndPos?

LineEntry has Column field:
<EMAIL_ADDRESS>


Updates to Jekyll container

This PR contains a few updates to the Jekyll container

If there's a Gemfile, do not install Jekyll by default. Doing that would automatically install the latest version, which may or may not be what the user wants. Instead, run bundle install in the post-create step. If there's no Gemfile, then installs jekyll in the post-create step. This should be a compromise for #447
Adding live reload server port to the list of ports (for jekyll serve -l)
Updated default time zone to a more universal Etc/UTC

@cmendible could you review?

Thanks @cmendible for the review! Good callout about the docs. I updated the README explaining the behavior.

LGTM


Tech Debt: refactor Review page and group history

The initial iteration of the Review page and group history focused on getting it all working well. A followup iteration could focus on generalizing the group history to be reusable. There are already a few cases where this will probably be needed soon.
Also the Review page was never designed to add new form elements and recently doing so took some "creative" work. It should be refactored to allow easily adding new custom form elements.

@Abi-Nada FYI - I added this to the Code re-org epic

Placing this ticket in the "Ready for QA" state to remind to test it before releasing to prod.
I have a few test forms with a "kitchen sink" of the different element types if it helps.


If instance doesn't support sharing, the link is broken

I tried the (very neat!) widget on the documentation site but ran into a problem. It tells me that the instance I'm on (https://dice.camp) doesn't support sharing, which is fine. However, the link provided does not work.
Line 76 of script.js has the slashes in the wrong direction:
supportNoteLink.href = `https:\\${domainInput.value}`;

So, in the rendered link, that becomes https:\domain.name/username, which when you click on it is interpreted as https://stefanbohacek.com/domain.name/username.
Also, as a side note, when I first tried it by entering just the base instance URL (dice.camp), there was no response. No UI change to let me know it was working in the background or something, so I thought maybe I needed to add my username as well. That's how I ended up in the situation above with the "does not support sharing" message. Not sure if you want to catch and strip off anything after the domain name when checking.

Ah, thank you so much for catching that, it's fixed now!


Enums were all nullable - 2.11.13

Describe the bug
when an enum is defined as required and nullable is false. it is still generating nullable variable
To Reproduce
	"type": {
		"default": "EnumType",
		"nullable": false,
		"$ref": "#/components/schemas/EnumType"
	},
----------------------------
"required": [
	"type",
	"lastUpdateOn",
	"isDeleted"
]
---------------------------
	"EnumType": {
		"type": "string",
		"enum": [
			"Type1",
			"Type2"
		]
	},

Expected behaviour
Enum that defined required is true or nullable is false must be not nullable
Library version used:
^2.11.13

Hi @anandsubbu007 , indeed! Sorry for this bug))) Will be fixed soon!

Hi @anandsubbu007 , should be fixed in 2.12.1


Client testing

@isaacabraham I have applied these changes to the server testing recipe as well, and solved merge conflicts with the recipes branch so it is probably ready to merge now if you have no more issues?


Merging final changes (after publication of paper)

As the paper progressed, many cleaning and updates to experiments and examples were made. Merging back into MSR repo for posterity.

@microsoft-github-policy-service agree


Please remove

Please fix peerDependencies since it is failing grunt 1.0.0
Update
"peerDependencies": {
"grunt": ">=0.4.x"
},
to
"peerDependencies": {
"grunt": ">=0.4.0"
},
@dignifiedquire or @vladikoff  Please could you do it since I doint want to sign the cla.

@paladox this is already done, having the  "grunt": ">=0.4.x", is good enough.
In your project you are using<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>which still had "grunt": "0.4.x"

See 0.12.1 version https://github.com/karma-runner/grunt-karma/blob/v0.12.1/package.json#L47 and compare it with master

@paladox see http://gruntjs.com/blog/2016-02-11-grunt-1.0.0-rc1-released#peer-dependencies

Thanks ive asked for this to be released as a 0.12.2 update.

Actually see https://github.com/gruntjs/grunt-contrib-watch/commit/1f198f6ec849cc69ac74b24af9362592dd2d610a

@paladox Yeah you can both remove and keep it. Some developers prefer to keep this setting.

@vladikoff do you suggest to keep it, how would we support 1.0 of grunt.

Please

@vladikoff do you suggest to keep it, how would we support 1.0 of grunt.

Plugins that will have >=0.4.0 as a peerDep will just work:

(rc1 is currently failing but that's npm's fault)

Oh ok thanks. So its grunt that the problem. Should we file a task with them.

Ive reported it here https://github.com/gruntjs/grunt/issues/1488

New version released which should fix this

Thanks.


How do you give it the output filename you want?

I looked at the example.py and i still have no idea how im supposed to give it the CLI options in python. i was able to figure out start and endtime, but im completely lost on how i tell it what the resulting filename should be - i tried specs = str(start) + " " + str(end) + " " + str(file) which didnt work, even though specs = str(start) + " " + str(end) worked while just using the default name of clip1.mp3 ...?
Oh, and using the default specs in example.py didnt work either, i didnt get any output that way... Which is kinda obvious, as the example.py uses
specs = '''
3.5     17      Winter is coming.
26      32.4    Summer child.
40      58.9    Hodor. Hodor. Hodor.
'''
and those arent valid windows file names (containing full stops)
Using Python 3.8 and audioclipextractor.py 0.3.0

As of right now, it only supports clip or the text as text itself. It's should be fairly easy to add that functionality though.
Off the top of my head we could add another CLI option:
--prefix CoolClip where the output would become CoolClip01.mp3 instead of clip01.mp3
We could also add it as part of the specs like this:
[Intro] 1.1 12.9 Some cool intro
[Joke] 15 21 Funny joke...
[WeirdComment] 34.6 41.2 Weird comment...

where it'd output 3 files, Intro.mp3, Joke.mp3 and WeirdComment.mp3.
Let me know if that'd be useful to you.


Resample is ~100x slower than Pandas resample; Speed is related to resample period (unlike Pandas)

What happened:
I have a 10 minute frequency time series. When I resample to hourly it is slow. When I resample to daily it is fast. If I drop to Pandas and resample the speeds are ~100x faster than xarray, and also the same time regardless of the resample period. I've posted this to SO: https://stackoverflow.com/questions/64282393/
What you expected to happen:
I expect xarray to be within an order of magnitude speed of Pandas, not > 2 orders of magnitude slower.
Minimal Complete Verifiable Example:
import numpy as np
import xarray as xr
import pandas as pd
import time

size = 10000
times = pd.date_range('2000-01-01', periods=size, freq="10Min")
da = xr.DataArray(data = np.random.random(size), dims = ['time'], coords = {'time': times}, name='foo')

start = time.time()
da_ = da.resample({'time':"1H"}).mean()
print("1H", 'xr', str(time.time() - start))

start = time.time()
da_ = da.to_dataframe().resample("1H").mean()
print("1H", 'pd', str(time.time() - start), "\n")

start = time.time()
da_ = da.resample({'time':"1D"}).mean()
print("1D", 'xr', str(time.time() - start))

start = time.time()
da_ = da.to_dataframe().resample("1D").mean()
print("1D", 'pd', str(time.time() - start))

Output/timings
: 1H xr 0.1761918067932129
: 1H pd 0.0021948814392089844
:
: 1D xr 0.00958395004272461
: 1D pd 0.001646280288696289

Anything else we need to know?:
 This is interesting. If I comment out .mean() I get
1H xr 0.003030538558959961
1H pd 0.0014064311981201172

1D xr 0.0026717185974121094
1D pd 0.0013244152069091797

i.e. we are 3x slower just on factorizing.

"performance" is a good tag. My actual use case is a dataset with 500,000 timestamps and 15 variables (10 minute weather station for a decade).
In this case, pandas takes 0.03 seconds, and xarray takes 200 seconds. 4 orders of magnitude. Should I change the title to reflect the larger difference in performance?  Here is that MWE:
import numpy as np
import xarray as xr
import pandas as pd
import time

size = 500000
times = pd.date_range('2000-01-01', periods=size, freq="10Min")
ds = xr.Dataset({
    'foo': xr.DataArray(
        data   = np.random.random(size),
        dims   = ['time'],
        coords = {'time': times}
    )})
for v in 'abcdefghijelm':
    ds[v] = (('time'), np.random.random(size))

start = time.time()
ds_r = ds.resample({'time':"1H"}).mean()
print('xr', str(time.time() - start))

start = time.time()
ds_r = ds.to_dataframe().resample("1H").mean()
print('pd', str(time.time() - start))

Result:
xr<PHONE_NUMBER>840088
pd 0.03381085395812988

The strange thing here is if I drop the .mean()'s, most of the time I see what you see.
: xr 0.03333306312561035
: pd 0.020237445831298828

But every 4th or 5th time that I run this, I get this:
: xr 0.8518760204315186
: pd 0.02686452865600586

This is repeatable. I've Run this code 100s of times now, and every 4th or 5th run it takes 10x. Nothing else is going on on my computer.

The every 4th or 5th lag is not in the creation, it's in the resample:
#+BEGIN_SRC jupyter-python :kernel ds :session bugreport
for i in np.arange(25):
    start = time.time()
    ds_r = ds.resample({'time':"1H"})
    print('xr', str(time.time() - start))

#+END_SRC

#+RESULTS:
#+begin_example
xr 0.04479050636291504
xr 0.047682762145996094
xr 0.8904871940612793
xr 0.05605506896972656
xr 0.0452876091003418
xr 0.0467374324798584
xr 0.8709239959716797
xr 0.05595755577087402
xr 0.046492576599121094
xr 0.04648017883300781
xr 0.045223236083984375
xr 0.8187246322631836
xr 0.05060911178588867
xr 0.04763054847717285
xr 0.8156075477600098
xr 0.055490970611572266
xr 0.047312259674072266
xr 0.04651069641113281
xr 0.8001837730407715
xr 0.05546212196350098
xr 0.04549074172973633
xr 0.04680013656616211
xr 0.04383039474487305
xr 0.7662224769592285
xr 0.04914355278015137
#+end_example

resample uses the same machinery in xarray as other grouped aggregations.
Right now, grouped aggregations are very slow when there are many groups (like in resample) because we use a Python loop over groups.
Probably the most obvious way to speed this up would be wrap the "numpy-groupies" package in xarray: https://github.com/pydata/xarray/issues/4473

I might add that this is somewhat I've wanted to speed-up in xarray since the very early days. But until I noticed the numpy-groupies package, it seemed like a pretty challenging task.

Thanks for the clarification that this is a real issue not due to just my coding, and the suggestion to solve this elsewhere. For now I just use the fast Pandas version with this code:
df_h = ds.to_dataframe().resample("1H").mean()  # what we want (quickly), but in Pandas form

# Use the first variable to get a resampled time coordinate for our new dataset
first = list(ds.variables)[0]
times_h = ds[first].to_dataframe().resample("1H").first()
ds_h = xr.Dataset(coords = times_h, attrs = ds.attrs).drop(first)

# Rebuild the dataset from the Pandas dataframe
for v in list(ds.variables):
    if v != 'time':
        ds_h[v] = (("time"), df_h[v].values, ds[v].attrs)

The linked issues refer to groupby not resample so this could stay open or be closed as a duplicate - I leave it to you to decide. Thank you for the assistance.


BUG: "Cancellation and Returns" Button in Footer Not Redirecting Correctly

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The "Cancellation and Returns" button in the footer is supposed to open a page showing the "Order Cancellation and Return Policy". However, it is not functioning as expected.
What happened?
The "Cancellation and Returns" button in the footer is not redirecting to the "Order Cancellation and Return Policy" page. Instead, it does nothing.
Expected behavior
Clicking the "Cancellation and Returns" button in the footer should open a dedicated page detailing the "Order Cancellation and Return Policy".
Screenshots

To Add:

Record

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

Hi, @arghadipmanna101 please do label it using gssoc and level3 label


Can't build project with probe-rs v0.7.1 on nightly

Describe the bug
Cargo.toml file contains a readme keyword that can't be resolved from the archive fetched from crates.io.
rustc 1.46.0-nightly (a37c32e2d 2020-06-11)
To Reproduce
Steps to reproduce the behavior:

Create a new cargo project
Add probe-rs = "0.7.1" to the depdendencies
Run cargo build

Expected behavior
Build happens.
Stacktrace
    Updating crates.io index
error: failed to download `probe-rs-t2rust v0.6.0`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `/home/disasm/.cargo/registry/src/github.com-1ecc6299db9ec823/probe-rs-t2rust-0.6.0/Cargo.toml`

Caused by:
  readme file with name '../README.md' was not found

Desktop (please complete the following information):

Linux (ArchLinux rolling release)

This is/was a bug in cargo: https://github.com/rust-lang/cargo/issues/8354.
Should be resolved by a newer nightly :)


Clarify CAP theorem limitations

Overall I think you've done a great job on the architecture docs and explaining the trade-offs you made. However there was one section that I thought could be a little clearer.

In RethinkDB data always remains immediately consistent and conflict-free, and a read that follows a write is always guaranteed to see the write.

While this is technically true, it would probably be more accurate to say something like:

In RethinkDB data always remains immediately consistent and conflict-free, and a read that follows a write is always guaranteed to see the write (but neither the read nor write are guaranteed to succeed if the server is unavailable).

You talk about the failure scenarios further down, but as this is the first part of the CAP section, I think it would be helpful to give people a general understanding before continuing into the details. As it stands, without explicitly acknowledging the failure scenario (especially when discussing the CAP theorem), it seems like you're claiming that it is always immediately consistent and always available (which you're not, and the docs further down make that clear).
What are your thoughts?

That's a great improvement @danielcompton, I agree that your version is much clearer.
We might want to wait for our next release (which will come with auto failover) before updating this, since then we can make it even more accurate:

In RethinkDB data always remains immediately consistent and conflict-free, and a read that follows a write is always guaranteed to see the write (but neither reads nor writes are guaranteed to succeed if a majority of servers is unavailable).

Sure, thats an even better thing to be able to tell people :smile:. Is that release 2.0.2?

@danielcompton I should have said next major release. It's going to be 2.1.0.

Something that came up on Slack:
The part about "a read that follows a write is always guaranteed to see the write" is slightly ambiguous, because this is only true if you wait for the write to be acknowledged.
I suggest we slightly change that part as well to say "a read that follows an acknowledged write is always guaranteed to see the write"

"The server" is ambiguous; I'm presuming this means the primary replica (at least in the 2.0 model). I think we might want to shuffle the whole paragraph around a bit to introduce the notion of primary replicas first, if that's the case. So instead of:

In RethinkDB data always remains immediately consistent and conflict-free, and a read that follows an acknowledged write is always guaranteed to see the write. This is accomplished by always assigning every shard to a single authoritative primary replica. All reads and writes to any key in a given shard always get routed to its respective primary where they're ordered and evaluated.

We can say:

Every shard in RethinkDB is assigned to a single authoritative primary replica. All reads and writes to any key in a given shard always get routed to its respective primary, where they're ordered and evaluated. Data always remains immediately consistent and conflict-free, and a read that follows an acknowledged write is always guaranteed to see the write. However, neither reads nor writes are guaranteed to succeed if the primary replica is unavailable.

At least assuming I have this right. :) We can update this for 2.1 when it ships.

I like that new wording.
It will mostly still be correct with 2.1, though we might then want to clarify that the primary replica can change at any time due to auto failover.


do not look for specific key ID. It appears that OSSEC released a new…

… signing key recently. Also makes more sense to download key first so moved task up

Thanks!


bug: unknown Unexpected token when use some sign

there are some error with internal when I use the < in the markdown

fixed done,  it's work fine, but there is some show error with volar,