Better example?

Hi
I'm evaluating using Flipt.io for use with my C# apps, while im somewhat dissapointed that a C# sdk didn't get first billing like python or java. I'm glad to see that a Grpc SDK is underway :)
I am confused by the example provided though:
using Grpc.Net.Client;
using Flipt;

var channel = GrpcChannel.ForAddress("http://localhost:9000");
var client = new Flipt.Flipt.FliptClient(channel);
var result = client.ListFlags(new Flipt.ListFlagRequest());

System.Console.WriteLine("Available Flags:");
foreach (var flag in result.Flags)
{
    System.Console.WriteLine(flag.Key);
}

It hard to get an idea of how the client works in a real usecase, as a typical client isn't interested in listing all flags and iterating through them?
Normally you would evaluate a specific flag that you address by name, and maybe provide other variables.
I had expected an example like the python one here https://github.com/flipt-io/flipt-server-sdks/tree/main/flipt-python
from flipt import FliptClient
from flipt.evaluation import BatchEvaluationRequest, EvaluationRequest

fliptClient = FliptClient()

v = fliptClient.evaluation.variant(
    EvaluationRequest(
        namespace_key="default",
        flag_key="flagll",
        entity_id="entity",
        context={"fizz": "buzz"},
    )
)

print(v)

Hey @HenrikDK 👋 Thanks for raising the issue and apologies for the lack of clarity in our docs. We lack any C# experience on the Flipt team, so could do with any and all help in getting something correct together.
I've just taken a stab at an alternative more inline with our Python example you linked here.
What do you think of it:
using Grpc.Net.Client;
using Flipt;

namespace dotnetexperiment;

class Program
{
    static void Main(string[] args)
    {
        var channel = GrpcChannel.ForAddress("http://localhost:9000");
        var client = new Flipt.Evaluation.EvaluationService.EvaluationServiceClient(channel);
        var request = new Flipt.Evaluation.EvaluationRequest {
            NamespaceKey = "default",
            FlagKey      = "flag",
            EntityId     = "entity",
        };
        request.Context.Add("fizz", "buzz");

        System.Console.WriteLine(client.Variant(request));
    }
}

I tested it locally and it evaluated as expected. If you think it fits the bill, I can get the docs and example updated.

That looks better, much clearer :) 👍 from here.
It could also be an idea to very explicitly illustrate usage in application code, ie how you fork your code based on a usage flag:
Something like this.
using Grpc.Net.Client;
using Flipt;

var channel = GrpcChannel.ForAddress("http://localhost:9000");
var flipt= new Flipt.Evaluation.EvaluationService.EvaluationServiceClient(channel);
var newHotFeature = new Flipt.Evaluation.EvaluationRequest {
            NamespaceKey = "default",
            FlagKey      = "NewHotFeature",
            EntityId     = "entity",
};
newHotFeature.Context.Add("fizz", "buzz");

if(flipt.Variant(newHotFeature).Match)
{
  //new code
}
else
{
  //old code
}

While not quite as elegant as other feature toggle solutions out there, it's not unworkable :)

Thanks for the feedback and  for raising this issue @HenrikDK 🙌🏻
We will update the readme now!
Re @GeorgeMac 's  comment:

We lack any C# experience on the Flipt team, so could do with any and all help in getting something correct together.

If you can help contribute a REST evaluation SDK or potentially help us get started that would be amazing! As we have done very little C# dev on the team and would want someone with greater C# expertise to make it idiomatic
See: https://github.com/flipt-io/flipt-server-sdks/issues/86


Attempt at winforms

I have attempted to try to get basic winforms to work.
So I downloaded #8143 and built CoreRT (I skipped the tests because they took too long). I then downloaded https://github.com/kant2002/CoreRTWinFormsTestBed/tree/master/WinFormsComInterop, and ran it as is. It worked. Then, I edited the csprojs to use the custom built #8143 CoreRt. I built the project using Cmd and Publish, however I got an error saying could not open "kernal32.lib". I fixed it by using x64 native command prompt. It then built OK. But then, when running the native binary, I got this error:
ntdll.dll!00007ffab3935854() Unknown
KernelBase.dll!00007ffab1452f07() Unknown
WindowsFormsApp1.exe!S_P_CoreLib_Interop_mincore__RaiseFailFastException_0�() Unknown

    WindowsFormsApp1.exe!S_P_CoreLib_Interop_mincore__RaiseFailFastException() Line 49 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_RuntimeExceptionHelpers__FailFast_1() Line 263 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_RuntimeExceptionHelpers__RuntimeFailFast() Line 216 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_Runtime_CalliIntrinsics__Call_5�() Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_Runtime_CalliIntrinsics__CallVoid_3() Line 17 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_Runtime_EH__UnhandledExceptionFailFastViaClasslib() Line 251 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_Runtime_EH__DispatchEx() Line 711 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_System_Runtime_EH__RhThrowEx() Line 617 Unknown
    WindowsFormsApp1.exe!RhpThrowEx() Line 191 Unknown
    WindowsFormsApp1.exe!S_P_CoreLib_Internal_Runtime_CompilerHelpers_ThrowHelpers__ThrowTypeLoadException() Line 64 Unknown
    WindowsFormsApp1.exe!WindowsFormsApp1_WindowsFormsApp1_Program__Main�() Unknown
    WindowsFormsApp1.exe!WindowsFormsApp1__Module___MainMethodWrapper() Unknown
    WindowsFormsApp1.exe!WindowsFormsApp1__Module___StartupCodeMain() Unknown
    WindowsFormsApp1.exe!wmain(int argc, wchar_t * * argv) Line 447 C++
    [Inline Frame] WindowsFormsApp1.exe!invoke_main() Line 90 C++
    WindowsFormsApp1.exe!__scrt_common_main_seh() Line 288 C++
    kernel32.dll!00007ffab25730f4() Unknown
    ntdll.dll!00007ffab38ca33b() Unknown

Does anybody know a fix to this?
Thanks

This is failing because of https://github.com/dotnet/corert/pull/8143 is just a skeleton without actual implementation. The skeleton has to be filled in with actual implementation to make this work. https://github.com/dotnet/corert/pull/8143#issuecomment-626201188 has some hints for how one can go about it.

@jkotas Oh, I didn't know that. Thanks, I will try an implementation.


Is there a fixed maximum number of objects that can be detected?

Hello sir,
When I instance segmenting a house from a satellite image using the Mask R-CNN model, only 100 objects are always detected.
At least 200 houses are shown in the photo, and most of the photos are similar.
Is there a maximum number of detectable objects in the Mask R-CNN parameter?
thank you

@dohyeonYoon
I think it was set here in model.test_cfg.rcnn.
test_cfg=dict(
    rpn=dict(
        nms_pre=1000,
        max_per_img=1000,
        nms=dict(type='nms', iou_threshold=0.7),
        min_bbox_size=0),
    rcnn=dict(
        score_thr=0.05,
        nms=dict(type='nms', iou_threshold=0.5),
        max_per_img=100,  # the maximum number of detectable objects
        mask_thr_binary=0.5)))

You can append options on your command to modify it like:
python tools/test.py config.py checkpoint.pth --options model.test_cfg.rcnn.max_per_img=500

@dohyeonYoon
I think it was set here in model.test_cfg.rcnn.
test_cfg=dict(
    rpn=dict(
        nms_pre=1000,
        max_per_img=1000,
        nms=dict(type='nms', iou_threshold=0.7),
        min_bbox_size=0),
    rcnn=dict(
        score_thr=0.05,
        nms=dict(type='nms', iou_threshold=0.5),
        max_per_img=100,  # the maximum number of detectable objects
        mask_thr_binary=0.5)))

You can append options on your command to modify it like: python tools/test.py config.py checkpoint.pth --options model.test_cfg.rcnn.max_per_img=500

Thank you so much I fixed it!!


revert to using library calls

I've resolved all my hardware issues, and now that's done I've put all your calls back in place as they were.
They were always working. Just not on my hardware :man_facepalming:
Probably the thing I should note was that sampling input was much slower than setting output on Spencer's Digital I/O Module.
IDK but that might be the cause of the issues you're having with reading the inputs on Stephen's solution too?
I had to rebuild RomWBW to insert the maximum number of I/O wait states (at 36MHz) to get the library inp() to work (total 4 I/O Wait). Lucky the Z180 is flexible enough to do that. If you try the macro M_INP(0) you might find it a little slower than the code generated by your function using inp(), and therefore be on the verge of working.

Turns out, my issues were hardware-related too (bad solder joint sigh).  However, I definitely appreciate the help as the calls to sleep() and msleep() I originally had were not accounting for the CPU speed, clock, etc.  Good catch and I appreciate your help, sir!


Create checkbox/radio group for validation

