Feedback before initial release of Compiler Options Hardening Guide for C and C++

Opening this issue for collecting feedback on the proposed Compiler Options Hardening Guide for C and C++ before its initial release.
Tagged release candidate for the guide can be found here.

Hi,
This guide is quite comprehensive! My only current suggestion is that as a developer, I would really appreciate more info about this:

Those who build programs for production may choose to omit some options that hurt performance if the program only processes trusted data, but remember that it’s not helpful to deploy programs that that are insecure and rapidly do the wrong thing. Existing programs may need to be modified over time to work with some of these options.
It would be helpful if for each option (or only the relevant options), a statement was made as to what the performance or other drawbacks are and any relevant workarounds.

It would be helpful if for each option (or only the relevant options), a statement was made as to what the performance or other drawbacks are and any relevant workarounds.

Thank you for the feedback @tcullum-rh.
They way in which we have tried to accommodate this in the current version of the guide are the Performance implications and When not to use? sections in the detailed descriptions for each option (excluding the Warning options, as they do not impact the produced binary directly).
For example, for -fstack-protector-strong:

Stack protector supports three different heuristics that are used to determine which functions are instrumented with run-time checks during compilation:
-fstack-protector-strong: instrument any function that takes the address of any of its local variables on the right-hand-side of an assignment or as part of a function argument allocates a local array, regardless of type or length
allocates a local struct or union which contains an array, regardless of the type of length of the array
has explicit local register variables
-fstack-protector: instrument functions that call alloca() or allocate character arrays of n bytes or more in size . The threshold for instrumentation is adjustable via the --param=ssp-buffer-size=n option (default: 8 bytes).
-fstack-protector-all: instrument all functions.
The performance overhead is dependent on the number of function’s instrumented and the frequency at which instrumented functions are activated at run-time. Enabling -fstack-protector-strong is recommended as it provides the best balance between function coverage and performance. Projects using older compiler versions can consider -fstack-protector-all or -fstack-protector with a stricter threshold, e.g. --param=ssp-buffer-size=4.
When not to use?
-fstack-protector-strong is recommended for all applications with conventional stack behavior. Applications with hand-written assembler optimization that make assumptions about the layout of the stack may be incompatible with stack-protector functionality.

In general, the performance impact is surely the most frequently asked question when considering the deployment of these types of compiler options. Sadly, it is very difficult to estimate the impact in general, as it is dependent on the interaction with specific characteristics of the source code. Therefore, we've opted to try and characterize where the overhead comes from to try to help developers with how to measure the overhead in meaningful benchmarks in their project.
We are of course open to other suggestions of what kind of information would be useful for practitioners.

@tcullum-rh : We agree in principle that important issues/caveats with an option should be mentioned with the option. In several cases where the issues are clear we have tried to do this. Sadly, often the answer is the lawyer's answer: "It depends". Whether or not there's a nontrivial performance impact often depends on many other factors, in particular, optimizations can sometimes (but not always) reduce or eliminate performance costs. If there's an important case where there's a clear issue and we haven't discussed it, please propose adding it! In general, the only way to answer the question is to run benchmarks. Everything else is only a quick estimate of the likely result.

I created a PR https://github.com/ossf/wg-best-practices-os-developers/pull/259 to briefly discuss system headers.

Thank you for this!
Could you consider adding -mbranch-protection=standard for arm64? This is default in Debian and Fedora. In 2019 using glibc, Arm measured the use of the bti+pac options to reduce ~98% of ROP and JOP gadgets.
Is --enable-default-pie more appropriate?

For developers, could we recommend -fstrict-flex-arrays=3 and -fsanitize=bounds.
https://people.kernel.org/kees/bounded-flexible-arrays-in-c
https://www.youtube.com/watch?v=V2kzptQG5_A
Distros need to test these flags and report breaks upstream before they can be a widely used.

Please also add -Wimplicit-fallthrough

@kees: Thanks so much for your feedback! I think adding -Wimplicit-fallthrough is a great idea.

eslerm commented 24 minutes ago

For developers, could we recommend -fstrict-flex-arrays=3 and -fsanitize=bounds?

