CoC Committee -> SC

In this PR, I propose that for now we make the CoC Committee the entire Jupyter Steering Council. The language added here does allow the SC to appoint a subcommittee or consult with outside parties in particular cases.
The motivations for this change are:

The CoC Committee has the potential to make high stakes decisions with legal ramifications for contributors and their employers.
Members of the CoC Committee need the highest level of responsibility, authority in the project and currently, that sits with the Jupyter Steering Council.
The high level of responsibility and authority required of CoC Committee members warrants a very clear process of election. The SC has such a process.

We may over time change this, but this gets us to a point where there is no ambiguity about our CoC being fully implemented.

I am traveling today, but feel free to fix the PR with Paul's comments and
merge if enough people approve.
On Fri, Feb 2, 2018 at 11:00 AM, Damian Avila<EMAIL_ADDRESS>wrote:

@damianavila approved this pull request.
LGTM after @ivanov https://github.com/ivanov 's comments are included.
@Carreau https://github.com/carreau do you want to push the changes So
we can merge this right away? Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jupyter/governance/pull/43#pullrequestreview-93720282,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABr0Bu5R3HxUN_ArXdVQvSjjw_iw_4aks5tQ1pggaJpZM4RlpOh
.

--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>

working on the changes now...

OK I have pushed edits that attempt address the reviews. Thanks for the feedback!

Thanks @ellisonbg, merging this.


#431 add ShutdownHandler when "stop.key" is supplied by CLI

#431 add ShutdownHandler when "stop.key" is supplied by CLI
You can shutdown RedPen server with the following command(only from loopback address):
$ curl -d "token=[stop key]" http://<IP_ADDRESS>:8080/shutdown
See also: Jetty document - Shutdown Handler
http://www.eclipse.org/jetty/documentation/current/shutdown-handler.html

The above commit fixes the following error from apache commons.
java -jar redpen-server/target/redpen-server.war
Exception in thread "main" java.lang.IllegalArgumentException: opt contains illegal character value '.'
        at org.apache.commons.cli.OptionValidator.validateOption(OptionValidator.java:73)
        at org.apache.commons.cli.Option.<init>(Option.java:123)
        at org.apache.commons.cli.Option.<init>(Option.java:105)
        at RedPenRunner.main(RedPenRunner.java:52)

I confirmed the patch works. Thank you a lot as always @yusuke!


IOU - "Cancel" button is not fully visible in Detail Page/some buttons in Preferences Page is cut off

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

Action Performed:

Launch the app
Log in with any account
Tap on Fub menu
Select Request Money
Put amount and Select the user
Tap Request the money
Open Request Detail
Search for the Cancel button

Expected Result:
All buttons should be fully visible
Actual Result:
"Cancel" button is not fully visible in Detail Page/some buttons in Preferences Page is cut off
Workaround:
Unknown
Platform:

Where is this issue occurring?

iOS
Android

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@0xmiroslav This issue is not reproduced in Production.

Should be fixed with https://github.com/Expensify/App/pull/12959

PR merged, re-testing as soon as it gets to staging

Appears to be resolved on staging? 🤔


Refactor Dockerfile.ci to slim containers

Content
Refactors the Dockerfile and Dockerfile.ci to use release binaries.
Pre-submit checklist

Branch

[ ] Tests are provided (if possible)
[ ] Crates versions are updated (if relevant)
[x] Commit sequence broadly makes sense
[X] Key commits have useful messages

PR

[ ] No clippy warnings in the CI
[x] Self-reviewed the diff
[X] Useful pull request description
[x] Reviewer requested

Documentation

[ ] Update README file (if relevant)
[ ] Update documentation website (if relevant)
[ ] Add dev blog post (if relevant)

Comments

Reduces the size of existing containers.
Does not implement a BuildX cache to leverage identical image layers from previous CI runs.

Issue(s)
Closes #1272

@jpraynaud @abailly-iohk
I don't have access to add reviewers to the PR, thanks.

@TrevorBenson No worries, thanks a lot for the PR! We'll review it ASAP

Adding this to the PR discussion so it doesn't get overlooked. Potential to merge Dockerfiles into a single file for both use cases: https://github.com/input-output-hk/mithril/issues/1272#issuecomment-1764993870

Dropped the commit with changes to each Dockerfile.
Refactored Dockerfile.ci files to:

Slim the Install cardano-cli step.
Keep the COPY for installation of any mithril binary.
Optimize the order of steps to reduce cache invalidation.

Cache Invalidation/Optimizations

Developers will see cache optimizations when they build images for their local registry from Dockerfile.ci.
The ci/release workflows build and push Action won't take advantage of the cache optimizations without the buildx cache implemented in the workflow.

When the debian:11-slim base layer does not change developers pull every layer after the base from ghcr.io
When the debian:11-slim base layer changes developers will pull every layer from ghcr.io

@jpraynaud The only two failures now are for ci/hydra-build:aarch64-darwin.mithril-signer and ci/hydra-build:x86_64-darwin.mithril-signer, both of which I observed fail in other PR branches, so suspect its unrelated.

@TrevorBenson you need to sign your commits in order to get them merged in the repository.
Can you re-push them?

@TrevorBenson you need to sign your commits in order to get them merged in the repository.
Can you re-push them?

Probably worth adding this to the contribution guidelines. I don't recall seeing it when I initially reviewed.

You're right, I have created this PR https://github.com/input-output-hk/mithril/pull/1305 to add a mention to this requirement :+1:

@TrevorBenson you need to sign your commits in order to get them merged in the repository. Can you re-push them?

Commit signed.

I was looking into the new, third, failed check so rebased onto the main branch and pushed again. I didn't catch that you had already re-run the failed job and got a success. :shrug: :smile:

Many thanks @TrevorBenson for your contribution!


Streaming raw response

Is your feature request related to a problem? Please describe.
I'd like to stream the raw response when GPT decides to not call the passed tool. I'm setting
client.chat.completions.create(
    ...
    stream=True,
    response_model=SearchTool,
)

But I get
NotImplementedError: stream=True is not supported when using response_model parameter for non-iterables
Describe the solution you'd like
I'd like an option stream_raw, so that I can always stream the raw response.
Additional context
I don't want the response to be parsed as a tool call at all costs. I need the raw response most of the time. I just want to parse the tool call when GPT decides to actually call the tool

You should just use normal function calling then

I ended up using the utilities from instructor.function_calls to easily generate the tools schemas, then passing the schemas to a standard, unpatched OpenAI client.
Finally, If the response is a function call, I just parse it with pydantic.

perfect!


Adapt default lomap score to allow user defined score for charge changes

This PR allows the creation of connected LOMAP networks for datasets with ligands that have a different net charge.
Per default, a charge_changes_score of 0.0 is applied which then leads to disconnected networks (no transformations between ligands of different net charge).
If the user wants to allow net charge changes, the charge_changing_score can be set to, e.g., 0.1.
mapper = KartografAtomMapper(atom_map_hydrogens=True)
scorer_fn = partial(default_lomap_score, charge_changes_score=0.1)
network = lomap.generate_lomap_network(molecules=ligands, mappers=[mapper], scorer=scorer_fn)

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

In the file lomap/gufe_bindings/scorers.py:

Line 23:41: E231 missing whitespace after ','
Line 26:1: W293 blank line contains whitespace
Line 413:73: E251 unexpected spaces around keyword / parameter equals
Line 413:75: E251 unexpected spaces around keyword / parameter equals
Line 413:80: E501 line too long (89 > 79 characters)
Line 426:80: E501 line too long (95 > 79 characters)
Line 426:96: W291 trailing whitespace

Hi @hannahbaumann sorry for jumping in this PR, but I thought my question could be related to it. Are there developmental plans to add support to external ligand pair scoring methods in Lomap? Such as volume-based overlap, for example

@David-Araripe we've got some geometric based scorers in the kartograf project here: https://github.com/OpenFreeEnergy/kartograf?tab=readme-ov-file#usage  Since these are built on the same API base layer (https://github.com/OpenFreeEnergy/gufe) you can create mappings with Lomap and then score with those methods (and vice versa)


alignItems: 'baseline' doesn't work

Is this a bug report?
Yes.
Have you read the Contributing Guidelines?
Yes.
Environment

react-native -v: 0.48.1
node -v: v7.9.0
npm -v: 5.4.1
yarn --version: N/A

Then, specify:

Target Platform: iOS, Android

Development Operating System: macOS Sierra 10.12.5

Build tools:
react-native run-ios
react-native run-android

Steps to Reproduce

Create a wrapper view with the styles: {flexDirection: 'row', alignItems:'baseline'}
Within the wrapper view, create multiple text nodes with different fontSizes

Expected Behavior
The text nodes would be aligned along the baseline.
Actual Behavior
The text nodes are not aligned along the baseline. The alignment is indistinguishable from alignItems: 'flex-end'

Reproducible Demo
https://snack.expo.io/HkoJ_QkcZ

There is a pretty easy workaround to this. If you wrap your <Text>s in another <Text> with alignItems: baseline, everything lines up nicely.
https://snack.expo.io/ry2knIZ3-

I recently fixed this on iOS.

this bug still exists...
"react": "16.3.1",
"react-native": "0.55.2"

I confirm, this bug is still alive.
Screenshot:

https://github.com/facebook/react-native/blob/03663491c6e68409f73d5c9bbc1a2e3c02ee0966/RNTester/js/TextExample.ios.js#L226-L276

@shergin on Android this bug still exists...
react-native init AwesomeProject
cd AwesomeProject
react-native run-android

