App crashes when an upload is retried

Summary:
I just opened my emulator and saw that there was a failed upload. I clicked on retry button and the app crashes.
Add System logs:
2018-07-26 23:58:32.275 3004-3004/fr.free.nrw.commons.debug D/ContributionsActivity: Restarting for fr.free.nrw.commons.contributions.Contribution@3c770c

    --------- beginning of system
2018-07-26 23:58:32.276 3004-3028/fr.free.nrw.commons.debug E/AndroidRuntime: FATAL EXCEPTION: UploadService
    Process: fr.free.nrw.commons.debug, PID: 3004
    java.lang.SecurityException: Permission Denial: opening provider com.android.providers.media.MediaDocumentsProvider from ProcessRecord{c92d88d 3004:fr.free.nrw.commons.debug/u0a126} (pid=3004, uid=10126) requires android.permission.MANAGE_DOCUMENTS or android.permission.MANAGE_DOCUMENTS
        at android.os.Parcel.readException(Parcel.java:1684)
        at android.os.Parcel.readException(Parcel.java:1637)
        at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4199)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:5476)
        at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2239)
        at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1517)
        at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1131)
        at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:984)
        at android.content.ContentResolver.openInputStream(ContentResolver.java:704)
        at fr.free.nrw.commons.upload.UploadService.uploadContribution(UploadService.java:196)
        at fr.free.nrw.commons.upload.UploadService.handle(UploadService.java:138)
        at fr.free.nrw.commons.upload.UploadService.handle(UploadService.java:48)
        at fr.free.nrw.commons.HandlerService$ServiceHandler.handleMessage(HandlerService.java:26)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.os.HandlerThread.run(HandlerThread.java:61)

Commons app version:
branch 2.8-release

Mind if I work on this one?

@albendz This issue is yours, looking forward to your pull request!
If it takes time please let us know here about the situation at least every 5 days, thanks :-)

Update: Still in progress.
Does anyone know what this comment refers to: https://github.com/commons-app/apps-android-commons/blob/master/app/src/main/java/fr/free/nrw/commons/upload/UploadService.java#L133 ?
I've repro'd the bug and I'm trying to track down whether it's a permissions issue or whether the temporary files don't exist anymore.
Is there a way to delete a failed upload to retry later for the user?

It refers to an issue where the content provider returned by google photos was not working correctly.
@misaochan might know about it.

There was an issue with security exceptions when users uploaded via Google Photos. Looks similar to the exception being mentioned here. Unfortunately I can't recall off the top of my head what exactly the issue was caused by.
I am actually hoping that this should have been fixed with the merging of #1749  in 2.8-release as that modifies the flow of the upload. Could you please test 2.8-release now and see if this still happens?

Is there a way to delete a failed upload to retry later for the user?

Sorry, not clear what you mean by that?

@maskaravivek says it happens on 2.8-release branch:/ I can be the right person to answer your questions and help debug @albendz , since lately I had a really close relationship:)

Is there a way to delete a failed upload to retry later for the user?
You can click cancel instead of retry.

Second think, to make sure if temp file is still there, you can check emulator file system.
1- Open android studio emulator
2- Tools->Android->Android Device Monitor-> file explorer -> storage-> emulated-> 0-> UploadingByCommonsApp and you reached our temp cache directory.
While you upload some image, file will be under that directory. If fails, it should still be there. If you cancel failed upload attempt, it shouldn't be there anymore. If you retry, it should retry with the file in mentioned directory.

I've done the same repo steps on 2.8 and there's no crash because there's a check to see if a file is present. Is this the fix I needed to verify?

Repro steps that cause a crash on master but not 2.8-release:

Install App
Use App to upload a Single photo
Put phone in airplane mode
Name photo
Try to upload
Close app (really close it not just remove focus)
Turn off airplane mode
Open app
Click failed upload
Hit back either in app or via phone
2.8-release - no crash
master - crash

@nicolas-raoul My last merge from master was July 30th. After pulling today, the crash no longer happens.


Fix typo

Sorry for my carelessness, this typo is introduced by me.
Signed-off-by: Zhang Wei<EMAIL_ADDRESS>

LGTM  :laughing:

LGTM


Video player - Lightbox version Design QA testing

User Story

As a [user role below]:
DDS Designer and Developer

I need to:
test the Lightbox version of the video player

so that I can:
be sure the developer's code correctly works as designed

Additional Information

The Kaltura video product is the IBM enterprise solution, branded internally as MediaCenter
Functional spec's are provided by the MediaCenter developer, Felipe Zutini Abella
Functional specs (# )

Acceptance criteria

[ ] Pattern is reviewed by designer and design defects are identified
[ ] New issues are opened to log individual defects
[ ] Screenshots of as-is and to-be design should be added to the issue when needed
[ ] Developer associated with building the pattern is assigned to the new issues
[ ] Appropriate labels are added to the issue  eg.  bug, dev

I'll take this story with #1419 and reduce the estimate since there will be much overlap.


asyncWrite is not a function

Version
3.2.1
Environment info
C:\Users\zxysilent>node -v
v10.14.1

Steps to reproduce
npm install -g @vue/cli
npm ERR! asyncWrite is not a function
npm ERR! pna.nextTick is not a function
npm ERR!
安装@vue/cli
What is actually happening?
npm ERR! asyncWrite is not a function

It’s an issue with n https://github.com/tj/n/issues/508


Thanks!

This is super great and it really helped me get a feel for elm. I'm wondering about the correct answer to one of the UnionTypes koans. Is there a place where I can see what the expected answers are?
https://github.com/compwron/elm-koans/blob/d1eead258ce71372fe16b873f2ad2a105d72215b/src/Koans/AboutUnionTypes.elm#L34

Nice! I'm glad it could help you get a feel for it.
As for that test, ya I don't know what I was going for there lol. I think I was trying to show "hey look this compiles even though one is a Strand and one is a Base because they're both DNA". To be honest that whole suite isn't my favorite and could probably use another look. I'll leave this issue open to remind myself to take another pass and see if I can come up with something a little clearer.
Thanks for the feedback! :smile:

:)

I also wanted to chime in as I just finished the koans - thanks for all of those! I like that I got to learn a little bit about elm-test too! :)