use it for project selection in importer, also new version I guess (#1064)
input rules and model, display error message, have slot for actual checkboxes?

we actually have input groups already....


Add staging link and release process to README / documentation

[x] Document the release process in the repository
[x] Add staging link to main README
[x] Update infrastructure documentation


Added ItemExpr for string

Codecov Report

Merging #279 into master will decrease coverage by 0.27%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   83.51%   83.23%   -0.28%
==========================================
  Files           8        8
  Lines        1905     1921      +16
==========================================
+ Hits         1591     1599       +8
- Misses        237      242       +5
- Partials       77       80       +3

Impacted Files
Coverage Δ

vm/vmLetExpr.go
85.08% <52.94%> (-3.41%)
: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 59cc366...5c631f9. Read the comment docs.

Codecov Report

Merging #279 into master will decrease coverage by 0.27%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   83.51%   83.23%   -0.28%
==========================================
  Files           8        8
  Lines        1905     1921      +16
==========================================
+ Hits         1591     1599       +8
- Misses        237      242       +5
- Partials       77       80       +3

Impacted Files
Coverage Δ

vm/vmLetExpr.go
85.08% <52.94%> (-3.41%)
: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 59cc366...5c631f9. Read the comment docs.

Codecov Report

Merging #279 into master will decrease coverage by 0.27%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   83.51%   83.23%   -0.28%
==========================================
  Files           8        8
  Lines        1905     1921      +16
==========================================
+ Hits         1591     1599       +8
- Misses        237      242       +5
- Partials       77       80       +3

Impacted Files
Coverage Δ

vm/vmLetExpr.go
85.08% <52.94%> (-3.41%)
: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 59cc366...5c631f9. Read the comment docs.

Codecov Report

Merging #279 into master will decrease coverage by 0.27%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   83.51%   83.23%   -0.28%
==========================================
  Files           8        8
  Lines        1905     1921      +16
==========================================
+ Hits         1591     1599       +8
- Misses        237      242       +5
- Partials       77       80       +3

Impacted Files
Coverage Δ

vm/vmLetExpr.go
85.08% <52.94%> (-3.41%)
: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 59cc366...5c631f9. Read the comment docs.

Codecov Report

Merging #279 into master will decrease coverage by 0.27%.
The diff coverage is 52.94%.

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   83.51%   83.23%   -0.28%
==========================================
  Files           8        8
  Lines        1905     1921      +16
==========================================
+ Hits         1591     1599       +8
- Misses        237      242       +5
- Partials       77       80       +3

Impacted Files
Coverage Δ

vm/vmLetExpr.go
85.08% <52.94%> (-3.41%)
: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 59cc366...5c631f9. Read the comment docs.

Thank you


Removed conflicting import

Attempt at adressing #59

Thanks!
If you write "closes #59" or "fixes #59" GitHub automatically closes the issue on merge: https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword


Flag accounts that attempt the screening multiple times

I'm not sure what the milestone should be for this--definitely before launch.

I feel like this is a duplication of data.  It should be clear from the multiple entries in the eligibility form that a user has completed this multiple times.  Adding an additional flag on the particpant table is a duplication of data and an oppertunity for us to have conflicting information in the datbasae, which should be avoided.


Support for Authentication for Stats Socket

Hey, looked through your readme, couldn't figure out how to let the script know of the credentials to access the stats socket data. Is there any such feature? Thanks

No, we don't have that yet. May I ask why you are using authentication for the UNIX (stats) socket?
Please paste your config here and I will try to add support for authentication the coming days

Can I have an example HAProxy config?

BTW, a workaround could be to add the user which you use to run haproxstats into 'haproxy' group and use mode 660 in stats socket option of HAProxy.

Closing the issue as the reported never came back with configuration example


SCC Mex Compilation

The Problem: Recently, the SCC people decided to limit the number of simultaneous MATLAB licenses (including Toolboxes) that any one user can use...to one, a single one! Yes, that means that under the new rules, new as of at least this year but probably only in the past two weeks, you technically, can only have one MATLAB job running at a time on the SCC cluster, unless you're running compiled MATLAB code, which doesn't inherently use licenses. Thankfully, the generous SysAdmin gods of the cluster are letting people violate this limit by letting them use 3-5 licenses at a time, or potentially more, but ONLY IF there is not heavy use of the licenses by the university as a whole; if license usage is high, they will mercilessly kill your MATLAB jobs to free up licenses.
The Solution: There has been some discussion and many emails from myself on this, but the SCC-recommended way to deal with this problem is to enable compilation of jobs on the cluster. The only fullproof way to do this for DynaSim-type parallelization is: for some batch of jobs, have a SINGLE compilation that will enable simulation, analysis, AND plotting for N jobs. AFAIK, any other way I've tried to figure this means that you're still forced to use either N simultaneous MATLAB licenses or you start doing things serially, which is unacceptable IMO. There are theoretically some alternatives to this (like building a DynaSim style system around Brian2 as a Python simulation engine), and most of those are included in some of my emails to the DynaSim group that no one read, but while this is still going to be a decent amount of work, this is probably what we're going to end up doing for obvious reasons.
Based on my testing, playing around with the MCR compiler etc., the best approach I'm thinking is to piggy-back on the current very-many sim_jobN.m files (where N is the identifying number of a job in a single batch) and instead make only a single sim_job.m-style file that will be compiled using either MEX or MCR, then fed (via the CLI) what few things actually changed between sim_jobN.m files -- namely, the SimIDs. AFAIK, what actually differentiates individual sims is really only the SimIDs, since that variable seems to be the only, or at least main, thing changed between said files, and is also used as the identifier of which studyinfo_N.mat is integrated to parametrize the actual simulation. In other words, it may not be too much work to change the system over to that of: each job consists of a single executable that takes some number N which decides which of very many studyinfo_N.mat files to use to run the simulation.
This assumes we'll have to write new bash code of course, and changes especially to CreateBatch.m, nevermind the fact that it'll be slow journey through the jungle of serially finding out what parts of the entire code to be compiled either A. are not allowed to be compiled or B. can be compiled, but then run differently in the compiled version. It'll be a lot of work.

Duplicated in #96

@jsherfey says this works. @asoplata @davestanley


MacOS orbstack  ubuntu 22.04 can support k8s?

Describe the bug
MacOS intel 64bit , orbstack  ubuntu 22.04 can support k8s?
I used the the ubuntu 22.04 , try to use kubeadmin init  to install k8s , but thre preflight report error:
[ERROR SystemVerification]: unexpected kernel config: CONFIG_NAMESPACES CONFIG_CGROUP_FREEZER CONFIG_CPUSETS CONFIG_MEMCG CONFIG_EXT4_FS CONFIG_PROC_FS CONFIG_FAIR_GROUP_SCHED
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
blabla....
I am not sure whether the  ubuntu images  support these cgroups related config .
by the way,  in my macos host ,  kind 、 minikube can run ok.
To Reproduce
No response
Expected behavior
No response
Diagnostic report (required)
MacOS intel 64bit , orbstack  ubuntu 22.04 can support k8s?
I used the the ubuntu 22.04 , try to use kubeadmin init  to install k8s , but thre preflight report error:
[ERROR SystemVerification]: unexpected kernel config: CONFIG_NAMESPACES CONFIG_CGROUP_FREEZER CONFIG_CPUSETS CONFIG_MEMCG CONFIG_EXT4_FS CONFIG_PROC_FS CONFIG_FAIR_GROUP_SCHED
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
blabla....
I am not sure whether the  ubuntu images  support these cgroups related config .
by the way,  in my macos host ,  kind 、 minikube can run ok.
Screenshots and additional context (optional)
No response

Please share a diagnostic report from Help > Upload Diagnostics as required by the issue template.

Missing configs fixed for the next version.

Released in v1.2.0 Canary 1.

Released in v1.2.0.


support for marker rotation and anchor in google_maps_flutter_web

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
markers are always pointing north in the web package of google_maps_flutter_web, whereas on Android and iOS they can be rotated (on the fly, at the moment the position of the marker is changed).
Proposal
Are there any plans to implement marker rotation and marker anchor in the google_maps_flutter_web package? It works perfectly in the Android and iOS packages, but not in web.

@Henk-Keijzer
I think this is similar to https://github.com/flutter/flutter/issues/80578 for which you can refer https://github.com/flutter/flutter/issues/80578#issuecomment-1325576070.
I'll close this in favor of the linked issue.


Pipeline Support for new CAP template project in Business Application Studio

Issue Description (Mandatory)

The pipeline is failing in the stage: stage 'Build and Test'
PLEASE PLACE YOUR DESCRIPTION HERE
Log Output (Mandatory)

PLEASE PASTE YOUR LOG HERE WITHIN THE BACKTICKS

Link to Jenkins Job (if it can be shared)

PLEASE PLACE THE LINK HERE
Reproduce the Issue Locally (Mandatory)
In case a maven/npm command or similar failed:

[X ] I tried to reproduce the issue locally
[X ] I could reproduce the issue locally

Search for existing solution beforehand (Mandatory)

[X ] I searched for an existing solution on StackOverflow and my question was not answered there
[X ] I searched for a similar GitHub issue before and found none
[X ] I checked the pipeline configuration docs and the general pipeline docs for an answer of my issue

Please try the GitHub search, it works really well
Project Details (Mandatory)

Link to GitHub repo: PLACE YOUR LINK HERE
Project type, for example:

[ ] SDK Maven Archetype
[ ] MTA (which types of modules?)
[ ] JavaScript
[ ] None of the above (unsupported)

Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar (379 kB at 953 kB/s)
15:30:04  info  mtaBuild - Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar (480 kB at 1.2 MB/s)
15:30:04  info  mtaBuild - [INFO] Installing node version v12.16.1
15:30:04  info  mtaBuild - [INFO] Downloading https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.gz to /root/.m2/repository/com/github/eirslett/node/12.16.1/node-12.16.1-linux-x64.tar.gz
15:30:04  info  mtaBuild - [INFO] No proxies configured
15:30:04  info  mtaBuild - [INFO] No proxy was configured, downloading directly
15:30:05  info  mtaBuild - [INFO] Unpacking /root/.m2/repository/com/github/eirslett/node/12.16.1/node-12.16.1-linux-x64.tar.gz into /var/jenkins/workspace/PipelineCAP4Java_master@2/srv/node/tmp
15:30:06  info  mtaBuild - .[INFO] Copying node binary from<EMAIL_ADDRESS>to /var/jenkins/workspace/PipelineCAP4Java_master@2/srv/node/node
15:30:07  info  mtaBuild - .[INFO] Extracting NPM
15:30:07  info  mtaBuild - [INFO] Installed node locally.
15:30:07  info  mtaBuild - [INFO]
15:30:07  info  mtaBuild - [INFO] --- frontend-maven-plugin:1.10.0:npm (npm install) @ PipelineCAP4Java ---
15:30:07  info  mtaBuild - [INFO] Running 'npm install' in /var/jenkins/workspace/PipelineCAP4Java_master@2/srv
15:30:08  info  mtaBuild - .[INFO] audited 105 packages in 0.836s
15:30:08  info  mtaBuild - [INFO]
15:30:08  info  mtaBuild - [INFO] 1 package is looking for funding
15:30:08  info  mtaBuild - [INFO]   run npm fund for details
15:30:08  info  mtaBuild - [INFO]
15:30:08  info  mtaBuild - [INFO] found 0 vulnerabilities
15:30:08  info  mtaBuild - [INFO]
15:30:08  info  mtaBuild - [INFO]
15:30:08  info  mtaBuild - [INFO] --- frontend-maven-plugin:1.10.0:npm (cds build) @ PipelineCAP4Java ---
15:30:08  info  mtaBuild - [INFO] Running 'npm run build' in /var/jenkins/workspace/PipelineCAP4Java_master@2/srv
15:30:08  info  mtaBuild - [INFO]
15:30:08  info  mtaBuild - [INFO] ><EMAIL_ADDRESS>build /var/jenkins/workspace/PipelineCAP4Java_master@2
15:30:08  info  mtaBuild - [INFO] > cds build/all --clean
15:30:08  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] [cds] - Determining CDS build tasks from CDS configuration - applying defaults
15:30:09  info  mtaBuild - [INFO] [cds] - Determining implementation technology
15:30:09  info  mtaBuild - [INFO] [cds] - Found implementation technology java
15:30:09  info  mtaBuild - [INFO] [cds] - Determining fiori modules - matching modules */webapp/manifest.json
15:30:09  info  mtaBuild - [INFO] [cds] - Found fiori app paths []
15:30:09  info  mtaBuild - [INFO] [cds] - No CDS custom build tasks defined for project [/var/jenkins/workspace/PipelineCAP4Java_master@2].
15:30:09  info  mtaBuild - [INFO] [cds] - The following build tasks have been auto-created and will be executed.
15:30:09  info  mtaBuild - [INFO] [cds] - You may want to add them to .cdsrc.json or package.json of your project and customize to your needs if required.
15:30:09  info  mtaBuild - [INFO] {
15:30:09  info  mtaBuild - [INFO]   "build": {
15:30:09  info  mtaBuild - [INFO]     "target": ".",
15:30:09  info  mtaBuild - [INFO]     "tasks": [
15:30:09  info  mtaBuild - [INFO]       {"src":"srv","for":"java-cf","options":{"model":["srv"]}}
15:30:09  info  mtaBuild - [INFO]     ]
15:30:09  info  mtaBuild - [INFO]   }
15:30:09  info  mtaBuild - [INFO] }
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] [cds] - building project [/var/jenkins/workspace/PipelineCAP4Java_master@2], clean [true]
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] [cds] - cds [3.34.2], compiler [1.26.2], home. [/var/jenkins/workspace/PipelineCAP4Java_master@2/node_modules/@sap/cds]
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] [cds] - building module [srv] using [Java CF Module Builder]
15:30:09  info  mtaBuild - [INFO] [cds] - no model found, skip build
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] cds build completed in: 9.633ms
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] --- frontend-maven-plugin:1.10.0:npm (cds schema) @ PipelineCAP4Java ---
15:30:09  info  mtaBuild - [INFO] Running 'npm run schema' in /var/jenkins/workspace/PipelineCAP4Java_master@2/srv
15:30:09  info  mtaBuild - [INFO]
15:30:09  info  mtaBuild - [INFO] ><EMAIL_ADDRESS>schema /var/jenkins/workspace/PipelineCAP4Java_master@2
15:30:09  info  mtaBuild - [INFO] > cds compile srv --to sql > srv/src/main/resources/schema.sql
15:30:09  info  mtaBuild - [INFO]
15:30:09  error mtaBuild - [INFO] [ERROR] Couldn't find a CDS model for: srv in: /var/jenkins/workspace/PipelineCAP4Java_master@2
15:30:09  info  mtaBuild - [INFO]     at cds.load (/var/jenkins/workspace/PipelineCAP4Java_master@2/node_modules/@sap/cds/lib/models/load.js:15:39)
15:30:09  info  mtaBuild - [INFO]     at Object.compile (/var/jenkins/workspace/PipelineCAP4Java_master@2/node_modules/@sap/cds/bin/compile.js:134:17)
15:30:09  info  mtaBuild - [INFO]     at Module.exports (/var/jenkins/workspace/PipelineCAP4Java_master@2/node_modules/@sap/cds/bin/cds.js:44:23)
15:30:09  info  mtaBuild - [INFO]     at Object. (/var/jenkins/workspace/PipelineCAP4Java_master@2/node_modules/@sap/cds/bin/cds.js:133:29)
15:30:09  info  mtaBuild - [INFO]     at Module._compile (internal/modules/cjs/loader.js:1158:30)
15:30:09  info  mtaBuild - [INFO]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
15:30:09  info  mtaBuild - [INFO]     at Module.load (internal/modules/cjs/loader.js:1002:32)
15:30:09  info  mtaBuild - [INFO]     at Function.Module._load (internal/modules/cjs/loader.js:901:14)
15:30:09  info  mtaBuild - [INFO]     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
15:30:09  info  mtaBuild - [INFO]     at internal/main/run_main_module.js:18:47
15:30:09  error mtaBuild - [INFO] npm ERR! code ELIFECYCLE
15:30:09  error mtaBuild - [INFO] npm ERR! errno 1
15:30:09  error mtaBuild - [INFO] npm ERR<EMAIL_ADDRESS>schema: cds compile srv --to sql > srv/src/main/resources/schema.sql
15:30:09  error mtaBuild - [INFO] npm ERR! Exit status 1
15:30:09  error mtaBuild - [INFO] npm ERR!
15:30:09  error mtaBuild - [INFO] npm ERR! Failed at the<EMAIL_ADDRESS>schema script.
15:30:09  error mtaBuild - [INFO] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
15:30:09  info  mtaBuild - [INFO]
15:30:09  error mtaBuild - [INFO] npm ERR! A complete log of this run can be found in:
15:30:09  error mtaBuild - [INFO] npm ERR!     /home/mta/.npm/_logs/2020-06-29T07_30_09_243Z-debug.log
15:30:09  info  mtaBuild - [INFO] ------------------------------------------------------------------------
15:30:09  info  mtaBuild - [INFO] BUILD FAILURE
15:30:09  info  mtaBuild - [INFO] ------------------------------------------------------------------------
15:30:09  info  mtaBuild - [INFO] Total time:  22.006 s
15:30:09  info  mtaBuild - [INFO] Finished at: 2020-06-29T07:30:09Z
15:30:09  info  mtaBuild - [INFO] ------------------------------------------------------------------------
15:30:09  error mtaBuild - [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.10.0:npm (cds schema) on project PipelineCAP4Java: Failed to run task: 'npm run schema' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
15:30:09  error mtaBuild - [ERROR]
15:30:09  error mtaBuild - [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
15:30:09  error mtaBuild - [ERROR] Re-run Maven using the -X switch to enable full debug logging.
15:30:09  error mtaBuild - [ERROR]
15:30:09  error mtaBuild - [ERROR] For more information about the errors and possible solutions, please read the following articles:
15:30:09  error mtaBuild - [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
15:30:09  error mtaBuild - [2020-06-29 07:30:09] ERROR could not build the "PipelineCAP4Java-srv" module: could not execute the "mvn clean package" command: exit status 1
15:30:09  info  mtaBuild - make: *** [Makefile_20200629072938.mta:37: PipelineCAP4Java-srv] Error 1
15:30:09  info  mtaBuild - Error: could not build the MTA project: could not execute the "make -f Makefile_20200629072938.mta p=CF mtar=PipelineCAP4Java.mtar strict=true mode= t="./"" command: exit status 2
15:30:09  fatal mtaBuild - failed to execute mta build - running command 'mbt' failed: cmd.Run() failed: exit status 1

The error message "Couldn't find a CDS model for: srv in: /var/jenkins/workspace/PipelineCAP4Java_master@2" more looks like a CAP/project specific issue.
Have you verified that you can build the project locally?
You marked that you could reproduce the issue locally. In this case please try to make it run locally first.


Appearance Visualizer Conversion to ECS: Conveyor and TwoWayLever

Part of #8995.
Notes
I tested everything to verify functionality upon terminating the client and relaunching.
I was uncertain on if ChangeState() needed to run on either of these under base initialization. I looked around and could not find any other systems that were similar so I matched the most common format.
EDIT: Another thing I noticed is there was no .yml for TwoWayLever. Just saw one of the checks failed in reference to this. Not sure how to proceed.

Changelogs are meant to be player-facing, they should only include gameplay changes and the like.

Changelogs are meant to be player-facing, they should only include gameplay changes and the like.

Ah, okay. Pretty new and it was a template.

Ah, okay. Pretty new and it was a template.

No worries! The template also has some useful comments on how best to write changelogs, give it a read next time if you want

Ah, okay. Pretty new and it was a template.

No worries! The template also has some useful comments on how best to write changelogs, give it a read next time if you want

Thank you! I definitely will!

Realized the TwoWayLever conversion was actually not working. Will submit it separately.

Well.. Re-opening this. Realized I shouldn't have closed it and should have just worked on it directly till it passed. :sweat_smile:

very good cleanup, it makes me happy inside.

Phew, thanks! 👍


MoE offloading and code simplification

Make model creation a bit more readable and implement an LRU cache-based offload for MoE layers, which makes 4x2 SDXL models able to run on 12gb vram.
Example usage:
from segmoe import SegMoEPipeline as seg
import torch

pipe = seg("SegMoE-4x2-v0", on_device_layers=800)
torch.cuda.empty_cache()  # make sure to clear cache before to experience vram savings
pipe("1girl, hatsune miku, beach, smiling").images[0].save("test.png")

Hi @gabe56f, Thank you for you contribution, I have checked the loading code and fixed a small bug corresponding to the model loading of experts from civit.
But from my tests so far, the inference memory requirement for 4x2 SDXL models is still ~18 GB, Am I missing something here?

I don't have access to any higher capacity GPUs, so I was only able to do testing on my 4080, (16GB) and on there, there are both performance, and VRAM savings - not total memory, just VRAM. Did you torch.cuda.empty_cache() before generating?

for some context, meganime-mix-4x2 is just a custom merge of 4 different anime SDXL models. If needed, here's the config.yaml

Once again, this doesn't save total memory required, it just saves GPU device required.

I don't have access to any higher capacity GPUs, so I was only able to do testing on my 4080, (16GB) and on there, there are both performance, and VRAM savings - not total memory, just VRAM. Did you torch.cuda.empty_cache() before generating?

for some context, meganime-mix-4x2 is just a custom merge of 4 different anime SDXL models. If needed, here's the config.yaml

Once again, this doesn't save total memory required, it just saves GPU device required.

Yeah, I have gotten the memory savings now. I have set the cache to empty after both model loading and inference in the class itself, so that it doesn't have to be manually cleared everytime.

I also got the inference running at <8GB, which is awesome and should enable a lot more users to be able run it locally. Thanks again for your contribution! I will update the README to highlight the optimized memory usage.

Although The GPU VRAM utilization has decreased the peak memory requirement is still higher. When I was trying to SegMoE-4x2 on this configuration: 16GB A6000 and 64 GB RAM, I constantly got cuda out of memory error with 800 and 600 on device layers, How are you running it?

I think the bottleneck from this point on is gonna be the loading of the model -- loading it with on_device_layers>0 makes RAM and VRAM spike for whatever reason. I've run into this exact issue over at your old project repo VoltaML fast stable diffusion and I think it was this change that fixed the issues.
The other reason I can think of is gonna be the VAE, which is once again, the diffusers library's problem, since SDXL VAEs need to run at FP32 due to precision issues. This is only gonna be present at the end of every generation.
If you load using the following the OOM issues should hopefully be fixed:
from diffusers import AutoencoderKL
from segmoe import SegMoEPipeline as seg
import torch

pipe = seg("SegMoE-4x2-v0", on_device_layers=800)

# set VAE to FP16 one
pipe.pipe.vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16).to("cuda:0")
# no longer necessary
# torch.cuda.empty_cache()  # make sure to clear cache before to experience vram savings

pipe("1girl, hatsune miku, beach, smiling").images[0].save("test.png")

From my testing 800 layers on GPU is around 3gb, 1200 is ~7gb. so for SDXL models it's a flat (roughly) 1gb/100 layers. (not total memory usage, just the layers, total memory is 11gb and 15gb respectively)
I don't think this has much use for SD1.5 models, maybe if there are some extreme 10x3 merges it'll prove useful for SD1.5 as well

I've also went ahead and made it so that it's possible to change on_device_layers and scheduler_class without having to reinstate pipelines.
from diffusers import AutoencoderKL
from segmoe import SegMoEPipeline as seg
import torch

# try without offload
pipe = seg("SegMoE-4x2-v0")

# set VAE to FP16 one
pipe.pipe.vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16).to("cuda:0")
torch.cuda.empty_cache()  # make sure to clear cache before to experience vram savings

pipe("1girl, hatsune miku, beach, smiling").images[0].save("test.png")

# try with offload=400
pipe.on_device_layers = 400  # automatically offloads every MoE block to CPU
torch.cuda.empty_cache()  # make sure to clear cache before to experience vram savings
pipe("1girl, hatsune miku, beach, smiling").images[0].save("test_400.png")

# try with offload=1200
pipe.on_device_layers = 1200  # automatically offloads every MoE block to CPU
torch.cuda.empty_cache()  # make sure to clear cache before to experience vram savings
pipe("1girl, hatsune miku, beach, smiling").images[0].save("test_1200.png")

# also be able to change schedulers
pipe.scheduler_class = "EulerAncestralDiscreteScheduler"
pipe("1girl, hatsune miku, beach, smiling").images[0].save("test_1200_euler.png")

@gabe56f Hi, sorry for the delay but I have been trying to get it to work on a machine with 16GB VRAM and 64BG VRAM and it still doesn't work, could you try to run the 2x1 model on colab and share the colab with me?

Not sure about 16GB, free colab has little ram, but 4x2 runs on a tesla p40 with 22.5GB vram

Not sure about 16GB, free colab has little ram, but 4x2 runs on a tesla p40 with 22.5GB vram. 1.5 6x3 runs on 6gb vram, slowly)