Environment
node v8.12.0
npm 6.4.1
react-native-cli: 2.0.1
react-native: 0.57.3

my package.json is
{
  "name": "TemReactNative",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.6.0-alpha.8af6728",
    "react-native": "0.57.3"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.48.1",
    "react-test-renderer": "16.6.0-alpha.8af6728"
  },
  "jest": {
    "preset": "react-native"
  }
}

the Code is
import React, { PureComponent } from 'react';
import { Text, View, StyleSheet } from 'react-native';

export default class TestTextBaseline extends PureComponent {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.textContainer}>
          <Text style={{ fontSize: 65, backgroundColor: '#ff9c6e' }}>1</Text>
          <Text style={{ fontSize: 55, backgroundColor: '#ff9c6e' }}>1</Text>
          <Text style={{ fontSize: 45, backgroundColor: '#ff9c6e' }}>1</Text>
          <Text style={{ fontSize: 35, backgroundColor: '#ff9c6e' }}>1</Text>
          <Text style={{ fontSize: 25, backgroundColor: '#ff9c6e' }}>1</Text>
        </View>
      </View>
    );
  }
}

export const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center'
  },
  textContainer: {
    justifyContent: 'center',
    flexDirection: 'row',
    alignItems: 'baseline'
  }
});

ios is correct

But android is wrong

I'm on RN 0.59.10 and it's not working on android yet. I get the same result that @MrSeaWave getting.

In many cases we cannot apple the workaround by wrapping all Texts inside Text, for example in making a table.


IBM JDK is detected but never selected

Our setup allows Gradle to detect the presence of an IBM JDK in the environment.
However, this JDK is never selected, even when JvmVendorSpec.IBM is explicitly requested.
We have tried this with Gradle 6.8.1, 6.8.3 and 7.0, always the same result.
Output of javaToolchains:
> Task :javaToolchains

 + Options
     | Auto-detection:     Enabled
     | Auto-download:      Disabled

 + AdoptOpenJDK 1.8.0_265
     | Location:           E:\tools\hotspot-openjdk-8u265-b01
     | Language Version:   8
     | Vendor:             AdoptOpenJDK
     | Is JDK:             true
     | Detected by:        environment variable 'JDK_8'

 + AdoptOpenJDK 11.0.8
     | Location:           E:\tools\prodist-build-1.2.0\.module\jdk-11\jdk-11.0.8+10
     | Language Version:   11
     | Vendor:             AdoptOpenJDK
     | Is JDK:             true
     | Detected by:        environment variable 'JDK_11'

 + AdoptOpenJDK JRE 11.0.8
     | Location:           E:\tools\prodist-build-1.2.0\.core\jre
     | Language Version:   11
     | Vendor:             AdoptOpenJDK
     | Is JDK:             false
     | Detected by:        Current JVM

 + IBM JDK 1.8.0_271
     | Location:           E:\tools\ibm-jdk-8
     | Language Version:   8
     | Vendor:             IBM
     | Is JDK:             true
     | Detected by:        system property 'org.gradle.java.installations.paths'

 + Oracle JDK 1.7.0_80
     | Location:           E:\tools\prodist-build-1.2.0\.module\jdk-7\jdk1.7.0_80
     | Language Version:   7
     | Vendor:             Oracle
     | Is JDK:             true
     | Detected by:        environment variable 'JDK_7'

 + Zulu JDK 1.8.0_282
     | Location:           E:\tools\zulu<IP_ADDRESS>-ca-jdk8.0.282-win_x64
     | Language Version:   8
     | Vendor:             Zulu
     | Is JDK:             true
     | Detected by:        system property 'org.gradle.java.installations.paths'

Task definition:
tasks.register('signedIntegrationTestIbm', Test) {
    description = 'Runs integration tests with signed security provider JAR on IBM JDK.'
    group = 'verification'
    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.output + jar.outputs.files + configurations.integrationTestRuntimeClasspath
    useJUnitPlatform()

    javaLauncher = javaToolchains.launcherFor {
        languageVersion = JavaLanguageVersion.of(8)
        vendor = JvmVendorSpec.IBM
    }
}

Output of task:
* What went wrong:
Execution failed for task ':signedIntegrationTestIbm'.
> Failed to query the value of task ':signedIntegrationTestIbm' property 'javaLauncher'.
   > No compatible toolchains found for request filter: {languageVersion=8, vendor=IBM, implementation=vendor-specific} (auto-detect true, auto-download false)

java.exe version information:
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build <IP_ADDRESS> - pwa6480sr6fp20-20201120_02(SR6 FP20))
IBM J9 VM (build 2.9, JRE 1.8.0 Windows 10 amd64-64-Bit Compressed References 20201102_458768 (JIT enabled, AOT enabled)
OpenJ9   - 5b31a42
OMR      - 6ad3a34
IBM      - b7e48f4)
JCL - 20201119_01 based on Oracle jdk8u271-b09

FYI: this project has a signedIntegrationTestAzul task which does the same thing for JvmVendorSpec.AZUL; it works as expected.

@pedrolamarao thanks for the detailled report. I assume this has to do that we might fail to select a J9 implementation by default. Could you try this with your JDKs:
toolchain {
        languageVersion = JavaLanguageVersion.of(8)
        vendor = JvmVendorSpec.IBM
        implementation = JvmImplementation.J9
    }

Even if it works, this is still a valid request/defect.

Gradle 6.8.3 gives the same result:
* What went wrong:
Execution failed for task ':sts-jca:signedIntegrationTestIbm'.
> Failed to query the value of task ':sts-jca:signedIntegrationTestIbm' property 'javaLauncher'.
   > No compatible toolchains found for request filter: {languageVersion=8, vendor=IBM, implementation=J9} (auto-detect true, auto-download false)

for task:
tasks.register('signedIntegrationTestIbm', Test) {
    description = 'Runs integration tests with signed security provider JAR on IBM JDK.'
    group = 'verification'
    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.output + jar.outputs.files + configurations.integrationTestRuntimeClasspath
    useJUnitPlatform()

    javaLauncher = javaToolchains.launcherFor {
        languageVersion = JavaLanguageVersion.of(8)
        vendor = JvmVendorSpec.IBM
        implementation = JvmImplementation.J9
    }
}

Pinging this issue.
The workaround is simple (just add the line implementation = JvmImplementation.J9) but the fact that Gradle fails to detect J9 JDK unless explicitly set to do is very unintuitive and caused me to waste many hours of my life till I found this issue in Github with the fix.

This is still not working in Gradle 7.4:
~$ ./gradlew --version

------------------------------------------------------------
Gradle 7.4.1
------------------------------------------------------------

Build time:   2022-03-09 15:04:47 UTC
Revision:     36dc52588e09b4b72f2010bc07599e0ee0434e2e

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.13 (Eclipse OpenJ9 openj9-0.29.0)
OS:           Linux 5.13.0-35-generic s390x

[labuser@9b7bc308a9af reproducer]$ ./gradlew -q javaToolchain

 + Options
     | Auto-detection:     Disabled
     | Auto-download:      Disabled

 + IBM Semeru Runtimes JDK 11.0.13+8
     | Location:           /opt/jdk-ibm-semeru-<IP_ADDRESS>.0
     | Language Version:   11
     | Vendor:             IBM Semeru Runtimes
     | Architecture:       s390x
     | Is JDK:             true
     | Detected by:        environment variable 'JAVA_HOME'

~$ ./gradlew build
> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Error while evaluating property 'javaCompiler' of task ':compileJava'
   > Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
      > No compatible toolchains found for request filter: {languageVersion=11, vendor=any, implementation=vendor-specific} (auto-detect false, auto-download false)

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
1 actionable task: 1 executed

