Enhance ReducePrecisionOp, CustomCallOp printing

A separate issue will be used to track operations with single attributes, as those can be enhanced in an unambiguous manner relatively easily. These operations are a few of the ones with multiple attributes that can be easily enhanced.
Current proposal is to model custom_call after func.call, except using quotes since the call target can be an arbitrary string.
%1 = "mhlo.custom_call"(%arg0, %arg1) {backend_config = "bar", call_target_name = "foo", has_side_effect = true} : (tensor<2x3xf32>, tensor<5x5xf32>) -> tensor<1x2x3xf32>
==>
%1 = mhlo.custom_call "foo"(%arg0, %arg1) {backend_config = "bar", has_side_effect = true} : (tensor<2x3xf32>, tensor<5x5xf32>) -> tensor<1x2x3xf32>

Use e#m# shorthand for exponent mantissa in reduce_precision, as seems to be common in chat messages on the topic:
%0 = "mhlo.reduce_precision"(%arg0) {exponent_bits = 8 : i32, mantissa_bits = 10 : i32} : (tensor<3x4xf32>) -> tensor<3x4xf32>
===>
%0 = mhlo.reduce_precision %arg0, e8m10 : tensor<3x4xf32>

Moving FFT inlining to #24 since it should be grouped more closely with the work inlining dense array attributes.


flutter run not working as intended (on linux)

Describe the bug
I'm trying to compile LocalSend from the source code. I've forked, cloned, installed Flutter, etc. Errors pop up when I choose Linux or Chrome
To reproduce

Install Flutter.
Clone the LocalSend repository.
Run cd app to enter the app directory.
Run flutter pub get to download dependencies.
Run flutter run to start the app.
Get errors:

flutter run
Connected devices:
Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.3 LTS 6.2.0-39-generic
Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.129
[1]: Linux (linux)
[2]: Chrome (chrome)
Please choose one (or "q" to quit): 1

Launching lib/main.dart on Linux in debug mode...
CMake Error at flutter/ephemeral/.plugin_symlinks/system_tray/linux/CMakeLists.txt:29 (message):

  The `system_tray` package requires ayatana-appindicator3-0.1 or
  appindicator3-0.1.

Building Linux application...
Exception: Unable to generate build files

or if you choose [2] Chrome:
flutter run
Connected devices:
Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.3 LTS 6.2.0-39-generic
Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.129
[1]: Linux (linux)
[2]: Chrome (chrome)
Please choose one (or "q" to quit): 2
Launching lib/main.dart on Chrome in debug mode...
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:14:8: Error: Error when reading
'../../../snap/flutter/common/flutter/packages/flutter/lib/src/services/dom.dart': No such file or directory
import 'package:flutter/src/services/dom.dart';
       ^
../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:71:5: Error: Type 'DecoderCallback' not found.
    DecoderCallback decode, // ignore: deprecated_member_use
    ^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:96:5: Error: Type 'DecoderCallback' not found.
    DecoderCallback decode, // ignore: deprecated_member_use
    ^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:20:30: Error: Type 'DomXMLHttpRequest' not found.
typedef HttpRequestFactory = DomXMLHttpRequest Function();
                             ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:23:1: Error: Type 'DomXMLHttpRequest' not found.
