JavaScript language service: Node.exe scanning every partition/drive

Hello,
I'm using Visual Studio 2017 15.3 Preview6 Community for developing/testing with aspnet core 2.0 and I have javascript language service enabled. After quite some time a Node.exe process appears in ProcessExplorer and loads my CPU up to 25% on every core. After some minutes its done but then Node.exe starts to reads through all my directories on every drive specially outside the solution/project folder!
TypeScript Version:  2.4.0 (VS 2017 preview6 built-in)
Expected behavior:
Node.exe process for javascript language service should only scan solution/project folder for type definitions.
Actual behavior:
Node.exe process scans all drives and folders on the system even outside solution/project folders!
A small section of the procmon window. These folders have nothing to do with projects/solution I'm currently working on!

Command Line: C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\Web\External\x86\node.exe" --expose-gc  "C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.4\tsserver.js" --cancellationPipeName \\.\pipe\tsserver-cancellation-5452 --useSingleInferredProject --locale en-US --typingSafeListLocation "C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\Common7\IDE\CommonExtensions\Microsoft\TypeScript\typingSafeList.json" --allowLocalPluginLoads --eventPort 60206
Could someone please explain this behavior?
If more information are needed, i'll try my best to provide what I can.
Many Thanks!

Can you tell me more about your solution? What kind/how many projects do you have? Do you have a tsconfig.json ? Do you have TypeScript files in the project? Thanks for filing the issue!

Hello,
apologize for the delayed response.
I can provide my solution at: Library_Demo
It's a simple solution with one aspnetcore web-project an two dotnetcore class-libraries all NetStandard 2.0.
In the web-project there is a library.json working with the visual studio extension Microsoft Library Installer for managing client-side-libraries. No npm or bower. I don't write typescript or javascripts currently but I have a tsconfig.json in my user-home:

{
"compileOnSave": true,
"compilerOptions": {
"allowJs": true,
"experimentalDecorators": true,
"module": "commonjs",
"noEmit": true,
"noImplicitAny": true,
"sourceMap": true,
"target": "es5"
},
"exclude": [
"node_modules"
]
}

To repro:
After the solution is loaded in VS simply open the file src/Library/Views/Shared/_Layout.cshtml and than Node.exe process gets loaded (I suppose to provide some fancy service).
After closing _Layout.cshtml Node.exe causes high cpu load for a short period of time and then it reads through my whole drive.
OS: Windows 7 64Bit (upToDate)
VS: 2017 15.3preview7

I'm having trouble causing this to repro on my local machine.
Could you please try collecting a trace of the TypeScript Server when it occurs for you and sharing it with me?
Here's some information on how to do this by setting the TSS_LOG environment variable:
https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-(tsserver)#logging
From a command line, run:
set TSS_LOG=-level verbose -file c:\tmp\tsserver.log

Let me know if you have any questions about this.

Sorry to hear you have trouble to repro this but for the simplicity and to get to the bottom of the matter I could repro this even with a complete new empty aspnet core 2.0 project.
Steps to Reproduce:

Start VS 15.3preview7 (clean new start of VS and make sure you kill any VS related process in TaskManager, specially MSBuild.exe and PerfWatson2.exe)
create a new empty AspNetCore Web Project (2.0)
add a new cshtml to the root of the project (I took MVC View Layout Page)
add at least one script reference to the head of the cshtml (e.g. <script src="~/libs/jquery/jquery.min.js"></script>) [this triggers the language serve but I'm sure you know that :) ]
save the file and Node.exe appears in the process tree
close the cshtml in VS and the magic happens

1st high load on CPU for a few seconds:

after the cpu load drops, Node.exe starts to read from my drive:

I do not know how long it reads from the hard drive, killed the Node.exe process tree after about 1-2 Minutes but it gets automatically recreated.
Here the requested logs:
tsserver.logs.zip
Info about my VS setup:
VS_info.txt
Thank you for investigating this issue!

What version of Node.js do you have installed?

Separately 8.2.1 located under D:\installed\nodejs\node.exe (64Bit) but VS uses its own Node.js located under C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\Web\External\x86\Node.exe (5.4.1 32Bit) and also its own npm (3.3.4). Both are about 1.5-2 years old.

Great, thank you.
Could you please follow these steps:

Close all instances of VS.
Open regedit.
Navigate to HKEY_CURRENT_USER\Software\Microsoft\VisualStudio.
There should be one or more keys titled "15.40_*" where * is a string of numbers and letters.
You'll need to add a subkey to the one corresponding with your most recent version of VS.
If you run the following as administrator, it will print information for each version you have installed.
Here, we want to find the Instance Id for the most recent version of VS.
Within the key titled "15.40_*", where * is the instance id found in the previous step, create a subkey titled "TypeScriptLanguageService", and add the value
"CustomNodePath"="D:\installed\nodejs\node.exe".
Try to repro the behavior again.

This will retarget the version of node being used by VS to your newer version installed elsewhere.
This will help me to figure out whether the issue is with the version of Node itself or our usage.
I am still unable to repro the behavior myself.

You are welcome but I believe I have to say thank you to you all because with your help I found the bad guy...it's me because I'm to scatty. :(
I totally forgot about a tsconfig.json at the root of my D:\ drive. The tsserver.log brought me on it:

Info 106  Config file name: D:/tsconfig.json

I deleted the file and the language service works as expected.
This explains me the accessibility for Node.exe on my D drive because my project folder is located at D:\workspace. I've read something about it at: typescriptlang.org - tsconfig.json
But if you do not provide any tsconfig.json at all which configuration is used instead?
@uniqueiniquity:
The trick with editing the registry works and VS is now using the newer version of node.js, Thank you.
Related to this I looked again through the tsserver.log files (old and new) and noted that the old logs generated with the VS built-in Node.js show quite often an error Err 6
Info 0    Binding...
Info 1    event: {"seq":0,"type":"event","event":"typingsInstallerPid","body":{"pid":5140}}
Info 2    request: {"seq":25,"command":"configure","arguments":{"extraFileExtensions":[{"extension":".js","scriptKind":1,"isMixedContent":false},{"extension":".ts","scriptKind":3,"isMixedContent":false},{"extension":".ascx","scriptKind":1,"isMixedContent":true},{"extension":".aspx","scriptKind":1,"isMixedContent":true},{"extension":".cshtml","scriptKind":1,"isMixedContent":true},{"extension":".htm","scriptKind":1,"isMixedContent":true},{"extension":".html","scriptKind":1,"isMixedContent":true},{"extension":".master","scriptKind":1,"isMixedContent":true},{"extension":".vbhtml","scriptKind":1,"isMixedContent":true},{"extension":".vue","scriptKind":1,"isMixedContent":true}]}}
Info 3    Host file extension mappings updated
Info 4    response: {"seq":0,"type":"response","command":"configure","request_seq":25,"success":true}
Perf 5    25::configure: async elapsed time (in milliseconds) 1.5429
Err 6     Exception on executing command unknown:
Implement me. Unknown stream file type!
Error: Implement me. Unknown stream file type!
    at createWritableStdioStream (node.js:648:15)
    at process.stderr (node.js:679:16)
    at WriteWrap.afterWrite (net.js:753:23)
Info 7    request: {"seq":26,"command":"openExternalProjects","arguments":{"projects":[{"projectFileName":"D:\\Workspaces\\_playground\\LanguageServiceIssue\\LanguageServiceIssue\\LanguageServiceIssue.csproj","rootFiles":[],"options":{"allowJs":true,"allowNonTsExtensions":false,"allowSyntheticDefaultImports":false,"allowUnreachableCode":false,"allowUnusedLabels":false,"alwaysStrict":false,"compileOnSave":true,"declaration":false,"emitBOM":false,"emitDecoratorMetadata":false,"experimentalAsyncFunctions":false,"experimentalDecorators":false,"forceConsistentCasingInFileNames":false,"importHelpers":false,"inlineSourceMap":false,"inlineSources":false,"isolatedModules":false,"jsx":0,"moduleResolution":2,"noEmit":true,"noEmitHelpers":false,"noEmitOnError":true,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"noImplicitReturns":false,"noImplicitThis":false,"noImplicitUseStrict":false,"noLib":false,"noResolve":false,"noUnusedLocals":false,"noUnusedParameters":false,"preserveConstEnums":false,"removeComments":false,"skipDefaultLibCheck":false,"skipLibCheck":false,"sourceMap":true,"strictNullChecks":false,"stripInternal":false,"suppressExcessPropertyErrors":false,"suppressImplicitAnyIndexErrors":false,"target":2},"typeAcquisition":{"include":[]}}]}}
Info 8    Scheduling throttled operation: {"projectName":"D:\\Workspaces\\_playground\\LanguageServiceIssue\\LanguageServiceIssue\\LanguageServiceIssue.csproj","fileNames":["C:/Program Files (x86)/Microsoft SDKs/TypeScript/2.4/lib.es6.d.ts"],"compilerOptions":{"allowJs":true,"allowNonTsExtensions":true,"allowSyntheticDefaultImports":false,"allowUnreachableCode":false,"allowUnusedLabels":false,"alwaysStrict":false,"compileOnSave":true,"declaration":false,"emitBOM":false,"emitDecoratorMetadata":false,"experimentalAsyncFunctions":false,"experimentalDecorators":false,"forceConsistentCasingInFileNames":false,"importHelpers":false,"inlineSourceMap":false,"inlineSources":false,"isolatedModules":false,"jsx":0,"moduleResolution":2,"noEmit":true,"noEmitHelpers":false,"noEmitOnError":true,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"noImplicitReturns":false,"noImplicitThis":false,"noImplicitUseStrict":false,"noLib":false,"noResolve":false,"noUnusedLocals":false,"noUnusedParameters":false,"preserveConstEnums":false,"removeComments":false,"skipDefaultLibCheck":false,"skipLibCheck":false,"sourceMap":true,"strictNullChecks":false,"stripInternal":false,"suppressExcessPropertyErrors":false,"suppressImplicitAnyIndexErrors":false,"target":2,"noEmitForJsFiles":true},"typeAcquisition":{"include":[],"enable":true,"exclude":[]},"unresolvedImports":[],"projectRootPath":"D:/Workspaces/_playground/LanguageServiceIssue/LanguageServiceIssue","kind":"discover"}
Info 9    updating project structure from ...
Info 10   Project 'D:\Workspaces\_playground\LanguageServiceIssue\LanguageServiceIssue\LanguageServiceIssue.csproj' (External) 0
C:/Program Files (x86)/Microsoft SDKs/TypeScript/2.4/lib.es6.d.ts

With the node v.8.2.1 this error disappears.
Info 0    Binding...
Info 1    request: {"seq":0,"command":"configure","arguments":{"extraFileExtensions":[{"extension":".js","scriptKind":1,"isMixedContent":false},{"extension":".ts","scriptKind":3,"isMixedContent":false},{"extension":".ascx","scriptKind":1,"isMixedContent":true},{"extension":".aspx","scriptKind":1,"isMixedContent":true},{"extension":".cshtml","scriptKind":1,"isMixedContent":true},{"extension":".htm","scriptKind":1,"isMixedContent":true},{"extension":".html","scriptKind":1,"isMixedContent":true},{"extension":".master","scriptKind":1,"isMixedContent":true},{"extension":".vbhtml","scriptKind":1,"isMixedContent":true},{"extension":".vue","scriptKind":1,"isMixedContent":true}]}}
Info 2    Host file extension mappings updated
Info 3    response: {"seq":0,"type":"response","command":"configure","request_seq":0,"success":true}
Perf 4    0::configure: async elapsed time (in milliseconds) 3.3280
Info 5    request: {"seq":1,"command":"openExternalProjects","arguments":{"projects":[{"projectFileName":"D:\\Workspaces\\_playground\\LanguageServiceIssue\\LanguageServiceIssue\\LanguageServiceIssue.csproj","rootFiles":[{"fileName":"D:\\Workspaces\\_playground\\LanguageServiceIssue\\LanguageServiceIssue\\_Layout.cshtml","scriptKind":1,"hasMixedContent":true}],"options":{"allowJs":true,"allowNonTsExtensions":false,"allowSyntheticDefaultImports":false,"allowUnreachableCode":false,"allowUnusedLabels":false,"alwaysStrict":false,"compileOnSave":true,"declaration":false,"emitBOM":false,"emitDecoratorMetadata":false,"experimentalAsyncFunctions":false,"experimentalDecorators":false,"forceConsistentCasingInFileNames":false,"importHelpers":false,"inlineSourceMap":false,"inlineSources":false,"isolatedModules":false,"jsx":0,"moduleResolution":2,"noEmit":true,"noEmitHelpers":false,"noEmitOnError":true,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"noImplicitReturns":false,"noImplicitThis":false,"noImplicitUseStrict":false,"noLib":false,"noResolve":false,"noUnusedLocals":false,"noUnusedParameters":false,"preserveConstEnums":false,"removeComments":false,"skipDefaultLibCheck":false,"skipLibCheck":false,"sourceMap":true,"strictNullChecks":false,"stripInternal":false,"suppressExcessPropertyErrors":false,"suppressImplicitAnyIndexErrors":false,"target":2},"typeAcquisition":{"include":[]}}]}}
Info 6    Scheduling throttled operation: {"projectName":"D:\\Workspaces\\_playground\\LanguageServiceIssue\\LanguageServiceIssue\\LanguageServiceIssue.csproj","fileNames":["C:/Program Files (x86)/Microsoft SDKs/TypeScript/2.4/lib.es6.d.ts","D:/Workspaces/_playground/LanguageServiceIssue/LanguageServiceIssue/_Layout.cshtml"],"compilerOptions":{"allowJs":true,"allowNonTsExtensions":true,"allowSyntheticDefaultImports":false,"allowUnreachableCode":false,"allowUnusedLabels":false,"alwaysStrict":false,"compileOnSave":true,"declaration":false,"emitBOM":false,"emitDecoratorMetadata":false,"experimentalAsyncFunctions":false,"experimentalDecorators":false,"forceConsistentCasingInFileNames":false,"importHelpers":false,"inlineSourceMap":false,"inlineSources":false,"isolatedModules":false,"jsx":0,"moduleResolution":2,"noEmit":true,"noEmitHelpers":false,"noEmitOnError":true,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"noImplicitReturns":false,"noImplicitThis":false,"noImplicitUseStrict":false,"noLib":false,"noResolve":false,"noUnusedLocals":false,"noUnusedParameters":false,"preserveConstEnums":false,"removeComments":false,"skipDefaultLibCheck":false,"skipLibCheck":false,"sourceMap":true,"strictNullChecks":false,"stripInternal":false,"suppressExcessPropertyErrors":false,"suppressImplicitAnyIndexErrors":false,"target":2,"noEmitForJsFiles":true},"typeAcquisition":{"include":[],"enable":true,"exclude":[]},"unresolvedImports":[],"projectRootPath":"D:/Workspaces/_playground/LanguageServiceIssue/LanguageServiceIssue","kind":"discover"}
Info 7    updating project structure from ...
Info 8    Project 'D:\Workspaces\_playground\LanguageServiceIssue\LanguageServiceIssue\LanguageServiceIssue.csproj' (External) 0
C:/Program Files (x86)/Microsoft SDKs/TypeScript/2.4/lib.es6.d.ts
D:/Workspaces/_playground/LanguageServiceIssue/LanguageServiceIssue/_Layout.cshtml

That means it has nothing to do with the Node.js version but you should be careful where you store tsconfig.json files. Lesson learned! Can someone confirm that please?
Thanks again!

That makes sense! Glad you found it.
If you don't have a tsconfig.json, it searches based on MSBuild defaults associated with your project.

Thank you for your answer.
I guess, since the problem is clarified, this issue can be closed.


Feature/i18n

:x: Build TheIdServer 1.0.0-i18n1-0095 failed (commit https://github.com/Aguafrommars/TheIdServer/commit/5315aa00e2 by @aguacongas)

:white_check_mark: Build TheIdServer 1.0.0-i18n1-0096 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/5bfe0427ea by @aguacongas)


Add PublicHolidays Service and Controller

In this PR, we add an endpoint '/api/publicholidays/get' that can be used to get information about the public holidays of a specific country.
The dev deployment is:
http://team01-jason-rodrigues-dev.dokku-12.cs.ucsb.edu/swagger-ui/index.html#/Public Holiday Info from https%3A%2F%2Fdate.nager.at%2FApi/getPublicHolidays
Closes #11

LGTM


Implement MTI in pure Julia

At the moment, the interface to the Medical Text Indexer batch utility, MTI calls the Java API through and example-executable. Not only it depends on Java utilities installed to compile the code, it also does not allow a clean manipulation of all inputs/and outputs.

Java MTI is being moved out of this repository to https://github.com/bcbi/MTIWrapper.jl


implement getSubscription

close #421
the sample response:
{
  "data": [
    {
      "object": "user",
      "callback_url": "https://your-clever-domain-name.com/webhooks",
      "active": true,
      "fields": [
        {
          "name": "photos",
          "version": "v2.10"
        },
        {
          "name": "feed",
          "version": "v2.10"
        }
      ]
    }
  ]
}

responded data is an array, it might have some partition problem at some point.

getSubscription or getSubscriptions?

Is it possible to have two subscriptions at the same time?

not quite sure yet, but I think it is possible to subscribe different object at the same time, such user, page... etc.

It seems that we can subscribe to 4 objects, user, page, permissions and payments.

Or we can have both getSubscriptions and getPageSubscription API.


init.d startup script does not honor directory param in arangod.conf

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[ ] 2.8
[ ] 3.0
[X] 3.1
[ ] 3.2 Beta1
[ ] self-compiled devel branch

On this operating system:

[ ] DCOS on

[ ] AWS
[ ] Azure
[ ] own infrastructure

[X] Linux

[ ] Debian .deb
[X] Ubuntu .deb
[ ] SUSE   .rpm
[ ] RedHat .rpm
[ ] Fedora .rpm
[ ] Gentoo
[ ] docker - official docker library
[ ] other:

[ ] Windows, version:
[ ] MacOS, version:

this is an installation-related issue:
Describe which steps you carried out, what you expected to happen and what actually happened.

Stopped arangodb3.service
Created alternative db location folder
Rsync'ed /var/lib/arangodb3 to alternative db folder
Renames /var/lib/arangodb3 to /var/lib/arangodb3_old
Updated /etc/arangodb3/arangod.conf "directory" database param to point at alternative db folder
Update /etc/arangodb3/arango-dfdb.conf "directory" database param to point at alternative db folder
Started arangodb3.service

Startup fails as it is still looking for the /var/lib/arangodb3 folder.
How to correct:

Modify /etc/init.d/arangodb3 to reflect new alternative db folder:
( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1

Expected that /etc/init.d/arangodb3 should honor the arangod.conf "directory" param.

hm, there are several directory options for /etc/arangodb3/arangod.conf so without parsing the configuration there is no good way to reliably extract that option from the shellscript.
Since this chown is mainly there to stop the novice user from running arangod from the root account, and voiding their directory permissions for subsequent starts, I think that somebody starting such configuration stunts should be able to detect and fix these issues himself.
Thus closing as won't fix


Fixes login response output

I noticed that the login response output wasn't up to date yet with our incredible new "connections" feature. This PR includes connectionName to the different responses.

The default behavior would be a guid, if people don't use the connectionName option, so this is actually better I think.

I would keep it as a GUID because it's the default result when you don't provide a connection name like @martinlingstuyl mentioned.

Imo a GUID doesn't give any context to the user. If we put a meaningful thing there, it might be more helpful to users and it's hidden publicity for the multi-connection feature. But I see it's 2 vs 1 here so it is what it is.

Imo a GUID doesn't give any context to the user. If we put a meaningful thing there, it might be more helpful to users and it's hidden publicity for the multi-connection feature. But I see it's 2 vs 1 here so it is what it is.

A guid is not meaningful, correct. But it's hard to find a meaningful value that is unique. The UPN of the user (for example) would not be unique, as you can sign into multiple tenants.

A guid is not meaningful, correct. But it's hard to find a meaningful value that is unique. The UPN of the user (for example) would not be unique, as you can sign into multiple tenants.

I don't blame that we use a GUID at all. I totally understand that. I just think that a dedicated name is more meaningful for a user than a GUID in the response section. Something like Customer A for example is clearer than a random guide (which is default I know).

Personally, I'm more keen on the default output, but I understand the clarity of using a cleaner connection name. Generally, this PR resolves just a small aspect we overlooked during the implementation of this new feature, and it seems like we're spending quite some time on fractionally a small detail. Both options are feasible as the GUID occurs as a default response, where a proper name provides a bit more clarity, but then we're working with an additional option.

Merged manually, thanks for the fix!


chore: simplify request tracing middleware setup logic

What kind of change does this PR introduce?
:wave: Consolidate the middleware setup logic for request tracing. Instead of separate conditions, use a single one.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.008%) to 65.135%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
8024

Relevant Lines:
12319

💛  - Coveralls


Updating manage inventory setting in variant editor doesn't save the update

When unticking "Manage Inventory" and clicking save the data is not saved in the variant.

The request payload always has manage_inventory: true.

Closed #164


Example build errors

Receive the following when trying to build any of the examples
pkg/mod/github.com/aler9/gortsplib@v0.0.0-20220324142719-7d9c882cc95b/client.go:769:11: pkt.PaddingSize undefined (type *rtp.Packet has no field or method PaddingSize)

hello, due to popular demand, pion/rtp was downgraded to v1. This fixes build errors.


MicroPDF417 improvements

[ ] Reader initialisation
[x] ECI
[x] Macro 05/06 compression (See a1f1da4fb00c18897d47cd8e84b6b6a1156282ae for Data Matrix)

ECI support added in aa5b38c64feea7f866b1dfdc98de313546b30083.

Macro 05/06 support added in 91474d5.


Error: Cannot find module '@angular-devkit/core'

Hi,
I have just installed your component but

@angular-devkit/core

is not mentioned in docs.
Kindest regards.

Changed the milestone because we have no interest in the v0.3.7.
Closing as resolved in the new milestone.


Retaining high-frequency side of data

Hi,
Thank you for developing this tool—it's been working very well, especially in handling the organell missing wedge. However, its clear that most of the high-frequency side of data seems to be lost during the denoising process. I’m wondering if there's a way to retain these finer details.

Do you have any recommendations for preserving high-frequency information?

Is there a way to adjust the parameters to maintain the high-frequency data while still benefiting from the denoising?

Could reducing subtomo_overlap help in retaining details, or would that not make much of a difference due to the final averaging step with the two half-maps?

Any guidance on this would be greatly appreciated!

Hi @amineuron,
Thanks for trying DeepDeWedge! I am glad to hear that you find it useful!
I have also noticed that DeepDeWedge sometimes removes some of the high frequency components to produce cleaner tomograms.
My hypothesis is that this is because some high frequency details are "below the noise level", so the network cannot learn to produce these details based on the noisy inputs and targets it is trained on. In other words: The network sometimes has a hard time learning to distinguish between high-frequency detail and noise, and ends up removing parts of the detail to produce a cleaner-looking tomogram. Such a trade-off between cleaner-looking images and removal of high-frequency components is often observed with denoising algorithms.
Unfortunately, I don't have a very satisfactory answer as to what you can do to solve the problem. However, I think the following might help to some extent: You could check the refined tomogram every few epochs before the model fitting has converged (e.g. every 10 epochs, but the exact number depends on how fast the model fitting converges). It is possible that in these earlier epochs, the denoising is not strong enough to remove the high frequency details because the network has not yet learned to do so. However, earlier models may also be less effective at removing noise in low frequency detail and lacking wedge filling, so (assuming my hypothesis is correct) you would need to manually find a sweet spot.
I've never tried this approach, but I'd be very interested to hear if it works for you!
Best,
Simon

Hi Simon,
Thank you so much for your comprehensive and thoughtful response! I appreciate the insights you've shared.
I’ve been using the movie frames to build the odd and even observations, as you suggested. Regarding your suggestion to check the earlier epochs, I went ahead and monitored the process from epochs 400 to 1000, and didn’t notice a significant difference and at lower epochs impact whole denoising, when it comes to seeing finer structures like neurofilaments, which are visible in the normal reconstructions, still facing challenges.
In addition to this, I tried a different approach that seems to have helped, though I haven’t fully evaluated it yet. When creating the mask, instead of focusing just on high-density areas, I adjusted the parameters to sample more uniformly across the entire tomogram (modifying the density_percentage and std_percentage values). I also used a smaller stride to sample more thoroughly. These changes seem to have improved the details, but I think I still need to further optimize them to get the best results.
Thanks again for your help, I’ll keep experimenting and will share if I find the right setup for our tomograms.
Bests,
Amin


revise tink, sandbox, and documentation versioning processes

Description
Revise tink, sandbox, and documentation versioning processes described in proposal 0002.
The goal of these changes is to allow for an initial set of 0.1.0+ tags to be added to the existing projects where no tags are currently defined.

Why is this needed

Fixes: #
How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[ ] added unit or e2e tests
[ ] provided instructions on how to upgrade

View rendered proposals/0002/README.md

In the Dec 14 Triage Party, we closed the existing https://github.com/orgs/tinkerbell/projects projects in (roadmap, repo health, issues list) in favor of new projects based on intended feature sets. Issues lists (a triage system) was closed in favor of triage parties tracking, which is label based. Repo health was a project focused on specific early milestones for providing minimal standards within Tinkerbell projects.
Projects can be seen as feature sets grouping multi-repo efforts.  In the triage party meeting, we also discussed tying this PR's proposal updates to projects.  For example, v0.8.0 can be seen as an organizational goal, a project.  After v0.7.0 is released, the timing of which should be a community meeting discussion, we would assemble issues that we would like to focus on for v0.8.0.  Assembling issues could take place during the community meeting or asynchronously via issue comments and voting (the rules of which I won't attempt to pin down).  Issues labels may be used to represent these goals in automation, e.g. tinkerbell/0.7.0 (or milestone/ or target/), if necessary.
Each project should create milestones representing upcoming semantic revision targets.  If we are on v0.5, a milestone for v0.6, v0.7, v1.0 could be created. Issues could then be targeted for specific milestones and retargeted when missed.
We should try to avoid duplicating purpose and functionality between projects, issues, labels, and milestones.
I'll revisit this PR and see if any of this thinking should be codified into the proposal update.

Another point that was discussed was the idea of mapping sandbox release tags to the tags of its dependencies.
If sandbox is at 0.6.0 today, we would tag 0.6.0 on the git commit represented in sandbox 0.6.0 for each project. The appropriate git commit may need to be determined by docker image shas, mapping these to the CI build git sha.
If this could be done for version 0.6 down to 0.1, we will have more history - a better way to talk about and reason about past states of the project.  Our project's generated changelogs will be meaningful.
Doing this may be ambitious, so the community was ok with proceeding with the original idea of stamping 0.1.0 on all untagged projects if we can not easily map 0.6.0 downwards.

I wanted to capture the versions of tinkerbell/sandbox dependent tools at each version of sandbox - however, it appears that this was never "fixed", sandbox 0.4.0, if deployed today would pull down the same versions used by 0.6.0.
In the future, we should ensure that https://github.com/tinkerbell/sandbox/blob/main/deploy/compose/registry/registry_images.txt refers to fixed shas or tags, not latest.


Changelog for Azure.Core 1.22.0

Suggested addition to changelog:
Features Added

Added HttpPipelineTransportOptions which contains a ServerCertificateCustomValidationCallback property allowing configuration of a Func<ServerCertificateCustomValidationArgs, bool> delegate to be called when validating the server side TLS certificate.
Added a new static overload for HttpPipelineBuilder.Build taking an HttpPipelineTransportOptions instance to construct the HttpPipeline with the default transport configurations and the HttpPipelineTransportOptions applied. This Build method returns a DisposableHttpPipeline which implements IDisposable. Note: The HttpPipelineTransportOptions will only be applied if a custom Transport has not been set in the ClientOptions. In the case that transport options were provided but not applied, an event is logged (PipelineTransportOptionsNotApplied).


createLoanOffer: Amount must be at least 0.01

Hello,
I've started to get these messages in the log about every 1s:
createLoanOffer: Amount must be at least 0.01
I logged into Poloniex and checked my balance. It is less than 0.01, and it won't allow me to manually offer this amount.
Is this the normal operation of the bot?

Thanks for reporting it. Poloniex have recently changed the limit from 0.001 to 0.01. I have nou updated the app. Please update to 0.7.1


pass text file to complexFilter

Version information

fluent-ffmpeg version: 2.1.2
ffmpeg version: 4.1
OS: Windows 11

Is it possible to pass a file to complexFilter? I'm running into issues on Windows becuase I have to add hundreds of png overlays to a video.
Is there something like complexFilterScript() or how can I achieve this?

Would love this to be answered!

I finally ended with a solution with drawtext filter, but I believe it should be valid for overlay (explanation below).
My situation:

I have a huge amount of images I concat in a sequence with different duration according to a curve.
I want to overlay their respective duration to check if my curve is correct.

The solution: build a string of filters with template strings and use  enable between.
const files = ['path1', 'path2', etc...];

let txt = ''; // our description of files to be treated.
let filters = ''; // the filters we want to apply.
let currentPosition = 0; // current position in file.
let img = 0; // index of current image.

for (const file of files) {
  // Get the image path.
  /// In this case it's defined by 'image' followed by the index of the image then '.jpg'.
  const filepath = path.join(
    VIDEOS_PATH,
    '.tmp',
    `image${String(img).padStart(4, '0')}.jpg`
  );

  // Omitted for brevity.
  const duration = /* get the duration of this specific file. */

  // Append to the string of files that will be treated.
  txt += `file '${filepath}'\nduration ${duration}\n`;

  // Here the important part: append to the 'filters' string that will be passed to 'complexFilters'.
  // 'enable' is the key.

  filters += `drawtext=enable='between(t,${currentPosition},${currentPosition + duration.y})':text='${duration}':x=10:y=H-th-10:fontsize=32:fontcolor=white, `;

  // Next position in file.
  currentPosition += duration.y;
  img++;
}

// Write the text file that describes our inputs.
fs.writeFileSync(path.join(VIDEOS_PATH, '.tmp', `desc.txt`), txt, 'utf8');

ffmpeg()
  // Add inputs with file.
  .addInput(path.join(VIDEOS_PATH, '.tmp', `desc.txt`))
  // Concat.
  .inputOptions(['-safe 0', '-f concat'])

  // Pass the filters!
  .complexFilter(filters)

  .fps(25)
  .output(
    path.join(VIDEOS_PATH, `output.mov`)
  )
  .run();

For overlay, you can look this or this SO answers. I guess you could add overlays inputs the same way. The problem will be to retrieve [YOUR_INDEX:v] in the filter string. Didn't tested it though.


cannot install nvidia-tensorrt dependency

running command:
pip install nvidia-pyindex==1.0.9 \
&& pip install nvidia-tensorrt==<IP_ADDRESS>

response:
ERROR: Could not find a version that satisfies the requirement nvidia-tensorrt==<IP_ADDRESS> (from versions: 0.0.1.dev4, 0.0.1.dev5)
ERROR: No matching distribution found for nvidia-tensorrt==<IP_ADDRESS>

system:
tried it on an M1 Macbook, and on a Windows machine with an Nvidia gpu.
also, based on the readme documentation, it's suggested that this module can be loaded straight from pip. But pip search shows no library named keras2trt: https://pypi.org/search/?q=keras2trt&o=

@irgipaulius sorry for the inconvenience. I uploaded the package back to PyPI, now you should be able to install it via pip.
The below command is tested on Linux and it works, however it does not seem to be working on Windows. I will look into this, thanks for pointing it out.
pip install nvidia-pyindex==1.0.9 \
&& pip install nvidia-tensorrt==<IP_ADDRESS>

Please check here where it states,

The zip file is the only option currently for Windows.

Zip installation guide: https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-zip


Add statistics for unique values + counts

Should be computed separately from existing stats to avoid expensive overheads when not performing compression.

Migrated to #913


Pin keeps copying previous value

Great app!
As the title suggests, I updated the value of one of my pins, say from foo to bar. When I use the shortcut key for the pin, I'm still getting the old value foo. I even changed the shortcut key from u to y and it is still giving me back foo when I press Command+Y. I have quit & reopened Maccy multiple times.
Once again, thanks for great work on a fantastic app.

Yes, you can change the title of pin, but actual value remains the same.


add getting started instructions

Is there a starter template like vue cli for the project or can we integrate vuelog into vue-cli apps?
I see that there are download links. Does this mean the usual workflow to start a new vuelog project is to clone this entire repository or is there a template with the files described in the file structure section?

This repo is for developers who want to add features to Vuelog or fix bugs. If you just want to have a blog and write something, download the package, extract, then start to write. The package is the docs of the project, it's also the template.

Okay that's fair. carry on, carry on


Fixes #27: .desktop file supports configurable MimeType entry

adds support for MimeType entry in .desktop file
shamelessly copies what was done in  electron-installer-debian change (see https://github.com/unindented/electron-installer-debian/commit/70586c5dfeb25437839531c9141bf7b8c9b926de) as files that can be identical seem to be between these repos

Awesome, thank you!

Version 0.3.0 contains your fix. Thanks again!


Support splats on left-hand sides of multiple assignment expressions

Implements #132 by supporting one level of decomposition on the left-hand sides of multiple assignment expressions. The first case is when the right-hand side consists of a single expression:
a, b, *c, d, e, f = exp

# the above is equivalent to:
__temp_1 = exp
if __temp_1.size < 5 # number of non-splat variables on the LHS
  ::raise("BUG: multiple assignment count mismatch")
end
a = __temp_1[0]
b = __temp_1[1]
c = __temp_1[2..-4]
d = __temp_1[-3]
e = __temp_1[-2]
f = __temp_1[-1]

__temp_1 must respond to #size, #[](Int), and #[](Range). This includes Array, BitArray, Slice, String, Tuple, and to some extent Regex::MatchData. The main obstacle was getting Tuple to work here without allocating an Array, but now that #10379 is merged, the following is now possible:
a, *b, c = {1, true, 'a', ""}
typeof(b) # => Tuple(Bool, Char)
# without #10379: probably Array(Bool | Char | Int32 | String)

The second case is when there are multiple expressions on the RHS:
a, b, *c, d, e, f = exp1, exp2, ..., exp_last2, exp_last1

# the above is equivalent to:
a = exp1
b = exp2
*c = ::Tuple.new(exp3, ..., exp_last4) # empty tuple if there are 5 expressions
d = exp_last3
e = exp_last2
f = exp_last1

No temporaries are created, and it is a compile-time error to specify more non-splat assignment targets than RHS expressions (the shortest code that could trigger this is a, b, *c, d = 1, 2).
As with the splat-less case, each assignment target, including the splat target, can be a variable, a setter call, a []= call, or the underscore. The underscore can be used to omit some of the RHS values, since writing to it has no effect:
_, a, *_, b = exp # Ruby uses `*` as the underscore is a regular variable

# the above is equivalent to:
__temp_1 = exp
if __temp_1.size < 3
  ::raise("BUG: multiple assignment count mismatch")
end
a = __temp_1[1]
b = __temp_1[-1]

Like other places that perform splat collection, using more than one splat on the LHS is an error.

What does the community of us having something like https://rubyheroes.com/ but for Crystal? I might have a nominee or two in my head...

Thinking that if the splat variable happens to be the underscore then we should omit that assignment altogether to avoid creating a temporary copy, since that range index can be fairly large.

If this PR is merged, it opens an easy migration path from the following:
a, b = [1, 2, 3, 4, 5]  # Silently ignores the last 3 items

to
a, b, *_ = [1, 2, 3, 4, 5]  # Exactly the same but explicit

-- this is good syntax to use if anyone is actually relying on the ignoring behavior, rather than having it by accident.
What I'm leading at, and the reason why there would need to be a "migration path" for anything, is that this silent ignoring behavior is very unexpected in my opinion, and should be replaced with an error about size mismatch (one like you see at the top of this PR). That is, a size check should be added to it.
You can say what you want about Ruby also ignoring this,... but somehow the error conditions in the new situations that this PR introduces make sense, don't they? Well, Ruby also silently ignores all of those cases, even up to a, b, *c, d = [1], and we're not copying that.
Additionally, this pull request literally makes those two syntaxes (see code blocks above) aliases of each other.
Particularly weird to me is the asymmetry of it. At face value, why should a, b = [1, 2] be an alias to a, b, *_ and not, say, *_, a, b??
Also I don't know any other programming language that ignores a, b = {1, 2, 3} but errors on a, b, c = {1, 2}. Ruby and JavaScript ignore both; Python and C++ error both.
Instead of gaining aliases I propose to use the pre-existing a, b = [1, 2] syntax for something better -- something I miss all the time. I almost always want the reassurance that I'm not ignoring extra items, and I don't want to write out the size check manually (it could even get outdated). Laziness here can definitely cause silent bugs.
With this in mind, it's sad to see the [post-1.0] label attached. Without this migration path we can't easily deprecate the error silencing, and after 1.0 we can't deprecate it at all.

I agree with @oprypin : it would be nice if a, b = [1, 2, 3] would be a runtime error. That's a breaking change, but it will be impossible to do after 1.0 without breaking things.
I would like to think that if someone uses a, b = exp that's because they expect exp to have exactly two elements. And if they didn't expect that, the migration path is really straight-forward: just change it to a, b, * = exp.

I'm thinking that if we really wanted to avoid a breaking change in some way, we could have a flag that says that a, b = ... should behave the old way, but let the default be the new, safer way. That means that if someone had Crystal code working on 0.36.1 and they upgrade to 1.0 and it breaks because of this, they can use that flag to get the old behavior. And they can do the upgrade at their time while still having their code working on 1.0.
Though maybe it's a lot of work...

The other day I thought about this and believe that maybe Crystal doesn't need 1-to-n multiple assignment after all if it leads to confusion between Ruby's lax multiple assignment rules (dropping elements at the end, including with block parameters) and pattern matching semantics (count mismatches, with or without LHS splats). Maybe it's time we have general pattern matching...
(We could still define 1-to-n multiple assignment in terms of some pattern matching construct afterwards.)

@HertzDevil I don't see how that comment is constructive here. Maybe you changed your mind at a whim, but there's nothing wrong with this pull request in that light. Let's not match Ruby, let's match Python 🙃

if it leads to confusion between Ruby's lax multiple assignment rules (dropping elements at the end, including with block parameters)

I have already outlined in my comment exactly how to remove the confusion.

Thank you @HertzDevil !

Just to make sure again, should we require the value on the right-hand side of 1-to-n assignments to be Indexable? Do we do anything to these cases?
value = {0 => "x", 1 => "y", 2 => "z"}

# existing 1-to-n assignments (in a separate PR)
a, b, c = value

# 1-to-n splat assignments
# ill-formed because of `b = value[1..-2]`
a, *b, c = value

# 1-to-n splat assignments
# raises because of `b = value[-2]` and `c = value[-1]`
*_, b, c = value

Related: https://github.com/crystal-lang/crystal/issues/10937#issuecomment-898461411

I'd say a restriction to Indexable would be good. The first case happens to work by chance, but I don't think it's an adequate use case. Multi-assign destruction is based on a collection with sequential items (that's expressed as Indexable). The fact that the same API for accessing this data is shared by other data types (such as Hash) is rather a coincidence. IMO it makes sense to require Indexable. If you want to use a hash as datasource like in the examples, you can just wrap it in a custom Indexable (which would just delegate to the hash).

We could consider adding .as(Indexable) instead of a dedicated compiler type check. That still adds a dependency on the Indexable type to the compiler, but it's still not a built-in type.

This is probably a topic for a follow-up discussion, though. I'd prefer to merge this as is. There was no type restriction prior to this change. We can discuss and add that afterwards (just need to make sure it lands before 1.3 if it's a breaking change on newly-introduced behaviour).