using a minimalistic build.gradle:
plugins {
    id 'java'
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

gradle.properties:
org.gradle.java.installations.fromEnv=JAVA_HOME
org.gradle.java.installations.auto-detect=false
org.gradle.java.installations.auto-download=false

Still not working as of Gradle 7.5-20220504153215+0000.
This defect is blocking our attempts to define a CT architecture for testing with multiple JDK implementations.

Fixed via https://github.com/gradle/gradle/pull/22304. Use Gradle 7.6, when released, or the Gradle Release Nightly  to test. Reopen the issue if something is still not ok.


[Misc] is golang a requirement?

What's on your mind?
scripts/environment-deploy.sh works for me but I noticed errors in the log regarding go.

Can these be ignored or should I install go and redeploy?
Versions (please complete the following information):

Release Version installed
mainline

Hi @primerano, golang is a requirement since it is used for the multipart S3 downloader tool EC2 Windows based research environments. Although it is recommended to have it installed, you can safely ignore the error if you don't expect to use EC2-Windows workspaces.

Also, the fix for this bug is in progress. Feel free to install from the latest release after this has been merged.

The fix for this issue has been merged. Closing this issue now.


Custom connection doesn't connect to anything, always get a "connection error"

Trying to make the custom connection work, but nothing works. I set a local dummy listener on localhost (netcat: nc -vv -l -p 8888) to see what gets on the port, but there is not even a connection to it! The documentation doesn't give any information about what is supposed to be put in the "custom link"...

Hello, thank you for reaching out to our Code GPT staff. We are aware of the problem and will notify you as soon as it is resolved.


Turn i.imgur.com links into imgur.com links

Spoke with Alex, we're supposed to turn i.imgur.com links -> imgur.com links. Seems like the best place to do this is at the API level. I'll follow up with comments if needed, but that's tricky. One concern with this is implementation is that it's unclear if we need to show the full link when someone edits their own post (and make sure it doesn't get PATCH'd into the prefixless version).

I think this belongs in the view, not in the API library - this is business logic specifically related to how we display the link. Keeping it in the view also gets rid of the complication around patching.

I guess what I really want is a view-model -like layer where we can make a copy of the post that has any business logic done ahead of time. toJson seemed like a good place but I can move it into helper functions. fwiw I found out patch only sends the text and self-text


Model loaded to a single GPU when FSDP is disabled and quantization is disabled

System Info
Collecting environment information...
PyTorch version: 2.1.0.dev20230727+cu118
Is debug build: False
CUDA used to build PyTorch: 11.8
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.6 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Clang version: Could not collect
CMake version: version 3.26.4
Libc version: glibc-2.31
Python version: 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0] (64-bit runtime)
Python platform: Linux-5.15.0-1037-aws-x86_64-with-glibc2.31
Is CUDA available: True
CUDA runtime version: 11.8.89
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA A10G
GPU 1: NVIDIA A10G
GPU 2: NVIDIA A10G
GPU 3: NVIDIA A10G
GPU 4: NVIDIA A10G
GPU 5: NVIDIA A10G
GPU 6: NVIDIA A10G
GPU 7: NVIDIA A10G
Nvidia driver version: 525.85.12
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   48 bits physical, 48 bits virtual
CPU(s):                          192
On-line CPU(s) list:             0-191
Thread(s) per core:              2
Core(s) per socket:              48
Socket(s):                       2
NUMA node(s):                    2
Vendor ID:                       AuthenticAMD
CPU family:                      23
Model:                           49
Model name:                      AMD EPYC 7R32
Stepping:                        0
CPU MHz:                         2799.960
BogoMIPS:                        5599.92
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       3 MiB
L1i cache:                       3 MiB
L2 cache:                        48 MiB
L3 cache:                        384 MiB
NUMA node0 CPU(s):               0-47,96-143
NUMA node1 CPU(s):               48-95,144-191
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Mitigation; untrained return thunk; SMT enabled with STIBP protection
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr rdpru wbnoinvd arat npt nrip_save rdpid
Versions of relevant libraries:
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.25.1
[pip3] pytorch-triton==2.1.0+9e3e10c5ed
[pip3] torch==2.1.0.dev20230727+cu118
[conda] numpy                     1.25.1                   pypi_0    pypi
[conda] pytorch-triton            2.1.0+9e3e10c5ed          pypi_0    pypi
[conda] torch                     2.1.0.dev20230727+cu118          pypi_0    pypi
Information

[ ] The official example scripts
[ ] My own modified scripts

🐛 Describe the bug
When fine-tuning without FSDP and without quantization, model is loaded into a single GPU (https://github.com/facebookresearch/llama-recipes/blob/a7504a2e99ec27c429223b17ed851ad56c24c909/src/llama_recipes/finetuning.py#L159). For model such as Llama 2 70B which can not be loaded onto a single GPU, this causes failure.
Is there a reason to do so?
Error logs
Out of memory
Expected behavior
no error

@vivekmadan2 yes reason is we chose to go with FSDP for multi-GPU but you can change the logic here, https://github.com/facebookresearch/llama-recipes/blob/main/src/llama_recipes/finetuning.py#L102

Hi! It seems that a solution has been provided to the issue and there has not been a follow-up conversation for a long time. I will close this issue for now and feel free to reopen it if you have any questions!


Reliably track robot identity across renames

Overview
The robot discovery system currently listens for robots on the network and keeps track of them by their IP addresses and human-readable names.
This is problematic because both of those things are transient. IP addresses can change as DHCP leases expire, and users can rename robots.
So, for example, the Opentrons App has no reliable way to distinguish between:

A robot's name changing from A to B.
The A robot going offline, and then a different B robot appearing for the first time.

Which can cause the UI to present things in a confusing way.
In certain cases, the Opentrons App might be able to handle this heuristically. For example, if it is the thing that triggered the rename from A to B in the first place, it can know that the "new" robot called A is really the same thing as the B robot that just disappeared. But this can't hold up in the general case because robots can change their names under command from other clients, or even on their own (to automatically deconflict with other devices on the network). And it would be prone to timing-related fragility.
So, the Opentrons App needs a way of tracking robot identity that's independent from names and IP addresses.
Acceptance criteria

The Opentrons App (or the discovery client?) can distinguish between a robot's name changing from A to B versus the A robot going offline and then a different B robot appearing for the first time.

For example, it should not leave behind a duplicate entry in the Devices list for the old robot.
This should hold even when the robot's name changed on its own, without explicit action from the user.

The Opentrons App can (or the discovery client?) can distinguish between two physically different robots that happen to have the same name.

Implementation options
We can have the Opentrons App and discovery client use some new form of robot ID. Options:

The robot's serial number, which is already accessible over HTTP.
The mDNS host (<hostname>.local). With the way the robot software is currently set up, <hostname> is the robot's serial number, when everything is working correctly. So this should be functionally equivalent to that.
Some new opaque identifier string—call it machineId for the sake of discussion—that we would expose over HTTP.

We have several good options for this on the robot side, including MAC addresses or the systemd machine-id.

I like machine-id for this. A problem is that we want a local dev server to be relatively transparently available in the app, but that seems relatively solvable to fake with the dev server (e.g. by dropping something in ~/.opentrons)

Another question is exactly how we should expose this ID.

Reading it by HTTP polls. I think we need this in order to support the case where mDNS isn't involved in robot discovery at all, and the discovery client is just polling a static list of IP addresses.
Reading it as part of receiving an mDNS advertisement. I'm not sure exactly how necessary this is, but it could help keep track of a robot's identity when the robot's robot-server and update-server are unreachable. mDNS and Avahi do let us tack a small amount of arbitrary data onto the robot's advertisements (as a TXT record), but I'm not sure if our client-side mDNS library supports parsing it out.

Ideally, we'd have this bit of information present in all three sources. Less ideally, I think it's workable if it's missing from mDNS

Migrated to RSS-489.


Integrate first code quality analysis outcomes from SonarQube (Nemo)

Fix issues found by Nemo instance after its first run:
http://nemo.sonarqube.org/dashboard/index?id=org.sonar%3Asonar-stash-plugin

Get the opportunity to increase Code coverage as suggested by Nemo.


Just some thoughts

I am sorry if i annoy you with all these "issues". I am just kinda excited about a new filemanager (something almost every virtualmin user is waiting for, for years).
I have just some thoughts on how i think your filemanager would be even better.

An address bar to type in a path to go there directly. (i.e: type: /usr/share/webmin/filemin  will get you there immediatly)
Recursive search. The searchbar in the table now only searches in the current folder. Would be nice to make it search all folders and subfolders under the active folder.
chmod / chown combination. Opens up a modal where you can set the owner/group and permissions at once. Also an option to use these settings recursive if wanted.
The action button for select all could be removed since there is a checkbox in the table-header.
The action button for invert selection only appears (or becomes active) when a selection is made.
When selecting a folder, give the option to download the complete folder (compressing it before download) This saves some clicks (zipping it, downloading zipped file, removing zipped file again)

Again, I hope i don't offend you with all my jabbering.
If i could i would contribute with some coding. But my knowledge is kinda zero when it comes to perl.
I do have some CSS / HTML / PHP knowledge, so if i could contribute with that in any way, just let me know.

Webmin' file manager is pretty good, but is written in Java and so it is slow and require additional software on user side. Thats why I decided to create Filemin. Actually first version of Filemin was written more than year and half ago. It had all the functions it has now, but it was my first attempt with Perl, so the code was awfull, whole logic was written in one single (OMG) 'index.cgi', and also no Webmin API functions were used at all. So it was buggy and unmaintainable, that's why it was not released to public. Release of Authentic raised Webmin to new heights, now in it is da best web panel out there :) That's why approximately three weeks ago I decided to rewrite the module, I switched to Webmin API and separated logic, it reduced bugginess and increased maintainability. And Im glad that people interested in this module. IMHO bug fixes, especially those concerning security are the most important now.
However of course all your suggestions are welcomed and I will look into implementing 'em :)

First of all it is a great and VERY welcome stuff you have created here. Some thoughts thow:

It should work also on mobiles - responsiveness is quite important when you need to do smaller maintenance work from anywhere i.e. also over 3G with you mobile phone. The filemin tables would be great if they would resize in a responsive way.
Creating Symlinks was always very useful in the filemanager - where can I do this in filemin?
especially the possibility to change the destination of a symlink with editing inside the [info] popup in the old filemanager

re: responsive tables, you may find FooTable helpful. It does responsive tables with jQuery + Bootstrap.

I would also ask that the sort options work across several pages - for example it is hard to find the latest files uploaded to an upload folder (which could contain 100 pages)....


LightGBM model does not load saved in different versions

Please search your question on previous issues, stackoverflow or other search engines before you open a new one.
For bugs and unexpected issues, please provide following information, so that we could reproduce on our system.
Environment info
Operating System: Windows
CPU:
C++/Python/R version: Python 3.5
Error Message:
lightgbm.basic.LightGBMError: b'unknow submodel type in model file model.txt
Reproducible examples
Steps to reproduce

Saved model to model.txt after training using the version installed early this year, load worked for the same version with Python 3.5
Try to load with Python 3.6 and the latest LightGBM and got the error above in model load step

refer to #264 .


Maintainer wanted!

It's become clear to me that I cannot continue to maintain this package.
Between private life, and my job there's just not enough time to keep this up to date.
I don't have a use-case for it in my daily work anymore either.
I'd love to see someone who wants to step up and pick off the issues and generally keep up with the stuff happening with Atom!
Please let me know in this issue, or privately and we can discuss details. I'm very keen on making sure this is left in capable, willing hands.

