refactor(decaf377): bump dep

Describe your changes
Updates the decaf377, decaf377-rdsa, and poseidon377 dep versions
Issue ticket number and link
References https://github.com/penumbra-zone/penumbra/issues/3676 and consumes changes in #3678. unblocked by https://github.com/penumbra-zone/decaf377/issues/101
Checklist before requesting a review

[x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason:

While the circuits are passing in bin/pcli/tests/proof.rs we're still getting some failures in the penumbra-app package I'll spend today debugging.

There's still smoke test failures that need to be resolved.

currently blocked by https://github.com/penumbra-zone/decaf377/pull/91. Once that's merged, I can modify the decaf377, decaf377-rdsa, and poseidon377 deps in this branch to point to main.

There's an arkworks stretch to support 32-bit limbs (64-bit multiplier):

https://github.com/arkworks-rs/algebra/pull/797
https://github.com/arkworks-rs/algebra/issues/769#issuecomment-1920661476

@redshiftzero what's the current status of this?

will be unblocked by work-stream tracked in https://github.com/penumbra-zone/decaf377/issues/101

@redshiftzero @cronokirby crate deps in this PR have been updated for decaf377 (0.5.0 to 0.10.0), decaf377-rdsa, and poseidon377. We have smoke test coverage, but still need to resolve the remaining CI failures. We should cut any necessary releases for decaf377-rdsa and poseidon377 now that their cargo files have been updated to use 0.10.0 of decaf.

one last thing to figure out here actually is why we need the getrandom dependency added everywhere, since it's a dev dependency only of decaf377

cargo tree --package penumbra-community-pool (the failing package here) on a5270922cafea8f89ed895e4376516bc90c82cb0 indicates that getrandom is being pulled in due to ark-ff:
penumbra-community-pool v0.79.0-alpha.1
├── anyhow v1.0.86
├── ark-ff v0.4.2
│   ├── ark-ff-asm v0.4.2 (proc-macro)
│   │   ├── quote v1.0.36
│   │   │   └── proc-macro2 v1.0.86
│   │   │       └── unicode-ident v1.0.12
│   │   └── syn v1.0.109
│   │       ├── proc-macro2 v1.0.86 (*)
│   │       ├── quote v1.0.36 (*)
│   │       └── unicode-ident v1.0.12
│   ├── ark-ff-macros v0.4.2 (proc-macro)
│   │   ├── num-bigint v0.4.6
│   │   │   ├── num-integer v0.1.46
│   │   │   │   └── num-traits v0.2.19
│   │   │   │       [build-dependencies]
│   │   │   │       └── autocfg v1.3.0
│   │   │   └── num-traits v0.2.19 (*)
│   │   ├── num-traits v0.2.19 (*)
│   │   ├── proc-macro2 v1.0.86 (*)
│   │   ├── quote v1.0.36 (*)
│   │   └── syn v1.0.109 (*)
│   ├── ark-serialize v0.4.2
│   │   ├── ark-serialize-derive v0.4.2 (proc-macro)
│   │   │   ├── proc-macro2 v1.0.86 (*)
│   │   │   ├── quote v1.0.36 (*)
│   │   │   └── syn v1.0.109 (*)
│   │   ├── ark-std v0.4.0
│   │   │   ├── num-traits v0.2.19 (*)
│   │   │   ├── rand v0.8.5
│   │   │   │   ├── libc v0.2.155
│   │   │   │   ├── rand_chacha v0.3.1
│   │   │   │   │   ├── ppv-lite86 v0.2.17
│   │   │   │   │   └── rand_core v0.6.4
│   │   │   │   │       └── getrandom v0.2.15
│   │   │   │   │           ├── cfg-if v1.0.0
│   │   │   │   │           └── libc v0.2.155
│   │   │   │   └── rand_core v0.6.4 (*)
│   │   │   └── rayon v1.10.0
[snip]

i.e., ark-ff is pulling in ark-serialize which is pulling in ark-std which eventually pulls in rand_core and getrandom. rand_core pulling in getrandom here makes sense given feature unification across the workspace since rand_core elsewhere in the workspace uses the getrandom feature.


Voice input for Powertoys Run

Description of the new feature / enhancement
A voice to text engine could be implemented in order to parse voice commands into Run.
It could be configurable in different ways:

Default listen behavior setting:

Listen off by default (basically no change to what it is now)
Listen on by default

Mic button:

Push to talk
Click to toggle listening (just like above setting, but in the actual dialog

Scenario when this would be used?
Let's say this: we want top efficiency. And as super fast typists, we enjoy doing it a quarter mile a thousand keystrokes/sec at a time... but sometimes we're deep into some other typing stuff. So we just strike a single key (or a key combo if you haven't set up key replacements/bindings/macros... you monster!) and just say what we want.
Not a virtual assistant, no extra smarts and AI and stuff that would take forever to implement... just the same functionality it has, with an added STT thingy.
*clack*
- "Spotify"
*gets ready to roll with some halo soundtrack*

Supporting information
No response

Duplicate of #4931

Thanks for your suggestion! This issue is a duplicate.
I'm linking this issue to #4931 to centralize the discussion thread, please go to that thread for discussion.
Thanks for your help to make PowerToys a better piece of software!

Heh... searched before posting, yet I still missed it! Thanks.


[Python][Dataset] to_batches crash after calling 'count_rows' using dataset to read encrypted parquet

Describe the bug, including details regarding any error messages, version, and platform.
I‘m using pyarrow.dataset.dataset to read an encrypted parquet file with decryption_config set in ParquetFragmentScanOptions and use to_batches to generate a RecordBatchReader. But I find that, after calling 'count_rows', the to batches will crashed.
I also tried csv and parquet in plaintext, they can generate reader after 'count_rows'.
pyarrow version is 16.0.0
ExampleCode
import base64

import pyarrow as pa
import pyarrow.dataset as ds
import pyarrow.csv
import pyarrow.parquet as pq
import pyarrow.parquet.encryption as pe

rb = pa.record_batch([[1, 2, 3], ["a", "b", "c"], [None, 1.2, 3.2]], ["id", "name", "value"])

FOOTER_KEY = b"0123456789112345"
FOOTER_KEY_NAME = "footer_key"

class PyarrowInMemoryKmsClient(pe.KmsClient):
    def __init__(self):
        """Create an InMemoryKmsClient instance."""
        pe.KmsClient.__init__(self)
        self.master_keys_map = {
            FOOTER_KEY_NAME: FOOTER_KEY.decode("UTF-8"),
        }

    def wrap_key(self, key_bytes, master_key_identifier):
        """Not a secure cipher - the wrapped key
        is just the master key concatenated with key bytes"""
        print(f"key_bytes is {key_bytes}, {master_key_identifier=}")
        master_key_bytes = self.master_keys_map[master_key_identifier].encode(
            'utf-8')
        wrapped_key = b"".join([master_key_bytes, key_bytes])
        result = base64.b64encode(wrapped_key)
        return result

    def unwrap_key(self, wrapped_key, master_key_identifier):
        """Not a secure cipher - just extract the key from
        the wrapped key"""
        print(f"wrapped_key is {wrapped_key}, {master_key_identifier=}")
        expected_master_key = self.master_keys_map[master_key_identifier]
        decoded_wrapped_key = base64.b64decode(wrapped_key)
        master_key_bytes = decoded_wrapped_key[:16]
        decrypted_key = decoded_wrapped_key[16:]
        if (expected_master_key == master_key_bytes.decode('utf-8')):
            return decrypted_key
        raise ValueError("Incorrect master key used",
                         master_key_bytes, decrypted_key)

def kms_client_factory(kms_connection_configuration):
    return PyarrowInMemoryKmsClient()

def test_csv_dataset():
    source_csv = "./test.csv"
    with pa.csv.CSVWriter(source_csv, rb.schema) as c:
        for _ in range(6):
            c.write(rb)

    dataset = ds.dataset(source_csv, format="csv")
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

    print(dataset.count_rows())
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

def test_parquet_dataset():
    source_parquet = "./test.parquet"
    with pq.ParquetWriter(source_parquet, rb.schema) as c:
        for _ in range(6):
            c.write(rb)

    dataset = ds.dataset(source_parquet, format="parquet")
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

    print(dataset.count_rows())
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

def test_encrypted_parquet_dataset():
    source_enc_parquet = "./test.enc.parquet"
    crypt_factory = pe.CryptoFactory(kms_client_factory)
    encryption_config = pe.EncryptionConfiguration(
        footer_key=FOOTER_KEY_NAME,
        column_keys={
            FOOTER_KEY_NAME: rb.schema.names,
        },
        encryption_algorithm="AES_GCM_V1",
        data_key_length_bits=256,
    )
    kms_connection_config = pe.KmsConnectionConfig()

    with pq.ParquetWriter(source_enc_parquet, rb.schema,
                          encryption_properties=crypt_factory.file_encryption_properties(kms_connection_config,
                                                                                encryption_config)) as c:
        for _ in range(6):
            c.write(rb)

    scan_options = ds.ParquetFragmentScanOptions(
        decryption_config=ds.ParquetDecryptionConfig(
            crypto_factory=crypt_factory, kms_connection_config=kms_connection_config,
            decryption_config=pe.DecryptionConfiguration()
        )
    )
    file_format = ds.ParquetFileFormat(default_fragment_scan_options=scan_options)

    dataset = ds.dataset(source_enc_parquet, format=file_format)
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

    print(dataset.count_rows())
    reader = pa.RecordBatchReader.from_batches(dataset.schema, dataset.to_batches())

    count = 0
    for record in reader:
        count += record.num_rows

if __name__ == '__main__':
    test_csv_dataset()
    test_parquet_dataset()
    test_encrypted_parquet_dataset()

Traceback
Traceback (most recent call last):
  File "/Users/yangyu/Library/Application Support/JetBrains/PyCharm2022.1/scratches/scratch_3.py", line 138, in <module>
    test_encrypted_parquet_dataset()
  File "/Users/yangyu/Library/Application Support/JetBrains/PyCharm2022.1/scratches/scratch_3.py", line 131, in test_encrypted_parquet_dataset
    for record in reader:
  File "pyarrow/ipc.pxi", line 666, in pyarrow.lib.RecordBatchReader.__next__
  File "pyarrow/ipc.pxi", line 700, in pyarrow.lib.RecordBatchReader.read_next_batch
  File "pyarrow/error.pxi", line 88, in pyarrow.lib.check_status
  File "pyarrow/_dataset.pyx", line 3769, in _iterator
  File "pyarrow/_dataset.pyx", line 3387, in pyarrow._dataset.TaggedRecordBatchIterator.__next__
  File "pyarrow/error.pxi", line 154, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 91, in pyarrow.lib.check_status
OSError: RowGroup is noted as encrypted but no file decryptor

Component(s)
Python

I can reproduce the issue locally.
@wgtmac @pitrou would you have time and idea on what could be the issue that both dataset.to_table() or dataset.to_batches() returns the error after calling  count_rows if the parquet file is encrypted?

From the message OSError: RowGroup is noted as encrypted but no file decryptor, it seems that the decryption config is not correctly created. I'll take some time to investigate this as I'm not that familiar with python.
cc @tolleybot to see if you have any insight.

def test_encrypted_parquet_dataset():
    source_enc_parquet = "./test.enc.parquet"
    crypt_factory = pe.CryptoFactory(kms_client_factory)
    encryption_config = pe.EncryptionConfiguration(
        footer_key=FOOTER_KEY_NAME,
        column_keys={
            FOOTER_KEY_NAME: rb.schema.names,  // <-- something wrong here
        },
        encryption_algorithm="AES_GCM_V1",
        data_key_length_bits=256,
    )
    kms_connection_config = pe.KmsConnectionConfig()

@RyogaWan Could you double check the suspicious line above? It seems that we need to use COL_KEY_NAME list as in https://github.com/apache/arrow/blob/4cf44b4bc3ab053b03c937d3327d43c105790462/python/examples/dataset/write_dataset_encrypted.py#L43-L53

def test_encrypted_parquet_dataset():
    source_enc_parquet = "./test.enc.parquet"
    crypt_factory = pe.CryptoFactory(kms_client_factory)
    encryption_config = pe.EncryptionConfiguration(
        footer_key=FOOTER_KEY_NAME,
        column_keys={
            FOOTER_KEY_NAME: rb.schema.names,  // <-- something wrong here
        },
        encryption_algorithm="AES_GCM_V1",
        data_key_length_bits=256,
    )
    kms_connection_config = pe.KmsConnectionConfig()

@RyogaWan Could you double check the suspicious line above? It seems that we need to use COL_KEY_NAME list as in
https://github.com/apache/arrow/blob/4cf44b4bc3ab053b03c937d3327d43c105790462/python/examples/dataset/write_dataset_encrypted.py#L43-L53

I think this is an identifier for column_keys used in KmsClient to get key to wrap or unwrap real key that encrypt dataset.  In the example, I want to use same key for column and footer, so i just used FOOTER_KEY_NAME in the dict. Is there anything i‘m misunderstanding? And  I apologize for the confusion I have caused.

You may use FOOTER_KEY_NAME as the key name, but the column names should be wrapped in the list. And please also check if the column name (i.e. rb.schema.names) is correct.

You may use FOOTER_KEY_NAME as the key name, but the column names should be wrapped in the list. And please also check if the column name (i.e. rb.schema.names) is correct.

Yes, I think it's correct. In my test, the 'to_batches' before 'count_rows' can be processing normally, but always failed after 'count_rows'.

The error does not appear from print(dataset.count_rows()) and it successfully prints 18 on my end. The issue comes when the code snippet tries to create the reader again from the same dataset. It seems that the file decryption config cannot be reused.

I have found the root cause.

When the dataset scanner is running for the 1st time, it will cache FileMetaData in the ParquetFileFragment: https://github.com/apache/arrow/blob/d10ebf055a393c94a693097db1dca08ff86745bd/cpp/src/arrow/dataset/file_parquet.cc#L816
When the dataset creates a new scanner, the internal parquet reader will reuse the cached FileMetaData instead of parsing it from the footer: https://github.com/apache/arrow/blob/d10ebf055a393c94a693097db1dca08ff86745bd/cpp/src/parquet/file_reader.cc#L779
Because we don't parse FileMetaData again, file_decryptor_ is not created any more. It was created in the 1st run here: https://github.com/apache/arrow/blob/d10ebf055a393c94a693097db1dca08ff86745bd/cpp/src/parquet/file_reader.cc#L686

Issue resolved by pull request 41550
https://github.com/apache/arrow/pull/41550


v2 bug: ctx.NArg() panics on Command.BashComplete

Checklist

[x] Are you running the latest v2 release? The list of releases is here.
[x] Did you check the manual for your release? The v2 manual is here
[x] Did you perform a search about this problem? Here's the Github guide about searching.

Describe the bug
ctx.flagSet is nil during cli.Command.BashComplete when a malformed flag is passed, either misspelled or with an invalid value, leading to a panic when calling ctx.NArg(). For example:
# these panic
go run main.go test --undefined --generate-bash-completion
go run main.go test --number fourty-two --generate-bash-completion
# these don't panic
go run main.go --he --generate-bash-completion
go run main.go test -- --generate-bash-completion
go run main.go test --number 42 --generate-bash-completion

To reproduce
With released v2.0.0 on go version go1.12.5 darwin/amd64 the following example results in panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x11752c2]
package main

import (
	"fmt"

	"github.com/urfave/cli/v2"
)

func main() {
	app := cli.NewApp()
	app.EnableBashCompletion = true

	app.Commands = []*cli.Command{
		&cli.Command{
			Name: "test",
			BashComplete: func(c *cli.Context) {
				fmt.Println(c.NArg())
			},
		},
	}

	app.RunAndExitOnError()
}

Expected behavior
0 output to stdout. Noticed after upgrade to v2.0.0 from d3ae77c26ac8, according to my go.mod.
Additional context
I started working my way through parser.go@06e3d38d88, which is where the nil value for my command's flagSet seems to be last seen, but this is still more of a hunch than a fact. I also feel like there's might be some initialization that I should be doing inside the command's BashComplete that I'm missing?
Complete panic:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x11752c2]

goroutine 1 [running]:
flag.(*FlagSet).Args(...)
	/usr/local/Cellar/go/1.12.5/libexec/src/flag/flag.go:615
github.com/urfave/cli/v2.(*Context).Args(...)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/context.go:124
github.com/urfave/cli/v2.(*Context).NArg(...)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/context.go:130
main.main.func1(0xc0000a4500)
	/Users/rob/Work/cli-panic/main.go:17 +0x42
github.com/urfave/cli/v2.ShowCommandCompletions(0xc0000a4500, 0x11d5476, 0x4)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/help.go:252 +0x64
github.com/urfave/cli/v2.checkCommandCompletions(...)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/help.go:366
github.com/urfave/cli/v2.(*Command).Run(0xc000120000, 0xc0000a4400, 0x1213800, 0xc0000a6c40)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/command.go:107 +0x66e
github.com/urfave/cli/v2.(*App).Run(0xc0000ac180, 0xc0000a4000, 0x4, 0x4, 0x0, 0x0)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/app.go:295 +0x6c2
github.com/urfave/cli/v2.(*App).RunAndExitOnError(0xc0000ac180)
	/Users/rob/src/go/pkg/mod/github.com/urfave/cli/v2@v2.0.0/app.go:316 +0x53
main.main()
	/Users/rob/Work/cli-panic/main.go:22 +0xc1
exit status 2

Want to fix this yourself?
Happy to take a stab at if this is a valid use case, and some guidance on an approach to doing so would be much appreciated! Or maybe this is more of a documentation issue, and I should try something like what's done in DefaultCompleteWithFlags instead of using ctx.NArg()? in which case I can send a PR to the manual.
Run go env and paste its output here
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/rob/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/rob/src/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.5/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.5/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/rob/Work/cli-panic/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/mj/xhg1t1sx2tj_2g6pd0snwvf4k7p1w7/T/go-build964702892=/tmp/go-build -gno-record-gcc-switches -fno-common"

🔍 I believe what we want here is a PR to fix the cases that panic. The PR will want to start with writing some test cases.
@unRob thanks for the very detailed issue! Also, you're free to work on the PR, if you're interested 🙏

That's really helpful, thanks @lynncyrin. Submitted #946 to that effect, turns out it was easier than I thought, which probably means we might need to work a bit more on it 🙃.


[feat] check again how gRPC and protobuf code generator works with .NET 6

The aim is to target the .NET 6 RTM instead of .NET 7 which, at the moment, is in preview mode. Earlier, proto files containing custom imports were causing msbuild failure.

JFYI, recently I haven't done any change to the .proto file so that I was able to use .NET 6 for a couple of weeks now. .NET 7 is removed from my machine. I had no issues so far.

I have tested with Grpc.Tools 2.47.0 and the issues I have are no more present. I was able to apply changes in the .proto file of both kinds: messages and rpc functions and the code generation was fine on both Protobuf and gRPC. The tests passed.


Add implementation of ignoreWebNumericQuirks

Description
In the Dart VM or native Dart runtimes, [double.toString()] on whole number values will have a trailing .0. In Browsers, the equivalent Number.toString does not include this trailing .0, which can result in
differently formatted output strings in places such as debug messages or  diagnostic nodes.
https://github.com/flutter/flutter/pull/33349

We're going to skip this for now and instead upstream more of the flutter_web diagnostics code


Remove tuple/pair specializations for local_algorithm_result and friends

Historically, we have specializations for local_algorithm_result (module algorithms) and algorithm_result_helper (module segmented_algorithms) for std::pair and hpx::tuple that are not needed anymore now that the refactoring of our algorithms has been completed. For the same reason, we also don't need the tagged, tagged_pair, and tagged_tuple data structures anymore.
All of those can be removed now.

@hkaiser It looks like we still use tagged_tuple in partition_copy, I can't recall if I forgot to change it or if it was due to some other reason. Also sort_by_key uses tagged_pair. Should I go ahead and change them?

@hkaiser It looks like we still use tagged_tuple in partition_copy, I can't recall if I forgot to change it or if it was due to some other reason. Also sort_by_key uses tagged_pair. Should I go ahead and change them?

Yes, I think we should go ahead and apply changes such that the two algorithms are consistent with everything else.


Configure Helm chart to explicitly run the Docker image as the ovd user

…he "ovd" user (to workaround https://github.com/kubernetes/kubernetes/issues/78308)

Closes #9


Create basic interface between computational graph to mindspore framework

Codecov Report
Attention: 66 lines in your changes are missing coverage. Please review.

Comparison is base (6034184) 67.87% compared to head (5e5917d) 66.58%.

Files
Patch %
Lines

src/backend/toMindspore.jl
0.00%
66 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##           computgraph     #158      +/-   ##
===============================================
- Coverage        67.87%   66.58%   -1.29%
===============================================
  Files               64       65       +1
  Lines             4579     4645      +66
===============================================
- Hits              3108     3093      -15
- Misses            1471     1552      +81

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Overscan

This patch handles values of dataWindowNDC which are outside the 0-1 range and thus produce overscan. This core patch is required.
The idea is to scale all corners by the maximum amount of overscan so that the camera sensor can also be scaled uniformly but then only render to the data window.
This is the current behavior with dataWindowNDC = (-0.5, -0.5, 1.5, 1.5). From my experiments, it always seems to match Karma (behavior-wise in Houdini)
Husk to exr file
The .exr metadata reports
'dataWindow': (-1024, -540) - (3071, 1619)
'displayWindow':(0, 0) - (2047, 1079)
Viewport (Fits data window to viewport)

Husk to mplay (Shows display window)

No overscan

This has been tested by me and @boberfly and seems to be working. DCCs are able to read the overscan data rendered through husk and renderbuffers in Houdini and mplay behave like Karma.

Hey @dedoardo
I haven't been able to test this thoroughly. Will the projection matrix for the cycles-end work correctly if the overscan dimensions are not the same? We may want to have more in vertical than horizontal, or have more to the left than the right or up/down. I saw that overscan was just 1 float value so will this be an issue?
Cheers

@boberfly No issue with different overscan amounts per border. The single overscan value (the maximum) is used to scale the render buffers but only a subrect is being rendered and that can be arbitrary.


Updated requirements.txt busts the apk cache on docker-build

Step 7 : ADD build.sh /app/tmp/build.sh
 ---> Using cache
 ---> 6d4b5dc84c65
Step 8 : ADD requirements.txt /app/requirements.txt
 ---> a474c0f0c759
Removing intermediate container 20c50e4a9de2
Step 9 : RUN DOCKER_BUILD=true /app/tmp/build.sh && rm -rf /app/*
 ---> Running in 490be29355d9

A recent gunicorn update busted the cache and a slow hotel wifi caused me to wait forever for apk for no reason.
We should only rebuild pip elements during that

Further down
(39/39) Installing python3-dev (3.5.1-r0)
Executing busybox-1.24.1-r7.trigger
Executing ca-certificates-20160104-r2.trigger
OK: 271 MiB in 57 packages
Collecting pip
  Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB)
Collecting setuptools
  Downloading setuptools-19.4-py2.py3-none-any.whl (471kB)
Collecting wheel
  Downloading wheel-0.26.0-py2.py3-none-any.whl (63kB)


Bounds calculation

Hi,
There are lots of mentions of bounds across documentation but there is no mention how to calculate them. It's very trivial with Circle, i.e:
const c = Leaflet.circle(position, {radius:50}).addTo(map);
const bounds = c.getBounds();
c.remove();

But the problem with it is that it's a visual component that has to be attached to the map. Is it absolutely necessary to calculate bounds? Is there any utility that can be used to calculate bounds given center point + radius / zoom?
I exclusively need this to feed it into React-leaflet so I can do everything within single pass without running unnecessary animations. Also, I use paddingBottomRight that's why I need to calculate bounds otherwise I'd simply stick to center.
It would be great to include relevant example in documentation.

Is it absolutely necessary to calculate bounds?

Yes, specially for circles, since that has a hard dependency on the map's CRS. No map = no CRS = no way to do stuff with radius in meters (or map units).

within single pass without running unnecessary animations.

Adding and removing a Leaflet layer to/from a map within a single frame will not trigger any animations.

If you need to calculate LatLngBounds without adding stuff with a Leaflet map, you'll have to resort to solving the first geodetic problem a couple of times. Things like cheap-ruler or GeographicLib

Thanks @IvanSanchez, cheap-point's bufferPoint looks like what I need to calculate bbox.


Add a new UserController abstraction on core/auth.py

Add a new UserController abstraction on core/auth.py for the users collection. This is controller abstraction should be responsible for doing MongoDB CRUD  operations managing users. It should replace all of the crud that was done via storehouse before. All the existing users operations on core/auth.py should also be supported:

create_user
delete_user
update_user (we'll have create and update separate to support selective attribute updates, like only updating an email)
get_user
get_users

For creating and updating an user the pydantic models from issue #291 should be used. No need for bulk ops for now.
For listing or getting users, we'll need to parametrize projections on get_user and get_users, for instance when listing users to API endpoints we don't want to expose a hashed password.

Landed on https://github.com/kytos-ng/kytos/pull/295


grammar mistake

поделится -> поделиться

Thanks!
However, translations are managed through Crowdin: https://github.com/thejameskyle/babel-handbook/blob/master/CONTRIBUTING.md#translating-the-handbook


Run First Group of Models on Sanghavi

Tasks:

[x] Find all of the competition models from all of the PRs we have made and consolidate them into one space for testing
[x] Write a script that will run these models either locally or on OM
[ ] Run the models and acquire their scores on the Sanghavi2020.V4-pls benchmark

Outcome:
We should have a list of scores updated on the Airtable reflecting our observed scores on the benchmark vs the website's.

Updates:

Have written a script to run all of the competition models on Sanghavi
The script also has considerations for running on cluster, allowing for batch job submission for parallel processing
Tracked down and consolidated every model from every PR that we have submitted so far for both the competition models and the top 25 models
Will begin running once HMax has finished running or when OpenMind comes back up, whichever is first

Seeing OM kill my batch jobs for no reason, following up w ORCD to see why this is happening. The issues are not reproducing when I run interactive jobs.


Fixed typo in doc

How to categorize this PR?

/area documentation
/kind bug
/priority 3
What this PR does / why we need it:
Fixes typo in tutorial
Which issue(s) this PR fixes:
Special notes for your reviewer:
component descriptor now defines repositoryContexts instead of repositoryContext
https://gardener.github.io/component-spec/component-descriptor-v2.html#component_repositoryContexts
Currently landscaper-cli blueprint render leads to
unable to decode component descriptor: component: repositoryContexts is required
Release note:

NONE

Thank you @mganter for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

/add reviewed/ok-to-test

/add reviewed/ok-to-test


Removed rigid dict

Replaced it with container classes

Oh, and also this fixes the PDF link bug. If that wasn't obvious


Add Shielded Tables for the Hubble Stats (no Filter and Back-end)

Summary of changes
Add Shielded Tables for the Hubble Stats (no Filter and Back-end)
Proposed area of change
Put an x in the boxes that apply.

[ ] apps/bridge-dapp
[x] apps/hubble-stats
[ ] apps/stats-dapp
[ ] apps/webbsite
[ ] apps/faucet
[ ] apps/tangle-website
[ ] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes #1304
Closes #1306

Screen Recording
Light Mode (with dummy data)
https://github.com/webb-tools/webb-dapp/assets/69841784/1cd2ef3a-e93e-4e4f-aabd-854bdd633512
Dark Mode (with dummy data)
https://github.com/webb-tools/webb-dapp/assets/69841784/d30be235-3453-4ac3-96a1-9cb1d063b638

Code Checklist
Please be sure to add .stories documentation if any additions are made to libs/webb-ui-components.

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

For the size of the icons, I see that we are using 16px which may be difficult to see, can we use a size up for the size variant? This may require update in UI kit as one size up should be in 24px (I believe currently it is 36px)

I have changed the icon size to 24px in my latest code!


Catelog maintenance

https://github.com/CU-ADCL/SURI/blob/beb95e2c3e9e32d1052e90642a84aa93c62d6e13/_includes/research.md?plain=1#L18
@WhiffleFish In the ILP section, I think that we should mention that the goal is "Catalog Maintenance"

fixed in 5aef0bb78c4c673a74fb7898432186f4d771017e


SVG Embedding not working properly.

See http://github.com/agentk/gulp-fontgen/issues/16

The issue persists.

If you look at the binary of ttf2svg here, it is outputting the file to the pwd, and outputs a log message, 'complete : '+fontOutputFilePath+'!', which is what is actually being saved as the svg file by fontfacegen (see the stdout redirection https://github.com/agentk/fontfacegen/blob/master/lib/ttf2svg.js#L15). We need to use the programmatic API presented in the README instead:
var ttf2svg = require('ttf2svg')
  , fs = require('fs')
;

fs.readFile('./fontello.ttf', function (err, buffer) {
    if (!!err) throw err;

    var svgContent = ttf2svg(buffer);
    fs.writeFileSync('./fontello.svg', svgContent);

});

I will send a PR tomorrow with this fix.
The only tricky part would be to decide whether to use ttf2svg or batik-ttf2svg, and I don't have a mac where I can test it...

What OS are you using?

Slackware 14.1

I will test this on Ubuntu tonight and see if I can reproduce. This might be OS specific.

I doubt it, the source for ttf2svg is pretty clear, it works as expected. Check it out here
Actually, the solution should be simple, if isLinux is true here, we use the programmatic API, i.e., var ttf = require('ttf2svg'), etc. Otherwise we use batik-ttf2svg
What problem does batik-ttf2svg solve again? Why can't we just use ttf2svg in all cases?

Im not actually sure batik-ttf2svg is necessary. I just didnt remove it in a prior commit because I couldnt test the end result on Mac OS.

I see! OK then I'll see if I can test ttf2svg on a friend's Mac tomorrow, and if it works, l think we can make it a dependency of fontfacegen and remove all references to batik here.
The only problem is that ttf2svg is no longer maintained anymore, so it might be a problem moving forward, but hopefully not.

Closed by #36


Extra 'P' char in file data after CRLF

First of all, thanks for this package. I was looking for such feature few month ago but found nothing. Finally it came.
I'm trying to read text files from large remote file to avoid  gigas to be downloaded for few kilos expected.
The target URL is : 'http://psa.download.navigation.com/automotive/PSA/RT6-SMEGx/M49RG20-Q0420-2051.ZIP'
And I'm trying to get those two files :
ZIP_CONTENT_FILE = "DATA/CURR_VERS_NAVI.TXT"
ZIP_MAP_VERSION_FILE = "MAP.inf"

For both of them, reading line per line using readline(), I get an extra 'P' char after the '\r\n'
For example:
import unzip_http

rzf = unzip_http.RemoteZipFile('http://psa.download.navigation.com/automotive/PSA/RT6-SMEGx/M49RG20-Q0420-2051.ZIP')
fp_contents = rzf.open("DATA/CURR_VERS_NAVI.TXT")

print(fp_contents.data)
b'CID:013,118,0,4,2020,"11/11/2020","MIDDLE_EUROPE","HERE"\r\nP'

Giving a second though, it might be the 'PK' header of the next Zip entry that invited himself 😀

Good catch, @bousqi!  That's exactly what was happening.  It only shows up with stored files, because the extra character is absorbed by the decompressor otherwise.  Thanks for filing the bug, should be fixed now.  We'll release an updated version soon.


feat: improve error messages when signing and verifying messages

Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)

Closes #2335
Other information and links

After
Error: Message has to be a hex string

Caused by:
    Invalid character 't' at position 0

Before
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: InvalidHexCharacter { c: 't', index: 0 }', forest/cli/src/cli/wallet_cmd.rs:239:52
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Show before and after examples of the error message. And keep in mind that panics may not be used for user-facing error messages.

The overall goal is to have identical error messages in sign and verify. Right now the error messages are the same for hex messages but not for invalid addresses.


Change language post date

I would like to see the dates near the posts in French instead of English. I already changed the "lang" variable in "_config.yml" but I don't know how to change the date's language.

That's out of scope for this theme. Right now there isn't a good way to do it without hacking things up or using a i18n plugin. Unfortunately none of those are supported on GitHub Pages.

Unfortunately none of those are supported on GitHub Pages.

In case someone else have this problem: if you consider overwriting includes as "hacking things up" then just follow one of those examples and overwrite _includes/entry.html and _includes/page-intro.html.
By the way, I don't think that any of those examples should be implemented in the theme, maybe some info about how overwrites can be used to translate things could be in the documentation.


[BUG] nsh and SmartFS file system are not SMP-proof

Description / Steps to reproduce the issue

On Pi Pico W board with Pi Pico SDK 2.0, setup a system with working flash SmartFS file system and without SMP, e.g.,
./tools/configure.sh -l raspberrypi-pico-w:nsh-flash

verify that the following file creation,  deletion and smart_test command work
cd /flash
echo  Hello_NuttX > test2.txt
cat test2.txt
smart_test -w 2 /flash/test2.txt
rm test2.txt

enable SMP and run ps or other command to verify that SMP is working
ref: https://blog.mark-stevens.co.uk/2023/06/adding-smp-to-nuttx-on-the-raspberry-pi-picow/

try to re-run commands in step 2)
notice that when executing file creation or deletion or smart_test command, nsh hangs. If there is a USB nsh and a telnet nsh, then both nsh hang.

Not sure if there is any other part of NuttX OS that is also not SMP-proof.
On which OS does this issue occur?
[OS: Linux]
What is the version of your OS?
Windows 11 WSL2 Ubuntu 22.04.2
NuttX Version
NuttX 12.7.0-RC0 0976258-dirty Oct 4 2024 22:58:36 arm rasp
Issue Architecture
[Arch: arm]
Issue Area
[Area: OS Components]
Verification

[X] I have verified before submitting the report.

could you test on littlefs? so we can know whether is specific to smartfs.

@UAV-Pilot updates?


[Numpy] np.broadcast_to does not support scalar as input

Description
As title
>>> import numpy as onp
>>> onp.broadcast_to(1.0, (2,2))
array([[1., 1.],
       [1., 1.]])
>>> from mxnet import np, npx
>>> npx.set_np()
>>> np.broadcast_to(1.0, (2,2))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 25, in broadcast_to
AssertionError: Argument array must have NDArray type, but got 1.0

PR merged, closing


Update flake8 allowable line length to be same as black.

This PR makes flake8 to allow line-length up to 100 rather than the default of 79.
Closes #60

Wrong branch change ...


clean_up, add timeout arg

Summary by CodeRabbit

New Features

Introduced an optional timeout parameter for resource cleanup in the Resource, ProjectRequest, and Project classes, allowing users to specify a duration for resource deletion.
Enhanced flexibility and control over the cleanup process, improving overall usability and responsiveness.
Updated import statements to clarify the usage of the new ProjectRequest class alongside the Project class.

/verified

/verified


detect_music_type() does not detect valid MPEG Audio files

https://github.com/libsdl-org/SDL_mixer/issues/288 reported missing support for an MPEG Audio frame header starting with the first eleven bits. However, an MPEG file could start anywhere (e.g. in the middle of a frame) and audio players should seek to the first occurence of those frame sync bits and check whether the header is valid.
I encountered this issue when I was informed that certain MPEG-1 files weren't loaded by Mix_LoadWAV_RW with Unrecognized audio format. The same audio files are played by mpg123 and vlc without issues, so while the source for this behavior isn't an official document, it seems to be the case that MPEG Audio files are in fact allowed to start anywhere.

Can you provide a link to an example file that doesn't load correctly?

Better late than never, sorry about that: https://fulgen.at/files/011.wav (it has the wrong file extension as it contains MPEG data, but SDL_mixer doesn't check them anyway).


MachOView does not support rebase opcodes.

Version and Platform (required):

Binary Ninja Version: 4.1.5451
OS: macOS

Bug Description:
Mach-O View does not support rebase opcodes, resulting in image-base-adjusted binaries having data sections full of invalid pointers. This can be seen by loading an Objective-C library (based at 0x0) at the offset 0x100000000, and then navigating to the __objc_classlist section. This is a section of pure pointers, but all will be pointing to the original offsets and not base-adjusted ones.
This occurs in binaries that do not use the new Chained Fixups format, as Chained Fixup support added handling for those inline rebases. It is safe to assume a slight majority of binaries will be using the old format that isn't supported.
Binary that can reproduce this:
Viva.arm64.zip

Resolved in dev builds >= 4.1.5465


Dices go too much outside of the box horizontally

Hello, dice-box is a great project and I'm using it for a custom board game, but one annoying issue is that side borders physics seems to be too big and dice often goes too much off screen.
Some examples:

This is me trying to fix it by decreasing canvas width:

Vertically they fit nicely and never go outside, maybe some dimension can be adjusted?
Thanks!

It looks like it has something to do with scaling, with scaling 10+ big parts of dices go out of the screen on the sides, but they still work well with top and bottom borders

Using the website component its clearly visible how big bottom/top borders are, compared to seemingly non-existent side borders
https://github.com/user-attachments/assets/951c7a3b-26a5-47e0-805e-f4e33d03be5d

I think I found some solution here:
https://github.com/3d-dice/dice-box/pull/117


Lift editing SubViewport size restriction in editor

Editing size of a SubViewport that is a child of a SubViewportContainer which has stretch enabled is currently forbidden (introduced in #66906).
This restriction doesn't make sense while in the editor, because the user should be able to adjust this setting. This PR lifts this restriction.

Please move to 4.1

superseded by #73188


Add more Chinese translations

What do these changes do?
Added more Chinese translations.

Related issue number
Nothing.

Really thanks for your contribution, I left a few comments.

It has been revised.

@chineking Thank you very much for your patience.

I am going to merge this, any questions further? @wjsi , if not, approve this.

The latest commit looks good to me, if CI passed, I will merge this PR into master branch.
Hope this is a start to get involved in Mars development for you, not just the translation. Thanks.

I am very happy to contribute and I will continue to do so. Try to fix the bug.

I have a question, similar to the picture below, should I continue to translate?

@chineking @wjsi

I have a question, similar to the picture below, should I continue to translate?

@chineking @wjsi

You can open an issue if you have any further discussion.

ou can open an issue if you have any further discussion.

ok,I will do this.thanks


Merge pull request #8 from Totilarson/develop

Can you see it now?


Filter implementation

PR Summary

PR Checklist

[ ] Documentation use only: This PR contains non-production samples used in Microsoft's official Azure PowerShell documentation.
[ ] Azure PowerShell use only: The samples in this PR contain commands from the Az PowerShell module.
[ ] Sample scripts only: This PR does not contain PowerShell modules, binaries, tools, zip or tar.gz files, or other files that are not samples.
[ ] Validated samples: I have validated these samples using the latest version of the Az PowerShell module.
[ ] Ongoing support: I agree to provide ongoing support for these samples and will promptly respond to issues and PRs.

@yashitalnu, You must edit the first comment in this PR and check the boxes by placing an X in each checkbox to accept the contributing terms for this repo.
Also, if you are a Microsoft employee, associate your GitHub user with your Microsoft account.

@yashitalnu Please use #sign-off when you're ready for this PR to be merged.

@yashitalnu, I'm following up on this PR as I haven't seen a sign-off yet. If I don't hear back from you or see further activity, I plan to close it at the end of September due to inactivity.

Closing this PR due to inactivity and no #Sign-Off as of yet. @yashitalnu, if this is an active PR, please respond and we'll reopen it.


Adding new note about Win 11 support

Added NOTE about behavior on Windows 11

Can someone with authority add my intended change?


[Python][Docs] ColumnMetaData offsets

Describe the bug, including details regarding any error messages, version, and platform.
The pyarrow documentation of ColumnMetaData is contradicting the C++ implementation.
The pyarrow documentation says:
The data_page_offset and dictionary_page_offset are relative to the column chunk offset
The C++ comments in the code say:
The offsets are byte offsets from the beginning of the file to first data_page / dictionary_page
Component(s)
C++, Documentation, Python

Issue resolved by pull request 44670
https://github.com/apache/arrow/pull/44670


Better dependency declarations for google packages?

pip install label-studio  takes a REALLY long time (20 minutes in the last attempt) because for a number of packages, pip downloads a whole bunch of versions to figure out which may be compatible with which:
It may be possible to speed that up by specifying versions which are known to be compatible and fairly recent.
INFO: pip is looking at multiple versions of google-cloud-audit-log to determine which version is compatible with other requirements. This could take a while.
Collecting google-cloud-audit-log<1.0.0dev,>=0.1.0
[...]
INFO: pip is looking at multiple versions of google-cloud-appengine-logging to determine which version is compatible with other requirements. This could take a while.
Collecting google-cloud-appengine-logging<1.0.0dev,>=0.1.0
[...]
INFO: pip is looking at multiple versions of google-cloud-audit-log to determine which version is compatible with other requirements. This could take a while.
  Downloading google_cloud_appengine_logging-0.1.3-py2.py3-none-any.whl (14 kB)
  Downloading google_cloud_appengine_logging-0.1.1-py2.py3-none-any.whl (14 kB)
  Downloading google_cloud_appengine_logging-0.1.0-py2.py3-none-any.whl (25 kB)
INFO: pip is looking at multiple versions of cachetools to determine which version is compatible with other requirements. This could take a while.
Collecting cachetools<5.0,>=2.0.0
[...]
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
INFO: pip is looking at multiple versions of google-cloud-appengine-logging to determine which version is compatible with other requirements. This could take a while.
  Using cached cachetools-4.2.2-py3-none-any.whl (11 kB)
  Downloading cachetools-4.2.1-py3-none-any.whl (12 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading cachetools-4.2.0-py3-none-any.whl (12 kB)
  Downloading cachetools-4.1.1-py3-none-any.whl (10 kB)
  Downloading cachetools-4.1.0-py3-none-any.whl (10 kB)
  Downloading cachetools-4.0.0-py3-none-any.whl (10 kB)
INFO: pip is looking at multiple versions of cachetools to determine which version is compatible with other requirements. This could take a while.
  Downloading cachetools-3.1.1-py2.py3-none-any.whl (11 kB)
  Downloading cachetools-3.1.0-py2.py3-none-any.whl (12 kB)
  Downloading cachetools-3.0.0-py2.py3-none-any.whl (12 kB)
  Downloading cachetools-2.1.0-py2.py3-none-any.whl (12 kB)
  Downloading cachetools-2.0.1-py2.py3-none-any.whl (11 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. If you want to abort this run, you can press Ctrl + C to do so. To improve how pip performs, tell us what happened here: https://pip.pypa.io/surveys/backtracking
  Downloading cachetools-2.0.0-py2.py3-none-any.whl (11 kB)
INFO: pip is looking at multiple versions of google-auth to determine which version is compatible with other requirements. This could take a while.
Collecting google-auth<2.0dev,>=1.11.0
[ .. and several more ...]

@johann-petrak Please, install LS from the latest master branch of github repo. This problem must be fixed there.


RFC: compiled C++ code for model should be invariant to whitespace in  Stan model

In some distant future where one is able to pass around binaries of compiled stan models or cache commonly compiled models for pedagogical purposes (e.g., cloud.mc-stan.org), it would be great to be able to trivially test for equality given two compiled models by comparing the hash of the generated C++ code.
Right now models that differ only in whitespace generate different C++ code. For example, I added a few extra line breaks in bernoulli.stan and looked at the diff between the generated C++ code. This is it:
        // model body
         try {
-            current_statement_begin__ = 9;
+            current_statement_begin__ = 16;
             lp_accum__.add(beta_log<propto__>(theta, 1, 1));
-            current_statement_begin__ = 10;
+            current_statement_begin__ = 18;
             for (int n = 1; n <= N; ++n) {
-                current_statement_begin__ = 11;
+                current_statement_begin__ = 19;
                 lp_accum__.add(bernoulli_log<propto__>(get_base1(y,n,"y",1), theta));
             }
         } catch (const std::exception& e) {

Here are the model files:
model 1:
data {
  int<lower=0> N;
  int<lower=0,upper=1> y[N];
}
parameters {
  real<lower=0,upper=1> theta;
}
model {
  theta ~ beta(1,1);
  for (n in 1:N)
    y[n] ~ bernoulli(theta);
}

model 2:
data {

  int<lower=0> N;

  int<lower=0,upper=1> y[N];

}
parameters {

  real<lower=0,upper=1>  theta;

}

model {

  theta ~ beta(1,1);

  for (n in 1:N)
    y[n] ~ bernoulli(theta);

}

I'm willing to acquaint myself with the relevant C++ code if there's not an easy fix.

This is a feature, not a bug.  The whitespace-dependent numbers are
used to locate what code caused Stan to fail internally, which is hugely
useful.
I think your best bet would be to have a second parser that either removes
whitespace in a file or ignores these statements, and then use a hash of
that file for comparisons.
On Jun 8, 2015, at 11:54 PM, Allen Riddell<EMAIL_ADDRESS>wrote:

In some distant future where one is able to pass around binaries of compiled stan models or cache commonly compiled models for pedagogical purposes (e.g., cloud.mc-stan.org), it would be great to be able to trivially test for equality given two compiled models by comparing the hash of the generated C++ code.
Right now models that differ only in whitespace generate different C++ code. For example, I added a few extra line breaks in bernoulli.stan and looked at the diff between the generated C++ code. This is it:
    // model body
     try {

       current_statement_begin__ = 9;

       current_statement_begin__ = 16;
       lp_accum__.add(beta_log<propto__>(theta, 1, 1));

       current_statement_begin__ = 10;

       current_statement_begin__ = 18;
       for (int n = 1; n <= N; ++n) {

           current_statement_begin__ = 11;

           current_statement_begin__ = 19;
           lp_accum__.add(bernoulli_log<propto__>(get_base1(y,n,"y",1), theta));
       }
   } catch (const std::exception& e) {

Here are the model files:
model 1:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
model 2:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1>  theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
I'm willing to acquaint myself with the relevant C++ code if there's not an easy fix.
—
Reply to this email directly or view it on GitHub.

Good point.
Is there an underlying representation that is invariant which one could
cast into a hashable buffer? Having Stan C++ do the hashing (and
having interfaces retrieve it) sounds like a fine strategy to me.
Boost has a hash function, but it sounds like it's suited to some
special case, http://www.boost.org/doc/libs/1_58_0/doc/html/hash.html.
Looks like Google's CityHash is tiny and MIT licensed. The reference
implementation is in C++ as well.
On 06/09, Michael Betancourt wrote:

This is a feature, not a bug.  The whitespace-dependent numbers are
used to locate what code caused Stan to fail internally, which is hugely
useful.
I think your best bet would be to have a second parser that either removes
whitespace in a file or ignores these statements, and then use a hash of
that file for comparisons.
On Jun 8, 2015, at 11:54 PM, Allen Riddell<EMAIL_ADDRESS>wrote:

In some distant future where one is able to pass around binaries of compiled stan models or cache commonly compiled models for pedagogical purposes (e.g., cloud.mc-stan.org), it would be great to be able to trivially test for equality given two compiled models by comparing the hash of the generated C++ code.
Right now models that differ only in whitespace generate different C++ code. For example, I added a few extra line breaks in bernoulli.stan and looked at the diff between the generated C++ code. This is it:
    // model body
     try {

       current_statement_begin__ = 9;

       current_statement_begin__ = 16;
       lp_accum__.add(beta_log<propto__>(theta, 1, 1));

       current_statement_begin__ = 10;

       current_statement_begin__ = 18;
       for (int n = 1; n <= N; ++n) {

           current_statement_begin__ = 11;

           current_statement_begin__ = 19;
           lp_accum__.add(bernoulli_log<propto__>(get_base1(y,n,"y",1), theta));
       }
   } catch (const std::exception& e) {

Here are the model files:
model 1:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
model 2:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1>  theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
I'm willing to acquaint myself with the relevant C++ code if there's not an easy fix.
—
Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHub:
https://github.com/stan-dev/stan/issues/1487#issuecomment-110254984

I wouldn't worry too much about whitespace.  If they change
the whitespace, the model gets recompiled.
It'd also be easy to cache without the whitespace by replacing
whitespace+ with a single space (' ').

Bob

On Jun 9, 2015, at 7:37 AM, Allen Riddell<EMAIL_ADDRESS>wrote:
Good point.
Is there an underlying representation that is invariant which one could
cast into a hashable buffer? Having Stan C++ do the hashing (and
having interfaces retrieve it) sounds like a fine strategy to me.
Boost has a hash function, but it sounds like it's suited to some
special case, http://www.boost.org/doc/libs/1_58_0/doc/html/hash.html.
Looks like Google's CityHash is tiny and MIT licensed. The reference
implementation is in C++ as well.
On 06/09, Michael Betancourt wrote:

This is a feature, not a bug. The whitespace-dependent numbers are
used to locate what code caused Stan to fail internally, which is hugely
useful.
I think your best bet would be to have a second parser that either removes
whitespace in a file or ignores these statements, and then use a hash of
that file for comparisons.
On Jun 8, 2015, at 11:54 PM, Allen Riddell<EMAIL_ADDRESS>wrote:

In some distant future where one is able to pass around binaries of compiled stan models or cache commonly compiled models for pedagogical purposes (e.g., cloud.mc-stan.org), it would be great to be able to trivially test for equality given two compiled models by comparing the hash of the generated C++ code.
Right now models that differ only in whitespace generate different C++ code. For example, I added a few extra line breaks in bernoulli.stan and looked at the diff between the generated C++ code. This is it:
// model body
try {

current_statement_begin__ = 9;

current_statement_begin__ = 16;
lp_accum__.add(beta_log<propto__>(theta, 1, 1));

current_statement_begin__ = 10;

current_statement_begin__ = 18;
for (int n = 1; n <= N; ++n) {

current_statement_begin__ = 11;

current_statement_begin__ = 19;
lp_accum__.add(bernoulli_log<propto__>(get_base1(y,n,"y",1), theta));
}
} catch (const std::exception& e) {
Here are the model files:

model 1:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
model 2:
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1);
for (n in 1:N)
y[n] ~ bernoulli(theta);
}
I'm willing to acquaint myself with the relevant C++ code if there's not an easy fix.
—
Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHub:
https://github.com/stan-dev/stan/issues/1487#issuecomment-110254984
—
Reply to this email directly or view it on GitHub.

Dug into this today. Turns out that boost::hash is really nice. To use it, however, I'd have to teach boost how to hash every piece of stan::gm::ast::program individually.
Some standard is better than none, what about the following informal convention: take the SHA1 hash of the concatenation of the Stan library version number (as utf8 string) and the model_code (utf8) with all whitespace removed?
It appears to work for the present case:
In [33]: import hashlib
In [34]: model1_sans_whitespace = re.sub('\s', '', model1)
In [35]: model2_sans_whitespace = re.sub('\s', '', model2)
In [36]: hashlib.sha1('2.6.3'.encode('utf8') + model1_stripped.encode('utf8')).hexdigest()
Out[36]: '917de985808483fc6a04bba2cdc838c1b1a72f37'
In [37]: hashlib.sha1('2.6.3'.encode('utf8') + model2_stripped.encode('utf8')).hexdigest()
Out[37]: '917de985808483fc6a04bba2cdc838c1b1a72f37'

I don't think it's a big deal to recompile if the user
changed the spacing in a file --- they edited it and
probably won't even be surprised.  So I'd be inclined
to keep it simple.
Google tells me the space-free model name should
be model1_sine_albus_spatium
We don't properly handle UTF-8 spaces in the parser.
Or validate that strings are legal UTF-8.  Or deal with
UTF-8 keys in any of the interfaces.  So all I've ever
told people is that comments with UTF-8 should be OK.

Bob

On Jun 16, 2015, at 5:57 PM, Allen Riddell<EMAIL_ADDRESS>wrote:
Dug into this today. Turns out that boost::hash is really nice. To use it, however, I'd have to teach boost how to hash every piece of stan::gm::ast::program individually.
Some standard is better than none, what about the following informal convention: take the SHA1 hash of the concatenation of the Stan library version number (as utf8 string) and the model_code (utf8) with all whitespace removed?
It appears to work for the present case:
In [33]: import hashlib
In [34]: model1_sans_whitespace = re.sub('\s', '', model1)
In [35]: model2_sans_whitespace = re.sub('\s', '', model2)
In [36]: hashlib.sha1('2.6.3'.encode('utf8') + model1_stripped.encode('utf8')).hexdigest()
Out[36]: '917de985808483fc6a04bba2cdc838c1b1a72f37'
In [37]: hashlib.sha1('2.6.3'.encode('utf8') + model2_stripped.encode('utf8')).hexdigest()
Out[37]: '917de985808483fc6a04bba2cdc838c1b1a72f37'
—
Reply to this email directly or view it on GitHub.

Having thought about this some more I think one should just sha1 hash the Stan version (as a string) + the stan_code string. Premature optimization and all that...


what's the difference between statushttpd and slparser?

as we know, slparser parse the binary file which is logged from share_log, and save the worker info to the local_status_db; statushttpd consume the share_log and get some worker info to the local_db.
why not use the statushttpd to get all the info and save it to one db? what's the advantage of this framework? Thx.

Unlike the messages in kafka, sharelog files are non-volatile. So we can rerun slparser at any time to re-generate earnings of any date (./slparser without params will shows its usage).
This can be useful if something goes wrong with our database or program.
Finding historical messages from a specific moment (the beginning of a day) in Kafka is a bit more difficult. And, these messages may have been cleared due to expiration.
On the other hand, it is entirely feasible to generate real-time hashrate information by reading the sharelog file. So slparser can indeed include the feature of statshttpd.
The problem is that for a mining pool that scale like BTC.com, a single statshttpd process consumes 10GB of memory while the slparser only needs 300MB. slparser can be started and stopped easily. However, after statshttpd restarts, it takes up to half an hour to consume historical messages before the initial data can be given.
So it seems unwise to add any new functionality to statshttpd.

Thank you very much for reply this thread!
you mention the "non-volatile" and "memory" are the main reasons for my question, right?
I agree with the first one.
"the current statshttpd needs to save all the user's shares within one hour in memory (clear shares that added one hour ago, then add the latest share at each time)."
in my opinion, statshttpd will not save the raw share info in memory and just save the statistics info as second and minute.
waiting for your reply and thx.    :)

i calculate the statistics infor, and got some data.
one workershare about 29k, 10w miner will occupy about 3G, and 30+ miners will occupy 10G.
yes, u r right~
thx again~

Yes, the "non-volatile" and "memory" are the main reasons for this question.
And I have an idea about optimizing memory usage now. Increasing the interval of WorkerShares::acceptShareSec_ from 1 second to flush_db_interval seconds may reduce lots of the memory usage.


"Extract" should be translated to "提取" instead of "解压缩"

Clone of https://github.com/Microsoft/vscode/issues/37879

Issue happens in https://github.com/Microsoft/TypeScript/blob/master/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl#L3187

Created internal tracking work item https://devdiv.visualstudio.com/DevDiv/Default/_workitems/edit/522187

to add, 解压缩 is specifically about extracting compressed archives like zip files. seems there's 6 instances in that .lcl file.

//cc @danyeh

All occurrences translated as "提取" now.

Fixed.
https://github.com/Microsoft/TypeScript/blob/master/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl


[BUG] loadChain() does not work properly

Maybe since 'many block files' patches: https://github.com/ainblockchain/ain-blockchain/issues/468

Let me take a look at it with https://github.com/ainblockchain/ain-blockchain/issues/290 . @cshcomcom

Fixed.


Update custom-tag-archive.hbs

remove filter to show all tags

Sorry, the default setting was made intentionally to hide posts with "getting-started" tag. Feel free to remove the filter for your own site, but this PR will not be merged into the base.


https://www.gigablast.com/developer.html does not give a page

There is a link in the git repository, https://www.gigablast.com/developer.html, that just goes to a blank page.

!! Where is it? I discovered some deletion of developer documentation in the first year of the repository, 2013; notes for these deletions indicate that the documentation was deprecated.

hello does anyone have the a proper way to run the install?
does anyone have a basic script to run the API?
i tried and still all fails
Lisa


Better assertion message when ember asserts.

The object that the error is thrown on is returned as [object Object].
Assertion Failed: You modified image1xFile twice on [object Object] in a single render.
I believe ember overwrites the toString for ember created objects like components to return the name of the object but the ember-quint is not overwriting the toString method for objects it creates.
@rwjblue maybe you can give more context here.

👍 discovered this while pairing with @kiwiupover
@trentmwillis - I'd love your thoughts here...

I am happy to add a toString to the context when it is set in ember-qunit and/or ember-test-helpers, but it seems like it may be a generally useful thing upstream in QUnit?

I think I'm missing something, it sounds like the suggestion is to add toString to the test environment, which seems odd to me, as you shouldn't be passing the test environment into your application code.

In an integration test and a component is instantiated with a bound attr the test is the outside context that ember is could evaluate as it makes assertions at that point the test to string is [object Object] not a helpful error.

Okay, thanks that makes more sense. I think this is something that should be handled in ember-test-helpers, as it seems like it could also apply to ember-mocha and, as it stands, it seems primarily related to an Ember-specific debuggability issue. Though if there are other common use cases, feel free to open an issue upstream with QUnit.

👍 - Sounds good, I'll work up a PR for ember-test-helpers and we can discuss in more detail there...

@rwjblue would you mind if I wrote the PR.

seems like this was resolved by https://github.com/emberjs/ember-test-helpers/pull/181


[Suggestion] @ModifyComparisonArg

This would wrap the entire left-hand or right-hand side of a comparison, which could be chained by multiple mixins.
Example:
@ModifyComparisonArg(
    method = "targetMethod",
    comparison = "LESS_THAN_OR_EQUAL",
    argument = "SECOND" //or maybe side = "RIGHT_SIDE"?
)
private TargetType wrapExpression(TargetType expression){
    //TargetType is either int, long, float, double, boolean(?)
    return expression + 5;
}

Code diff:
- if(x * i <= foo.get() * 4){
+ if(x * i <= wrapExpression(foo.get() * 4)){
    // stuff
}

Note: in this example code diff, there is no way to add 5 to either side. If you used a @ModifyExpressionValue on foo.get(), then any value you add gets multiplied by 4 (which will not be the same result). And if you used a @ModifyConstant or @Redirect on the field access, then (in this example) any change you make will also get multiplied by the other values in the expression (again, not the same result), while also not being compatible with any other mixins using the same target.

Question: would it be beneficial to do something similar for logical operations (AND, OR)? or does @ModifyExpressionValue, @ModifyVariable, and @ModifyConstant cover every possible use-case there?

I haven't taken a close look at the semantics of the existing naming scheme yet, so here's some alternative names: @WrapComparisonArg, @ModifyComparisonExpression, @WrapComparisonExpression.

The trouble is that targeting such operations is inherently brittle because the instructions are so generic. Slices make it a bit better but it's still not ideal. I may implement something along these lines in the future but it's not a priority because the situations are fairly esoteric (I've yet to encounter anything like you've described in the wild). If there's any specific scenarios you'd like this for, feel free to ask about them.

I do have a plan for this now.


Log compiler errors to STDERR

Looks good to me :+1:
@jhass if you agree too, you can merge this

Sure!


Why my alpha doesn't work?

I created a command myself. The alpha value in its element shader is ineffective. The effect is as follows. Why?

Additionally, I draw the frame cache with postProcessStages

Hello @herewaitting, sorry we missed your question.  If you are still having trouble, please ask on our forum and we'll be happy to help: https://groups.google.com/forum/?hl=en#!forum/cesium-dev


Add GitHub enterprise

For https://github.com/crashlytics/crashlytics-services/issues/103

looks great to me, but I would have a second person take a look, i am not good enough to pick up on any sneaky issues that may be lurking.

:+1:


Fixes #21803 : Removing unused configuration in daemon/logger/fluentd

Fixes #21803
Removing unused configuration in daemon/logger/fluentd
Signed-off-by: milindchawre<EMAIL_ADDRESS>

@tagomoris PTAL

LGTM.

@tagomoris
I see defaultReconnectWaitIncreRate is used here https://github.com/docker/docker/blob/master/vendor/src/github.com/fluent/fluent-logger-golang/fluent/fluent.go#L278
Do we need it?

@milindchawre It's the default value of fluent-logger-golang.
Originally, I had a plan to add options to configure it in docker side. But there are no requests to make it configurable. I think no one need it.

@LK4D4 PTAL


Legion's blessing

Does not appear to be working with shield from demon mind on merged cleric spellbook

Demonkind*

It works only on spells with range of Touch.
Shield From Demonkind's range is Close.


Regression, description with ? are valid again

Since https://github.com/sephii/taxi/pull/52 it was possible to have pending description. But today I just accidentally pushed a series of line with ? as description...

I couldn't find any trace of a possible #52 implementation in the code, so I don't think it was ever done. I'm not sure why the issue was closed though. Anyway I would prefer using the ignore flag discussed in #72 instead.