DomXMLHttpRequest _httpClient() {
^^^^^^^^^^^^^^^^^
lib/util/native/cache_helper.dart:32:36: Error: Member not found: 'BackgroundIsolateBinaryMessenger.ensureInitialized'.
  BackgroundIsolateBinaryMessenger.ensureInitialized(token);
                                   ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:71:5: Error: 'DecoderCallback' isn't a type.
    DecoderCallback decode, // ignore: deprecated_member_use
    ^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:96:5: Error: 'DecoderCallback' isn't a type.
    DecoderCallback decode, // ignore: deprecated_member_use
    ^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:24:10: Error: Method not found: 'DomXMLHttpRequest'.
  return DomXMLHttpRequest();
         ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:153:23: Error: 'DomXMLHttpRequest' isn't a type.
      final Completer<DomXMLHttpRequest> completer =
                      ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:154:21: Error: 'DomXMLHttpRequest' isn't a type.
          Completer<DomXMLHttpRequest>();
                    ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:155:13: Error: 'DomXMLHttpRequest' isn't a type.
      final DomXMLHttpRequest request = httpRequestFactory();
            ^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:165:64: Error: 'DomEvent' isn't a type.
      request.addEventListener('load', createDomEventListener((DomEvent e) {
                                                               ^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:165:40: Error: The method 'createDomEventListener' isn't defined for the class
'ExtendedNetworkImageProvider'.
 - 'ExtendedNetworkImageProvider' is from 'package:extended_image_library/src/network/network_image_web.dart'
 ('../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart').
Try correcting the name to the name of an existing method, or defining a method named 'createDomEventListener'.
      request.addEventListener('load', createDomEventListener((DomEvent e) {
                                       ^^^^^^^^^^^^^^^^^^^^^^
../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart:184:20: Error: The method 'createDomEventListener' isn't defined for the class
'ExtendedNetworkImageProvider'.
 - 'ExtendedNetworkImageProvider' is from 'package:extended_image_library/src/network/network_image_web.dart'
 ('../../../.pub-cache/hosted/pub.dev/extended_image_library-3.6.0/lib/src/network/network_image_web.dart').
Try correcting the name to the name of an existing method, or defining a method named 'createDomEventListener'.
          'error', createDomEventListener(completer.completeError));
                   ^^^^^^^^^^^^^^^^^^^^^^
Waiting for connection from debug service on Chrome...             36.5s
Failed to compile application.

Expected behavior
flutter run works as intended
Screenshots
No response
Desktop (please complete the following information)
Ubuntu 22.04.3 LTS
64-bit
Smartphone (please complete the following information)
No response
Additional context
No response

You need to install appindicator3-0.1 (with apt or any other package manager).
LocalSend can't be compiled to Web for now because it has native dependencies

I thought it might be something like that and already tried running sudo apt-get install appindicator3-0.1
which results in
sudo apt-get install appindicator3-0.1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'monodoc-appindicator3-0.1-manual' for regex 'appindicator3-0.1'
Note, selecting 'libayatana-appindicator3-0.1-cil' for regex 'appindicator3-0.1'
Note, selecting 'libappindicator3-0.1-cil-dev' for regex 'appindicator3-0.1'
Note, selecting 'libappindicator3-0.1-cil' for regex 'appindicator3-0.1'
Note, selecting 'libayatana-appindicator3-0.1-cil-dev' for regex 'appindicator3-0.1'
Note, selecting 'gir1.2-appindicator3-0.1' for regex 'appindicator3-0.1'
Note, selecting 'gir1.2-ayatanaappindicator3-0.1' for regex 'appindicator3-0.1'
gir1.2-ayatanaappindicator3-0.1 is already the newest version (0.5.90-7ubuntu2).
gir1.2-appindicator3-0.1 is already the newest version (12.10.1+20.10.20200706.1-0ubuntu1).
libappindicator3-0.1-cil is already the newest version (12.10.0+git20151221-5.1).
libappindicator3-0.1-cil-dev is already the newest version (12.10.0+git20151221-5.1).
libayatana-appindicator3-0.1-cil is already the newest version (0.5.90-7ubuntu2).
libayatana-appindicator3-0.1-cil-dev is already the newest version (0.5.90-7ubuntu2).
monodoc-appindicator3-0.1-manual is already the newest version (12.10.0+git20151221-5.1).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
~/Code/localsend/app$ flutter run
Connected devices:
Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.3 LTS 6.2.0-39-generic
Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.129
[1]: Linux (linux)
[2]: Chrome (chrome)
Please choose one (or "q" to quit): 1

Launching lib/main.dart on Linux in debug mode...
CMake Error at flutter/ephemeral/.plugin_symlinks/system_tray/linux/CMakeLists.txt:29 (message):

  The `system_tray` package requires ayatana-appindicator3-0.1 or
  appindicator3-0.1.

I tried installing this one
sudo apt-get install libayatana-appindicator3-dev
flutter run

Now I get a new error:
Connected devices:
Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.3 LTS 6.2.0-39-generic
Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.129
[1]: Linux (linux)
[2]: Chrome (chrome)
Please choose one (or "q" to quit): 1
Launching lib/main.dart on Linux in debug mode...
ERROR: ../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:71:5: Error: Type 'DecoderCallback' not found.
ERROR:     DecoderCallback decode, // ignore: deprecated_member_use
ERROR:     ^^^^^^^^^^^^^^^
ERROR: ../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:96:5: Error: Type 'DecoderCallback' not found.
ERROR:     DecoderCallback decode, // ignore: deprecated_member_use
ERROR:     ^^^^^^^^^^^^^^^
ERROR: ../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:71:5: Error: 'DecoderCallback' isn't a type.
ERROR:     DecoderCallback decode, // ignore: deprecated_member_use
ERROR:     ^^^^^^^^^^^^^^^
ERROR: ../../../.pub-cache/hosted/pub.dev/photo_manager-2.8.1/lib/src/internal/image_provider.dart:96:5: Error: 'DecoderCallback' isn't a type.
ERROR:     DecoderCallback decode, // ignore: deprecated_member_use
ERROR:     ^^^^^^^^^^^^^^^
ERROR: Target kernel_snapshot failed: Exception
Building Linux application...
Exception: Build process failed

This might be related to a Flutter SDK mismatch. Currently, the source code is developed against Flutter 3.13.9 (see https://github.com/localsend/localsend/blob/main/.fvm%2Ffvm_config.json).
You can go to the Flutter sdk folder and run git checkout 3.13.9. Alternatively, you can install fvm, but this might require more setup

This might be related to a Flutter SDK mismatch. Currently, the source code is developed against Flutter 3.13.9 (see https://github.com/localsend/localsend/blob/main/.fvm%2Ffvm_config.json).
You can go to the Flutter sdk folder and run git checkout 3.13.9. Alternatively, you can install fvm, but this might require more setup

tks, it works for me


build all rpms -- round 2

I believe it's complete now based on the feedback provided in the previous PR #721.

All rpms build successfully with no environment vars required other than normal dev environment.
All subprojects get version from top-level VERSION file.
Each creates both a install rpm and src rpm (except traffic_monitor and traffic_router which build thru mvn).
traffic_ops_ort and traffic_ops are both built using the same script.
New subprojects are automatically included.
All subprojects built by default,  or specific ones provided as arguments to build/build.sh

This fixes #507 -- exit status is now used consistently throughout all the build scripts.

This looks good.
If I attempt to build this, will it write anything outside of the build dirs?

it writes only in rpmbuild and dist directories at the top level of traffic_control

@PSUdaemon -- I've added a README.md as suggested..

you're right -- carton is not needed until postinstall.   I'll remove that.

This looks good now, except there is a merge conflict. Can you rebase against master and I will merge?

@PSUdaemon rebased with master...


Ireland release to beta

Ireland have reviewed the online demo and would like to proceed to beta. Thanks Jim

The new Beta is now ready.

Great - that's updated for me, but can you please remind me how a new user installs the beta? Thanks Jim

Here are the links that should explain this to the users:
Android: https://flumens.notion.site/Android-app-Beta-testing-66b6f016ed624ee3adc1b7bd03063c3b
iOS: https://flumens.notion.site/iOS-app-Beta-testing-d66f1153f20b4f329d4cfe9fc82b6523

Sorry Karolis. I think I meant how does a user find the beta url to install - When I uninstall and attempt to reinstall the FITCount from google play, it automatically brings up the FITCount Beta and knows I'm a beta tester, so assume that's due to cache of some sort.
If someone completely new is looking for the Beta test URLs - where do they find that? Apologies if I'm missing something completey obvious!

Sorry! Yep, these are the links to join the Beta testing program:

Android devices: https://play.google.com/apps/testing/uk.ac.ceh.fit
iOS devices: https://testflight.apple.com/join/aVHilgCx

Excellent - thanks Karolis.


merge package from arlac77/npm-package-template

.travis.yml

chore(travis): remove node versions 10.2
chore(travis): add node versions 10.2.1

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Codecov Report

Merging #122 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #122   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          29     29
=====================================
  Hits           29     29

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 961b93c...712cfab. Read the comment docs.


Lifetimes

Dyon uses a lifetime checker instead of a garbage collector. This adds a little more work to get the program running, but makes it easier to run the program. There are no pauses to clean up unused memory, just full steam ahead with predictable performance.
In Rust a lifetime is declared separately from arguments. Dyon uses argument names to describe lifetimes.
a: 'b means a outlives b
a: 'return means a outlives the return value of the function.
What are lifetimes?
For example, consider the following program:
fn foo(a, b) {
    a.x = b
}

fn main() {
    a := {x: [0]}
    b := [5]
    foo(a, b)
}

Dyon won’t let you run it, because storing b inside a requires it to outlive a:
Function `foo` requires `b: 'a`
2,11:     a.x = b
2,11:           ^

The b variable must be declared before a in stack memory. Or else when the stack rolls back, then a points to memory that is outside the valid memory, a dangling pointer.
One way to fix it is to write clone(b), but you can also do as Dyon says:
fn foo(a, b: 'a) {
    a.x = b
}

Now there is another error:
`b` does not live long enough
4,12:     foo(a, b)
4,12:            ^

This is because b is declared after a:
fn main() {
    a := {x: [0]}
    b := [5] // `b` does not outlive `a`
    foo(a, b)
}

By moving it before a, the program works:
fn main() {
    b := [5] // `b` outlives `a`
    a := {x: [0]}
    foo(a, b)
}

In one sense, this approach seems problematic because it leaks the function's implementation details. Then again, Rust already leaks this information with its lifetimes.
In another sense, this is a syntactically neat approach to specifying lifetimes, reminiscent of region-based memory management. How has the experimentation with this feature gone? Have you tried eliminating lifetime annotations entirely and just requiring the programmer to conform to the stack convention?
I can see it being fairly easy to write a program, but changing the function's internals could cause surprising non-local breakages, which is particularly problematic given Dyon is dynamically typed.
Traditional named arguments would solve this problem if named arguments were required for all calls, but Dyon's named arguments are unusual enough that I'm not sure if they would solve this issue.

I almost never use lifetimes. The lifetime checker helps me add clone at the right places, or move the order a bit to save some operations. Otherwise, it is strange how rare lifetimes are needed. I am quite happy with the current implementation. More information http://www.piston.rs/dyon-tutorial/lifetimes.html


Looking for 1 or 2 teammates

Hello everyone, @stephenbaione and I (@smithandrewk) are looking for 1 or 2 teammates. Stephen is a junior studying Computer Science, and I am a senior studying Math and Computer Science. Stephen has worked in AI and Software Engineering in multiple positions. His areas of interest lie in AI and data compression. I have worked in Machine Learning and Data Analytics at the University, specifically in Computational Medicine.

Hello Andrew and Stephen,
My name is JJ Satti and I recall having classes with both of you in the past. I am a junior studying CS. I would very much be interested in joining your group. I have a significant amount of experience in Python, especially with Data Analytics, and I have some experience in Machine Learning.

Hello Andrew and Stephen,
My name is JJ Satti and I recall having classes with both of you in the past. I am a junior studying CS. I would very much be interested in joining your group. I have a significant amount of experience in Python, especially with Data Analytics, and I have some experience in Machine Learning.

Hey JJ! We'd love to have you on our team. I'll send you a text.

Hello Andrew and Stephen,
My name is JJ Satti and I recall having classes with both of you in the past. I am a junior studying CS. I would very much be interested in joining your group. I have a significant amount of experience in Python, especially with Data Analytics, and I have some experience in Machine Learning.

Thanks JJ! Happy to be working with you.

We finalize Team Epsilon with

@StephenBaione
@JJ8428
@smithandrewk
with preference list

2
1
3


Added all timers for all variants as described by CubeMX

I've added all the timers according to the CubeMX database with the correct device & density flags.
The only one's I've had to comment out are 9, 10, 12, 13 and 14 on some devices because fields for these are missing from the underlying pac. The code is there to enable them when stm32-rs fixes up those SVDs.
This might be a minor breaking change as previously some of the devices had timers enabled that aren't actually available across the whole range - the fix is to add the appropriate density feature. I've added some info about this to the README so hopefully people will find this without a problem.
There's also some minor formatting stuff mostly from rustfmt in case you are wondering about the whitespace changes in pwm_input.
I should also draw your attention to the fact I added #![allow(unused_unsafe)] (with a comment) to lib.rs to hide the extremely numerous warnings that were coming up because some pac have safe fields incorrectly identified as unsafe. I think adding #![allow(unused_unsafe)] to the crate is fine and preffererable to it being harder to read the compiler output but I'm happy to be persuaded otherwise if you disagree.

I left the piddling little rustfmt changes from random files out but added the pwm_input formatting fix back in as a separate commit because it took me half an hour to tweak the indentation and I feel like it's worth keeping ;)

Rebased latest changes from master.
Is there anything else I need to address to get this merged? I'm going to have a go at implementing the various PWM input & output features for the advanced timers and want to make sure that PR is easy to merge too.
Thanks
Daniel

I think it can be merged after conflicts to be resolved.

Updated with latest master.
Note I had to modify the new start_master (#99) part of the macro because the general purpose timers 9 to 14 don't support master mode.


About the endpoint avg throughput metrics etc

In the service dashboard, Whether the indicator parameters of the endpoint are accurate，eg:Endpoint Avg ResponseTime,Endpoint Avg Throughput etc.The data that came out of my Jmeter pressure-testing interface is very different.

If you are doing 100% sampling, default is, then the metrics are accurate.

But you need to make sure your backend and storage are powerful enough. Otherwsie, safe mode activated, the trace will be abondoned.

OK, understand what your mean, the configuration item is not turned on, is it the default?As follows: #agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:-1}
Then,the storage is using ES cluster services.

Yes, it is default.


Star Rail Support

It'll take me about a month to make it

Just got home from a trip and just started working on this ヾ(⌐■_■)ノ♪

Almost there. Just need to make support for other screen formats other then 16:9 👍
That was haaaaaaaard I tell ya...


fixed docs according to issue #220

Proposed changes:

...

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog

@tmbo could you please take a look at the install instructions for spaCy

It is related to the same issue#220 as this PR


fix: DOMException on framework routers

Description

Since smooth-scrollbar is update the DOM after initialization, it may cause errors for framework routers

Contents...

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Any demo for the broken routers? Your implementation that requires the DOM structure .scrollbar-container > .scrollbar-content to exist before initialization will break all previous implementations.


Typo in best-python-resources.html

In best-python-resources.html, section "Beyond Basics", at "The Python Ecosystem: An Introduction": s/virutalenv/virtualenv/

fixed, thank you Michael!


The sound is not working

Hey,
I am trying to implement this in our project. The sound is not working though ( its commented out in /ios/RecordScreen.m ).
I also saw that there is few commits related to Android. How does it look like ?
Thanks

@vSleichert
Hi.
This is current status.
About iOS.
You can't record now, but I'll add a recording feature in the future.
About Android.
HBRecorder is now used to support recording and audio recording. But this one cannot be cropped.
I'd like to make iOS and Android compatible with the same functionality in the future. But it's hard to support it right away, so if you need it right away, please duplicate it and fix it.
Thanks.

@yutasuzuki Hi, we have taken your library and made it working for iOS and Android as well, you can take a look here https://github.com/beattv/react-native-screen-recorder, there is no cropping, so you might take our solution and apply to your library. Or feel free extend new library.

@voslartomas Sorry I'm late.
Thank you. I am going to use it as an example.

@voslartomas I replaced it because your code is good.
And I modified it so that the microphone can be switched.
Thank you.


Attrs

Pull Request Test Coverage Report for Build 28

71 of 72 (98.61%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.3%) to 97.597%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

rest_client_gen/models/attr.py
51
52
98.08%

Files with Coverage Reduction
New Missed Lines
%

rest_client_gen/models/init.py
1
70.89%

Totals

Change from base Build 19:
-0.3%

Covered Lines:
528

Relevant Lines:
541

💛  - Coveralls


Focus first invalid field on submit

It would be nice if we could set an option, in one specific form or globally, to make the first invalid input focused when the form is submitted.
BTW: This project is awesome. It is helping me a lot. Congratulations for the great job you are doing here.

Thanks for your feedback and sorry for the delay in responding.  Focusing the first invalid input could be done with a custom dom modifier (see http://jonsamwell.github.io/angular-auto-validate/#custom_dom_modifiers) so I doubt I'll put this into the core library.  Although it you fancy doing a pull request that would be great!
Have a good new year!
Jon


Set a description for this GitHub repository

This is needed as a description for the Docker files being published to GitHub Packages at https://github.com/TranslatorSRI/Babel/pkgs/container/babel

Could you please do this @cbizon? I don't have permissions to do this.


ice_cube not selecting the last day of the year correctly?

I was testing with this gem and noticed when I used:
every fourth year on new year's eve
schedule.add_recurrence_rule Rule.yearly(4).day_of_year(-1)
the date returned was 12/30 and not 12/31.
my example:
[1] pry(main)> require 'ice_cube'
=> true
[2] pry(main)> last_day_of_year = IceCube::Schedule.new(now = Time.now) do |s|
[2] pry(main)*   s.add_recurrence_rule(IceCube::Rule.yearly.day_of_year(-1))
[2] pry(main)* end
=> #<IceCube::Schedule:0x00000002784590
@all_exception_rules=[],
@all_recurrence_rules=
[#<IceCube::YearlyRule:0x000000023746f8
@interval=1,
@uses=0,
....
[3] pry(main)> last_day_of_year.next_occurrence
=> 2015-12-30 13:54:49 -0600
In order to get the 31st, I used:
s.add_recurrence_rule(IceCube::Rule.yearly.day_of_year(0))
Am I doing something wrong?
Thank you!

Thanks for this, I will look into it.

When is #326 going in?


[RFC] Initial port to Eio

This is a proof-of-concept port of Dream to Eio. Most of the public API in dream.mli has been changed to no longer use promises and the main tutorial examples ([1-9a-l]-*) have been updated and are working. The documentation mostly hasn't been updated, though I did update the first couple to give an idea: https://github.com/talex5/dream/tree/eio/example/1-hello
Internally, it's still using Lwt in many places, using Lwt_eio to convert between them.
The main changes are:

User code doesn't need to use lwt (or lwt_ppx) now for Dream stuff (however, the SQL example still uses lwt for the Caqti callback).

Dream servers must be wrapped in an Eio_main.run. Unlike Lwt, where you can somewhat get away with running other services with Lwt.async before Dream.run and relying on the mainloop picking them up later, everything in Eio must be started from inside the loop. Personally, I think this is clearer and less magical, making it obvious that Dream can run alongside other Eio code, but obviously Dream had previously made the choice to hide the Lwt_main.run by default.

Dream.run now takes an env argument (from Eio_main.run), granting it access to the environment. At present, it uses this just to start Lwt_eio, but once fully converted it should also use it to listen on the network and read certificates, etc.

The first two commits just delete stuff that already didn't work on multicore OCaml. The changes for review/comments are in the 3rd commit.
Error handling isn't quite right yet. Ideally, we'd create a new Eio switch for each new connection, and that would get the errors. However, connection creation is currently handled by Lwt. Also, it still tries to attach the request ID to the Lwt thread for logging, which likely won't work. I should provide a way to add log tags to fibres in Eio.
example/k-websocket works, but logs Async exception: (Failure "cannot write to closed writer"). It does that on master with Lwt too.
/cc @patricoferris

Note: example/5-promise might need renaming, as it no longer uses any promises. However, it did get a lot simpler!
https://github.com/aantron/dream/pull/194/files#diff-650816042e8a374f7a76bf017cdf8a7ddac340e96b8c66f0e383005b390eaf48

I am slightly concerned by capabilities. They do seem to make all the examples more verbose. In particular, the ones with sleep have extra machinery for extracting and passing clock. I'm concerned this kind of passing capabilities around will balloon with more complex applications than the examples.

Yes, I'd expect it to make things a bit more verbose (though hopefully also clearer in some cases). It shouldn't balloon too much though, because if you need lots of things you can always give up and take the env parameter itself instead of individual items. Dream.run does this, for example, so when I move networking to Eio (and Dream.run therefore needs a network capability), nothing will change in the examples.
Looking at the tutorials, I'd expect to need these changes if fully switched over to use capabilities:

static should take the directory to serve (e.g. Dream.static env#cwd instead of Dream.serve ".").
sql_pool would need to take env, because it interprets a string from the user. It might need to access the network, to use a remote database, or it might need a directory, for sqlite.

I think the rest would be unaffected. Producing logging, tracing, metrics, etc, doesn't require a capability.

I've pushed a commit to have Eio run the accept loop too (and then convert the resulting flow to Lwt_unix for httpaf-lwt). Note that this depends on https://github.com/ocaml-multicore/eio/pull/155.

Not having to pass clock around is much nicer.

Is there any interest in merging this PR if it were brought up-to-date? I would like to use Eio with Dream and therefore might work on updating the PR in the near future.

We definitely want to make Dream more compatible wth Eio, but I have to take a fresh look at this PR. This PR, as I recall, has Dream still mostly using the Lwt API. I think in the future we'd want to switch to Eio more completely, but I have to look through the impact that would have on Dream.
This PR may be a good intermediate step, however. I cannot absolutely promise a merge. At the very least, though, an up-to-date version of this PR would greatly help me with reviewing it and exploring what to do with Dream and Eio, and I would be thankful.

Sounds good! I already took a look and it seems like hiding Lwt completely in the API also requires changing large parts to Eio so maybe going all the way for Lwt isn't that hard in the end.

I'm going to close this in favor of #254, where work on the Eio is proceeding. I have the branch locally, so I can refer to authorship information, which I understand is a little bit off in #254 (but which will be squashed or otherwise have its history rewritten anyway, with due credit).


node-red-gpio: update patchsets

Bump and update patchsets with updated gpio-din node.
Signed-off-by: Ivan Mikhaylov<EMAIL_ADDRESS>

Looks like it solves the problem with updating from palette manager (cause it bumps right into 0.1.0) https://support.industry.siemens.com/forum/ww/en/posts/problems-with-node-red-intel-gpio-after-updating-nodes/285581/?page=0&pageSize=10 .


Restart policy should match docker's

Restart policy on the replication controller currently defaults to Always should this not match docker-compose/docker's default of no?

I would guess in the case of the above a replication controller should not be created and only a pod.


Add ESKU

Institution/School Name
East Kazakhstan State University
Instiution/School Website
https://www.vkgu.kz/en
Email Users
Please place an x between the square brackets if yes

[*] Students
[ ] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[ ] Post-graduate research
[ ] Graduate School
[*] College (University) or Undergraduate School or equivalent
[ ] Community College or equivalent
[ ] High School or equivalent
[ ] Elementary School or equivalent

@diamond-cloud Please provide us with an URL of a page or another proof showing that the school recognizes the domain which you are submitting as an official email domain for the students.

@diamond-cloud You might miss my previous comment. Please react.

@diamond-cloud You might miss my previous comment. Please react.

Thank you. University give me e-mail in @vkgu.kz domain


Enable running nightly rustfmt

Some rustfmt.toml configurations (in my case, merge_imports = true) are only available when running nightly rustfmt, they're not available in stable. So, we should allow users to select what channel to run rustfmt under. Thanks! :sparkles:
I think the relevant code is here https://github.com/rust-analyzer/rust-analyzer/blob/46c618f7d989849cae11c7e4b7b7370bf89faaa2/xtask/src/lib.rs#L45

You should be able to pass "+nightly" using the rustfmtArgs config in VSCode

Hmm. Doing so seems to not change anything. I noticed there's another way in the codebase that rustfmt is invoked, https://github.com/rust-analyzer/rust-analyzer/blob/a99cac671c3e6105a0192acbb1a91cb83e453018/crates/rust-analyzer/src/main_loop/handlers.rs#L613, does calling rustfmt directly parse .rustfmt.toml? that's my only guess as to why it's not working.

Ah, a restart of vscode was required. Thanks for your help!

We might want to add rustFmtArgs entry here:
https://github.com/rust-analyzer/rust-analyzer/blob/46c618f7d989849cae11c7e4b7b7370bf89faaa2/editors/code/src/config.ts#L38

Note to people finding this issue on google: a lot of config settings got renamed/changed, and the above no longer works. I was able to get it working again with https://github.com/rust-analyzer/rust-analyzer/issues/3916 :
"rust-analyzer.rustfmt.overrideCommand": [
  "rustup",
  "run",
  "nightly",
  "--",
  "rustfmt",
  "--edition",
  "2018",
  "--"
],

For those using init.lua, you can try this:
lspconfig.rust_analyzer.setup {
    settings = {
        ["rust-analyzer"] = {
            rustfmt = {
                extraArgs = { "+nightly", },
            },
        }
    }
}

No need to modify rust-analyzer.rustfmt.overrideCommand, the "+nightly" works.
Here bellow a full "How to" for others.
First, make sure you have the nightly rustfmt installed. It can be done easily with rustup:
> rustup toolchain install nightly
Than, for vscode, in settings.json
"rust-analyzer.rustfmt.extraArgs": [
        "+nightly"
    ],

Finally, in the project dir, we can use a the "unstable_features" by activating them in a rustfmt.toml` file.
Here is mine as example:
# I can't rely on contributors using .editorconfig
newline_style = "Unix"
# require the shorthand instead of it being optional
use_field_init_shorthand = true
# outdated default — `?` was unstable at the time
# additionally the `try!` macro is deprecated now
use_try_shorthand = true
# Max to use the 100 char width for everything or Default. See https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=#use_small_heuristics
use_small_heuristics = "Max"

# Unstable features below
unstable_features = true
version = "Two"
# code can be 100 characters, why not comments?
comment_width = 100
# force contributors to follow the formatting requirement
error_on_line_overflow = true
error_on_unformatted = true
# next 4: why not?
format_code_in_doc_comments = true
format_macro_bodies = true
format_macro_matchers = true
format_strings = true
# better grepping
imports_granularity = "Module"
# quicker manual lookup
group_imports = "StdExternalCrate"
# why use an attribute if a normal doc comment would suffice?
normalize_doc_attributes = true
# why not?
wrap_comments = true

(The version = "Two" is just required as written in rustfmt documentation)


more kids of GO:0015932 ...nucleid acid transporter activity

Right now, this term:
'nucleobase, nucleoside, nucleotide and nucleic acid
transporter activity'
has children:
%DNA-protein complex transporter activity
%nucleobase transporter activity
%nucleoside transporter activity
%nucleotide transporter activity
but there's no:
%nucleic acid transporter activity
I propose:
%nucleic acid transporter activity (NEW!)
--%DNA transporter activity (are there DNA
transporters? If so, NEW!)
--%RNA transporter activity (NEW! I think we need this)
----%tRNA transporter activity (NEW! this is the term I
need)
Thanks,
Tanya
Reported by: tberardini
Original Ticket: "geneontology/ontology-requests/1703":https://sourceforge.net/p/geneontology/ontology-requests/1703

thanks www.movied.org


Application Restart on Mi Devices With Image_Picker

I have problem on Xioami Redmi Note 7, Redmi 4 device and other Mi Device , The Image Picker Go for take image but after taking image it restart my Application Please Help me out this problem, I don't want to implement custom camera,
I am using Camera With Image Picker, Most of our client have Mi Devices So please Any Help Regarding this

Have you followed the instructions here?

I have not followed the instructions to retrieve lost data, I have already looked it for,  But this is not the solution , every time restart of application not good user experience, after the image click,

But this is not the solution

What solution are you requesting? The plugin cannot change the memory management behaviors of Android, and you've said you don't want to use a custom camera.

Its Mean Mi devices have memory issue with Image_picker , its Working Fine on any other android device, its only problem with Redmi Note 7, Redmi 4 device and other Mi Device, And if I want to use camera on given Devices I need to implement Custom camera

Hi @pkgit-tech
This is a duplicate of https://github.com/flutter/flutter/issues/59395 and not specific to Mi devices, please follow steps from https://github.com/flutter/flutter/issues/86250#issuecomment-877812968 and, you can try state restoration for this https://github.com/flutter/flutter/issues/59395#issuecomment-848073905


Add observer to Trigger

Objective

Fixes  #15061

Solution

Added observer to Trigger, which returns the entity observing the triggered event.

Testing

CI passed locally.

I understand that we need this for sake of completion, but this isn't exactly user-sided API.
Spawning observer entities is hidden behind sugar, so a lot of people can be unaware that it is a new Entity.
People might try to manually add observers to existing entities, which is a pitfall.
I'd like the docs to mention at least some of this.

I understand that we need this for sake of completion, but this isn't exactly user-sided API. Spawning observer entities is hidden behind sugar, so a lot of people can be unaware that it is a new Entity. People might try to manually add observers to existing entities, which is a pitfall.
I'd like the docs to mention at least some of this.

This is kind of defeating the point of reactivity, an observer wants to be able to update an entity when an event happens, the target is where the event is triggered, the listener is where the event wants to be handled, for example take progress bar with a percentage in the middle for example.
Say I have an entity model the player, the player has a resource component like stamina, that stamina is represented by a stamina bar on the top right of the screen on a different entity.
When the stamina changes on the player entity, I want the stamina bar to change too.
I can do this via a classic system, however it's a good case for observers a reactivity.
I want my observers to know what entity to update when a target entity is changed, otherwise you're only dealing in singleton components, or resources, or have to store the entity to update as another component of the target of the trigger.
An aside, i think this is even more important with the propagation changes, the target of the trigger is potentially a completely different entity to the one being watched.

First of all, here's the reason why you should not add observers onto normal entities:
https://github.com/bevyengine/bevy/issues/14204#issuecomment-2212515944
tl;dr: You can't have multiple (working) observers on one entity, that's why main API creates a new entity for each observer.

This is kind of defeating the point of reactivity, an observer wants to be able to update an entity when an event happens, the target is where the event is triggered, the listener is where the event wants to be handled.

Adding documentation about pitfalls does not defeat the point of reactivity.
Everyone can do whatever they want in their projects, but they should be aware of APIs that are intended and APIs that are possible, but need to be handled with care.

I want my observers to know what entity to update when a target entity is changed, otherwise you're only dealing in singleton components, or resources, or have to store the entity to update as another component of the target of the trigger.
You will (and I have) as you say find people inserting observers directly on an existing entity to solve this problem, it doesn't make sense to not be able to react on a specific entity to a trigger happening on a specific target.

You can pass arbitrary entities inside the event data, it doesn't need to come from observer directly.

Getting around that limitation by directly inserting observers on existing entities, aware of the deletion detection, hence the change request.

To delete observers with entities I'd suggest adding observer child entities and despawning recursively.
This isn't fully possible as of now, since only few observe methods return the newly created observer entity.

Adding documentation about pitfalls does not defeat the point of reactivity.
Everyone can do whatever they want in their projects, but they should be aware of APIs that are intended and APIs that are possible, but need to be handled with care.

Sorry you're entirely right, I didn't mean that that wasnt valuable at all. My response was more aimed at the concept og listeners only knowing about their target and that wasnt the right place for that discussion, my apologies. I'll take this discussion to a new issue.
I still think this has value, if you manually manage the creation of world scope observers, there is potentially value on adding custom components to those to help you achieve the logic you wish. To enable fetching of those components having easy access to that observer entity would be useful.

If this lets observers delete themselves (it looks like that's the case) then this is definitely needed not just a nice-to-have.

I've updated the documentation to explain why you might want to use this method (self-deletion of an observer) and included an example.


cmake error

command: cmake -DCMAKE_BUILD_TYPE=Release ..
error occured:
CMake Error at third_party/open_spiel/games/universal_poker/CMakeLists.txt:20 (add_library):
Cannot find source file:
acpc/project_acpc_server/game.h

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
.hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
CMake Error at third_party/open_spiel/games/universal_poker/CMakeLists.txt:20 (add_library):
No SOURCES given to target: universal_poker_clib

Did you run the command cd third_party && ./install.sh? If not, please run the command first. The install.sh will pull project_acpc_server from Github.


Issue downloading from Twitter (Unrecognized option 'k')

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.06.25. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[X ] I've verified and I assure that I'm running youtube-dl 2017.06.25

Before submitting an issue make sure you have:

[X ] At least skimmed through README and most notably FAQ and BUGS sections
[X ] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl -v https://twitter.com/periahdark/status/881302407162068996 --prefer-ffmpeg
[debug] System config: []
[debug] User config: [u'-o', u'[%(upload_date)s][%(id)s] %(title)s (by %(uploader)s).%(ext)s', u'--external-downloader', u'aria2c', u'--external-downloader-args', u'-c -j 10 -x 10 -s 10 -k 1M']
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://twitter.com/periahdark/status/881302407162068996', u'--prefer-ffmpeg']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.06.25
[debug] Python version 2.7.12 - Linux-4.4.0-81-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 3.3.2-static, avprobe 3.3.2-static, ffmpeg 3.3.2-static, ffprobe 3.3.2-static
[debug] Proxy map: {}
[twitter]<PHONE_NUMBER>62068996: Downloading webpage
[twitter:card]<PHONE_NUMBER>62068996: Downloading webpage
[twitter:card]<PHONE_NUMBER>62068996: Downloading m3u8 information
[debug] Invoking downloader on u'https://video.twimg.com/ext_tw_video/881301932014411776/pu/pl/1280x720/eXaDKaO5s5-tAVEs.m3u8'
[download] Destination: [NA][881302407162068996] David Paez - The fight of the century! Two bitter rivals duke it out! @Leedzie finally takes down couch pig! #MarioMarathon (by David Paez).mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -c -j 10 -x 10 -s 10 -k 1M -headers 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)
' -i 'https://video.twimg.com/ext_tw_video/881301932014411776/pu/pl/1280x720/eXaDKaO5s5-tAVEs.m3u8' -c copy -f mp4 '-bsf:a' aac_adtstoasc 'file:[NA][881302407162068996] David Paez - The fight of the century! Two bitter rivals duke it out! @Leedzie finally takes down couch pig! #MarioMarathon (by David Paez).mp4.part'
ffmpeg version 3.3.2-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-11) 20170519
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Unrecognized option 'k'.
Error splitting the argument list: Option not found

ERROR: ffmpeg exited with code 1
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/bin/youtube-dl/__main__.py", line 19, in <module>
    youtube_dl.main()
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1927, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 773, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 865, in process_ie_result
    new_result, download=download, extra_info=extra_info)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 827, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1570, in process_video_result
    self.process_info(new_info)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1834, in process_info
    success = dl(filename, info_dict)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1776, in dl
    return fd.download(name, info)
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/common.py", line 361, in download
    return self.real_download(filename, info_dict)
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/external.py", line 57, in real_download
    self.get_basename(), retval))
  File "/usr/local/bin/youtube-dl/youtube_dl/downloader/common.py", line 163, in report_error
    self.ydl.report_error(*args, **kargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 602, in report_error
    self.trouble(error_message, tb)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 564, in trouble
    tb_data = traceback.format_list(traceback.extract_stack())

Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
When downloading video from Twitter, youtube-dl passes a "-k" option to FFMPEG which appears to be no longer supported in 3.3.2-static.

I tried the same URL on a server with latest YTDL and 3.3.1 ffmpeg and it worked. Seems to be something specific to the 3.3.2 version.

Duplicate of #10784. A workaround is using --hls-prefer-native.


[feat] Add support for client certificate based auth for apps

This came from a HN discussion at https://news.ycombinator.com/item?id=41523378
Clace should support client certificate based auth for apps and later for admin API also.

Docs are at https://clace.io/docs/configuration/authentication/#client-cert-authentication-mtls
App mTLS support is released in https://github.com/claceio/clace/releases/tag/v0.7.5


Wrong api is called to download documents during app registration process

Current Behavior

wrong api is called in the registration process of an app

Expected Behavior

if i click on the documents i want to call the GET: /api/apps/{appId}/appDocuments/{documentId}

Steps To Reproduce

open an app configuration
navigate to the form where you can upload a document
try to download the document

Hi @MaximilianHauer
i tested this issue it's working fine. Can you close this issue
Attached screenshot for references

as aligned in the demo please proceed with all other documents that can be uploaded during the registration process of an app/service


sentiment analysis v1

First try for this part of the engine.

@aminja this is a great starting point. Please review our previous work on word2vec to avoid duplication of work and maximize code reuse.

Dear @slavakurilyak , I saw the code of word2vec:
We have some conflicts, I should be able to select the desired column for word2vec vectorizer.
In addition, in tweeter study case, punctuation cleaning should be optional. Also, word2vec module should return the result.

@ShreyasJothish what are your thoughts?

@ShreyasJothish what are your thoughts?

@slavakurilyak The code for word2vec which I contributed was specific to one particular example or use case of finding similarities between words. So @aminja example shall not be using the code as is.

so I believe that the committed version is fine to be reviewed.

hi @aminja, I have made some minor modification and send a pull request to your repository. If it works for you, please accept the changes.
@huitikho, we have received similar contribution so in case other goes first, please take that as starting point.

@lucky-singh the desired changes are committed.

dear @slavakurilyak , a kindly reminder.


Add SVD file for the ATSAME5x

for support atsame54-xpro and feather-m4-can.

https://www.microchip.com/developmenttools/productdetails/atsame54-xpro
https://www.adafruit.com/product/4759

SVD file source:
http://packs.download.atmel.com/

Atmel SAME51 Series Device Support (1.1.139)
Atmel SAME53 Series Device Support (1.1.118)
Atmel SAME54 Series Device Support (1.1.134)

All these files are Apache 2.0 direct from the vendor.

@sago35 can you please submit this PR to the upstream repository at https://github.com/posborne/cmsis-svd?

I have created a pull request as follows
https://github.com/posborne/cmsis-svd/pull/126

Thank you!

@aykevl @deadprogram
I'd like to add the atsame5x series to tinygo-org/tinygo soon.
posborne/cmsis-svd has no response so far.
So I would like to proceed as follows.

merge this PR
modify the make gen-device-svd-sam / gitmodule configuration in tinygo-org/tinygo

Merging in order to resolve until upstream repo includes this.


"data_types" should be multivalued, rather than string containing JSON array

Right now, instead of actually being multivalued (elastic docs), I think strings with JSON Arrays are being put in the data_types field:
['dt_autoflorescence', 'dt_maldiims', 'dt_snareseq2s', 'dt_other', "Chuck's, next"]

This would be much more useful for facetting and search if an array were passed during indexing, rather than a string containing JSON.

I'm not seeing this field right now... It may have been removed?

This has been largely addressed: There is still old data around, but it is now an array, with one value.


Fzf keybindings need two keystrokes before activating in neovim's terminal

Category

[ ] fzf binary
[ ] fzf-tmux script
[x] Key bindings
[ ] Completion
[ ] Vim
[x] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x] bash
[x] zsh
[x] fish

In neovim's terminal, I have to enter two keystrokes before fzf shows completions. Doesn't matter which keystrokes I enter, but there has to be two.
Running fzf with e.g. history | fzf works normally. Its just the keybindings that are acting weird.
This affects zsh, bash and fish. I've tried with multiple terminals and operating systems (ubuntu/nixos).
Reproduce

Open up neovim
execute :term:
Hit an fzf shortcut, e.g. <c-r> in the terminal.

Info
:fzf --version
0.17.3 (390b496)

:cd ~/.fzf && git pull origin master && git status ~/.fzf/
From https://github.com/junegunn/fzf
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Current branch master is up to date.
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working tree clean

Thanks for the report but it's a duplicate of #809.

Thanks for the redirect, sorry for wasting time


Add virustotal check for casks

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Checks virustotal for positive results matching the download URL.
Fixes https://github.com/Homebrew/homebrew-cask/issues/56223

So this works only if a user has an API key and sets it in HOMEBREW_VIRUSTOTAL_API_TOKEN, correct?
Does this API call cause VirusTotal to download the app on their end? I ask because on their website, giving a URL is not the same as giving a file upload. A URL is detected as malware by fewer engines than uploading the download of that URL.
Pinging @core-code and @randall.

Yes, you will need to set an api key.
It also only checks a URL. It's not a perfect solution but it'll already catch more than without the audit.
I also still want to make virustotal scan the URL of it can't find results but I only thought of that once I read your comments just now.

@SMillerDev thanks for working on improvements here, happy to see that!
i've been running regular VirusTotal checks over all Casks for well over a year and i think i can confirm what @vitorgalvao has alluded to above: checking the URL itself is not really useful. i am not even sure it qualifies as 'better than nothing'. what you need to do is an actual file check. there are two ways to do it:
• check the SHA256 given in the CASK or
• do an URL check first and then look at the 'filescan_id' and then do another 'file' lookup with this ID
i've been doing both, since you never know .... ;-)
additionally you often get 'old' results from VirusTotal so i'm also using their 'rescan' API to initiate a re-check for every result older than 8 weeks.
i'd be happy to share our code for this if this would help. its around 250 lines of ObjC

i'd be happy to share our code for this if this would help. its around 250 lines of ObjC

It would be useful to have this in Homebrew/brew. For that, however, it'll need to be ported to Ruby.

i can provide the code, and could even work on enabling it to run in a more stand-alone fashion if that is required, but sorry i can't port it to Ruby.
but the concepts should be easy to see from it so that may help with getting the file-checks running.
i've attached the relevant excerpt for reference.
vt.m.txt

I've updated the PR. I think anything that can potentially catch something is worth merging though. It might not catch as much as a full file upload but it's a quick check that has the possibility to catch issues.

full file upload

as mentioned there is no need upload anything. just check the SHA or the 'filescan_id' attached to the URL check response.

@vitorgalvao Thanks for the ping! I've had a rough couple of days fixing things for folk.
So yes, the ML already runs intended updates through Malice before running cask-repair; which was a recommendation by another HBC user (I forget who it was exactly). I thought Malice was/is a better fit for the ML as there is some wording in the VirusTotal agreement that caused me some concern. Now, Malice has some real problems, but I believe it does parse VirusTotal (and a handful or two of all the other APIs) successfully still. I meant to update Malice to fix some of the problems, but I haven't had the time to in the last few months.
That said, per the estimations and analytics of the ML, the ML covers about 72% of the all the casks offered on HBC (with an error / fail rate of just under 8% [credit: @suschizu and @core-code]). So I would say it's probably not super necessary, as it's only going to get better on the ML's end as we continue.
However, from an end-user perspective, I do agree with what @SMillerDev Is doing. Furthermore, I believe this would fit the VirusTotal user agreement because it's on the end-users' end.

It could also be run by CI. Either way I believe that maintainers should not run anything on their machines to maintain parts of homebrew. So until the more advanced checks are submitted as audits, I think this will adds value.

Either way, I believe that maintainers should not run anything on their machines to maintain parts of homebrew.

@SMillerDev To clarify, the ML is its own free-standing entity and the idea of its telemetry processes is to prevent bad updates from happening. Currently, if the telemetry raises a concern about an update; intervention is required. That said, the ML could probably run on its own without any human intervention; but most of those features are off and not really developed past a basic prototyping point.

i can provide the code, and could even work on enabling it to run in a more stand-alone fashion if that is required, but sorry i can't port it to Ruby.
but the concepts should be easy to see from it so that may help with getting the file-checks running.

@core-code Yes, that would be good to have in a public repo somewhere, thanks.

@MikeMcQuaid here you are: https://github.com/core-code/VirusCheckHBC


Update babel core to 7.7.0 and typescript to 3.7

babel 7.7.0 is released (and I want to use TypeScript 3.7 features)
https://babeljs.io/blog/2019/11/05/7.7.0

test fails due to this issue https://github.com/typescript-eslint/typescript-eslint/issues/1138

Thanks @adwd - we are now waiting for a new prettier release as mentioned in #7438

Looks like Prettier was updated to 1.19.1 last night. Details here

Hi thanks for the PR. We upgraded these packages in another PR so I'm going to close this one.


Is this still for beta users as the note indicates?

Does the note still apply that this is for beta users?

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

ID: 6aada92a-f7b6-2e74-7a78-180f48d67450
Version Independent ID: 68697885-45d5-e8ff-f82e-984af113eb4f
Content: Tutorial: Configure GitHub Enterprise Managed User (OIDC) for automatic user provisioning with Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @twimmers
Microsoft Alias: thwimmer

@dnielsen2022 This was a limitation put in place by the GitHub team, please reach out to them to see if they have opened this up to be GA yet.

@dnielsen2022
I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request). Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
[Teams Q&A forum] (https://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html) for technical questions about the configuration and administration of Microsoft Teams on Windows.
[Microsoft Teams Community forum] (https://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1)
Thank you for your time and patience throughout this issue.


only commits to (a) given subdir(s)?

Since I am filing wishlist items... :-)
How about being able to filter commits to a (list of) subdir(s)?

Not possible yet but sounds good. Feel free to implement such a feature. I'll be happy to merge it in.


Missing region for Zambia

     {
        "name": "Muchinga",
        "shortCode": "10"
      }

Will be in 2.8.0 - I'll release it today.


Spike/POC Improve moveAwayFrom formula

The current moveAwayFrom formula in explore searches has unintuitive results. If the force is high enough and the moveAwayFrom vector is close to the original source, we end up at a very different end of the vector space where we seemingly lose all meaning.
The improvement idea is instead to just move by the delta instead of by the whole vector. This is unproven as of now and needs Spiking/Investigation to find out if this actually improves results.

The identified problem:
In the calculation of the search vector with the moveAwayFrom argument, the following happens. The vector of the moveAwayFrom concepts is taken and mirrored against the origin of the vector space. This point is then taken in a similar calculation as moveTo, with the idea that you want to 'move to' the opposite of the moveAwayFrom vector.
In essence this idea is right, but implemented wrong. You indeed want to 'move to' the opposite of the moveAwayFrom vector, but the "opposite" of this vector is calculated wrong, namely against the origin instead of the current search vector you want to apply the move away function on.
Proposed solution:
Handle a moveAwayFrom argument as follows:

Calculate the vector position of the moveAwayFrom concepts (already done correctly)

Calculate the vector position of the  moveAwayFrom concepts as opposite of the source vector (instead of as opposite of the vector space origin). Could be like: opposite_of_moveawayfrom_vector = ( 2 * source_vector ) - moveawayfrom_vector

Calculate the new vector position of the search query similar as moveTo, because in essence you want to move to the vector resulted from step 2. With the formula as already known:

source_vector * ( 1 - moveawayfrom_force * multiplier ) + direction * opposite_of_moveawayfrom_vector * ( moveawayfrom_force * multiplier )
, where direction is always 1 so could be left out.

Question: What's the motivation behind the 2 * in 2 * source_vector ? Based on the WhatsApp video (1 of 3) I would have assumed that we simply need source_vector - move_away_vector?

That's to apply the delta to the source vector. So source_vector - move_away_vector calculates the delta (aka difference between the source and move_away_vector, aka the lowest dotted line in the picture). And to get to the opposite_of_moveawayfrom_vector (aka the x in the lower graph of the picture), we need to apply the delta to the source_vector.
So 2 * source_vector simply comes from (source_vector - move_away_vector) + source_vector

But isn't this taken care of by the left half of the final formula already?
Given the following numbers and ignoring weighing for the sake of simplicity:
source: (1.0, 1.0)
moveAwayFrom (1.2, 0.8)

Igonring the 2x the final formula would be
vec = source + (source-moveAwayFrom)
    = (1.0, 1.0) + (-0.2, 0.2)
    = (0.8, 1.2)

which matches the number from you WhatsApp video (and also makes sense intuitively), but I completely ignored the 2*?

Yes,
vec = source + (source-moveAwayFrom)
    = (1.0, 1.0) + (-0.2, 0.2)
    = (0.8, 1.2)

would be the calculation to calculate the vector that the source vector needs to move towards.   So that's step 2. Then in step 3 you apply this vector (as opposite_of_moveawayfrom_vector aka moveTo_vector).

vector that the source vector needs to move towards

What do we gain from from this two-step approach? Why can't it be the final target already?

The two-step approach was to clarify how the moving works, as it seemed more intuitive to explain it this way. But the shorter formula to calculate the new vector with moveAwayFromVector a sourceVector is indeed:
finalVector = sourceVector +  moveAwayFromForce * multiplier * (sourceVector-moveAwayFromVector)

The proposed change has been implemented and a preview docker image is available at semitechnologies/weaviate:improved-moveaway-preview.
Please evaluate, if it behaves as intended. If we're happy with it, I can make a release containing this as well as the #995 implementation.

New preview semitechnologies/weaviate:improved-moveaway-preview-2 now available which makes sure that forces in either direction are fair, i.e. a force of e.g. 0.7 leads to the same movement absolute movement (in euclidean terms) whether it's on a moveTo or moveAwayFrom. Note: This does not always translate to a different cosine distance. (E.g. if me move from (1.0, 1.0) to (1.1, 1.1) the angular distance would not be changed)


Can't run

After installing locally to my home directory (since I can't install with -g on this box):
#<EMAIL_ADDRESS>draft-ietf-ace-cmpv2-coap-transport-09.txt
node:internal/process/esm_loader:97
    internalBinding('errors').triggerUncaughtException(
                              ^

[Error: ENOENT: no such file or directory, open './package.json'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: './package.json'
}

Node.js v18.13.0

Don't try to install @ietf-tools/idnits if you are developing. (You may need to restore package-lock.json and package.json).
Just use npm install as noted further down the readme.
I can get to the point where the tests pass, but I can't yet run the CLI (I have an older node and it insists on v18 or greater.

In your case, you would need to cd into ~/node_modules/@ietf-tools/idnits/ first, then run node cli.js from there.
However, it might be a better idea to simply use npx @ietf-tools/idnits <args> which should download the package in a local cache, rather than installing globally.


The image has misspelled words in it.

Please verify / correct the the Image at the top of the page, the word, "enrolment" is misspelled - should read, "enrollment".

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

ID: 0075e68e-d22e-f35d-d7d4-b936dcb3e6ad
Version Independent ID: 11caebc2-6caf-0095-3eb5-564e18a15488
Content: Enterprise Agreement enrollment and Azure Active Directory tenants - Cloud Adoption Framework
Content Source: docs/ready/enterprise-scale/enterprise-enrollment-and-azure-ad-tenants.md
Service: cloud-adoption-framework
Sub-service: ready
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#267907

This issue has been fixed.


Exposed Scan Status

Addressing issue for Scan Status, this will add one more field to the response /burp/scanner/status, with scanStatus: "none" being default at start. scanPercentage is left untouched.

Hey @MohmedH, I've reviewed the code, and it seems that in the following lines (92-96) (https://github.com/vmware/burp-rest-api/pull/118/commits/498a6f21271f27ac3ac4cb8511f2dee2cb1630da#diff-089241fc2ff1c28fb21a5a8170eb7f2db11601f35e49d3f446e1dde9cb45bfe5R92-R96)

  for (String url : map.keySet()) {
    for (IScanQueueItem iScanQueueItem : getQueue(url)) {
       status = iScanQueueItem.getStatus();
       log.info("Scan Percent Complete: {}", status);
       return status;
    }

App will always return the first result from queue. Imaging the scenario where we will start multiple scans we will not be able to get their statuses at all. Either you can append all scans statuses or get only the last from the queue. Feel free to fix this and we'll approve the request.

Hey @MohmedH, I've reviewed the code, and it seems that in the following lines (92-96) (https://github.com/vmware/burp-rest-api/pull/118/commits/498a6f21271f27ac3ac4cb8511f2dee2cb1630da#diff-089241fc2ff1c28fb21a5a8170eb7f2db11601f35e49d3f446e1dde9cb45bfe5R92-R96)

  for (String url : map.keySet()) {
    for (IScanQueueItem iScanQueueItem : getQueue(url)) {
       status = iScanQueueItem.getStatus();
       log.info("Scan Percent Complete: {}", status);
       return status;
    }

App will always return the first result from queue. Imaging the scenario where we will start multiple scans we will not be able to get their statuses at all. Either you can append all scans statuses or get only the last from the queue. Feel free to fix this and we'll approve the request.


s/Cloud Events/CloudEvents/g

And add a pointer to the CloudEvents site

I had a slack with Doug, closing.


How to add table comments at migrations ?

Laravel Version: 7.11.0
PHP Version: 7.4.5
Database Driver & Version: MySQL 8.0.20

Description:
How to add table comments at migrations ?

Schema::create("foo", function (Blueprint $table)
    {
     .
     .
     .
    });

   DB::statement("ALTER TABLEfoo comment 'comment'");

Hi @thisismhp
https://laravel.com/docs/7.x/migrations#column-modifiers
look for comment in the Column Modifiers table.

Hi @sergeByishimo
@hihuangwei wants add comment for tables not columns

yeah sorry! @thisismhp that answer you provided is right!
i wonder if a much nicer way is PR worthy!!

@sergeByishimo :) tnx

yeah sorry! @thisismhp that answer you provided is right!
i wonder if a much nicer way is PR worthy!!
$table->comment('example comment')

this is a feature request.
laravel team must answer it!


Problem with delta_files as the break_lineage_method

What happens?
The break_lineage_method "delta_files" in the spark linker is missing the write path in the save command.

To Reproduce
Create any splink job using "delta_files" as the break_lineage_method
OS:
ubuntu 22-04
Splink version:
all
Have you tried this on the latest master branch?

[X] I agree

Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?

[X] I agree

Thanks - good spot.  Feel free to do a PR, or else we will fix this shortly.  (If you have the time, a PR would be very useful, since we don't have DataBricks access so it's a bit harder for us to test)


Nvidia driver/library mismatch on real GPU (turing) builds

We've been seeing some extremely mysterious intermittent failures on the cmake turing build

docker run --volume=/tmpfs/src/github/iree:/tmpfs/src/github/iree --workdir=/tmpfs/src/github/iree --rm --user=1003:1004 --volume=/tmpfs/fake_etc/group:/etc/group:ro --volume=/tmpfs/fake_etc/passwd:/etc/passwd:ro --volume=/tmpfs/fake_home:/home/kbuilder --volume=/home/kbuilder/.config/gcloud:/home/kbuilder/.config/gcloud:ro --gpus all gcr.io/iree-oss/cmake-python-nvidia@sha256:b77508153d66d55cd89be80d54484972340ea9c49dbb1285403386215afdcdf7 build_tools/kokoro/gcp_ubuntu/cmake/linux/x86-turing/build.sh
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused "process_linux.go:432: running prestart hook 0 caused "error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver/library version mismatch\n""": unknown.

e.g. https://source.cloud.google.com/results/invocations/5653316c-e237-42f6-9959-ae292896059b/targets/iree%2Fgcp_ubuntu%2Fcmake%2Flinux%2Fx86-turing%2Fmain/log
These point to a mismatch between the Nvidia driver on the docker image and the underlying vm image (which have to be the same for docker to work with GPUs).
Tangential rant:
But we haven't updated the VM image since we got it working in July (2020-07-24, to be precise) and we haven't updated anything about any relevant directory in two weeks (let alone actually substantive changes that could affect this, which hasn't changed in months). So we're deeply confused what's going on here. Ubuntu seems to have dropped support for the 440 nvidia driver we're using, but I don't understand how that could've been incorporated into our static VM image.
Anyway, while mystified why this is occurring, we suspect that just updating both the VM image and the docker image to use the latest (and the same) Nvidia drivers should make this issue go away. Since there's no way to update these at the same time and since it's already failing, I'm going to disable the real GPU continuous builds temporarily to reduce noise while this goes through.

I believe we may have figured out why this is happening
$ pgrep -i apt --list-full
5077 /bin/sh /usr/lib/apt/apt.systemd.daily install
5093 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install

Ubuntu is upgrading itself with some cron job. That probably also explains why it was intermittent. Only in VMs where this had completed would we get the failure. Ugh that is so annoying :-P These updates are possible to disable: https://linuxconfig.org/disable-automatic-updates-on-ubuntu-18-04-bionic-beaver-linux
Of course there are dire warnings there about security... Hmmmm
I think we can just freeze the Nvidia drivers:
https://chrisalbon.com/deep_learning/setup/prevent_nvidia_drivers_from_upgrading/
That seems like a reasonable compromise

I believe we may have figured out why this is happening
$ pgrep -i apt --list-full
5077 /bin/sh /usr/lib/apt/apt.systemd.daily install
5093 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install

Ubuntu is upgrading itself with some cron job. That probably also explains why it was intermittent. Only in VMs where this had completed would we get the failure. Ugh that is so annoying :-P These updates are possible to disable: https://linuxconfig.org/disable-automatic-updates-on-ubuntu-18-04-bionic-beaver-linux
Of course there are dire warnings there about security... Hmmmm
I think we can just freeze the Nvidia drivers:
https://chrisalbon.com/deep_learning/setup/prevent_nvidia_drivers_from_upgrading/
That seems like a reasonable compromise

Even better:
When the apt job starts, it will sleep for a random period between 0 and APT::Periodic::RandomSleep seconds. The default value is "1800" so that the script will stall for up to 30 minutes (1800 seconds) so that the mirror servers are not crushed by everyone running their updates all at the same time. Only set this to 0 if you use a local mirror and don't mind the load spikes. Note that while the apt job is sleeping it will cause the execution of the rest of your cron.daily jobs to be delayed.

Even better:
When the apt job starts, it will sleep for a random period between 0 and APT::Periodic::RandomSleep seconds. The default value is "1800" so that the script will stall for up to 30 minutes (1800 seconds) so that the mirror servers are not crushed by everyone running their updates all at the same time. Only set this to 0 if you use a local mirror and don't mind the load spikes. Note that while the apt job is sleeping it will cause the execution of the rest of your cron.daily jobs to be delayed.

I'm turning off auto-upgrades. These are short-lived VMs anyway, so we wouldn't even get any real benefit

I'm turning off auto-upgrades. These are short-lived VMs anyway, so we wouldn't even get any real benefit

And figured out why this wasn't happening in the cmake-bazel turing build. That build is not actually using real GPUs at all :facepalm: (#4514)

And figured out why this wasn't happening in the cmake-bazel turing build. That build is not actually using real GPUs at all :facepalm: (#4514)

Great findings! Thanks @GMNGeoffrey for digging these weirdness out!! :D
I suspect that we used a graphical Ubuntu desktop as the base for the VM image? Auto updating seems something suitable there. I won't expect a server Ubuntu to do that. Ubuntu official docker images do not have /etc/apt/apt.conf.d/20auto-upgrades either.

Great findings! Thanks @GMNGeoffrey for digging these weirdness out!! :D
I suspect that we used a graphical Ubuntu desktop as the base for the VM image? Auto updating seems something suitable there. I won't expect a server Ubuntu to do that. Ubuntu official docker images do not have /etc/apt/apt.conf.d/20auto-upgrades either.

This build is now passing on the main branch
https://source.cloud.google.com/results/invocations/29d823c4-6267-484a-83ff-fa08d991560d/targets/iree%2Fgcp_ubuntu%2Fcmake%2Flinux%2Fx86-turing%2Fmain/log

This build is now passing on the main branch
https://source.cloud.google.com/results/invocations/29d823c4-6267-484a-83ff-fa08d991560d/targets/iree%2Fgcp_ubuntu%2Fcmake%2Flinux%2Fx86-turing%2Fmain/log


OAuth "read" not granting all permissions in get_content wrappers

When authenticating with OAuth, and the "read" permission is in scope, any calls to a subreddit's contributor list with the function subreddit.get_contributors() returns a 403 forbidden response.
This is a sub I have full moderator permissions to, and I can view the content in-browser, as well as retrieve otherwise-private post and comment information. I simply can't access the contributor list for some unknown reason.

I should note that in the list of scope permissions, "get_contributors" is not a listed function.
http://praw.readthedocs.org/en/latest/pages/oauth.html#oauth-scopes

Also returns a 403 when using subreddit.get_moderators()

Thanks for filing. I've found that PRAW is not sending the proper OAuth headers on these requests, but rather than apply a bandaid fix I think I'm going to bundle these in with some other changes. I'll let you know when that happens.

Same issue with Submission.from_url()

Thanks, #482 will fix both of these. I've added a new test_get_moderators_contributors_oauth for OP's issue, and test_get_submission_by_url_oauth is currently passing.

#482 is merged with fresh, passing tests, so that should close this issue. Let me know if it resurfaces.


Update id_ID.xaml

update some text, will update some text it asap

Note. Changes merged with Crowdin.


  Please address this.

This is a non-issue. They are beautiful


Refs #26601 -- Removed obsolete workarounds for MIDDLEWARE_CLASSES setting.

@sir-sigurd Thanks! Can we add also tests for these assertions? We have tests only for CSRF_USE_SESSIONS.

@sir-sigurd Thanks!


android-exoplayer behavior wrong with resizeMode contain

Current behavior
Hi,
I build video player use react-native-video, it works well before with Android MediaPlayer but it loads slow then I move to Android ExoPlayer and it's faster.
But I see Android ExoPlayer is doing wrong with resizeMode  contain. It doesn't update video content when I change new video source.
Reproduction steps
First I create Video element with fixed size ratio 16:9 and resizeMode is contain
Second step,  I load a remote video is ratio 1:1 (square)  https://softmedia.cuoibachay.com/videos/video-2282-chu-khi-thong-minh-nhat-the-gio-o-nhat-ban.mp4 . It looks good. square video center of player, correctly.
Then I next to other video (update source) with ratio 16:9 (https://softmedia.cuoibachay.com/videos/video-2293-cach-ngoi-thien-tren-la-sen-khong-lo-o-mien-tay.mp4) then it should be fit player right? but it doesn't. It's till square at center of player like last video.
Expected behavior
It should behavior correctly with contain mode is contain when update new video to player
Platform
Which player are you experiencing the problem on:

Android ExoPlayer 2.8.2

Video sample

square video: https://softmedia.cuoibachay.com/videos/video-2282-chu-khi-thong-minh-nhat-the-gio-o-nhat-ban.mp4
16:9 video https://softmedia.cuoibachay.com/videos/video-2293-cach-ngoi-thien-tren-la-sen-khong-lo-o-mien-tay.mp4

did you ever find a fix for this? I'm guessing the component has to re-render

the problem is RTCVideo component, it does not re-render, it seems. But when i use the debugger to change, say it's height by a 1 pixel it will suddenly re-render to the proper size

Hey @DISKONEKTeD , @bachphuc , better later than never, are you still using this and if so can test the PR #2053 ?


feat(specs): add playwright workflows

Discord username (optional), please include so we can attribute you with our Contributor role (like so elvis#4747)
KOO#8922
Description of changes (updated or new workflows)
Add 9 Playwright workflows

@alokedesai I've added Playwright in the name of all workflows. Let me know if any further edits are needed :)

Thank you @DominusKelvin!


compliance reporting ui: search by control tags

User Story
As an Automate user, I want to be able to filter my nodes by control tags
Why?
InSpec provides a mechanism that can be used for 'grouping' controls across profiles (tags)
Users would like to filter their set of nodes being scanned in Automate by selecting a control tag, so they can narrow their query to a group of controls across several profiles.
Considerations
backend work is in progress: https://github.com/chef/automate/issues/519
the work for this card will include extending the search bar to include control tag filter option and properly handling that filter for communication with the api
Designs
Filter Functionality
Follow the same pattern as the Events Page Search component when choosing Event Type, but expanding to 3rd tier drop down menu.
Step 1: Default state of search box

Step2: User clicks or tabs to search box, category drop down displays.

Step 3: User chooses Tag category, system then prompts user to choose Tag Key from dropdown

Step 4: System then shows category|tag Name label in search box, user can then type in a value with wild card, and system can suggest values.

Step 5: after user enters in desired value, system displays filter criteria tag below.

Definition of Done
Can search (get suggestions and filter on) control tags in Automate

This PR allows the compliance API calls to be filtered by control tags: https://github.com/chef/automate/pull/1374
I'm looking into control_tag suggestions next...

https://github.com/chef/automate/pull/1505

to get suggestions for the control tag key:
GRPC reporting, :list_suggestions, Reporting::SuggestionRequest.new(
      type: 'control_tag_key',
      text: 'scope',
      filters: [
        Reporting::ListFilter.new(type: 'start_time', values: ['2018-02-01T23:59:59Z']),
        Reporting::ListFilter.new(type: 'end_time', values: ['2018-03-04T23:59:59Z'])
      ],
      size: 10
    )

to apply the control tag key filter:
Reporting::ListFilter.new(type: 'control_tag:scope', values: [])
*note that the key value is attached to the control_tag type via colon. this is because the control tag values will go in the values part

to get suggestions on control tag value:
GRPC reporting, :list_suggestions, Reporting::SuggestionRequest.new(
      type: 'control_tag_value',
      filters: [
        Reporting::ListFilter.new(type: 'start_time', values: ['2018-02-01T23:59:59Z']),
        Reporting::ListFilter.new(type: 'end_time', values: ['2018-03-04T23:59:59Z']),
        Reporting::ListFilter.new(type: 'control_tag:satisfies', values: []),
      ],
      size: 5
    )

to apply control tag value filter:
Reporting::ListFilter.new(type: 'control_tag:scope', values: ['test'])

PLEASE NOTE: this issue is HIGH PRIORITY -- we need to get this done ASAP to fulfill promises made to customers

(backend pr has not yet merged but should in the coming days)

@jonong1972 @vjeffrey did y'all want to put this in prioritized? the ux team organized priority and we kept the prioritized column nice and small this week. so theres prolly room to move this over if y'all would like to.

also curious, @jonong1972 should the label in step 2 be Control Tag to differentiate it and make clear that it's different from Chef Tag?

did y'all want to put this in prioritized?

ya, works for me! the reason i didn't yet is the backend work is not yet merged but i imagine it won't be too much longer/will be merged by the time ppl get around to it

should the label in step 2 be Control Tag to differentiate it and make clear that it's different from Chef Tag?

i'm +1 on that ^

also curious, @jonong1972 should the label in step 2 be Control Tag to differentiate it and make clear that it's different from Chef Tag?

Yes. I will update the mock up. thanks

pls message @vj or ask in #superteam if you have any questions while working on this

in case it helps, here's an example playing with the api:


graphics.undefineEffect()

Currently, after calling graphics.defineEffect() successfully, the effect in question persists while the program does: until close or relaunch. This is almost always perfectly fine.
There are some trouble spots, however.
One of them: editing shaders. I've dabbled with something where you link nodes together, à la Blender or Unreal Editor. An in-app take on Shader Playground would be another example. Without being able to replace obsolete ones, new effects (with unique names) will continue to accumulate as we make updates, wasting many CPU- and GPU-side resources. This is especially egregious since an edit might only change a line or two!
@XeduR also mentioned this being relevant to his Solar2D Playground, if one wants to write custom shaders. Since a "true" relaunch never actually occurs, some steps need to be emulated, but this falls flat with permanently registered effects.

The details:
A few concerns needed addressing.
Removing the effect is one thing, but what if an object is still using it? With most effects, this actually "just works", since resources doled out to instances are either cloned or ref-counted.
Multi-pass effects complicate matters. In general, effect resources are only instantiated on demand, when we first assign the effect. With "simple" effects this is straightforward, since the defined one is what we want.
When defining a multi-pass effect, we list  several sub-effects by name in graph.nodes. Presumably, we want these to be effects that are already defined, or soon will be. That "will be" speaks to the problem: since resources are instantiated lazily, one of these child effects might be undefined and even replaced before the actual multi-pass one is ever brought into being. Simply grabbing whatever goes by a given name is now a matter of uncertainty.
To address this, a "stub" system has been introduced. If a multi-pass effect uses any custom shaders, we map a stub table to each name, keeping these in a local list. We also add them to a global list. (If a name is already present in the latter, we instead add the corresponding stub to the local list.) Since both lists see the same table references, the stubs are shared.
If we undefine a child effect, it will see that it has a stub in the global list. It registers its lazy-loader here; the stub being shared, this will show up in the multi-pass effects' local lists. The entry is then evicted from the global list, since it no longer exists to the world at large.
While a multi-pass effect is being instantiated and connecting its child effects, it consults its local stubs. Any lazy-loader found in this way is used instead, so the proper choices are made despite any undefinitions.

This is my test:
--- Test for graphics.undefineEffect().

-- Permission is hereby granted, free of charge, to any person obtaining
-- a copy of this software and associated documentation files (the
-- "Software"), to deal in the Software without restriction, including
-- without limitation the rights to use, copy, modify, merge, publish,
-- distribute, sublicense, and/or sell copies of the Software, and to
-- permit persons to whom the Software is furnished to do so, subject to
-- the following conditions:
--
-- The above copyright notice and this permission notice shall be
-- included in all copies or substantial portions of the Software.

-- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
-- [ MIT license: http://www.opensource.org/licenses/mit-license.php ]

graphics.defineEffect{
  category = "filter", name = "effect1",
  isTimeDependent = true,

  fragment = [[
    P_COLOR vec4 FragmentKernel (P_UV vec2 uv)
    {
      return vec4(uv.x * .5 + sin(CoronaTotalTime * 3.7) * .5, 0.0, uv.y * fract(CoronaTotalTime * 18.), 1.0);
    }
  ]]
}

local r1 = display.newRect(display.contentCenterX, display.contentCenterY, 250, 250)

r1.fill.effect = "filter.custom.effect1"

for k, v in pairs(graphics.listEffects("generator")) do
--  print("GENERATOR, STEP #1: ", k, v)
end

print("")

graphics.defineEffect{
  category = "filter", name = "quantized",

  fragment = [[
    P_COLOR vec4 FragmentKernel (P_UV vec2 texCoord)
    {
      texCoord = floor(4. * texCoord) / 4.;

      return texture2D(CoronaSampler0, texCoord);
    }
  ]]
}

graphics.defineEffect{
  category = "filter", name = "blurred",

  graph = {
	   nodes = {
		  blur = { effect = "filter.custom.quantized", input1 = "effect1" },
		  effect1 = { effect = "filter.custom.effect1", input1 = "paint1" },
	   }, output = "blur"
   }
}

graphics.undefineEffect("filter.custom.effect1")

for k, v in pairs(graphics.listEffects("generator")) do
--  print("GENERATOR, STEP #2: ", k, v)
end

print("")

graphics.defineEffect{
  category = "filter", name = "effect1",

  fragment = [[
    P_COLOR vec4 FragmentKernel (P_UV vec2 uv)
    {
      return vec4(uv, 0.0, 1.0);
    }
  ]]
}

local r2 = display.newRect(250, 200, 300, 300)

r2.fill.effect = "filter.custom.effect1"

for k, v in pairs(graphics.listEffects("generator")) do
--  print("GENERATOR, STEP #3: ", k, v)
end

timer.performWithDelay(100, function()
  r2.x = math.random(249, 251)
end, 0)

print("")

timer.performWithDelay(3000, function()
  r1:removeSelf()
end)

local DummyFill = { type = "image", filename = "Image1.jpg" } -- image not actually used, just to get uvs in the effect

timer.performWithDelay(700, function()
  local x, y = math.random(display.contentWidth), math.random(display.contentHeight)
  local rect = display.newRoundedRect(x, y, 250, 250, 12)

  rect.fill = DummyFill
  rect.fill.effect = "filter.custom.blurred"
end, 5)

I tested with this image, but anything would do, since it was only used to get the fill to generate texture coordinates.

They were getting noisy during testing, but those print()s in the graphics.listEffects() loops can be uncommented to show everything currently (still) defined. Most of these are Solar's built-ins but you'll also see (or not) the ones written for the sample.
I create a first object, r1, and assign it an effect, filter.custom.effect; it sticks around briefly before being removed. In the midst of this, graphics.defineEffect() is called, but r1 is fine and even performs time-dependent updates.
Another "effect1" is then defined and assigned to a new object, r2.
A multi-pass effect incorporating the original filter.custom.effect1 is defined early on and then some rounded rects using it are gradually added via a timer. By the time these happen, the old "effect1" has been undefined.

A couple more cases may be tested:
If we never assign it to r1, filter.custom.effect1 gets undefined before ever being instantiated. In one of the middle commits I had been registering prototypes in the stubs, but this situation will undermine that approach; the lazy-loaders
exist immediately after definition, so proved to be the right way to go.
Removing r1 actually came from an older test: if you comment out the timer that creates the rounded rects, nothing more will reference the original filter.custom.effect1 once r1 is gone, and its GPU resources will soon be cleaned up. (I had some CoronaLog()s in Rtt_GLProgram.cpp code verifying as much, since removed.)

Like I already said, this is brilliant stuff!


(Suggestion) Tap outside of comments view on iPad to return to the subreddit

A tap outside of the comments view / on the posts in the background would act as if the user had pressed the X button in the title bar. Makes the app a little easier to use but should be an option as some people might accidentally press it. (Or make it double/triple tap)

Or tap to close in other areas of the app as well such as images. Useful on iPad because the size of the screen can make it difficult to reach for the close icon or swipe

I think this is a good idea, but I don't think it should be an option - it should be default.
This approach fits much better with what users expect when using iOS and would match the design model of built in apps such as the App Store and iOS folders.

Interestingly enough, this design is quite difficult to do because Apple explicitly doesn't allow gesture detection outside of a modally-displayed view such as comments

Done for next alpha


add node 12.16.1 image

@bahmutov
Node.js v12.16.0 included 6 regressions that are being fixed in v12.16.1.

cc @jennifer-shehane


new directions on readme file

improved readme file, please review.

hey it looks good I will push to frontend-main


circulation: avoid duplicated loans requests

adds a check before creating a request to ensure that there is not
already a pending request or an active loan for the same patron on the
same item
closes #24

Blocked by: https://github.com/inveniosoftware/invenio-circulation/pull/77


With buffer

BREAKING CHANGE: This changes the API, making the user of the API
responsible to create a large enough buffer to decompress the given
data.

bors try

bors try

Hi! Do you plan to merge this?
BTW IIUC if you'll add output buffer as an argument to compress function as well you can make this crate no_std capable (i.e. suitable for embedded development). For convenience you can add a separate method which will be generic over Write trait.

I haven't touched that code in quite a while. Are you using lzf-rs in any form?
Giving it a brief look I see some small unsafe things that should be fixed first.

I plan to use it for PCD format decoder. LZF is used in it for not listed on the page binary_compressed variant.
BTW I think it could be worth to remove C code from this repo and leave only test vectors. Initially I was a bit confused and thought that this crate wraps C lib.

Initially it was a wrapper around the C code. The C code is still used for compatibility checks on CI and I intend to keep that.
I'll give it another look and see if I can merge this.

Any progress on this? We might be looking at using this code in hdf5-rust if we have a function that takes slices.

Any progress on this? We might be looking at using this code in hdf5-rust if we have a function that takes slices.

Haven't worked on this in .... I guess somewhere between 2 1/2 and 4 years.
It definitely needs some work (look at all that unsafety and use of mem::uninitialized)
I won't have time anytime soon to fix that or pick up this PR again.
If you want to use it I would recommend picking up the code again, I then might be able to squeeze in a review.

Haven't worked on this in .... I guess somewhere between 2 1/2 and 4 years.
It definitely needs some work (look at all that unsafety and use of mem::uninitialized)
I won't have time anytime soon to fix that or pick up this PR again.
If you want to use it I would recommend picking up the code again, I then might be able to squeeze in a review.


Force sdl2 to be version 2.3.0, as there is a bug with 2.2.0 and GHC 8.0

These are the simple changes I made to get reflex-sdl2 working on Windows 10. There is more detail here, but I'll copy it for reference:
I had previously installed pkg-config and SDL2 with:
stack exec -- pacman -Sy
stack exec -- pacman -S mingw-w64-x86_64-pkg-config
stack exec -- pacman -S mingw-w64-x86_64-SDL2

It might also be necessary to add the directory where these libraries and executables are installed to your PATH. For me, this location was at /c/Users/kyle/AppData/Local/Programs/stack/x86_64-windows/msys2-20150512/mingw64/bin.
After installing SDL2 I modified reflex-sdl2.cabal to require sdl2 >= 2.3.0, which is necessary to overcome a bug detailed here. Since sdl2-2.3.0 is not in the resolver, I added it as an extra-deps to stack.yaml (I also bumped my resolver to lts-9.4 since that's what I'm using on other projects).
After a stack build I was able to run the demo without a problem.

Thank you @0not :)