I ended up putting a comment in there (https://github.com/robertjlooby/elm-koans/pull/25) which should make this one less confusing.


Update SPMV kernel

Testing three different versions of SPMV kernel:

Kernel with both i <= j and i < j conditions -> 0.92x slowdown
Kernel with both i <= j and i <= j & !(i >= j) (using let statements for conditions) -> 0.90x slowdown
Kernel where input A has only values where i < j and separate matrix with just diagonal values is provided -> 1.30x speedup

Tested using 13 different sparse symmetric matrices in SuiteSparse.

Thanks Radha!


No encryption of s3 storage engine

As a tenant i want to have full access to my own backup s3. Therefor the encryption of this backup can be disabled, so that i can simply access the files.

done with #21


mix burn cannot be operated from Docker container

It is nature that burning firmware to microSD from Docker container is hard to support.
But it become awesome if mix burn can be operated from docker dev-container.
Please also see https://github.com/NervesJP/nerves-devcontainer/issues/5

(Copied from https://github.com/NervesJP/nerves-devcontainer/issues/5#issuecomment-732808430)
Status on macOS
root@be6d80382017:/workspaces/nerves-devcontainer/test# mix burn
==> nerves
==> test

Nerves environment
  MIX_TARGET:   rpi4
  MIX_ENV:      dev

** (Mix) Could not auto detect your SD card

This is because Docker container cannot access/detect microSD on host PC. One possible solution is calling fwup on host PC from Docker container. Alternatively, binding microSD device to docker container filesystem. But, are they possible?

(Copied from https://github.com/NervesJP/nerves-devcontainer/issues/5#issuecomment-732816508)
status on windows:
root@923930b7aad1:/workspaces/nerves-devcontainer/test# mix burn
==> nerves
==> test

Nerves environment
  MIX_TARGET:   rpi4
  MIX_ENV:      dev

** (ErlangError) Erlang error: :enoent
    (nerves 1.7.0) lib/nerves/port.ex:88: Nerves.Port.validate("cmd.exe", ["/c", "echo %TEMP%"], [])
    (nerves 1.7.0) lib/nerves/port.ex:25: Nerves.Port.do_cmd/4
    (nerves 1.7.0) lib/nerves/utils/wsl.ex:94: Nerves.Utils.WSL.get_temp_file_location/1
    (nerves 1.7.0) lib/nerves/utils/wsl.ex:237: Nerves.Utils.WSL.make_file_accessible/3
    (nerves 1.7.0) lib/mix/tasks/burn.ex:66: Mix.Tasks.Burn.run/1
    (mix 1.11.2) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.2) lib/mix/cli.ex:84: Mix.CLI.run_task/2

This is because current Nerves supports (native) WSL2 environment for Windows users. We may modify Nerves environment to resolve this situation.
The way to detect whether a container is based on WSL2 or native docker is uname -r and ls /.dockerenv
Ref: https://github.com/ETrobocon/etrobo/blob/master/scripts/etroboenv.sh#L55

@jasonmj suggested the useful information on ElixirForum.
https://elixirforum.com/t/nerves-development-environment-with-docker-and-vs-code/35973/3
When the host is Linux, I've surely checked this method works well.
However, I've also found it is not possible to pass through a USB device (or a serial port) to a container as it requires support at the hypervisor level both in Windows and macOS as the host.
I've added these info to README at https://github.com/NervesJP/docker-nerves/commit/0a0262d21fc55c7b61c042ea59e8ed10d0fef6ed

I also found an alternative way to use docker-machine and VirtualBox to pass through devices.
https://christopherjmcclellan.wordpress.com/2019/04/21/using-usb-with-docker-for-mac/
However, this operation is complicated and unacceptable as a guide for beginners.

(Copied from NervesJP/nerves-devcontainer#5 (comment))
status on windows:
root@923930b7aad1:/workspaces/nerves-devcontainer/test# mix burn
==> nerves
==> test

Nerves environment
  MIX_TARGET:   rpi4
  MIX_ENV:      dev

** (ErlangError) Erlang error: :enoent
    (nerves 1.7.0) lib/nerves/port.ex:88: Nerves.Port.validate("cmd.exe", ["/c", "echo %TEMP%"], [])
    (nerves 1.7.0) lib/nerves/port.ex:25: Nerves.Port.do_cmd/4
    (nerves 1.7.0) lib/nerves/utils/wsl.ex:94: Nerves.Utils.WSL.get_temp_file_location/1
    (nerves 1.7.0) lib/nerves/utils/wsl.ex:237: Nerves.Utils.WSL.make_file_accessible/3
    (nerves 1.7.0) lib/mix/tasks/burn.ex:66: Mix.Tasks.Burn.run/1
    (mix 1.11.2) lib/mix/task.ex:394: Mix.Task.run_task/3
    (mix 1.11.2) lib/mix/cli.ex:84: Mix.CLI.run_task/2

This is because current Nerves supports (native) WSL2 environment for Windows users. We may modify Nerves environment to resolve this situation.
The way to detect whether a container is based on WSL2 or native docker is uname -r and ls /.dockerenv
Ref: https://github.com/ETrobocon/etrobo/blob/master/scripts/etroboenv.sh#L55

This has been fixed at #2


compile error: use of unstable library feature 'stdsimd'

Since the latest ahash 0.8.7 release I'm hitting a use of unstable library feature 'stdsimd' on compilation.
We test on several architectures and operating systems and this only occurred on our macos m1 mac mini.
Full error:
 error[E0658]: use of unstable library feature 'stdsimd'
   --> /Users/m1ci/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.7/src/operations.rs:124:24
    |
124 |     let res = unsafe { vaesmcq_u8(vaeseq_u8(transmute!(value), transmute!(0u128))) };
    |                        ^^^^^^^^^^
    |
    = note: see issue #48556 <https://github.com/rust-lang/rust/issues/48556> for more information

error[E0658]: use of unstable library feature 'stdsimd'
   --> /Users/m1ci/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.7/src/operations.rs:124:35
    |
124 |     let res = unsafe { vaesmcq_u8(vaeseq_u8(transmute!(value), transmute!(0u128))) };
    |                                   ^^^^^^^^^
    |
    = note: see issue #48556 <https://github.com/rust-lang/rust/issues/48556> for more information

error[E0658]: use of unstable library feature 'stdsimd'
   --> /Users/m1ci/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.7/src/operations.rs:154:24
    |
154 |     let res = unsafe { vaesimcq_u8(vaesdq_u8(transmute!(value), transmute!(0u128))) };
    |                        ^^^^^^^^^^^
    |
    = note: see issue #48556 <https://github.com/rust-lang/rust/issues/48556> for more information

error[E0658]: use of unstable library feature 'stdsimd'
   --> /Users/m1ci/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.8.7/src/operations.rs:154:36
    |
154 |     let res = unsafe { vaesimcq_u8(vaesdq_u8(transmute!(value), transmute!(0u128))) };
    |                                    ^^^^^^^^^
    |
    = note: see issue #48556 <https://github.com/rust-lang/rust/issues/48556> for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `ahash` (lib) due to 4 previous errors

@Amanieu It looks like this is caused by https://github.com/tkaitchuck/aHash/pull/183
Should I revert it or is there a better way?

These functions are stable, are you using an older version of rustc?

Oh right, I didn't think to check that. I'm on 1.71.1. Would it be possible to set the required minimum version with the rust-version field in the Cargo.toml? That should provide a nice error message in this case.

This was stabilized in 1.72.

Proposed fix https://github.com/tkaitchuck/aHash/pull/196

I am attempting to expand the presubmit checks to cover this https://github.com/tkaitchuck/aHash/pull/197
but so far it is still passing. What combination am I missing?

What combination am I missing?

I left a suggestion: What combination am I missing?

@Anton-4 Can you clearify, you saw this when targeting aarch64-apple-darwin ? What args / rust flags were passed?

For datafusion, the issue came from https://github.com/apache/arrow-datafusion/issues/8743
Tagging @ted-jiang who reproduced the issue
An example of the dependency datafusion has:
https://github.com/apache/arrow-datafusion/blob/e7cc04db68a05ce9d002de7d0c1be2644bf69c0c/datafusion/common/Cargo.toml#L41-L43

Located in a few other crates within datafusion too, but is essentially the same (version & features)

Can you clearify, you saw this when targeting aarch64-apple-darwin ?

Yes indeed, I'll set up a minimal github repo with a full reproduction.

Files for minimal repro:
// rust-toolchain.toml
[toolchain]
channel = "1.71.1"

// Cargo.toml
[package]
name = "temp2"
version = "0.1.0"
edition = "2021"

[dependencies]
ahash="=0.8.7"

// src/main.rs
fn main() {
    println!("Hello, world!");
}

And run with cargo build --target=aarch64-apple-darwin.
That produces the error for me on NixOS (x86_64 device) and also on macos 14 (m2 device).

FWIW, I'm running into this too (when trying to upgrade ahash in hickory-dns on my M1 with Rust 1.67).

I'd greatly appreciate it if we could solve this problem without bumping the MSRV.  I try to provide support for older versions of Rust, and Debian stable offers 1.63, which I'd like to continue to target.

This still happens on M1 with rust 1.78.0 nightly. Is there something I am missing ?

Same for me here (M1):

rust 1.77.0-nightly - works fine
rust 1.78.0-nightly - error[E0635]: unknown feature stdsimd
--> /Users/alexeykhan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.7.7/src/lib.rs:33:42
|
33 | #![cfg_attr(feature = "stdsimd", feature(stdsimd))]
|                                          ^^^^^^^

For more information about this error, try rustc --explain E0635.
error: could not compile ahash (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

To anyone hitting this error on nightly: you need to update your nightly compiler.

1.78.0-nightly is latest and not working with it :-(

Are you using the latest version of ahash? Try cargo update.

still doesn't compile on m1 with stable toolchain with this error


Create Reference Frame Class

Purpose

The physics model is defined by two reference frames, in particular the fixed reference frame and the global reference frame. The purpose of this issue is to create an abstract class named ReferenceFrame and its subclasses FixedReferenceFrame and GlobalReferenceFrame.
Important: Please take a read through the current version of the Physics Engine Design Specification before starting on this issue.

Description

A reference frame will contain the following information in its member fields:

Coordinate axes and origin (which may or may not change over time)
Kinematics data of the object relative to the coordinate system

Position, velocity, and acceleration (both cartesian and angular)
The acting forces and the net force. Note that the reference frame assumes that the acting forces are provided to it at the bare minimum.

The representation of the data is subject to the standards set in the design specification. All kinematics data is represented in code as a vector.
A reference frame object should be able to do the following (this list is not exhaustive, but a guide):

Given a list of forces, one should be able to compute the net force and compute the kinematics data as a result
Be able to convert from one reference frame to another specified reference frame such that the kinematics data in both reference frames describe the same motion with respect their own reference frames.
Updating the kinematics data only requires an update in the forces/net force.
The only thing provided to the reference frame object to update the kinematics data are the acting forces. Nothing else. You can assume that they have already been computed externally elsewhere and they are merely provided as arguments to a class method.

Location
You can add the new classes to boat_controller/nodes/phyics_engine/. If you add any directories, remember to add an empty __init__.py file in every directory so ROS can find your modules.
Similarly, your tests will go in tests/unit/nodes/physics_engine/. Make sure the directory structures in the source code and tests match.

Resources

UBC Sailbot Python Conventions and Style Guide
Python Abstract Classes
Python Dependent Properties to compute certain members when access rather than needing to update them all the time (recommended for any position and velocity calculations)
PyTest Examples
SOLID Programming Principles
ChatGPT

The implementation of this class is more complicated than what is needed at this current stage. Instead, #16 is in favor over this issue. This issue will be backlogged and revisited at a later date if we find we need something more sophisticated for implementing the model state.


added node index to current_context

Tracking issue
Closes flyteorg/flyte#5534
Why are the changes needed?
In Flyte, when working with map tasks, outputs often risk being overwritten if they share the same static name. For example, if multiple nodes generate output files with the same name, only the last file would remain, as previous ones would be overwritten. By adding the array node index, it becomes possible to uniquely name these outputs, avoiding conflicts.
What changes were proposed in this pull request?
The key goal of this PR is to include the index of an array node in map_tasks within the current_context() returned value. This feature is especially useful when multiple nodes within a map task could potentially overwrite outputs

Will write an unit test and will run formatter too

i have run make fmt


[WIP] Sudoku solver

after applying #9 I tried to compile my sudoku solver. but no luck:

Yes lots of unsupported/not implemented apis here. In general FSharp.Core is patchily implemented and I wasn't planning on even attempting to support System.* as it is very OO / imperative. I'd suggest you rewrite it in a more functional style using only the standard fsharp library. There is no benefit with using stuff like ResizeArray as the only way to support it would be to translate it into a functional equivalent using lists. Also replace Arrays with Lists as there is no erlang equivalent. (well I am thinking we could eventually map byte array to bitstring()).

One of the really really great things about fable is that it replaces all such things and the Sudoku solver just works in Javascript.
My personal dream would be that I can take my domain model code und just compile it to beam. Without mapping all the apis manually. I know that's a very long way. But that would be a nice goal.

Unfortunately, f# is a second class citizen on its native platform, common
actions like type-casting throw exceptions instead of using option/either
types.
And the OOP is pervasive.
I was looking into implementing Char, Regex and Match but it would need to
support some of the methods that they inherit from the c# Object hierarchy
downwards.
-- Siddarth
On 18-Jun-2017 2:14 AM, "Steffen Forkmann"<EMAIL_ADDRESS>wrote:

One of the really really great things about fable is that it replaces all
such things and the Sudoku solver just works in Javascript.
My personal dream would be that I can take my domain model code und just
compile it to beam. Without mapping all the apis manually. I know that's a
very long way. But that would be a nice goal.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#issuecomment-309239143, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHxDp-8wJkLUyeY1SgvCJCJG04J2pWO6ks5sFDq2gaJpZM4N9S2D
.

Well we'll see how far we can take it but System.* is a .NET thing and fez isn't. I don't know how fable are covering System but I can't imagine it being anywhere near complete. It should be easy enough to cover the bits you need on a case by case basis or rewrite code in a functional style. For example mutation doesn't exist in core erlang so code that uses it just won't translate which is the main reason this code does not compile. Any attempt to emulate it are likely to be worse than writing it functionally which makes me reluctant to do it at this point. Same with subtype polymorphism. Although there is some limited support for interfaces and methods already on records and DUs.
I could imagine System being supported through a separate library with System modules being implemented in erlang. Still mutation will be an issue here as well but simple static methods would work ok.

@alfonsogarciacaro could you please comment a bit a out how fable deals with this? Or give some pointers? Thx

The Fable compatibility docs are what I've been looking at, you might find
some answers there.
https://fable-compiler.github.io/docs/compatibility.html
If we can gain parity with those, we'd be in a good place I think.
On Sun, Jun 18, 2017 at 2:13 PM, Steffen Forkmann<EMAIL_ADDRESS>wrote:

Reopened #10 https://github.com/kjnilsson/fez/pull/10.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#event-1128075566, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AHxDpxyn6M3LL6QeM4YKAD8AVzQvhahKks5sFOMagaJpZM4N9S2D
.

Yes fable doesn't support every api in the BCL.

The problem will always be mutation. Supporting the non mutable subset
would be possible but ideally as a separate optional set of erlang modules.
On Sun, 18 Jun 2017 at 10:36, Steffen Forkmann<EMAIL_ADDRESS>wrote:

@alfonsogarciacaro https://github.com/alfonsogarciacaro could you
please comment a bit a out how fable deals with this? Or give some
pointers? Thx
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#issuecomment-309264634, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABIDlP52Y1lrOkhucUezVtaMmfq-T78Uks5sFOMYgaJpZM4N9S2D
.

Yes, we probably need to change how we approach the problems a bit.
Makes it more interesting 😄
One erlang way to write a sudoku solver would probably be to have each cell as a process with their co-ordinates and a set of possible values, and whittle the set down by talking to the others in the same row/column till they converge(or not)?

Just to make this super clear. My problem is not to write a Sudoku solver. This is just some random snippet.
My interest is to use existing domain code and run it in things like Phoenix. This would allow me to use the same domain logic in my Javascript clients, my suave app and if needed I can port it to a different platform when I have good reasons for that

And that will be possible the more functional your approach is. Sure we can
probably rewrite imperative code using recursion. We may even be able to
support local mutable fields using the process dictionary but the benefits
would be scant and it may lead users to the wrong conclusions (e.g.
Mutation is faster). Wouldn't it be better to focus on supporting the
paradigm that works best? I'm not saying it's off the table only lower down
on priorities.
On Sun, 18 Jun 2017 at 11:36, Steffen Forkmann<EMAIL_ADDRESS>wrote:

Just to make this super clear. My problem is not to write a Sudoku solver.
This is just some random snippet.
My interest is to use existing domain code and run it in things like
Phoenix. This would allow me to use the same domain logic in my Javascript
clients, my suave app and if needed I can port it to a different platform
when I have good reasons for that
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#issuecomment-309269320, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABIDlOZtmQnslEH0jzKuRCmSbOsXQepmks5sFP2wgaJpZM4N9S2D
.

Absolutely. Tbh my domain models don't really have mutable state. I'm just
saying if we support basic things like dictionaries, list, array and so on
then it would be great
Am 18.06.2017 12:51 nachm. schrieb "Karl Nilsson"<EMAIL_ADDRESS>
:

And that will be possible the more functional your approach is. Sure we can
probably rewrite imperative code using recursion. We may even be able to
support local mutable fields using the process dictionary but the benefits
would be scant and it may lead users to the wrong conclusions (e.g.
Mutation is faster). Wouldn't it be better to focus on supporting the
paradigm that works best? I'm not saying it's off the table only lower down
on priorities.
On Sun, 18 Jun 2017 at 11:36, Steffen Forkmann<EMAIL_ADDRESS>wrote:

Just to make this super clear. My problem is not to write a Sudoku
solver.
This is just some random snippet.
My interest is to use existing domain code and run it in things like
Phoenix. This would allow me to use the same domain logic in my
Javascript
clients, my suave app and if needed I can port it to a different platform
when I have good reasons for that
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#issuecomment-309269320, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ABIDlOZtmQnslEH0jzKuRCmSbOsXQepmks5sFP2wgaJpZM4N9S2D>
.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/kjnilsson/fez/pull/10#issuecomment-309270052, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADgNH6X3f2YK4A_Z9VK548Wt-SweVDJks5sFQEvgaJpZM4N9S2D
.

sorry if the following is completely stupid.
Can we use ETS tables to emulate Lists and dictionaries? https://elixir-lang.org/getting-started/mix-otp/ets.html
Maybe something along the lines of:
type List<'a>() =
    let name = createRandomName()
    let self = emit (sprintf ":ets.new(:%s, [:named_table])" name)
    emit (sprintf ":ets.insert(:%s, {\"list\", [])"  name)

    with
        member this.Item(pos:int) : 'a =
            let current = emit (sprintf ":ets.lookup(:%s, \"list\")" name)
            current.[pos] :> 'a

        member this.Add<'a>(x:'a) =
            let current = emit (sprintf ":ets.lookup(:%s, \"list\")" name)
            let all = x::current
            emit (sprintf ":ets.insert(:%s, {\"list\", all)"  name)

Maybe this is not the nicest thing on earth, but could it work? as a first hacky version?

I think its doable with some caveats.
ets is a bit tricky, the table-names are global to all processes.
So we would need to use name-mangling and manage that internally.
And the table exists till the parent process gets killed, or the table is sent a delete message.
Maybe that could be done using finalize()?
There also seems to be a upper limit on number of tables per erlang node(around 1400 by default).
This seems like a good idea to get around some of the places where it is impossible to do things immutably.
But I'm afraid people might overuse this. 😨
Although having a nice f#ish wrapper around ets for in-memory storage would be fantastic!!
With type providers hooking into ets tables etc.

it was an idea to get things started. maybe someone can implement it and later we improve on it

ok I was playing with this earlier and accidentally committed soduku.fs to the master branch. I had to make two minor changes and now it compiles but it won't run as it is calling a load of unimplemented apis. If anyone feels like it you can compile it and look at the soduku.core file to see what erlang/elixir modules and functions would need to be implemented to make it work.
er ETS - they don't have to be named but it may be better to use the process dictionary to implement List<T>.

I hacked up a potential process dictionary backed List<_> implementation. Again it suffers the same shortcoming as ref cells and lazy in that there is no gc.
https://github.com/kjnilsson/fez/commit/dd633915ff95086c515756eac7fdadeebfcdc3ec


IDataReport Excel Only No pdf

This is more of a question than an issue - the Reports utilize IDataReport and I noticed the dialog has only Excel for the report type download. In the Report Dialog.ts file
there is
 this.toolbar.findButton('export-pdf-button')
                .toggle(this.report && !this.report.IsDataOnlyReport);

So if IDataReport - no PDF button.
Also in the controller
            if (report is IDataOnlyReport)
            {
                ext = "xlsx";
                renderedBytes = new ReportRepository().Render((IDataOnlyReport)report);
            }

Is there a code design reason that PDF report is not included for an IDataReport or can / should this functionality be added for the IDataReport?

It is by design

@volkanceylan
Considering by design ; should I even consider to add pdf  there or should I generate a different report type instead of IDataReport and provide PDF output there , I would appreciate any suggestions / thoughts you might have .. thank you.

You cant get pdf from an data inly report


Add/update checkpoint notices on guides

As the checkpoint synchronization is currently down, this puts a maintenance note on the guide pages where people can find further information. (linked to the CLI README)
-> Related PR: (CLI README) Updated Checkpoint Commands

This PR is closed due to #702


Feature Request: Daemon Mode watch Sources

Currently, the daemon mode documented & built-in to Sourcery targets observing the templates directory for changes and regenerating on that. It would also be useful to be able to watch the source-code directory, and regenerate automatically as you change your input files.

Yes, that is definitely on the list to add and should be straightforward as soon as I find a way for KZFileWatchers to watch whole subfolder via gcd source


Game brr

PR Description 📜
Guess the Cartoon Name" is an interactive web application designed using HTML, CSS, and JavaScript. This engaging game challenges users to test their knowledge of popular cartoon names and allowing them to guess the correct answer.
Fixes #1790

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @shineishukla ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hello @shineishukla, You need to make the following changes:

Please add a README.md file inside the newly created folder.
Please modify the main README.md file.
Please add an image to the assets/images directory.

 Please reiew.

follow proper guidelines and you have to create PR again !!

Thank you  @shineishukla , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Validate rack name

Motivation
If the rack name set in the following case:

Enabled rack aware placement policy, and user set rack name which contains "/" in addition to the head and tail of the string. Such as "/r/a" or "r/a/b"
Enabled region aware placement policy, and user set the rack name which contains multiple "/" in addition to the head and tail of the string. Such as "/region/region/a" or "region/a/rack/b"

The broker will throw the following exception on onBookieRackChange
10:29:08.112 [BookKeeperClientScheduler-OrderedScheduler-0-0] ERROR org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy - Unexpected exception while handling joining bookie test.bk3:3183
org.apache.bookkeeper.net.NetworkTopologyImpl$InvalidTopologyException: Invalid network topology. You cannot have a rack and a non-rack node at the same level of the network topology.
        at org.apache.bookkeeper.net.NetworkTopologyImpl.add(NetworkTopologyImpl.java:417) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.handleBookiesThatJoined(TopologyAwareEnsemblePlacementPolicy.java:719) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.handleBookiesThatJoined(RackawareEnsemblePlacementPolicyImpl.java:80) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.handleBookiesThatJoined(RackawareEnsemblePlacementPolicy.java:249) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.onClusterChanged(TopologyAwareEnsemblePlacementPolicy.java:663) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.onClusterChanged(RackawareEnsemblePlacementPolicyImpl.java:80) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.onClusterChanged(RackawareEnsemblePlacementPolicy.java:92) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.BookieWatcherImpl.processWritableBookiesChanged(BookieWatcherImpl.java:197) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.client.BookieWatcherImpl.lambda$initialBlockingBookieRead$1(BookieWatcherImpl.java:233) ~[org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.discover.ZKRegistrationClient$WatchTask.accept(ZKRegistrationClient.java:147) [org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at org.apache.bookkeeper.discover.ZKRegistrationClient$WatchTask.accept(ZKRegistrationClient.java:70) [org.apache.bookkeeper-bookkeeper-server-4.14.3.jar:4.14.3]
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) [?:?]
        at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) [?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) [?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.72.Final.jar:4.1.72.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]

Modification

Validate the rack name when setting the bookie rack info.

For rack aware placement policy, the rack name shouldn't contains "/" in addition to the head and tail of the rack name string.
For region aware placement policy, the rack name should  only contains one "/" in addition to the head and tail of the rack name string.

Need to update docs?

[x] doc-required
(If you need help on updating docs, create a doc issue)

[ ] no-need-doc
(Please explain why)

[ ] doc
(If this PR contains doc changes)

Hi @momo-jun can you follow up on the docs? Thanks

Hi @momo-jun can you follow up on the docs? Thanks

Sure. I'm on it.

Do we have a naming pattern or doc for rack name for users?

@Jason918 There are some notices in our website and pulsar-admin info. refer to: https://pulsar.apache.org/docs/en/next/administration-isolation/

Move release/2.7.5 label to https://github.com/apache/pulsar/pull/16850


updated version number for release and updated yarn.lock

Travis osx job 956.1 finished, you can download the results here.

Travis linux job 956.2 finished, you can download the results here.

Travis osx job 957.1 finished, you can download the results here.

Travis linux job 957.2 finished, you can download the results here.


fix run g.V() is error when backend is MYSQL

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhaoliang17 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA


Dependency issues when creating new project

Bug Report
What did you do?
Follow the instructions to create a new operator
Error occurs during  operator-sdk add api --api-version=app.example.com/v1alpha1 --kind=AppService
What did you expect to see?
No error
What did you see instead? Under which circumstances?
operator-sdk add api --api-version=app.example.com/v1alpha1 --kind=AppService
INFO[0000] Generating api version app.example.com/v1alpha1 for kind AppService.

Go

Possible Solution
Edit Go.mod file and replace the existing entry for github.com/peterbourgon/diskv with

github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/peterbourgon/diskv/v3 v3.0.0 // indirect

I ran into the same issue, just got a slightly different output:
INFO[0000] Generating api version app.example.com/v1alpha1 for kind AppService.
INFO[0000] Created pkg/apis/app/v1alpha1/appservice_types.go
INFO[0000] Created pkg/apis/addtoscheme_app_v1alpha1.go
INFO[0000] Created pkg/apis/app/v1alpha1/register.go
INFO[0000] Created pkg/apis/app/v1alpha1/doc.go
INFO[0000] Created deploy/crds/app_v1alpha1_appservice_cr.yaml
W0516 13:47:33.589763   28494 parse.go:239] Ignoring child directory github.com/example-inc/app-operator/pkg/apis/app: No files for pkg "github.com/example-inc/app-operator/pkg/apis/app"
INFO[0000] Created deploy/crds/app_v1alpha1_appservice_crd.yaml
INFO[0009] Running deepcopy code-generation for Custom Resource group versions: [app:[v1alpha1], ]
INFO[0010] Code-generation complete.
Error: exit status 1
Usage:
  operator-sdk add api [flags]

Flags:
      --api-version string   Kubernetes APIVersion that has a format of $GROUP_NAME/$VERSION (e.g app.example.com/v1alpha1)
      --header-file string   Path to file containing headers for generated files.
  -h, --help                 help for api
      --kind string          Kubernetes resource Kind name. (e.g AppService)

@rafaelvanoni I think yours is just a warning. There is nothing to be compiled in that package and therefor it's ignored. I think this is fine

@soupdiver operator-sdk version: v0.7.0 as that version did not include go mod support yet. If you want go mod support you need to install operator-sdk from the master version, it should be in the next release if you want to wait for that.

@LiliC ahhhhh that actually makes sense. I was looking at the Readme for master but was using release 0.7.0.
Thanks for revealing that 👍

@soupdiver no problem, if you run into any issues with anything feel free to open a new issue.


Remove cidr.py

I have no idea how zerosum0x0 wishes to proceed, however I am on the side of (as little requirements as possible)
While I do agree that it removes quite a bit of code, it also adds 2 packages to the system that really are not needed. Just my 2cents.. cheers

Right, we tried to keep dependencies down.  Right now we only rely on impacket for parsing the SAM hive.
I'll leave this as an open-ended issue in case there are other areas where we can use those two libraries.

@vvalien & @zerosum0x0 ,
No problem, I don't mind closing this PR then.
I was just looking at the code for cidr.py and thought it could be simplified so I actually rewrote it first without any dependencies (just as an exercise). After that, I did some quick searching and came across netaddr which seemed to have a nice API and then port-range which also did exactly what was needed (in this case). It just seemed much cleaner so I made this PR to show that method.
netaddr seems a bit more useful than port-range but I'm not familiar enough (yet!) with Koadic's codebase to say if it can be used in other places. I'll keep looking though!


In MarathonApp initialization, ip_address input argument is not referenced

An ip_address variable is accepted as an input argument for the MarathonApp.__init__ method but never actually used. We need this for our deployment usecase as we want to use Calico network profiles for network isolation. I would be more than happy to submit a pull request after a short conversation to understand the exact points of interface. Thanks in advance.

Huh.
Are we just missing a self.ip_address = ip_address to make it an attribute uses can use?

@solarkennedy Pretty much.

shipit, make the PR that fits your needs and I'll merge it in.

Thanks. The company I work at requires me to go through an approval process before I can contribute to open source projects. Doing that now and will send in a PR once that's done.


release broken on 0.12 without major version bump

First off: thanks for this wonderful package, we're using it with great success!
We're still using Node version 0.12 in some environments. These projects are now failing due to incompatibility of newer eslint versions.
eslint properly bumped the package version in a major release when requiring a newer node version. sass-lint did bump the dependency on  eslint in 31d26aa. This did change the dependency version from ^2.7.0 to ^3.9.1 and does therefore allow breaking changes in the eslint dependency.
As said, this dependency upgrade broke sass-lint on node 0.12. So it is a breaking change for sass-lint. Unfortunately this change was included in a patch release.
I understand that you made the decission to drop support for 0.10 and 0.12 in #896. But I think actually breaking this support is something that according to semver is a breaking change and therefore should be only done in a major release.

eslint should be a dev dependency though, and this wouldn't have been an issue in the first place?

We depend on it for hte formatters currently as we dont have our own.

Either way @huerlisi 1.10.2 is out now with Eslint pegged back. I'll release an update to all the tools too.

Wow, that's a great relieve for us! Marvelous work!
(and it gave us a much needed push to migrate away from those old platforms)


Improve performance of lox-rs by avoiding clone operations

This improves the performance significantly by avoiding as many clone operations as possible. This is largely done by making things into RCs or references wherever possible. There is still room for improvement to get rid of some of the clones here, but performance is improved greatly:

fib-rec.lox took 4.5 seconds on my machine, now takes 2 seconds.
fib.lox took 6.5 seconds on my machine, now takes 0.5 seconds.

I updated the programs as well to be more useful for benchmarking, but maybe those should be new copies so that the small test versions can still live on their own.

Hopefully the build passes after the latest commits. I had to update clippy and there were some new lints.

thanks!!


Skip validation option for Accounts.createUser();

When Meteor is first run I create an admin user in the fixtures.js file.
if ( Meteor.users.find().count() === 0 ) {
  //create initial admin user
  var adminId = Accounts.createUser({
    username: 'admin',
    password: 'password',
    profile: {
        firstName: 'Admin',
        lastName: 'User'
    },
  });
  //We add the user to the admin role with alanning/meteor-roles package
  Roles.addUsersToRoles(adminId, ['admin']);
}

The trouble is that in the users schema I define a custom validation rule that prevents users who are not admins from adding users to the admin role.
Schema.User = new SimpleSchema({
  username: {
    type: String,
    min: 3,
  },
  services: {
    type: Object,
    optional: true,
    blackbox: true
  },
  profile: {
    type: Schema.UserProfile,
    optional: true
  },
  roles: {
    type: [String],
    optional: true,
    //Prevent user from being added to admin or teacher roles unless the current user is an admin
    custom: function () {
      //check to see if there is an index for the admin role i.e. user is trying to add the admin role
      var hasAdmin = _.indexOf(this.value, 'admin') > -1;
      if (hasAdmin && !isAdmin()) { //the isAdmin() function tests if the current user is in the admin role
        return 'notAllowed'
      }
    }
  }
});

So there is a minor catch 22. Also the isAdmin() function uses Meteor.userId() which for some odd reason appears to be running through a Meteor publish function giving me this error:
W20150504-14:13:44.757(-6)? (STDERR) /Users/andrewyoungwerth/.meteor/packages/meteor-tool/.<IP_ADDRESS>w7cie++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20150504-14:13:44.758(-6)? (STDERR) 						throw(ex);
W20150504-14:13:44.758(-6)? (STDERR) 						      ^
W20150504-14:13:44.758(-6)? (STDERR) Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions.
W20150504-14:13:44.758(-6)? (STDERR)     at Object.Meteor.userId (packages/accounts-base/accounts_server.js:19:1)
W20150504-14:13:44.758(-6)? (STDERR)     at Object.Meteor.user (packages/accounts-base/accounts_server.js:24:1)
W20150504-14:13:44.758(-6)? (STDERR)     at isAdmin (app/lib/permissions.js:2:21)
W20150504-14:13:44.758(-6)? (STDERR)     at Object.Schema.User.SimpleSchema.roles.custom (app/collections/users.js:111:33)
W20150504-14:13:44.758(-6)? (STDERR)     at packages/aldeed:simple-schema/simple-schema-validation.js:170:1
W20150504-14:13:44.758(-6)? (STDERR)     at Array.every (native)
W20150504-14:13:44.758(-6)? (STDERR)     at Function._.every._.all (packages/underscore/underscore.js:219:1)
W20150504-14:13:44.759(-6)? (STDERR)     at validate (packages/aldeed:simple-schema/simple-schema-validation.js:169:1)
W20150504-14:13:44.759(-6)? (STDERR)     at checkObj (packages/aldeed:simple-schema/simple-schema-validation.js:227:1)
W20150504-14:13:44.759(-6)? (STDERR)     at packages/aldeed:simple-schema/simple-schema-validation.js:313:1

I do not get this when the server already has an admin account and I can add admins normally, even with the validation. It would be nice if I could just skip validation for fixture data all together.

So I solved this issue by taking out the custom validation on the roles field and abstracting out all addUsersToRoles functions into meteor methods. Don't know why it wasn't so obvious to me earlier.


Add pytest-testdox for better pytest outputs (Nice to have)

Better output when using poetry run pytest

Will implement next milestone :)


Update cab.md

The CAB website is no longer at its previous URL, and has moved to cabtools.app

hey there. I can certainly accept this PR to change the URL, but I do believe that URL exists in other places, as well.  I will be happy to update the rest of the code base.
If you were not aware, you can reach us on Discord.

If you were not aware, you can reach us on Discord.

I do not like Discord.
I am at the maximum amount of Discords already, so let me know which one to delete in order to make room for yours.

See... I'm not quite sure what you attempted to gain with that acerbic response, but as I am not a mind-reader, I could not have known either of those things.  I'm sorry if this deficiency inconveniences you.  But I will update the CAB links.
Thanks for letting me know about the change.

Declined.


Release version 0.10.1

CC @phil-opp, I wasn't able to push to main as a protected branch, this is the commit used to publish v0.10.1, I'll merge this immediately.

Setting a rebase merge so the tag stays on the commit on the main branch.


compound XCAT & YSEQUENCE functions spuriously convert string type to numeric

Reported by andrew wittenberg on 28 Sep 2009 17:56 UTC
The following example illustrates spurious conversion of strings to numeric type, when doing concatenation and resequencing in a compound expression.  Strangely, the results are correct when we list the expression directly, but get converted to numeric type when we assign this expression to a variable.
        NOAA/PMEL TMAP
        FERRET v6.203
        Linux(g77) 2.4.21-32 - 06/26/09
        28-Sep-09 13:50

yes? let a = {"a","b"}
yes? let b = {"x","z"}
yes? let c = xcat(ysequence(a),ysequence(b))
yes? list xcat(ysequence(a),ysequence(b))
             VARIABLE : XCAT(YSEQUENCE(A),YSEQUENCE(B))
             SUBSET   : 2 by 2 points (X-Y)
           1  2
           1  2
 1   / 1:"a""x"
 2   / 2:"b""z"
yes? list c
             VARIABLE : XCAT(YSEQUENCE(A),YSEQUENCE(B))
             SUBSET   : 2 by 2 points (X-Y)
               1          2
               1          2
 1   / 1:  1.893E-32  0.000E+00
 2   / 2:  1.893E-32  0.000E+00

Defining an intermediate variable appears to make the problem go away:
yes? let a = ysequence({"a","b"})
yes? let b = ysequence({"x","z"})
yes? let c = xcat(a,b)
yes? list xcat(a,b)
             VARIABLE : XCAT(A,B)
             SUBSET   : 2 by 2 points (X-Y)
           1  2
           1  2
 1   / 1:"a""x"
 2   / 2:"b""z"
yes? list c
             VARIABLE : XCAT(A,B)
             SUBSET   : 2 by 2 points (X-Y)
           1  2
           1  2
 1   / 1:"a""x"
 2   / 2:"b""z"

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1697

Comment by ansley.b.manke on 28 Sep 2009 20:11 UTC
Internally, Ferret functions operate on only a single type for a given argument. For the *CAT functions and *SORT functions we've put in a layer of logic which chooses whether to run XCAT or XCAT_STR, etc. so that the user can say either
xcat(astring, bstring), or xcat(vfloat, ufloat).
In the command-stack operations when Ferret is getting the return type, the type of XCAT is being used rather than XCAT_STR.
See the call to GCF_RTN_TYPE from MERGE_GRID:
 * data type of result
         IF (its_gc) THEN
 * ... can get result data type only when types of all arguments are known
 *     cuz it may be inherited from an argument
           IF (iarg .EQ. 1) THEN
             i = GCF_RTN_TYPE(gcfcn, com_cx)
             IF (i .EQ. pfcn_rtn_string) THEN
               cx_type(mrg_cx) = ptype_string
             ELSE
               cx_type(mrg_cx) = ptype_float
             ENDIF
           ENDIF

The fix will be somewhere here. Not fixing for the release of V6.3.

Comment by andrew.wittenberg on 30 Sep 2009 18:04 UTC
More such strangeness, with a different function.  The first LIST appears to do a spurious type conversion, and the last one gives an error.
        NOAA/PMEL TMAP
        FERRET v6.203
        Linux(g77) 2.4.21-32 - 06/26/09
        30-Sep-09 13:57

yes? let a = {0,0,1,1,1,1,0,1,0}
yes? let b = {"a","b","c","d","e","f","g","h","i"}
yes? list compressi(IF a EQ 0 THEN b)
             VARIABLE : COMPRESSI(IF A EQ 0 THEN B)
             SUBSET   : 9 points (X)
 1   / 1:  1.891E-32
 2   / 2:  0.000E+00
 3   / 3:  1.891E-32
 4   / 4:  0.000E+00
 5   / 5:  1.891E-32
 6   / 6:  0.000E+00
 7   / 7:  1.891E-32
 8   / 8:  0.000E+00
 9   / 9:  1.891E-32
yes? let c = IF a EQ 0 THEN b
yes? list c
             VARIABLE : IF A EQ 0 THEN B
             SUBSET   : 9 points (X)
 1   / 1:"a"
 2   / 2:"b"
 3   / 3:""
 4   / 4:""
 5   / 5:""
 6   / 6:""
 7   / 7:"g"
 8   / 8:""
 9   / 9:"i"
yes? list compressi(c)
 **ERROR: invalid command: string/numeric data type mix-up: COMPRESSI

Comment by ansley.b.manke on 30 Sep 2009 18:35 UTC
Actually, COMPRESSI  does not operate on a string argument:
yes? let h = {"a","b","c",,"e","f",,"h","i"}
 **ERROR: invalid command: string/numeric data type mix-up: COMPRESSI

So I'll enter a new ticket requesting STRING versions of COMPRESS functions, including functionality to call these with the same function name as the numeric versions (as done with the *CAT functions).
The same issues we've been seeing at the start of this ticket, with string/float functions will likely still be happening with the string versions of COMPRESS*

Comment by andrew.wittenberg on 12 Nov 2010 23:40 UTC
Just ran into this again, bumping up the priority...

Comment by andrew.wittenberg on 8 Dec 2010 23:52 UTC
As Ansley noted in a 12/3/10 email, calling XCAT_STR directly is a workaround in these compound expressions.  So I am reducing the priority and severity of this bug.
Our remaining interest in resolving this is simply to reduce the number of extraneous function names, in which case sooner would be better than later -- so that we don't build up an inertia of scripts that call XCAT_STR, YCAT_STR, etc. directly.

Comment by steven.c.hankin on 9 Dec 2010 18:50 UTC
Internally Ferret currently does not have authentic data type sensitivity.  It has only single precision float and string types.  Unless Ansley has put code in for this purpose, the idea of a function that can return a different data type based upon its input type is only "hacked" in.  (Is this wrong?  I don't spot an ef_set_return_type or controls over inheritance of type from args))  Which I think is why it results in bugs.  When full-fledged data type support is added throughout Ferret it will become natural to extend it to strings.
So I ask:  what is the magnitude of down side associated with the user discriminating  XCAT from XCAT_STR?  There will probably be no problem to continue support for XCAT_STR forever -- even after XCAT becomes type sensitive.  So backwards compatibility to old scripts shouldn't become an issue.  Is there a significant use case for removing the XCAT/XCAT_STR distinction based upon how it complicates scripts that can be written today?

Comment by ansley.b.manke on 6 Jul 2017 17:44 UTC
This is fixed, with the fix to #2547

yes? let a = {"a","b"}
yes? let b = {"x","z"}
yes? let c = xcat(ysequence(a),ysequence(b))
yes? list xcat(ysequence(a),ysequence(b))
             VARIABLE : XCAT(YSEQUENCE(A),YSEQUENCE(B))
             SUBSET   : 2 by 2 points (X-Y)
           1  2
           1  2
 1   / 1:"a""x"
 2   / 2:"b""z"
yes? list c
             VARIABLE : XCAT(YSEQUENCE(A),YSEQUENCE(B))
             SUBSET   : 2 by 2 points (X-Y)
           1  2
           1  2
 1   / 1:"a""x"
 2   / 2:"b""z"

Also, about the side discussion about maintaining XCAT and XCAT_STR: XCAT and the family of *CAT functions now detect the data type and calls XCAT_STR, which is a convenience, but both functions still exist and XCAT_STR can be called.


Release 1.4

Would do it myself, but I'm not a maintainer on npm.

Closed via 91a6f3f56eaf6693ff021f262f4112bd28b35bdb
Published to npm
Added @knownasilya as npm collaborator


Reduce the versions listed on the Available Versions page

We currently list a ton of releases on https://www.pulumi.com/docs/get-started/install/versions/ going back to 0.12.2.
Let's reconsider the list now that we've released 1.0. Should we pair it down? Only list 1.0 and above? Or ...?
@joeduffy, @lukehoban, any thoughts?

Honestly - it's kinda nice that we list all the old version here - to give the project a substantial sense of history.  Even a year on - this page doesn't feel particularly "overwhleming".  I'd be fine leaving this as is for the foreseeable future. Going to close for now - and I'm sure we'll reopen a discussion on this in the future if/when we consider removing old versions from public download access.


Add a binary to format mod files

I'm wondering if we don't want to add this rather into the nmodl main binary as a --format option?

I have same question as Omar: could we refactor existing main() of the nmodl binary and compose such options there?

@alkino : I think you mentioned that this was just as proof-of-concept i.e. we don't prefer separate binary for this purpose. So safe to close?


Simulator integration using g500

Integrated dynamics model of g500 with kraken

Test this with
sudo apt-get install ros-indigo-underwater-vehicle-dynamics
roslaunch thruster_remap_g500 remap.launch

rostopic pub /kraken/physics_model/forceData4Thruster kraken_msgs/forceData4Thruster "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
data:
- 4.0
- 5.0
- 6.0
- 7.0" --rate 10

You can also use keyboard control within  remap.launch session with
W,S,D,F and arrow keys, space(for stop)

@prudhvid @kalyan-kumar
Awesome work! :+1:
It works for me when I publish the force from the CLI.

You can also use keyboard control within remap.launch session with

This doesn't work. You were talking about the joystick_control package inside simulator_stack, I believe? I tried it out, but it was not working. I also tried the keyboard_control package inside control_system_stack and even though it was publishing data, the visualisation was not responding.
Anything that I am doing wrong?
cc @aniket11bh @kshitijgoel007

@prudhvid @kalyan-kumar
Okay, I understood now. I saw the launch file and understood that the keyboard.py node is there inside the Launch file itself. So, this PR LGTM.
@aniket11bh and @kshitijgoel007 : Is there any further testing, with any other packages, that is required?

Is there any file corresponding to control.py in simulator ?
If it is, then it should work. And if it works then we can test our fuzzy
control easily.
And i've the question that i have installed indigo while kraken_3.0 repo is
written in hydro, but still it's packages are working !
Can anyone explain why is it so ?
Sent with MailTrack
<EMAIL_ADDRESS>On Tue, Sep 29, 2015 at 1:34 PM, Siddharth Kannan<EMAIL_ADDRESS>wrote:

@prudhvid https://github.com/prudhvid @kalyan-kumar
https://github.com/kalyan-kumar
Okay, I understood now. I saw the launch file and understood that the
keyboard.py node is there inside the Launch file itself. So, this PR LGTM.
@aniket11bh https://github.com/aniket11bh and @kshitijgoel007
https://github.com/kshitijgoel007 : Is there any further testing, with
any other packages, that is required?
—
Reply to this email directly or view it on GitHub
https://github.com/auviitkgp/kraken_3.0/pull/72#issuecomment-143978683.

--
Aniket Bhushan
Sophomore ,
IIT Kharagpur

@aniket11bh That remap has already been written.
Although, I have checked for the data from /kraken/sensor/dvl and /kraken/sensor/imu.
@prudhvid and @kalyan-kumar Has this remap not been written yet? Other packages won't work (as they are), if we don't redirect the IMU and DVL data from the simulator to those topics.

@icyflame It will work I've written the remap in remap.launch. @aniket11bh please start testing using this simulator

@icyflame I'll merge this branch now


Support automatic diff versioning for Service Fabric apps

I added the option to only update the versions for applications/services/packages that have changed. This is largely made possible by the 'determinstic' flag introduced in VS "15" and VS2015U2 which compiles code to the same output every time it has the same input. The user can compare against the last successful build or a specific build number.
I also modified the version suffix parameter to support PowerShell expressions in addition to build variables.
Finally, I believe the logs could be very helpful so I added an option to 'Log all changes' and made that the default. If not checked, we will break on first change and thus performance will be better

Hi @EricJizbaMSFT, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Eric Jizba). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

I tested the updated task using a build machine that only had .NET 4.5 and PowerShell 3.0 so there shouldn't be any more issues in that regard

Great! Is this ready to merge? Would you mind squasing and force pushing so history remains useful for anyone needing to investigate an issue?

Yep it's ready!


feat: add my profile image modal

User Story
GIVEN a user will view their profile "Results Overview" panel under "games"
WHEN they only have the default avatar image
THEN a clickable modal on the default image should pop up to describe how to add an image to their profile
Results Overview
Route: /app/games

Description
This should only be enable for the specific user only i.e playerId === memberId - we don't want to this modal to open if they click on a default avatar for another profile they are viewing.
How profile functionality works
Currently, images are pulled from users chess.com profile:
Example API call: https://api.chess.com/pub/player/mrnezhmetdinov
{
    avatar: "https://images.chesscomfiles.com/uploads/v1/user/77391580.a6e6b428.200x200o.0bb52d1b2a97.jpeg",
    player_id: 77391580,
    @id: "https://api.chess.com/pub/player/mrnezhmetdinov",
    url: "https://www.chess.com/member/MrNezhmetdinov",
    name: "Matt Webb",
    username: "mrnezhmetdinov",
    followers: 16,
    country: "https://api.chess.com/pub/country/GB",
    location: "London",
    last_online:<PHONE_NUMBER>,
}

A user then must have a chess.com account & an uploaded image on their profile.
The modal therefore, should direct the user to navigate to their profile > integration section > input their @ chess.com handle > "sync"

Acceptance Critera
1. Modal Open
As a User viewing my games profile
When I click on my "results overview" default avatar image
Then a modal opens up to explain how I add my image
2. Modal Does Not Open
As a User viewing games of other players
When I click on my "results overview" default avatar image (of another player)
Then no modal opens up
3. Modal Does Not Open When I have an Image
As a User viewing my games profile
When I click on my "results overview" when I have a chess.com avatar image
Then no modal opens up

Here are some relavent links to modals existing in the code base:
https://github.com/chess-centre/platform/tree/master/chess-centre-app/src/components/Modal
Here is tailwind's component modals:
https://tailwindui.com/components/application-ui/overlays/modals

@akashsiddamshetty this would be a great issue to pick up.


WIP collaboration document

This is a VERY MUCH WIP document describing the collaboration flow we envision for Publisher.
It isn't clear if this document will actually live in the repo, or in the Posit Connect docs.
Tackles #2383

Here is a screenshot I have saved to include in the doc.


Question: How to create a .cff with two suggestions?

Hi,
I am maintaining the legacy package IRAF and try to create a CFF file for it. The original text that came with the software is (see also the home page):

There are two papers appropriate as references for IRAF in a publication:

Tody, D., The IRAF Data Reduction and Analysis System, in Proc. SPIE Instrumentation in Astronomy VI, ed. D.L. Crawford, 627, 733 (1986) (ADS:1986SPIE..627..733T)
Tody, D., IRAF in the Nineties, in Astronomical Data Analysis Software and Systems II, A.S.P. Conference Ser., Vol 52, eds. R.J. Hanisch, R.J.V. Brissenden, & J. Barnes, 173 (1993) (ADS:1993ASPC...52..173T)

Doug Tody wasn't the only author of the software; but a definitive list of authors is not available yet (only a self-compiled list based on some investigations) - the best author of the package as a whole is probably "IRAF authors" or so.
There is a repository (https://github.com/iraf-community/iraf) and an entry in the Astronomical Source Code Library (https://ascl.net/9911.002).
How do I convert this to a CFF file? The automated tool seems not to know about multiple entries, and I also don't know how to distinguish between the author of the software and the author of the associated paper.
Can someone guide me?

I would like to suggest the following:

add both papers as references
set the latest paper as preferred-citation
name the author of the papers as the main author of the software, i.e. in the first position in the list of authors
add all known contributors as further authors, at option, using appropriate metadata
add an anonymous group of people as further author in the last position

You mentioned that the software is based on the publications, so adding all known papers in the references section is an appropriate solution.  This allows for choosing one as preferred-citation while interested users can still choose to cite the work by another paper.  I would like to recommend to set the latest publication on the software as preferred-citation as it is newer; some researchers prefer to cite only the latest available resources and select their references and tools exclusively by this criterion.
Furthermore, you mentioned that the author of the papers also contributed to the software.  Thus, it is a good idea to name them as the main author.  All unknown contributors can be summarised as the software's community, just as you suggested.  It is now up to you whether or not to mention the other known contributors as they are technically already mentioned as members of the software's community.  As a reference, I recommend you the style of Clap, a Rust library for generating command line argument parsers:  https://github.com/clap-rs/clap/blob/master/CITATION.cff.

Thank you for the recommendations!
Using references seems however to be semantically not correct: the schema states that this field should contain

may include other […] not work describing the software or dataset.

which is what these references actually are. Following the intention of the original authors, IMO both should be preferred-citation, but this is syntactically impossible.

I see your point.  However, line 412 in schema-guide.md you are referring to starts the more verbose explanation with the following words.

Similar to a list of references in a paper,

I experienced lists of references in papers to be often something like a list of further readings, as well.  When taking this into consideration, the best option would be make the 1986 paper the preferred-citation and the 1993 one a further reading; this suggestion is based on the titles of the publications as the 1986 paper sounds to me more like an introduction to the software than the 1993 one of which I assume that it is on the further development after the initial release.

Thank you! I created a PR for the .cff file in https://github.com/iraf-community/iraf/pull/306; could I ask you to have a short look?
There are a few things still unclear to me:

in astronomy, almost all papers are catalogized on ADS, and get a unique identified there which is the canonical way to refer to a paper (beside of the original page, if it exists). It would be worthwhile to include this in the reference. How would I do this?
Is the URL of the rendered paper a "url" or a "repository-artefact"?
For the software: What is the difference between "url" and "repository"?
Many astronomy software is collected by the Astronomical Source Code Library (ASCL), including IRAF. From an example in the CFF schema, I would guess this is a "reference" with the URL as "repository", right? Is the type "catalogue" or "database" then (the example in the schema mentions "generic", but this seems wrong to me)?
if one has only initials for an author, one would put them into "given-names", with dots, right?

Thank you for your help!


REST API v1 using django-ninja

Summary
I recently integrated Archivebox with a small python script. The current approach of setting up the full django environment is somewhat cumbersome and limits usecases where the interaction is triggered by remote systems/containers.
So here goes my initial draft of a REST API based on django ninja.
For Auth I implemented Token/Bearer Auth. Token can be obtained and validated via API Endpoints.
Ideally there should be a UI (Django Admin,...) to make obtaining them more friendly to users.
The current API resembles the CLI for compatibility and simplicity.
Adding CRUD Endpoints should be rather straight forward.
Ideally Endpoints should return a TASK-ID for long running tasks for long polling or allow for SSE subscription.
This would require to update to Django 4.2 for async support.
Related issues
Touches on all the API issues:
#496
#1126
Changes these areas

[X] Token model
[x] Token based authentication
[X] ADD/UPDATE/REMOVE/LIST Endpoints
[ ] CRUD Endpoints for Snapshot/Link,...
[ ] UI for Token
[ ] Extensive Testing suite
[ ] (future) streaming/fully async endpoints

Awesome work, thanks for doing this!
I'll dig into it next week, I think it should be fairly straightforward to merge.

I think allowing the user to create named API tokens (that inherit the same permissions as that user) is enough for now, no need to do OAuth2 or JWT

100% agree, sounds good.

Ideally there should be a UI (Django Admin,...) to make obtaining them more friendly to users.

I've been using django-solo to quickly expose config options via the Django Admin in my other branch: https://github.com/ArchiveBox/ArchiveBox/pull/1327.  I think we can add a pane to manage API tokens without too much trouble.

Ideally Endpoints should return a TASK-ID for long running tasks for long polling or allow for SSE subscription.

I'm planning on integrating django-huey-monitor in the future, it would provide task IDs and manage TaskResult rows, I think for now we can just return the Snapshot primary key.

This would require to update to Django 4.2 for async support.

We are actually on Django 4.2 already on dev as of recently (see v0.8.0-rc alpha release notes).

I made a bunch of changes on dev FYI: 7515325


1894/ show all applications under candidate

What's included?
All applications now show under candidates > candidate > applications (as opposed to only those marked as applied).
Sortable by exercise and status.
Who should test?
✅ Product owner
✅ Developers
✅ UTG
How to test?

Confirm the number of applications under candidates > candidate > applications matches the number shown in the candidates list.
Sort columns by exercise and status

Risk - how likely is this to impact other areas?
🟢 No risk - this is a self-contained piece of work

PREVIEW:DEVELOP
can be OFF, DEVELOP or STAGING

This ticket is blocked/failing UT due to a lack of supporting indexes - we can settle these once the work is merged or before.


Fix/treasury balance over time graph 368

treasury balance over time graph
What does this PR do?

Resolve #368
Resolve #386

Steps to test

Run Project
Enter to Income, must see someting like this:

CheckList

[X] Follow proper Markdown format
[X] The content is adequate
[X] The content is available in both english and spanish
[X] I Ran a spell check

This PR is "Work in progress" dont merge

This PR is ready to merged


Upgrade Pylint version to 2.3.1

Description

This PR is required to upgrade the numpy to 1.16.0(#14588) since Pylint have false alarms on some of Numpy functions but the patch is only available with pylint >= 2.0

upgrade the default make pylint  to use python3 pylint instead of python2 since pylint 2.0 only support python2 link
suppressed most of the pylint error for now
fixes consider-using-in & useless-return

Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes
Comments
@vandanavk

@mxnet-label-bot add [CI, Python]

Waiting for CI.

Thanks. Comments addressed


enhanced alert msg after review submission

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #558
Description
the alert msg after submitting the review is not visible before...so i've changed the text color and decreased the size for neat and easy readability
Type of PR

[X ] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
before

after

Checklist:

[X ] I have made this change from my own.
[ ] I have taken help from some online resources.
[X ] My code follows the style guidelines of this project.
[X ] I have performed a self-review of my own code.
[X ] I have commented my code, particularly in hard-to-understand areas.
[X ] I have made corresponding changes to the documentation.
[ X] My changes generate no new warnings.
[ X] I have tested the changes thoroughly before submitting this pull request.
[X ] I have provided relevant issue numbers and screenshots after making the changes.

@laxmikandivalasa
Due to a conflicting issue, some code was removed from the repository. We are investigating the matter. Meanwhile, please check on your end, and if your PR code no longer exists, kindly create the PR again for merging.Please Do Sync fork before then add your part in code as none of the contributions are visible in website BuddyTrail. Thank you for your understanding!


xcode installation error

On Mojave, up until recently the xcode recipe was working and i managed to install XCoe 10.0 on my systems.
But chef-client runs started to fail recently:
Recipe: macos::disable_software_updates
  * plist[disable automatic software update downloads] action set (up to date)
  * plist[disable automatic software update check] action set (up to date)
  * execute[disable software updates using commandline utility] action run (skipped due to not_if)
Recipe: macos::xcode
  * execute[Disable Gatekeeper] action run
    - execute ["spctl", "--master-disable"]
  * xcode[10.0] action install_gem

    ================================================================================
    Error executing action `install_gem` on resource 'xcode[10.0]'
    ================================================================================

    NoMethodError
    -------------
    undefined method `tr' for nil:NilClass

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/macos/libraries/command_line_tools.rb:15:in `initialize'
    /var/chef/cache/cookbooks/macos/resources/xcode.rb:9:in `new'
    /var/chef/cache/cookbooks/macos/resources/xcode.rb:9:in `block in class_from_file'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/macos/recipes/xcode.rb

      6:   xcode node['macos']['xcode']['version']
      7:

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/macos/recipes/xcode.rb:6:in `from_file'

    xcode("10.0") do
      action [:install_gem, :install_xcode, :install_simulators]
      default_guard_interpreter :default
      declared_type :xcode
      cookbook_name "macos"
      recipe_name "xcode"
    end

    System Info:
    ------------
    chef_version=14.5.33
    platform=mac_os_x
    platform_version=10.14.1
    ruby=ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin15]
    program_name=/usr/local/bin/chef-client
    executable=/opt/chef/bin/chef-client

Running handlers:
[2018-11-06T09:39:38+01:00] ERROR: Running exception handlers
Running handlers complete
[2018-11-06T09:39:38+01:00] ERROR: Exception handlers complete
Chef Client failed. 1 resources updated in 29 seconds
[2018-11-06T09:39:38+01:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2018-11-06T09:39:38+01:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2018-11-06T09:39:38+01:00] FATAL: NoMethodError: xcode[10.0] (macos::xcode line 6) had an error: NoMethodError: undefined method `tr' for nil:NilClass

I thought it was linked to the release of XCode 10.1 so i forced tho this last version in my attributes file:
default['macos']['xcode']['version'] = '10.1'

But it didn't help.

@humboldtux I repro'd this earlier, but now I'm having trouble doing so - I think Apple updated the available software updates again. Can you retry?

Yes, now it is working, for both xcode 10.0 and 10.1.
Thank you for your time.


stdenv: Don't put man pages into doc outputs

These changes make stdenv no longer put manpages into the doc output, as that output is not installed into user environments by default. Also GNU info pages aren't put into the man output anymore because if programs.man.enable = false, the man outputs won't be installed and such info pages would again disappear.
Affected packages have been compile tested.

Could you rebase that? @fpletz and I would like to have this in 17.09.

Should be good to go now (I addressed the first comment).
During a conflict resolution I noticed weechat doesn't manage to build its manpage until https://github.com/NixOS/nixpkgs/issues/28075 from master.


Added support for 'uses' directives in generated the module-info.java

Based on a real world example that uses the jcache api. In this case the application would not start because the generated module-info.java was missing a uses clause, which could not be added to the generated module-info using the plugin.
This change adds support for uses directives and adds a unit test to verify that the resulting module-info is correct.

Thank you @StefanReek for this valuable addition. This will be in release 1.3.


Add arm64 macOS qiosurfacegraphicsbuffer patch

Fixes the Qt5 build on ARM64 Macs by patching in a CoreGraphics header that was previously included transitively.

Thank you.


Set version to 0.2.1.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #9   +/-   ##
=======================================
  Coverage   98.82%   98.82%
=======================================
  Files           5        5
  Lines         255      255
=======================================
  Hits          252      252
  Misses          3        3

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 53bb364...d0b0648. Read the comment docs.


[Enhancement]: Improving UI-The search icon should be a bit above.

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
Game enhancement : The search icon is placed really at bottom, if the search bar is placed a bit above, it will improve its UI.
Describe the solution you'd like
I can solve this problem. By placing the search bar at right location.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @SIM-RAITANI !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey, allow me to work on this under GSSOC' 2024

Please assign the issue to me

I would like to resolve the issue myself.
/assign

Hello @SIM-RAITANI, Time's up!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @SIM-RAITANI ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


WIP - example using Either for Zone.save

Fixes #.
Changes in this pull request:

new PR up #331


Fix migration issues

Description
Describe the changes made and why they were made.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@Deepika1095 what's he impact of his on Judiao's recent work?

@hagafrank its going to the oxygen branch only not the general branch


Simpler examples

@rabernat Let me know if the mooring example is good?

Codecov Report

Merging #91 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #91      +/-   ##
==========================================
- Coverage   97.12%   97.08%   -0.04%
==========================================
  Files           2        2
  Lines         764      756       -8
  Branches      131      131
==========================================
- Hits          742      734       -8
  Misses         12       12
  Partials       10       10

Impacted Files
Coverage Δ

xrft/tests/test_xrft.py
99.01% <0%> (-0.02%)
:arrow_down:

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 09be983...bcba2ec. Read the comment docs.

Thanks for getting this started. However, I was hoping we could use current meter data, which would should the inertial frequency, tidal frequencies, etc.

Thanks for getting this started. However, I was hoping we could use current meter data, which would should the inertial frequency, tidal frequencies, etc.

Thanks for getting this started. However, I was hoping we could use current meter data, which would should the inertial frequency, tidal frequencies, etc.

Thanks for getting this started. However, I was hoping we could use current meter data, which would should the inertial frequency, tidal frequencies, etc.

Perhaps the first example could be a synthetic single? E.g., construct a signal as a sum of two frequencies and use xrft.dft to compute the spectrum and compare with what you actually expect?

Great suggestion @navidcy!

@roxyboy, is there a way to see a preview of the docs after, e.g., this PR?


[BUG]: Security GitHub action needs "quiet" arg removed

Describe the bug
Security GitHub action needs "quiet" arg removed
Additional context
See https://github.com/dell/karavi-resiliency/pull/27 as an example fix

@hoppea2: Thank you for submitting this issue!
The issue is currently awaiting triage. Please make sure you have given us as much context as possible.
If the maintainers determine this is a relevant issue, they will remove the needs-triage label and assign an appropriate priority label.

We want your feedback! If you have any questions or suggestions regarding our contributing process/workflow, please reach out to us at<EMAIL_ADDRESS>

/sync

link: 2776


Configuring Pikaday?

Is it possible to pass configuration options to Pikaday?
It's important that the widget updates when properties passed as options change dynamically.

This is currently not possible apart from the format option. I will happily accept a pull request implementing this feature.

Sorry, i'm currently using vanilla bootstrap-datepicker. Its built-in date ranges feature saves me a lot of typing.
bootstrap-datepicker does not allow live-updating some configuration options, so i have to do this.rerender() on my component wrapper. :(
I wonder whether Pikaday is better in this concern.

Good question, I never had a use case of live-updating configuration options so I can't tell you if Pikaday is better suited in this regard.


GRAPH: Analyze SDXL Turbo model graph and list graph-level issues

From @qedawkins: Ok some initial observations. Looking at IR immediately before iree-flow-form-dispatch-regions there are a few oddities/places to look at higher up the stack.

We should be lowering to torch.sdpa -> linalg_ext.attention for all of the attention operators. I remember hearing that decompositions for attention were being employed at the torch FX level, but don't know if they are kicking in for this model. If not, we can write a raising pattern for the following but it would be best not to rely on raisings.

  %148 = linalg.fill ins(%cst_1 : f16) outs(%147 : tensor<20x4096x4096xf16>) -> tensor<20x4096x4096xf16>
  %149 = linalg.batch_matmul ins(%collapsed_76, %collapsed_77 : tensor<20x4096x64xf16>, tensor<20x64x4096xf16>) outs(%148 : tensor<20x4096x4096xf16>) -> tensor<20x4096x4096xf16>
  %expanded_78 = tensor.expand_shape %149 [[0, 1], [2], [3]] : tensor<20x4096x4096xf16> into tensor<2x10x4096x4096xf16>
  %150 = tensor.empty() : tensor<2x10x4096x4096xf16>
  %151 = linalg.softmax dimension(3) ins(%expanded_78 : tensor<2x10x4096x4096xf16>) outs(%150 : tensor<2x10x4096x4096xf16>) -> tensor<2x10x4096x4096xf16>
  %collapsed_79 = tensor.collapse_shape %151 [[0, 1], [2], [3]] : tensor<2x10x4096x4096xf16> into tensor<20x4096x4096xf16>
  %collapsed_80 = tensor.collapse_shape %143 [[0, 1], [2], [3]] : tensor<2x10x4096x64xf16> into tensor<20x4096x64xf16>
  %152 = tensor.empty() : tensor<20x4096x64xf16>
  %153 = linalg.fill ins(%cst_1 : f16) outs(%152 : tensor<20x4096x64xf16>) -> tensor<20x4096x64xf16>
  %154 = linalg.batch_matmul ins(%collapsed_79, %collapsed_80 : tensor<20x4096x4096xf16>, tensor<20x4096x64xf16>) outs(%153 : tensor<20x4096x64xf16>) -> tensor<20x4096x64xf16>

There is a decent amount of strange looking extension/truncation arithmetic to temporarily do some computations in f32. It would be good to understand whether that is baked in to the model or being introduced by lowerings.

  %163 = linalg.generic {indexing_maps = [affine_map<(d0, d1) -> (d0, d1)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d0)>, affine_map<(d0, d1) -> (d1)>, affine_map<(d0, d1) -> (d1)>, affine_map<(d0, d1) -> (d0, d1)>], iterator_types = ["parallel", "parallel"]} ins(%159#0, %161, %162, %_params.unet.down_blocks.1.attentions.0.transformer_blocks.0.norm2.weight, %_params.unet.down_blocks.1.attentions.0.transformer_blocks.0.norm2.bias : tensor<8192x640xf16>, tensor<8192xf32>, tensor<8192xf32>, tensor<640xf16>, tensor<640xf16>) outs(%127 : tensor<8192x640xf16>) {
  ^bb0(%in: f16, %in_2126: f32, %in_2127: f32, %in_2128: f16, %in_2129: f16, %out: f16):
    %3783 = arith.divf %in_2127, %cst_10 : f32
    %3784 = arith.addf %3783, %cst_6 : f32
    %3785 = math.rsqrt %3784 : f32
    %3786 = arith.extf %in : f16 to f32
    %3787 = arith.subf %3786, %in_2126 : f32
    %3788 = arith.mulf %3787, %3785 : f32
    %3789 = arith.extf %in_2128 : f16 to f32
    %3790 = arith.mulf %3788, %3789 : f32
    %3791 = arith.extf %in_2129 : f16 to f32
    %3792 = arith.addf %3790, %3791 : f32
    %3793 = arith.truncf %3792 : f32 to f16
    linalg.yield %3793 : f16
  } -> tensor<8192x640xf16>

NCHW convolutions will be problematic for performance. All loads of the (large in the case of unet) filter will be scalarized when trying to target mma intrinsics, unless we play some tricks with img2col.

%252 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%inserted_slice_130, %_params.unet.down_blocks.1.resnets.1.conv1.weight : tensor<2x640x66x66xf16>, tensor<640x640x3x3xf16>) outs(%97 : tensor<2x640x64x64xf16>) -> tensor<2x640x64x64xf16>

Pads are becoming fill + insert slice?

  %115 = linalg.fill ins(%cst_1 : f16) outs(%114 : tensor<2x640x66x66xf16>) -> tensor<2x640x66x66xf16>
  %inserted_slice_65 = tensor.insert_slice %113 into %115[0, 0, 1, 1] [2, 640, 64, 64] [1, 1, 1, 1] : tensor<2x640x64x64xf16> into tensor<2x640x66x66xf16>
  %116 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%inserted_slice_65, %_params.unet.down_blocks.1.resnets.0.conv2.weight : tensor<2x640x66x66xf16>, tensor<640x640x3x3xf16>) outs(%97 : tensor<2x640x64x64xf16>) -> tensor<2x640x64x64xf16>

(this pattern might just be kicking in before forming dispatches if pad fusion isn't enabled).

Some elementwise dispatches that failed to fuse

        %4 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d2, d1)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2 : tensor<2x77x640xf16>) outs(%3 : tensor<2x640x77xf16>) {
        ^bb0(%in: f16, %out: f16):
          %5 = arith.truncf %cst : f32 to f16
          %6 = arith.mulf %in, %5 : f16
          linalg.yield %6 : f16
        } -> tensor<2x640x77xf16>

        %8 = linalg.generic {indexing_maps = [affine_map<(d0) -> (d0)>, affine_map<(d0) -> (d0)>], iterator_types = ["parallel"]} ins(%6 : tensor<3276800xf16>) outs(%7 : tensor<3276800xf32>) {
        ^bb0(%in: f16, %out: f32):
          %9 = arith.extf %in : f16 to f32
          linalg.yield %9 : f32
        } -> tensor<3276800xf32>

        %9 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>, affine_map<(d0, d1, d2) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel"]} ins(%8, %7 : tensor<2x4096x2560xf16>, tensor<2x4096x2560xf16>) outs(%6 : tensor<2x4096x2560xf32>) {
        ^bb0(%in: f16, %in_2: f16, %out: f32):
          %10 = math.sqrt %cst_1 : f16
          %11 = arith.divf %in_2, %10 : f16
          %12 = math.erf %11 : f16
          %13 = arith.addf %12, %cst_0 : f16
          %14 = arith.mulf %13, %cst : f16
          %15 = arith.mulf %in_2, %14 : f16
          %16 = arith.mulf %in, %15 : f16
          %17 = arith.extf %16 : f16 to f32
          linalg.yield %17 : f32
        } -> tensor<2x4096x2560xf32>