I extracted the discussion about Indexable restriction for values to #11414 and added that to the 1.3.0 milestone to keep track of it.


[WIP] Fix multi worker and pip installed hdf5plugin

I spent some time digging into the issues surrounding two primary problems:

pip having a harder time with the hdf5 plugin. This was ultimately fixed by loading in the correct order and setting an environment variable that h5py looks for.

pip_blosc_fix.py

This file provides a potential fix for
h5py not scraping the correct directory
for the plugins. By default it attempts
to search in the hdf5 default (but this
may not exist).

I was seeing issues with more than one worker. I ran into this before in h5py and it was solved by having the child processes open their own versions of the file.

dataset/sequence.py

fix the issues surrounding single file
descriptor being inherited by the child
processes. We wait to open the hdf5 files
until we know we are in process accessing
individual items

Hi @k-chaney
Thanks for your contribution! Could you tell me more about those issues:

How should this script be used for people having similar issues with pip? Just modify the path to the h5 file and execute it once in their pip environment? Is there a way for me to replicate this issue?
I was actually expecting problems with h5 and multi-processing but did not encounter any of them so far. Could you tell me what exactly was the problem in your case?

For context, I have been installing packages through pip as conda is slow for my purposes.
For 1, I get this error when I install through pip and use your code as is:
ken@node-3090-3:~/research/EvDL$ python3 train.py --model_name LitUNet --gpus=1 --batch_size=2 --num_workers=2 --dataset DSEC_Subset
Num input channels: 10
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
2021-05-26 11:46:16.294761: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0

  | Name | Type | Params