FYI, we have a separate issue specifically discussing -fstrict-flex-arrays here: https://github.com/ossf/wg-best-practices-os-developers/issues/249
I'm supportive for adding -fstrict-flex-arrays but that does imply a lot of changes for some programs. Also, last I checked clang didn't support level 3 (which I think is a mistake on their part, but I don't control the clang project :-) ).
I don't think people have seriously considered adding -fsanitize=bounds, which instruments array bounds. The problem is the non-trivial performance overhead. The design of C (and thus C++) makes it challenging to have good performance when doing the kind of bounds-checking that is the default in almost all other programming languages. Here's one study, I'm sure there are more: https://zatoichi-engineer.github.io/2017/10/05/sanitize-object-size.html. Some people may find the performance loss unacceptable, but C and C++ tend to used in the very situations where performance matters. That isn't necessarily the end of the story, though. The current draft focuses only on option flags for production use. There's been discussion about extending this document to also include flags for use during testing and debugging. That WOULD make sense there - it makes sense to turn on sanitizers and run dynamic tools like fuzzers and test suites. Maybe you could help us expand the document to those use cases?

Thanks David. Ack on production use.
Clang now supports level 3, but only on rather recent versions.
There is a similar ongoing discussion with GCC: RFC: Introduce -fhardened to enable security-related flags.

Clang supports -fstrict-flex-arrays=3, so no worries there.

This article has lots of ideas, I'm not sure we can do them all before an initial release: https://developers.redhat.com/articles/2022/06/02/use-compiler-flags-stack-protection-gcc-and-clang

Per eslerm comment (https://github.com/ossf/wg-best-practices-os-developers/issues/250#issuecomment-1762253579) I created a PR proposing to add branch protections here: https://github.com/ossf/wg-best-practices-os-developers/pull/260
This covers -mbranch-protection=standard and -fcf-protection=full.

eslerm commented 4 days ago asked:

Is --enable-default-pie more appropriate?

Interesting question. First, some context. I believe that --enable-default-pie is a GCC option used when recompiling the GCC compiler. By using it, the generated GCC compiler will default to  including -fPIE and -pie options by default when it compiles something else. As far as I know that is GCC-specific. I believe a somewhat-equivalent configuration option clang/LLVM world is CLANG_DEFAULT_PIE_ON_LINUX. See this discussion on the clang default setting.
The problem with these options is that many application developers do NOT recompile their own compiler. They instead use a compiler provided to them (e.g., the system compiler or one distributed for their chipset). So while these options are valid if you're recompiling the compiler (e.g., a Linux distro), I think we cannot remove -fPIE and -pie because using them ensures you get the safer setting.
We could add a note that "if you recompile the compiler itself, it's best to modify its configuration itself so its defaults are maximally secure for any software compiled using it. For example..." or something along those lines.

I've created a PR to note that if you are compiling a compiler, make its defaults as safe/secure as you can. For many readers this isn't helpful (many developers do not compile their own compilers), but this is a useful note for Linux distributions and some others who do compile their own compilers: https://github.com/ossf/wg-best-practices-os-developers/pull/261

I've added this PR to add -Wimplicit-fallthrough: https://github.com/ossf/wg-best-practices-os-developers/pull/262

This PR proposes to add the option -fstrict-flex-arrays=3: https://github.com/ossf/wg-best-practices-os-developers/pull/263
Note that this PR, if accepted, would fix issue #249.

I propose that before the initial release we merge the PRs in response to this issue. That is, at least accept #259, #260, #261, #262, #263. If there are other PRs that are (mainly) ready to go, let's get them in. I'd like our first draft to have at least the main agreed-on results that I believe are captured here.

We should probably discuss adding -mshstk to the C/C++ Compiler Hardening Guide. I've created a separate issue #267 to track this. Is anyone aware of any problems with this flag? If they are, please comment on #267.

@gkunz  @thomasnyman and others - I'd love to hear your thoughts on https://github.com/ossf/wg-best-practices-os-developers/pull/259, https://github.com/ossf/wg-best-practices-os-developers/pull/260, https://github.com/ossf/wg-best-practices-os-developers/pull/261, https://github.com/ossf/wg-best-practices-os-developers/pull/262, https://github.com/ossf/wg-best-practices-os-developers/pull/263 . If you think they makes sense, please merge (or say it's okay to merge). We might want to implement #267 but I expect we'll create merge conflicts as long as we have a number of changes outstanding. Merge conflicts aren't the end of the world, but I'd rather not need to deal with them unnecessarily :-).

For developers, could we recommend -fstrict-flex-arrays=3 and -fsanitize=bounds?
people.kernel.org/kees/bounded-flexible-arrays-in-c youtube.com/watch?v=V2kzptQG5_A
Distros need to test these flags and report breaks upstream before they can be a widely used.

I like the idea of this but this may deserve an "emerging features" section or similar (things we want to work towards). It's not suitable for global use right now, but it'd be great if anyone wants to take up work to get us there. Listing it as a goal would let us list it without giving people the worng idea.

Two paragraphs in section 3.11.1 have roughly the same meaning.
Out-of-date versions of GCC may not detect or defend against overflows of dynamically-sized local variables such as variable-length arrays or buffers allocated using alloca() when compiling for 64-bit Arm (Aarch64) processors. Users of GCC-based toolchains for Aarch64 should ensure they use up-to-date versions of GCC 7 or later that support an alternative stack frame layout that places all local variables below saved registers, with the stack-protector canary between them.
Some versions of GCC may not detect or defend against overflows of dynamically-sized local variables such as variable-length arrays or buffers allocated using alloca() when compiling for 64- bit Arm (Aarch64) processors. Users of GCC-based toolchains for Aarch64 should, before depending on it, determine if they support an alternative stack frame layout that places all local variables below saved registers, with the stack-protector canary between them.
I understand that its deals with with two different things : "Out-of-date versions " and "Some versions" of GCC for aarch64 CPU. But do you think that one paragraph can summarize the two ideas ?
Out-of-date versions and some versions of GCC may not detect or defend against overflows of dynamically-sized local variables such as variable-length arrays or buffers allocated using alloca() when compiling for 64- bit Arm (Aarch64) processors. Users of GCC-based toolchains for Aarch64 should, before depending on it, determine if they support an alternative stack frame layout that places all local variables below saved registers, with the stack-protector canary between them.

We'll close this out as 1.0 is out now!


Cannot trust the OrbStack Development Root CA after accidentally click to cancel

Describe the bug
I'm experiencing difficulty after accidentally clicking the "Cancel" button during the certificate installation dialog.
Is it possible that OrbStack has already generated the Root CA somewhere in the system?
To Reproduce

Open up https://orb.local (first time)
Certificate helper dialog shows up and asks for the user's password
Click to Cancel button
Open up https://orb.local again in the same browser.

Expected behavior
If the Root CA is not installed inside macOS keychain, it should at least be saved into ~/.orbstack directory or the install root ca prompt should be show up again when user visit HTTPS orbstack domain.
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.6.2
Commit: 19bce6bc5e4b2d57ea2b7211538f50ae6f617c56 (v1.6.2)
System info:
macOS: 12.7.2 (21G1974)
CPU: arm64, 8 cores
CPU model: Apple M1
Model: Macmini9,1
Memory: 16 GiB
Screenshots and additional context (optional)
No response

It's already installed in the keychain, just not trusted. That means you can trust it manually in Keychain Access, or restart OrbStack to trigger the prompt again. We don't keep asking in order to avoid annoying people who don't want to install the certificate.


Support a query with multiple statments (unofficially)

Fix https://github.com/wvanbergen/vertica/issues/63

Sorry for all the back and forth, but I think this is looking pretty good? Thanks for working on this ❤

Just waiting for CI now...

CI passed


cannot show in nested navigation

just_the_tooltip can only be displayed under root navigation, not under sub navigation, using go_router test

I have encountered a similar issue.


Remove the evdev::Error type

Unnecessary, since all the errors that can happen are just standard OS errors. I was gonna make the InvalidEvent condition just be a custom io::Error, but I replaced with a panic, since it's more of an function signature thing than like, an IO error.

Merging as-is - I'll look at ways we could avoid the check altogether, maybe newtypes


[Android] Problem with build

Hi! I have problem with building android app:
e: file:///C:/Users/shtre/StudioProjects/novakid-mobile/android/app/src/main/kotlin/com/novakid/student/services/ExponeaFirebaseMessageService.kt:5:20 Unresolved reference: ExponeaPlugin
e: file:///C:/Users/shtre/StudioProjects/novakid-mobile/android/app/src/main/kotlin/com/novakid/student/services/ExponeaFirebaseMessageService.kt:17:9 Unresolved reference: ExponeaPlugin
e: file:///C:/Users/shtre/StudioProjects/novakid-mobile/android/app/src/main/kotlin/com/novakid/student/services/ExponeaFirebaseMessageService.kt:22:9 Unresolved reference: ExponeaPlugin

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileQaDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

Problem with old gradle version. Example doesn't work too. And you using old plugin for deeplink. I created fork. Can you look at my solution, may be it help to update project
https://github.com/shtreb/exponea-flutter-sdk

So, print doctor -v
`[√] Flutter (Channel stable, 3.22.2, on Microsoft Windows [Version 10.0.22631.3880], locale ru-RU)
• Flutter version 3.22.2 on channel stable at C:\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 761747bfc5 (9 weeks ago), 2024-06-05 22:15:13 +0200
• Engine revision edd8546116
• Dart version 3.4.3
• DevTools version 2.34.3
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at C:\Users\shtre\AppData\Local\Android\sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.10+0--11609105)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.9.2)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
• Visual Studio Community 2022 version 17.9.34622.214
• Windows 10 SDK version 10.0.22621.0
[√] Android Studio (version 2024.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.10+0--11609105)
[√] VS Code (version 1.89.1)
• VS Code at C:\Users\shtre\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.88.0
[√] Connected device (4 available)
• Pixel 6a (mobile) • 26131JEGR08578 • android-arm64  • Android 14 (API 34)
• Windows (desktop) • windows        • windows-x64    • Microsoft Windows [Version 10.0.22631.3880]
• Chrome (web)      • chrome         • web-javascript • Google Chrome 127.0.6533.89
• Edge (web)        • edge           • web-javascript • Microsoft Edge 127.0.2651.86
[√] Network resources
• All expected network resources are available.
`

Hi @shtreb,
thanks for reaching out. regarding your problem, it looks to me more like missing import of ExponeaPlugin inside your code, try adding import com.exponea.ExponeaPlugin at the beginning of your ExponeaFirebaseMessageService.kt.
We are aware of the old versions of dependencies inside SDK as well Example app and have plans to upgrade them soon.
Regards

@roland-misica unfortunately, I added import to native project. But I have good news, after update to 1.7.0 build working very well.


Use Google tiles and Local tiles

Hi,
Is there a way to use custom local tiles on top of google map tiles? Can we use google map tile and local tile together?

No issue template, closing.


Which database for which use case?

Question
Should I use CosmosDB or SQL server as database? Are there particular use cases for each type?
Description
We are currenty deploying the FHIR server on Azure and have to choose either CosmosDB or SQL Server as the backend database, but have no clue which one would be the most optimal. From the documentation and sample deployments, it seems that SQL server is more used, but does that imply that SQL server would be better in general?
What we see as the benefits of the two:

CosmosDB:

Cheaper for small workloads
Can scale infinitely
Document database looks more natural for FHIR

SQL Server:

More familiar
Can also be deployed locally or on another cloud
Easier to access from desktop via e.g. DBeaver
Easier to manually backup and restore

Is there anything we are missing?

@Lukas1v - From a functionality perspective, SQL will support transaction bundles (https://www.hl7.org/fhir/http.html#transaction) on FHIR and has slightly more robust support for chained/reverse chaining search. The Cosmos DB has support for $patient-everything but SQL will eventually.

The trade-offs only start to matter at much higher load/scale (i.e. Cosmos has Autoscale and also transparently manages physical data partitions), the Cosmos provider is what is used in Azure API for FHIR today.
SQL will require a little more maintenance (i.e. schema upgrades, and as you mentioned, some DBA work such as backups). However, SQL has a more capable query engine and transactions, thus more FHIR features in general can be supported. I think SQL would make sense unless you have reasons to believe you'll be scaling to many TB very quickly.


engine image: Reference count should count for live upgraded engine as well

The live upgraded engine is running inside the old instance manager, which is using the old engine image.
Currently, once upgraded, the reference count of the old engine would be reduced. But since the updated engine is still running inside the old instance manager, we cannot allow removing the engine image thus remove the old instance manager for the engine.

Validation: PASSED
Steps to test:

Deploy longhorn with engine image longhornio/longhorn-engine:live-upgrade-2-2-1
Create few volumes, attach them to nodes.
Deploy new image longhornio/longhorn-engine:v0.6.0-rc1
On Volume page select some volumes, and click Upgrade Engine, and select v0.6.0-rc1 engine image.
On Settings/Engine Image, reference count should be updated with the number of upgraded volumes.


Reviewdog does not cause action step to fail (swallows error exit)

I'm running this step in a GitHub action:
    - name: Run TypeScript
      run: yarn typescript | reviewdog -f=tsc -reporter=github-pr-review -fail-on-error=true
      env:
        REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}

for testing purposes, I added a tsc error.

however, reviewdog still doesn't exit with an error, causing the action to report a "successful run" even though it obviously should've failed:

Am I missing something? Full action is here

Since the official "tsc" reporter didn't seem correct, I tried to use a custom efm:
yarn typescript | reviewdog -efm="%f:%l:%c - error TS%n: %m" -reporter=github-check -filter-mode=nofilter -fail-on-error

where yarn typescript is just tsc --noEmit
but this also did not work. It fails with exit code 2, but reviewdog just swallows that and does not fail the pipeline

I'm finding similar issues with a different input. -fail-on-error does report some things failed, but the GitHub Action passes successfully.
Here's the config:
runner:
  credo:
    name: credo
    cmd: mix credo suggest -a --strict --format=flycheck
    errorformat:
      - "%f:%l:%c: %t: %m"
      - "%f:%l: %t: %m"
    level: warning
    fail_on_error: true
  sobelow:
    name: sobelow
    cmd: mix sobelow --flycheck -i Config.CSP --exit
    errorformat:
      - "%f:%l:%c: %m"
      - "%f:%l: %m"
    level: warning
    fail_on_error: true

The action:
      - name: "[ReviewDog] Check"
        env:
          REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          reviewdog -reporter=github-check -fail-on-error
          EXIT_CODE=$?
          echo "exit code: ${EXIT_CODE}"
          exit ${EXIT_CODE}

And the output:
2021/05/28 07:27:30 reviewdog: [finish]	runner=credo	error=exit status 4
2021/05/28 07:27:30 reviewdog: [finish]	runner=sobelow	error=exit status 1
2021/05/28 07:27:31 [sobelow] reported: https://github.com/ORG/PROJ/runs/NUM (conclusion=neutral)
2021/05/28 07:27:31 [credo] reported: https://github.com/ORG/PROJ/runs/NUM (conclusion=neutral)
exit code: 0

Maybe my action is wrong, but I've tried a number of variations and still get the same result: exit 0

I think this is a duplicate of https://github.com/reviewdog/reviewdog/issues/736, right?


Set "latedef" to "nofunc" in the plugin generator

This change makes the plugin generator consistent with the generator generator.
JSHint will no longer complain about the function being “used before it was defined” in this example:
work();

function work() {}

Coverage remained the same at 98.0% when pulling c1e8af6f9309c61593477b505cb4e0090e47c2b4 on plugin-jshint-latedef into 801dace37f583f967ca68d1e3109c169ffec3bd2 on master.


Backported fixes from master(#37)

CHECK_NULL in SerializationService header moved to source file
since MACRO's can collide with users MACRO when defined in header.
A example code is provided for custom serialization.
Related test codes are modified for custom serialization.
For threads safety, instance of SerializationConstants is created in
global space.
ClassCastException for portable identified and custom serializable
is added.
These fixes are backported from #37
Remove singleton usage of SerializationConstants to avoid thread safety
issues.

:+1:


c_g_a_9.zip is not downloadable

I'm keep failing to download one file c_g_a_9.zip

Sorry, I just saw your message now. Have you resolved the issue yet? If not, please check your internet connection. If that doesn't work, we'll provide a OneDrive link to the dataset within a few days. Hopefully, that will be helpful.


Add WeaponObject.getByID and WeaponObject.getByScriptID methods

This PR fixes https://github.com/altmp/altv-js-module/issues/295 by adding WeaponObject.getByID and WeaponObject.getByScriptID methods

done @C0kkie


Fix goroutine leak

The number of goroutines is constantly growing. It looks like the AvS client (http with oauth) is created for every http call. It should be changed to use shared one. The initial AvS implementation was done this way, but there was a problem with token refreshing (see https://github.com/kyma-project/control-plane/pull/268/files).
AC:

no goroutines leak

In case of extracting AvShttp client to shared one - test the implementation for more than 24 h to check if it works fine (token refreshing etc.)

One way to test it on dev without promoting it to stage is to add the pr-deploy label to the promotion PR. This will allow you to push the tested KEB version to dev with promotion to stage blocked. A good idea would be to do this on Friday and revert on Monday, so we get over 48 hours of testing without interfering with the normal KEB releases that happen during the week.
We should also create a custom KEB release from a fork for this testing scenario, by building and hosting the KEB chart there as we do upstream, without interfering with the upstream KEB release process. After successful testing, everything should be merged back to upstream and released there.

The leak is somewhere in AVS_Create_Internal_Eval_Step during both provisioning and deprovisioning. This was confirmed by disabling this step. After disabling it, the goroutines count stopped growing.

Creating AVS external evaluation is disabled on all environments, see https://github.com/kyma-project/kyma-environment-broker/pull/139

We decide to leave this issue for now, as it only occurs on dev.


Catvar support for tf-df

@tlapusan please take a look at this branch that I started for you. If you run testing/tf_df_catvars.py, it should show you a classifier tree with bar chart for leaves not pie charts. Pie chart leaves crash at the moment.
I think in order to support string categorical variables we need to do the following:

Detect and convert strings to integers in ShadowTensorflowTree.__init__ via model(); record the string to integer mapping for any categorical columns. I created and filled self.catvar_maps.
For now, we can simply not show a wedge for any catvar; this will probably work for both classifiers and regressors
There's no such thing as a "split value" for categoricals in the general case as it might be doing set membership in tensor flow trees. Per the previous bullet point, I have simply detected this and turned off split wedge display for strings.
We currently do our own walking of the tree in order to compute paths from the root to leaves, which means we do not properly handle categoricals for tensorflow. We need to ask the node for its set membership or better yet ask the underlying tf node to make the decision for us.
Labels on tree edges can only be less than or greater than; at the very least we should not turn that on beneath a categorical test for the moment.

Feel free to just cut and paste from this and put into your own branch. Not sure how to add you to this branch.
I put a ref to @Tudor add a place in the code where we are calling node.splits() that likely needs attention as well.
The good news is that this first example works who is very minimal changes. Pie charts crash and I'm sure it will crash if we try to Display a path from root to leaf. haha.  But, shouldn't be too bad.

@parrt I think we could handle categorical with string values without encoding/decoding them into an integer value.
I managed to modify the current code to do this.... (with some hardcoding stuff :)) still need to better understand it)

"2. For now, we can simply not show a wedge for any catvar; this will probably work for both classifiers and regressors"
this is how we are currently displaying the categorical split nodes (for classification and reg):

"3. There's no such thing as a "split value" for categoricals in the general case as it might be doing set membership in tensor flow trees. Per the previous bullet point, I have simply detected this and turned off split wedge display for strings."
Indeed, for categorical splits we are using the 'x in get_node_split(node_id)' where get_node_split is a set of values. So we handle categorical splits in dtreeviz :)
pls check https://github.com/parrt/dtreeviz/blob/5c1cc6d251b0447249e5211687bfe0db11bc7c9b/dtreeviz/models/lightgbm_decision_tree.py#L223
"4. We currently do our own walking of the tree in order to compute paths from the root to leaves, which means we do not properly handle categoricals for tensorflow. ..."
We do properly handle the categorical splits :) here : https://github.com/parrt/dtreeviz/blob/5c1cc6d251b0447249e5211687bfe0db11bc7c9b/dtreeviz/models/tensorflow_decision_tree.py#L193


