text:
Feature/kp 907/new method run docker image

https://kaholo.atlassian.net/browse/KP-907

I need to clean up the branches, before I set it to develop

repo: Kaholo/kaholo-plugin-docker


text:
Will this work with the LA412 gate opener?

Got this working with my garage door opener, works great! I also have a liftmaster swing gate opener (LA412, manual here: https://support.partner.liftmaster.com/s/article/LA412UL-Installation-Manual) which has Security 2.0. Does anyone know how to use this project to control the gate opener?

Reading over https://github.com/PaulWieland/ratgdo/issues/90 it looks like the gate openers don't have a Security+ 2.0 wired button to tap for the info. Reading over your manual I don't see one either. Just wireless.
You could wire an esp to the Single Button Control (page 35) and use that to tell the gate to open/close, but you wouldn't get any feedback on gate status.

I'll poke around with a multimeter and see if I can find a security+ 2.0 wire and if that fails, I guess I'll wire up the SBC

source: gharchive/issue

authors: jaredhobbs rlowens

repo: Kaldek/rat-ratgdo

license: MIT

license_type: permissive

license_source: github-api


text:
Sharesight problem - not handling Share Splits

Hi there,  After tweaking the formats (see previous issue) and using Google Sheets to save as .csv (don't download direct Excel from Sahresight !) I've not hit a problmem where a share I own has undergone a Split - so in the .csv file the a row has Split for the TYpe of action.  cgt-calc throws up an error (Unknown action: Split).  This is needed as without the split when I came to sell the shares cgt-calc threw an invalid transaction error as it thought I was trying to sell more shares than I owned.  Can this be easily fixed?

Hi there, After tweaking the formats (see previous issue) and using Google Sheets to save as .csv (don't download direct Excel from Sahresight !) I've not hit a problmem where a share I own has undergone a Split - so in the .csv file the a row has Split for the TYpe of action. cgt-calc throws up an error (Unknown action: Split). This is needed as without the split when I came to sell the shares cgt-calc threw an invalid transaction error as it thought I was trying to sell more shares than I owned. Can this be easily fixed?

BTW there are two other actions to handle in addition to Split that appear in the All Trades Report.csv :  1.  Consolidation and 2. Bonus.

We need someone who uses sharesight to add support for these actions into the parser.

The README mentions that this tool supports splits, but it's not documented. Looking at the source there seems to be support in the raw format for splits: https://github.com/KapJI/capital-gains-calculator/blob/4a58008acdff23cfa26bcb7d81c991f81c59b749/tests/test_data/raw/test_data.csv#L9
But then it looks as though they are still only handled for MSBB and there is only one split (for Google) which is hard-coded:
https://github.com/KapJI/capital-gains-calculator/blob/main/cgt_calc/parsers/mssb.py#L61

authors: deed02392 nsratcliffe vmartinv

repo: KapJI/capital-gains-calculator


text:
Error page

the error is having a header of clumsy words we can remove the header and we can just put the logo of the  book town please assign me this issue @Karamraj

@khadar1020 Assigned. Join our discord server (This Repo) - https://discord.gg/T8m6Qh5aw5

repo: Karamraj/BookTown


text:
Create Section.txt

Este es el trabajo que realice soy Karelys Soler

Este es el trabajo que realice soy Karelys Soler

source: gharchive/pull-request

repo: Karelysl/MiPrimerRepositorio


text:
Pytorch implementation of MV-MWM

Hi Karl,
are there plans to add a pytorch implementation of https://github.com/younggyoseo/MV-MWM ?
Would be really great!

Hi David, unfortunately, I don't have the plan to implement MV-MWM for now because of limited bandwidth. However, if you have concrete/interesting research ideas based on that, I will consider collaborating and implementing it.

authors: KarlXing davidoort

repo: KarlXing/RL-Visual-Continuous-Control


text:
(Question) Is there any way to perform a search from gmail.js?

I am trying to create an extension using gmail.js (amazing project, by the way!) with a very simple aim: add a button anywhere in gmail (add_toolbar_button for instance is perfect) that performs a search for unread emails, so basically a search for is:unread.
I have been looking through the documentation, but haven't found a way to do so.
Is it possible to do it from gmail.js?
Thank you!

gmail.js does not have a API for actively searching the user's Gmail contents. It has an API for obtaining information/contents of specific emails given an ID.
In addition, the contents gmail.js can provide may be restricted to emails the user himself has visited (or which has been pre-cached due to the currently active view).
That said, the inbox is usually loaded, and contains information about this.
See the readme for available APIs, and if they don't work as expected, feel free to create a bug-report.

Thank you for your answer @josteink!
However, just to clarify, I don't want to read the contents of the emails or anything like that, I just want to perform the search action (so, basically enter "is:unread" on the search box and then press enter).
I've been trying it myself with the available APIs, starting with gmail.dom.search_bar(), but so far I haven't been able to do it, gmail really likes to make its buttons hard to find and/or click!
Thanks again for your answer, though!

In that case, do you really need an API for it? Just observe the URL bar!
When I'm logged in and showing my inbox my URL is:
https://mail.google.com/mail/u/0/#inbox

When I navigate to the sent items folder, my URL is:
https://mail.google.com/mail/u/0/#sent

Surely if that's all you need to do, you can interact with the web-page directly to alter the URL hash?

You're absolutely right, I was so focused on clicking buttons and stuff that just didn't think of that, and of course
https://mail.google.com/mail/u/0/#search/is%3Aunread

just does the trick :) Now it's just a matter of playing with URLs a bit.
Thanks a lot!

authors: gonzalo-rodriguez josteink

license: mit

license_source: bigquery


text:
Update build dependencies + Use task configuration avoidance api

:pushpin: References

Issue: continuation of #208
Related pull-requests: #208

:tophat: What is the goal?
To make the plugin development more efficient. Current master downloads some artifacts on each build: https://scans.gradle.com/s/ddbtrcbte5vi4/performance/network-activity
Which gets quickly annoying.
How is it being implemented?
I updated most of plugin dependencies which solved the issue described above.
I also switched to lazy configuration api, both for plugin build and for the plugin itself.
https://docs.gradle.org/current/userguide/task_configuration_avoidance.html

current config
this PR

Wroth reviewing by commits as updting scalafmt dependency caused a lot of automatically generated changes. I'll try to comment out each unobvious change
How can it be tested?
There should be no behavior changes except more efficient build.

[ ] Use case 1: A brief description of the use case that should be tested
[ ] Use case 2: If the use case requires some complex steps, increase indentation

[ ] Step 1
[ ] Step 2

@pedrovgs Sure, no rush. I know there is a lot of changes at once. Please let me know if you prefer to split them into multiple PRs. I assumed that reviewing one build-related PR will be easier and quicker for you

It adds no value and only adds noise for this PR

The scalafmt plugin is actually responsible for downloading the artifact I mentioned, visible in: https://scans.gradle.com/s/ddbtrcbte5vi4/performance/network-activity.
But sure, I'll split these changes into 2 separate PRs

Thanks!

@mateuszkwiecinski I've just merged the scala fmt PR. Is this still a draft? Do you need to rebase to make github aware you've updated this branch so we can see an updated diff?

@pedrovgs yes, I waited for #217 to be merged first. I just rebased this PR and it should be ready for review 👀

Thanks for your help @mateuszkwiecinski 😃

authors: mateuszkwiecinski pedrovgs

repo: Karumi/Shot


text:
TITLE: UofT-DSI | Applying Statistical Concepts - Assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Adding solutions to assignment 1.
What did you learn from the changes you have made?
I learned how to standardize and split the data. I learned more about working with dataframes, and navigating their rows and columns. I learned how to use cross validation, and knn models. I learned how to choose the best K for the n_neighbors parameter, and check the accuracy of the model on the test data.
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
I had some trouble with splitting the data, due to the fact that the predictor variables had been standardized already, and this was different than the examples we had looked at. The train_test_split function requires the full dataframe that you started with, so I had to join the predictors_standardized with the ['class'] column to get the full data set in standardized form.
How were these changes tested?
I looked at the results in the dataframes, by printing them, and looked at graphs of the results as well.
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

Accidentally closed the pull request!

Reopening pull request

reopen


text:
Recipe page too complex

The recipe page looks quite complicated when there are multiple parallel paths with one transition each. For example the Three Sisters Stew
It would look much clearer if the parallel parts were together, since you generally do them together. For example, all the steps to grow the squash and chop it should be together, all the steps to make the crock, the bowl of corn, etc.
We could hide the steps by default and show them when clicked. For example:

Clicking "12 steps" would expand this transition into a sub-list of transition steps. This would need to look more like a button
Only do this in the following situations:

There are more than 2 steps with only one transition in them for that branch
There are multiple of these in parallel

Should items that are used in combination with time be expanded automatically?

@Kinray, at the moment, transitions with decay time are automatically collapsed and the decay time added together. The majority of the time this is just used for animation and not important to the player.
I can’t think of a time you would want to expand day transitions, but let me know if you can think of a reason and I will consider adding that.

Sorry, I wasn't clear enough. And maybe it's more relevant to the tech tree view.
Three Sister's Stew tech tree has Hot Coals that are created by waiting for a Fire to decay. The 1 minute + Fire = Hot Coals recipe is just noise in this example, because either the user knows how to make a Fire and doesn't need this recipe, or she doesn't, and will need the Kindling + Burning Tinder = Fire step too.
And more generally, whenever there's a X -> A + B = X + Y expansion, and A is a timer, B can be expanded automatically.

I think the decay time is important to know if you don't know how to make fire.
I think what I'm doing here will solve this issue on the recipe page because, assuming they know how to make fire, they won't need to click on it to see the steps.

authors: Kinrany ryanb

repo: Kazetsukai/onetech


text:
Add a linter as a devDependency

I would suggest adding eslint and prettier as linters. If we're using CSS, Sass, or styled-components, we can also consider adding stylelint.
I added some starting configurations for eslint and prettier. You can change the configure these files to your liking. You might also want to add additional plugins and configurations for React.

Install command
npm install -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-prettier prettier

.eslintrc
{
  "env": {
    "browser": true,
    "es6": true
  },
  "extends": [
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended",
    "prettier/@typescript-eslint"
  ],
  "parser": "@typescript-eslint/parser"
}

.prettierrc
{
  "arrowParens": "always",
  "semi": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5"
}

i would also recommend an editorconfig to match and if you really want, i recommend husky and lint-staged for pre-commit hooks https://codeburst.io/continuous-integration-lint-staged-husky-pre-commit-hook-test-setup-47f8172924fc

also if the project is typescript, should we be using tslint instead?

Yes! a linter will help us keep all a similar format.
I think the tslint merged with the eslint.

I will take a look at the link you just mentioned @chilblane
Also if anyone would like to help with having a direct access to the repo I can add them to the collaborator list.

authors: Kedyn chilblane kevinydhan

repo: Kedyn/fusliez-notes


text:
Connect-Keeper: Automatically perform actions on DeviceAuth and TwoFactor

When running Connect-Keeper, I want to be able to automatically answer the DeviceAuth and TwoFactor steps in the AuthFlow. I've tried to answer them by piping the answer into another process, which partially works but is quite fragile.
What I want to do
Consider the TwoFactor step:
    Keeper Username:  $username
Available Commands
channel=<authenticator> to change channel.
expire=<now | 30_days | never> to set 2fa expiration.
<code> to send a 2fa code.
<Enter> to resume
2FA channel(authenticator) expire[now]:

I want to automatically answer the OTP here.
The same for DeviceAuth, but I want to first send "channel=2fa" and then the OTP.
What I have implemented
My current solution patches Connect-Keeper as defined in AuthCommands.ps1 with two new parameters and two if statements (see commented areas)
function Connect-Keeper {
    <#
    .Synopsis
    Login to Keeper

   .Parameter Username
    User email

    .Parameter NewLogin
    Do not use Last Login information

    .Parameter SsoPassword
    Use Master Password for SSO account

    .Parameter Server
    Change default keeper server

    # New Parameters
    .Parameter TwoFactorChannel
    Which channel to use when authenticating with 2FA

    .Parameter TwoFactorAction
    The action to take when authenticating with 2FA (i.e. push or <code>)

    .Parameter DeviceAuthChannel
    Which channel to use when authenticating a device

    .Parameter DeviceAuthAction
    The action to take when authenticating a device (i.e. push or <code>)
#>
    [CmdletBinding(DefaultParameterSetName = 'regular')]
    Param(
        [Parameter(Position = 0)][string] $Username,
        [Parameter()] [SecureString]$Password,
        [Parameter()][switch] $NewLogin,
        [Parameter(ParameterSetName = 'sso_password')][switch] $SsoPassword,
        [Parameter(ParameterSetName = 'sso_provider')][switch] $SsoProvider,
        [Parameter()][string] $Server,

        # New parameters
        [Parameter()][securestring[]] $TwoFactorActions,
        [Parameter()][SecureString[]] $DeviceAuthActions # Can be sensitive
    )

    Disconnect-Keeper -Resume | Out-Null

    $storage = New-Object KeeperSecurity.Configuration.JsonConfigurationStorage
    if (-not $Server) {
        $Server = $storage.LastServer
        if ($Server) {
            Write-Information -MessageData "`nUsing Keeper Server: $Server`n"
        }
        else {
            Write-Information -MessageData "`nUsing Default Keeper Server: $([KeeperSecurity.Authentication.KeeperEndpoint]::DefaultKeeperServer)`n"
        }
    }

    $endpoint = New-Object KeeperSecurity.Authentication.KeeperEndpoint($Server, $storage.Servers)
    $endpoint.DeviceName = 'PowerShell Commander'
    $endpoint.ClientVersion = 'c16.1.0'
    $authFlow = New-Object KeeperSecurity.Authentication.Sync.AuthSync($storage, $endpoint)

    $authFlow.ResumeSession = $true
    $authFlow.AlternatePassword = $SsoPassword.IsPresent

    if (-not $NewLogin.IsPresent -and -not $SsoProvider.IsPresent) {
        if (-not $Username) {
            $Username = $storage.LastLogin
        }
    }

    $namePrompt = 'Keeper Username'
    if ($SsoProvider.IsPresent) {
        $namePrompt = 'Enterprise Domain'
    }

    if ($Username) {
        Write-Output "$(($namePrompt + ': ').PadLeft(21, ' ')) $Username"
    }
    else {
        while (-not $Username) {
            $Username = Read-Host -Prompt $namePrompt.PadLeft(20, ' ')
        }
    }
    if ($SsoProvider.IsPresent) {
        $authFlow.LoginSso($Username).GetAwaiter().GetResult() | Out-Null
    }
    else {
        $passwords = @()
        if ($Password) {
            if ($Password -is [SecureString]) {
                $passwords += [Net.NetworkCredential]::new('', $Password).Password
            }
            elseif ($Password -is [String]) {
                $passwords += $Password
            }
        }
        $authFlow.Login($Username, $passwords).GetAwaiter().GetResult() | Out-Null
    }
    Write-Output ""
    while (-not $authFlow.IsCompleted) {
        if ($lastStep -ne $authFlow.Step.State) {
            printStepHelp $authFlow
            $lastStep = $authFlow.Step.State
        }

        $prompt = getStepPrompt $authFlow

        #### Start My Changes ####
        # If we're on the DeviceApproval step and the user has specified $DeviceAuthActions, do those actions in order
        if ($DeviceAuthActions -and $authFlow.Step -is [KeeperSecurity.Authentication.Sync.DeviceApprovalStep]) {
            executeStepAction $authFlow ($DeviceAuthActions[0] | ConvertFrom-SecureString -AsPlainText)
            $DeviceAuthActions = $DeviceAuthActions[1..$DeviceAuthActions.Length] # Just do one thing per while loop
        }
        # If we're on the TwoFactor step and the user has specified $TwoFactorActions, do those actions in order
        elseif ($TwoFactorActions -and $authFlow.Step -is [KeeperSecurity.Authentication.Sync.TwoFactorStep]) {
            executeStepAction $authFlow ($TwoFactorActions[0] | ConvertFrom-SecureString -AsPlainText)
            $TwoFactorActions = $TwoFactorActions[1..$TwoFactorActions.Length] # Just do one thing per while loop
        }

        # Otherwise, do everything like normal
        elseif ($action) {

            # move this here to avoid the "Read-Host" prompt
            if ($authFlow.Step -is [KeeperSecurity.Authentication.Sync.PasswordStep]) {
                $securedPassword = Read-Host -Prompt $prompt -AsSecureString
                if ($securedPassword.Length -gt 0) {
                    $action = [Net.NetworkCredential]::new('', $securedPassword).Password
                }
                else {
                    $action = ''
                }
            }
            else {
                $action = Read-Host -Prompt $prompt
            }

            if ($action -eq '?') {
                }
            else {
                executeStepAction $authFlow $action
            }
        }
        #### End My Changes ####
    }

    if ($authFlow.Step.State -ne [KeeperSecurity.Authentication.Sync.AuthState]::Connected) {
        if ($authFlow.Step -is [KeeperSecurity.Authentication.Sync.ErrorStep]) {
            Write-Warning $authFlow.Step.Message
        }
        return
    }

    $auth = $authFlow
    if ([KeeperSecurity.Authentication.AuthExtensions]::IsAuthenticated($auth)) {
        Write-Debug -Message "Connected to Keeper as $Username"

        $vault = New-Object KeeperSecurity.Vault.VaultOnline($auth)
        $task = $vault.SyncDown()
        Write-Information -MessageData 'Syncing ...'
        $task.GetAwaiter().GetResult() | Out-Null
        $vault.AutoSync = $true

        $Script:Context.Auth = $auth
        $Script:Context.Vault = $vault

        [KeeperSecurity.Vault.VaultData]$vaultData = $vault
        Write-Information -MessageData "Decrypted $($vaultData.RecordCount) record(s)"
        Set-KeeperLocation -Path '\' | Out-Null
    }
}

I can then run this to do all the steps I'd like:
$otp = Get-Otp $KeeperTotpSecret | ConvertTo-SecureString -AsPlainText
$params = @{
    Username = $KeeperUser
    Password = $KeeperPassword
    SsoPassword = $true
    TwoFactorActions = @(("channel=authenticator" | ConvertTo-SecureString -AsPlainText), $otp)
    DeviceAuthActions = @(("channel=2fa" | ConvertTo-SecureString -AsPlainText), $otp)
    ErrorAction = 'Stop'
}
Connect-Keeper @params

(I don't know if the actions should be secure string or not, from a security perspective)
Limitations with my method
This works pretty well for my purposes, but I'd like for something like this in the source so I don't have to verify that it works after every new release.
One drawback is that it still unnecessarily prints out
    Keeper Username:  $username
Available Commands
channel=<authenticator> to change channel.
expire=<now | 30_days | never> to set 2fa expiration.
<code> to send a 2fa code.
<Enter> to resume

If a Keeper client is used in a hosted environment (there is no user interaction) we suggest to prepare a configuration file config.json so the Device Approval and Two Factor steps are already completed.
You probably do not need to automate Device Approval and Two Factor steps.
But if you really need it then I would suggest to have a separate cmdlet that prepares a new Keeper configuration file that has Device Approval and Two Factor steps done.

Thank you! That seems a bit easier.
But I can't seem to get it to work.
Connect-Keeper identifies the config.json file, but asks for both the 2fa code and password every time.
I generate the config file like this:
    $otp = Get-Otp $KeeperTotpSecret

    $KeeperConfig = @'
{{
    "server":"https://keepersecurity.com/api/v2/",
    "user":"{0}",
    "password":"{1}",
    "mfa_type":"device_token",
    "mfa_token":"{2}",
    "debug":false,
    "commands":[]
}}
'@
    [string]::format($KeeperConfig, $KeeperUser, (ConvertFrom-SecureString -SecureString $KeeperPassword -AsPlainText), $otp) | Out-File -FilePath config.json

Run Connect-Keeper once, enter the 2FA token and then try to connect again:
Connect-Keeper -Username $KeeperUser
... entering 2FA and masterpassword

Connect-Keeper
... prompted for 2FA and masterpassword again

If I specify the password and username on the CLI, I only get prompted for the 2FA:
Connect-Keeper -Username $KeeperUser -Password $KeeperPassword -SsoPassword
... prompted for the 2FA

If device approval step appears every login it means the library creates a new (so called) "device" and the backend enforces a full login flow.

I see. I got it to work now after I deleted the entire config file and let powercommander make it from scratch.
I still have to pass the password, but that's not a problem.
I've been able to use the config file on a headless system, so it works for my purposes.
Thank you very much for your help!

@bror-lauritz Hey sorry to ping you here but do you happen to have an example of how you got unnatended auth to work with the powershell module? I think I've correctly constructed the config.json but Connect-Keeper just keeps asking for device approval and is not giving any feedback on if its detecting the json or not.

@rvdwegen If Connect-Keeper keeps asking you for device approval it means there is an issue with config.json file.
This file is either cannot be found or misformatted.
You can use the .Net Commander to create and prepare config.json file for use by a service.
Please note that the config file format is different for Python and .Net Commanders.
https://github.com/Keeper-Security/keeper-sdk-dotnet/releases/tag/v1.1.0-beta01
The default file location is the path returned by Environment.GetFolderPath(Environment.SpecialFolder.Personal) for your environment.
https://github.com/Keeper-Security/keeper-sdk-dotnet/blob/87ca142c756580451a3017360d7c10122d559913/KeeperSdk/auth/JsonConfiguration.cs#L499
Windows: %USER_HOME%\Documents.keeper
Posix: $USER_HOME/.keeper
The config file can be setup for persistent login using this-device Commander's command.
In this case, the powershell module requires the config.json should persist between sessions if used in hosted environment

Hi, your support replied with similar instructions which I'll try out tomorrow. But does that mean the powershell module itself can't be used to generate the config.json?

Powershell module generates config.json file if it does not exists using default settings.
This module does not expose methods for customizing it.

Hi @rvdwegen! In my experience this works quite well:
New-Item -Type File -Name config.json

$USERNAME = Read-Host -Prompt "Keeper username"
$PASSWORD = Read-Host -AsSecureString -Prompt "Keeper password"
Connect-Keeper -Username $USERNAME -Password $PASSWORD -SsoPassword

(Some of the flags might not be necessary in your case)
You probably want to set expire=never on the first prompt.
It's based on that Keeper finds the config.json file either in the current directory or $HOME/.keeper.
If you create an empty file in the local directory it'll be populated when you run Connect-Keeper. You can then use it as you please.
NOTE: I think you still need to supply the password whenever you run Connect-Keeper, but you don't have to use the 2FA code or authenticate the device.

Unfortunately that still seems to result in a demand to input the password? I'm looking to use the PowerShell module (not .dotnet KeeperCommander) fully unnatended in either a function app or azure automation account.

The dotnet PowerCommander is correctly logging in completely unnatended now as soon as I start Keeper so the JSON is working now.

I can see that you use a different format for the config file. That is the Python's Commander config file. .Net SDK config file is different.
{
  "server": "keepersecurity.com",
  "clone_code": "...",
  "user": "testuser@commander.co",
  "devices": [
    {
      "device_token": "...",
      "private_key": "...",
      "server_info": [
        {
          "server": "keepersecurity.com",
          "clone_code": "..."
        }
      ]
    }
  ],
  "last_login": "testuser@commander.co",
  "last_server": "keepersecurity.com",
  "servers": [
    {
      "server": "keepersecurity.com",
      "server_key_id": 3
    }
  ],
  "users": [
    {
      "last_device": {
        "device_token": "..."
      },
      "server": "keepersecurity.com",
      "user": "testuser@commander.co"
    }
  ]
}

The config file dotnet PowerCommander generated looks nothing like this though.
{     "user": "svc_keeper",     "server": "keepersecurity.eu",     "device_token": "",     "private_key": "",     "clone_code": ""   }

If your setup is like our organization, you have to specify the -SsoPassword flag for it to not ask the password. Otherwise, I don't have any other ways to make it work.

Same result unfortunately.

PowerCommander ignored "password" property of the configuration file.
This issue has been fixed in the latest PowerCommander release.
Passing user's password in the command line should work.
Probably your password contains powershell special characters like $ or ````
PS> $password = Read-Host -AsSecureString -Prompt 'Enter Password'

PowerCommander ignored "password" property of the configuration file. This issue has been fixed in the latest PowerCommander release.

Yep, works here too now.

authors: bror-lauritz rvdwegen sk-keeper

repo: Keeper-Security/keeper-sdk-dotnet


text:
Проблема с c2me (я так думаю)

https://mclo.gs/NBgVI2U

Может потому что ты включил потоковой ворлд ген?

В конфиге c2me

authors: NerdTo Rozbiynk


text:
Constructor non-intuitive cancellation of small coefficient values

The main constructor contains the 3 lines:
# determine the last nonzero element and truncate a accordingly
a_last = max(1,findlast( p->(abs(p) > 2*eps(T)), a))
new(a[1:a_last], symbol(var))

That has a surprising consequence:
All higher coefficients are truncated, if their absolute value is below eps(). That generates an underflow-behaviour at high values. It would be easy to find p=Poly(..); p / 1000 * 1000 != p. There should be no such limitation, which restricts usability, for example when working with interpolating polynomials of higher degrees.
I recommend to replace abs(p) > eps(T) by p != zero(T)

I believe this is the case for T an integer or rational type. Can you use those?

I kind of agree with point 1.  If we are to keep the smallness condition it should be relative to other coefficients, not an absolute value like it is now.  The tests were all positive with
# a_last = max(1,findlast( p->(abs(p) > 2*eps(T)), a))
a_last = max(1,findlast(a))

but maybe I am missing some edge cases.
As for point 2. a[1:a_last] always returns a copy of a so I cannot reproduce the behavior you described.

jverzani.  I could use high precision or rational or integer arthmetic, of couse, but my problem is in the Float64 case, where eps ~ 2e-16.
pwl. Your are right with issue 2, which I removed already in the original comment.
I have here some test cases, which show the bad useability.
T1: I would expect to be  p(x) * a != 0 if p(x) != 0 and a != 0, but   Poly([0.0, 2e-8]) * 2e-8 == Poly(0.0).
T2: Imagine I want to interpolate at 5 points x the values y by a polynomial of degree 4. I try pf = polyfit(float([0:4]*1e4, [1, 0, 0, 0, 0]); but degree(pf) == 4 is false. Reason is that Poly cannot represent the highest coefficient, which gets below 2eps(). There would be a workaround by scaling x, but that is absolutely not necessary, because Float64 is capable of representing 1e-308.
With the same argument as forbidding higher coefficients below eps() it would be justified to set all results of floating point scalar operations to zero, if they are below eps() in absolute value ...
I would suggest to let the user decide, if he wants coefficients to be truncated by introducing a new utility function like polytruncate(p::Poly, tolerance) ... and in the normal case only remove exact zero.

There are arguments for or against. If you change the internal definition of eps to eps{F<:AbstractFloat}(x::Type{F}) = Base.zero(F) , then you get what you want. However, this means simple polynomial operations can go askew:
p = Poly([1,1]/10)
q = Poly([1,2]/10)
r = Poly([1,3]/10)
p + q - r  ## will have wrong degree

I don't see an easy way to let the user specify what is used for eps, but if you do, and it doesn't impact performance you should put together a pull request.

I believe my original intention was to avoid numeric instability in the evaluation of polynomials, division and root finding from the presence of non-significant leading zeros. eps(max(coef)) would probably have been a more correct cutoff, so that magnitude scaling didn't affect the result.

authors: KlausC jverzani pwl vtjnash


text:
Change lightcurve.to_pandas() so that 'time' isn't the index by default

Problem description
When using lightcurve.to_pandas(), it sets the values of 'time' as the index values of the newly formed pandas array. This is information is duplicate with the data in the 'time' column, and means that data manipulation using indices as you would with a numpy array is no longer possible, i.e.
lightcurve.to_pandas()[0:50]

does not work. In my experience, manipulating pandas this way is more intuitive.
Example
from lightkurve import KeplerTargetPixelFile
tpf = KeplerTargetPixelFile.from_archive("Kepler-10", quarter=3)
df = lc.to_pandas()
df[0:50]        #Attempt to print the first 50 rows

Goal/Expected behavior
An ideal change would be to have no custom index as a default, and allow the user to pass a string, i.e. 'time' to set time (or another column) as the index column as well.

Thanks for reporting this experience Oliver! My reasoning behind having time as index is as follows:
the pandas way to select rows by index number is to use the iloc attribute, e.g. df.iloc[0:50] prints the first 50 rows in the example above.  The index, instead, tends to be a more informative field, such as time.  This allows a user to select sub-sets more easily by time, and it allow e.g. the df.plot() method to show a more meaningful piece of information (time) on the X axis by default.
In summary: I do think having time as the index is the "pandas thing to do".

Hi Geert,
Your reasoning is sound, and I agree; my experience seems to stem from me not using pandas in the way it was intended, so I learned something new today! I will close the issue.

repo: KeplerGO/lightkurve


text:
🛑 Altoro J is down

In edd7dff, Altoro J (https://demo.testfire.net/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Altoro J is back up in 85c31e3 after 12 minutes.


text:
Add size badge

https://github.com/ngryman/badge-size
We'd want to show both minified and gzipped size.

No, it's not.  It's in the release.  Is there an NPM-based badge tool?

The closest I could find is

which gives the size of the minified and gzipped npm bundle.

@daniellimws Actually, tagged (release) commit has it, e.g., https://github.com/Khan/KaTeX/tree/v0.9.0/dist. And you can display the size of katex.min.js., for example, like:  ![](http://img.badgesize.io/Khan/KaTeX/v0.9.0/dist/katex.min.js).

Oh, it's on master too -- presumably from the last release.  I stand corrected!

Ok so we'll need to remember to be updating the size badge after every release.

authors: daniellimws edemaine kevinbarabash ylemkimon

repo: Khan/KaTeX


text:
HAP-NodeJS IR

Hi!
I wonder if you possibly could control rgb bulbs like this one: http://www.ebay.com/itm/E27-Dimmable-RGB-LED-light-Color-Changing-Bulb-with-Remote-Control-85-265V-/182048657709?hash=item2a62f2112d:g:A3UAAOSwh-1W3-2T#rwid with the help of a ir reciver link: http://www.ebay.com.au/itm/1Pcs-1X-Transmitter-Remote-Infrared-Receiver-Control-Module-For-Arduino-Ic-O-/282283687429?hash=item41b96b3e05:g:-8sAAOSwo4pYHeS1 I would like to control them with HAP-NodeJS and a Raspberry Pi so I can change color with my phone. I wonder as well if some one of you have done it and please can send me the code for it. Because I don't know how to program in Java!
Pre thanks!!!!!

Maybe decode codes from remote control, buy transmiter and connect it to RPi? Thats the way i would do it

Thanks for the answer I have found a video on youtube https://youtu.be/u_bH7e-OgQo I wonder if it will work if you change up the code a bit. So you can use the slider to control the color. It should theoretically work but as I have said I don't know how to get the transmiter etc to work but I will probably find a solution some time in the future. If you have any experience please help me!
Pre Thanks

None of the links are working for me (strange github error). You need to check whether the remote sends Hue, Saturation, Brightness / RGB values or defined presets (just like colors of buttons). If the first one - it's easy to do, if the second - you will be in trouble (you can send only predefined values)

Ok thanks!
The links work if you copy them with CTRL+C or CMD+C.

I'm on phone and can't do it
Wysłane z iPhone'a
Dnia 11.12.2016 o godz. 12:55 Flawl3ssSWE notifications@github.com napisał(a):

Ok thanks!
The links work if you copy them with CTRL+C or CMD+C.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

ohh try to hold the text down and see if copy comes up then go to your browser of choise and paste it

try use AnalysIR to decode the IR signal from the remote...
i've used this software to make a reverse engineering on the Air Conditioner IR remote and at the end i've put the code on a nodemcu (WemosD1 with an IR led connected) and via mqtt I control air conditioner from the thermostat accessory..

thanks

this is my test RGB led accessory... the rgb led's are connected to an NodeMCU and listen MQTT message...and convert brightness, hue and saturation in Red, Green and Blu value...
// MQTT Setup
var mqtt = require('mqtt');
console.log("Connecting to MQTT broker...");
var mqtt = require('mqtt');
var options = {
port: 1883,
host: '192.168.1.39',
clientId: 'RGB Wifi LED'
};
var client = mqtt.connect(options);
console.log("Wifi Light Connected to MQTT broker");
var Accessory = require('../').Accessory;
var Service = require('../').Service;
var Characteristic = require('../').Characteristic;
var uuid = require('../').uuid;
// here's a fake hardware device that we'll expose to HomeKit
var RGBLED = {
powerOn: false,
brightness: 100, // percentage
hue: 0,
saturation: 0,
setPowerOn: function(on) {
console.log("Turning Office Light %s!", on ? "on" : "off");
if (on) {
client.publish('RGBLedPower','1');
RGBLED.powerOn = on;
}
else {
client.publish('RGBLedPower','0');
RGBLED.powerOn = false;
}
},
setBrightness: function(brightness) {
console.log("Setting light brightness to %s", brightness);
client.publish('ledBrightness',String(brightness));
RGBLED.brightness = brightness;
},
setHue: function(hue){
console.log("Setting light Hue to %s", hue);
client.publish('ledHue',String(hue));
RGBLED.hue = hue;
},
setSaturation: function(saturation){
console.log("Setting light Saturation to %s", saturation);
client.publish('ledSaturation',String(saturation));
RGBLED.saturation = saturation;
},
identify: function() {
console.log("Identify the light!");
}
}
// Generate a consistent UUID for our light Accessory that will remain the same even when
// restarting our server. We use the uuid.generate helper function to create a deterministic
// UUID based on an arbitrary "namespace" and the word "RGBLED".
var lightUUID = uuid.generate('hap-nodejs:accessories:RGBLED');
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake light.
var light = exports.accessory = new Accessory('RGB Led', lightUUID);
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
light.username = "FF:FF:FF:FF:FF:1B";
light.pincode = "031-45-154";
// set some basic properties (these values are arbitrary and setting them is optional)
light
.getService(Service.AccessoryInformation)
.setCharacteristic(Characteristic.Manufacturer, "DIY RGB Lamp")
.setCharacteristic(Characteristic.Model, "RGB LED on NodeMcu")
.setCharacteristic(Characteristic.SerialNumber, "AA-1234");
// listen for the "identify" event for this Accessory
light.on('identify', function(paired, callback) {
RGBLED.identify();
callback(); // success
});
// Add the actual Lightbulb Service and listen for change events from iOS.
// We can see the complete list of Services and Characteristics in lib/gen/HomeKitTypes.js
light
.addService(Service.Lightbulb, "Rgb Led") 				// services exposed to the user should have "names" like "Fake Light" for us
.getCharacteristic(Characteristic.On)
.on('set', function(value, callback) {
RGBLED.setPowerOn(value);
callback(); // Our fake Light is synchronous - this value has been successfully set
});
// We want to intercept requests for our current power state so we can query the hardware itself instead of
// allowing HAP-NodeJS to return the cached Characteristic.value.
light
.getService(Service.Lightbulb)
.getCharacteristic(Characteristic.On)
.on('get', function(callback) {
// this event is emitted when you ask Siri directly whether your light is on or not. you might query
// the light hardware itself to find this out, then call the callback. But if you take longer than a
// few seconds to respond, Siri will give up.

var err = null; // in case there were any problems

if (RGBLED.powerOn) {
  console.log("Are we on? Yes.");

//      client.publish('RGBLedPower','1');
callback(err, true);
}
else {
console.log("Are we on? No.");
//   client.publish('RGBLedPower','0');
callback(err, false);
}
});
// also add an "optional" Characteristic for Brightness
light
.getService(Service.Lightbulb)
.addCharacteristic(Characteristic.Brightness)
.on('get', function(callback) {
callback(null, RGBLED.brightness);
})
.on('set', function(value, callback) {
RGBLED.setBrightness(value);
//client.publish('ledBrightness',String(brightness));
callback();
})
light
.getService(Service.Lightbulb)
.addCharacteristic(Characteristic.Hue)
.on('get',function(callback){
callback(null,RGBLED.hue);
})
.on('set',function(value,callback){
RGBLED.setHue(value);
// client.publish('ledHue',String(hue));
callback();
})
light
.getService(Service.Lightbulb)
.addCharacteristic(Characteristic.Saturation)
.on('get',function(callback){
callback(null,RGBLED.saturation);
})
.on('set',function(value,callback){
RGBLED.setSaturation(value);
//   client.publish('ledSaturation',String(saturation));
callback();
})

@TeraJaQ is this for RGB bulbs and if which??

@Flawl3ssSWE no the code is for an rgb led connected on  the NodeMCU

authors: Flawl3ssSWE OczkoSX TeraJaQ

repo: KhaosT/HAP-NodeJS


text:
Stream and picture does not work

Hi,
I have a D-link camera DCS-5020L, everything in the config I have set up as in the attachment below. In apple home I see the camera but the picture and video unfortunately do not appear. Any solution?
homebridge.docx

Adding
"source": "-re -i http://login:password@192.168.8.116/video.cgi",
"stillImageSource": "-i http://login:password@192.168.8.116/image/jpg",
should fix it. Make sure ports are open

repo: KhaosT/homebridge-camera-ffmpeg


text:
Copy button is not working..

The copy button to copy the code is not working on shareable links. It works when I am viewing my own code, but as soon as I share it with the generated link, the person receiving it cannot copy the code with the copy button.

Hi, I've fixed this issue (602cf4d9b88004d848130e4811697876e3cbc138)

Thanks so much! 👍🏻


text:
spirv_cross::Resource contains wrong name

I had problem that spirv_cross::Resource had the same name for different resources.
I found workaround: compiler.get_name(resource.id), but it still looks like bug.
Shader code and compiler command line:
glslangValidator --auto-map-bindings  --hlsl-iomap  -g  -e main -S comp -V  -D  -fhlsl_functionality1 Skinning_CS.hlsl -o some_path
Also it affects on json Reflection http://shader-playground.timjones.io/6d0cfa1359806c6b6a40fa5e67114035 (change Output to Reflection). This json has 4 resources named "index buffer".

This is a known issue, and I think I'll add a workaround. This is actually a quirk with how blocks and instance names are declared and there is some ambiguity. When declaring a buffer in GLSL, there's generally two names to consider:
layout(...) buffer BlockName <- the type: GLSL wants this
{
} instance_name; <- HLSL wants this

In GLSL, the BlockName is the significant name, and that's the name which carries some kind of meaning in GL, however, with HLSL, it's the instance_name which carries the name, the block type is reused across multiple buffers, and there is no obvious way for SPIRV-Cross to know which style to consider. It might be possible to look at OpSource HLSL and choose based on that, but that might be stripped away since it's a debug opcode. Another way might be to heuristically detect this if multiple blocks refer to the same type and choose implementation based on that ...

Updated Wiki: https://github.com/KhronosGroup/SPIRV-Cross/wiki/Reflection-API-user-guide#a-note-on-names

authors: HansKristian-Work andrejnau

repo: KhronosGroup/SPIRV-Cross


text:
Fix wrong reset of command buffers in sample fragment_shading_rate_dynamic.

Description
Without this fix, I got the following validation layer error when running the fragment_shading_rate_dynamic sample:
Validation Error: [ VUID-vkQueueSubmit-pCommandBuffers-00070 ] Object 0: handle = 0x223ba20f060, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xaeecdc0b | vkQueueSubmit(): pSubmits[0].pCommandBuffers[0] VkCommandBuffer 0x223ba20f060[] is unrecorded and contains no commands. The Vulkan spec states: Each element of the pCommandBuffers member of each element of pSubmits must be in the pending or executable state (https://vulkan.lunarg.com/doc/view/1.3.275.0/windows/1.3-extensions/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00070)
The reason was, that the call to vkResetCommandPool not only reset the small_command_buffers, but also the compute_buffer[].command_buffers.
Creating the command_pool with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT and resetting the small_command_buffers by calls to vkResetCommandBuffer resolves that error.
Build tested on Win10 with VS2022. Run tested on Win10 with NVidia GPU.
General Checklist:
Please ensure the following points are checked:

[x] My code follows the coding style
[x] I have reviewed file licenses
[x] I have commented any added functions (in line with Doxygen)
[x] I have commented any code that could be hard to understand
[x] My changes do not add any new compiler warnings
[x] My changes do not add any new validation layer errors or warnings
[x] I have used existing framework/helper functions where possible
[x] My changes do not add any regressions
[x] I have tested every sample to ensure everything runs correctly
[x] This PR describes the scope and expected impact of the changes I am making

Note: The Samples CI runs a number of checks including:

[x] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
[ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

[x] I have tested the sample on at least one compliant Vulkan implementation
[x] If the sample is vendor-specific, I have tagged it appropriately
[x] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
[x] Any dependent assets have been merged and published in downstream modules
[x] For new samples, I have added a paragraph with a summary to the appropriate chapter in the readme of the folder that the sample belongs to e.g. api samples readme
[x] For new samples, I have added a tutorial README.md file to guide users through what they need to know to implement code using this feature. For example, see conditional_rendering
[x] For new samples, I have added a link to the Antora navigation so that the sample will be listed at the Vulkan documentation site

Yep, will do.  LMK if issues.

repo: KhronosGroup/Vulkan-Samples


text:
cmake: Minor cube cleanup

Remove unused vars
Remove pointless code
Remove usage of CMAKE_LANG_FLAGS

CI Vulkan-Tools build queued with queue ID 54451.

CI Vulkan-Tools build # 1178 running.

CI Vulkan-Tools build # 1178 failed.

CI Vulkan-Tools build queued with queue ID 54461.

CI Vulkan-Tools build # 1179 running.

CI Vulkan-Tools build # 1179 passed.

authors: ci-tester-lunarg juan-lunarg

repo: KhronosGroup/Vulkan-Tools


text:
Scale issue importing an exported glb of monster

Steps to reproduce:

import monster.glb (from https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Monster/glTF-Binary)
export it (default settings)
import the newly created glb file

This is working with CesiumMan (https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/CesiumMan), but not with monster

Seems this is more an exporter issue, because the created glb file is wrong with other viewer too (tested on https://gltf-viewer.donmccurdy.com )

Confirmed. Moving this to MS VII as likely to be related to the other skinning issues, please reassign if it's a distinct problem out of scope.

authors: donmccurdy julienduroure

repo: KhronosGroup/glTF-Blender-IO


text:
Export with Translation, Rotation and Scale values rounded

This is a very specific request to reduce the size of the glb file. Is it possible to use this export script and set the number of decimal cases we export? Going from 1.25485246841... to 1.254. This will help in cases where the geometry has a lot of vertices and we need the file size to be small.

Hello,
This is a very specific request, and rounding values is not what we want for all users.
I also don't think this is something we can enable via an option (too many option is always bad).
I think this is something you can perform by an external tool like https://github.com/donmccurdy/glTF-Transform

Hi,
Thank you so much, ended up finding another solution to the
specific problem I had.
So happy to close that issue.
Best,
Tiago

authors: TBAndrade julienduroure


text:
Updated JSON file

Added ProtoTech as the keyword in Product Name.

Added ProtoTech Keyword.

Did you close this intentionally? If not (i.e. if you reopen it), I'd merge it ASAP.

No, I haven't close it intentionally. Yes, today I reopen it  and added
modification in Product name. Added ProtoTech key word in product name
to easily find all our products with single key word. Below is modified
script.
{
  "name" : "ProtoTech's glTF Exporter For Inventor",
  "description" : "Export Inventor model to GLTF and GLB files",
  "link" :
"https://prototechsolutions.com/3d-products/inventor/gltf-exporter/",
  "task" : [ "export" ],
  "type" : [ "plugin", "sdk" ],
  "language" : [ "c#" ],
  "outputs" : [ "glTF 2.0" ]
}, {
  "name" : "ProtoTech's glTF Exporter For Fusion 360",
  "description" : "Export Fusion 360 model to GLTF and GLB files",
  "link" :
"https://prototechsolutions.com/3d-products/fusion-360/gltf-exporter/",
  "task" : [ "export" ],
  "type" : [ "plugin", "sdk" ],
  "language" : [ "c#" ],
  "outputs" : [ "glTF 2.0" ]
}, {
  "name" : "ProtoTech's glTF Exporter For Revit",
  "description" : "Export Revit design to GLTF and GLB files",
  "link" :
"https://prototechsolutions.com/3d-products/revit/gltf-exporter/",
   "task" : [ "export" ],
  "type" : [ "plugin", "sdk" ],
  "language" : [ "c#" ],
  "outputs" : [ "glTF 2.0" ]
}, {
  "name" : "ProtoTech's glTF Exporter For SolidEdge",
  "description" : "Export SolidEdge model to GLTF and GLB files",
  "link" :
"https://prototechsolutions.com/3d-products/solidedge/gltf-exporter/",
  "task" : [ "export" ],
  "type" : [ "plugin", "sdk" ],
  "language" : [ "c#" ],
  "outputs" : [ "glTF 2.0" ]
 }, {
  "name" : "ProtoTech's glTF Exporter For SolidWorks",
  "description" : "Export Solidworks model to GLTF and GLB files",
  "link" :
"https://prototechsolutions.com/3d-products/solidworks/gltf-exporter/",
  "task" : [ "export" ],
  "type" : [ "plugin", "sdk" ],
  "language" : [ "c#" ],
  "outputs" : [ "glTF 2.0" ]
}
Regards,
_________________________________
Monali Thete
Team Lead
Tel (Office): 020-67117117
ProtoTech Solutions & Services Pvt. Ltd.
www.ProtoTechSolutions.com https://www.prototechsolutions.com
/DISCLAIMER: This e-mail may contain privileged and confidential
information which is the property of ProtoTech Solutions. It is intended
only for the use of the individual or entity to which it is addressed.
If you are not the intended recipient, you are not authorized to read,
retain, copy, print, distribute or use this message. If you have
received this communication in error, please notify the sender and
delete all copies of this message. E-mail transmission cannot be
guaranteed to be secure or error-free as information could be
intercepted, corrupted, lost, destroyed, arrive late or incomplete, or
contain viruses. The sender therefore does not accept liability for any
errors or omissions in the contents or attachments (if any) of this
message, which arise as a result of e-mail transmission./
On 30-06-2020 18:48, Marco Hutter wrote:

Did you close this intentionally? If not (i.e. if you reopen it), I'd
merge it ASAP.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/KhronosGroup/glTF-Project-Explorer/pull/60#issuecomment-651784480,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANPXHPJTVEXJBPZWUNNAQJ3RZHQYTANCNFSM4OL72LUA.

Thank you for quick response and update.
Regards,
_________________________________
Monali Thete
Team Lead
Tel (Office): 020-67117117
ProtoTech Solutions & Services Pvt. Ltd.
www.ProtoTechSolutions.com https://www.prototechsolutions.com
/DISCLAIMER: This e-mail may contain privileged and confidential
information which is the property of ProtoTech Solutions. It is intended
only for the use of the individual or entity to which it is addressed.
If you are not the intended recipient, you are not authorized to read,
retain, copy, print, distribute or use this message. If you have
received this communication in error, please notify the sender and
delete all copies of this message. E-mail transmission cannot be
guaranteed to be secure or error-free as information could be
intercepted, corrupted, lost, destroyed, arrive late or incomplete, or
contain viruses. The sender therefore does not accept liability for any
errors or omissions in the contents or attachments (if any) of this
message, which arise as a result of e-mail transmission./
On 30-06-2020 19:04, Marco Hutter wrote:

Merged #60
https://github.com/KhronosGroup/glTF-Project-Explorer/pull/60 into
master.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/KhronosGroup/glTF-Project-Explorer/pull/60#event-3497786911,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANPXHPNXVCJ62HK4HWRX7PLRZHSVVANCNFSM4OL72LUA.

authors: MonaliProtoTech javagl

repo: KhronosGroup/glTF-Project-Explorer


text:
Lights extension

Implements the KHR_lights_punctual extension.

[x] Directional lights
[x] Point lights
[x] Spot lights

@UX3D-jansson should be all good now

Feel free to merge when you feel ready!

repo: KhronosGroup/glTF-WebGL-PBR


text:
Paper Mario Color Splash Collision Saving Issues

Issue #1
When opening an existing .csb for Color Splash, or importing a .dae, saving the collision afterwards (edited or unedited) saves in the compressed .zstd format. Color Splash doesn't use ZSTD compression, so these need to be left uncompressed as they need to be added into a .lzarc, or have the option to be compressed with LZ77 Wii Type 11.
Issue #2
When saving the file with zstd compression anyway, and decompressing it with Switch Toolbox and then packing the files into the Lzarc with the lzarc tool, the collision crashes regardless on if its an original .csb opened and then saved, or a .dae model imported and the .csb and .ctb saved with or without editing the collision type and flags.

Fixed along with other various save issues related to color splash

authors: HunterXuman KillzXGaming

repo: KillzXGaming/CollisionSceneBinary


text:
quick_sort.hvm test broken

tests/quick_sort/quick_sort.hvm hangs, but bench/QuickSort/main.hvm runs fine.
This is surprising, since they are almost identical -- the main difference is that bench/ version has a % that is gone in the tests/ version:
--- a/bench/QuickSort/main.hvm
+++ b/tests/quick_sort/quick_sort.hvm
@@ -10,7 +10,7 @@

 // Generates a random list
 (Randoms s 0) = (Nil)
-(Randoms s l) = (Cons s (Randoms (% (+ (* s 1664525) 1013904223) 4294967296) (- l 1)))
+(Randoms s l) = (Cons s (Randoms (+ (* s 1664525) 1013904223) (- l 1)))

 // Sums all elements in a concatenation tree
 (Sum Empty)        = 0
@@ -43,5 +43,5 @@ Pivot = 2147483648

 // Sorts and sums n random numbers
 (Main n) =
-  let list = (Randoms 1 (* 100000 n))
+  let list = (Randoms 1 (* 100 n))
   (Sum (QSort Pivot Pivot list))

The problem seems to be that:

without the %, Randoms generates 60-bit integers
but the initial pivot is hard-coded to 2^31
so almost all elements fall to the right of the pivot
so running time becomes O (n * n) rather than O (n log n)

I see two easy fixes:

put back the %
Use a 60-bit-friendly pivot (e.g. 576460752303423488)

Good catch, thank you. We should keep the 32-bit pivot and re-add %, IMO, since otherwise we'd not be able to compare directly with Haskell's u32. Anyway, @steinerkelvin noted that U60 operations are actually broken, since they wrap around on u64 overflow, not u60 overflow. We need to fix that too.

authors: VictorTaelin lawcho

repo: Kindelia/HVM


text:
🛑 FSDH INT is down

In fbfb00f, FSDH INT (https://fsdh-portal-app-int.azurewebsites.net/register) was down:

HTTP code: 0
Response time: 0 ms

Resolved: FSDH INT is back up in 48ea27f after 9 minutes.

repo: KingBain/proto-datahub-uptime


text:
Pixelify Package Based On Pixel 5?

Device name: Pixel 6 Pro
Rom name: OEM
Android version: 13
Pixelify version: 3
I received this email after setting up the device. Is the Pixelify package based off a Pixel 5?

Just noticed this has not been updated since November 5, 2023.


text:
mod: マイク感知HUDオーバーレイ

これはmodじゃなくてもできそう

そこら辺の人がゴロゴロ入れてる。Mod要らないよ

repo: KisaragiEffective/vrchat-to-resonite


text:
Tests du composant ImageCropper

Suite à cette PR https://github.com/KissKissBankBank/kitten/pull/642, il faudrait écrire les tests du composant ImageCropper et sans doute approfondir les tests des 2 autres composants.
Bon courage !

Escroc !

Mauvaise personne !

Débuté dans https://github.com/KissKissBankBank/kitten/pull/742.

Est-ce qu'on ferme cette issue ? On retravaillera sur les tests quand on retravaillera sur l'imagecropper, non ?

authors: LanF3usT Ynote sunny

repo: KissKissBankBank/kitten


text:
Desktop environment paths and readonly mode

fixes #640
fixes #727
Added environment overrides on desktop under the DIVE_VIAME_INSTALL_PATH and DIVE_READONLY_MODE environment variables. If they are provided, they will override the settings for viamePath and readonlyMode respectively. If the environment variable DIVE_VIAME_INSTALL_PATH is provided, it will also prevent the user from changing the path in any way:

Implemented read only mode on desktop. This can be either toggled on/off from the settings or the DIVE_READONLY_MODE environment variable can be provided. Even if this variable is provided, the user can still toggle it on or off. When read only mode is active, a warning will be displayed in the settings:

In read only mode, the user is able to make changes as usual, however, they cannot save any changes. The save icon will be disabled with a warning logo to catch attention:

When hovering over the save icon, it will display a descriptive message:

However, the Run Pipeline and Import functionality still work (as requested) which can still modify the data even in read only mode. Although this is not good in terms of the application perspective, this is still the desired feature.
Fixed the issue with "fake" saving on the settings page on desktop. Previously when changing any settings (such as the viame path), the desktop app would update immediately before clicking the save option. When navigating away to a different page, these changes would persist. However, when reloading the app, these changes would not truly save until the save button was actually clicked. Now, when making local changes, nothing will update until clicking the save button. Navigating away to a different page will also discard any unsaved changes on the settings page.
Read only mode is only for desktop, it is not implemented for web.

The save button is now disabled when there are no pending changes. This is just a simple computed ref checking if the local settings match the global settings.

Fixed the major issue where the overrides: {} property from local settings can overwrite the actual overrides property from environment variables. For now a simple solution is to delete the overrides property from the local settings json since that's the only problematic property. Now running
DIVE_VIAME_INSTALL_PATH=something yarn serve:electron

will properly cause the path to be set and will lock changes.
Added an info box to indicate the DIVE_VIAME_INSTALL_PATH environment variable is set and that changes are locked. For now its placed right under the kwiver initialization message, but putting on the top (before the GPU message) might be better. I'm open to any suggestions for placement and text.

There are still a few outstanding issues

As pointed out before, should the VIAME install path folder option still be disabled if the environment variable is provided but is a bad path
Should the readonly mode switch be disabled if the environment variable is provided.
There is a race condition between loading settings and initializing settings if reloading the electron app on the settings page (ctrl + R). Looks something like this

where the settings aren't initialized and everything is empty. It's fixed by going to a different page and back. This isn't caused by this PR and has always been an issue (same issue on the main branch), but should probably be addressed now rather than later.

After discussion, there is no longer a race condition and entry points of error in Settings.vue so the two lines can be swapped back to their original order.
Also updated the desktop settings screenshot for the docs.

repo: Kitware/dive


text:
Add function to load a World with objects and remove entity::spawn_template

let world = World::load_from_url("assets/Cube.glb/objects/main.json").await?;
// world.objects contains a dict of entityids to components
assert_eq!(world.objects.iter().next(), Some((EntityId(...), Components::new()...)));
/// can spawn individual objects, or spawn the entire world
let id = world.objects.get(&EntityId(...)).unwrap().spawn();
let id = world.spawn();

entity::spawn_template has been removed

Just realised this needs infrastructure on the guest side for the host to notify it of async events (unless we reuse event::ENTITY_SPAWN) for this. Maybe define another event like event::WORLD_SPAWN?
(What does object_from_url do for multiple entities in an object, anyway?)

@philpax So there are two different things here; loading and spawning worlds has more to do with maps and other stuff. I think that probably has it's own flow, maybe something like let map = World::load("url").await; map.spawn(); or something.
Then on the other hand we have object_from_url; this is for hot-reloading assets etc. In that case, the "base entity" is already created by the user, so to be notified when the rest of the entity is loaded we'd have to wait for some object_loaded component to be added to that entity (doesn't exist yet).
object_from_url doesn't handle multiple-entity objects right now, but it should handle it the same way as model_from_url does in the future; if it's one object it should attach the components to the entity; if it's multiple they should be created as children to it.

Prefab is the term we use for a world being spawned in and updating/creating an entity or multiple entities. In line with that, we'd call this Prefab::load_from_url("url") and offer both the ability to spawn it immediately and the ability to poke around in its hierarchy before spawning it.

A future extension of this could also be used to save entities for later loading. I'm leaving that as a future development as it'll have to tie in to our story around persistence and general I/O access.

authors: FredrikNoren philpax

repo: KiwiOrg/Kiwi


text:
[retire] Reire page post launch enhancements

@ladytrekker here is a collection of fixes / enhancements to the Retire page

[ ] Hover state on project cards on the Retire page should match hover state on the /projects cards. Currently they are reversed, i.e. when I hover on a card on the Retire page the focused card shrinks slightly in size, vs expanding.

[x] For use case where a user has logged in at least once but does not have a Carbonmark profile, update the design to match below. Figma design link here.

[ ] Featured project card descriptions should match design and be immediately following the project title, like cards in /projects:

@jabby09 Point 2 is already integrated.
Just create a new wallet address, register on carbonmark, go to the Retire page

UPDATE: Sorry, you are talking about the other state

exactly :)

repo: KlimaDAO/klimadao


text:
Retire: Add menu link

Description
This is the last step of the "Retire" epic: Add the menu link for the Retire page
The former closed PRs with discussions to each section have been:

https://github.com/KlimaDAO/klimadao/pull/1224
https://github.com/KlimaDAO/klimadao/pull/1238
https://github.com/KlimaDAO/klimadao/pull/1241
https://github.com/KlimaDAO/klimadao/pull/1244

Related Ticket
Resolves https://github.com/KlimaDAO/klimadao/issues/1248
Preview Link: https://carbonmark-git-lady-link-retire-klimadao.vercel.app/retire
Checklist

[x] I have run npm run build-all without errors
[x] I have formatted JS and TS files with npm run format-all

@ShimonD-KlimaDAO this gives you access to the entire "Retire" page and all the sections.
Overall design
Test link
###Testing notes:

Leaderboard feature is not implemented for v1 of this page, you can ignore any of the leaderboard parts of the design for now.
Link CTAs in some of the sections are implemented right justified so do not match the design. professor has been informed.
VIEW ALL RETIREMENTS shows an expanded Activity page in the design which does yet exists. For v1, this should direct the user to the existing /retirements page.

Issues found:

"Klima green" found in connecting spinner.

Figma has "Project", whereas the implementation has "Projects".

"for beneficiary" should be bold, and the space under it is too large compared to the figma:

All links look bold in the figma but aren't in the preview link.

Alignment is off. Last letter of the link should be vertically aligned with the last project card.

Curated list of projects includes Mangrove project, which has a $0 price because it's not available to buy.

When I'm connected with a wallet that doesn't have assets to retire in its portfolio, the message mentioned "listable" assets, which doesn't make sense in this context. Should be something along the lines of "No assets to retire."

Under "Quick Retire" - The text "trusted vendors" sounds a bit vague. Also, if the only option is to retire from a pool, is a pool a "trusted vendor"?

The gold outline of the project cards is thicker in figma. Also, the outline in the preview link doesn't cover the corners completely - there's a small white gap.

Minor inconsistency - there are 4 cards in both sections. The top section displays the 4th card in the middle, whereas the bottom displays it on the left.

7. When I'm connected with a wallet that doesn't have assets to retire in its portfolio, the message mentioned "listable" assets, which doesn't make sense in this context. Should be something along the lines of "No assets to retire."

@ladytrekker @ShimonD-KlimaDAO For number 7 above, I had professor actually do a design for Portfolio empty state. Forgot to include in my other feedback.
Design here

Most of the issues are fixed, some remain:

Alignment of links with project cards still off.

Wording issue of "trusted vendors" still present. Implies that there is a distinction between vendors we trust and vendors we don't trust or at least cannot vouch for—not a good look. Maybe something like "Here’s a list of readily available, discounted carbon tokens to retire quickly and easily" would be better.

In CM's branding guidelines, it says we shouldn't use italic text anywhere. But:

Not sure if this is a big deal. Onyx or Professor input needed 🤷♂

Most of the issues are fixed, some remain:

@0xtapi @ladytrekker let me follow up with professor on these and get back to you.

Most of the issues are fixed, some remain:

Alignment of links with project cards still off.

I moved the cards now too

Wording issue of "trusted vendors" still present. Implies that there is a distinction between vendors we trust and vendors we don't trust or at least cannot vouch for—not a good look. Maybe something like "Here’s a list of readily available, discounted carbon tokens to retire quickly and easily" would be better.

Also unsure how to properly describe this section his in english. Shimon wasn't sure above either.
I took your text now.

In CM's branding guidelines, it says we shouldn't use italic text anywhere. But:

See your own Figma screenshot => ITALIC

Most of the issues are fixed, some remain:

@ladytrekker @0xtapi
for #3, from professor

italics has to be ok in the app, imo. we need a distinction between static text and the text that's there only for specific use cases & empty states.

for #1, from professor

it's fine because varying screensizes will have varying numbers of cards in that row, so it will be nearly impossible to align perfectly anyway

for #2, I'm getting a copy review from Sy...stand by

hi @ladytrekker

For empty state on Portfolio section, the updated designs I provided don't appear in the preview link although you checked it as being done. See this comment Retire: Add menu link #1274 (comment)

The empty state from your screenshot is the state when a registered carbonmark user has no assets.
Did you check this with this kind of user (registered but no assets)?
Sidenote: Right now I am having issues to register users at all with the carbonmark API.

Strange spacing between project title and description introduced on these cards

As descried in this PR https://github.com/KlimaDAO/klimadao/pull/1238#issue-1774614087
=> "The project description height is fixed which doesn't work well with the super long project title of the second project as now the description is cut off differently"
I decided to align the descriptions at the top.
Before it was like this:

So what is your preference?

The empty state from your screenshot is the state when a registered carbonmark user has no assets. Did you check this with this kind of user (registered but no assets)?
Sidenote: Right now I am having issues to register users at all with the carbonmark API. Created a ticket here: #1289

@ladytrekker no I only tested a social login user that did not have a Carbonmark profile. But like you said, there is an error at the moment creating a profile.

So what is your preference?

Aligned to the top, like in the Marketplace. I have another ticket #967 to address the bug where the description does not fill the remaining space in the card.


text:
seems not to work on mac os sequia

Kind regards, tried to use the shortcut on macOS sequia, and seems it doesn't work properly, basically after launching the shortcut only the iCloud pane opens and that's it.

Hello @JosefGvirt ,
thanks for you message and the usage of alfred-hide-my-mail! Sequia is currently not supported yet, as they have changed the windows and menu panes.
Im personally for compatibility related issues still on sonoma, so after i have updated i'll provide a fix.
I'll let this issue open and inform you when its done.
Kind regards

Thanks for the reply! Looking forward for your update, have a great day.Kind regards,Jo.On 9 Nov 2024, at 1:35, Steven Zemelka @.***> wrote:
Hello @JosefGvirt ,
thanks for you message and the usage of alfred-hide-my-mail! Sequia is currently not supported yet, as they have changed the windows and menu panes.
Im personally for compatibility related issues still on sonoma, so after i have updated i'll provide a fix.
I'll let this issue open and inform you when its done.
Kind regards
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@Klizzy Just in case you didn't see it (or for anybody coming here), vitor posted on alfredforum.com about the change needed for Sequoia: https://www.alfredforum.com/topic/21946-create-new-icloud-hide-my-mail-address-trough-alfred/?do=findComment&comment=116068

Sequoia changed the pane location, as well as the button. To save you some trouble, the new pane is com.apple.systempreferences.AppleIDSettings:icloud and the first button to click is at Application("System Events").applicationProcesses.byName("System Settings").windows.byName("iCloud").groups.at(0).splitterGroups.at(0).groups.at(1).groups.at(0).scrollAreas.at(0).groups.at(2).buttons.at(3)

Hopefully that helps!

Following 😌

Just came across this workflow and since I am on Sequoia I tinkered a little. The follwing script works for me on 15.1.1 (24B91). Simply replace the script filter with this. Or better yet, don't trust random scripts and replace UI element 2 on line 14 and 17 with UI element 5 and UI element 4 on line 25 with button "Create New Address"
The rest ist the same. Thank you @Klizzy for the workflow...I don't use Safari and I always dreaded clicking my way through System Settings 👍
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

on run argv
	tell application "System Settings"
		activate
		delay 0.5
		reveal pane id "com.apple.systempreferences.AppleIDSettings*AppleIDSettings"
	end tell
	tell application "System Events"
		tell application process "System Settings"
			tell splitter group 1 of group 1 of window 1
				tell group 2 to tell group 1 to tell scroll area 1 to tell group 3
					repeat until UI element 1 exists
						delay 0
					end repeat
					click UI element 1
					repeat until UI element 5 exists
						delay 0
					end repeat
					click UI element 5
				end tell
			end tell
			repeat until group 1 of group 1 of UI element 1 of scroll area 1 of sheet 1 of window 1 exists
				delay 0
			end repeat
			tell window 1 to tell sheet 1 to tell scroll area 1 to tell UI element 1
				tell group 1 of group 1
					click button "Create New Address" of group 1
					repeat until text field 1 of group 4 exists
						delay 0
					end repeat
					click text field 1 of group 4
					set value of text field 1 of group 4 to argv
				end tell
				tell group 1 to tell group 2 to tell group 1
					repeat until UI element 1 of group 2 exists
						delay 0
					end repeat
					click UI element 1 of group 2
					repeat until UI element 1 of group 1 exists
						delay 0
					end repeat
					click UI element 1 of group 1
					repeat until UI element 1 of group 2 exists
						delay 0
					end repeat
					click UI element 1 of group 2
					repeat until UI element 1 of group 1 exists
						delay 0
					end repeat
					click UI element 1 of group 1
				end tell
			end tell
		end tell
	end tell
	tell application "System Settings"
		delay 1
		quit
	end tell
end run

Just came across this workflow and since I am on Sequoia I tinkered a little. The follwing script works for me on 15.1.1 (24B91). Simply replace the script filter with this. Or better yet, don't trust random scripts and replace UI element 2 on line 15 and 18 with UI element 5 and UI element 4 on line 26 with button "Create New Address"
The rest ist the same. Thank you @Klizzy for the workflow...I don't use Safari and I always dreaded clicking my way through System Settings 👍
on run argv
	tell application "System Settings"
		activate
		delay 0.5
		reveal pane id "com.apple.systempreferences.AppleIDSettings*AppleIDSettings"
	end tell
	tell application "System Events"
		tell application process "System Settings"
			tell splitter group 1 of group 1 of window 1
				tell group 2 to tell group 1 to tell scroll area 1 to tell group 3
					repeat until UI element 1 exists
						delay 0
					end repeat
					click UI element 1
					repeat until UI element 5 exists
						delay 0
					end repeat
					click UI element 5
				end tell
			end tell
			repeat until group 1 of group 1 of UI element 1 of scroll area 1 of sheet 1 of window 1 exists
				delay 0
			end repeat
			tell window 1 to tell sheet 1 to tell scroll area 1 to tell UI element 1
				tell group 1 of group 1
					click button "Create New Address" of group 1
					repeat until text field 1 of group 4 exists
						delay 0
					end repeat
					click text field 1 of group 4
					set value of text field 1 of group 4 to argv
				end tell
				tell group 1 to tell group 2 to tell group 1
					repeat until UI element 1 of group 2 exists
						delay 0
					end repeat
					click UI element 1 of group 2
					repeat until UI element 1 of group 1 exists
						delay 0
					end repeat
					click UI element 1 of group 1
					repeat until UI element 1 of group 2 exists
						delay 0
					end repeat
					click UI element 1 of group 2
					repeat until UI element 1 of group 1 exists
						delay 0
					end repeat
					click UI element 1 of group 1
				end tell
			end tell
		end tell
	end tell
	tell application "System Settings"
		delay 1
		quit
	end tell
end run

edit: wrong line numbers

I just tried it @DrBones and it works on Sequia 15.1.1, brilliant! thanks

authors: DrBones JosefGvirt Klizzy squatto

repo: Klizzy/alfred-hide-my-mail


text:
GOG.com leftovers after games from gog uninstall

Hey,
I've got Firewatch game from GOG.com.
Installed it, played, uninstalled (lovely game, tho ending was too dolorous).
After uninstallation I've removed leftovers BCU found and noticed it doesn't catch GOG-specific items in registry:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GOG.com
with such items:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GOG.com\Games
without any items inside (except default one)
HKEY_USERS\S-1-5-21-2081619299-1437623788-1181410189-1001\Software\GOG.com
with such items:

I see it's impossible to detect it guessing fromt he uninstalled app name tho it should be relatively possible I guess with registry keys creation dates or maybe with kind of specific rule for GOG games.
Thanks!

Forgot to add it was the only one game from GOG on my PC, never had any other GOG games before and not having any other GOG game installed at this moment.

Hello!
Maybe GOG. com is still installed? It's an app store like steam, so it might have a separate uninstaller that you didn't notice.

Hey, just double-checked everything and I don't see such app installed, nothing with GOG in the name is installed.

Right, it looks like these are just settings for future GOG installs. It's really hard to link this to the individual games and it has basically no negative effect, so I think I'll leave it be.

authors: DmitriyYukhanov Klocman

repo: Klocman/Bulk-Crap-Uninstaller


text:
More info prompts

Yeah, more of this!

👍 approved by me! BTW, should we merge info prompts with the Sequelize DB? Sounds better in my head than an ever growing JSON file, but I don't know the actual possibility of it.

authors: Moesgaarda cosmiccdev

repo: Knights-Of-Academia/horace


text:
How is Upheno being used in KG-Phenio?

How does Upheno relate to our target MP and HP phenotypes? How may it help to connect them (and hence give our models a way to learn connections between them)?
We currently have a set of Upheno gold-standards and they all kind of look like this:
~/kg-phenio/data$ head transformed/upheno_mapping/upheno_mapping_all_edges.tsv
id      subject predicate       object  category        relation
uuid:0749384c-aadd-11ec-b5d8-00155d77d051       HP:0000347      Biolink:same_as MP:0002639      biolink:Association     skos:exactMatch

but these are not included in the merge.
The input monarch-merged.owl imports and frequently mentions Upheno:
~/kg-phenio/data$ grep UPHENO raw/monarch-merged.owl | wc -l
24254

Many of these are in axioms with Uberon:
$ grep UPHENO -a2 raw/monarch-merged.owl | grep UBERON | wc -l
8338

In the KGX transform, we have just a few UPHENO types:
~/kg-phenio/data$ grep UPHENO merged/merged-kg_nodes.tsv
UPHENO:0001001  biolink:NamedThing      Phenotype                       Graph                                                                                1. From OGMS: A (combination of) quality(ies) of an organism determined by the interaction of its genetic make-up and environment that differentiates specific instances of a species from other instances of the same species (from OGMS, and used in OBI, but treatment as a quality is at odds with previous OBI discussions and their treatemnt of 'comparative phenotype assessment, where a phenotype is described as a quality or disposition)  2. From OBI calls: quality or disposition inheres in organism or part of an organism towards some growth environment                                                                                Stub node that gathers root classes from various taxon-specific phenotype ontologies, as connectors to bringing classes from these ontolgies into the GENO framework.                                                                                owl:Class
UPHENO:0000001  biolink:NamedThing      has phenotype affecting                 Graph                                                                                owl:ObjectProperty
UPHENO:0000504  biolink:NamedThing      absent feather barbule                  Graph                                                                                owl:Class
UPHENO:0000502  biolink:NamedThing      curved upper beak                       Graph                                                                                owl:Class
UPHENO:0000503  biolink:NamedThing      short upper beak                        Graph                                                                                owl:Class
UPHENO:0000501  biolink:NamedThing      accelerated feather growth                      Graph                                                                                owl:Class
UPHENO:0000506  biolink:NamedThing      increased filoplume feather length                      Graph                                                                                owl:Class
UPHENO:0000505  biolink:NamedThing      decreased wing length                   Graph                                                                                owl:Class

and not many edges:
~/kg-phenio/data$ grep UPHENO merged/merged-kg_edges.tsv
HP:0000118-biolink:subclass_of-UPHENO:0001001   HP:0000118      biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
MP:0000001-biolink:subclass_of-UPHENO:0001001   MP:0000001      biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
FBcv:0001347-biolink:subclass_of-UPHENO:0001001 FBcv:0001347    biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
XPO:00000000-biolink:subclass_of-UPHENO:0001001 XPO:00000000    biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
ZP:00000000-biolink:subclass_of-UPHENO:0001001  ZP:00000000     biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
OBO:MGPO_0001001-biolink:subclass_of-UPHENO:0001001     OBO:MGPO_0001001        biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
UPHENO:0001001-biolink:subclass_of-BFO:0000020  UPHENO:0001001  biolink:subclass_of     BFO:0000020             rdfs:subClassOf Graph
UPHENO:0001001-biolink:subclass_of-PATO:0000001 UPHENO:0001001  biolink:subclass_of     PATO:0000001            rdfs:subClassOf Graph
urn:uuid:45ada42f-9e55-4a6c-8bc6-0a40e365ced9   GENO:0000833    biolink:object  UPHENO:0001001  biolink:Association     OBAN:association_has_object     Graph   owlstar:AllSomeInterpretation
GENO:0000575-biolink:subclass_of-UPHENO:0001001 GENO:0000575    biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
OBO:PHIPO_0000505-biolink:subclass_of-UPHENO:0001001    OBO:PHIPO_0000505       biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
WBPhenotype:0000886-biolink:subclass_of-UPHENO:0001001  WBPhenotype:0000886     biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
OBO:PLANP_00000000-biolink:subclass_of-UPHENO:0001001   OBO:PLANP_00000000      biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
OBO:DDPHENO_0010000-biolink:subclass_of-UPHENO:0001001  OBO:DDPHENO_0010000     biolink:subclass_of     UPHENO:0001001          rdfs:subClassOf Graph
RO:0002200-rdfs:range-UPHENO:0001001    RO:0002200      rdfs:range      UPHENO:0001001          rdfs:range      Graph
RO:0000052-biolink:subclass_of-UPHENO:0000001   RO:0000052      biolink:subclass_of     UPHENO:0000001          rdfs:subPropertyOf      Graph
RO:0002502-biolink:subclass_of-UPHENO:0000001   RO:0002502      biolink:subclass_of     UPHENO:0000001          rdfs:subPropertyOf      Graph
RO:0002314-biolink:subclass_of-UPHENO:0000001   RO:0002314      biolink:subclass_of     UPHENO:0000001          rdfs:subPropertyOf      Graph

Same_as predicates connecting HP and MP may not use Upheno:
~/kg-phenio/data$ grep MP:0000414 merged/merged-kg_edges.tsv | grep biolink:same_as
HP:0001596-biolink:same_as-MP:0000414   HP:0001596      biolink:same_as MP:0000414              owl:equivalentClass     Graph

Another example:
~/kg-phenio/data$ grep HP:0011599 merged/merged-kg_edges.tsv | grep biolink:same_as
HP:0011599-biolink:same_as-MP:0000650   HP:0011599      biolink:same_as MP:0000650              owl:equivalentClass     Graph

So should we expect to see more paths between HP and MP nodes c/o Upheno and KGX is just ignoring them, or is this the best we can get?

Thanks Harry for the detective work!
It seems like the reason Luca is observing that topology of kg-phenio isn't helping with HP-MP link prediction is that we are not merging Upheno data into the merged kg-phenio graph. Maybe Sierra or others on the KGX team can help us understand why?

I'm not sure it's all in the original monarch-merged.owl to begin with:
~/kg-phenio/data$ grep UPHENO raw/monarch-merged.owl | sort | uniq
                    <rdf:Description rdf:about="http://purl.obolibrary.org/obo/UPHENO_0001001"/>
                <owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/UPHENO_0000001"/>
                <owl:someValuesFrom rdf:resource="http://purl.obolibrary.org/obo/UPHENO_0001001"/>
            <rdf:Description rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000001"/>
        <rdfs:range rdf:resource="http://purl.obolibrary.org/obo/UPHENO_0001001"/>
        <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/UPHENO_0001001"/>
        <rdfs:subPropertyOf rdf:resource="http://purl.obolibrary.org/obo/UPHENO_0000001"/>
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000001 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000501 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000502 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000503 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000504 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000505 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0000506 -->
    <!-- http://purl.obolibrary.org/obo/UPHENO_0001001 -->
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000501">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000502">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000503">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000504">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000505">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000506">
    <owl:Class rdf:about="http://purl.obolibrary.org/obo/UPHENO_0001001">
    <owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/UPHENO_0000001">

i.e., we expect to see more A sameAs UPHENO sameAs B but there just aren't that many distinct UPHENO classes imported to begin with.

@caufieldjh thanks! I just discussed this briefly with Chris, and we think what might be called for here is adding some functionality to KGX to preserve subq phenotype patterns when converting OWL to KGX.
We can hack on this tomorrow on the NEAT call from 9:30 - 10:00 am PT to make a PR for KGX to support this.

Integration test:

there should be some kgx edge with subject HP:0002088 and object UBERON:0002048
in uPheno2 there is should be an is-a edge between  HP:0002088 and UPHENO:0019970

I think 2 will work just fine. For 1 ideally these edges would be supplied upstream but in the absence of this I think a procedural transform in kgx or oak is best.

I think adding code to KGX has great potential for confusion; It is not at all easy to extract the relationships correctly from subq, unless you do something trivial like creating associative edges with no semantics based on the signature of the EQ ("if limb is mentioned, its associated"). The better way would be to apply some pressure on this pull request:
https://github.com/mgijax/mammalian-phenotype-ontology/pull/3480
Once we can convince @sbello to add this, we can convince all the other phenotype ontologies, and once it is in all phenotype ontologies apart from HP, we can get try to get it into HP. If we cant get it into HP, we can still add a release artefact that is hp.owl + relations, published by hp, to cater such cases.

authors: caufieldjh cmungall justaddcoffee matentzn

repo: Knowledge-Graph-Hub/kg-phenio


text:
libkodein-leveldb-jni.dll: Can't find dependent libraries

We are using Kodein-DB in our Android app and would like to write a console app (Kotlin) to read the DB on Windows in case we need to check what is in it from a support angle.
When we run the following code we receive the following error
val dbDirectory = "C:\\db\\Test"
    val db = DB.open(dbDirectory,
        KotlinxSerializer {
            +ReferenceDataResult.ReferenceDataResultSerializer
        },
        OpenPolicy.OpenOrCreate
    )
    println("Opened DB!")

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\simon.burfield\AppData\Local\Kodein-DB\0.6.0-beta\libkodein-leveldb-jni.dll: Can't find dependent libraries
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1946)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1828)
	at java.lang.Runtime.load0(Runtime.java:810)
	at java.lang.System.load(System.java:1088)
	at org.kodein.db.leveldb.jvm.AbstractLevelDBJvmLoader.load(AbstractLevelDBJvmLoader.kt:77)
	at org.kodein.db.leveldb.jvm.LevelDBJvm.<clinit>(LevelDBJvm.kt:28)
	at org.kodein.db.impl.data.DataDBJvm.getLdbFactory(DataDBJvm.kt:10)
	at org.kodein.db.impl.data.AbstractDataDBFactory.open(AbstractDataDBFactory.kt:18)
	at org.kodein.db.impl.data.AbstractDataDBFactory.open(AbstractDataDBFactory.kt:11)
	at org.kodein.db.impl.model.AbstractModelDBFactory.open(AbstractModelDBFactory.kt:29)
	at org.kodein.db.impl.model.AbstractModelDBFactory.open(AbstractModelDBFactory.kt:9)
	at org.kodein.db.impl.AbstractDBFactory.open(AbstractDBFactory.kt:25)
	at org.kodein.db.impl.AbstractDBFactory.open(AbstractDBFactory.kt:10)
	at org.kodein.db.impl.DefaultKt.open(default.kt:7)
	at MainKt.main(main.kt:13)

Hi @SimonBurfield,
which version of Kodein-DB are you using ?
We fixed a similar issue some time ago, so are you sure you are using the latest version ?

Hi @SimonBurfield,
which version of Kodein-DB are you using ?
We fixed a similar issue some time ago, so are you sure you are using the latest version ?

They are using 0.6.0-beta (you can see it in exception message), anyway I just tested with the latest 0.6.1 and still getting the exact same error

Yes, I used 0.6.0 and could not get it to work on Windows 10.
Would be great to fix this

This error can depends on OS. I have same issue with any library version on my Win Pro x64

So can we fix it?

This seems like a build issue. We will try to reproduce the issue to fix it in a future version.

Do you need some specific system information?

A reproducer might be helpful, but my guess is that creating a simple Windows console app if a good start to investigate the issue.

On windows this fails on the Open
fun main(args: Array<String>) {
    println("Hello World!")

    val dbDirectory = "C:\\db\\Test"
    val db = DB.open(dbDirectory,
        KotlinxSerializer {
            +ReferenceDataResult.ReferenceDataResultSerializer
        },
        OpenPolicy.OpenOrCreate
    )
    println("Opened DB!")

}

data class ReferenceDataResult(
        @Id
        val id: String,

        val expiresOn: Long,

        val referenceDataType: String,

        val value: JsonObject
) {
    object ReferenceDataResultSerializer : Serializer<ReferenceDataResult> {

        override fun deserialize(
                type: KClass<out ReferenceDataResult>,
                transientId: ReadMemory,
                input: ReadBuffer,
                vararg options: Options.Read
        ): ReferenceDataResult {
            val id = input.readString()
            val expiresOn = input.readLong()
            val referenceDataType = input.readString()
            val value = Json.decodeFromString<JsonObject>(input.readString())//Gson().fromJson(input.readString(), JsonObject::class.java).asJsonObject

            return ReferenceDataResult(id, expiresOn, referenceDataType, value)
        }

        override fun serialize(model: ReferenceDataResult, output: Writeable, vararg options: Options.Write) {
            output.putString(model.id)
            output.putLong(model.expiresOn)
            output.putString(model.referenceDataType)
            output.putString(model.value.toString())
        }
    }
}

Here is our reproducer https://github.com/romainbsl/kodein-db-issue-28-reproducer, we will start from there.
We certainly have to investigate our build process why the dll is not package with every other artifacts.
We will keep you posted.

The DLL is packaged.
The problem is missing dependencies of that DLL.
Until Kodein 0.6 (included), the Kodein-DB DLL (containing LevelDB & JNI bindings) is compiled with MinGW64 for the x86_64-pc-windows-gnu target. This was the "easiest" way, because Kotlin/Native is using MinGW64 so we could compile for Kotlin/Native & Windows-JVM using the same compilers.
However, compiling for this target apparently adds some MinGW specific dependencies, which we did not see since we tested on our development machines, which obviously already contained the required dependencies.
To have Kodein 0.6 working on Windows, you need to have these 3 DLLs either in the working directory of the app when it launches, or in any directory of the PATH environment variable.
This is obviously not ideal.
In Kodein 0.7, the Kodein-DB DLL is compiled with Visual Studio, which does not add any dependency that's not already part of the Windows OS. I've tested it on a blank virtual Windows to confirm.
You can already test it with the latest snapshot.
To recap:

This issue is fixed in Kodein 0.7
You need to add these 3 DLLs along your app when using Kodein 0.6 and lower

I'll close this issue when Kodein 0.7 is released.

Kodein 0.8.0-beta is released and fixes this issue.

authors: SalomonBrys SimonBurfield nordiauwu romainbsl zTrap

repo: Kodein-Framework/Kodein-DB


text:
chore: bump controller version to 2.4.2

What this PR does / why we need it:
Bumps KIC version to latest v2.4.2
Special notes for your reviewer:
Checklist

[x] PR is based off the current tip of the main branch.
[x] Changes are documented under the "2.11.0" header in CHANGELOG.md
[x] New or modified sections of values.yaml are documented in the README.md
[x] Commits follow the Kong commit message guidelines

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

@rainest 👍 PTAL now

We'll actually want to use "2.4" and 2.10.3. We don't consider default version bumps a minor version change since they should only affect new installs--properly-configured releases should pin their image versions.

Thanks for the clarification, I was not aware of this.

@pmalek Please change the PR title too.

authors: CLAassistant jrsmroz pmalek

repo: Kong/charts


text:
Webhook validation labels

What this PR does / why we need it:
This pull request adds label to the validation webhook.
This is necessary for certain use cases such as integrating with Consul.
For consul we will need to add the following:
consul.hashicorp.com/service-ignore: "true"
Which issue this PR fixes
NIL
Special notes for your reviewer:
NIL
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] PR is based off the current tip of the main branch.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi rainest, edited as per your comment. Thanks.

authors: CLAassistant minfeng-chan


text:
Create feature-gates docs page

Summary
Adds feature gates page to the docs.
Reason
Feature gates documentation only existed in the repo previously, adding to the docs page.
Testing

https://deploy-preview-4140--kongdocs.netlify.app/kubernetes-ingress-controller/latest/references/feature-gates/

authors: lena-larionova scseanchow


text:
Update timeout for .github/workflows/homebrew.yml

This is an automated pull request to update default timeouts for all jobs in .github/workflows/homebrew.yml that do not currently contain a default timeout property.
Please review these changes closely to ensure that all jobs have sufficient time to run. If a job needs more time, please add a timeout property to that job to override the organization default.
Additionally, please be attentive to unintended changes to the workflow YAML file, as the parser is not perfect.
Lastly, note that it is up to the reviewer to merge this pull request and delete the PR branch once they are satisfied with the changes.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant team-eng-enablement

repo: Kong/insomnia