See https://github.com/atom-community/atom-buildium/discussions/8


docs: Add Return Values to Management Api

Signed-off-by: rajivharlalka<EMAIL_ADDRESS>Closes: #106

[x] All Management Api

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

@hsluoyz Can you please review the PR :)


Fix/labels get reset

What does this do?
This fixes the problem with multiviewers only being correctly stored in the database but not being correct when starting a production immediately after creation. Also fixes problems with changing input slot after a multiview-layout have been set. The layout is now being updated as soon as the user makes an update to the sources.
When re-rendering the page, either on production-start, reload or lock/unlock, the production-page would loose the labels set for each source added to the production.
This fix solves that problem and if label-changes have been made it will always show that label-name instead of the "inventory source"-name

In locked mode, no thumbnails show.. Might be something worth fixing since this contains other fixes?

In locked mode, no thumbnails show.. Might be something worth fixing since this contains other fixes?

resolved


Enable batch cop for all TiFlash cop request by default

Enhancement
In TiDB, there is a cop request mode named BatchCop, in this mode, TiDB will batch all the regions in one TiFlash node together, and only send one BatchCop to each TiFlash node. In the tranditional mode, TiDB will send a cop request for each region. If the region number is very big(more than 10k), BatchCop mode will reduce the number of RPC greatly. However, by default, TiDB only use Batch cop mode if the cop request contains aggregation or topN. We need to do some investigations of the BatchCop to see if we can enable batch cop for all TiFlash cop request by default.

Tidb currently uses mpp by default, so this issue can be closed


Add HIP 5.0.2

@davidbeckingsale do we want to remove 4.3.1?

@davidbeckingsale do we want to remove 4.3.1?

Looks like both the 4 versions are failing 😭 let me see if they are fixable and then we can decide which to keep.

@davidbeckingsale 4.5.2 still failing (4.3.1 wait to be seen)

go hip go!!!

🤞

@davidbeckingsale can we remove the older builds (or add to skip?)

Yup, I'll remove the old builds.

@vsoch I think this is good - the failing builds on the last commits are 4.x versions which I removed already. I'm not 100% sure why they were showing up.

Did the cancelled one work before?

The failed ones might have just been before you refreshed the page? Anyhoo this is good to merge when that last one passes!

ahh so I think it might have gone over time?

That's really strange that 22.04 times out (> 6 hours) and not 20.04. The other 22.04/20.04 combo is also about an hour difference. Can we figure out why 22.04 is slower and (is there something we can do to the image) to make the build faster? Or a cache of some kind for spack? I'm guessing these won't hit the official spack build cache (because I never can) but perhaps we could either:

split some of the build time into a base image
some kind of cache that can be shared between runners?
or just remove that particular combination (22.04 and 5.1.3) for the time being!

Added with #96


Improve the Travis configuration

switch to the container-based infrastructure rather than the legacy one
persist the composer download cache between builds
add testing on PHP 5.6 and 7.0

Thank you


[tx] Use better keywords in transaction testing

This ticket tracks replacing :expecteddatoms and :expectedtransactions around https://github.com/mozilla/mentat/blob/42580539b8a58f9d10e5891a22112f8c1b697bff/db/src/db.rs#L863 with :expected-datoms and :expected-transactions; and updating the Wiki documentation at https://github.com/mozilla/mentat/wiki/Transacting:-EDN-test-format to reflect the changes.
For context, in #214, I landed the first parts of the transaction processor, and I landed the first parts of #188, which starts converting tests from the Clojure implementation to a generic EDN format.  While implementing the code in db.rs linked above, I ran into #219, which is now fixed.  This ticket tracks patching up the provisional names above.