------------------------------
0 | unet | UNet | 13.4 M
------------------------------
13.4 M    Trainable params
0         Non-trainable params
13.4 M    Total params
53.453    Total estimated model params size (MB)
/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/utilities/distributed.py:69: UserWarning: The dataloader, train dataloader, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 128 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
  warnings.warn(*args, **kwargs)
Epoch 0:   0%|                                                                                | 0/134 [00:00<?, ?it/s]Traceback (most recent call last):
  File "train.py", line 83, in <module>
    trainer.fit(autoencoder, train_loader)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 458, in fit
    self._run(model)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 756, in _run
    self.dispatch()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 797, in dispatch
    self.accelerator.start_training(self)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 96, in start_training
    self.training_type_plugin.start_training(trainer)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 144, in start_training
    self._results = trainer.run_stage()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 807, in run_stage
    return self.run_train()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 869, in run_train
    self.train_loop.run_training_epoch()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 481, in run_training_epoch
    for batch_idx, (batch, is_last_batch) in train_dataloader:
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/profiler/profilers.py", line 112, in profile_iterable
    value = next(iterator)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 530, in prefetch_iterator
    last = next(it)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 464, in __next__
    return self.request_next_batch(self.loader_iters)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 478, in request_next_batch
    return apply_to_collection(loader_iters, Iterator, next)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/utilities/apply_func.py", line 84, in apply_to_collection
    return function(data, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 517, in __next__
    data = self._next_data()
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 1199, in _next_data
    return self._process_data(data)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 1225, in _process_data
    data.reraise()
  File "/usr/local/lib/python3.8/dist-packages/torch/_utils.py", line 429, in reraise
    raise self.exc_type(msg)
OSError: Caught OSError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop
    data = fetcher.fetch(index)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/mnt/beegfs/home/ken/research/EvDL/datasets/dsec_dataset.py", line 134, in __getitem__
    self.__open_h5f()
  File "/mnt/beegfs/home/ken/research/EvDL/datasets/dsec_dataset.py", line 90, in __open_h5f
    self.event_slicers[location] = EventSlicer(h5f_location)
  File "/mnt/beegfs/home/ken/research/EvDL/datasets/utils/eventslicer.py", line 31, in __init__
    self.ms_to_idx = np.asarray(self.h5f['ms_to_idx'], dtype='int64')
  File "/usr/local/lib/python3.8/dist-packages/numpy/core/_asarray.py", line 83, in asarray
    return array(a, dtype, copy=False, order=order)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/usr/local/lib/python3.8/dist-packages/h5py/_hl/dataset.py", line 772, in __array__
    self.read_direct(arr)
  File "/usr/local/lib/python3.8/dist-packages/h5py/_hl/dataset.py", line 733, in read_direct
    self.id.read(mspace, fspace, dest, dxpl=self._dxpl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5d.pyx", line 182, in h5py.h5d.DatasetID.read
  File "h5py/_proxy.pyx", line 130, in h5py._proxy.dset_rw
  File "h5py/_proxy.pyx", line 84, in h5py._proxy.H5PY_H5Dread
OSError: Can't read data (can't open directory: /usr/local/hdf5/lib/plugin)

This led me down the rabbit hole of figuring out how hdf5 handles plugins (and the environment that handles this). However, upon more poking and prodding to reproduce my solution might have been overly complex. It looks like the minimal fix is just:
import hdf5plugin
import h5py

This could be added into your code directly (as it shouldn't have side effects). I did a quick grep of the library code and it appears as though you were relying upon hdf5 to automatically grab the plugin. This works inside the conda environment, but not a pip environment. With this fixed it led me to the next portion.
For 2, these are the errors that I saw when I go through a pip installation and have more than 1 worker. Note that this doesn't happen with a conda install.
ken@node-3090-3:~/research/EvDL$ python3 train.py --model_name LitUNet --gpus=1 --batch_size=2 --num_workers=2 --dataset DSEC_Subset
Num input channels: 10
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
2021-05-26 11:38:24.671640: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0

  | Name | Type | Params
------------------------------
0 | unet | UNet | 13.4 M
------------------------------
13.4 M    Trainable params
0         Non-trainable params
13.4 M    Total params
53.453    Total estimated model params size (MB)
/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/utilities/distributed.py:69: UserWarning: The dataloader, train dataloader, does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` (try 128 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
  warnings.warn(*args, **kwargs)
Epoch 0:   0%|                                                                                | 0/134 [00:00<?, ?it/s]Traceback (most recent call last):
  File "train.py", line 83, in <module>
    trainer.fit(autoencoder, train_loader)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 458, in fit
    self._run(model)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 756, in _run
    self.dispatch()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 797, in dispatch
    self.accelerator.start_training(self)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 96, in start_training
    self.training_type_plugin.start_training(trainer)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 144, in start_training
    self._results = trainer.run_stage()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 807, in run_stage
    return self.run_train()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 869, in run_train
    self.train_loop.run_training_epoch()
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 481, in run_training_epoch
    for batch_idx, (batch, is_last_batch) in train_dataloader:
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/profiler/profilers.py", line 112, in profile_iterable
    value = next(iterator)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 530, in prefetch_iterator
    last = next(it)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 464, in __next__
    return self.request_next_batch(self.loader_iters)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/trainer/supporters.py", line 478, in request_next_batch
    return apply_to_collection(loader_iters, Iterator, next)
  File "/home/ken/.local/lib/python3.8/site-packages/pytorch_lightning/utilities/apply_func.py", line 84, in apply_to_collection
    return function(data, *args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 517, in __next__
    data = self._next_data()
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 1199, in _next_data
    return self._process_data(data)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/dataloader.py", line 1225, in _process_data
    data.reraise()
  File "/usr/local/lib/python3.8/dist-packages/torch/_utils.py", line 429, in reraise
    raise self.exc_type(msg)
OSError: Caught OSError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop
    data = fetcher.fetch(index)
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/usr/local/lib/python3.8/dist-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/mnt/beegfs/home/ken/research/EvDL/datasets/dsec_dataset.py", line 143, in __getitem__
    event_data = self.event_slicers[location].get_events(ts_start, ts_end)
  File "/mnt/beegfs/home/ken/research/EvDL/datasets/utils/eventslicer.py", line 67, in get_events
    time_array_conservative = np.asarray(self.events['t'][t_start_ms_idx:t_end_ms_idx])
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/usr/local/lib/python3.8/dist-packages/h5py/_hl/dataset.py", line 573, in __getitem__
    self.id.read(mspace, fspace, arr, mtype, dxpl=self._dxpl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5d.pyx", line 182, in h5py.h5d.DatasetID.read
  File "h5py/_proxy.pyx", line 130, in h5py._proxy.dset_rw
  File "h5py/_proxy.pyx", line 84, in h5py._proxy.H5PY_H5Dread
OSError: Can't read data (Blosc decompression error)

In my experience with hdf5 (I was in charge of converting MVSEC), these sorts of errors are related to having the same file descriptor being shared between processes. The solution to this is simply to open the hdf5 files from within the child process (i.e. the getitem function)
I will do more digging to see what the difference in the installations are. On the surface they seem very similar, but more digging will most likely result in the reason that conda works out of the box and pip does not.

Very interesting, thanks.
I think then that it would make sense that I adapt the documentation for the pip installation. In case of the code, I believe that it is sufficient to catch the import error of the hdf5plugin and inform the user that install the hdf5plugin is required for a pip installation but otherwise not. E.g.
try:
    import hdf5plugin
except ImportError:
    print("Install the hdf5plugin if you are using pip instead of conda: https://pypi.org/project/hdf5plugin/")

Hi @k-chaney - I just came across this issue. Have you tried using https://github.com/mamba-org/mamba which is a fast drop-in replacement for conda?

Just quick check-in to share my experience:

Note on the h5 file with multiprocessing

I agree with the second issue, opening the same h5 file between processes is troublesome (like this stackoverflow ). The quick fix is use num_workers=0 or something like @k-chaney suggested, I guess.
(In my case, the error is TypeError: h5py objects cannot be pickled rather than OSError.
Btw, in my case, the OSError is from my Mac. In my Ubuntu + docker environment I don't get that error - which means it works with num_workers > 0 even opening the h5 files outside __getitem__. but I'm not digging into it further.)

Note on the pip

However for the first issue, pip is working perfectly with hdf5plugin in my environment.
(Personally speaking I don't like conda because it messes up my environment.)
I use:

python 3.9x
Both working on M1 mac (without docker) and Ubuntu 20.x (inside docker - but I guess the docker does not matter for this pip for hdf5plugin issue.)
venv
poetry 1.1.11 (but I think this is optional, I don't need this to run my script)

I'd recommend to use venv if your pip has some problem and if you use the system python.
Hope this could help you.
Shintaro


Bump senzing from 3.2.0 to 3.3.0

See https://github.com/Senzing/senzingapi-runtime/issues/31

Pull requests:

https://github.com/Senzing/g2search/pull/37


POC: watch config files to load/unload maps

This is a first draft to demonstrate an approach to solving for #944 (Dynamic loading of maps). This is not meant to be ready for merge, but I've run it locally and it works well so far. This is now ready for review. Please give it a spin, and I'd love your feedback on the acceptability of the overall approach. Thanks!
New Abstraction
The central new idea/concept/abstraction is the "App". (I'm sure there's a better term for this, but bear with me.) An App is a collection of providers and maps which share a lifecycle. They are loaded into a Tegola instance as a unit and, when no longer needed, unloaded from Tegola as a unit.
The base TOML configuration file may contain an initial App which will never be unloaded. (Which is to say, the [[providers]] and [[maps]] section of the TOML file still work exactly as expected.)
Configuring Tegola to load Apps dynamically
A new, optional section is added to the base config, [app_config_source]. It includes a type plus any options required for that source type. The only option for the "file" type is dir which sets a directory from which to load apps.
[app_config_source]
type = "file"  # could also be "s3" or "redis" or any other source type someone wants to implement
dir = "./apps" # if relative, this path is relative to the location of the regular config file

Add any TOML file to that directory and its [[providers]] and [[maps]] will be registered immediately. Delete the file, and they'll be removed.
Key Implementation Details
The config/source package has been added providing ConfigSource and ConfigWatcher (implemented only by FileConfigSource so far):
type ConfigSource interface {
	Type() string
	LoadAndWatch(ctx context.Context) (ConfigWatcher, error)
}

type ConfigWatcher struct {
	Updates   chan App
	Deletions chan string
}

The initConfig process of Tegola's root command has been augmented with initAppConfigSource(), which starts a goroutine to receive updates and deletions from the ConfigWatcher channels.
To ensure that apps are loaded and unloaded as a unit, Atlas has been given two new methods, AddMaps() and RemoveMaps(). Name collisions are checked before adding any maps to Atlas, so that we don't quit partway through having added some maps but not others.

I don't see providers being unregistered when shutting down....

Good catch. My impression was that providers lived only as pointers on each map, but I didn't realize each driver/provider type is keeping track of its instantiated providers. This causes a couple problems with my approach:

There's no master list of all providers, so we can't check for name uniqueness. (This PR is ok with that—names must be unique only within an "app" because only maps in the app can use its providers, so there's no ambiguity.)
Without unique names, drivers/provider types don't have a way of unloading individual providers.

Actually, if we add a Cleanup() method to each provider, we don't need a master list. We can grab the provider from the map(s) as we unload the maps.

Despite my previous comment, I ended up creating a global list of provider instances in provider/provider.go. However, I prefer their names with a namespace (in the case of app config files, the file name) so uniqueness is required only per "app".

I have not forgotten this. My work has been focused on integrating our other systems with Tegola since Tegola is working well enough already, but I'll have some time later this month to get back to working on Tegola itself. I'll add the experimental guard to this PR as per @ARolek's request.


esp_wpa2_config_t was not declared in this scope

Hello! When I try to compile this code It appears that the type esp_wpa2_config_t wasn't declared, but I implemented the needed libraries and don't know why. Is it possible they retired that config variable type from the library?

Hello there, it looks like many things changed in esp_wpa2.h header file.
I am using older Arduino Core, my esp_wpa2.h is from 11th January 2019, it is from Arduino Core 1.0.1 up to 1.0.4 or similar.
So I think, example sketches are not useable with newer version of Arduino Core for ESP32.
My actual esp_wpa2.h (I havent found which .cpp library it is using): https://pastebin.com/sedMTmVP
There is both esp_wpa2.h codes diff: https://www.diffchecker.com/roChUY8R it looks totally reworked (on left, old version on right).

@JaimeHuarte I have created some updates in codes available in repository.
There is 2021 and 2022 implementations. In Arduino Core 2.0.3-RC1 there was added new WiFi.begin() function that can accept parameters for WPA/WPA2 Enterprise connection. Can you please test that?
Note: 2.0.3-RC1 is development version, it is not available if you are using .json link in Arduino IDE for stable-only releases.


[Snyk] Upgrade webpack from 5.75.0 to 5.85.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade webpack from 5.75.0 to 5.85.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 17 versions ahead of your current version.
The recommended version was released 22 days ago, on 2023-06-05.

Release notes

Package name: webpack

5.85.1 - 2023-06-05Bug Fixes

Fix bug in handling barrel imports (#17305) by @ bworline in #17307 - NOTE: An internal API BasicEvaluatedExpression.getMemberRangeStarts has been changed to BasicEvaluatedExpression.getMemberRanges, please see type definition changes and the pull request for more information.

Dependencies & Maintenance

Bump @ types/jest from 29.5.1 to 29.5.2 by @ dependabot in #17297

Full Changelog: v5.85.0...v5.85.1

5.85.0 - 2023-05-31New Features

Add readonly cache mode by @ vankop in #15470
Normalize property accessors for esm namespaces and chained member/call expressions by @ bworline in #17203
Support environment in loader context by @ alexander-akait in #17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet.addModule() by @ alexander-akait in #17212

Bug Fixes

Fix type regression with unknown module type strings by @ alexander-akait in #17266

Developer Experience

Use global runtime constants for webpack exports by @ burhanuday in #17270
Add strict mode type coverage for WASM and Runtime code by @ alexander-akait in #17267
Add strict mode type coverage for runtime modules and runtime plugins by @ alexander-akait in #17261
Add types for JSON & Asset Modules including their interfacing plugins by @ alexander-akait in #17262
Add type coverage for Module subclasses and plugins by @ alexander-akait in #17272

Dependencies & Maintenance

Use GitHub Discussions instead of Gitter in issue templates by @ snitin315 in #17293
Bump @ types/node from 20.2.3 to 20.2.4 by @ dependabot in #17269
Bump browserslist from 4.21.5 to 4.21.6 by @ dependabot in #17275
Bump @ types/node from 20.2.4 to 20.2.5 by @ dependabot in #17276
Bump @ babel/core from 7.21.8 to 7.22.1 by @ dependabot in #17278

Full Changelog: v5.84.1...v5.85.0

5.84.1 - 2023-05-25Bug Fixes

Fix regression in inner graph for reserved identifiers by @ alexander-akait in #17265

Dependencies & Maintenance

Bump @ types/jest from 29.5.0 to 29.5.1 by @ dependabot in #17027
Bump simple-git from 3.18.0 to 3.19.0 by @ dependabot in #17263

Full Changelog: v5.84.0...v5.84.1

5.84.0 - 2023-05-24 Read more

5.83.1 - 2023-05-17Bug Fixes

Fix regression in import/export normailization effecting mini-css-extract-plugin by @ alexander-akait in #17214

Full Changelog: v5.83.0...v5.83.1

5.83.0 - 2023-05-17 Read more

5.82.1 - 2023-05-10Bug Fixes

[CSS] - Support nesting in CSS modules and bug fixes by @ alexander-akait in #17133
[CSS] - Fix crash with importModule when CSS enabled by @ alexander-akait in #17140
Fix bug where output.hashFunction was failing to generate debug hash by @ ahabhgk in #16950
Reduce the amount of generated code for chunk loading by @ lvivski in #17151
Use module preload for ESM module output by @ alexander-akait in #17143

Developer Experience

Improve module type strictness for Module.prototype.type expand ModuleTypeConstants by @ TheLarkInn in #17136

Dependencies & Maintenance

Update package.json description by @ JeraldVin in #17145
Bump webpack-cli from 5.0.2 to 5.1.0 by @ dependabot in #17146
Bump core-js from 3.30.1 to 3.30.2 by @ dependabot in #17149
Bump enhanced-resolve to v5.14.0 by @ snitin315 in #17160

New Contributors

@ JeraldVin made their first contribution in #17145

Full Changelog: v5.82.0...v5.82.1

5.82.0 - 2023-05-03 Read more

5.81.0 - 2023-04-26 Read more

5.80.0 - 2023-04-19 Read more

5.79.0 - 2023-04-12

5.78.0 - 2023-04-05

5.77.0 - 2023-03-29

5.76.3 - 2023-03-22

5.76.2 - 2023-03-15

5.76.1 - 2023-03-10

5.76.0 - 2023-03-08

5.75.0 - 2022-11-09

    from webpack GitHub release notes

Commit messages

Package name: webpack

f0f0dd5 5.85.1
cc3fd6e Merge pull request #17307 from bworline/fix-17305
c8dc5fa Handle barrel imports (#17305)
6104d28 Merge pull request #17297 from webpack/dependabot/npm_and_yarn/types/jest-29.5.2
6099680 chore(deps-dev): bump @ types/jest from 29.5.1 to 29.5.2
c80b069 5.85.0
53c98f0 Merge pull request #17203 from bworline/ns
2a669ff Merge pull request #17212 from webpack/feat-support-custom-syntax
16660c1 Merge pull request #17272 from webpack/more-types
6d8d96b Merge pull request #17281 from webpack/feat-environment-to-loader-context
77c4deb Merge branch 'main' of https://github.com/webpack/webpack into ns
69210bb test: more
f9a52a6 test: more
5ab7e50 handle null dep.idRangeStarts
1df0148 update type def from rebase
9c7693b refactor: rebase
615af4a feat: allow to setup dynamic import in worker
dd94f64 test: added
37b2c21 test: fix
14928de chore: fix types and tests
65ee99d feat: support `environment` in loader context
792ee7e refactor(types): more
e0cd928 Merge pull request #17270 from burhanuday/refactor/use-runtime-globals
30c6df2 Merge pull request #17267 from webpack/strict-types-for-wasm

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

@snyk-bot rebase


make sure to export everything from the serializers index if not included in the others

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15704/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15704/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15704/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15704/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15704/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15704/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15704/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15704/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15704/merge/testResults/webgpuplaywright/index.html

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15704/merge/testResults/webgl2playwright/index.html


Log request

If "logRequest": true, is set in the custom profile request, will pass this along to the R5 worker (depends on https://github.com/conveyal/r5/pull/491)

Codecov Report

Merging #216 into dev will increase coverage by 0.69%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##                dev     #216      +/-   ##
============================================
+ Coverage     23.07%   23.77%   +0.69%
- Complexity      103      111       +8
============================================
  Files            62       62
  Lines          2405     2570     +165
  Branches        216      248      +32
============================================
+ Hits            555      611      +56
- Misses         1817     1925     +108
- Partials         33       34       +1

Impacted Files
Coverage Δ
Complexity Δ

...java/com/conveyal/taui/models/AnalysisRequest.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...l/taui/controllers/RegionalAnalysisController.java
7.96% <0%> (-1.2%)
3% <0%> (+1%)

...om/conveyal/taui/controllers/BrokerController.java
22.42% <0%> (+2.24%)
10% <0%> (+4%)
:arrow_up:

...rc/main/java/com/conveyal/taui/AnalysisServer.java
53.41% <0%> (+7.33%)
8% <0%> (+3%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 582dcda...954497e. Read the comment docs.


refactor ldap locales

refactor ldap locales
fix undefined method issue

Coverage remained the same at 72.77% when pulling 4319d4da4048475f00d9528b021278dd2df57040 on sunny4381:refactor-ldap-locales into 99cc7d6e5a756f7cbeb26f6841f20709598e4b00 on shirasagi:master.


Start levels fully zoomed out?

Is there a way to start the levels fully zoomed out?  It takes a moment to realize where the ogre or the retreat point is for levels "Dust" and "Desert Combat".

Good catch; I've zoomed out on those two levels and changed the defaults to make it less likely to happen again.

Good catch; I've zoomed out on those two levels and changed the defaults to make it less likely to happen again.


Added code for symbol pattern 20.

Code will print symbol pattern 20.
Related Issue - #705
Sample Outputs -

@aryashah2k Please review this PR.


Replace tpm2_print

To simplify code and get rid of tpm2_print tool, implement a function that parses TPMS_ATTEST so far that it can extract TPMS_CLOCK_INFO.

/packit retest-failed


Constraint to enforce stackdriver monitoring on a GKE cluster

I signed it! (Well, not really because the website says not to sign it but I changed the git email, and I'm hoping that will help.)

I signed it!

tried @jberlinsky's CLA fix, let's see if that worked

maybe need to reopen the PR


'Back' and 'Cancel'

Figure out the logic for back and cancel to exist and for which steps they show up
Maybe add a confirmation modal when user clicks any of these in the middle of the flow where they might lose information

@souperneon you all addressed this on other tickets in the meantime, right?

Nah. This is for a future review. Right now there is no cancel  and we talked about adding that which would require additional modals/warning messages.


Add a Gitter chat badge to README.md

10up/flexibility now has a Chat Room on Gitter
@jonathantneal has just created a chat room. You can visit it here: https://gitter.im/10up/flexibility.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Added!


Select bluetooth

In the config file there is an option of selecting but...
Although i have set interface 1 it still connects via the interface 0
There are no /dev/hci0 or /dev/hci1 devices
Although i see both interfaces under bluetoothctl
It's an octoprint release

Hi @moskovskiy82 ,
I just checked the code and the option should be forwarded correctly to the bluepy library. So I'm not sure what goes wrong there...
So to pin down the problem:

Which version are you running? From pypi? Or a branch from github?
Can you please turn on the debug mode in the config file and attach the log output.

old ticket --> closing it


Dt 305 add muted button styles

Description
Add muted and muted outline button styles to Dialtone. The styles already existed on Dialtone so just updated the variables and added the examples.
Pull Request Checklist

[x] Ask the contributors if a similar effort is already in process or has been solved.
[x] Review the contribution guidelines.
[x] Use staging as your pull request's base branch. (All PRs using production as its base branch will be declined).
[x] Ensure all gulp scripts successfully compile.
[x] Update, remove, or extend all affected documentation.
[x] Ensure no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] Request a review from Brad Paugh, David Becher, or Drew Chandler.

Obligatory GIF (super important!)

Idea for missing copy:

The muted button style is used to communicate non-primary actions for contexts in which the base style may not work (e.g. colored backgrounds, validation components, etc). This style’s use should be rare. When in doubt, use the [base button style](”The muted button style is used to communicate non-primary actions for contexts in which the base style may not work (e.g. colored backgrounds, validation components, etc). This style’s use should be rare. When in doubt, use the base button style.”).

Can we make sure to add muted button as one of the ~three~ four styles. That would also include moving that example up so its in the right order (see table of contents below).

Also, I know it's scope creep, but it's small and we're already in the file. Can we remove the "cursor styles" section, update the "disabled" section's .d-btn--disabled example to show what was in "cursor styles" example, and update the "disabled" section's first paragraph's last sentence to read this:

Using the class also requires aria-disabled and a wrapper to disable pointer events.

@braddialpad is the sentence about the pointer events accurate? Or should we say pointer events and the click event both need to be disabled?

@braddialpad is the sentence about the pointer events accurate? Or should we say pointer events and the click event both need to be disabled?

The wrapper does not actually do anything with pointer events, it only displays a "not allowed" symbol on mouse over. d-btn--disabled is what sets pointer-events to none. We should probably still mention the click event


hover with vrpn problems

I hover the crazyflie2.0 with vrpn
I roslaunch hover_vrpn.launch,and it successfully takeoff to the point (x,y,z)=(0,0,0.5)
and it will drift in the z axis after 10 seconds,then it will fly out off control
Is it becasuse of low battery?
2.
Can I just publish the position to the goal topic to change the position after takeoff(because I don't have a joy)?
rostopic pub /crazyflie/goal geometry_msgs/PoseStamped "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
pose:
  position:
    x: 0.5
    y: 0.0
    z: 0.5
  orientation:
    x: 0.0
    y: 0.0
    z: 0.0
    w: 0.0" -r 10

I try to use publish like this after it hover at (x,y,z)=(0,0,0.5)
but it seems doesn't work,it start to fly out of control

You should check the battery voltage to make sure. If the battery is low, there might be erratic behavior. Does the tracking work correctly or do you lose tracking?
Yes, changing the topic will move the quadrotor. You should avoid large step-inputs though. There is an example for waypoint following included.

the tracking works correctly,
and when the battery voltage is lower than half of the voltage,it starts to fly unstable.
Is it normal?
thanks for your reply

I think it depends on the payload and "structure" you added to fix some markers on the frame. Also, the controller in crazyflie_ros is not very good (it is not a sophisticated controller and runs externally). A better one is the on-board controller included in the crazyswarm project (see http://crazyswarm.readthedocs.io/en/latest/). This one can fly without issues until the batteries are nearly empty (and then the CF just falls down).

thanks,I get it.I'll try crazyswarm.


Add Dockerfile and update README

Hi -- this repo is really useful. I'm running it with a simple dockerfile and figure it best belongs here.

Goodness this has been open a long time! I tried this out and it worked for me!


_env keyword not mentioned in the documentation

The Github repo links to this documentation: https://docs.digdag.io/
However, the _env keyword is not mentioned there. It is, however, mentioned here: https://docs.treasuredata.com/display/public/PD/How+to+use+Secrets+in+Custom+Scripts
Which is the most updated documentation page?

Hello, @FredericoCoelhoNunes

Managed Digdag in Treasure Data = Treasure Workflow. (It is the biggest Digdag user and maintainer in the world.)
Digdag also supports _env option.

Could you try the following example?
_export:
  myapp:
    key1: val1

+task1:
  sh>: env
  _env:
    myapp_key1: ${myapp.key1}

myapp={"key1":"val1"} # export inplicitly from _export part. It is an unuseful data layout for use in a shell.
myapp_key1=val1       # define explicitly in _env section.

You also use _env: option in py> and rb> operators

@hiroyuki-sato yep, that is how I've seen it being used in the past. Thanks!


Memory use accumulates when analysing numerous SMILES

AiZynthFinder works fantastically well when analysing a single SMILES.
However, when repeatedly using the AiZynthFinder Python interface, I noticed that memory use spikes during the initial stocks upload process then falls back a bit and stabilises. Memory use then steadily creeps up (adding between 70 MB and 1,100 MB) with each SMILES searched, until the RAM is exhausted.
Thus far I think I've tracked it down to the finder.tree_search() while loop that contains a call to self.tree.one_iteration().
Is there a way to 'reuse' the AiZynthFinder module without the time-consuming stocks upload step for each SMILES?

Thank you for your feedback.
This is an issue with discovered with some of the latest versions of Tensorflow.
You have two options:

Try to downgrade Tensorflow to about 2.8.0
Clone the repository and use the release-3.7.0 branch. For the latest release we have gotten rid of the Tensorflow dependency and have converted the models to ONNX format that is more performant (and does not leak).


settings: Direct loading functionality

This commit allows loading data from settings permanent storage
directly to the given callback function.
Note that this commit expands settings API and it is still compatible with the previous version.
New function: settings_load_subtree_direct implemented and proven by unit testing.
The API to the backends is changed and it is not compatible with the old one (additional arguments to the load function). All currently available backends are updated.

@nvlsianpu can you please take a look at this PR?

cc @pdunaj

I like this functionality.
As it can be used for any variable or subtree that potentially has no registered set routine my proposal would be to name it settings_load_direct(var, cb).
Limiting the cb function to the h_set type could avoid confusion.

@rakons ^^ your opinion

cc @lemrey

@Laczen
Limiting the cb function to the h_set type could avoid confusion.

When it comes to the name - we can use any. When it comes to using h_set type - the problem is that I need context here in my handler.

Anything more I should change of can we merge it?

@rakons, I think that with the modified load functionality finding a entry where the set does not return 0 will stop loading all other data (at least for nvs). Could you please check this (line 123 nvs_backend: if (ret) {break;}).

@rakons, after doing a rethink about this change, is it not possible to add the cb function and cb_context to the read_fn_arg (settings_nvs_read_fn_arg, ...) ? In that case there would be a lot less changes, it would not change any API, ... when setting up the read_fn_arg cb function can be set to NULL, as well as context.

@Laczen

read_fn_arg (settings_nvs_read_fn_arg, ...) ?

Do you mean to add another function to the backend and add it into struct settings_store_itf callbacks?

@Laczen

@rakons, I think that with the modified load functionality finding a entry where the set does not return 0 will stop loading all other data (at least for nvs). Could you please check this (line 123 nvs_backend: if (ret) {break;}).

Yes - it would stop loading if h_set returns non 0 (see settings_call_set_handler in line 193 in settings.c file). Should it behave other way? If it just cannot find a settings handler - such an error is ignored (return 0).

@Laczen

@rakons, I think that with the modified load functionality finding a entry where the set does not return 0 will stop loading all other data (at least for nvs). Could you please check this (line 123 nvs_backend: if (ret) {break;}).

Yes - it would stop loading if h_set returns non 0 (see settings_call_set_handler in line 193 in settings.c file). Should it behave other way? If it just cannot find a settings handler - such an error is ignored (return 0).

@rakons, Yes I think it should behave differently, when a h_set returns non 0 (this could be because the h_set does not find a match to do something or the length is wrong or ...) this should not influence other loads. The error should be ignored.

@Laczen

when a h_set returns non 0 (this could be because the h_set does not find a match to do something or the length is wrong or ...) this should not influence other loads. The error should be ignored.

I see. I will fix it in settings_call_set_handler.

@Laczen

read_fn_arg (settings_nvs_read_fn_arg, ...) ?

Do you mean to add another function to the backend and add it into struct settings_store_itf callbacks?

No, I mean to use the read_fn_arg to pass other data like cb function and cb context. The classical load would keep the cb function and cb context set to NULL, the load direct would change the cb function and cb context to pass the appropriate cb and context.

I am not sure about it - it seems like just an NVS backend functionality. Isn't it?

I am not sure about it - it seems like just an NVS backend functionality. Isn't it?

Probably I was looking at nvs to much and the proposal was indeed too specific. So your reply was indeed correct, add it to settings_store_itf as csi_load_cb and csi_load_cb_arg, and use this to pass information around.


RFC: buildinfo in luci-base

Hi, to help supporting users it could be beneficial to know as exactly as possible what they're running. For this the buildinfo files (version, package feeds + hash, build config) could be helpful. With the recent commit https://github.com/openwrt/openwrt/pull/2766 these files are partly available.
Could it make sense to extend the System tab to show these files so users can simply copy & paste them for bug reports?

I'm not sure about the benefits. The version is enough to see if an image is official, in this case we know its configuration. If the image is custom, one could expect users to be able to run ./scripts/diffconfig.sh in their buildroot. If the image is custom from an unknown source, the buildinfo files will not help as they do not describe modifications made to the source code.


FCMPlugin.java uses or overrides a deprecated API.

When I build the app I get this messages:
[cordova] Note: R:\wamp\app\sofilink4\platforms\android\app\src\main\java\com\gae\scaffolder\plugin\FCMPlugin.java uses or overrides a deprecated API.
[cordova] Note: Recompile with -Xlint:deprecation for details.
Originally posted by @leocharrua in https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated/issues/93#issuecomment-640978416

Version 7.0.1 changes the approach of messages from native to JS context, replacing the deprecated API.


Add CoScale to Observability & Analysis / Monitoring

CoScale provides performance monitoring for container and microservices environments.
See also:
http://www.coscale.com
http://www.coscale.com/docker-monitoring
Logo:

+1

Hi @parijs please find in 0.9.4 https://github.com/cncf/landscape/tree/master/landscape


Haddock changes for T10598 (take two)

This contains all of the necessary Haddock changes to go along with Phab D2280, which fixes GHC Trac #10598.
Second attempt after #520.

Merged in http://git.haskell.org/haddock.git/commit/d73b286cb39ad9d02bee4b1a104e817783ceb195.


Clean owners file

Clean owners file.
In case of issues we need to be able to merge.

/retest

/azp run e2e


Annoying user-facing messages during radio calibration

We should get rid of these. The "disarmed" messages are misleading and annoying.

Those were anyway too verbose. Removed in 13bf312263.