Unable to download pack

I am unable to download the pack, it keeps failing to download Skyrim SE 0462, I think this is because it needs updating to Skyrim SE 0463

See instructions at https://github.com/azraerl/serenity/issues/8

Hi, same issue, serenity can't download se462 enb. I downloaded it from http://enbdev.com/download_mod_tesskyrimse.htm and put it  in the downloads where all the other mods are. Serenity doesn't recognise it's there? All add blockers are off.

From the logs
689.71 - Found 1004 total files, 1007 matching filesize
689.77 - Downloading Missing Archives
689.77 - Missing 1 archives
689.77 - Getting Nexus API Key, if a browser appears, please accept
689.77 - Loading server whitelist
690.04 - Loaded permissions for 565 servers and 258 Google Drive files
690.04 - File hash check (-42) 80fc51c51a3537edf59c681e3cd3999f61cf3cef736d769cb89de1afe8e246bc
690.08 - Downloading enbseries_skyrimse_v0462.zip
690.52 - Loading for alternative to nJ59BDEM0qc=
691.09 - Download failed for enbseries_skyrimse_v0462.zip and no upgrade from this download source is possible
691.42 - Hashing Remaining Archives
691.42 - Looking for files to hash
691.45 - Found 1004 total files, 1007 matching filesize
691.53 - Unable to download enbseries_skyrimse_v0462.zip (HTTPDownloader+State|http://enbdev.com/enbseries_skyrimse_v0462.zip)
691.53 - Cannot continue, was unable to download one or more archives
691.53 - File hash check (-42) 80fc51c51a3537edf59c681e3cd3999f61cf3cef736d769cb89de1afe8e246bc
691.53 - Encountered error, can't continue - System.Exception: Cannot continue, was unable to download one or more archives
at Wabbajack.Lib.AInstaller.Error(String msg) in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack.Lib\AInstaller.cs:line 70
at Wabbajack.Lib.MO2Installer._Begin(CancellationToken cancel) in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack.Lib\MO2Installer.cs:line 161
at Wabbajack.Lib.ABatchProcessor.b__66_0() in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack.Lib\ABatchProcessor.cs:line 177
at Wabbajack.MO2InstallerVM.<>c__DisplayClass31_0.<b__0>d.MoveNext() in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\MO2InstallerVM.cs:line 181
--- End of stack trace from previous location ---
at Wabbajack.MO2InstallerVM.Install() in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\MO2InstallerVM.cs:line 175
at Wabbajack.InstallerVM.<>c__DisplayClass85_0.<<-ctor>b__75>d.MoveNext() in C:\actions-runner_work\wabbajack\wabbajack\Wabbajack\View Models\Installers\InstallerVM.cs:line 383
691.79 - File hash check (-42) 80fc51c51a3537edf59c681e3cd3999f61cf3cef736d769cb89de1afe8e246bc
Hope this helps.
And thanks for all your hard work :)


Update request for xCluster

Hello -
I ran into an issue when utilizing this resource where I didn't want to provide a DA credential. In my environment, we utilize machine identities to ACL most of our resources so we can avoid using passwords in 99.9% of situations. Unfortunately, this resource doesn't support this.
I got around this by doing the following:

Changed the "DomainAdministratorCredential" property in the schema to "write" (was required).
Changed the "DomainAdministratorCredential" parameter in the resource to "Mandatory = $false".
Wrapped the Set-ImpersonateAs function in an if statement to check for the "DomainAdministratorCredential" key exists in $PSBoundParameters.

If you need more documentation, explanation please let me know.

This change is

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Woogyz sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

First thanks for the contribution! Is it  possible for you to resolve the review comment on top of these?

Can you please add an issue describing your issue and proposed solution?
Can you add an entry to the Unreleased section of the CHANGELOG.md?
Can you add an example on how to write a configuration in your scenario?
Can you update the xCluster parameter description in the README.md?
Can you please rebase so that the units tests will pass (just merged a fix). Please use git rebase (and not git merge or git pull) to keep commit history.

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 32 at r1 (raw file):

[Parameter(Mandatory = $false)]

As per style guideline this should be changed to [Parameter()]. Throughout.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 48 at r1 (raw file):

$PSBoundParameters.Keys -contains "$DomainAdministratorCredential"

Can we change this to $PSBoundParameters.ContainsKey('DomainAdministratorCredential')? If so, throughout.

Comments from Reviewable

Codecov Report

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

@@          Coverage Diff          @@
##           master   #163   +/-   ##
=====================================
  Coverage      97%    97%
=====================================
  Files           7      7
  Lines         482    482
=====================================
  Hits          470    470
  Misses         12     12

Sorry, still new to GitHub (first time contributing back).
Can you please add an issue describing your issue and proposed solution?

Done

Can you add an entry to the Unreleased section of the CHANGELOG.md?

Done

Can you add an example on how to write a configuration in your scenario?

Done, added a new example configuration.

Can you update the xCluster parameter description in the README.md?

Done

Can you please rebase so that the units tests will pass (just merged a fix). Please use git rebase (and not git merge or git pull) to keep commit history.

Not sure how to do this, I don't have git on my local machine for one, and for two (and I hope this doesn't make it more complicated), I did the pull request for the master branch. The dev branch was really messed up (I think you fixed the issues), so I wasn't using it.

Thanks!

@Woogyz I changed the base branch to the dev banch. Only releases update the master branch. But doing so there I a lot of conflicts. So to solve this I think the easiest is to create a new working-branch an PR in that instead. We need to use a little git-fu.
I will assume you don't have cloned the repo. If you did, then you can skip those steps.
I ran thru these steps on my end, so it should work. It can be a bit tricky to resolve the merge conflicts; i tried to add comments below, but read up here as well if you like; https://github.com/PowerShell/DscResources/blob/master/GettingStartedWithGitHub.md#resolve-merge-conflicts
mkdir c:\temp\source
cd c:\temp\source
git clone https://github.com/Woogyz/xFailOverCluster
cd .\xFailOverCluster\
git remote add PowerShell https://github.com/PowerShell/xFailOverCluster
git checkout master
git checkout -b workingbranch1
git fetch PowerShell dev
git rebase PowerShell/dev
# At this point there will be merge conflicts - open MSFT_xCluster.psm1 in any edit to edit the code, preferably use  Visual Studio Code. Look for '<<<<<<< HEAD'. Manually edit the code so it is correct with your changes.
git add * # Or stage the file(s) in Visual Studio Code
git rebase --continue
# At this point there will be merge conflicts - open MSFT_xCluster.schema.mof. Look for '<<<<<<< HEAD'.  Repeat as previously.
git add * # Or stage the file(s) in Visual Studio Code
git rebase --continue
# At this point there will be merge conflicts - open CHANGELOG.md and README.md. Look for '<<<<<<< HEAD'. There a BIG conflicts in both of these, so easiest might just be to accept current change (see Visual Studio Code it helps here, a lot!) and after that just remake your changes.
git add * # Or stage the file(s) in Visual Studio Code
git rebase --continue
git push origin workingbranch1 # Use --force here it it complains, but it shouldn't sinve the branch does not exist in your fork.

Now you have a new branch in your fork that you can PR in to xFailOverCluster.

@Woogyz Did the steps I provided work for you?

Will try them out today, thanks for the detailed steps!!

No problem, happy to help. Heads up, I just merged a new PR that changes xCluster so there might be more conflicts to resolve than I listed in the steps, but same procedure for those as well.
But since you branching (workingbranch1), you can try it several times, just create a new branch each time (for example git checkout -b workingbranch2).

@Woogyz how did it go? Let me know if you need any help.

@Woogyz Do you have time to work on this PR?

Labeling this PR as abandoned since it has gone 14 days or more since the last update. An abandoned PR can be continued by another contributor. The abandoned label will be removed if work on the PR is taken up again.

Closing this PR due to inactivity. If there are someone who wants to work on this issue or PR please open a new PR.


Missing logo

😱 YunoHost logo is missing from the page : https://donate.yunohost.org

Cannot replicate, maybe it was fixed meanwhile. 😅


Erperall/bugfix/fixes for osx

All Submissions:

[YES] Have you followed the guidelines in our Contributing document?
[YES] Have you added an explanation of what your changes do and why you'd like us to include them?
[YES] I have updated the documentation accordingly.
[NA] I have added tests to cover my changes.
[YES] All new and existing tests passed.
[YES] My code follows the code style of this project.
[YES] I ran lint checks locally prior to submission.
[YES] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

What is the current behavior?

Issue Number: #106, #107
What is the new behavior?

Shebang loads bash interpreter in respective location for Linux and OSX.
The bash profile is now loaded properly for OSX users to detect getopt installations.

Does this introduce a breaking change?

[NO]

Wondering if we should be making these changes in BashWizard, as I believe that they files were mostly generated from there.
Thoughts?

I believe these changes should be made to BashWizard if we want the generated bash script to be runnable by OSX. I'll reach out to Joe to discuss the proposed change with him.

Is there any reason these scripts would ever be regenerated? I would say generated files should generally not be edited. Scaffolded files on the other hand, can probably be edited.
If BashWiz can't do OSX scripts, an issue should be opened and this PR should be considered for merging.

Change looks good to me but we should bottom out on if this should be done in BashWizard before we decide to commit here or in that repo

@nmiodice Talking to Joe Long now to determine the best course of action on that.

We should fix it here AND in BashWizrd imo. Would help unblock people using OSX and zsh in the short term.


handle missing vars in explore_timeseries

Probably because sbtools has changed, I'm now getting unpretty errors when I request certain site-timeseries combos in explore_timeseries():
> explore_timeseries()
Loading required package: shiny

Listening on http://<IP_ADDRESS>:7575
Assuming 'lon' and 'lat' are longitude and latitude, respectively
Assuming 'lon' and 'lat' are longitude and latitude, respectively
Error in grepl(expected_databases, as.character(sitenum)) :
  argument "sitenum" is missing, with no default