Some potentially beneficial horizontal fusions here:

  %278 = linalg.matmul_transpose_b ins(%277, %_params.unet.down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_q.weight : tensor<8192x640xf16>, tensor<640x640xf16>) outs(%128 : tensor<8192x640xf16>) -> tensor<8192x640xf16>
  %279 = linalg.matmul_transpose_b ins(%277, %_params.unet.down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_k.weight : tensor<8192x640xf16>, tensor<640x640xf16>) outs(%128 : tensor<8192x640xf16>) -> tensor<8192x640xf16>
  %280 = linalg.matmul_transpose_b ins(%277, %_params.unet.down_blocks.1.attentions.1.transformer_blocks.0.attn1.to_v.weight : tensor<8192x640xf16>, tensor<640x640xf16>) outs(%128 : tensor<8192x640xf16>) -> tensor<8192x640xf16>

The LHS is shared and larger than the right hand sides of these matmuls, meaning there could be a chance to reduce the number of times we load the left. Probably only worth doing as an experiment if we have time.

GRAPH: Lower PyTorch sdpa to linalg ext attention #433  We should be lowering to torch.sdpa -> linalg_ext.attention for all of the attention operators. I remember hearing that decompositions for attention were being employed at the torch FX level, but don't know if they are kicking in for this model. If not, we can write a raising pattern for the following but it would be best not to rely on raisings.