was about to say this, been having loooooaaaads of issues even with loading models on colab due to 12gb of available ram...
unet = self.create_empty(cached_folder) seems like the part with the big ram issues, could look into that

I am running it on a server with 64GB RAM and 16GB VRAM, but it doesn't load, I tried the exact code but it always goes out of memory, could you try with 2x1 on colab?

Would this help with model creation? I have a 16GB gpu and im unable to create any SDXL based MoE models.


No way to tell if device already registered

In the Android library, when PushNotifications.shared.start is called with an instance ID that is different from the instance ID that was previously registered, an error is raised which can be caught and then displayed to the user. (Eg. uninstall/reinstall the app).
Currently, when .start fails, it does not raise any exceptions, although it does log that the device has already been registered.

The message:
[PushNotifications]: This device has already been registered with Pusher.
Push Notifications application with instance id: {OLD_PUSHER_ID}.
If you would like to register this device to {NEW_PUSHER_ID} please reinstall the application.

Hi @jhumphrey1
You could check whether the app is currently registered for remote notifications by using isRegisteredForRemoteNotifications. If the result is true you can safely assume that device successfully registered with Pusher.

After testing, this isn't the case. The app is currently in the state where the message above shows, but calling isRegisteredForRemoteNotifications returns true.
This can be recreated by having a device set up with PushNotifications.shared.start(instanceId: "{OLD_PUSHER_ID}"), changing the pusher id to NEW_PUSHER_ID, and pushing an app update to the device without uninstalling/reinstalling. The device is registered for remote notifications, but in the console the above message is printed