Assuming 'lon' and 'lat' are longitude and latitude, respectively
Assuming 'lon' and 'lat' are longitude and latitude, respectively
Assuming 'lon' and 'lat' are longitude and latitude, respectively
Assuming 'lon' and 'lat' are longitude and latitude, respectively
downloading file:depth_calcDischHarvey
downloading file:depth_calcDischHarvey
Error in sbtools_GET(url = paste0(pkg.env$url_item, id), ..., query = list(type = "json"),  :
  Invalid Item ID
downloading file:veloc_calcDischRaymond
downloading file:veloc_calcDischRaymond
Error in sbtools_GET(url = paste0(pkg.env$url_item, id), ..., query = list(type = "json"),  :
  Invalid Item ID

i think this occurs when a ts isn't available for one of the sites requested. But that early grepl error suggests that there might [also?] be a problem with site name parsing.

this is now fixed with the resolution of https://github.com/USGS-R/mda.streams/issues/184


Is this project still going?

Seems like a really important project but are people even relaying any more?

I was thinking of creating a service that would allow a swap cross chain between ethereum and bitcoin, it can do this by checking the spv on ethereum, logging it and sending back ether on the same key as the key that sent the bitcoin (just taking the public key and hashing it differently to get the ether address)
I have started the effort here: https://github.com/James-Sangalli/Solidity-Contract-Examples/blob/eth-2-btc-swap/Finance/bitcoin-to-ethereum-swap/BTC2ETH.sol

@ethers Thanks for your comment.
I am also curious, how are the spv proofs even validated? e.g. two nodes relay the proofs but they are different, how is the truth determined?
Any chance of a revival? Is Consensys still interested in maintaining the project?


[FEATURE] [1.19.2] About adding rotation function

First of all, I think it's great, it adds a better third-person view, so the player has more options -- not necessarily in the first person,But I think it still needs to be improved, if you can add the camera rotation function, it will bring a better third-person experience,can make MC truly become a third person game.Thanks!

Thank you for the suggestion! Do you mean a fixed rotation that is always applied to the view or do you mean a free camera rotation, such that you can spin the camera around the player, without modifying its view vector? If you mean the latter, you can simply install Better Third Person alongside Shoulder Surfing.

my mean is  a fixed rotation that is always applied to the view,Because I checked a few third person games and found that they all have a fixed rotation, as shown in the photo below

Below is a picture of MC's Shoulder Surfing

In my personal opinion, the difference between them is only a fixed rotation, with rotation, you can really achieve the effect of third person, MC can really become a third person game
The above is just my personal opinion, not necessarily correct, for reference only,Finally, thank you again!

I played around with a fixed rotation view and it feels very odd to have the camera at an angle, as you are constantly moving sideways.
To comment on your images:

This can be achieved using Better Third Person to decouple the player rotation from the view rotation. Judging some gameplay footage of the Witcher 3, this is exactly how it works. There is no permanent rototation on the camera. Instead, the rotation of the player model lags behind the camera view.
The player is actually looking in line with the camera here. Just the stance has the player models legs at an angle.

I recommend checking out Better Third Person. We can also discuss this topic further, but i don't think it leads to a good user experience.

I agree with you. I made an error of judgment earlier, and I am deeply sorry。
Also, if I want to adjust the Angle of the legs of the player model by modifying the stance, I want to know if there are any mods I can use because I can't make mods.
Thanks!

I agree with you. I made an error of judgment earlier, and I am deeply sorry.

No worries!

Also, if I want to adjust the Angle of the legs of the player model by modifying the stance, I want to know if there are any mods I can use because I can't make mods.

Unfortunately, I don't know of any. But maybe some enhanced animation mod has what you want.


API change on patch release

@mitchute changed the name of the first argument in gt.media.fluid.Fluid here: https://github.com/MassimoCimmino/pygfunction/pull/232/commits/ac88d2b39373809bc5a52694431a9c4f897a3586.
The following code is valid for pygfunction version 2.2.0, but not for version 2.2.2.
    # Fluid properties
    mixer = 'MEG'  # Ethylene glycol mixed with water
    percent = 20.  # Percentage of ethylene glycol added in
    fluid = gt.media.Fluid(mixer=mixer, percent=percent)

I missed this change since mixer / fluid_str is not a keyword argument.
@mitchute Do you have specific requirements for the new variable name.
I would say that fluid_str is more appropriate than mixer since mixer == 'Water' is somewhat odd.

Alright I'll update ghedt then. Please note the following functionality is functional in Python and therefore every argument can be treated as a keyword.
>>> import pygfunction as gt
>>> mixer = 'MEG'
>>> percent = 20
>>> d = {'mixer': mixer, 'percent': percent}
>>> fluid = gt.media.Fluid(**d)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'mixer'
>>> d = {'fluid_str': mixer, 'percent': percent}
>>> fluid = gt.media.Fluid(**d)


C support.

Adds support for C using the C11 standard.

Looks great, thanks! I've made some change since you opened this, but this is pretty much exactly how I would have done it. If you're interested in the opportunity, please apply here: https://course-assistants.cs.illinois.edu/research/create-youtube-for-live-coding-demos-ongoing.


Update README.md

We love contribution, but we suggest you try and submit more meaningful PRs by exploring any of our open issues. If you have any problem or need help, please join our Discord community: https://appwrite.io/discord and use the #maintainers channel.

Yeah that will be more appropriate!!😁


Convert to typescript

Converts all code to typescript
Convert most class components to functional components

@all-contributors please add @KaiSpencer  for code docs maintenance


Async and Creatable Options don't work in Safari

I was trying the react-virtualized-select, it has been great except that the async and creatable options somehow don't work in Safari. For async, I think it's because fetch is not supported. For Creatable options, I'm not exactly sure.  Does anyone know the how to solve the problem?

Hi @vidaaudrey,
No. I see that you're correct; the demo site doesn't work on Safari. I don't know why though. Probably don't have the time to debug it any time soon. I'd welcome PRs if you do. 😄

This has since been fixed 😄


[Architecture] S7: Selective and Simplified State Space Layers for Sequence Modeling

Dear @XiudingCai ,
Here is our new paper on the S7 architecture:
S7: Selective and Simplified State Space Layers for Sequence Modeling
https://arxiv.org/abs/2410.03464

Hi @NikolaZubic,
Thanks for sharing! I've added your paper to the architecture section. I'll close this issue now.
Best,
Xiuding Cai


node socket server exited itself

sorry I'm not familiar with node, I can just report this information to you
I run node socket server by run node socket server &, but i found it will exit after a few hours later

Hi
This is a common problem with node https://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever/
It is recommended that you use supervisor to ensure it keeps running, there is a config file in the examples folder. It also helps ensure the queue worker continues to rub


Bundler can't resolve dependecies (or can it?)

When running the bundler I get the following output:
Unable to resolve module ReactNativeViewAttributes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module NativeModules from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module StyleSheet from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module ReactPropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module StyleSheetPropType from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module NativeMethodsMixin from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module flattenStyle from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module merge from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module deepDiffer from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module keyMirror from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoResizeMode.js
Unable to resolve module ViewStylePropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoStylePropTypes.js
Unable to resolve module ReactPropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoStylePropTypes.js
Unable to resolve module keyMirror from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoResizeMode.js
Unable to resolve module ViewStylePropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoStylePropTypes.js
Unable to resolve module ReactPropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/VideoStylePropTypes.js
Unable to resolve module ReactNativeViewAttributes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module NativeModules from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module StyleSheet from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module ReactPropTypes from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module StyleSheetPropType from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module NativeMethodsMixin from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module flattenStyle from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module merge from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js
Unable to resolve module deepDiffer from /Users/dvine/dev/goldfinger/iphone/node_modules/react-native-video/Video.ios.js

The app seems to work, though. But I get unpredictable crashes of the same codebase on different (but identical) targets (dev, prod). Not sure if they are related.

The same effect in a different component is mentioned here:
https://github.com/facebook/react-native/issues/1808#issuecomment-117258658
But I'm still none the wiser what to do about it.

Related to: https://github.com/brentvatne/react-native-video/pull/71
Will try to fix this for you today

Great! Thank you! But this is nothing that I want to ruin your weekend with.

@brentvatne That would be really awesome. Is it possible that reloading after javascript code changes takes longer if those warnings are thrown? Or is this just a feeling?

Hi all, this is fixed with react-native-video 0.5.0, which I tested by upgrading the example app to react-native 0.8.0, no more module errors being shown on my end. Let me know if this doesn't solve the problem for you!


Managing large stores

Hey, I was wondering if there is a go-to solution how to manage large stores. In redux this would've been done by combining reducers. the combineActions function is useful but it keeps the actions at top level and doesn't allow for splitting the global application state into smaller chunks. If this is already possible, maybe adding it to the readme would be a good idea.

Hi @jreinert
What do you mean exactly with this? Can you provide some code examples on what would that be?

exactly @neurosnap. I couldn't have explained it better :+1:

Thanks for the explanation @neurosnap
Answering your question @jreinert, right now we don't have a 'scoped state', but I would be open to discuss this.

I'm closing this for now, but if you have more to add to this discussion, please feel free to

still open to discussing this? I think without the scope state, things can get messed up very easily over time


use default serializer/deserializer in RegisterType

Hi
I have a situation where some nested list inside db collection need to be changed:
old object:
public List<string> Columns { get; set; } = new List<string>();
new object:
public List<Column> Columns { get; set; } = new List<Column>();
public class Column
    {
        public string Name { get; set; }
    }

I want to serialize always to the new but de-serialize by type stored.
is there a way to specify the default for these cases ? or other solution I am missing
mapper.RegisterType<Column>(c => //need here default serializer,
               b => b.IsString ?
               new Column { Name = b.AsString } :
               //need here default deserializer);

Thanks

@jhonson27 Something like this should work:
mapper.RegisterType<Column>
                (c => mapper.Serialize(c),
                b => b.IsString ? new Column { Name = b.AsString } : mapper.Deserialize<Column>(b));

@jhonson27 Something like this should work:
mapper.RegisterType<Column>
                (c => mapper.Serialize(c),
                b => b.IsString ? new Column { Name = b.AsString } : mapper.Deserialize<Column>(b));

Hi
Tried it but the mapper.Serlialize will call the the Registered type serilizer that was just created, recursively.
StackOverflowException

@jhonson27 The "best" way to solve this would be to fix the structure of the stored documents. You could do by running the following code once:
var col = db.GetCollection("CollectionName");

var list = col.Find(doc => doc["Columns"] != null && doc["Columns"].AsArray[0].IsString).ToList();

foreach(var obj in list)
{
    var objList = new List<BsonValue>();
    foreach(var bv in obj["Columns"].AsArray)
    {
        var str = bv.AsString;
        var column = new Column { Name = str };
        var doc = mapper.Serialize(column);
        objList.Add(doc);
    }
    obj["Columns"] = new BsonArray(objList);
}

col.Update(list);

If you really want to solve it with custom mappers, I found a way to get it working using reflection, but it comes with a few warnings: it's convoluted, it may stop working in future versions of LiteDB and it may not even work properly in some corner cases.
mapper.RegisterType<Column>
    (c => typeof(BsonMapper)
    .GetMethod("SerializeObject", BindingFlags.NonPublic | BindingFlags.Instance)
    .Invoke(mapper, new object[] { typeof(Column), c, 0 }) as BsonDocument,
    b =>
    {
        if (b.IsString)
            return new Column { Name = b.AsString };
        else
        {
            var entityMapper = typeof(BsonMapper)
            .GetMethod("GetEntityMapper", BindingFlags.NonPublic | BindingFlags.Instance)
            .Invoke(mapper, new object[] { typeof(Column) }) as EntityMapper;

            var obj = new Column();
            typeof(BsonMapper)
            .GetMethod("DeserializeObject", BindingFlags.NonPublic | BindingFlags.Instance)
            .Invoke(mapper, new object[] { entityMapper, obj, b });

            return obj;
        }
    });

@lbnascimento thanks, digging in I found another option in the mapper "mapper.ResolveMember"
I set it to the following and it seems to be working as expected
private static void Resolve(Type type, MemberInfo memberInfo, MemberMapper memberMapper)
        {
            if (memberMapper.UnderlyingType == typeof(Column))
            {
                memberMapper.Deserialize = (bsonValue,mapper)=>
                {
                    var columns = new List<Column>();
                    foreach (var bson in bsonValue.AsArray)
                    {
                        var col = bson.IsString ?
                        new Column { Name = bson.AsString } :
                        mapper.Deserialize<Column>(bson);
                        columns.Add(col);
                    }

                    return columns;
                };
            }
        }

using it:
BsonMapper.Global.ResolveMember = Resolve;


namespace support?

I know that it is an enterprise feature of vault, but any thought of adding support for namespaces.  They alter the paths slightly and are options that can be passed in the CLI or GUI or API.

I'll have to look into what it takes to support it. How do you expect this to work? Should namespacing be for gatekeeper as a whole (every request is prefixed with X-Vault-Namespace, or on a mesos task basis (adding a namespace field in the config JSON)?

If a namespace is used then I would do it for every request.  That way a gatekeeper can live in it's own namespace completely and be separate from other namespace or the root namespace.


Support building with older versions of libuv that may be installed on the system

Will resolve #96. cc @andyli.

[x] Try to decrease version all the way down to 1.7.0, the minimum libuv version that exposes version macros 1.0.0 1.3.0.
[ ] Add documentation to the feature flags module.
[ ] Add instructions on how to use the feature flags to the user guide.
[ ] Show feature flags by every API that has them.
[ ] Link back to each API from each feature flag.
[ ] Eagerly intercept some of the more dangerous unimplemented API calls and raise some exception. Review the behaviors in general (though most behaviors are safe).
[ ] Add feature flag testing to the test suite.

With enough shims, I've gotten Luv to build against every libuv starting from 1.3.0. This will cover all the distros linked by @andyli here — as @andyli already mentioned in #94, the lowest libuv version that is included in distros that include libuv 1.x is 1.8.0. Some distros seem to have libuv 0.x, but Luv definitely will not support that.
At 1.3.0 there is an ABI change that is slightly difficult to bind across using Ctypes, but it can be worked around by hiding a struct field behind an accessor function. I decided not to bother with it and just stop, because 1.3.0 is, again, older than 1.8.0.
I'll now work on all the docs on using the shims safely, and review the exact behavior of all the shims. Most just fail with ENOSYS, but some have to forward to existing functions — for the latter, I need to make sure no surprising behavior is triggered, probably by returning ENOSYS at the OCaml level when unsupported option arguments are used, etc.


Dev: Editing comment is not working

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
1 Launch desktop app
2 Open any chat
3 Edit any comment
Expected Result:
Editing comment is working
Actual Result:
Editing comment is not working
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: n/a
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/36857dc0-99ac-45fb-9c81-e8070109bcbe
Expensify/Expensify Issue URL:
Issue reported by: @narzullome
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1685787149904509
View all open jobs on GitHub

ok will try

I'm going to close. I'm not able to reproduce.

@JmillsExpensify did u checked on dev?

On dev I am still able to  reproduce


Debugging blazor 0.7 Chrome keeps saying: Unable to find debuggable browser tab

LS,
I am using Blazor 0.7, VS 15.9.2, Windows 10 (up to date), Chrome (up to date).

I set a breakpoint in my Blazor app.
I run it using Chrome.
I press Shift-Alt-D and I get the error "Unable to find debugable browser tab".
I close Chrome,
I press Windowsflag-R.
I enter: "%programfiles(x86)%\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 http://localhost:52183/
Chrome reopens with my app
Again I press Shift-Alt-D
And again I get the error: "Unable to find debugable browser tab".

I can do this many times and I keep getting that error.
What can I do so that I can have at least some basic debugging capabilities??
I assume it has nothing to do with my problem, but than again you never know:

At our compagny we are using a VPN connection to connect to the internet and many sites and ports are blocked by our mother compagny.

Could it be a blocked port???
Kind regards,
Clemens Linders

What works for me is

Close/Exit your Blazor application
Close Chrome
Reopen Chrome with win+r and the arguments you already described
Launch your Blazor application again

That should open a new Instance of Chrome, in which you can do Shift+Alt+D

Hi Damitrix,
I tried that as well, unfortunately the result is the same.
Kind regards,
Clemens Linders

It can be difficult to be sure you've truly closed all Chrome instances before starting up a new one with --remote-debugging-port. Try restarting your machine fully if you can't track down the remaining open instances.
Closing as this is known to work.


Line length check/format does not work in a specific case

I have this line of code:
        if not opt.save_model_path:
            opt.save_model_path = os.path.abspath(
                f"models_out/FineTuned_{os.path.basename(opt.model_path).split('.')[0]}_{opt.feature_name}_{opt.loss}_{today_date_string}.pth"
            )
            print(f"Model name is automatically set to {opt.save_model_path}")

The offending line has 143 chars and my pyproject.toml is:
[tool.ruff]
target-version = "py39"
line-length = 120
extend-select = [
    "B",   # flake8-bugbear
    "C4",  # flake8-comprehensions
    "ERA", # flake8-eradicate/eradicate
    "I",   # isort
    "N",   # pep8-naming
    # "NPY", # numpy
    "PIE",  # flake8-pie
    "PGH",  # pygrep
    "RUF",  # ruff checks
    "SIM",  # flake8-simplify
    "TCH",  # flake8-type-checking
    "TID",  # flake8-tidy-imports
    "UP",   # pyupgrade
    "E501", # check line length
]

But ruff check . --select E501  --line-length=120 does not pick it!
I understand that this line:
f"models_out/FineTuned_{os.path.basename(opt.model_path).split('.')[0]}_{opt.feature_name}_{opt.loss}_{today_date_string}.pth"

cannot be automatically formatted but the others linters will spot them.
Also, if I comment the line like:
# hi f"models_out/FineTuned_{os.pa... and run ruff check . --select E501  --line-length=120 I get this:
isam/main.py:71:121: E501 Line too long (144 > 120)

So it seems like a bug for me. Because I truly want anything going beyond 120 chars limit so I can fix manually if needed.

#LINE_WITH_89_CHARACTERSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

Also tried this with ruff check test.py --select E501, no violation reported!
After adding a whitespace after #, it starts reporting.

We don't enforce E501 on lines that consist of a single token -- this is mentioned in the rule documentation here. The comment is actually a decent example of why: sometimes, there just isn't a way to split a line, and so enforcing the lint rule isn't' really helpful.
I suspect we could do a better job with the f-string case, since there actually are some reasonable split points in that code.

But I'd still like to be warned about long lines.
flake8 test.py
test.py:2:80: E501 line too long (126 > 79 characters)

One of the reason I move to ruff was to get rid of flake8. It should be enforced. There's a pragma in flake8 to ignore long lines if you really need it.

We could consider adding a strict mode for this rule that ignores all the stated exemptions. But I think it would need to be all-or-nothing (so, e.g., when that setting is enabled, we'd also flag URLs that exceed the line length limit, which are allowed right now).

Ignores lines that consist of a single "word" (i.e., without any whitespace between its characters).

I agree with it, but whitespace is not only word separator. In mentioned example in description, I see +10 words.
IMO something like str.isidentifier could be happened instead.

Reading E501 and I agree with the 3 exceptions. I just don't get why my original example is an exception.

@alanwilter - It's because there's no whitespace anywhere on the line, so Ruff doesn't think it's splittable. I think we can do a better job of figuring out whether the line is splittable though. (That exemption wasn't designed for cases like the one in your example, I agree that it's not quite right.)

Reading E501 and I agree with the 3 exceptions. I just don't get why my original example is an exception.

It's because the line contains no whitespace (not justifying that it is correct, but it is why it the reason why the line isn't flagged):

Ignores lines that consist of a single "word" (i.e., without any whitespace between its characters).

Ignores lines that consist of a single "word" (i.e., without any whitespace between its characters).

I agree with it, but whitespace is not only word separator. In mentioned example in description, I see +10 words. IMO something like str.isidentifier() check in python could be happened instead.

Ah, ok, thanks @charliermarsh. So now I agree with @T-256. IIRC, ruff knows about commented python code lines (ERA001), so it should know when a long line is a python code too.

ruff knows about commented python code lines (ERA001), so it should know when a long line is a python code too.

This check is unnecessary for this rule.
https://github.com/astral-sh/ruff/blob/1642f4dbd9d4ff04e50d08b88eebbbef6e4cc077/crates/ruff_linter/src/rules/pycodestyle/overlong.rs#L55-L59
Instead here should split by word separators instead of only whitespace.
Sample word separators got from default VSCode settings:
`~!@#$%^&*()-=+[{]}\|;:'",.<>/?

I'm open to something like that, though we may need to see how it affects existing projects (via our ecosystem checks, which run automatically on every PR).


Corrected error typo in base- Num.hs for acos

With reference to the issue #495, I made a correction in the error message for acos function.

Thanks!


HeightField declares initBVHTree() but doesnt seem to implement it

HeightFieldShape declares initBVHTree() here:
https://github.com/DanielChappuis/reactphysics3d/blob/23abaa905dff0dfb0672ac2e7c2e472135e44bab/include/reactphysics3d/collision/shapes/HeightFieldShape.h#L109
But I cannot see any implementation of it in https://github.com/DanielChappuis/reactphysics3d/blob/master/src/collision/shapes/HeightFieldShape.cpp
Is it an oversight?

Hello.
Yes this method declaration is not used anymore (probably from some old code). I have just removed it in this commit in the "develop" branch.
Thanks a lot for reporting this.


Firehose ingestion

We will need to be able to pipe fit to a firehose stream from media publishers. This covers two cases:

Ingest origin platform like Flickr: high push rate, low processing cost, significant % of content consumed, low latency sensitivity (e.g. ingest all CC images posted in near-realtime)
Monitor consumer platform like Medium: high push rate, higher processing cost, potentially small % of content consumed, higher latency sensitivity (e.g. scan every incoming post for mediachain objects to get pingbacks)

This probably means that we need a high-performance stream acceptor/queue. We also need to figure out to what extent this is possible at all based on maximum cluster write rate.

This can also inform our opinions for the phaseIII transactor design; let's see how far we can push copycat so that we can set a minimum acceptable performance level.

what were we seeing as sustained write rate again w/multiple clients?

250 writes/s should be in the envelope.


[Feature Request] Object.set

Hi, thank you for the library 👍
How about we add Object.Set which is similar to Object.Update. But you can update and set new paths.
Call<Objects.Set<'a.b', 2>, { a: 1 }>;
// { a: { b: 2 }}

Hey, thanks for the feedback, the fact that Object.Update doesn't create new property is a bug actually, just fixed it! I'll publish a new release with the fix soon.

Publish as v1.0.11


core/opregion: Avoid needless loads for fields marked Preserve

Closes #144.

Tests fail on CI because the changes in managarm/lai_tools#20 are needed.


[WFLY-17815]: Upgrade jboss-metadata to 16.0.0.Final.

Upgrade to FInal. Nothing new

Jira: https://issues.redhat.com/browse/WFLY-17815

Thanks @ehsavoie


Bug located in ...boundary_condition_provider()

Before submitting the issue

[X] I have checked for Compatibility issues
[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
I can't get the boundary_condition_provider to work. See below in "Steps to reproduce" for my code. I get different errors depending on what output I request. Error when I request results_info_as_field:
DPFServerException: boundary_conditions<-undefined operator
I have tried requesting the result of the operator with:
bound_cond = bound_cond_op.outputs.results_info_as_field()
bound_cond = bound_cond_op.outputs.results_info() (as it is in the documentation, but this gives me the error 'Outputs' has no attribute 'results_info')
bound_cond = bound_cond_op.outputs.results_info_as_fields_container()
But all of these give me errors.
Thank you for providing this amazing code! I use it daily in my job and am constantly amazed at all the things it can do.
Best regards,
Gordy
Steps To Reproduce
Run the following code in a Jupyter notebook within VSCode with version 0.6.0 of ansys-dpf-core and Ansys 2021R2:
from ansys.dpf import core as dpf
from ansys.dpf.core import examples
model = dpf.Model(examples.static_rst)
data_src = dpf.DataSources(model.metadata.data_sources)
bound_cond_op = dpf.operators.metadata.boundary_condition_provider(data_sources=data_src)
bound_cond = bound_cond_op.outputs.results_info_as_field()
Which Operating System are you using?
Windows
Which Python version are you using?
3.9
Installed packages
aiohttp==3.8.1
aiosignal==1.2.0
ansys-api-mapdl==0.5.1
ansys-api-platform-instancemanagement==1.0.0b3
ansys-dpf-core==0.6.0
ansys-dpf-gate==0.2.3
ansys-dpf-gatebin==0.2.3
ansys-dpf-post==0.2.3
ansys-grpc-dpf==0.3.0
ansys-mapdl-core==0.63.1
ansys-mapdl-reader==0.51.15
ansys-platform-instancemanagement==1.0.2
appdirs==1.4.4
asttokens==2.0.8
async-timeout==4.0.2
attrs==22.1.0
backcall==0.2.0
cachetools==5.2.0
certifi==2022.6.15
charset-normalizer==2.1.0
colorama==0.4.5
cycler==0.11.0
debugpy==1.6.2
decorator==5.1.1
entrypoints==0.4
executing==0.10.0
fonttools==4.35.0
frozenlist==1.3.1
geomdl==5.3.1
google-api-core==2.8.2
google-api-python-client==2.56.0
google-auth==2.10.0
google-auth-httplib2==0.1.0
googleapis-common-protos==1.56.4
grpcio==1.47.0
httplib2==0.20.4
idna==3.3
imageio==2.21.1
importlib-metadata==4.12.0
ipycanvas==0.12.1
ipyevents==2.0.1
ipykernel==6.15.1
ipython==8.4.0
ipyvtklink==0.2.2
ipywidgets==8.0.1
jedi==0.18.1
jupyter-client==7.3.4
jupyter-core==4.11.1
jupyterlab-widgets==3.0.1
kiwisolver==1.4.4
matplotlib==3.5.3
matplotlib-inline==0.1.3
multidict==6.0.2
nest-asyncio==1.5.5
numpy==1.23.2
packaging==21.3
pandas==1.4.3
parso==0.8.3
pickleshare==0.7.5
Pillow==9.2.0
prompt-toolkit==3.0.30
protobuf==3.20.1
protoc-gen-swagger==0.1.0
psutil==5.9.1
pure-eval==0.2.2
pyasn1==0.4.8
pyasn1-modules==0.2.8
Pygments==2.13.0
pyiges==0.2.1
pyparsing==3.0.9
python-dateutil==2.8.2
pytz==2022.2.1
pyvista==0.36.1
pywin32==304
pyzmq==23.2.1
requests==2.28.1
rsa==4.9
scipy==1.9.0
scooby==0.6.0
six==1.16.0
stack-data==0.4.0
tornado==6.2
tqdm==4.64.0
traitlets==5.3.0
uritemplate==4.1.1
urllib3==1.26.11
vtk==9.1.0
wcwidth==0.2.5
widgetsnbextension==4.0.1
wslink==1.7.0
yarl==1.8.1
zipp==3.8.1

Hello,
have you got an answer for this bug ? I am also having issues woth dpf.core boundary_condition_provider.
I can create the operator but get no output out of it. My python code is :
model = Model( 'file.rst');
my_data_sources = dpf.DataSources(model.metadata.data_sources)
Instantiate operator
op = dpf.operators.metadata.boundary_condition_provider()
op.inputs.data_sources.connect(my_data_sources)
Instantiate operator and connect inputs in one line
op = dpf.operators.metadata.boundary_condition_provider(data_sources=my_data_sources)
Get output data
result_results_info = op.outputs.results_info_as_field()
print(result_results_info.get_data())
The error I get is :
boundary_conditions:5<-undefined operator
Has this bug been corrected ?
Thanks in advance.
Louise Ramos


[Announcement] Update AWS CLI to V2 on Ubuntu 20.04 image on July 6

Hello,
Currently, AWS CLI V1 is installed on all Ubuntu images. Since V2 was released at the begin of this year, we would like to update our images.
Please pay attention that this upgrade could be breaking change for some customers. Please take a look at migration guide for more details.
For now, we would like to update AWS CLI to V2 only on Ubuntu 20.04 image but we also consider the same updating on Ubuntu 18.04 and 16.04 images.
Please feel free to share your thoughts and opinion on it.

Hello!
AWS-CLI was updated to V2 on Ubuntu 20.04: aws-cli/2.0.29 Python/3.7.3 Linux/5.4.0-1020-azure botocore/2.0.0dev33


t/feature/ovfenv-vars

OVF environment variables for VMware deployments
this is the companion PR of https://github.com/coreos/coreos-cloudinit/pull/384
It exposes the configuration variables at deployment time, making them discoverable

ping @crawford, since coreos/coreos-cloudinit#384 was merged

@sigma can you rebase this and clean up the commit message? Otherwise, this looks good.

@mischief @crawford done

LGTM, thanks!


Results Display

Attempted to utilize Bootstrap col and row grid system, but results are not displaying as intended. Should we look into table?

We still need to style journal history


[Feature] Let data inform node assignment of missing values

LightGBM does not yet use the training data to inform the way it handles missing values. Instead, it seems missing values are just treated as 0's, leading to worse predictions than other frameworks such as XGBoost that explicitly process missing values.
XGBoost's solution works quite well and the gist of it seems compatible with LightGBM's procedures, so I guess this would be a good start. The general idea is to alter the best threshold functions to run twice; once with missing values assigned to the left node, and once with missing values assigned to the right node, and keep track of the best missing values assignment for each node. More detailed information about XGBoost's implementation is available here: https://arxiv.org/pdf/1603.02754v3.pdf.

@Allardvm
I think it is not hard to adapt this feature. Following are some key points:

the representation of missing value, maybe nan or na.
zero values in lightSVM file are missing or just zero ? or using parameter to specific this?
Add an specific bin for missing value in histogram
search best threshold two time if having missing value bin
how to predict with missing value? Maybe give missing value an specific value from training result?

Welcome to contribute to this feature. I think it may have more problems..
we can have more discussions during the development.
Thanks!

Yes, it shouldn't be too hard to implement the algorithm itself, but it's gonna be tricky to avoid subtle bugs. As for your points:

I would say we should stick to NaN for now, and possibly add a parameter that specifies the value that should be interpreted as 'missing' at a later point.
As far as I know, svmlight does not support missing values. I suggest that we stick to the format's specifications and throw an error when encountering a NaN (or Inf, for that matter) in an svmlight file, as some other machine learning frameworks do as well (e.g. H20, see https://github.com/h2oai/h2o-2/wiki/Parser-Specification).
I'd say we should assign bin[0] to handle missing values since this is easiest to handle consistently across the program.
Yes, that seems like the best strategy. We would still have to decide how to handle the absence of missing data during training, because prediction data might still have missing values. Maybe we could assign missing data to the leaf that has the most entries? I haven't yet looked into how other gradient boosting frameworks handle this.
I would say we should leave data as missing and then use the data-informed decision to determine how we handle missing data, i.e. whether it should be treated as <= threshold or > threshold (or left/right leaf).

Some other points that should probably be tackled:

Add a bool missing_in_left; to SplitInfo that is true when missing values for a particular feature should be assigned to the left leaf and false when they should be assigned to the right leaf.
Adapt the dump and save model functions to include missing_in_left.
Adapt the model parsing function to include missing_in_left.

Moreover it seems that colums with NA + one value is considered as a constant and therefore dropped.
"[LightGBM] [Warning] Ignoring Column_XX , only has one value"
And therefore i have worse results as with XGBOOST.
One major tricks of XGBOOST is when you have a column with only 2 value (Sex: Man/Woman, or dummy a categorical feature but with no pre-existing NA) you can encode one of the two value as NA. XGBOOST handles it perfectly and the complexity by columns is reduced from $n*log(n)$ to $ n_{not na}*log(n_{not na})$ . Therefore there is a huge boost in speed without a loss of accuracy.

@guolinke What is the current state of missing values in LightGBM?:

For CLI?
For R?
For Python?

I've seen commits for it but I'm not sure what belongs to what currently.

@Laurae2 It just let NA==0 for now.

@guolinke I don't think it is good to treat zero values as missing values, because categorical features is often be dummied and represented 0 or 1. The zero doesn't mean missing.

@henry0312 I thought about that.

if dumping to 0/1. the missing value will be in one independent column (1 for missing, 0 for not missing)
for other 0/1 columns, the zero bins will only be represented as zero. (if treating zero to one, it will be only one bin, which is pointless.)

@guolinke I'm sorry, I don't understand what you mean....

1 for missing, 0 for not missing

Why does 1 mean missing?
(I think dummy often do one-hot encoding)
To treat zero as zero after #516, do many users have to convert zero values manually so that thier absolute value are greater than 1e-20f?
I wonder if there is an another way to treat missing values (such as NaN)

@henry0312
For the one-hot coding without missing value, currently solution can work well, since the zero will only be treated as zero.
For the one-hot coding with missing value, we can use an additional column to represent missing or not. still can work.
If you don't have missing values, you can still treat zero as zero, not need to change them. Since the zero still will be also treated as zero inside.
If you have both missing values and zero values, actually you also can just both set them to zero.
Keeping both NaN and zero for every feature, will break many designs for LightGBM, and cause the slowdown.

@guolinke Thank you so much for your explanation!

If you don't have missing values, you can still treat zero as zero, not need to change them. Since the zero still will be also treated as zero inside.
If you have both missing values and zero values, actually you also can just both set them to zero.

I'm glad to know that.

@guolinke By the way,

If you have both missing values and zero values, actually you also can just both set them to zero.

Why will this work well? Is there a so smart algorithm?

@henry0312
What I mean is, it doesn't have much effect on accuracy if set both missing and zero to zero.
They cannot be identified as different value inside, since they values are same.

@guolinke
I got it.
It is an acceptable compromise.

@henry0312 I think what @guolinke was explaining is the user should treat inputs to LightGBM as if they were sparse matrices, which is 0 for NA. This was the previous behavior of LightGBM, but the other way around.

@guolinke

They cannot be identified as different values inside, since their values are same.

Even if the overall impact tends to be small, this treatment still seems less than ideal, especially if the user is unaware to manually distinguish true zeros in advance.  Would either of these options would be a reasonable alternative?
a) Instead of internally mapping missing values to 0, could a less common number be used?  i.e. Could missing values be internally mapped to -1.7e308 instead?  Since zero tends to be a more common number in datasets than -1.7e308, this would likely have a less harmful impact.
b) Could true zeros be automatically changed to 1e-20f to distinguish them from missing values?  Being unable to distinguish 0 and 1e-20f seems less harmful than being unable to distinguish 0 and missing values.
Thoughts?

@rgranvil
the main difficulty of doing that is: It is confused about the missing and zeros when input data is in sparse format ( like libsvm, CSR). Normally, the non-show-up value is zero, right ? However, when number of missing values is large, we may let the non-show-up value as missing.
I think we can have a parameter named zero_is_missing. if zero_is_missing=true, we treat all zeros as missing values (including all non-show-up value in sparse format). Otherwise, we use NA to represent missing.
I will figure a way to support this when I have time.

@guolinke I have some problem with poor accuracy after #516.
I tried adding very small values to zero and flags to represent missing, but I couldn't get better accuracy before #516.
I want a swith option whether we support missing values or not...

@henry0312
OK, i can add it.
BTW, does the accuracy on training set have improvement ? it may be over-fitting.

I appreciate it.

BTW, does the accuracy on training set have improvement ? it may be over-fitting.

I'll check.
By the way, xgboost seems to have missing option, though I don't know details of it.

missing : float, optional
Value in the data which needs to be present as a missing value. If None, defaults to np.nan.

https://xgboost.readthedocs.io/en/latest/python/python_api.html

@henry0312 in xgboost, if input is dense then you can specify the missing value element (NA by default). If using sparse input, then the missing value is the value which is not represented in the sparse matrix (you may have a value other than 0 for missing in a sparse matrix).

@guolinke

BTW, does the accuracy on training set have improvement ? it may be over-fitting.

When I tried adding a small value to zero to be distinguished from missing, or adding flags to represent missing category, training accuracy seemed better (maybe over-fitting), but test accuracy  wasn't better than that of before.
When I didn't try either adding a small value or flags, training accuracy wasn't good, but test accuracy also was bad.
@Laurae2 Thanks! I got it.

@guolinke for svmlight/libsvm we may enforce missing as missing value, while for dense data we should let the user choose what is a missing value.
Default could be NA (R) / NaN (Python) / non numeric (CLI), and we let the wrappers choose the missing value identification by adding a parameter for dataset construction.

@guolinke How about trying mean(feature_values) in addtion to min, 0 and max?

@henry0312
It is not so easy to use mean, since we don't store the original feature values in histogram-based algorithm.

@guolinke Is this issue fixed?

@Laurae2 not yet.
Can we have a dataset to test the effect of treating missing and zero feature as the same value ?

@guolinke I can generate one synthetic worst case scenario dataset and upload it here.

move to #744 .


Cloudfiles sync_folder_to_container() does not remove non existent source files

When files are deleting from the "source", and sync_folder_to_container() executes, files at the destination but not at the source are not removed.
Example:

Create sample_container directory on local computer
Under sample_container, create following files: 1.txt and 2.txt
execute sync_folder_to_container()
1.txt and 2.txt are in the container
delete 2.txt
create 3.txt
sync_folder_to_container()
2.txt still exists and 3.txt has been uploaded

(pyrax)matts-mbp-2:pyrax_cloud_sync mattchung$ rm sample_container/touch2.txt
(pyrax)matts-mbp-2:pyrax_cloud_sync mattchung$ touch sample_container/touch3.txt

#!/usr/bin/env python

import os
import pyrax

pyrax.set_setting('identity_type', 'rackspace')
pyrax.set_credentials(os.getenv('RAX_USERNAME') or os.getenv('OS_USERNAME'), os.getenv('RAX_API_KEY') or os.getenv('OS_PASSWORD'))
cf = pyrax.cloudfiles
local = 'sample_container'
remote = cf.create_container('sample_container')
cf.sync_folder_to_container(local, remote)

You need to include the parameter 'delete' if you want remote files to be deleted. The default is 'delete=False'; change that to 'delete=True' and it should work.

Cancelled first pull request since it was destined for "master" branch instead of "working"


Use fully-qualified DNS name to support TLS hostname verification

The generated deployment does not use a fully-qualified DNS name everywhere, so some TLS hostname verification fails.

As of chart version 2.1.0, we support this feature. Please let me know if you find any issues.


Add plugin option "use project dir for profiles"

If you work with many DBT projects on different envs/machines it is much more convenient to keep profiles.yml file in each project folder. However the extension doesn't support this kind of configuration (or I can't find that option at least).
Is there any chance to add plugin settings like "use project dir for profiles" and if this option has been chosen then plugin will be adding smth. like --profiles-dir $PWD to any DBT command from its scope to show models, dependencies, to run models etc.?

You can use environment variables as mentioned in #84

@mdesmet, Thanks for suggestion. However it doesn't help to work with individual, project-based profiles stored in project folders w/o continuous changing env variables.. If you use single common storage for all profiles then it will be completely different approach and you can use it easily. My question was related to totally different approach which is not supported by plugin at the moment at all.

Have you tried setting it to DBT_PROFILES_DIR=./<profilesdir>I think that could work, as dbt starts in the working dir and will lookup that path in your project.

Imagine: I work with one project for some time then switch to another one then to third one then back to first one.
The only way to do that at the moment is to use single common profiles.yml for all projects.
What if I want to use individual profile.yml files which will be inside project folders? The only way at the moment is to switch env variables ech time when I switch the project. Convenient? Nope!
This is why I've asked to add one setting to plugin just to ensure it will be automatically use current project dir to use profiles.yml inside dir.

I fully understand what you are saying. I tried out what I told you in the earlier comment and it just works.
❯ cd ~/IdeaProjects/ov-zone-loopbanen
❯ mkdir profiles
❯ cp ~/.dbt/profiles.yml ./profiles/
❯ export DBT_PROFILES_DIR=./profiles
❯ code .

It will enable you to put your specific profile in your project folder and just take that. As long as you have a stable path from your dbt project directory, there is no need to change environment variables for every project.

Looks like there is no way to add such setting into plugin. At least it looks like that.

You can now set your profiles dir in the config in dbt.profilesDirOverride. Let me know if that works for you.

I have a similar issue where dbt.profilesDirOverride does not seem to resolve relative paths. It is able to resolve absolute paths but this can be an issue when you plan on sharing the workspace settings with a team

I am having that same issue. The configuration I have in the settings.json is the following:
"terminal.integrated.env.osx": {
    "DBT_PROFILES_DIR": "${workspaceFolder}/transform/"
    , "DBT_ENV_HOST": ""
    , "DBT_ENV_PORT": ""
    , "DBT_ENV_USERNAME": ""
    , "DBT_ENV_SECRET_PASSWORD": ""
    , "DBT_ENV_DBNAME": ""
    , "DBT_ENV_SCHEMA": ""
    }

The dbt executor is located at the transform folder and the profile name is bi. I can run it using terminal by placing it at the trasnform level. When trying to use DBT Power User I the error:
dbt configuration is invalid : Runtime Error
  Could not find profile named 'bi'

Appreciate any help or support! Thank you :)

I did
export DBT_PROFILES_DIR=$PWD/dbt/profiles
export DBT_PROJECT_DIR=$PWD/dbt

And dbt debug command works well  but I got error message on problem tab as below, no lineage can be generated
dbt configuration is invalid : Runtime Error
 Could not find profile named 'default'


[FEATURE] Extraction of latent space

Dear Team,
Thanks for this awesome Repo :)
I wanted to suggest a way for extracting Latent-Spaces Embeddings and the backpropagation of losses based on this. This could be done with a encode(x) function that gives back the Latent-Spaces.
Maybe this also could be interesting in Using some Embedding anlyses for feature importans, but mainly i would like to use the embedding space for downstream tasks.
I hope this description was helpfull and clear and that you take this idea in consideration.
Thx.

Hello!
I wanted to get back to that.
So since this week I had some time to look into it. It seems really difficult because the whole data-preprocessing and all the modules (Data_Module, Preprocessor, Task_model and Mambular + Mamba) are so entangled.
But I think I am almost there to at least make it work with categorial features (because in my Embedding task I don't always have a target I could do the binning on the metrical features or at least I don't want to "pollute" my training with this information yet).
My biggest question at this moment is the input to the model:
I don't want to use the whole preprocessor and all the other modules because I have my own preprocessing  and just want to initialize the Mambular-Model and feed data to it in batches.
I am also using lightning but no Data_module but good old Dataset_loaders. Also I need to keep the same structure of my data due to the contrastive nature of my task and the IDs need to be preserverd.
Now I have this problem:
What does the Mambular-Model actually get as input? To make it easier I would just be interested in what it does get if I am just using categorial features.
So in the initialization I give the dict. That worked and I understood that.
Now I checked the shape of the actual input to the model (model(num_features, cat_features))

Why are this lists? (I saw that the len of the list e.g. cat_features == number of cat columns)
Why is the shape of a list 10? (Is this the embedding space?)
How can I change my data into this form without the preprocessor module?

I hope you can help me with that and maybe point me to the crucial preprocessing functions  so I can extract them from the modules and add them to my preprocessing steps.
Thank you very much for your work :)

Hi,
thanks for reiterating on this. While I have not come around incorporating it, I am confident, that we will have the option to extract latent spaces within this year.

Why are this lists

We use lists, such that each feature, independent of the shape is easily accessible. I.e. if you have tensors instead (as ist common for tabular data) you would have to store the corresponding input shapes of each feature as after e.g. ple or basis expansion during preprocessing, the dimension of  feature $x_1$ can be anything $\in\mathbb{R}^T$.
However, to clarify: Each element in cat_tensors is a tensor.

If you have multiple categorical features - lets say 3 - which are integer encoded, the shape of each tensor in cat_features should be (B, 1) with B being the batch_size.

Why is the shape of a list 10? (are this "tokens" somehow? Where does the number 10 come from?)

Hard to tell without seeing your data generating process. If you use simple categorical features with integer encoding, the len of each feature in cat_features corresponds to the Batch size

How can I change my data into this form without the preprocessor module?

The input to the forward pass of Mambular are two lists. If you do not have any numerical_features, simply pass an empty list to it.

Maybe it would be much simpler, if we integrated your custom preprocessing directly into the library? If you can share your preprocessing code and a minimal code example, it should be a rather fast integration from our part.
Otherwise, if you only use the base_models/Mambular version and are not relying on preprocessing/data_module and lightning trainer part, you could also just change the input of that BaseModel altogether. Since you are interested in the embeddings, you could change the self.embedding_layer() to a module after your liking that simply takes a single x as input.
The input to self.mamba is the same as to any transformer. I.e. a tensor of shape (B, S, D) (Batch Size) X (Sequence Length) X Embedding Dimension), Where the sequence length corresponds to the number of features.
I hope this helps :) Feel free to further engage if this does not answer your questions.

Thank you for your detailed answer.
I think that I managed to use the model as an embedding model.
As you said I implemented just an own Embedding class that inherits from Mambular.
I always reshape the input that are comming in batches from my Data_Loader to the shape that you defined.
cat_features = [cat_features[:, i:i+1].int()  for i in range(cat_features.size(1))]
This then yields:
len(cat_features) == number of columns
cat_features.shape == [batchsize, value]
The num_features variable is by default an empty list. Maybe I add them later. For now I think I will just bin them by myself in my personal preprocessing steps and make them categorial in this way.
I then pass this through the model.
At the moment I am extracting the space after the MLP and put the Embedding later in my Projection Head for Contrastive Learning.
Feel free to comment on that place for extracting. But since the Projection Head is nothing more then a fancy Linear-Layer the shape after the MLP-Layer was the best regarding the shapes.
Thanks again for you help and prompt answers :)

Great :)
If you care to share your preprocessing, we could still include it into the library and also include the embedding extraction in one of our next version releases :)

The preprocessing step utilized only a Gaussian Rank Scaler.
The reason I had to use a different data loading approach was mainly due to my contrastive tasks (which involve two modalities). I always had to ensure that their IDs were in the same order. In my loader, I consistently loaded and preprocessed both modalities, then passed them into my training pipeline and their respective encoders.
Now a thing that I am working on is how to find the best embeddings if there is no downstream task for the encoding of the latent space. Because then I have to use fixed binning (like 50) but maybe there is another method that could work to discretize the metrical values besides using a tree approach.
Looking forward to your next release!


CSET V<IP_ADDRESS> - empty white screen after installation

🐛 Bug Report
I had version 10 installed and working fine. Then I installed CSET V<IP_ADDRESS> and I experienced the bug reported at https://github.com/cisagov/cset/issues/2255 - and then I went and deleted all assessments, restarted the program - and it started with a blank screen. I realized I still had the old version installed - so I went ahead and removed both the old and the new version. Then I cleaned the DHS folder in Appdata - and installed again.
And got a white screen on startup again.
In the log, I see:
Error Number:4060,State:1,Class:11
2022-02-08 14:21:42,763 [4] ERROR CSETWebCore.Api.Controllers.AuthController - Cannot open database "CSETWeb" requested by the login. The login failed.
Login failed for user 'machine\username'.

I managed to solve this by uninstalling ALL database instances (SQL server) and everything related to older CSET installs. Then I rebooted and reinstalled CSET 11. It works now.


DND config for #jstree-dnd text

When you drag multiple items there's a handy little popup that says "4 nodes"
I'm working on  multilanguage app and need to be able to customize this text
Something like this would be ideal:
$('#menu').jstree({
  plugins : ["dnd"],
  dnd : { multidrag_text: "Selected" }
});

I checked out the source and the line in question seems to be here:
https://github.com/vakata/jstree/blob/master/src/jstree.dnd.js#L130
But somehow my changes to the txt variable are not reflected when dragging multiple items.
Curious what I'm doing wrong here and if you think this config option is worth merging into master

Just stumbled across the get_string function.
For anyone else that gets stuck:
$('#list').jstree({
  core : {
    strings: {'nodes' : 'selected'},
  }
});


US-325026 Defaulting JMX host name to use pod IP

This PR is to default the JMX Host name as the pod IP address and the changes should be backward compatible as well since defaulting to pod IP shouldn't restrict the access from the namespace or break any existing functionality. These changes are required to be made to support K8s upgrade-deploy action while the internals are mentioned and already discussed as part of story.

This PR is to default the JMX Host name as the pod IP address and the changes should be backward compatible as well since defaulting to pod IP shouldn't restrict the access from the namespace or break any existing functionality. These changes are required to be made to support K8s upgrade-deploy action while the internals are mentioned and already discussed as part of story.
@dcasavant Kindly review the PR changes.

Looks good. Please just update the PR with an explanation of the change and that it will not impact backwards compatibility as discussed.

Updated in the description.


Documentation for computation authors

Walkthrough how to set up COINSTAC. Help to establish best practice software patterns for computation authors.
Sub-Tasks

[ ] Authors become better Python and functional programmers
[ ] Authors learn to manage their environment, packages, and code better

💯 would love to see this.

Awesome @hvgazula! It's officially on the product roadmap now. ;D
Any thoughts on more specific asks for whoever tackles this Issue? Any additional constraints or guidance is welcome.

draft per @spanta28:
Comp authors documentation
Install COINSTAC simulator and run an example code :
https://github.com/trendscenter/coinstac-first-example
Learn how to package your code, build docker image, use existing COINSTAC python libraries to work with COINSTAC framework, including an example:
https://github.com/trendscenter/coinstac-computation
Develop/contribute to the algorithms, check out our Distributed Neural Network implementation on COINSTAC, already integrated with the UI:
https://github.com/trendscenter/dinunet_implementations_gpu

Install coinstac-simulator on centos 7:
https://linuxize.com/post/how-to-install-node-js-on-centos-7/
sudo npm i -g coinstac-simulator

Rules of Thumb
By @bbradt

First rule of thumb is 1 repository per computation - in the past I had multiple repositories for shared steps common between computations (group ICA for example). I think this just added to confusion, so I am just going to maintain 1 repo per computation for simplicity and clarity. Aashis did a similar thing for dinunet, so it's been a common problem.
second rule of thumb is adhering to pep8 style standards. We can talk about another standard if that's preferred, but this is what BrainForge is using, so we should probably just stay consistent. This is easy to maintain in IDEs like VSCode, where you can install autopep8 directly into your python environment and automatically make sure things keep up to standards
third rule of thumb is distinct and full documentation. Pep8 already requires docstrings in code and gives some guidelines for structuring docstrings, but we also need to maintain up to date READMEs with full running instructions, tested data, etc.

This is a gold mine of learning resources and best practices for data management and open science! https://www.repro4everyone.org/resources

Ideas from session held today:

[ ] Standardize args, args library, args schema
[ ] Pep8 is another good standard. Style standards.
[ ] Enforce BIDS
[ ] Docs template

Need to enforce standards for how to interface with COINSTAC as well as how inputs to computations are structured. Inputspec is a start to this. Keys are bespoke per computation. Are these intuitive or documented?
Inputspec was made after pipeline was built. Simulator was a second class citizen. Additional complexity was put on computation authors.
Need it easy to load in data without having to re-write the wheel each time. Similar to libs like nifty and ssl. Could be more libs to integrate here to make things easier like for pybids. On Brainforge if we could enforce BIDS. This is a great neuroimaging standard. https://bids-standard.github.io/pybids/. OpenNEuro has some good examples.
Still need some standardization around covariates. Anything in machine learning ecosystem or libraries that could help standardize parameters or covariates better?

@bbradt We'd like you to own this task. Do you have any questions to make this more clear of a thing to do?


Investigate automatic backup for AIM

Adapt It Mobile Version: 0.5.6
Severity: 2
Description: This work item is to investigate adding support for automatic backups for the AIM database. This could be done through DVCS (see issue #59), cloud backup, or some other means.

Note that this should be considered for a post 1.0 release of AIM.


Add more User Roles

Currently, there are 3 user roles defined in MJ:

UI: Essentially grants read only access to all resources
Developer: Allows the user to perform any CRUD operation on all entites in the system
Integration: Intended for server side programs to allow them to use the MJ framework. Same level of permissions and access as the Developer tole

So out of the box, an admin only has the choice to give a user either read only access to all resources or give them admin-level access as well. We should create more roles that target more specific levels of access. Below are some examples:
Basic:

The basic role would prevent a user from performing any CRUD operations on core entities (i.e. an entity in the __mj schema) except for the following entities:

Lists
List Details
Dashboards,
Reports
All Category entities
Queries
User favorites
User Notifications
User Views
Workspaces
Workspace Items

Basically, any entities that are required to use MJ at a basic level. Modifying core entity data or using advanced features, such as running duplicate record detection or executing actions would not be allowed. Whenever a new entity is created, the Basic role will have access unless it is a core entity, in which they would only have read only access.
Admin (Name TBD)

The Admin role is a super set of the basic role in that it has permissions to modify any core entity except for the following:

Datasets
Dataset Items
Entities
Entity Fields
Entity Field Values
Entity Permissions
Entity Relationships
Entity Settings
Fly Schemas
Record Changes
Resource Types

Basically, any entity that is "core" to MJ, i.e. any entity CodeGen depends to maintain the metadata layer. The idea being that admins should be able to access and change anything data related, but things that are crucial to MJ operating smoothly are restricted away. Whenever a new entity is created, admins would have read and write access to it.
Sys Admins (Name TBD)

Super admins are an exact copy of the Developer role, except with a more intuitive name. This would allow us to reserve the Developer role to actual developers of the system. Just like the Developer role, Sys Admins would have complete access to all current and future entities

Some Additional Notes

By default, users that CodeGen create would be given the Sys Admin role, whereas users that MJServer create would be given the Basic role

@AN-BC @hiltongr  Please review

Only issue with removing an existing role that we ship is backwards compatibility so I’d suggest we don’t do that for that reason. I also could envision the UI role being used as another level above basic in some orgs.


IdeProgressBarConsoleTest slow in maven

On my machine during mvn install the test IdeProgressBarConsoleTest.testProgressBarStyleSwitchOnNonWindows takes more than 2 minutes what seems extremely long/slow.
In IntelliJ the entire test class with all test methods runs in less than 2 seconds.
From Maven surefire report:
  <testcase name="testProgressBarStyleSwitchOnNonWindows(Path)"
                  classname="com.devonfw.tools.ide.io.IdeProgressBarConsoleTest"
                  time="130.352">
    <system-out><![CDATA[20:33:18.673 [main] - DEBUG - c.d.tools.ide.log.IdeSubLoggerSlf4j - Configuration directory \non-existing-user-home-for-testing\.ide does not exist.
]]></system-out>
  </testcase>

With this story the effect should be reproduced, analysed and hopefully fixed.

My guess was wrong: It was neither related to copying of test projects nor to the simulated OS switch to linux that was causing the long duration on Windows in the console.
I am still clueless but somehow the progressbar library triggers some code that hangs long during initialization for yet unknown reasons.


git is not available in the image used by task ibm-pak.

Add git to the image used by tas ibm-pak.
As part of the work done around CP4I, in order to be able to deploy Configurations used by App Connect Integration runtimes it is required to clone the repo that includes the source code of the integrations, but when trying to use the git command I got the following error:
/tekton/scripts/script-0-xkwf7: line 12: git: command not found
As a reference, this is the script I used in my task:
            echo "Entering test script."
            cd workspace
            git clone https://github.ibm.com/joel-gomez/cp4i-ace-artifacts.git
            echo "Test has been completed."

Hey @gomezrjo, can you have a look at using ibm-pak-0.3 task? It now includes git, unzip, zip and I updated the ibm-pak CLI to v1.14.0 as well. Your cluster should automatically pull the new task down into the default namespace. If it's not there, you can import this YAML in directly https://github.com/cloud-native-toolkit/deployer-tekton-tasks/blob/main/tasks/ibm-pak/0.3/ibm-pak.yaml


Redirect admins and reviewers to their respective dashboards on-login

Resolves #1183

Weird that the tests failed since I didn't touch anywhere near that part of the code. Just rebased on top of the latest; hopefully the error was intermittent as it's not obvious why it failed.

@localheinz Now that issues on master have been resolved, tests pass here. What remains to get this merged?


State of the HydraSphere

State of the HydraSphere
Suggested by: Richard Green
Presenter: Tom Cramer (suggestion)
Format: 30 minute plenary
Audience: All

Tom Cramer
Debra Hanken Kurtz


Drawing on the div instead of the web

Hi is it possible to provide some guideline for this positioning issue?

First image is the line that didnt append onto the div
Second image is the line being appended to the div
The reason I use append is due to I only want the line to show only on that tab.
Here is a snippet of the code

Thanks in advance for the guide

Hi @Mytheses, thank you for the comment.
This may help you: https://github.com/anseki/leader-line/issues/54#issuecomment-500712640

Hi @Mytheses, thank you for the comment.
This may help you: #54 (comment)

Hi, apprecite the quick reply.  I found another workaround for this instead of drawing on the div which is I destroy the element and regenerate it only when entering the page.
However when I regenerate it the position seems to be different from the first time.
As attached image the first one is firstly entered

Second image is after destroy and regenerated

Do you mean that the example I indicated didn't help you?
Anyway, I don't know the bug in your code because I can't read your code.
You had better use show/hide  methods instead of adding and removing a line.

Do you mean that the example I indicated didn't help you?
Anyway, I don't know the bug in your code because I can't read your code.
You had better use show/hide  methods instead of adding and removing a line.

Alright. Thanks for the input.
The example you indicated did help but the position is off. So I work on the current workaround

I see.
We might be able to find the bug in your code if you show the code by using e.g. https://jsfiddle.net/ .
The timing might be the cause of the problem. You have to make new line in window.addEventListener('load', () => { ... }); event listener.

I see.
We might be able to find the bug in your code if you show the code by using e.g. https://jsfiddle.net/ .
The timing might be the cause of the problem. You have to make new line in window.addEventListener('load', () => { ... }); event listener.

I am using angular ngAfterViewInit to generate the line which I think should works the same as this function you mentioned?

We might be able to find the bug in your code if you show the code by using e.g. https://jsfiddle.net/ .

No reply came, then this abandoned issue is closed.


stateChanged is never called.

Hello. I discovered that stateChanged is never called. Can you resolve this issue?

Hi, it is called in FocusNode.swift
https://github.com/maxxfrazer/ARKit-FocusNode/blob/master/FocusNode/FocusNode.swift#L318
Let me know if that's ok and I'll close the issue if it is 👍

Hi @Arideno, it is called in FocusNode.swift
https://github.com/maxxfrazer/ARKit-FocusNode/blob/master/FocusNode/FocusNode.swift#L318
Let me know if that's ok and I'll close the issue if it is 👍

I know, but, for instance, FocusSquare does not change its animation when a plane is detected, it’s just the same.

Aha, I'm assuming you mean in the Example/, and you haven't created it yourself?
The plane detection is switched off in the example, I have added it in now; thanks for letting me know there was an issue somewhere with that.
The function was called, but self.onPlane was always false; the pod itself is unchanged. and your version should be fine.


G-sync turning off after a while

First off all: Great effort developing this stuff! I love it already, though, it's not working for me.
When running nvLFCreset, all is working as expected, I can confirm with the frame-times, and fps counters (both the screen built-in as well as RTSS), but after just 10 seconds, the well-known below refreshrate monitor blackout kicks in and then G-sync is turned off.
Any plans on working on this in the future? I'm glad to help if you need any.

Hi cheers
You may need to increase the min vrate in cru->display properties some displays will blank out below a certain hz.
lfc is pretty much required to prevent monitor blankouts when framerate dips below min hz. the program shouldn't disable lfc outright but reset it when it get's stuck on. if it's fully disabling vrr then something isn't working right.
haven't worked on this in awhile, will revisit it soon


Add a license?

https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository
That way we know how we can use the code

Thanks for your suggestion, we have chosen the MIT license


Make warnings of empty-line-before rules?

The empty-line-before rules (declaration and at-rule) are shown as errors. Should be warnings no?

I'm sorry this took a while to respond. I'm actually still thinking about this one.
We can change the severity of these to warning but this would introduce an inconsistent behavior with other style rules that comes with popular config packages. I thought it would be better to leave them as is. What do you think?

Okay, fine by me. I can always overwrite it in my own config.

I thought about this again and in the end they're stylistic rules so it make sense to use warning level severity. I published a new version with these changes.


remove Mutex in struct scheduler

I found that struct Scheduler in /swarm/scheduler/scheduler.go is like below:
type Scheduler struct {
	sync.Mutex

	strategy strategy.PlacementStrategy
	filters  []filter.Filter
}

However, I found that in struct Scheduler field sync.Mutex is useless. Since a mutual exclusion lock is used to avoid resource race, while when initialization of scheduler is finished, no write operation will happen on Scheduler.
This PR did:

remove sync.Mutex in struct scheduler;

remove c.scheduler.Lock() and c.scheduler.Unlock() in swarm/cluster.go and mesos/cluster.go

Signed-off-by: Sun Hongliang<EMAIL_ADDRESS>

any update? @abronan @vieux @dongluochen @nishanttotla

The mutex here is not to protect strategy or filters from change, but to sequentialize schedule decisions. Take createContainer for example, if there is no mutex, 2 requests may come in to select the same node to start a container. This would result in a resource competition and one may fail.

@dongluochen
Yes, It is necessary to sequentialize schedule decisions. If we hope to achieve this, the key thing Swarm needs to do is guarantee there would not be race condition in the resource.
Still take createContainer for example, 2 requests hope to create a container and start the execution of createContainer. As c.scheduler.Lock() first, only one request (REQUEST A)can move on util c.scheduler.Unlock() https://github.com/docker/swarm/blob/master/cluster/swarm/cluster.go#L221 before starting engine.Create. At this point, since unclocked, REQUEST B can start executing, gain c.scheduler.Lock() and finish SelectNodesForContainer. If the cluster can only fill one container, in this case both requests are satisfied. Still race condition happens.
I think the root cause is that cluster resource is critical section, while accessing is in SelectNodesForContainer and writing after finishing creating container has a long procedure to connect with other. If we lock well, we need to lock both SelectNodesForContainer and engine.Create.
My Conclusion: currently c.scheduler does not work as we wish.
func (c *Cluster) createContainer(config *cluster.ContainerConfig, name string, withImageAffinity bool, authConfig *types.AuthConfig) (*cluster.Container, error) {
	c.scheduler.Lock()

	// Ensure the name is available
	if !c.checkNameUniqueness(name) {
		c.scheduler.Unlock()
		return nil, fmt.Errorf("Conflict: The name %s is already assigned. You have to delete (or rename) that container to be able to assign %s to a container again.", name, name)
	}

	swarmID := config.SwarmID()
	if swarmID == "" {
		// Associate a Swarm ID to the container we are creating.
		swarmID = c.generateUniqueID()
		config.SetSwarmID(swarmID)
	}

	if network := c.Networks().Get(string(config.HostConfig.NetworkMode)); network != nil && network.Scope == "local" {
		if !config.HaveNodeConstraint() {
			config.AddConstraint("node==~" + network.Engine.Name)
		}
		config.HostConfig.NetworkMode = containertypes.NetworkMode(network.Name)
	}

	if withImageAffinity {
		config.AddAffinity("image==" + config.Image)
	}

	nodes, err := c.scheduler.SelectNodesForContainer(c.listNodes(), config)

	if withImageAffinity {
		config.RemoveAffinity("image==" + config.Image)
	}

	if err != nil {
		c.scheduler.Unlock()
		return nil, err
	}
	n := nodes[0]
	engine, ok := c.engines[n.ID]
	if !ok {
		c.scheduler.Unlock()
		return nil, fmt.Errorf("error creating container")
	}

	c.pendingContainers[swarmID] = &pendingContainer{
		Name:   name,
		Config: config,
		Engine: engine,
	}

	c.scheduler.Unlock()

	container, err := engine.Create(config, name, true, authConfig)

	c.scheduler.Lock()
	delete(c.pendingContainers, swarmID)
	c.scheduler.Unlock()

	return container, err
}

At this point, since unclocked, REQUEST B can start executing, gain c.scheduler.Lock() and finish SelectNodesForContainer. If the cluster can only fill one container, in this case both requests are satisfied. Still race condition happens.

This would not happen because REQUEST A adds a pendingContainer to this node. The pendingContainer reserves resource for REQUEST A from the node.  REQUEST B has to take this into consideration.
    c.pendingContainers[swarmID] = &pendingContainer{
        Name:   name,
        Config: config,
        Engine: engine,
    }

@dongluochen
Great. Totally reasonable. Sorry for my misunderstanding.

Still feel some strange that Swarm uses a scheduler's lock to lock some procedures, while not some detailed critical section.
@hdanniel you can see the discussion here.
If you have any idea, just share with us.

Since the scheduler lock is used to lock some procedure, this PR will break this rule. Closing it.


Fix error in getHeaderLine()

Partially resolves #21

@doubaokun can you address this please? It's actively breaking one of my projects.

22.1.3 is released with the change. Thanks.


Concurrent map access

I often find concurrent requests (here the last three GET requests start before the previous one has returned), which probably explain the concurrent access causing data corruption and exceptions while browsing the live map as the results may be handled concurrently.
Anyway, this is a real problem that must be fixed independently of whether it fixes all the map issues or not.
 Normally they should get the 'stop' flag and not try to store their result but it may result in problems I would say.
What did you do to get the above log?

I did nothing special.
I plan to refactor the download code by using only one thread with a proper way to send it the requests. This is on my TODO list.

The download-code for the map or for everything? Sometimes it's ok (or necessary) to do it parallel.

For the live map only.

Linking this bug with the discussion and feedback request on #711.


panic: runtime error: slice bounds out of range [:53]

Hi. Trying to set this up useing ckoz 00/14.
I'm getting this error in the log file. Any suggestion what this could be?
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[21:14:57] INFO: Starting xcomfortd version 0.34
[21:14:57] INFO: xcomfortd --client-id xcomfort --server tcp://*****@core-mosquitto:1883 --hadiscoveryprefix homeassistant --eprom --file /config/Dataspunkt_homeassistant.dpl --hadiscovery
2021/03/29 21:14:57 Opened USB device 'vid=188a,pid=1101,bus=1,addr=6', packet size 32/32
2021/03/29 21:14:57 Connecting to MQTT broker 'tcp://core-mosquitto:1883' with id 'xcomfort'
2021/03/29 21:14:57 CI HW/RF/FW revision: 0, 13.0, 0
2021/03/29 21:14:57 CI RF/Firmware release: 2.11, 2.05
[WARN]  [store]    memorystore wiped
2021/03/29 21:14:57 Connected to broker
2021/03/29 21:14:57 CI serial number: 7666233
panic: runtime error: slice bounds out of range [:53] with capacity 0
goroutine 13 [running]:
github.com/karloygard/xcomfortd-go/pkg/xc.(*Interface).dplReader(0xc000089cc0, 0x89bf20, 0xc00011e400, 0x8216f8, 0x5, 0xc00011e301, 0xbf0000c00007b950)
/xcomfortd-go/pkg/xc/readers.go:172 +0x17c9
github.com/karloygard/xcomfortd-go/pkg/xc.(*Interface).RequestDPL(0xc000089cc0, 0x89f058, 0xc000054a40, 0x0, 0x0)
/xcomfortd-go/pkg/xc/extended.go:63 +0x113
main.run.func1(0xc000089cc0, 0xc000054a00, 0x89f058, 0xc000054a40)
/xcomfortd-go/main.go:205 +0x770
created by main.run
/xcomfortd-go/main.go:174 +0x428
[cmd] /run.sh exited 2
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.

Interesting, will investigate.

It could be caused by the RF usb stick 00/14 did not have the dp list written to it in MRF. Changed the settings to eprom: false then i got this log:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[00:02:34] INFO: Starting xcomfortd version 0.34
[00:02:34] INFO: xcomfortd --client-id xcomfort --server tcp://*****@core-mosquitto:1883 --hadiscoveryprefix homeassistant --file /config/Dataspunkt_homeassistant.txt --hadiscovery
2021/03/30 00:02:34 Opened USB device 'vid=188a,pid=1101,bus=1,addr=6', packet size 32/32
2021/03/30 00:02:34 Connecting to MQTT broker 'tcp://core-mosquitto:1883' with id 'xcomfort'
2021/03/30 00:02:34 CI HW/RF/FW revision: 0, 13.0, 0
[WARN]  [store]    memorystore wiped
2021/03/30 00:02:34 Connected to broker
2021/03/30 00:02:35 CI RF/Firmware release: 2.11, 2.05
2021/03/30 00:02:35 CI serial number: 7666233
2021/03/30 00:02:35 Sent MQTT autodiscover add for 3 devices and 1 datapoints

Yeah, there's something strange with the DPL file.

I agree that that does look somewhat empty. I'll make a fix for that, but in the meanwhile, if you upload the DPL to the stick with MRF, this should resolve itself.

When I try to upload the dpl to the stick it only gives me an error message about the upload process failed.

Strange. You can try saving the DPL to disk, and it'll be the same as reading from eprom. The DPL file format contains more info than then TXT files, so is preferable (but TXT will still work).

The problem with saving the DPL list to stick was that I had both the 00/13 and the 00/14 in the same pc at once when programming. Moving the 00/14 to another pc during MRF programming solved the issue.

You can leave the 00/14 connected to Home Assistant while uploading the DPL, it will autodetect the change and refresh HA.
Great to hear that you figured this out. I'll push a change that prevents the crash in any case.


R3 vector space

Created a world to show that R^3 is a vector space. I prove this without using induction so that it is closer to the proofs students will see in class.
I also used the new tactic "cases_tuple" that Ricardo defined that basically destruct tuples.

shouldn't add smul_zero


Configurable Table Name for Cart Model

Currently Vanilo assumes that the table name is carts, and there is no way to configure this. Can you make this a config setting, please?
I'll try to submit a pull request.

Hi Adrienne,
we have no plans to make the table names configurable, but you can easily achieve it in your project with <30 minutes of work.
Here's what to do:

Disable the built-in migrations of the Cart module:
config/concord.php: 'modules' => [
     Vanilo\Cart\Providers\ModuleServiceProvider::class => [
         'migrations' => false
     ]
 ]

Publish the migrations:php artisan vendor:publish --provider="Vanilo\Cart\Providers\ModuleServiceProvider" --tag="migrations"

This will copy the Cart Module's migrations into your app's database/ folder.
Modify the table names in those migrations. Now you can run php artisan migrate.
Create Cart.php and CartItem.php files in the app/Models/ folder.
Add the following content to Cart.php:class Cart extends Vanilo\Cart\Models\Cart
{
    protected $table = 'your_cart_table_name';
}

Add the following content to CartItem.php:class CartItem extends Vanilo\Cart\Models\CartItem
{
    protected $table = 'your_cart_items_table_name';
}

Add these lines to app/Providers/AppServiceProvider.php:namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Vanilo\Cart\Contracts\Cart as CartContract;
use Vanilo\Cart\Contracts\CartItem as CartItemContract;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        $this->app->concord->registerModel(CartContract::class, \App\Models\Cart::class);
        $this->app->concord->registerModel(CartItemContract::class, \App\Models\CartItem::class);
    }
}

Now you can use the cart module with your custom table names.
Notes

You can continue using the Cart facade (it will use your models under the hood):use Vanilo\Cart\Facades\Cart;

Cart::addItem($product);
// etc..

These steps apply only when you're using the Cart module,
If you're using the entire Vanilo Framework, then the config part is slightly different (let me know if that's the case)
If you'll update the Cart module with composer in the future, make sure to take over the newer migrations by re-running the php artisan vendor:publish --provider="Vanilo\Cart\Providers\ModuleServiceProvider" --tag="migrations" command. If there are new migrations, change the table names in them accordingly.

References & Further Info

https://vanilo.io/docs/3.x/models
https://vanilo.io/how-to/use-custom-models-in-your-application
https://konekt.dev/concord/1.x/migrations#turn-migrations-onoff
https://konekt.dev/concord/1.x/publishing#migrations
https://laravel.com/docs/9.x/eloquent#table-names

@fulopattila122 - this did work, thank you!


Labels in dot language must be positive integers

[ x] Tests added / passed
[ x] Passes black dask / flake8 dask

This PR is intended to make a dask graph parsable by pydot. The character - seem to be reserved in dot language, so I am proposing replacing the hash function in dot.py with poshash which is a positive hash key as suggested in https://stackoverflow.com/questions/18766535/positive-integer-from-python-hash-function.

import pydot
from dask import visualize
graph = {
    'a': 1,
    'b': 2,
    'c': [1, 2],
    'd': ['a', 'b', 'c']
}
digraph = to_graphviz(graph)
dot = pydot.graph_from_dot_data(digraph.source)

This code used to yield the following error: ParseException: Expected "}" (at char 73), (line:4, col:2).
It is now running correctly.
Comments are welcome.

How does this look like when generating an image of a graph using graphviz?

@thedimlebowski are you interested in working on this still?

@thedimlebowski played with your branch a bit, and it seems like this broke some visualization things. Here's the dask.visualize for your example.

Can you double check your changes?

This appears to be stalled.  Closing.  @thedimlebowski if you want us to open please just let us know.


Add nfl score updates

Using site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard?dates=YYYYMMDD, create a task that runs every Sunday night and prints out scores for each game.

We need an 'opt-in' command for users to opt-in to these notifications(create DollarSettings table in DB)
We will create a dedicated 'Sports' channel for all messages
Create embed per game with color of embed matching color of the team that won, and picture of the winning team, body can be simple as Kansas City Chiefs 28 - San Diego Chargers 29

A lot of free apis that can be used to get some cool info:
https://gist.github.com/nntrn/ee26cb2a0716de0947a0a4e9a157bc1c#scoreboard-api

Also: https://gist.github.com/akeaswaran/b48b02f1c94f873c6655e7129910fc3b