FWIW There won't be any decomposition done for sdpa or its variants at torch.fx level going forward, as of https://github.com/nod-ai/SHARK-Turbine/pull/271


[question] When does PPO2 verbose print out ep_reward_mean and ep_len_mean?

I'm using PPO2 to train a OpenAI gym environment LunarLander.
Here's my code, taken verbatim from the tutorial.
import gym

from stable_baselines import PPO2
from stable_baselines.common.evaluation import evaluate_policy

env = gym.make('LunarLander-v2')

model = PPO2('MlpPolicy', env, learning_rate=1e-3, verbose=1)
model.learn(total_timesteps=int(2e5))

PPO2's code has two logging variables ep_reward_mean and ep_len_mean which are great to diagnose how well the agent is doing (in an environment where failure is common). If I just run this code normally, here's the logging I see:
--------------------------------------
| approxkl           | 0.00017229581 |
| clipfrac           | 0.0           |
| explained_variance | 0.313         |
| fps                | 637           |
| n_updates          | 260           |
| policy_entropy     | 0.95548433    |
| policy_loss        | -0.000601892  |
| serial_timesteps   | 33280         |
| time_elapsed       | 47.7          |
| total_timesteps    | 33280         |
| value_loss         | 88.99602      |
--------------------------------------

No sign of what I want...I tried to look into the condition len(self.ep_info_buf) > 0 and len(self.ep_info_buf[0]) > 0 but this leads to rollouts and to runner (inherited from an abstract parent). Then I lost track.
How can I enable PPO2 to print out these two variables?