We're not completely sure what you intend to do so please answer the following questions:

What is the main reason for changing the instance id?
Have you pushed the updated app to production that is already using the new instance id?

We have a production application released in the store to users with a pusher instance id. Architecture changes, and we need to change to a different pusher account with a different pusher id, without uninstalling and reinstalling the application on every end user's device.

Our suggestion is that you use previous (old) instance id and you add the new account as a colaborator for that instance.
We don't currently support multiple instances in the same app.
If you'll have any follow-up questions please contact our support, they'll be happy to help you further<EMAIL_ADDRESS>


Storybook doesn't import theme properly

The Backstage theme is not reflected in the Storybook, making the components look off. Components that try to import the theme even fails:

Expected Behavior

Components should render identically in Storybook as in normal Backstage app.
Steps to Reproduce (for bugs)

Run Storybook locally according to docs here https://github.com/spotify/backstage/blob/master/docs/getting-started/contributing-to-storybook.md
Context

I don't think has ever worked.
Your Environment

NodeJS Version (v12):
Operating System and Version (e.g. Ubuntu 14.04):
Browser Information:

Fixed in #539

Another indicator that this is still a problem: The typeface is still not correct in http://storybook.backstage.io/?path=/story/progress-card--default

cc @mikqi @OrkoHunter

I try to add decorator globally to fix this issue, but the custom themes is not exist only default value. And then i try to add decorator in stories. The custom theme exist.

so the code will look like this, or we can make decorator as a utility. any better idea?
export default {
  title: 'Status',
  component: StatusOK,
  decorators: [
    storyFn => (
      <ThemeProvider theme={BackstageTheme}>
        <CssBaseline>{storyFn()}</CssBaseline>
      </ThemeProvider>
    ),
  ],
};

NICE! The optimal setup would be if you wouldn't have to add this to every single story. But if that's not viable this looks like a great (stop-gap) solution.

@mikqi Is this something like what you were suggesting?
https://github.com/spotify/backstage/pull/556
This should solve it globally and remove the need to wrap the stories individually, but it might also cause issues(?).

@mikqi Is this something like what you were suggesting?
#556
This should solve it globally and remove the need to wrap the stories individually, but it might also cause issues(?).

@hooloovooo have you try to add this story? i have try to add it globaly, but the custom theme also not exists. after that i try to add decorator in stories file and the custom theme variable exists.

@mikqi Not exactly sure what you mean and what to expect it to look like, but it's there and works when i add it.

Weird. I did the same thing in my laptop. but it didn't work. 😮

@mikqi Not exactly sure what you mean and what to expect it to look like, but it's there and works when i add it.

Weird. I did the same thing in my laptop. but it didn't work. 😮

That's weird. Maybe it was just the build that didn't pick up the new config file or something.

This is fixed in #556 - thanks everyone for helping out.


[Feature Request] Search Receive Addresses

Instead of exporting a CSV of receive addresses, would like the ability to search for addresses in Sparrow.

Already present! Use the View > Search Wallet function.


Unable to install package using r-reticulate

I am trying to use the DDR package in R because I do not know Python. To do so, I am using the reticulate package in R that allows you to install and use Python package in your R environment. I have used reticulate::py_install() to install various packages (e.g., numpy, pandas, etc.), but it is unable to find and download the DDR package. How can I install and use the DDR package in R with reticulate?

Unfortunately, we currently do not provide support for reticulate. We might provide this functionality in the near future.


Question about opentime.from_seconds argument(s)