Oh -- if there are other :multiword keywords in that code when you get to this, please make them all :multi-word.  (That's EDN style.)
Also, the test files like fixtures/*.edn will need to be updated as well.


Support specifying how to run kubectl

We use kubectl (on CI) behind Rancher CLI using something like:
rancher kubectl apply ....

This allows rancher-cli to take care of kubectl authentication, among other things.
It would be useful if kustomizer would allow to customize how it runs kubectl so we could tell it to do like the above.
Something like:
kustomizer apply --with-kubectl "rancher kubectl" ...

Note that in this case, kustomizer would have to space-split the received string to use the first element as the command to execute and prepend what's left into it's internally-built kubectl arguments list.
Does this sound right?

Closing this as Kustomizer v1.0 no longer uses kubectl.


x/tools/gopls: autocompletion after import organization fails with in-package tests

This reproduces with the latest gopls version.
Small repro:
package simple

func Simple() {
    <autocomplete http and try to do completions (they will fail)>
}

package simple

import "testing"

func TestSimple(t *testing.T) {
    <autocomplete http and try to do completions (they will succeed)>
}

This appears to be caused by go/packages erroneously reporting the net/http import as a dependency of only the test variant of the package, and not the non-test variant. This probably relates mostly to go/packages's handling of overlays.


Add marshmallow helpers

You still need to expose the new classes, right?

I mean, not really, it is enough to use the QuantitySchema, the rest works through mapping in the schema

But you still need to expose at least QuantitySchema! :laughing:

BTW, I would expose the fields too, just in case other people want to make some advanced use and do their own mapping or something.

But you still need to expose at least QuantitySchema!

I have! I just forgot to add that to the commit!

Updated

Exposed each quantity field class for the power users
Added support for string based de/serialization
added tests
added support for all quantities

Added support for string based de/serialization

Haha, so much for a different PR...

Updated: Now explicitly writing out all QuantityField subclasses


Title mismatch Apollo

Given the TitleInstance https://gokb.org/gokb/resource/show/org.gokb.cred.BookInstance%3A6241061#titledetails.
In fact, it should be two title instances given the same name because it occurs in https://gokb.org/gokb/resource/show/org.gokb.cred.Package%3A11751449 and in https://gokb.org/gokb/resource/show/org.gokb.cred.Package%3A6243109. In former, it is a film title and in latter, it is an eBook. We are thus talking about two different title instances what has the consequence that film titles get ISBNs.

No. Items from KBART can only be separated via their publication_type, namely serial or monograph. Those values directly correlate with a specific Item type in the GOKb (BookInstance/JournalInstance). The value of medium can then be used to further differentiate the titles, but will not be used for matching of future imports. So unless the titles contain differing global identifiers (so both would need a different doi in effect), I am afraid your use case  cannot be reflected properly by the KBART standard and you should therefore refrain from misusing it in this manner.

The matter of this ticket is that two independent records are reflected into one.

This is because only one of the titles has any reliable identifiers, and both are classified as a BookInstance. Titles without proper identifiers cannot be matched properly, and are therefore prone to cause such errors. The safest solution would be to refuse any titles without proper (globally recognized) identifiers, but that would have to be discussed further.

Alright, should thus become subject of discussion.

Given the fact that countless examples of matching books & films titles exist, we need to make this work.
@hornmo : What is the minimum criteria to make two titles distinguishable in this case?
My assumption: if there is a duplicate title, check the medium type.

If the medium types are different, check identifiers.

If identifiers are different: OK --> create both items independently
If there is a duplicate identifiers: --> create a Review Request

If the medium types are the same, we can not defer a case descibed here. So the procedure must be kept as is.

Yes, that sounds correct. I was going to completely ignore other types of titles in the identifier lookup, but creating a review request could probably be helpful for such cases.

@hornmo Is this fixed within the two PRs mentioned above? If so, please close this issue.

Those PRs fixed this issue.


Add more flexible ways to manage ReactDevelopmentServerMiddleware startup

Is your feature request related to a problem? Please describe.
I'm adjusting out frontend app to leverage NextJS instead of a cra app and it's currently not possible to properly load the application as it's expecting "Starting the development server" to be present in the output.
Describe the solution you'd like
As I see it, there are two possible solutions

Expose the string as a config setting (quick and easy, add to SpaOptions and set in the builder)
Accepting an Action<bool> that would return true if the application started or false after the timeout if not
Implementing an ISpaDevelopmentServer interface to allow the creation of a custom development server, which ReactDevelopmentServer can inherit from

Describe alternatives you've considered
I tried rolling my own development server but too much of the code is internal and I'd end up reimplementing large amounts.
I'm happy to look into adding this myself, just putting it out there to see if there's any chance of it getting merged.

@SteveSandersonMS  Thoughts?

@danroth27 This is the same request as was being addressed by this PR: https://github.com/aspnet/AspNetCore/pull/7452. The status of that PR is pending requested changes.

Closing as per conversation in #11897


Export progressFunc type

I would like to organize a few progress bars like so:
barContainer, _ := multibar.New()
barNames := []string{"foo", "bar", "baz"}

bars := make(map[string]multibar.progressFunc)

for _, n := range barNames {
	bars[n] := barContainer.MakeBar(size, n)
}

Evidently this is not possible because multibar.progressFunc is private. This commit exports the type.

+1
Please merge it. One year already.

I had notifications turned off on all my stuff (doh!); sorry for the late reply!
Thanks for the PR!


Preact-x React Dev Tools bundle issue with REACT_DEVTOOLS_GLOBAL_HOOK

In version 10.0.0-alpha.0 window.__REACT_DEVTOOLS_GLOBAL_HOOK__ is bundled as window.t
this obviously causes devtools to never load

Good catch! Looks like it is missing from the exclusion list in mangle.json


ENH: convert syntax tree to JSON

These changes serialize the abstract syntax tree as JSON.

@johnyf do you think something like this would be better implemented by sticking PPX macros onto our data structures?

This seems like useful functionality I'd like to play around with, would you be able to rebase and fix the conflicts?


Add support for binary32 values split over two Modbus registers

At present Typica only understands fixed point single register values. The other common representation for things like process values is a single precision floating point value split across two adjacent registers. Typica should support both common representations.

A pre-release Windows build is currently available at https://typica.us which supports this.


Added singleton class to instantiate one instance of Word object

added singleton class for instantiating the Word object as a solution for issue #4

@pdelco thanks a lot for the help Paul, appreciate it. The code looks good to me. This will be a good improvement in the app runtime and experience :)

Glad to help Capm96. This is one of the first times I've contributed to an open-source project. There are many things to learn, but I'm enjoying the experience. Good luck w/ your KnowledgeTrees app.


Dark theme Favicon initialization delay

Describe the bug
When the user has a Dark theme in the OS set, the Favicon changes to the Dark theme icon with a delay only after the App starts (which could be a significant delay due to large files download)
To Reproduce

Set Dark theme in the OS
Navigate to the site
Notice that initially Favicon from the light theme is displayed

Expected behavior
Dark theme Favicon should be displayed almost immediately.
Additional context
No additional context.

We can try CSS approach suggested by @solid-vladlaba.


add math.elu, math.leakyRelu

i got an elu implementation atm for the cpu only.
My question regarding the gpu implmentation is: would it be the best to implement it with the BinaryProgram?

This change is

Thanks for the contribution, few minor comments!

Review status: 0 of 6 files reviewed at latest revision, 4 unresolved discussions, some commit checks failed.

src/math/element_wise_arithmetic_test.ts, line 568 at r1 (raw file):

// math.elu
{
  const tests: MathTests = it => {

this should be in unary_op with leaky relu

src/math/math.ts, line 1107 at r1 (raw file):

   */
  leakyRelu<T extends NDArray>(ndarray: T): T {
    return this.executeOp('leaky-relu', () => this.leakyReluInternal(ndarray));

instead of dash, camel case: leakyRelu

src/math/math_cpu.ts, line 549 at r1 (raw file):

  }

  protected eluInternal<T extends NDArray>(ndarray: T, scale: Scalar): T {

TF doesn't use a scale:
https://www.tensorflow.org/versions/master/api_docs/python/tf/nn/elu

src/math/math_cpu.ts, line 572 at r1 (raw file):

        resultValues[i] = v;
      } else {
        resultValues[i] = 0.01 * v;

this 0.01 should be passed in as alpha
https://www.tensorflow.org/versions/master/api_docs/python/tf/nn/leaky_relu

Comments from Reviewable

Will do :) Was looking for the definitions of the activation functions described in the papers, where there is an alpha in elu and the factor in leaky relu is fixed to 0.01. Although no problem. In the future, I will look up the tensorflow definitions.
If the leaky relu gets an alpha parameter, then whats the difference to pRelu?
Im new to shaders, so i dont know exactly how to implement the alpha for the leaky relu. would it be the best to do use a binary program or should I use a flexible unary program?

One small comment about alpha, sorry to be pedantic. But this is so great, thank you!

Reviewed 6 of 6 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

src/math/math.ts, line 1104 at r2 (raw file):

   * @return {NDArray}
   */
  leakyRelu<T extends NDArray>(ndarray: T, alpha?:Scalar): T {

alpha will become a number after the other comment, so you can just initialize it here in the params as alpha = 0.2.

src/math/math_gpu.ts, line 331 at r2 (raw file):

  }

  protected leakyReluInternal<T extends NDArray>(a: T, alpha: Scalar): T {

small comment: make alpha a regular number and not a Scalar. by calling .get() and splicing it in, we're introducing a CPU / GPU interlock. We don't need alpha to be a real NDArray here, it's fine to just leave it as a regular javascript number. The program you the construct here will have the alpha number spliced in directly, instead of uploaded as a texture, since that's also what TF does.

Comments from Reviewable

Absolutely no problem. Made the changes.

Reviewed 2 of 3 files at r3.
Review status: 5 of 6 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

BTW, thanks for this awesome contribution!


Register 0.2.10

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/66623
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.10 -m "<description of version>" 26874982e6ffb73d201c95691577ed2096c52c2c
git push origin v0.2.10


[Feature request] Ignore .git folder as default not to auto-refresh arbitrarily

This is already mentioned at https://github.com/microsoft/vscode-livepreview/issues/276#issuecomment-1711470094 and https://github.com/microsoft/vscode-livepreview/issues/548 exists but I think .git folder is especially important and create a new issue.
If Auto Refresh Preview settings ( vscode://settings/livePreview.autoRefreshPreview ) is "On Changes to Saved Files", auto-refresh is triggered even when files in .git folder are changed.
Files in .git folder doesn't affect Web page itself and they would be changed by external apps.
In my case, app named "Sourcetree" fetch automatically and FETCH_HEAD is reloaded periodically and auto refresh is triggered arbitrarily.
I think other apps may cause such a problem so ignoring ".git" folder for  "On Changes to Saved Files" is needed.
https://github.com/microsoft/vscode-livepreview/issues/653 may be same cause.
Ignore settings( https://github.com/microsoft/vscode-livepreview/issues/548 ) may be also required but adding .git as default is needed and doesn't cause a problem, I think.

Please see https://github.com/microsoft/vscode-livepreview/issues/653#issuecomment-2374471722


RANDAO processing

What was wrong?
RANDAO processing was missing and the original PR for this was outdated.
How was it fixed?
Implemented the function process_randao plus the helpers validate_randao, slot_to_epoch, and get_current_epoch according to the spec.
However, some signature checking tests are failing and I don't understand why: Even though a different message is signed, bls.verify still returns True. Any idea what the issue is? (this is the reason why I labeled it as WIP.)
There are two FIXME comments that I think should be addressed in #235 (or here, depending what's merged earlier, cc @NIC619 ).
Cute Animal Picture

👍 on making them instance function of BeaconState though IIUC they are already implemented?
https://github.com/ethereum/trinity/blob/master/eth2/beacon/types/states.py#L329-L337

+1 on making them instance function of BeaconState though IIUC they are already implemented?
https://github.com/ethereum/trinity/blob/master/eth2/beacon/types/states.py#L329-L337

Didn't know they existed, thanks :+1:, will use those.
It would be nice if we could pass the whole config to BeaconState at initialization and use properties instead of getters, but I guess that's not possible without some changes in py-ssz...

It would be nice if we could pass the whole config to BeaconState at initialization and use properties instead of getters, but I guess that's not possible without some changes in py-ssz...

Yep...
FYI we have an outline of a "forkable" BeaconBlock (i.e., SerenityBeaconBlock), but not a forkable BeaconState (i.e., SerenityBeaconState) yet and I think we can delay the process of making them forkable after we have a stable phase 0 first release. (Now, 20 SSZ objects!!!!)

I just realized that, one more thing, in this PR, process_randao is not called in eth2.beacon.state_machines.forks.serenity.state_transitions.SerenityStateTransition.per_block_transition: https://github.com/ethereum/trinity/blob/53a00906a21114472b5cdd1a9a38dcb4c93a8449/eth2/beacon/state_machines/forks/serenity/state_transitions.py#L108
I imagine you will have to modify eth2/beacon/tools/builder/validator.py to set randao reveal for test_demo.py. Do you think it makes sense to add in this PR? Or the next one?


fix: correctly export different configs

:tada: This PR is included in version 1.4.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support Maps SDK 3 beta

What are the plans for the Maps SDK 3 beta? That beta seems to be stagnant, but we can't implement it if the utils library doesn't support it.

Hi @ryust, this is on our radar and this is what pull request #608 was intended to address. @barbeau and I have been working on a Gradle copy technique that would make supporting V3 much more automated (see https://github.com/googlemaps/android-maps-ktx/pull/51). I'm hoping to get to this by next week.

Fantastic! I've been holding off on SDK 3 until utils was ready to go also. Keep us posted.


re-enable icetransports relay test in FF

this test was previously disabled because FF ESR was 38 and iceTransportPolicy was implemented in FF 42

LGTM


An ugly example to import Toggl CSV into Harvest

If you're interested in including this as an example, I can make it a bit prettier (commandline options, error handling).

Thanks, but I'm going to keep this out. Makes me a little uncomfortable with Toggl and Harvest together.
However this looks like it'd be a great gist or a separate repo.


Multiplex Inverse Market Feed

@0xparashar This looks good from the calculations standpoint.
It threw me off a moment since my method for determining the inverse price was a bit different.
I did that by getting a price from each pool that is quoted in the currency that doesn't overlap between the two pools and then dividing the OVL pool price with the market pool price.
You did it by getting a standard price from the market pool and an inverse price from the OVL pool then multiplying them.
It looks these approaches are equivalent.

@0xparashar
That said, I think we can clean this code up a bit. For instance, this is not an exclusively inverse feed. It's a multiplex feed meant to derive the price of one token in another token when there is no single pool for that pair but two separate pools containing a mutual token that we can route through.
It can be for an inverse feed (which entails an OVL market), or just any pair we want to offer a market on that doesn't have the best liquidity profile.
We won't be launching this type of feed when the market pool is the same as the ovl pool. We would use the other feed for that. We should put constraints in the constructor that assert the two pools have overlap and are not the same.
Therefore we can remove the special cases and treat this feed as a feed that can either offer an inverse market or a normal market and always reports the reserves of the market pool in ovl terms just like the other univ3 feed that we have.

yes, I will get started on cleaning this code and making changes as suggested


ValueError: Cannot find tasks lighteval

This command based on the ReadMe
accelerate launch --num_processes=0 -m \
    lighteval accelerate \
    --model_args="pretrained=gpt2" \
    --tasks "lighteval|truthfulqa:mc|0|0" \
    --override_batch_size 1 \
    --output_dir="./evals/"

yields in colab this Error:
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/content/lighteval/src/lighteval/__main__.py", line 93, in <module>
    cli_evaluate()
  File "/content/lighteval/src/lighteval/__main__.py", line 58, in cli_evaluate
    main_accelerate(args)
  File "/content/lighteval/src/lighteval/logging/hierarchical_logger.py", line 175, in wrapper
    return fn(*args, **kwargs)
  File "/content/lighteval/src/lighteval/main_accelerate.py", line 90, in main
    task_dict = Registry(cache_dir=env_config.cache_dir).get_task_dict(
  File "/content/lighteval/src/lighteval/tasks/registry.py", line 151, in get_task_dict
    task_class = self.get_task_class(task_name, custom_tasks_registry=custom_tasks_registry)
  File "/content/lighteval/src/lighteval/tasks/registry.py", line 107, in get_task_class
    raise ValueError(
ValueError: Cannot find tasks lighteval|truthfulqa:mc in task list or in custom task registry (None)

Also the link to the metadata table can not be found.

Hi!
Please follow our bug report template :)

What is the version of lighteval you are currently using?
What is the hardware you are running this on?

Quite sure it's also linked to this issue, but if you have the problem for the task table you must be using an old version of lighteval.

This task does not exists in the lighteval suite, you need to do use leaderboard|truthfulqa:mc|0|0

the metatdata table has been detracted in recent version of lighteval, we recomend upgrading your version :)

@NathanHB Which version do you mean? The metatdata table and the command are currently written in the ReadMe.

oh then you have nothing to do, simply re-run your command using leaderboard|truthfulqa:mc|0|0 and it should work. The metadata table should not appear in the README it's an error from our part, we will update asap.


tap-mysql only INCREMENTAL, LOG_BASED, and FULL TABLE replication methods are supported

my config
version: 1
default_environment: dev
project_id: 11e34570-bed3-4835-961c-aa7a1a44a2aa
plugins:
  extractors:
  - name: tap-mysql
    variant: transferwise
    pip_url: pipelinewise-tap-mysql
  loaders:
  - name: target-postgres
    variant: transferwise
    pip_url: pipelinewise-target-postgres
environments:
- name: dev
  config:
    plugins:
      extractors:
      - name: tap-mysql
        config:
          host: <IP_ADDRESS>
          database: test
          user: test
          filter_dbs: test
        select:
        - '*.*'
        metadata:
          test_user:
            replication-method: FULL_TABLE
      loaders:
      - name: target-postgres
        config:
          host: <IP_ADDRESS>
          database: test
          user: test
          default_target_schema: public
- name: staging
- name: prod

@lialzm I just confirmed this is accurate, but I'm not sure if you're trying to report a bug or some other problem. Please re-open or make a new issue with more detail if there's something specific.


1.0.0 release

Once the https://github.com/vikejs/vike/labels/v1 release %3Astar2%3A tickets are implemented, Vike can be considered a feature complete, highly polished, and robust tool to build modern apps.
Plan:

[x] Rename vite-plugin-ssr to Vike.
[ ] Stable release of the https://github.com/brillout/vite-plugin-ssr/issues/578 (and soft-deprecate old design).
[ ] Promote and polish vike-react/vike-solid/vike-vue.
[ ] Add Bati's UI to https://vike.dev.
[ ] Implement https://github.com/vikejs/vike/labels/v1 release %3Astar2%3A tickets.
[ ] Rehaul marketing pages to target a wider audience with a more professional/dry tone. (The current copy has more of a personal/hobbyist/passionate tone.)
[ ] Make docs website prettier.
[ ] Marketing, marketing, and marketing. (Lots of comments and blog posts on social news sites, reach out to news sites & influencers, automatically track relevant news, ...)

Vike's V1 release alone is probably enough to grow to 100k weekly downloads, but we still want to invest in marketing to grow beyond 100k.

Is v1 okay?

@BlackCubeNo99 Yes the v1 roadmap is still the plan. (Althoug the Vike rename may happen earlier than planned.)

I just commented here to see the day Vike released v1 - To see your sweet of your efforts in a long time!
Thank you!

Rehaul marketing pages to target a wider audience with a more professional/dry tone. (The current copy has more of a personal/hobbyist/passionate tone.)

Please don’t. :) Professional/dry tone is very uninspiring, and the marketing pages are very detailed now, just like developers like it.

I do intend to keep a unique touch to Vike's copy (e.g. I'll probably keep the part about us being passionate), but I do think that a professional/dry tone is paramount for gaining trust: we're surious about what we do and I want to communicate that.

ETA: end of this summer.


RFC: Transforming messages through Javascript

I managed to get secor to work as I wanted it to, and found another "issue" while doing so: I needed to transform my messages, so that they could be fitted into the schema. Secor does provide the MessageTransformer, but actually creating such transformer would require either forking secor and adding the transformer, or coming up with a clever scheme of building the transformer when deploying.
Ideally in my case I want the transformer match the schema specification from the configuration (secor.orc.message.schema.*), and therefore keep these two data items close together.
My solution:

Patch secor to provide a message transformer that executes an external script (from configuration) for each message
Implement the actual transformation logic when running secor

The code isn't as clean as it could be, but it should be enough to illustrate the idea:
package com.pinterest.secor.transformer;

import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

import jdk.nashorn.api.scripting.JSObject;

import com.pinterest.secor.message.Message;
import com.pinterest.secor.common.SecorConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Run a message transformer from a (nashorn+core-js) script
 */
public class JavascriptMessageTransformer implements MessageTransformer {
    public static class Console {
        private final Logger LOG;

        public Console(Logger log) {
            this.LOG = log;
        }

        public void log(String message) {
            LOG.info(message);
        }

        public void trace(String message) {
            LOG.trace(message);
        }

        public void info(String message) {
            LOG.info(message);
        }

        public void warn(String message) {
            LOG.warn(message);
        }

        public void error(String message) {
            LOG.error(message);
        }
    }

    private final Logger LOG = LoggerFactory.getLogger(JavascriptMessageTransformer.class);

    private final ScriptEngine engine;
    private final JSObject transform;

    /**
     * Constructor
     *
     * @param config secor config
     */
    public JavascriptMessageTransformer(SecorConfig config) throws FileNotFoundException, ScriptException, NoSuchMethodException {
        // XXX: Access variables directly with getString to avoid having to patch SecorConfig for that.
        //      If this transformer gets upstreamed this should be changed.
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("JavaScript");
        String script = config.getString("secor.message.transformer.javascript.file", "");
        if (script.isEmpty()) {
            throw new RuntimeException("Required secor.message.transformer.javascript.file configuration not set");
        }

        // Provide the secor configuration
        // Note that this is a raw Java object, and code accessing it must handle that properly using Nashorn's convention.
        engine.put("config", config);
        // Provide a "console" object so that the script can log (through our logger)
        engine.put("console", new Console(LOG));
        // Provide a lot of polyfills and fixes so that our environment looks reasonable "standard" using core-js
        LOG.debug("Loading core-js");
        // Object.keys() is just broken on Nashorn, and whatever it does it is not what it should do. `delete` it, so that we get the core-js polyfill.
        // Object.getOwnPropertyNames() also does funny things in certain ways, so we prefer the polyfill.
        engine.eval("delete Object.keys");
        engine.eval("delete Object.getOwnPropertyNames");
        engine.eval(new InputStreamReader(this.getClass().getResourceAsStream("core-js-bundle/index.js")));
        // Load a wrapper that we use to translate the message and call the actual transform method
        LOG.debug("Loading wrapper");
        engine.eval(new InputStreamReader(this.getClass().getResourceAsStream("js/transform_wrapper.js")));
        // Finally: Load the actual script, which should return a function-ish object that will be called with the input message.
        // The name of the function is actually irrelevant.
        LOG.debug("Loading script " + script);
        JSObject transform = (JSObject) engine.eval(new FileReader(script));
        LOG.info("Using transform function " + transform);

        this.transform = transform;
        this.engine = engine;
    }

    protected byte[] fromJSONString(Object value) {
        if (value == null) {
            LOG.info("Null found!");
            return null;
        }
        // FIXME: Check for undefined missing, and check for null might actually not work.
        return value.toString().getBytes(StandardCharsets.UTF_8);
    }

    @Override
    public Message transform(Message message) {
        // Create a regular javascript object from the message
        // There are other ways, for example implementing a wrapper class that also implements JSObject (via AbstractJSObject), but that
        // is a huge can of worms. See http://programmaticallyspeaking.com/nashorns-jsobject-in-context.html for some details.
        // Note that this assumes that key and payload are stringish.
        Object transformed;
        try {
            transformed = ((Invocable) this.engine).invokeFunction("_transformWrapper", new Object[] {
                this.transform,
                message.getTopic(),
                message.getKafkaPartition(),
                message.getOffset(),
                message.getKafkaKey() != null ? new String(message.getKafkaKey(), StandardCharsets.UTF_8) : null,
                message.getPayload() != null ? new String(message.getPayload(), StandardCharsets.UTF_8) : null,
                message.getTimestamp()
            });
        } catch (ScriptException|NoSuchMethodException e) {
            throw new RuntimeException("Failed to execute 'transform' function", e);
        }

        if (transformed instanceof JSObject) {
            // Common case: A JS structure; we need to pull out the values.
            JSObject transformedMessage = (JSObject) transformed;
            return new Message(
                transformedMessage.getMember("topic").toString(),
                ((Number) transformedMessage.getMember("partition")).intValue(),
                ((Number) transformedMessage.getMember("offset")).longValue(),
                fromJSONString(transformedMessage.getMember("key")),
                fromJSONString(transformedMessage.getMember("payload")),
                ((Number) transformedMessage.getMember("timestamp")).longValue());
        } else if (transformed instanceof Message) {
            // Special case: The code actually produced a "native" message instance, use that without further touching it.
            return (Message) transformed;
        } else {
            // Return 'null' so that this message will simply get dropped and not processed further.
            return null;
        }
    }
}

The transform_wrapper.js script is used to create a suitable message class:
/**
 * Wrap a transform function
 *
 * This wrapper basically converts its arguments into a regular JS object, and then calls the
 * `transform` function with it. This avoids ugly magic inside the Java MessageTransformer.
 *
 * @param {(m: Message) => Message} transform transform function
 * @param {string} topic the topic of the message
 * @param {number} partition the partition of the message
 * @param {number} offset the offset of the message
 * @param {string} key the message key, can be empty or null
 * @param {string} payload the message payload, can be empty (but not null)
 * @param {number} timestamp timestamp when the message was received (see Kafka documentation!)
 */
function _transformWrapper(transform, topic, partition, offset, key, payload, timestamp) {
    return transform({
        topic: topic,
        partition: partition,
        offset: offset,
        key: key,
        payload: payload,
        timestamp: timestamp
    });
}

Additionally I decided to provide the polyfills from core-js.
As an example, my transformer at end looked like this:
// Transform a message for storing into ORC
// The returned message must match the format in secor.properties (secor.orc.message.schema.*)
function transformMessage(message) {
    var parsedPayload = JSON.parse(message.payload);
    var transformedPayload = {
        type: parsedPayload.type,
        _meta: parsedPayload._meta,
        _message: message.payload,
    };
    return Object.assign(message, {payload: JSON.stringify(transformedPayload)});
}

What do you think, is this something that could be interesting to provide by default?

How is the performance of running javascript function for each message?
How much runtime overhead does it add and how much memory overhead
(comparing to vanilla secor)?
On Tue, Nov 20, 2018 at 7:46 AM Andreas Kohn<EMAIL_ADDRESS>wrote:

I managed to get secor to work as I wanted it to, and found another
"issue" while doing so: I needed to transform my messages, so that they
could be fitted into the schema. Secor does provide the MessageTransformer
https://github.com/pinterest/secor/blob/master/src/main/java/com/pinterest/secor/transformer/MessageTransformer.java,
but actually creating such transformer would require either forking secor
and adding the transformer, or coming up with a clever scheme of building
the transformer when deploying.
Ideally in my case I want the transformer match the schema specification
from the configuration (secor.orc.message.schema.*), and therefore keep
these two data items close together.
My solution:

Patch secor to provide a message transformer that executes an
external script (from configuration) for each message
Implement the actual transformation logic when running secor

The code isn't as clean as it could be, but it should be enough to
illustrate the idea:
package com.pinterest.secor.transformer;
import java.io.FileReader;import java.io.FileNotFoundException;import java.io.InputStreamReader;import java.nio.charset.StandardCharsets;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException;
import jdk.nashorn.api.scripting.JSObject;
import com.pinterest.secor.message.Message;import com.pinterest.secor.common.SecorConfig;import org.slf4j.Logger;import org.slf4j.LoggerFactory;
/** * Run a message transformer from a (nashorn+core-js) script */public class JavascriptMessageTransformer implements MessageTransformer {
public static class Console {
private final Logger LOG;
    public Console(Logger log) {
        this.LOG = log;
    }

    public void log(String message) {
        LOG.info(message);
    }

    public void trace(String message) {
        LOG.trace(message);
    }

    public void info(String message) {
        LOG.info(message);
    }

    public void warn(String message) {
        LOG.warn(message);
    }

    public void error(String message) {
        LOG.error(message);
    }
}

private final Logger LOG = LoggerFactory.getLogger(JavascriptMessageTransformer.class);

private final ScriptEngine engine;
private final JSObject transform;

/**     * Constructor     *     * @param config secor config     */
public JavascriptMessageTransformer(SecorConfig config) throws FileNotFoundException, ScriptException, NoSuchMethodException {
    // XXX: Access variables directly with getString to avoid having to patch SecorConfig for that.
    //      If this transformer gets upstreamed this should be changed.
    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("JavaScript");
    String script = config.getString("secor.message.transformer.javascript.file", "");
    if (script.isEmpty()) {
        throw new RuntimeException("Required secor.message.transformer.javascript.file configuration not set");
    }

    // Provide the secor configuration
    // Note that this is a raw Java object, and code accessing it must handle that properly using Nashorn's convention.
    engine.put("config", config);
    // Provide a "console" object so that the script can log (through our logger)
    engine.put("console", new Console(LOG));
    // Provide a lot of polyfills and fixes so that our environment looks reasonable "standard" using core-js
    LOG.debug("Loading core-js");
    // Object.keys() is just broken on Nashorn, and whatever it does it is not what it should do. `delete` it, so that we get the core-js polyfill.
    // Object.getOwnPropertyNames() also does funny things in certain ways, so we prefer the polyfill.
    engine.eval("delete Object.keys");
    engine.eval("delete Object.getOwnPropertyNames");
    engine.eval(new InputStreamReader(this.getClass().getResourceAsStream("core-js-bundle/index.js")));
    // Load a wrapper that we use to translate the message and call the actual transform method
    LOG.debug("Loading wrapper");
    engine.eval(new InputStreamReader(this.getClass().getResourceAsStream("js/transform_wrapper.js")));
    // Finally: Load the actual script, which should return a function-ish object that will be called with the input message.
    // The name of the function is actually irrelevant.
    LOG.debug("Loading script " + script);
    JSObject transform = (JSObject) engine.eval(new FileReader(script));
    LOG.info("Using transform function " + transform);

    this.transform = transform;
    this.engine = engine;
}

protected byte[] fromJSONString(Object value) {
    if (value == null) {
        LOG.info("Null found!");
        return null;
    }
    // FIXME: Check for undefined missing, and check for null might actually not work.
    return value.toString().getBytes(StandardCharsets.UTF_8);
}

@Override
public Message transform(Message message) {
    // Create a regular javascript object from the message
    // There are other ways, for example implementing a wrapper class that also implements JSObject (via AbstractJSObject), but that
    // is a huge can of worms. See http://programmaticallyspeaking.com/nashorns-jsobject-in-context.html for some details.
    // Note that this assumes that key and payload are stringish.
    Object transformed;
    try {
        transformed = ((Invocable) this.engine).invokeFunction("_transformWrapper", new Object[] {
            this.transform,
            message.getTopic(),
            message.getKafkaPartition(),
            message.getOffset(),
            message.getKafkaKey() != null ? new String(message.getKafkaKey(), StandardCharsets.UTF_8) : null,
            message.getPayload() != null ? new String(message.getPayload(), StandardCharsets.UTF_8) : null,
            message.getTimestamp()
        });
    } catch (ScriptException|NoSuchMethodException e) {
        throw new RuntimeException("Failed to execute 'transform' function", e);
    }

    if (transformed instanceof JSObject) {
        // Common case: A JS structure; we need to pull out the values.
        JSObject transformedMessage = (JSObject) transformed;
        return new Message(
            transformedMessage.getMember("topic").toString(),
            ((Number) transformedMessage.getMember("partition")).intValue(),
            ((Number) transformedMessage.getMember("offset")).longValue(),
            fromJSONString(transformedMessage.getMember("key")),
            fromJSONString(transformedMessage.getMember("payload")),
            ((Number) transformedMessage.getMember("timestamp")).longValue());
    } else if (transformed instanceof Message) {
        // Special case: The code actually produced a "native" message instance, use that without further touching it.
        return (Message) transformed;
    } else {
        // Return 'null' so that this message will simply get dropped and not processed further.
        return null;
    }
}

}
The transform_wrapper.js script is used to create a suitable message class:
/** * Wrap a transform function * * This wrapper basically converts its arguments into a regular JS object, and then calls the * transform function with it. This avoids ugly magic inside the Java MessageTransformer. * * @param {(m: Message) => Message} transform transform function * @param {string} topic the topic of the message * @param {number} partition the partition of the message * @param {number} offset the offset of the message * @param {string} key the message key, can be empty or null * @param {string} payload the message payload, can be empty (but not null) * @param {number} timestamp timestamp when the message was received (see Kafka documentation!) */function _transformWrapper(transform, topic, partition, offset, key, payload, timestamp) {
return transform({
topic: topic,
partition: partition,
offset: offset,
key: key,
payload: payload,
timestamp: timestamp
});
}
Additionally I decided to provide the polyfills from core-js
https://www.npmjs.com/package/core-js-bundle.
As an example, my transformer at end looked like this:
// Transform a message for storing into ORC// The returned message must match the format in secor.properties (secor.orc.message.schema.*)function transformMessage(message) {
var parsedPayload = JSON.parse(message.payload);
var transformedPayload = {
type: parsedPayload.type,
_meta: parsedPayload._meta,
_message: message.payload,
};
return Object.assign(message, {payload: JSON.stringify(transformedPayload)});
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/469, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHCX_z5JEl5Ie-aAOfgGYoByEMPexJk9ks5uxCO3gaJpZM4YrYMv
.

Good questions, in short: I didn't specifically measure that, for our case it is certainly "fast enough".
Based on what this does, and what the JVM people claim: There should be overhead, surely, but I would expect reasonable amount of optimization to kick in quickly. There is also always the ability to use the scripting-approach for prototyping, but switch to custom builds for actual production use.
Do you have a "standard benchmark" that I could easily run and adapt to provide some numbers?

In terms of benchmarking, I suggest doing the following:

Base a baseline with only ingesting kafka messages into S3 without
javascript, you can baseline the performance on a one topic one partition
kafka topic with 4K average message size, run the baseline for an hour or
two.  Capture the throughput number together with memory footprint of the
secor java process.  You might also try to size your JVM really small to
make secor just able to run (or calling GC aggressively) to get the minimal
base size of secor memory footprint;
Add in your javascript portion
a. short java script which extract and replace one field of the message;
b. a more complex java script with maybe 20 lines of the code which do
more complex stuff (e.g. extract every field including deeply nested fields
and massaging the content of all those fields)

We are interested in throughput change and memory overhead of the
javascript engine.
On Wed, Nov 21, 2018 at 1:30 AM Andreas Kohn<EMAIL_ADDRESS>wrote:

Good questions, in short: I didn't specifically measure that, for our case
it is certainly "fast enough".
Based on what this does, and what the JVM people claim: There should be
overhead, surely, but I would expect reasonable amount of optimization to
kick in quickly. There is also always the ability to use the
scripting-approach for prototyping, but switch to custom builds for actual
production use.
Do you have a "standard benchmark" that I could easily run and adapt to
provide some numbers?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pinterest/secor/issues/469#issuecomment-440595848,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHCX_-4I4fsf7Z-9jc0QxTzbv1y8uIMZks5uxR1HgaJpZM4YrYMv
.


Is it possible to automize the process every week for exemple ?

You can use a cron job for that - if you're using github actions you should be able to fix the cron job script from the README. If you need help you can use crontab.guru.


Replace use of Helper.gem_path for locating assets

Continuation of work on concerns raised in #5770
Here is a suggested pattern for replacing the use of Helper.gem_path for locating resource paths within our projects. It is inspired by Rails.root
This could be carried over to each project in turn.

@KrauseFx Please let me know what you think!

Hey @mfurtak, I like the approach, as it seems cleaner than what we currently do.
Helper.gem_path was checking if the gem was installed, and if so, use the resources from the installed gem. This made it annoying to test, if you want to use the development instead of the installed one.
With your approach this issue should be resolved 👍
Let's roll this out for deliver, and if everything works as expected, roll it out to the other tools too 🚀

This shipped with deliver 1.13.3 👍


Configuração codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@8eba75e). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main        #7   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         1
  Lines           ?         2
  Branches        ?         0
========================================
  Hits            ?         2
  Misses          ?         0
  Partials        ?         0

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 8eba75e...642e696. Read the comment docs.


Please check CHEBI:144426

Hi Adnan,
could you maybe check CHEBI:144426. Would be highly appreciated!
Thanks!

Has been joined to CHEBI:28199.
Thanks!

Both entries were for the same compound so i decided to merge them.


Adjust Map Time Slider

Search result on the list page do not match search results on the map.  On the map page, the time slider at the top of the screen begins at December 31, 2010 and ends at the current date.  If you don't adjust the date slider, the map code includes the beginning and ending dates and filters out items not within the window.  On the list search page, there is no time slider.  So, items before 12/31/2010 aren't filtered out.  For images that match 陸前高田 (on dev), the missing images are from around 2007-2009.  To fix, make the start date a couple years earlier.

At least hundreds of items do not have a value for media_date_created.  At least several have probably wrong dates, saying they are from the years 12, 201, 213 and 1116.


[DOCS(typo)] Wrong install instructions via Go

According to the docs, the install command is:

But I think the proper command actually is:

Apologies, this was mass copy/paste/replace error.


Add utilities to main index.js

Add utilities to Main
This update adds the handful of useful util functions into the main index.js, allowing user/consumers of Blue to use them func! 🎉

Coverage remained the same at 100.0% when pulling 0719b43643b85fa4c241a78b45c271005f89b98a on add-utils-to-main into 2111666db61b46b4974f1d9d53fca8be24cbeac1 on master.

Coverage remained the same at 100.0% when pulling 18c32a193b23e821788de42af71b5b0f82ac829b on add-utils-to-main into 2111666db61b46b4974f1d9d53fca8be24cbeac1 on master.


Add synthetic people example

support parquet file extension with single or multiple files
add config file for synthetic people example

In order to run the example, make sure the synthetic people data has been downloaded to your local machine, and the value of filepath in the config file is correct.
mapshader serve <path..>examples/census_synthetic_people.yaml

@thuydotm looks like after merging there are some small conflicts.  Could you take a look at this?


The CSP example seems out of date

The CSP example found here: https://github.com/google/recaptcha/blob/master/examples/recaptcha-content-security-policy.php
Why don't you add strict-dynamic to the example ?
The example at the moment won't work on some old versions of Safari due to a lack of nonce-support.
Please update the CSP example to work on new and old browsers with the intent of backwards support.
Thanks.

Good catch, thank you!

Added and deployed.

Thanks.


DEPR: Series.is_timeseries

Follow-up for #10890. Deprecate Series.is_timeseries.

lgtm
just check that we are not actually using this anywhere (tests or otherwise)

Based on the search result, it only exists in series.py and test_series.py. Both fixed.

gr8 merge when ready


Update ember-mocha

Fixes #13

Yay, thank you! This may justify a 0.0.13 release so that the build passes!

@flexyford no - thank you!  Feel free to version

Nah, I don't think it needs a version since it was just the test runner that broken.


I want api not to translate private names.

I want the api not to translate the proper names. So what do I need to do?
Ex:

text: Rolex Watch
from: english
to : japanese

There is nothing supported in the API for this. However, if you translate HTML, using the class "notranslate" should omit translating the text inside them, according to this post.
Additionally, you can provide your own markers and substitute the text out before sending it to Google translate.


Basic file I/O for CLI platform

Adds a File module to the CLI example platform, with a couple of basic read/write functions.
There's currently a bug where the files never report errors. Previously it seemed this was a C ABI issue for which there was a workaround, but it turns out the workaround didn't work! So for now, these never correctly report errors (such as file not found).
That will be fixed in a future PR! 😄

Thank you, @rtfeldman ! 😃 🎉

I didn't realize file reading wasn't done yet: https://github.com/roc-lang/roc/issues/4021


ChromePicker alpha background

if you use SSR try this code Where to load the color picker
This code only renders on the client.
const ColorPicker = dynamic(() => import('../components/ColorPicker'), {
  ssr: false
});


[BUG] The alias is not added

obsidian Added the new file properties header to store file data instead of front matter

I perfer to store my aliases in this table instead of as front matter for my file system.
Describe the solution you'd like
In the same way you implemented your previous iteration i'd like the option to use the file properties table to store my aliases instead of as front matter. so in terms of logic
if(propertiesTable == True){
if(parseForTable == true && aliasfieldFound){
add(Alias)
}else{
create properties table
//maybe add template support
add(Alias)
}
}

Here is a better example of what im talking about

Thanks for reporting it. I was able to reproduce it. I see it as bug and will try to fix it probably during this weekend.

There is a workaround for now.
Type in first the text Confirmation, then select it and activate the command Create link with alias, that should work

Hi @parm-is-coding
I analyzed what is happening there on your video and I see that

The alias is not there when you just enter link like [[Confirmation]] because there is no link display text. In this case my plugin creates no alias. It is as designed. I think it makes no sense to create the alias with the name of the file
Later when you go back to the file which contains [[Confirmation]] link and you enter the display text "confirm", the plugin already forgot that your link is the one which should be handled, so it doesn't apply alias. Solution: activate the link with alias command again.

Note: If you enter [[Confirmation|confirm]] link directly from the beginning, then plugin works and the confirm alias should be automatically added.
So is there still something what needs to be fixed? Let me know. Thanks


⚠ Bofrost.be has degraded performance

In 351133e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1172 ms

Resolved: Bofrost.be performance has improved in e3ccbf7.


⚠ ClamAV has degraded performance

In 86e9408, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 449 ms

Resolved: ClamAV performance has improved in 1034495.


Interface Errors

Several interfaces are throwing errors when I import into Unity 2020.3.41f

ICore
IRelayer
IAcknowledgement
IApprovedData

 error CS8701: Target runtime doesn't support default interface implementation.

WalletConnectUnity needs netstandard 2.1. You should upgrade Unity version to 2021.3 or newer.


WebContent+LibWeb: Add an option to disable painting viewport scrollbars

This PR adds a --disable-scrollbar-painting option, which stops the scrollbars of viewport paintables from being painted. This option is then used by WebDriver when launching the browser.
This gives us 115 additional WPT passes.

Just for reference, do other browsers take this same route when running WPT? An alternative I could imagine is laying out & painting the backing store with a size as big as the document, in which case the scrollbars should disappear as well.


Keybind

Like lets press F9 in game to open modmenu directly (this will increase mouse click lifespan probably) :D

See #444

Does that mean it will be added in the future? Sorry I can't understand programming language that much

Duplicate of https://github.com/TerraformersMC/ModMenu/issues/403 and implemented for 1.18 in https://github.com/TerraformersMC/ModMenu/pull/444.
That means that this feature was already requested in https://github.com/TerraformersMC/ModMenu/issues/403 and will be added for 1.18 in https://github.com/TerraformersMC/ModMenu/pull/444.

Duplicate of #403 and implemented for 1.18 in #444.
That means that this feature was already requested in #403 and will be added for 1.18 in #444.

Ah I see, I understand now. Thank you very much.