you can find the answer here: https://github.com/hill-a/stable-baselines/issues/24#issuecomment-422539183
it comes from the monitor wrapper.

also duplicate of #339
this mentioned in the doc too: https://stable-baselines.readthedocs.io/en/master/guide/algos.html#rl-algorithms

Ahh I saw the issue "NaN" but didn't click on it...sorry about duplication.
I'm worried about using Monitor with allow_early_reset will cause some issue...so I'm currently ok with the tensorboard episode-reward setup.
Is there a tensorboard logging option for episode length?

Sorry about the replicated issue -- I did read the manual...but definitely not careful enough.

Ahh I saw the issue "Mean Episode Reward and Length showing NaN" but didn't click on it...sorry about duplication.
I'm worried about using Monitor with allow_early_reset will cause some issue...so I'm currently ok with the tensorboard episode-reward setup.
Is there a tensorboard logging option for episode length?

don't worry about the monitor, it is the recommended way to log training reward, episode reward is unfortunately buggy.

I have a small question, I defined the "max_episode_time" as 1000 in gym. but in tensorboard, you can see the "ep_len_mean" is always 1000. is it normal? why? Thanks.


switch function based on object literals short version

closes #23

I'm not sure, I prefer traditional switch for readability. This one is hard to read.
It is also coupled to the ES5 function.  I prefer to keep function and switch separate.
If we added this I would prefer arrow function.
@capaj what do you think about this ?