Issue with npm xmas

OS version and name: macOS Sierra Version 10.12.2 (16C67)
Hyper.app version: Version 1.0.0 (<IP_ADDRESS>3)

Issue
npm xmas does not format well on Hyper, but does on Terminal.app
Snapshots:

Hi,
Could you try using the default theme? For me it renders nearly correct

Same here on Windows.

NPM 3.10.9
Hyper 1.0.0
Electron 1.4.7
win32 x64 10.0.14393

Nearly nothing:

On Powershell:

Working great here...

hyper-snazzy theme
hack font
Hyper 1.1.0 (<IP_ADDRESS>8)
npm 4.1.2
macOS Sierra 10.12.3 Beta (16D30a)

Hey there, please try again with the new Hyper v2 release and open a new issue if the problem stills exists. Thank you!


GLES3 doesn't work on Linux (black screen)

Godot version:
master (regression)
OS/device including version:
Arch Linux (Antergos)
OpenGL ES 2.0 Renderer: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2)
Issue description:
3d doesn't work
Minimal reproduction project:
Any

Is GLES2 broken or GLES3? Your title says GLES3 but the actual report says GLES2.

GLES3 is broken.

In Ubuntu 18.04 with GTX 970 GLES 3 and GLES 2 works

Can't reproduce on Mageia 7 x86_64 with Nvidia GTX 670MX opening the TPS demo, everything seems to work fine. Running 41708eb8.

I updated to master again and now I can also not reproduce it anymore.


Join the airdrop, no mistake.

Dear technical support, I live in Russia with all the data entered in your profile, and nothing is entered after the activated phone through the message, my personal login from the account. chekdesign*keybase.io and personal wallet address.
Sorry, you are not qualified to join.
3 acive devices or paper keys (you can add more from device tab)  + ;
Phone number is in an approved country. You Can add a phone nimber in Settings. ( x );
A beautiful smile + ;

Im having this same issue from the UK. 3 green ticks and then not qualified

+1 for UK


adding new volumes option and tests

Adding volume feature, according to docker doc, Volumes are the preferred mechanism for persisting data generated by and used by Docker containers.
I exposed the volume parameter as a new Volume type to match the other options

@SadSadko few comments, thanks for raising the PR!

Hi @cristianrgreco @SadSadko
Will we have this feature any time soon? I would love to bind volumes to containers, especially host volumes (volumes that we can use to share data between the container and the host).


Simplify sha1 functions

Some simplifications to prevent wheel re-invention:

Use hex.EncodeString(..) instead of manually hex encoding

This is likely to be faster, since we don't have to allocate a byte array containg 012..ef each call.

Use copy(..) instead of manually copying bytes

This is likely to be faster, since copy has architecture-specialized implementations

Use bytes.Equal(..) instead of manually comparing bytes

Again, this is likely to be faster, since bytes.Equal has architecture-specialized implementations

For the record, converting an array to a slice (arr[:]) does not copy the array.

LGTM


How can I reconstraction hair model with a single image ?

Hi.
I‘ve downloaded the model and put it into the folder(network\experiments\ckpt).
And put real image into the folder(network\data\real) like below:

Then I exec the main.py by
Python main.py --mode demo
I've tested a few real image and get result seems incorrectly:

Did I miss something in my operating procedure ?

Sorry, I didn't notice your question until then.
In fact, I didn't totally achieve the entire pipline of HairNet: I skip the step that converts rgb images to orientation maps.
The images inputed to my model must be 2-channel orientation maps:

However, demo data loder just extracts the red and blue channal of input images, so the demo mode in main.cpp is invalid (sorry for not indicating it in readme).
Thus, if you want to test with real images, you should first convert them to undirected orientation maps using Gabor filter as mentioned in original paper.

hello I want to know how to  generate 180 filters

你好
我已经下载了模型并将其放入文件夹（network \ experiments \ ckpt）中。
并将真实图像放入文件夹（网络\数据\真实），如下所示：

然后我执行main.py
Python main.py --mode demo
我已经测试了一些真实图像，但得到的结果似乎不正确：

我在操作过程中错过了什么吗？

Because the link of pre-trainded model and trainning data the atuhor provided have been invalid .Can you share me the pre-trained model and training data that you have downloaded?


Add support for client config?