Description
Most "opentime.from_x()" functions take both value and rate arguments, but the opentime.from_seconds only takes value (seconds). Is there a reason for this? The way it is now you'll need to rescale the RationalTime to the rate you're aiming for.
Context
If you want to create a RationalTime based on Time Of Day for instance, you'll need to add the rescaled_to() call.
Current implementation:
now = datetime.datetime.now()
tod = (now - now.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()
rt = otio.opentime.from_seconds(tod).rescaled_to(24)

Expected implementation:
now = datetime.datetime.now()
tod = (now - now.replace(hour=0, minute=0, second=0, microsecond=0)).total_seconds()
rt = otio.opentime.from_seconds(tod, 24)

gentle bump in case it's a bug and we want to fix it before 0.14 release.

That sounds like a nice addition to the API. The rate argument could have a default value to match the current behavior.


CGAT vcf2vcf.py misses the last variant in the input VCF

The original message was:
I have been using your CGA vcf2vcf.py to sort the samples. It is a nice tool otherwise what I can think about is to do the transposition, sorting and transposition agin.

I happened to notice that, vcf2vcf.py missed the last variant in the input VCF. Can you double check? Hope you can remove this bug soon.

Unfortunately I can't reproduce this:
  cat tests/vcf2vcf.py/example_human_g1k_sorted.vcf | python scripts/vcf2vcf.py | grep -v "#" -c
37
(production)andreas@cgat150[0]: /ifs/devel/andreas/cgat >
  cat tests/vcf2vcf.py/example_human_g1k_sorted.vcf |  grep -v "#" -c
37

Closing for now - please reopen if problem persists.


Add metric_relabel_configs to prometheus scrapeConfig

Motivation for this change
Add metric_relabel_configs to a prometheus scrapeConfig
Things done
Could not yet test, sorry. Just a very minor patch.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I've tested the change successfully, by creating a working metric_relabel_configs configuration from my commit.

@Fluepke Could you please check if this can be closed in favor of #142654?


magic detect

should have some sort of detection logic, and it should have plugins to allow for extendability on what the detection should do:
what
ts

when ts is detected, tsplugin is configured
tsplugin is the same one the user uses, so the core logic is not in the core domain, leaking logic, duplicating the ts bundling (can be seen if you use tsplugin and enable logging, everything is done twice)

es6

when es6 is detected,
and there is a target,
Babel can be auto configured

vue

when there is .vue in the instructions or in the parsed require statements,
Vue plugin is added (if it is not in plugins)

html

when you're running a dev server with web target and no HTML,
web index plugin is added (if it is not in plugins)
when there is HTML, and no HTML plugin, auto add export: default HTML plugin

json

when there is JSON,
add the JSONPlugin (if it is not in plugins)

production

when no uglify or babili plugin
add replace plugin

when

the detection should happen when calling .run, so if the user already configured TS plugin, fusebox doesn't have to add it internally
the magic detect mode could be disabled, as with any other config (magic: false)

related

https://github.com/fuse-box/fuse-box/issues/509
https://github.com/fuse-box/fuse-box/issues/510

We have now http://fuse-box.org/page/configuration#language-level for TS
and for Vue we now have a great plugin in collaboration with @Shepless
The rest we think it is too much magic, as fuse by nature would require very less config compared to other bundlers, so we want to keep things clear for users and let them decide their requirement.


Fixed errors with the new token based auth

This fixes issues with typos in namespaces, and missing interface and trait usage in the old client.

Just another example of why we need unit tests in v.3 :)
Thank you :+1:


[bug] On PHP pages: prettier-atom: File type not supported

Hi,
I selected format on save for prettier, and every time I save a php file it seems it is trying to parse it even tho it is not javascript and give me a soft error : prettier-atom: File type not supported.

This has been fixed in #24, and will be published in the next version bump.


doesn't work with yarn due to CRLF line-ending

steps to reproduce the issue:

on macOS, make a new yarn project with yarn init -y
yarn add typescript-call-graph
yarn run tcg
this results in an error: env: node\r: No such file or directory

There's some discussion here https://github.com/yarnpkg/yarn/issues/5480

One option would be to use prettier, which by default always uses unix-style line endings https://prettier.io/docs/en/options.html#end-of-line
Would you accept a PR adding prettier to the codebase?

Sounds good! Thank you - I will accept a PR that adds prettier (and any fixes to the CRLF line-endings).
I wonder if it's because I used Windows to do my coding 😅 … I found this claim:

in Windows both a CR and LF are required to note the end of a line

It's pretty bizarre that yarn can't handle something that's rather ubiquitous 🤔
I guess another approach is to re-save whatever files necessary replacing CRLF with whatever yarn wants 🤷  -- whatever is easiest for you - thanks! 😁
Would also be great if you happen to be able to check if it still works on Windows before you create the PR 👍 but I could check too - just let me know.

I've had a closer look and the line-endings are actually fine (i.e. unix-style) in the source code so prettier won't help us here.
I think what's happening is that you have core.autocrlf = true in your git config (this is common for Windows) meaning when you check out the project, git will turn all the line endings into CRLFs in your working directory even if they are LFs in the repo in .git.
npm publish will use whatever is in your working directory so when I yarn add your project I end up with the CRLFs (whereas npm install automatically changes them to LFs).
I think the best solution is to add a .gitattributes file to prevent git from using CRLFs in the working directory. I think that will override your local configuration.

opened a PR 🤞
https://github.com/whyboris/TypeScript-Call-Graph/pull/10

Sorry for the delay - busy weeks for me - I'm packing and getting ready to move to a new house 😅
I'll try to find time this week 🤝

cool, just checking
no rush 🙂

Hi here 👋 First of all, thanks a lot for this nice tool! Liking the project a lot :)
However, I've been running into the same issue as @ensconced lately and I am curious if there's any chance for #10 to be reviewed? For now, I managed to solve the issue by replacing the line endings locally, but a more stable solution would be great 😊
For anyone interested, this worked for me to bypass the issue. I've edited the line endings on the installed tcg like this using vim:
# Make sure `tcg` is installed globally.
# $ npm i -g typescript-call-graph
$ vim $(which tcg)
  #!/usr/bin/env node
  "use strict";
  exports.__esModule = true;
  var open = require("open");
  ...
# now in VIM command mode
# first set all line endings to the DOS format to avoid mixed endings
:e ++ff=dos
# change the line endings to a UNIX format
:set ++ff=unix
# save the file and quit
:wq

If tcg is installed in project-specific node_modules, it is also possible to apply the same fix to the node_modules/typescript-call-graph/bin/index.js file. Of course, besides VIM other editors can do the same trick, and, many people have been suggesting a separate tool dos2unix.
(Approach credits to this unix.stackexchange post 🙂 )
Hope this helps anyone.

I've been away from personal coding projects for most of the last year 😓 -- moving to a new state and fixing up the house has been time consuming 😅
I'll try to get back to coding in August (in a few weeks) - I really should have merged #10 earlier 🙇

@whyboris thanks for the response! :) No worries at all, I can imagine the feeling! ✌ Of course take your time! :)


[New game]: 3D racing game

🎮 Game Request
Game logic and basic description
3d racing game
In this game, player take control of car and compete against AI opponents or other players in multiplayer mode.
Point down the features
Game points
Try to finish as many as laps before the time runs out
https://github.com/kunjgit/GameZone/assets/127978268/f546c6ce-4e7c-43ec-8cca-5a92c9c05c53
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @akankshachanana1 !
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🕹

/assign

Hey @akankshachanana1 ! 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! 😇


macro templating in asm() block space sensitivity