I think isn't hard to read here's a couple of examples:
Short way:
  getFoodType = (name) => {
    return {
      Neapolitan: 'Pizza',
      Pork: 'Meat',
      Chicken: 'Meat',
    }[name] || 'No type match'
  }

Longest Way:
getFoodType = (name) => {
    const foodTypes = {
      Neapolitan: 'Pizza',
      Pork: 'Meat',
      Chicken: 'Meat',
      default: 'No type match'
    }

		return foodTypes[name] || foodTypes.default
  }

@gaboesquivel I myself don't really like switches. I have been bitten to many times by forgotten break and such. I'd love this addition. Of course with the arrow function. regular function is way too long.
I think this one should work:
getFoodType = (name) => ({
    Neapolitan: 'Pizza',
    Pork: 'Meat',
    Chicken: 'Meat',
  }[name] || 'No type match'
})

alright, @gustavoalfaro please update the pull request to use arrow function instead.  ✌(◕‿-)

Update done ✔

😄 typo error found and fixed


Why this module doesn't have tests?

I am in the process of learning how to make Nuxt modules. I naturally came here to see how the tests were made. I was surprised to see there are no tests at all.
Since the main contributors of this module are members of the Nuxt team itself, I would have expected it to be a showcase for tests, from unit to end to end.
So, you guessed my question, why no tests? Is it because you didn't have the time yet? Because the tooling around them is not mature enough? Or just because you though it would cause too much friction? I'm pretty curious to know what happened :)
Have a nice day!

We actually tested the library by making projects with it such as volta.net or nuxt.studio
Happy to see some tests coming but there are not 100% required IMO