It seems other language-server clients have support for a client config - e.g. coc for neovim
This would probably prove useful for several clients (other examples of client-options are available on other coc implementations - here's Java).

I've reached out to the Vetur folk here asking for config to be populated with some sane defaults, or these problematic config queries to be safely accessed instead of assuming they exist.

Yup, client-config is definitely lacking. I'll have to investigate what the possibilities are though.

After reading into it a bit more it seems you're talking about the settings that come with the vue extension for VSCode? Like .sublime-settings?

I'm not intending to talk about any specific implementation. Looking at some of the coc implementations I linked to it seemed like maybe there was a (standard?) way language-servers could accept a config.
If there's not a standard way this is done (e.g. 'send me an object on language-server boot with this shape'), this is ofc. pretty difficult to solve.

Hello Dave,

e (e.g. 'send me an object on language-server boot with this shape')

Maybe you are looking for initializationOptions.
As an example the intelephense language server uses initializationOptions to provide the storagePath before the server is initialized.
"intelephense-ls":
{
    "command": ["node", "/home/predrag/.npm-global/lib/node_modules/intelephense-server/lib/server.js", "--stdio"],
    "languageId": "php",
    "scopes": ["source.php"],
    "syntaxes": ["Packages/PHP/PHP.sublime-syntax"],

    "initializationOptions":
    {
        "storagePath": "/tmp/intelephense"
    },
},

@predragnikolic - That's one of the use-cases (server config vs. client-config) I was thinking of, yes! Not sure how I missed that looking at the docs, but thanks! :D

Yes, initializationOptions seems to be the way to go for a language server. Closing this because we can't really do anything about the vscode-specific options from sublime.

The other configuration mechanism (workspace/didChangeConfiguration) is also in use with vetur, you can add the entries in a dict named settings in your vetur language server config.
You can see the options vetur accepts here:
https://github.com/vuejs/vetur/blob/24495504e25e6381c9ed750d92fede75e087dc09/server/src/services/vls.ts#L117-L131


allow plates and sera to be categorized into groups

Looking at current GitHubs, I think it would be helpful to allow plates and/or sera to be categorized into groups, such as "pilots_for_determining_library_dilution" etc. That way the data/plots for troubleshooting are not mixed with the ones for actual results.
@anloes @ckikawa, any thoughts on this idea or how to do it before I start to implement?

Agreed! Rather than adding more keys to each per-plate config, would it be better to instead have some sort of centralized dictionary in the config that defines group keys as consisting of certain plates/sera?
This would be nice for identifying samples as belonging to library optimization (as you pointed out) or as belonging to different serum sample cohorts/studies. Particularly if this could be used to interactively toggle sera on the aggreagte_titers plots. It would be helpful to filter the many sera NT50 plots to just those relevant to library optimization, just those relative to specific cohorts, etc.


README

Update README.

[x] Add logo ( Also include the reference for the pictures at the bottom)

[x] Description of the TOOL

[x] Organization of the project

[ ] Layout Future blocks

Here are the references for the images:
https://www.fotolia.com/id/209712729
https://www.youtube.com/watch?v=3l1hJzUqi2A
Where do you want me to add them?
@sabiharustam

I can add them while editing README file. Thanks!

On Mar 21, 2019, at 12:21 PM, kaykrish<EMAIL_ADDRESS>wrote:
Here are the references for the images:
https://www.fotolia.com/id/209712729 https://www.fotolia.com/id/209712729
https://www.youtube.com/watch?v=3l1hJzUqi2A https://www.youtube.com/watch?v=3l1hJzUqi2A
Where do you want me to add them?
@sabiharustam https://github.com/sabiharustam
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/sabiharustam/voltcycle/issues/3#issuecomment-475368725, or mute the thread https://github.com/notifications/unsubscribe-auth/AnxPutz_Ky0hJ0_cOxeGdkCCnk2N3_40ks5vY9vEgaJpZM4bfsUp.


upd(vscode-deb): 1.77.3 -> 1.78.2

Hash fails.

Hash fails.
https://github.com/pacstall/pacstall/wiki/Pacscript-101#updating-your-package

Sorry, I just forgot to change the HASH. I already fixed it ><


Add spinner/progress bar to 'build'

Running kn func build can take a while, and there is no user feedback to let them know that things are progressing. A "progress bar" was originally requested. However, unless there is some callback/event mechanism in the pack API that would allow us to determine progress, this will probably just need to be a spinner of some kind.

IIRC there used to be spinner in older versions, am I right @lkingland

There was a spinner.
"Progress bar" --> way to inform that it is woking.
Open to all suggestions on how it could be shown.

Yes, there was a spinner with a progress indicator (not a visualized bar) with major steps "2/4 Building" etc.  which showed both activity and progress at a coarse level.
This is however limited to the major steps exposed by our API, and treats the build step as a single (very large) step.  As Lance says, unless Pack has a progress registration callback mechanism we may have to settle on a spinner for now.  At least this will indicate that, as Naina mentions, something is happening and the process is not hung.


Flickering redraw (GVim)

Use redraw in this code is causing flickering.
It is reproduced on GVim in Windows and Linux.
It is not reproduced on terminal Vim.
(It is not reproduced on NVim).
It is Vim problem? (won't fix the issue)
Environment Information
OS: Windows 10 (15063)
Vim: 8.0.556 (compiled by gcc 6.3)
The reproduce ways

Install denite.nvim
:Denite line -mode=insert

Screen shot

It is reproduced on GVim in Windows and Linux.

Did you make sure that it happened on Linux yourself?  Which GUI?  As we have various GUIs for Vim running on Linux, it would help us much to know where to start if we know the GUI.

(It is not reproduced on NVim).

Did you check that with any of nvim GUIs?  Although I don't know none of them,  they always offer a list of them.  So you could examine the issue with a few or all of them before having come to that parenthesized conclusion.

It is Vim problem? (won't fix the issue)

I'm not sure for now.  The following are what came to my mind immediately:

Redraw is done differently in Windows and Linux using different GUI toolkits.  So if the both shows a similar flicker in common,  the cause of it could lie in the core part of Vim.  This hypothesis, however, is turned out to be difficult to explain why the terminal Vim doesn't show the flicker.  Then, "Does the cause really lie in the core part of Vim?" is a natural question.

For the Windows and Linux cases, the common participants are the Vim core and the mentioned plugin.  As for those two different GUIs, they are doing their job passively following the instructions from the both.  So the cause could lie in either the Vim core or the plugin.

According to the code snippet to which the "this code" link points, one can see a special handling for MacVim, another GUI using another GUI toolkit.   Then, why does the author of the plugin do that for MacVim, but not for Vim?

Probably, the most decisive way to answer the question "It is Vim problem? (won't fix the issue)" is to provide a reproduce procedure without using the mentioned plugin.  Will you do that?

Did you make sure that it happened on Linux yourself? Which GUI?

I myself can't reproduce on Ubuntu 17.04 (VM) with compiled GUI gtk2 and gnome2.

Did you check that with any of nvim GUIs?

I checked only with Neovim QT, which is now the default for Windows; this problem is not reproduced.

provide a reproduce procedure without using the mentioned plugin. Will you do that?

While I can't write a clean test case.
On Windows with GVim I use:
set renderoptions=type:directx,gamma:2.2,contrast:0.5,level:0.5,geom:1,renmode:3,taamode:2

But if renderoptions option is not set (default is empty) then the text in the prompt almost no flickering.
The flickering cursor is not affected. Flicker workflow.

closing according to comment from Shougo

Fix from Shougo just hides the cursor, but does not fix the flickering on Windows 10 in GVim.
@chrisbra So, nothing has changed. Issue not resolved.

Fix from Shougo just hides the cursor, but does not fix the flickering on Windows 10 in GVim.

I have fixed the problem(by guicursor hack) in GVim Linux, but it is not fixed in GVim Windows...

Hi there,
2017-4-21(Fri) 15:00:13 UTC+9 Christian Brabandt:

Reopened #1637.

Confirm an attached patch.
--
Best regards,
Hirohito Higashi (h_east)

Solved by @Shougo via e5b58f0 :relaxed:

Hi Alex,
2017-4-25(Tue) 17:58:14 UTC+9 Alex Masterov:

Closed #1637.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub

It does not seem that this commit relates to this Issue.
This commit modifies the flickering of redrawstatus. But, This issue has a problem with flickering of GUI cursor.
Have you truly solved this issue problem with this commit?
--
Best regards,
Hirohito Higashi (h_east)


Remove hardcoding in collate_csr_results

The path to the file loaded by collate_csr_results is hard-coded. This should be changed to use the config and the path where this file lives should also be somewhere central. We can discuss in a GAMBL meeting what location makes the most sense.
collate_csr_results = function(sample_table,seq_type_filter = "genome"){
   if(seq_type_filter=="capture"){
     return(sample_table) #result doesn't exist or make sense for this seq_type
   }
   csr = suppressMessages(read_tsv("/projects/rmorin/projects/gambl-repos/gambl-nthomas/results/icgc_dart/mixcr_current/level_3/mixcr_genome_CSR_results.tsv"))
...

This is migration of the issue #139 from the parent repo


refactor indomitable might and generalize interface

Indomitable Might should change the check result to be equals to the strength attribute current value;
Code was very specific and only considering this particular case. Changed interface to allow more flexibility for other features;
There was also a bug report on Nexus about shoves using double bonus and this code was touching AbilityCheck;

The double bonus shove bug is limited to a specific monster and is due to the monsters features rather than any issue with the code, as described in issue #590

Thanks @DubhHerder. Anyway this code is much cleaner. It now supports any other attribute

@ChrisPJohn , once we get this one checked my next step is to reorganize the custom features folder to simplify matching new features with patches.


Can I ask why the result of SNE can predict more lanes as compared with provided gt

Hi @hlwang1124 ,
Congratulations for your paper acceptance! I'm a newbie in road segmentation and for now I want to ask some questions regarding your freespace segmentation.
Check the following two plots,

Compare those two plots, The ground truth (below one) has only one lane labeled, while your prediction (above one) can label two lanes. This is impressive. Can you tell me how this works? As I assume that you have knowledge for only one lane (Namely gt one). Then how is SNE able to generalize to inference both lanes?
Thank you if you can leave me some hints.

Hi, @Cli98. It seems that this image is um_000028.png in image_2, and the corresponding ground truth um_road_000028.png in gt_image_2 has two lanes labeled, shown as follows.

Hi, @Cli98. It seems that this image is um_000028.png in image_2, and the corresponding ground truth um_road_000028.png in gt_image_2 has two lanes labeled, shown as follows.

Please allow me to say "thank you" to you. I did not pay enough attention to data and will focus more on those annotations. Thank you for your kindly response and I wish you stay safe.


Various post-upgrade adjustments

Adds back topbar-info styles removed in Design Guide 4.7.
Upgrades to jekyll-plantuml version 1.3.8 to get rid of livereload.js.
Also removes livereload.js because Jekyll seems to inject at the start of <head> without our help.
Adds some includes to make the default layout more DRY and cleans it up a bit.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

See the complete overview on Codacy


Duplicate results

Hi,
It's possible to update your package to avoid duplicate results after search ?
For example:
protected $searchable = [
	'columns' => [
		'company_name' => 10,
		'code' => 5,
		'contacts.firstname' => 2,
		'contacts.lastname' => 2,
	],
	'joins' => [
		'contacts' => ['clients.id', 'contacts.client_id']
	]
];

If company_name is Test and contacts.firstname is Test, I have a duplicate results, it search Test in company_name, it displayed, it search Test in contacts.firstname and it displayed again.
Can we group the results for this case ?
Thx

I don't think @nicolaslopezj is going to take care of this: https://github.com/nicolaslopezj/searchable/issues/58, so instead use this one https://github.com/jarektkaczyk/eloquence/wiki/Builder-searchable-and-more#searchable

Thank, I will test it.

When calling the search function try using distinct(). It fixed the issue for me.
Eg. $a = Model::search('something')->with('table1')->distinct()->get();

Thx @saurabh-pathak94. Can we use concatenation to search for example first and last name together ?

No, you can't. The search is made at MySql, not at PHP, so your "getFullNameAttribute" does not exists.

I have never tried this before, but as @iget-master says, the search is made at MySQL, you can try creating a view (with a column containing the concatenated names) and then querying over it? Of course, this is pure speculation, do let me know if this works.

There is a groupBy attribute accepted which kind of does what we want:
  protected $searchable = [
      'columns' => [
          'verifications.name' => 10,
          'verifications.sub_name' => 10,
          'verifications.sub_email' => 10,
          'verifications.name' => 10,
          'policies.name'=>10,
          'policies.agent_email'=>10,
          'policy_change_sets.agent_email'=>10,
          'policy_fields.value'=>10,
          'attachments.file_file_name'=>10,
      ],
      'joins' => [
          'policies' => ['policies.verification_id','verifications.id'],
          'policy_change_sets' => ['policy_change_sets.policy_id','policies.id'],
          'policy_fields'=>['policy_fields.policy_change_set_id', 'policy_change_sets.id'],
          'attachments'=>['attachments.id', 'policy_fields.value', 'policy_fields.type', 'upload'],
      ],
      'groupBy'=>['verifications.id'],
  ];

You can see here, I have a bunch of joins that could create duplicate records, but I group by the primary table's ID.
It produces a query that looks like this:
SELECT
   *
FROM
   (
      SELECT
         `verifications`.*,
         Max((
         CASE
            WHEN
               Lower(`verifications`.`name`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`name`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`name`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`name`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `verifications`.`sub_name`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`sub_name`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `verifications`.`sub_name`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`sub_name`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `verifications`.`sub_email`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`sub_email`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`sub_email`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`verifications`.`sub_email`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`name`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`name`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`name`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`name`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `policies`.`agent_email`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`agent_email`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`agent_email`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policies`.`agent_email`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `policy_change_sets`.`agent_email`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_change_sets`.`agent_email`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_change_sets`.`agent_email`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_change_sets`.`agent_email`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_fields`.`value`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_fields`.`value`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_fields`.`value`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`policy_fields`.`value`) LIKE ?
            THEN
               300
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `attachments`.`file_file_name`) LIKE ?
            THEN
               150
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower( `attachments`.`file_file_name`) LIKE ?
            THEN
               50
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`attachments`.`file_file_name`) LIKE ?
            THEN
               10
            ELSE
               0
         end
) + (
         CASE
            WHEN
               Lower(`attachments`.`file_file_name`) LIKE ?

      WHERE
         `project_id` = ?
      GROUP BY
         `verifications`.`id`
      HAVING
         relevance > 0.00
      ORDER BY
         `relevance` DESC
   )
   AS `verifications`
WHERE
   `project_id` = ?

What would be even better is if it used a sum() for relevance of identical records, but it won't do that without a lot of work because Eloquent doesn't support from() subqueries.


ISSUE-497 : get_oembed_tweet() uses incorrect endpoint

Fixed #497

Coverage remained the same at 57.45% when pulling 340fb4ea162b3e02fb5e245ad8651ec62d34cea5 on VishvajitP:master into c9e8a462000898dcd91b9babf130b907986591ea on ryanmcgrath:master.

@ryanmcgrath Is this ever going to be merged ?


Key not present on hopeful-pig -- pushing

Description
I am trying to use a Coral mini board from my University and when I try to run "mdt shell" on my Windows PC, I am getting this error
`Waiting for a device...
Connecting to hopeful-pig at <IP_ADDRESS>
Key not present on hopeful-pig -- pushing
Couldn't connect to keymaster on hopeful-pig: [WinError 10061] No connection could be made because the target machine actively refused it.
Did you previously connect from a different machine? If so,
mdt-keymaster will not be running as it only accepts a single key.
You will need to either:

Remove the key from /home/mendel/.ssh/authorized_keys on the
device via the serial console

or -

Copy the mdt private key from your home directory on this host
in ~/.config/mdt/keys/mdt.key to the first machine and use
'mdt pushkey mdt.key' to add that key to the device's
authorized_keys file.

Failed to push via keymaster -- will attempt password login as a fallback.
Can't login using default credentials: Bad authentication type; allowed types: ['publickey']`
I have found the private key on my host computer but I am not able to push it on to the board and when I try mdt push mdt.key I again get the same error as above
Click to expand!
Issue Type
Build/Install
Operating System
Mendel Linux
Coral Device
Dev Board Mini
Other Devices
No response
Programming Language
No response
Relevant Log Output
C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt devices
hopeful-pig             (<IP_ADDRESS>)

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt push mdt.key
Waiting for a device...
Connecting to hopeful-pig at <IP_ADDRESS>
Key not present on hopeful-pig -- pushing

Couldn't connect to keymaster on hopeful-pig: [WinError 10061] No connection could be made because the target machine actively refused it.

Did you previously connect from a different machine? If so,
mdt-keymaster will not be running as it only accepts a single key.

You will need to either:
   1) Remove the key from /home/mendel/.ssh/authorized_keys on the
      device via the serial console

- or -

   2) Copy the mdt private key from your home directory on this host
      in ~/.config/mdt/keys/mdt.key to the first machine and use
      'mdt pushkey mdt.key' to add that key to the device's
      authorized_keys file.

Failed to push via keymaster -- will attempt password login as a fallback.
Can't login using default credentials: Bad authentication type; allowed types: ['publickey']

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt set username mendel
Set username to mendel

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt set password mendel
Set password to mendel

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt devices
hopeful-pig             (<IP_ADDRESS>)

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt help

Usage: mdt <subcommand> [<options>]

Where <subcommand> may be one of the following:
    help              - this command, gets help on another command.
    devices           - lists all detected devices.
    wait-for-device   - waits for a device to be discovered on the network
    get               - gets an MDT variable value
    set               - sets an MDT variable value
    clear             - clears an MDT variable
    genkey            - generates an SSH key for connecting to a device
    pushkey           - pushes an SSH public key to a device
    setkey            - imports a PEM-format SSH private key into the MDT
                        keystore
    resetkeys         - removes all keys from the given board and resets key
                        authentication to factory defaults
    shell             - opens an interactive shell to a device
    exec              - runs a shell command and returns the output and the
                        exit code
    install           - installs a Debian package using mdt-install-package on
                        the device
    push              - pushes a file (or files) to the device
    pull              - pulls a file (or files) from the device
    reboot            - reboots a device
    reboot-bootloader - reboots a device into the bootloader
    version           - prints which version of MDT this is

Use "mdt help <subcommand>" for more details.

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt exec "sudo useradd -m newuser"
Waiting for a device...
Connecting to hopeful-pig at <IP_ADDRESS>
Key not present on hopeful-pig -- pushing

Couldn't connect to keymaster on hopeful-pig: [WinError 10061] No connection could be made because the target machine actively refused it.

Did you previously connect from a different machine? If so,
mdt-keymaster will not be running as it only accepts a single key.

You will need to either:
   1) Remove the key from /home/mendel/.ssh/authorized_keys on the
      device via the serial console

- or -

   2) Copy the mdt private key from your home directory on this host
      in ~/.config/mdt/keys/mdt.key to the first machine and use
      'mdt pushkey mdt.key' to add that key to the device's
      authorized_keys file.

Failed to push via keymaster -- will attempt password login as a fallback.
Can't login using default credentials: Bad authentication type; allowed types: ['publickey']

C:\Users\Sai Swaroop Maram\.config\mdt\keys>mdt resetkeys <IP_ADDRESS>
Connecting to <IP_ADDRESS> at <IP_ADDRESS>
Couldn't establish ssh connection to device: socket error: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

C:\Users\Sai Swaroop Maram\.config\mdt\keys>whoami
buddy\sai swaroop maram

C:\Users\Sai Swaroop Maram\.config\mdt\keys>

Same here. Was any solution ever suggested?


fix: ShowAlert with same texts, when invoked from different triggers are combined

Description
The toaster component, part of the react design system, generates a unique id for each toast. The id is generated based on a content string and the options Json. When the content and options are identical, duplicate ids are generated. Toaster ignores any toast with duplicate IDs.  Explicitly passing a unique id overrides the internal id generation logic. This ensures that all toasters are displayed, even if the content and options are identical.
PR fixes following issue(s)
Fixes #16135
Media
None
Type of change

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

[x ] Manual
[ x] Cypress

Test Plan
cypress test case is defined in
app/client/cypress/e2e/Regression/ServerSide/JsFunctionExecution/PlatformFn_spec.ts/2.Bug 16135 ShowAlert with same texts, when invoked from different triggers are combined
Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview

/build-deploy-preview

/ok-to-test

/ok-to-test

@srix QA Done. Working as expected. Moving to Done

/ok-to-test

Label Checker / Check for Test Plan Approved label (pull_request)  Failed
I think QA team needs to add the label . @Aishwarya-U-R can you point me to the right person

Since cypress test TableV2TextPagination_spec is known failure, merging this PR in.


Item sounds is no longer a global

This seems to have quietly changed in 2.0.16

Thanks, duplicate of #116.


Updating a visual model containing text can fail if GLFW context is not available

In the current, non-qt branch the Fonts are obtained using the GLFW window id as part of a key into an std::map. In the main branch at the time of writing, the GLFW window id is obtained with glfwGetCurrentContext(), which may return 0x0 if there is  no window context. We ran into this with drawing windows within a ros2 program. Happily, the indexing system has been redesigned in soon-to-be-merged code in branch
/redesign/qtcompatibility

You fix this by calling Visual::setContext() when you need the context to be available.


Documentation generation

Hi guys,
sorry, but I didn't find out anything about this topic. So, we have an own written REST API and want to generate only the documentation (not an API) with api blueprint. Is this possible?
Thank you!
Kind regards, Fabian

@fmielke You can use apiary.io to host your API documentation using the given API Blueprint or you can use [aglio](https://github.com/danielgtaylor/aglio] to host it yourself.

@fmielke
The philosophy of API Blueprint and tool is to describe your API using the API Blueprint language and then use tools like Apiary or Aglio to generate documentation from it as @pksunkara mentioned.
The benefit of this is you can use this description with other tools – for example you can test whether your API implementation matches the description using the Dredd testing tool.
NOTE: there is no shortcut to generate description – API Blueprint – from your code. Personally, I believe that would be an anti-pattern.
Does this answer your question?

Yes, thanks @pksunkara and @zdne !


JSON.parse interface should allow any type as first argument

Per the ES5 spec, JSON.parse should toString the first argument passed to parse. However, the interface in lib.d.ts states the first argument must be a string.
This causes issues as shown in the code below where a Buffer is passed to JSON.parse
TypeScript Version:  2.0.3
Code
const fileContents = fs.readFileSync('some-file.json'); // No encoding given, Buffer returned

// tsc: TS2345: Argument of type 'Buffer' is not assignable to parameter of type 'string'.
const obj = JSON.parse(fileContents);

Expected behavior:
No tsc errors should be thrown, as the first argument's toString method will be called.
Actual behavior:
tsc: TS2345: Argument of type 'Buffer' is not assignable to parameter of type 'string'.

While all objects have a toString, the vast majority of them do not return something suitable for JSON.parse. It'd be a major gap to allow JSON.parse(getConfigFileContents) just because getConfigFileContents.toString exists and returns something.

Is that really relevant, though? I mean, this is how JSON.parse is defined to work. It takes an argument, that argument is converted to a string, and the parser tries to handle it. Just because there are invalid use cases doesn't necessarily warrant adding a non-spec API on top of the actual JS API.

Everything in JavaScript has defined behavior. [] * { } has a defined behavior of producing NaN. Should we allow that? "hello world".subtr(1) has the defined behavior of throwing an exception -- maybe that's what you meant to do. You can write console.log([1, 2].lenth); which has the defined behavior of printing undefined. "hello world".substr([3, 4]) is "hello world"; perhaps that was what you wanted to do.
But these things are all super sketchy and much more likely to be a bug. JSON.parse(window.setTimeout) will do something... but the odds you meant to do that are very, very, very low.

Hmmm...good points. There are plenty of cases where you would want to do such a thing, like JSON.parse(getConfigFileContents()), or JSON.parse(myObjectThatSerializesToJson) (where intention is clear and the spec behavior avoids potentially redundant conversions), but there are certainly a larger number of cases where someone has probably screwed up.

declare global {
  interface JSON {
      parse(text: Buffer, reviver?: (key: any, value: any) => any): any;
  }
}

Solves the problem nicely but I realize that's beside the point.
Semantically JSON.parse requires a string.
At least that's what I thought. I'm conflicted here because it doesn't throw but rather attempts do coerce its input. I'm actually curious as to why it is specified the way it is but I suppose that's beside the point as well. However it's so likely to be an error...

It may be worth noting that the current version of Douglas Crockford's reference implementation does not call toString
https://github.com/douglascrockford/JSON-js/blob/master/json_parse.js

Well, as @nicknisi mentioned, the ES2015 spec does specify that the first argument to JSON.parse will be coerced to a string (using an abstract ToString function rather than explicitly calling value.toString()), and that is how all browsers (that I've tested) and Node behave. However, as @RyanCavanaugh points out, that's most likely part of a "make everything work" philosophy rather than an explicitly intended behavior, so requiring the input to be a string is the safer way to go.

@jason0x43 I was looking for the intent of the API author. That is why I referenced the reference implementation. Good point that it is in fact the abstract operation ToString as opposed to the prototype method although linked spec is the ES5.1 spec as opposed to the ES2015 spec. Regardless it doesn't imply that .toString will be called or that it exists.

D'oh, here's the ES2015 reference (pretty much the same, as is the ES2017 draft). But yes, that was my original question, too (author intent). It would have been easy enough to state that JSON.parse should throw an error for an invalid data type, just as it currently throws an error for an invalid JSON string. However, the initial sentence in the spec ("The parse function parses a JSON text (a JSON-formatted String) and produces an ECMAScript value.") does seem to be pretty clear on intent. Maybe the goal was to leave it open to handle string-like objects (or future string implementations) as well as the current string type.

@jason0x43 I think your interpretation is correct. If you read the "Section 4: Parsers" of the rfc4627, it states that

A JSON parser transforms a JSON text into another representation.  A
JSON parser MUST accept all texts that conform to the JSON grammar.
A JSON parser MAY accept non-JSON forms or extensions.

Interestingly, older versions of ecma262, such as ES5.1, explicitly call out the above, stating that such extensions would be in violation of the ECMAScript spec. ES5.1 section 15.12
This restriction is still stated in the current draft, see ecma262/#sec-json-object, but the informative link to original rfc4627 is no longer present.

Nearly all of the runtime behavior is specified to coerce inputs using the corresponding primitive coercion routine. For example, the multiplication operator x * y will perform the ToNumber operation on its operands, rather than doing the sane thing of rejecting non-numeric inputs.


[FEATURE] [Search Comparison Tool] Expand Document Source

Is your feature request related to a problem?
Document sources in the search results of the search comparison tool are truncated to 95px. In the tool, there is currently no way to view the entire document source, if the source contains lines would overfill the row.

What solution would you like?
We want users to be able to expand the row to view the entire document source. Document viewers, like Discover or Log Explorer, should have the option to show a more detailed view of a document's source.
What alternatives have you considered?
The only other way to view the document source is to visit DevTools and run the same query. However, this eliminates the possibility of having a side by side comparison with rankings.
Do you have any additional context?
As mentioned previously, Discover or Log Explorer are ideas for starting points.

Can I pick this up @sejli?

Hi @kgcreative, I was working on an implementation of this with the OuiPopover component and was hoping to get your thoughts on it so far.
Screenshots
Source details closed

Source details open

In action

@sejli - this looks good to me


The 'elm-make' compiler is not available. Install Elm from http://elm-lang.org/.

Hi,
When I save the code, elm format runs automatically and it shows the error as you see bottom-right:

I have elm 0.19, elm format installed locally as well as globally. my package.json has:
"devDependencies": {
    "elm": "^0.19.0-bugfix2",
    "elm-format": "^0.8.1",
    "elm-live": "^3.2.3"
  }

my workspace settings looks like:
{
  "elm.compiler": "./frontend/node_modules/.bin/elm",
  "elm.makeCommand": "./frontend/node_modules/.bin/elm make",
  "elm.formatCommand": "./frontend/node_modules/.bin/elm-format",
  "elm.includeUserFunctionDocumentation": true,
  "[elm]": {
    "editor.formatOnSave": true
   },
}

Note: I have Elm 0.18 and elm-format installed globally.

When I open VSCode on Mac via the dock I see this error (The elm compiler is not available (elm))
However, if I open it the terminal (code .) it works fine.

As pointed out by @sporto , opening VSCode in the terminal solves the problem.
I think it used to work by clicking on the icon as well until I installed the latest version of VSCode and switching from just installing a .deb package to SNAP. Really not sure if this is related.


License clarification

Is there an open source license attached to these snippets?

Good point, @Stankye -- just added the MIT license in 0ac1058


Samtools idxstats component

Description
Samtools idxstats
Checklist before requesting a review

[x] I have performed a self-review of my code

[x] Conforms to the Contributing guidelines

[x] Proposed changes are described in the CHANGELOG.md

[x] I have tested my code with viash ns test --parallel -q <name or namespace>

Check the correct box. Does this PR contain:

[ ] Breaking changes
[x] New functionality
[ ] Major changes
[ ] Minor changes
[ ] Documentation
[ ] Bug fixes

Overlooked this minor detail at first glance


[WIP] PR: IPython Console migration

Description of Changes

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

Hello @dalthviz! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/ipythonconsole/widgets/client.py:

Line 73:1: E302 expected 2 blank lines, found 1

In the file spyder/plugins/ipythonconsole/widgets/main_widget.py:

Line 49:1: E302 expected 2 blank lines, found 1
Line 55:1: W293 blank line contains whitespace
Line 102:1: W293 blank line contains whitespace
Line 103:17: E211 whitespace before '('
Line 105:1: W293 blank line contains whitespace
Line 196:1: W293 blank line contains whitespace
Line 197:5: E303 too many blank lines (2)
Line 199:5: E301 expected 1 blank line, found 0
Line 300:9: E303 too many blank lines (2)
Line 355:5: E265 block comment should start with '# '
Line 355:5: E303 too many blank lines (2)
Line 356:5: E301 expected 1 blank line, found 0
Line 443:5: E265 block comment should start with '# '
Line 443:5: E303 too many blank lines (2)
Line 444:5: E301 expected 1 blank line, found 0

FYI, I just submitted an issue that may be related to/already solved by this PR (before checking PRs...): #16269


Simplify package "exports"

A possible solution for #51
Seems like some environments or/and build tools (Webpack?) don't handle "exports" field content properly.

Codecov Report

Merging #52 (4fbcd79) into master (2051b61) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           34        34
  Lines          422       422
  Branches        72        72
=========================================
  Hits           422       422

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 2051b61...4fbcd79. Read the comment docs.


[Bug] Missing "Incognito" registry entries (BrokenURL)

Describe the bug
I use BrokenURL as my default browser, because I use multiple browsers on my PC for testing webdev stuff, and I prefer a confirmation before any web calls are made.
It automatically provides a list of browsers that are installed by looking in the registry (some older/obscure browsers must be manually added, and will lack Incognito/new window options). All automatically-added browsers have "Incognito" and "New Page" options available for opening mods, presumably pulled from the registry?
Supermium used to have these entries for opening it, but now they are missing (see screenshot)
To Reproduce
Steps to reproduce the behavior:

Install BrokenURL, set it as default browser
Install older Supermium
Open a web call (URL or link)
BrokenURL's auto list of browsers includes Supermium with Incognito and New Window opening options
Install newer Supermium (e.g. v122r6)
Open a web call (URL or link)
BrokenURL's auto list of browsers includes Supermium, but no longer has Incognito and New Window options

Expected behavior
Supermium should be listed with Incognito and New Window opening options; presumably it's a registry key somewhere. If it's missing from BrokenURL's default list, it could be missing from other default places it's needed in Windows. Strangely, it is present in the taskbar's jumplist.
Screenshots

Desktop (please complete the following information):

OS: Windows 10 v1709
Bitness of browser: Supermium v122r6 64bit

Chromium has the following settings automatically applied - is there a registry key where these are stored?

I think this might be an issue with BrokenURL.
Workaround:

Delete C:\Users\<Username>\AppData\Roaming\BrokenEvent.BrokenUrl\BrowserSettings.xml
Replace C:\Program Files (x86)\BrokenURL\BrowserDefaultSettings.xml with the updated version attached.
BrokenURL should now work perfectly with Incognito an
d New Window shortcuts for Supermium, Tor Browser, and Internet Explorer (NB. Internet explorer is complicated so I put kiosk mode for "New Window")
BrowserDefaultSettings.zip

Chromium has the following settings automatically applied - is there a registry key where these are stored? For the moment, I will add those arguments manually to Supermium launch.

That browser identifier is referenced in HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet, but Supermium is actually named "Supemium" because of a character limit introduced in Windows 8 on the application names. The browser identifier is "SupermiumHTM" as there are no length issues there.


update axes.proto to include illustration_url

axes_pb2.py needs to be recompiled whenever axes.proto is modified.


Incorrect highlighting of type annotated monadic bound variable

If you have a program that looks like this:
myFunc :: IO ()
myFunc = do
  x :: Int <- readLn
  print x

Then the first occurrence of x ends up being highlighted like it's a function declaration.

Yep, that is known. I don't see a way to fix this other than putting parentheses around this like so:
(x :: Int) <- readLn
VimL lacks the ability to highlight based on context.


Fix #68, custom audio elem gone when page help button is pressed

Fixes #68. For the page event, I would just call it audio_test, but I think this may be expanded. For example, it may also be used to test the 'escape' button, etc.
Test performed:

[ ] Open test interview.
[ ] See correct custom audio element
[ ] Test behavior of audio element
[ ] Tap 'Help'
[ ] Test behavior of audio element

Hmm, would it help to make the text of the initial testing page very short? Letting the screen reader run to the end takes a while. I'll make a different PR with the relevant notes in comments.


Export env, upgrade actions

Exporting env lets me do funny things like
import { Env as RenderEnv }  from "render2";

Upgrading Actions removes the scary deprecation warnings on Action runs.

<3


Support for circle.yml  2.0 style

It would be great if the  circlecli config checker would updated to handle circleci 2.0 config files. https://discuss.circleci.com/t/getting-started-configuration/8088

github-recovery-codes.txt

Danger, danger. You either made a big mistake @Matrix76 or you are trying to get somebody else to do so.

Looks like the official CircleCI CLI validates 2.0 config files now;
https://circleci.com/docs/2.0/local-jobs/#validating-20-yaml-syntax


Add accessibility info

Mention that talks will be transcribed and subtitled.

Is this issue resolved or open for PR?


Sticky should recomputeState on mount

Sometimes a sticky component comes into existence and should already be stuck. Since recomputeState isn't called until after a scroll or some other trigger, the element jumps.
This would likely be fixed by switching to requestAnimationFrame as discussed in https://github.com/captivationsoftware/react-sticky/issues/86
For a workaround:
  const stickImmediately = ref => ref && ref.recomputeState()

  return (
    <Sticky ref={stickImmediately}>
      <Whatever/>
    </Sticky>
  )

What version of the library are you using?  In v5.0.3, as per https://github.com/captivationsoftware/react-sticky/blob/3eae2db82edbd5fea3f2142dd827465222d46568/src/sticky.js#L44, recomputeState is called on componentDidMount...

hmm, sure enough. Not sure what I was seeing, but it was necessary on what I installed from npm and isn't on my master version. Odd. Closing out.


add bed file names to qc report

if they are not already in there. with the idea that the qc report will be the input into all tumor, tumor/normal etc variant calling workflows. sample sheets as are will not have enough information to be used and bespoke generated input files are not useable for pipelines.

will need to add a validation check that a bed files actually exist. will have to assume that they reside in a pre-determined place, if they do exist, exit out of pipeline submission.

hah, already done


When only a single column is queried and one of the values is nil, there is an error thrown

> Article.pluck(:description)
=> ["Test", nil]

> Article.pluck_to_hash(:description)
IndexError: element size differs (0 should be 1)
from .../pluck_to_hash.rb:8:in `transpose'

This is so because Array(nil) = [], and not [nil].
This PR should fix it, as zip is more permissive than transpose.

Nice catch @vinu91
Thanks!!


Add VPC support for RDS instance creation

Without this change, it is not possible to create an RDS instance
attached to a VPC security group.  This work extends the current
rds_instance provider to include the handling of the vpc_security_groups
parameter and adds the necessary configuration for the API calls to
manage the state as requested.

Is there anything else I can help with on this one?  I'd like to get off my fork or do the work necessary to get this into mainline.  Feedback welcome.

I've now signed the CLA.

@DavidS Might your eyes be cast in this direction also please? :)

Thanks @hunner!


virt-operator: Remove use of crd.Spec.PreserveUnknownFields

What this PR does
This field is deprecated and already defaults to false. A duplicate public variable is also removed again after accidentally being reintroduced by 68fc524b68eb348c0a08942e510bc736 .

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

/hold

/hold cancel
Was just working through https://groups.google.com/g/kubevirt-dev/c/4br7ZdejhI8 and wanted to be sure this was safe to remove.

/cc

/approve


Change style of widget

Hi,
how can i change the primary color of the widget?
how can i set the month first letter to be capitalized?
how can i prevent the user to change manually the text inside the textfield?
thank you

For your questions, please refer to the provided example code:

Using the ThemeData to set the primary color.
The first character of the month is already capitalized.
The text field within the example is already set to unmodifiable.

I need to set a color for the current day, one for the selected day and different color for confirm buttons
Month is lowercase, tomorrow I'll provide some photos
I can modify the textfield with your example but setting read only fixed my problem

Any news on the color customization?

I have no plans to update the code in the next short time. Please feel free to update the code and add your desired features.

I'll use another package. Thank you


Implement Preparation progress dashboard utility script

This PR includes the necessary changes for running a preparation dashboard for their mlcube/experiment. Although at the moment is somewhat targeted to RANO, small tweaks may be done to make it generalizable.
This PR includes two things:

[x] Allow data preparation mlcube owners to retrieve user information for users that are using any of their mlcubes.
[x] Provide a utility script for visualizing progress on an experiment dataset preparation.

@aristizabal95 Great work man! Nice and clean.
What are participant-dashboard and rano-dashboard that somehow look very similar? Also which file is the main entrypoint of the dashboard? Maybe a small README file in this folder could be helpful.
Some additional notes:

We should have a message during dataset submission notifying the user (in a warning color maybe) that their user information will be visible to the owner of the preparation mlcube they specified (we should explicitly mention what will be visible)
The initialize function imported into the dashboard scripts is best to be run at the very very first before importing any other thing, just to make sure that if something breaks because of config initialization, the culprit would be initialize itself and not the new scripts. This could be accomplished by perhaps doing something similar to the __main__.py file we have in the main medperf code.
in the permissions code, len(queryset)>0 is usually better to be replaced by queryset.exists(), although in our small-scale deployments and in our specific use-case the efficiency gain will be negligible.

@hasan7n Thanks! I had forgotten to push the latest commit that removed the rano-dashboard script. I basically tried to generalize the script so that it no longer was rano-specific.
I applied your suggestions. Thanks!

@aristizabal95 I left few comments.


Update rollbacks.md

Added the warning about 2.6.4+ rollbacks from the restore docs so that people doing rollbacks can see them without having to know to look at the restore docs

@celidon I made some copy edits to the PR, let me know if you're ok with the changes. Also, can you link to the restore docs you mentioned so we can make a corresponding update to the wording there? Thanks!

@martyav I think your changes look great. As you said, I didn't make any wording updates. I just copied the existing docs so that customers trying to rollback from 2.6.4+ quit having issues when they just tried a restore. Original doc page in GitHub: https://github.com/rancher/rancher-docs/blob/main/docs/how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/restore-rancher.md


build: remove extra allocator

It seems that using b.allocator should be fine, semantic-wise, and also faster, as that's an arena:
https://ziggit.dev/t/how-to-allocate-in-build-zig/1044/2
The problem with
var gpa = std.heap.GeneralPurposeAllocator(.{}){};

is that's a local variable, and so will be destroyed by the time the steps are run. We don't need allocation in steps right now, but we'll soon need it!

https://ziggit.dev/t/how-to-allocate-in-build-zig/1044/2


cmd hack to not move the cursor and a fix for recursive mapping

this fixes =,$ and k  mappings being broken (which i made sorry users)
and doesn't move the cursor on custom pairs with a cmd hack
more info:
https://github.com/windwp/nvim-autopairs/pull/394
so yeah here is the new pr with more sane commits windwp
i doubt the test on line 82 of test_utils is gonna pass tho it's probably safe to remove

Can you only change normal to normal!
I can't use  nvim_api win_set_cursor it will break another thing with undo.

i don't notice any changes to undo blocks using set_cursor
i reverted back to the first commit that doesn't have the cmd hack

thank


chore: Bump up Next.js to latest v11.

Bump up Next.js to latest release: v11

Looks good. Thanks.


About the BERT finetune setting

Hello,
When I was using this repo, I found that the "is_traing=True" in BertVocab still doesn't make the BERT fine-tune due to only the GraphParserNetwork's params is optimized in training. And for current, the "is_traing=True" performance is lower than the "is_traing=False". Could you take a look at it? Thank you!

Yes, I found that finetuning BERT did not improve the performance. Currently I have no time to check what has happened with this issue, but I think one possible reason for this is that current learning rate is not suitable for the BERT finetuning. In other work, the learning rate of finetuning BERT should be at a scale of 1e-5, while I set the learning rate to be 0.1 in the config file. However, the learning rate for other structure in the model like LSTM and Biaffine should be larger. Therefore, you may try a different learning rate for BERT (1e-5) and other parts (0.1).

Thank you, I will try this setting, if have further results, I will update here.

Fine-tuning BERT on the parsing models possibly cannot further improve the performance. We did some experiments on fine-tuning bert but find inferior performance than the models without finetuning. For the results of fine-tuning BERT, you may refer to this paper.

Good points, I will close this issue. Thank you!


WIP: Support full slack endpoint url

The current implementation does not handle the case of a complete stripe endpoint (as provided by Stripe) in its configuration. I could not find anything in the documentation of how the original endpoint needs to be split for the config to work. Also, it stands to reason that a user would assume that the URL provided by Stripe (they even copy it to clipboard!) would work as-is.
The implementation is such that partial endpoints will continue to work.
@kabirbaidhya How do you think I should go about writing tests for this? Add a couple of tests for slack_url in test_slack.py? How about using slack_url in base_url in test_slack.py?

@squgeim Yes, that sounds right. I think it would be just similar to these tests.

@squgeim Merging this now. I'll add some tests and will do a patch. Thanks :+1: .


Cyanite is always two datapoints behind Graphite

Hi there,
my metric relay clones traffic into Graphite and Cyanite. Unfortunately Cyanite is always two datapoints behind Graphite. Is there any possibility to speed this up?
Engine rule:
engine:
  rules:
    default: [ "60s:3d", "10m:7d" ]

Graphite results:
[

    {
        "target": "my.sample.metric.count",
        "datapoints": [
            [
                5.0,
<PHONE_NUMBER>
            ],
            [
                6.0,
<PHONE_NUMBER>
            ],
            [
                5.0,
<PHONE_NUMBER>
            ],
            [
                7.0,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ]
        ]
    }

]

Cyanite results:
[

    {
        "target": "my.sample.metric.count",
        "datapoints": [
            [
                5.0,
<PHONE_NUMBER>
            ],
            [
                6.0,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ]
        ]
    }

]

and after a while:
[

    {
        "target": "my.sample.metric.count",
        "datapoints": [
            [
                5.0,
<PHONE_NUMBER>
            ],
            [
                7.0,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ],
            [
                null,
<PHONE_NUMBER>
            ]
        ]
    }

]

this testing metric is sent every one minute.

What's your metric throughput?

Around 1 mln / min, 6x cyanite nodes.

Sorry, just to make sure: it'd be around 16K a second, also they're split between 6 Cyanite nodes?
Do you see the gap also growing over the time?

Yes, 16k per second, 6 cyanite nodes - just for testing purposes.
No gaps over the time.

The load doesn't seem too high. My suspicion (if Cyanite doesn't start lagging behind more and more) is this somehow related to the timer being faster than ingestion.

Well, it looks like i didn't get how exactly Cyanite works. It awaits for incomming metric values for whole datapoint period, calculates max/mean/min/sum and then it flushes it to Cassandra. So it is not possible to read data directly from Cyanite cache (and this is how i always get those nulls i think).

I think I'm starting to understand. Do you have a configuration file at hand? Wondering what rollups you have defined.
Do I understand it correctly: you would like to have a datapoint for current period, even if it's not yet flushed (in-memory).
I'm still uncertain why it returns nulls, usually they should be filtered out though, didn't have a chance to test yet.


Incorrect and inconsistent website structure http://stellar.cct.lsu.edu/downloads/

Expected Behavior
The main navigation bar has links and dropdowns for some of the links.  If one goes to the main link, not one of the dropdown links, then: there should be a page that lists all the links of the dropdown links.  This is the overwhelming convention of websites like this, and in most cases this is done on this HPX website, however not always.  This variance cost me about 1 hour of time searching and failing to find.  Goggle also could not find the page, perhaps another issue.
Actual Behavior
When you go to http://stellar.cct.lsu.edu/downloads/, it lists the source downloads and not the two or three links that I would expect.
There are three main topics:

Released source distributions
Github link
Packaged distributions.

To be fair the github could be considered in the same category at "Source Downloads", and it is mentioned in the text.  Also the link to the packaged distributions is mentitoned in the text, but I didn't see that notation.
Steps to Reproduce the Problem
Go to http://stellar.cct.lsu.edu and "hover" over "Downloads"
Then click on the "Downloads" link.
Compare this to the same procedure for "Projects" which works correctly and you will see the large difference.
Also compare this to "Events" which is also broken in a similar, perhaps worse way than "Downloads", because it does give a list of 8 events, but if you go the overview "Events" link, it only shows three of the eight (undeniably an error).
Then there is the "About" link which follows yet another convention.
While the errors/inconsitencies are not earth shaking, I suggest that the website be carefully examined for consistency and clarity of operation.
Specifications

HPX Version: master
Platform (compiler, OS): fedora29 firefox

I have made a few changes to the cct.lsu.edu website in response to this ticket:

I have made a new page called "HPX Downloads" this page redirects to the original "Downloads" page. I think this is necessary to preserve links that we currently have to this page while still maintaining the convention mentioned in this ticket.
I have added a page called "HPX GitHub Repository" which redirects to our GitHub page.
I have updated the "Events" page to reflect all of the events we have created pages for.
I have changed the link text from "here" to "GitHub repository" to be more descriptive.

Please let me know if this has addressed your concerns in this ticket.

@aserio , thank you, yes it is better, but still not "consistent".  You could preserve links and make it consistent by modifying the top menu link and going to a summary of links as is the common practice.
Also, the about page has not been fixed/"made consistent"
Also the fact that "contact us" wraps to the next line is not "attractive" in either firefox or chrome on win10 (and probably linux too) ;)
On the other hand, I guess the website is "good enough".  Depends on how good an impressions the HPX project wants to make.

@grantrostig I have made some more changes to make the website more consistent including edits to the "Downloads" Menu and the "About" menu. Do these solve the issues reported by the ticket?
As far as the menu wrapping, I have no idea how to begin to address that issue. I agree that this "attractiveness" issue is not worth the time to fix it.

@aserio , you slightly/subtly misunderstood me.  Actually I was saying it would be desirable to fix the "contact us" to demonstrate the quality of the HPX project.  "Good enough" means, not very good, but passes anyway.  So the website passes.  That's adequate, but not excellent. ;)
Yes the changes you made do fully address the primary reason for this "issue".  Thank you.
Who is supposed to close the issue?  Me?

I can do it  :)

Confirmed closed.


fix custom_load_balancer image not show bug

fix custom_load_balancer image not show bug

fix custom_load_balancer image not show and move image from 241 directory to custom directory

fix custom_load_balancer image not show and move image from 241 directory to custom directory


separate the proto file from pulsar

Signed-off-by: xiaolong.ran<EMAIL_ADDRESS>(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)
Master Issue: #6
Motivation
separate the proto file from pulsar

@cch123 @Jamesleons @rfyiamcool PTAL


React Bookstore Milestone 1

Hello,
In this Milestone we implemented the basic setup for the project. More specifically we did:

Used create-react-app to initialize a new React app
Removed unnecessary files from the resulting app
Added prop-types for type-checking props
Added redux and react-redux packages
Did all the necessary steps to deploy to heroku

Please review our code.

Thank you so much @Oghenebrume50!
Have a good day!