Not quite sure if this a bug or I'm missing something obvious but I have the following
macro test(nap)
  asm("
    .asciz \"{{ nap }}\"
    .asciz \" {{ nap }} \"
  ")
  {{debug()}}
end

test(hello)

which gives me the following output
  asm("
    .asciz \"{{ nap }}\"
    .asciz \" hello \"
  ")

Is there a whitespace insensitive way to insert the template variables?

A similar case is
macro test(*args)
  asm("
    .asciz \" {% for x, i in args %}{{x}}{{i}}{% end %}\"
  ")
  {{debug()}}
end

test(hello, there)

which  gives me
Syntax error in eval:1: unterminated macro

but if i unbalance the speech marks with
  asm("
    .asciz \" {% for x, i in args %}{{x}}{{i}}{% end %}\\"
  ")

it compiles

These are definitely bugs, we'll fix them.


Fixed issue to complile and run

I have fixed all issues which is not allowing to compile and run for new Xcode 13.0 and iOS 15


Cannot build Unreal game

Hi
Without further information hard to give you support. Could you please provide more information? Which version of Carla, Unreal Engine, operating system, and also the error during the build.
Thank you


height attribute of class PlantCover

PlantCover defines an attribute averageHeight. Would it make sense to add minHeight and maxHeight attributes in addition?

In the web conference on 17 May 2019 we agreed on adding the two attributes.
In addition, we discussed to make a call at the OGC meeting in Leuven, June 2019), to request for further attributes on all modules. The attributes should be proposed together with a use case illustration their use.


different between LocalVideoTrack and remoteVideoTrack

i have some task about ML on video call (virtual background). Everything is good on local LocalVideoTrack but when i use remoteVideoTrack, i have some problem (about memory leak)
i want to ask you. what is different between LocalVideoTrack and remoteVideoTrack
*sorry about my english"

@ceaglest help me please

@NALanhnt2 LocalVideoTrack and RemoteVideoTrack - both are VideoTracks, hence you can add renderer to either to get the video frames. The only difference is, LocalVideoTrack is used to send your (local participant's) video frames in a Room vs the RemoteVideoTrack represents the remote participant's video frames in a Room.
Let me know if you have any questions.

@NALanhnt2 LocalVideoTrack and RemoteVideoTrack - both are VideoTracks, hence you can add renderer to either to get the video frames. The only difference is, LocalVideoTrack is used to send your (local participant's) video frames in a Room vs the RemoteVideoTrack represents the remote participant's video frames in a Room.
Let me know if you have any questions.

Closing the ticket assuming the problem has been resolved. Feel free to reach out to us in case if you run into any issues.

Closing the ticket assuming the problem has been resolved. Feel free to reach out to us in case if you run into any issues.


Differential workflow with Buck + dependencies

Suppose I have an iOS Buck project (Obj-C files), with the following dependency graph:
AppModule --(depends on)--> Dependency1 --(depends on)--> Dependency2
and AppModule is a top-level target, i.e. building it produces a .app bundle.
If I push a change to CI that modifies Dependency2 (I add a new Objective-c .m file to it), does running infer capture -- buck build AppModule collect the compile commands for the added file in Dependency2? Or do I need to explicitly run infer capture -- buck build Dependency2?
More generally, with Buck, if I make changes in my project that create the need for new compile commands to be stored in infer (I add new source files to a module), or to update the compile commands stored in infer (I make a source file in one module dependent on a source file in another module), do I have to explicitly (by name), build the modified modules in buck so that infer can capture the required compile commands, or can I just build the top-level module (like an app) that either directly, or transitively, uses the modified modules, and have infer capture the relevant compile commands that way?
I would also love some insight as to how Facebook itself uses infer with buck, for understanding of best practices. For example, how would you handle the above case from commit to commit? And do you prefer to work with compilation databases, or buck output for harvesting compile commands?
Any help is much appreciated!

infer capture in general will "see" everything that the compilation command recompiles. In your scenario, since Dependency2 has chnaged, buck build AppModule should rebuild all the targets, since they all depend on Dependency2, and infer will capture the compilation of all the source files.

More generally, with Buck, ...

As above, capturing a target will capture everything that gets built by Buck, so if you are building the whole app it will in particular build your target.
Note that Buck maintains a cache in buck-out/. Everything I've said above relies on the fact that you are doing a "clean" build, i.e. first removing buck-out/.

I would also love some insight as to how Facebook itself uses infer with buck, for understanding of best practices. For example, how would you handle the above case from commit to commit?

Our integration works by running infer on the top commit, then removing buck-out/ and running infer on the base commit, then comparing the results with infer-reportdiff. We still benefit from Buck's distributed cache to get fast incremental results, as most of what we need to analyse will already be in cache.

And do you prefer to work with compilation databases, or buck output for harvesting compile commands?

We rely on the Buck integration (infer -- buck build target) to run all the analyses of infer, so that we benefit from Buck's distributed cache, except the clang linters for which we work with compilation databases (because they're fast enough to run without the Buck cache).

@jvillard Thanks so much, that really cleared things up, especially this part:

Our integration works by running infer on the top commit, then removing buck-out/ and running infer on the base commit, then comparing the results with infer-reportdiff. We still benefit from Buck's distributed cache to get fast incremental results, as most of what we need to analyse will already be in cache.


Slider with buttons : button placement off for non desktop

seen on https://main--caesars--hlxsites.hlx.page/caesars-palace/casino
Not seeing in authoring guide. this variation may be missing


Removed from 20.02 skills repo

First of all thanks for creating this skill!
This is a notification that the skill was removed from the 20.02 branch of the mycroft-skills repo due to an incompatibility. It can be included again once #13 is merged.

#13 merged


Сrash on 1.20 of Minecraft fabric.

Don`t work on version 1.20 of Minecraft fabric.
The following message appears:

I am using the following mods:

Get midnightlib


Update collation.md

Add a more easy method to create a Fabric warehouse, but you may help to polish the content.
Thank you for contributing to Microsoft Fabric documentation
Fill out these items before submitting your pull request:
If you are working internally at Microsoft:
Provide a link to an Azure DevOps Boards work item that tracks this feature/update.

Who is your primary Skilling team contact? @mention them individually tag them and let them review the PR before signing off.

For internal Microsoft contributors, check off these quality control items as you go

[ ] 1. Check the Acrolinx report: Make sure your Acrolinx Total score is above 80 minimum (higher is better) and with no spelling issues. Acrolinx ensures we are providing consistent terminology and using an appropriate voice and tone, and helps with localization.

[ ] 2. Successful build with no warnings or suggestions: Review the build status to make sure all files are green (Succeeded).

[ ] 3. Preview the pages:: Click each Preview URL link to view the rendered HTML pages on the review.learn.microsoft.com site to check the formatting and alignment of the page. Scan the page for overall formatting, and look at the parts you edited in detail.

[ ] 4. Check the Table of Contents: If you are adding a new markdown file, make sure it is linked from the table of contents.

[ ] 5. #sign-off to request PR review and merge: Once the pull request is finalized and ready to be merged, indicate so by typing #sign-off in a new comment in the Pull Request. If you need to cancel that sign-off, type #hold-off instead. Signing off means the document can be published at any time. Note, this is a formatting and standards review, not a technical review.

Merge and publish

After you #sign-off, there is a separate PR Review team that will review the PR and describe any necessary feedback before merging.
The review team will use the comments section in the PR to provide feedback if changes are needed. Address any blocking issues and sign off again to request another review.
Once all feedback is resolved, you can #sign-off again. The PR Review team reviews and merges the pull request into the specified branch (usually the main branch or a release- branch).
From the main branch, the change is merged into the live branch several times a day to publish it to the public learn.microsoft.com site.

@WilliamDAssafMSFT - If you accept these changes, we can fix the link before we merge.
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

This PR is in progress internally.

Thanks @Max-Meng, please review recent changes to this article.
#please-close


Map doesn't complete running aggregation example in Hortonworks sandbox

Migrated from Issue #25, from @tikos
Anyway I was trying Aggregation sample (taxi demo) and when I tried aggregation (step 9) it was for looooooooooooooong time and the process bar (map and %) was like:
0%, after 30 minutes 0%, after another 30 minutes 89% and 3 times the same (only Map), in Reduce was 0% ... This is okey? because I hade to turn off my lapton I was using for it so I don´t know ..
but then I tried it again, skip step 9 and use 10 and 11 and get this:
Could not find job application_1430678691120_0002. The job might not be running yet.

Job job_1430678691120_0002 could not be found: {"RemoteException":{"exception":"NotFoundException","message":"java.lang.Exception: job, job_1430678691120_0002, is not found","javaClassName":"org.apache.hadoop.yarn.webapp.NotFoundException"}} (error 404)

Steps 1-8 worked well ;) I don´t know if step 9 had some error message yet because I had to turn it off ...
but I will try it again ... (its really long process - its was running more than 1 hour...  and still 89% Map then again 30% ... I will try it and write results ...
Hadoop HDF and stuff ... That would be great to implement that to these tools ...

BTW: Taxi demo sample ... I am again in step 9 .. .change the value from 0.01 to 1 to make it faster BUT ... it is still slow ... or its okey? I am just asking because I don´t know ... Isn ´t it weird ?
hive> FROM (SELECT ST_Bin(1, ST_Point(dropoff_longitude,dropoff_latitude)) bin_id, *FROM taxi_demo) bins
    > SELECT ST_BinEnvelope(1, bin_id) shape,
    > COUNT(*) count
    > GROUP BY bin_id;
Query ID = root_20150507120909_e000001c-4259-48dd-8e98-3684d0e94566
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 3
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1431013082714_0001, Tracking URL = http://sandbox.hortonworks.com:8088/proxy/application_1431013082714_0001/
Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_1431013082714_0001
Hadoop job information for Stage-1: number of mappers: 9; number of reducers: 3
2015-05-07 12:11:05,397 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:12:09,782 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:13:25,554 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:14:37,769 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:15:38,096 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:16:42,504 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:17:25,371 Stage-1 map = 89%,  reduce = 0%
2015-05-07 12:18:11,890 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:19:12,073 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:20:12,697 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:21:26,323 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:22:26,650 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:23:33,421 Stage-1 map = 11%,  reduce = 0%
2015-05-07 12:23:35,272 Stage-1 map = 56%,  reduce = 0%
2015-05-07 12:24:09,535 Stage-1 map = 89%,  reduce = 0%
2015-05-07 12:24:41,054 Stage-1 map = 67%,  reduce = 0%
2015-05-07 12:25:28,244 Stage-1 map = 44%,  reduce = 0%
2015-05-07 12:26:22,278 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:28:36,400 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:29:46,988 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:30:47,851 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:31:48,892 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:33:13,617 Stage-1 map = 0%,  reduce = 0%
2015-05-07 12:34:14,299 Stage-1 map = 0%,  reduce = 0%

EDIT:
I guess that my last code isn´t good for me because it end now with this:
2015-05-07 12:56:44,267 Stage-1 map = 0%,  reduce = 0%
2015-05-07 13:07:46,126 Stage-1 map = 89%,  reduce = 0%
java.io.IOException: Job status not available
        at org.apache.hadoop.mapreduce.Job.updateStatus(Job.java:322)
        at org.apache.hadoop.mapreduce.Job.getStatus(Job.java:329)
        at org.apache.hadoop.mapred.JobClient.getJob(JobClient.java:598)
        at org.apache.hadoop.hive.ql.exec.mr.HadoopJobExecHelper.progress(HadoopJobExecHelper.java:288)
        at org.apache.hadoop.hive.ql.exec.mr.HadoopJobExecHelper.progress(HadoopJobExecHelper.java:547)
        at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:426)
        at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:136)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1504)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1271)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1089)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:912)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:902)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:268)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:793)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Ended Job = job_1431013082714_0001 with exception 'java.io.IOException(Job status not available )'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
hive>

Hi @tikos,
I completed the aggregation example in the Sandbox - and it did complete in a reasonable time (238 seconds).
What do you see when you check your tracking URL while running the job (example from above: Tracking URL = http://sandbox.hortonworks.com:8088/proxy/application_1431013082714_0001/)?
What do you get when you do select * from taxi_agg limit 2;


AssertionError when reproduction of Dlinear model

Description
I want to reproduce multivariate time series forecasting with DLinear, but some issues. Any help will be appreciated.
To Reproduce
(Please provide minimal example of code snippet that reproduces the error. For existing examples, please provide link.)
import os
import time
import numpy as np
import pandas as pd
import torch
from gluonts.dataset.multivariate_grouper import MultivariateGrouper
from gluonts.torch.model.d_linear.estimator import DLinearEstimator
from gluonts.dataset.split import split
from gluonts.evaluation import MultivariateEvaluator
from gluonts.evaluation import Evaluator, make_evaluation_predictions
import matplotlib.pyplot as plt
import random
import os
seed_value = 2023
print('random seed:',seed_value)
np.random.seed(seed_value)
random.seed(seed_value)
os.environ['PYTHONHASHSEED'] = str(seed_value)

torch.manual_seed(seed_value)
torch.cuda.manual_seed(seed_value)
torch.cuda.manual_seed_all(seed_value)

torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
num_threads = torch.get_num_threads()
torch.set_num_threads(num_threads//20)
pre_len = 24
num_test_dates = 5
dataset_path = '/home/newdisk/datasets/'
df = pd.read_csv(dataset_path+"ETTh1.csv")

def split_data(df, prediction_length, windows=1):

    df.index = pd.to_datetime(df.index)
    start_timestamp = pd.Period(df.index[0], "H")
    dataset = [
        {
            "start": start_timestamp,
            "target": df.iloc[:,1:].values,
        }
    ]

    train_data, test_gen = split(dataset, offset=-prediction_length)

    test_data = test_gen.generate_instances(prediction_length, windows=windows)

    return dataset, train_data, test_data

def backtest_model(dataset, model):

    forecast_it, ts_it = make_evaluation_predictions(
        dataset=dataset, predictor=model
    )

    forecasts = list(forecast_it)
    tss = list(ts_it)

    evaluator = Evaluator()
    evaluator(tss, forecasts)
    agg_metrics, item_metrics = evaluator(
        iter(tss), iter(forecasts), num_series=len(dataset)
    )

    return agg_metrics, item_metrics, tss

estimator = DLinearEstimator(
    prediction_length=pre_len,
    context_length=pre_len,
    trainer_kwargs={"max_epochs": 5},
)

dataset, training_data, _ = split_data(df, pre_len)

model = estimator.train(training_data, num_workers=11)

forecasts = list(model.predict(dataset))

forecast = forecasts[0]

agg_metric, item_metric, tss = backtest_model(dataset, model)

print(agg_metric['MSE'])
print(agg_metric['m_sum_mean_wQuantileLoss'])
print(agg_metric['mean_wQuantileLoss'])

Error message or code output
Traceback (most recent call last):
File "dlinear_test.py", line 165, in
model = estimator.train(training_data, num_workers=11)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/estimator.py", line 248, in train
return self.train_model(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/estimator.py", line 211, in train_model
trainer.fit(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 545, in fit
call._call_and_handle_interrupt(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/call.py", line 44, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 581, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 990, in _run
results = self._run_stage()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 1036, in _run_stage
self.fit_loop.run()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fit_loop.py", line 194, in run
self.setup_data()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fit_loop.py", line 258, in setup_data
iter(self._data_fetcher)  # creates the iterator inside the fetcher
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fetchers.py", line 106, in iter
batch = super().next()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fetchers.py", line 56, in next
batch = next(self.iterator)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/utilities/combined_loader.py", line 326, in next
out = next(self._iterator)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/utilities/combined_loader.py", line 74, in next
out[i] = next(self.iterators[i])
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/itertools.py", line 415, in iter
yield from itertools.islice(self.iterable, self.length)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 111, in iter
yield from self.transformation(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 132, in call
for data_entry in data_it:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/loader.py", line 55, in call
for batch in data:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/loader.py", line 50, in call
yield from batcher(data, self.batch_size)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/itertools.py", line 131, in get_batch
return list(itertools.islice(it, batch_size))
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 132, in call
for data_entry in data_it:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 111, in iter
yield from self.transformation(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 186, in call
for data_entry in data_it:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/itertools.py", line 87, in iter
for el in self.iterable:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 111, in iter
yield from self.transformation(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/_base.py", line 132, in call
for data_entry in data_it:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/transform/base.py", line 132, in call
for data_entry in data_it:
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/split.py", line 235, in generate_training_entries
yield from map(self.training_entry, dataset)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/split.py", line 282, in training_entry
return slice_data_entry(entry, slice(None, self.offset))
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/split.py", line 163, in slice_data_entry
slice = to_positive_slice(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/dataset/split.py", line 120, in to_positive_slice
assert stop >= 0
AssertionError
put error or undesired output here

Environment

Operating system: centOS7
Python version: python=3.8.0
GluonTS version: 0.14.0
MXNet version:

(Add as much information about your environment as possible, e.g. dependencies versions.)

@hanlaoshi dlinear is an inherently univariate model so there is no need to group the time series etc. just pass the time series individually and predict individually like other univariate models....

oh i see now you are not using those imports... so the issue seems to be in the dataset preparation helpers you have rather than dlinear... can you confirm that you get the same error with another model like DeepAR?

@hanlaoshi dlinear is an inherently univariate model so there is no need to group the time series etc. just pass the time series individually and predict individually like other univariate models....

Thank you for getting back to me so quickly. So, the patch_TST and lag_TST are also univariate models, right?

yes they are... the issue is in the split function i see so even before the model is called... i will try to debug

oh i see now you are not using those imports... so the issue seems to be in the dataset preparation helpers you have rather than dlinear... can you confirm that you get the same error with another model like DeepAR?

Actually, I solved the problem by rewriting the train_data and test_data code. The modified code is provided below.:
'''
train_data = ListDataset(
[
{
"start: df['date'][0],
"target": df.iloc[:-pre_lennum_test_dates,1:].values.T,
}
],
freq="H",
one_dim_target=False
)
test_data = ListDataset(
[
{
FieldName.START: df['date'][0],
FieldName.TARGET: df.iloc[:-pre_len(num_test_dates-1-i),1:].values.T if i < num_test_dates-1 else df.iloc[:,1:].values.T,#type: ignore
}
for i in range(num_test_dates)
],
freq="H",
one_dim_target=False
)
'''
But I got the other error below (maybe this error arose because the model is inherently univariate)::
Traceback (most recent call last):
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/main.py", line 39, in
cli.main()
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 430, in main
run()
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher/../../debugpy/../debugpy/server/cli.py", line 284, in run_file
runpy.run_path(target, run_name="main")
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 321, in run_path
return _run_module_code(code, init_globals, run_name,
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 135, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/home/newdisk/ai/.vscode-server/extensions/ms-python.python-2023.18.0/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 124, in _run_code
exec(code, run_globals)
File "/home/newdisk/ai/Project/pytorch-ts-master/examples/2022-9-multi_flow/CoST-main/dlinear_test.py", line 114, in
model = estimator.train(train_data, num_workers=0)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/estimator.py", line 248, in train
return self.train_model(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/estimator.py", line 211, in train_model
trainer.fit(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 545, in fit
call._call_and_handle_interrupt(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/call.py", line 44, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 581, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 990, in _run
results = self._run_stage()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/trainer.py", line 1036, in _run_stage
self.fit_loop.run()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fit_loop.py", line 202, in run
self.advance()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/fit_loop.py", line 359, in advance
self.epoch_loop.run(self._data_fetcher)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/training_epoch_loop.py", line 136, in run
self.advance(data_fetcher)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/training_epoch_loop.py", line 240, in advance
batch_output = self.automatic_optimization.run(trainer.optimizers[0], batch_idx, kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/optimization/automatic.py", line 187, in run
self._optimizer_step(batch_idx, closure)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/optimization/automatic.py", line 265, in _optimizer_step
call._call_lightning_module_hook(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/call.py", line 157, in _call_lightning_module_hook
output = fn(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/core/module.py", line 1282, in optimizer_step
optimizer.step(closure=optimizer_closure)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/core/optimizer.py", line 151, in step
step_output = self._strategy.optimizer_step(self._optimizer, closure, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/strategies/strategy.py", line 230, in optimizer_step
return self.precision_plugin.optimizer_step(optimizer, model=model, closure=closure, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/plugins/precision/precision_plugin.py", line 117, in optimizer_step
return optimizer.step(closure=closure, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/optim/optimizer.py", line 140, in wrapper
out = func(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/optim/optimizer.py", line 23, in _use_grad
ret = func(self, *args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/optim/adam.py", line 183, in step
loss = closure()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/plugins/precision/precision_plugin.py", line 104, in _wrap_closure
closure_result = closure()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/optimization/automatic.py", line 140, in call
self._result = self.closure(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/optimization/automatic.py", line 126, in closure
step_output = self._step_fn()
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/loops/optimization/automatic.py", line 315, in _training_step
training_step_output = call._call_strategy_hook(trainer, "training_step", *kwargs.values())
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/trainer/call.py", line 309, in _call_strategy_hook
output = fn(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/lightning/pytorch/strategies/strategy.py", line 382, in training_step
return self.lightning_module.training_step(*args, **kwargs)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/d_linear/lightning_module.py", line 86, in training_step
train_loss = self._compute_loss(batch)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/model/d_linear/lightning_module.py", line 76, in _compute_loss
distr = self.model.distr_output.distribution(distr_args, loc, scale)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/distributions/distribution_output.py", line 141, in distribution
return AffineTransformed(distr, loc=loc, scale=scale)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/gluonts/torch/distributions/affine_transformed.py", line 42, in init
super().init(
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/distributions/transformed_distribution.py", line 64, in init
shape = transform.forward_shape(base_shape)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/distributions/transforms.py", line 372, in forward_shape
shape = part.forward_shape(shape)
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/distributions/transforms.py", line 772, in forward_shape
return torch.broadcast_shapes(shape,
File "/home/newdisk/ai/anaconda3/envs/aug/lib/python3.8/site-packages/torch/functional.py", line 126, in broadcast_shapes
raise RuntimeError("Shape mismatch: objects cannot be broadcast to a single shape")
RuntimeError: Shape mismatch: objects cannot be broadcast to a single shape
By the way, If I want to change Dlinear to a multivariate model, where should I make modifications?

it doesnt make sense for dlinear to be multivariate, you would need to rehape the context_length, multivariate_dim tensor to context_length*multivariate_dim vector and then the nn.linear would be potentially huge:
nn.linear(context_length*multivariate_dim , prediction_length*multivariate_dim)

it doesnt make sense for dlinear to be multivariate, you would need to rehape the context_length, multivariate_dim tensor to context_length*multivariate_dim vector and then the nn.linear would be potentially huge:
nn.linear(context_length*multivariate_dim , prediction_length*multivariate_dim)

also this is just to learn the representation, on the emission side you would then need a way to model the joint multivariate_dim distribution for each of the prediction_length time points...

Thank you for generously addressing my question. I would like to kindly ask if you could assist me once again by helping me correct the code I have written for mean_wQuantileLoss and m_sum_mean_wQuantileLoss. The code is provided below:
def quantile_loss(y_true, y_pred, q):
    loss = 2 * np.sum(np.abs((y_pred - y_true) * ((y_true <= y_pred) - q)))
    return loss

def quantile_loss(y_true, y_pred, q):
    loss = 2 * np.sum(np.abs((y_pred - y_true) * ((y_true <= y_pred) - q)))
    return loss

def mean_wQuantileLoss(forecasts, targets, quantiles=(np.arange(20)/20.0)[1:]):
    B, T, D = targets.shape
    loss = 0.0
    for i in range(B):
        for d in range(D):
            for q in quantiles:
                loss += quantile_loss(targets[i, :, d], forecasts[i, :, d], q) / np.sum(np.abs(targets))
    return loss / (B * D * len(quantiles))

def m_sum_mean_wQuantileLoss(forecasts, targets, quantiles=(np.arange(20)/20.0)[1:]):#
    B, T, D = targets.shape
    forecasts = np.sum(forecasts, axis=-1)
    targets = np.sum(targets, axis=-1)
    total_loss = 0.0
    for i in range(B):
        loss = 0.0
        for q in quantiles:
            loss += quantile_loss(targets[i], forecasts[i], q) / np.sum(np.abs(targets))
        total_loss += loss / len(quantiles)
    return total_loss / B

so the evaluator returns all these metrics so just use those I would say instead of re-writing these functions

so the evaluator returns all these metrics so just use those I would say instead of re-writing these functions

Sure! In gluonts, they do have these metrics available. However, the current project I'm working on requires the evaluation of CRPS and CRPS-sum, using a different model architecture than gluonts. That's why I need to compare the results using mean_wQuantileLoss and m_sum_mean_wQuantileLoss from gluonts.

ok have a look at the implementation here:
https://github.com/huggingface/evaluate/pull/509

also note that compraring univariate models against multivariate models on the smallish sized open datasets will always result in the univariate methods performing better due to the difficulty of not learning spurious correlations in the multivariate methods (which is why even a simple linear model like dlinear performs "better" than a multivariate version of transformer methods for example) and thus there is no insight in a model's performance when one does such a comparison...

also note that compraring univariate models against multivariate models on the smallish sized open datasets will always result in the univariate methods performing better due to the difficulty of not learning spurious correlations in the multivariate methods (which is why even a simple linear model like dlinear performs "better" than a multivariate version of transformer methods for example) and thus there is no insight in a model's performance when one does such a comparison...

Thank you again for the insightful answer. After looking at the crps.py code, I still have some follow-up questions. Can the shapes of both predictions and references be (B,T,D)? But in the example on line 61 of crps.py, it seems like the shape of predictions is (B,T*D), while the shape of references should be (B,), is that right? I'd appreciate it if you could clarify the expected shapes of predictions and references for CRPS calculation. Please let me know if I misunderstood anything. Thanks!

so Crps needs many prediction samples (so 1 more tensor dim) and one ground-truth sample so the shape of the prediction has an extra dim

so Crps needs many prediction samples (so 1 more tensor dim) and one ground-truth sample so the shape of the prediction has an extra dim

You're right. I remember in your pytorch-ts conditional flow model, your approach was to repeat the first dimension of the tensor to be predicted num_parallel_samples times, so that the final predicted sample shape is (-1,num_parallel_samples,prediction_length,target_dim). At this point, the predictions tensor shape would be (B, num_parallel_samples, prediction_length, target_dim), while the references tensor shape would be (B, prediction_length, target_dim). Is my understanding of this correct?

yes that is right

yes that is right

I really appreciate you taking the time to explain the model to me clearly and concisely. It's impressive how quickly you understood my question and provided an accurate description of the shape manipulation. Your knowledgeable response demonstrates your strong grasp of the temporal forecasting concepts. Thanks for sharing your expertise - it is greatly helping my understanding of time series prediction models.

oh not a problem at all! glad to help!

oh not a problem at all! glad to help!

Hi， Dr. Kashif, Based on the CRPS calculation code you provided huggingface/evaluate/pull/509 , I have some uncertainties when reproducing it. My main confusion comes from the line "forecast_quantile = np.quantile(y_pred, q, axis=0)".
Assuming the shape of y_truth is (B,T,D) and the shape of y_pred is (B,100,T,D), after running "forecast_quantile = np.quantile(y_pred, q, axis=0)", the shape of forecast_quantile becomes (100,T,D). This shape does not match y_truth and would cause an error, or should we change the axis=1 to match the shape between forecast_quantile and y_truth?
Could you please help explain where the issue might be? I'm unsure if my understanding of the shapes is correct after taking the quantile along axis 0.
def quantile_loss(target: np.ndarray, forecast: np.ndarray, q: float) -> float:
        return 2.0 * np.sum(np.abs((target - forecast) * ((target <= forecast) - q)))
def _compute(
        self,
        predictions,
        references,
        quantiles=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9],
        sum=False,
        sum_axis=-1,
        multioutput="uniform_average",
    ):
        # if the number of dims of predictions > 2 then sum over sum_axis dimension if sum is True
        if sum and len(predictions.shape) > 1:
            predictions = np.sum(predictions, axis=sum_axis)
            references = np.sum(references, axis=sum_axis)
        abs_target_sum = np.sum(np.abs(references))
        weighted_quantile_loss = []
        for q in quantiles:
            forecast_quantile = np.quantile(predictions, q, axis=0)
            weighted_quantile_loss.append(
                self.quantile_loss(references, forecast_quantile, q) / abs_target_sum
            )
        if multioutput == "raw_values":
            return weighted_quantile_loss
        elif multioutput == "uniform_average":
            return np.average(weighted_quantile_loss)
        else:
            raise ValueError(
                "The multioutput parameter should be one of the following: "
                + "'raw_values', 'uniform_average'"
            )

sorry for the delay... in the DLinear setting there should not be a D dimensional tensor and also the CRPS is a univariate metric


#159570479 Update postgres config

What does this PR do?
Description of Task to be completed?
How should this be manually tested?
Any background context you want to provide?
What are the relevant pivotal tracker stories?(if applicable)

Pull Request Test Coverage Report for Build 189

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

Totals

Change from base Build 187:
0.0%

Covered Lines:
1250

Relevant Lines:
1253

💛  - Coveralls


Use logging throughout config functions

Should be no print statements, and all output and exceptions should be logged somewhere. Note that this module has to deal with the unique challenge of logging before the config files have been combined, and will need to write logging to someplace logical with that in mind (maybe to the default morf or morf-listener logger, or...?)
https://github.com/educational-technology-collective/morf/blob/01929ff9985abc67e17884a74c3629a588949226/morf-python-api/morf/utils/config.py#L30

can probably use set_logger_handlers(module_logger, job_config=None), just as is used throughout functions in morf.utils


Publishing Wekan v0.24 snap?

@kubiko
I added changes for Wekan v0.24, MongoDB v3.2.14, wekan-ondra to wekan.
How do I build and publish it as snap package?

Snap is now published.

I can see process is working fine for you now. I'm just finishing CI build option, pull request should follow.
BTW in case you have not noticed, if you want to make build quicker you can trigger git import process manually in launchpad, so you don't need to wait for next sync.
[https://code.launchpad.net/~wekan-team/wekan/+git/wekan-snap]

@kubiko
Yes, I used trigger git import process yesterday, it worked great :)


Not deployable!!

When I try to deploy using the following code snippet, nothing happens! Please help!
Code:

Deployment information:

I met the same problem several weeks ago, and this pull request saved my life
delete it all

maybe try rum
rm -rf /
yea it is a good idea.
thank me. I am welcome.

wouldn't it work better with --no-preserve-root?


Feature: Footer location on small screens

Type of feature
🎨 Style
Current behavior
The style of the footer on the small and medium screens is broken, it would be great to solve it.

Suggested solution
Create the design from figma

Additional context
The figma file link is available on readme as well.
Code of Conduct

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

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

Hello! Just attempted a fix for this. Hope it helps!

@bpirrocco Thank you for working on this! 😄
Pro tip: if you want to take other issues feel free to check this documentation,
not: it has a great self assigning automation 👍


Generate robots.txt automatically

I think it would be handy to have an option to generate a customized robots.txt in the same way as any other template, in the same way Hugo does.

You can do that in two ways:

Create a page file adding a subextension. For example robots.txt.njk will output the file robots.txt.
Or create a page file and set the url variable to /robots.txt.

You have more info here: https://github.com/lumeland/lume/discussions/113